miawrouter 1.2.3 → 1.2.4

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 (640) hide show
  1. package/README.md +7 -0
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +9 -9
  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/a2a/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/activity/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/activity/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-skills/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-skills/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-endpoints/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-endpoints/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/batch/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/batch/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cache/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cloud-agents/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cloud-agents/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/discovery/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/discovery/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/free-provider-rankings/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/free-provider-rankings/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/free-tiers/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/free-tiers/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/guardrails/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/guardrails/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/memory/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/memory/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/privacy/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/privacy/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-stats/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-stats/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/runtime/page.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/runtime/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/feature-flags/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/feature-flags/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skill-discovery/page.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skill-discovery/page_client-reference-manifest.js +1 -1
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  97. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/(dashboard)/dashboard/webhooks/page.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/(dashboard)/dashboard/webhooks/page_client-reference-manifest.js +1 -1
  101. package/app/.next-cli-build/server/app/.well-known/agent.json/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  104. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  105. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  106. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  108. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  109. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  111. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  112. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  113. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  114. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  115. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  116. package/app/.next-cli-build/server/app/api/a2a/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/a2a/status/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/agents/[id]/actions/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/agents/[id]/actions/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/agents/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/agents/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/batch/[id]/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/batch/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/batches/[id]/cancel/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/batches/[id]/errors/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/batches/[id]/results/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/batches/[id]/retry/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/batches/[id]/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/batches/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cache/clear/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/catalog/opencode/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  141. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  154. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  160. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  166. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  168. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  170. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  172. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/cli-tools/oh-my-pi-settings/route.js +2 -2
  174. package/app/.next-cli-build/server/app/api/cli-tools/oh-my-pi-settings/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  176. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  178. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/cli-tools/subagents/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/cli-tools/subagents/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/cloud-agents/status/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/cloud-agents/status/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/discovery/endpoints/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/discovery/endpoints/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/discovery/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/discovery/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/discovery/skills/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/discovery/skills/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/events/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/hermes/autonomy/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/mcp/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/mcp/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/mcp/status/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/memory/[id]/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/memory/health/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/memory/reindex/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/memory/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/memory/search/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/export/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/onboard/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/onboard/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/saver/stats/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/skill-discovery/[id]/install/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/skill-discovery/[id]/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/skill-discovery/[id]/uninstall/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/skill-discovery/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/skill-discovery/sync/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  303. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/usage/local-snapshot/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/usage/local-snapshot/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/webhooks/events/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/webhooks/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  354. package/app/.next-cli-build/server/app/callback.html +1 -1
  355. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  356. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  357. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  358. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  359. package/app/.next-cli-build/server/app/dashboard/a2a.html +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/a2a.rsc +7 -7
  361. package/app/.next-cli-build/server/app/dashboard/a2a.segments/!KGRhc2hib2FyZCk/dashboard/a2a/__PAGE__.segment.rsc +7 -7
  362. package/app/.next-cli-build/server/app/dashboard/a2a.segments/_full.segment.rsc +7 -7
  363. package/app/.next-cli-build/server/app/dashboard/a2a.segments/_tree.segment.rsc +2 -2
  364. package/app/.next-cli-build/server/app/dashboard/activity.html +1 -1
  365. package/app/.next-cli-build/server/app/dashboard/activity.rsc +7 -7
  366. package/app/.next-cli-build/server/app/dashboard/activity.segments/!KGRhc2hib2FyZCk/dashboard/activity/__PAGE__.segment.rsc +7 -7
  367. package/app/.next-cli-build/server/app/dashboard/activity.segments/_full.segment.rsc +7 -7
  368. package/app/.next-cli-build/server/app/dashboard/activity.segments/_tree.segment.rsc +2 -2
  369. package/app/.next-cli-build/server/app/dashboard/agent-skills.html +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/agent-skills.rsc +7 -7
  371. package/app/.next-cli-build/server/app/dashboard/agent-skills.segments/!KGRhc2hib2FyZCk/dashboard/agent-skills/__PAGE__.segment.rsc +7 -7
  372. package/app/.next-cli-build/server/app/dashboard/agent-skills.segments/_full.segment.rsc +7 -7
  373. package/app/.next-cli-build/server/app/dashboard/agent-skills.segments/_tree.segment.rsc +2 -2
  374. package/app/.next-cli-build/server/app/dashboard/api-endpoints.html +1 -1
  375. package/app/.next-cli-build/server/app/dashboard/api-endpoints.rsc +7 -7
  376. package/app/.next-cli-build/server/app/dashboard/api-endpoints.segments/!KGRhc2hib2FyZCk/dashboard/api-endpoints/__PAGE__.segment.rsc +7 -7
  377. package/app/.next-cli-build/server/app/dashboard/api-endpoints.segments/_full.segment.rsc +7 -7
  378. package/app/.next-cli-build/server/app/dashboard/api-endpoints.segments/_tree.segment.rsc +2 -2
  379. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  381. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
  382. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  383. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  384. package/app/.next-cli-build/server/app/dashboard/batch.html +1 -1
  385. package/app/.next-cli-build/server/app/dashboard/batch.rsc +7 -7
  386. package/app/.next-cli-build/server/app/dashboard/batch.segments/!KGRhc2hib2FyZCk/dashboard/batch/__PAGE__.segment.rsc +7 -7
  387. package/app/.next-cli-build/server/app/dashboard/batch.segments/_full.segment.rsc +7 -7
  388. package/app/.next-cli-build/server/app/dashboard/batch.segments/_tree.segment.rsc +2 -2
  389. package/app/.next-cli-build/server/app/dashboard/cache.html +1 -1
  390. package/app/.next-cli-build/server/app/dashboard/cache.rsc +7 -7
  391. package/app/.next-cli-build/server/app/dashboard/cache.segments/!KGRhc2hib2FyZCk/dashboard/cache/__PAGE__.segment.rsc +7 -7
  392. package/app/.next-cli-build/server/app/dashboard/cache.segments/_full.segment.rsc +7 -7
  393. package/app/.next-cli-build/server/app/dashboard/cache.segments/_tree.segment.rsc +2 -2
  394. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  395. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  396. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +7 -7
  397. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  398. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  399. package/app/.next-cli-build/server/app/dashboard/cloud-agents.html +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/cloud-agents.rsc +7 -7
  401. package/app/.next-cli-build/server/app/dashboard/cloud-agents.segments/!KGRhc2hib2FyZCk/dashboard/cloud-agents/__PAGE__.segment.rsc +7 -7
  402. package/app/.next-cli-build/server/app/dashboard/cloud-agents.segments/_full.segment.rsc +7 -7
  403. package/app/.next-cli-build/server/app/dashboard/cloud-agents.segments/_tree.segment.rsc +2 -2
  404. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  405. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  406. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
  407. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  408. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  409. package/app/.next-cli-build/server/app/dashboard/costs.html +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/costs.rsc +7 -7
  411. package/app/.next-cli-build/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs/__PAGE__.segment.rsc +7 -7
  412. package/app/.next-cli-build/server/app/dashboard/costs.segments/_full.segment.rsc +7 -7
  413. package/app/.next-cli-build/server/app/dashboard/costs.segments/_tree.segment.rsc +2 -2
  414. package/app/.next-cli-build/server/app/dashboard/discovery.html +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/discovery.rsc +7 -7
  416. package/app/.next-cli-build/server/app/dashboard/discovery.segments/!KGRhc2hib2FyZCk/dashboard/discovery/__PAGE__.segment.rsc +7 -7
  417. package/app/.next-cli-build/server/app/dashboard/discovery.segments/_full.segment.rsc +7 -7
  418. package/app/.next-cli-build/server/app/dashboard/discovery.segments/_tree.segment.rsc +2 -2
  419. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  421. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
  422. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  423. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  424. package/app/.next-cli-build/server/app/dashboard/free-provider-rankings.html +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/free-provider-rankings.rsc +7 -7
  426. package/app/.next-cli-build/server/app/dashboard/free-provider-rankings.segments/!KGRhc2hib2FyZCk/dashboard/free-provider-rankings/__PAGE__.segment.rsc +7 -7
  427. package/app/.next-cli-build/server/app/dashboard/free-provider-rankings.segments/_full.segment.rsc +7 -7
  428. package/app/.next-cli-build/server/app/dashboard/free-provider-rankings.segments/_tree.segment.rsc +2 -2
  429. package/app/.next-cli-build/server/app/dashboard/free-tiers.html +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/free-tiers.rsc +7 -7
  431. package/app/.next-cli-build/server/app/dashboard/free-tiers.segments/!KGRhc2hib2FyZCk/dashboard/free-tiers/__PAGE__.segment.rsc +7 -7
  432. package/app/.next-cli-build/server/app/dashboard/free-tiers.segments/_full.segment.rsc +7 -7
  433. package/app/.next-cli-build/server/app/dashboard/free-tiers.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/guardrails.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/guardrails.rsc +7 -7
  436. package/app/.next-cli-build/server/app/dashboard/guardrails.segments/!KGRhc2hib2FyZCk/dashboard/guardrails/__PAGE__.segment.rsc +7 -7
  437. package/app/.next-cli-build/server/app/dashboard/guardrails.segments/_full.segment.rsc +7 -7
  438. package/app/.next-cli-build/server/app/dashboard/guardrails.segments/_tree.segment.rsc +2 -2
  439. package/app/.next-cli-build/server/app/dashboard/health.html +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/health.rsc +7 -7
  441. package/app/.next-cli-build/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health/__PAGE__.segment.rsc +7 -7
  442. package/app/.next-cli-build/server/app/dashboard/health.segments/_full.segment.rsc +7 -7
  443. package/app/.next-cli-build/server/app/dashboard/health.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/logs.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/logs.rsc +7 -7
  446. package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +7 -7
  447. package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +7 -7
  448. package/app/.next-cli-build/server/app/dashboard/logs.segments/_tree.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard/mcp.html +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/mcp.rsc +7 -7
  451. package/app/.next-cli-build/server/app/dashboard/mcp.segments/!KGRhc2hib2FyZCk/dashboard/mcp/__PAGE__.segment.rsc +7 -7
  452. package/app/.next-cli-build/server/app/dashboard/mcp.segments/_full.segment.rsc +7 -7
  453. package/app/.next-cli-build/server/app/dashboard/mcp.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  456. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
  457. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  458. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/memory.html +1 -1
  460. package/app/.next-cli-build/server/app/dashboard/memory.rsc +7 -7
  461. package/app/.next-cli-build/server/app/dashboard/memory.segments/!KGRhc2hib2FyZCk/dashboard/memory/__PAGE__.segment.rsc +7 -7
  462. package/app/.next-cli-build/server/app/dashboard/memory.segments/_full.segment.rsc +7 -7
  463. package/app/.next-cli-build/server/app/dashboard/memory.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  466. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +7 -7
  467. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  468. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/playground.rsc +7 -7
  471. package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +7 -7
  472. package/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +7 -7
  473. package/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/privacy.html +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/privacy.rsc +7 -7
  476. package/app/.next-cli-build/server/app/dashboard/privacy.segments/!KGRhc2hib2FyZCk/dashboard/privacy/__PAGE__.segment.rsc +7 -7
  477. package/app/.next-cli-build/server/app/dashboard/privacy.segments/_full.segment.rsc +7 -7
  478. package/app/.next-cli-build/server/app/dashboard/privacy.segments/_tree.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  481. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +7 -7
  482. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  483. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/provider-stats.html +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/provider-stats.rsc +7 -7
  486. package/app/.next-cli-build/server/app/dashboard/provider-stats.segments/!KGRhc2hib2FyZCk/dashboard/provider-stats/__PAGE__.segment.rsc +7 -7
  487. package/app/.next-cli-build/server/app/dashboard/provider-stats.segments/_full.segment.rsc +7 -7
  488. package/app/.next-cli-build/server/app/dashboard/provider-stats.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  491. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
  492. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  493. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  496. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +7 -7
  497. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  498. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  501. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +7 -7
  502. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  503. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  506. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
  507. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  508. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  511. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
  512. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  513. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/runtime.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/runtime.rsc +7 -7
  516. package/app/.next-cli-build/server/app/dashboard/runtime.segments/!KGRhc2hib2FyZCk/dashboard/runtime/__PAGE__.segment.rsc +7 -7
  517. package/app/.next-cli-build/server/app/dashboard/runtime.segments/_full.segment.rsc +7 -7
  518. package/app/.next-cli-build/server/app/dashboard/runtime.segments/_tree.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/settings/feature-flags.html +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/settings/feature-flags.rsc +7 -7
  521. package/app/.next-cli-build/server/app/dashboard/settings/feature-flags.segments/!KGRhc2hib2FyZCk/dashboard/settings/feature-flags/__PAGE__.segment.rsc +7 -7
  522. package/app/.next-cli-build/server/app/dashboard/settings/feature-flags.segments/_full.segment.rsc +7 -7
  523. package/app/.next-cli-build/server/app/dashboard/settings/feature-flags.segments/_tree.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  526. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +7 -7
  527. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  528. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/skill-discovery.html +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/skill-discovery.rsc +7 -7
  531. package/app/.next-cli-build/server/app/dashboard/skill-discovery.segments/!KGRhc2hib2FyZCk/dashboard/skill-discovery/__PAGE__.segment.rsc +7 -7
  532. package/app/.next-cli-build/server/app/dashboard/skill-discovery.segments/_full.segment.rsc +7 -7
  533. package/app/.next-cli-build/server/app/dashboard/skill-discovery.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  536. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +7 -7
  537. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  538. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  541. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  542. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  543. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  546. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
  547. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  548. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  549. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  551. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +7 -7
  552. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  553. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/webhooks.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/webhooks.rsc +7 -7
  556. package/app/.next-cli-build/server/app/dashboard/webhooks.segments/!KGRhc2hib2FyZCk/dashboard/webhooks/__PAGE__.segment.rsc +7 -7
  557. package/app/.next-cli-build/server/app/dashboard/webhooks.segments/_full.segment.rsc +7 -7
  558. package/app/.next-cli-build/server/app/dashboard/webhooks.segments/_tree.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  560. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  561. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
  562. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  563. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  564. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  565. package/app/.next-cli-build/server/app/index.html +1 -1
  566. package/app/.next-cli-build/server/app/index.rsc +5 -5
  567. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  568. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  569. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  571. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  572. package/app/.next-cli-build/server/app/landing.html +1 -1
  573. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  574. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  575. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  576. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  577. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  578. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  579. package/app/.next-cli-build/server/app/login.html +1 -1
  580. package/app/.next-cli-build/server/app/login.rsc +6 -6
  581. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  582. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  584. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  585. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  586. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  587. package/app/.next-cli-build/server/app-paths-manifest.json +9 -9
  588. package/app/.next-cli-build/server/chunks/112.js +1 -1
  589. package/app/.next-cli-build/server/chunks/2638.js +1 -1
  590. package/app/.next-cli-build/server/chunks/2813.js +1 -1
  591. package/app/.next-cli-build/server/chunks/2974.js +1 -1
  592. package/app/.next-cli-build/server/chunks/318.js +1 -1
  593. package/app/.next-cli-build/server/chunks/3755.js +1 -1
  594. package/app/.next-cli-build/server/chunks/4037.js +1 -1
  595. package/app/.next-cli-build/server/chunks/4303.js +1 -1
  596. package/app/.next-cli-build/server/chunks/5243.js +1 -1
  597. package/app/.next-cli-build/server/chunks/5731.js +1 -1
  598. package/app/.next-cli-build/server/chunks/6270.js +1 -1
  599. package/app/.next-cli-build/server/chunks/6664.js +1 -1
  600. package/app/.next-cli-build/server/chunks/7403.js +1 -1
  601. package/app/.next-cli-build/server/chunks/772.js +1 -1
  602. package/app/.next-cli-build/server/chunks/{4018.js → 7937.js} +5 -5
  603. package/app/.next-cli-build/server/chunks/8499.js +1 -1
  604. package/app/.next-cli-build/server/chunks/8537.js +1 -1
  605. package/app/.next-cli-build/server/chunks/862.js +1 -1
  606. package/app/.next-cli-build/server/chunks/869.js +1 -1
  607. package/app/.next-cli-build/server/chunks/8750.js +1 -1
  608. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  609. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  610. package/app/.next-cli-build/server/middleware.js +4 -4
  611. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  612. package/app/.next-cli-build/server/pages/404.html +1 -1
  613. package/app/.next-cli-build/server/pages/500.html +1 -1
  614. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  615. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  616. package/app/.next-cli-build/static/chunks/{1321-b974e2c6d758f2eb.js → 1321-6b997794bb843da8.js} +1 -1
  617. package/app/.next-cli-build/static/chunks/{7780-8fef40eb7ea5a323.js → 7780-f3508723257e47c1.js} +1 -1
  618. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-8f34a6d3a99ebd37.js → page-f7cbd07558c7b42e.js} +1 -1
  619. package/app/.next-cli-build/static/css/01b1ec05918332c3.css +1 -0
  620. package/app/package.json +79 -78
  621. package/app/src/mitm/server.js +40 -42
  622. package/cli.js +10 -0
  623. package/hooks/opencodeBridgeRuntime.js +77 -0
  624. package/hooks/sqliteRuntime.js +156 -156
  625. package/hooks/trayRuntime.js +107 -107
  626. package/package.json +49 -49
  627. package/vendor/opencode-free-bridge/LICENSE +21 -0
  628. package/vendor/opencode-free-bridge/README.md +762 -0
  629. package/vendor/opencode-free-bridge/THIRD_PARTY_NOTICES.md +33 -0
  630. package/vendor/opencode-free-bridge/UPSTREAM_COMMIT +1 -0
  631. package/vendor/opencode-free-bridge/identity.js +2624 -0
  632. package/vendor/opencode-free-bridge/package.json +54 -0
  633. package/vendor/opencode-free-bridge/panel.js +515 -0
  634. package/vendor/opencode-free-bridge/proxy.js +980 -0
  635. package/vendor/opencode-free-bridge/server.js +3357 -0
  636. package/vendor/opencode-free-bridge/token-budget.js +107 -0
  637. package/vendor/opencode-free-bridge/transport-baseline.json +39 -0
  638. package/app/.next-cli-build/static/css/8ba5c8dbc4e30aa0.css +0 -1
  639. /package/app/.next-cli-build/static/{X4uxXfKI78mMCnlqFsTAr → DryEkcB2pIbzN1YYgNcUS}/_buildManifest.js +0 -0
  640. /package/app/.next-cli-build/static/{X4uxXfKI78mMCnlqFsTAr → DryEkcB2pIbzN1YYgNcUS}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/miawrouter-favicon-32.png"/><link rel="stylesheet" href="/_next/static/css/1e41699163398962.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/8ba5c8dbc4e30aa0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-cfe64bcd232c635c.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-6cecce02b123eb1f.js" async=""></script><script src="/_next/static/chunks/main-app-fa3e3fb218f9eade.js" async=""></script><script src="/_next/static/chunks/9647-83de9c8c0d2ffe2a.js" async=""></script><script src="/_next/static/chunks/2048-9d3db5763af19b9f.js" async=""></script><script src="/_next/static/chunks/6439-3dc656d19715c56c.js" async=""></script><script src="/_next/static/chunks/1321-b974e2c6d758f2eb.js" async=""></script><script src="/_next/static/chunks/5497-307a8ef5cdb7207e.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-5b91d30e5ec17946.js" async=""></script><script src="/_next/static/chunks/6198-c12e3b40da04e356.js" async=""></script><script src="/_next/static/chunks/app/layout-0fd748451eb66376.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/providers/new/page-a3b4f51f1b5c4489.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#F5F4F0" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#09090B" media="(prefers-color-scheme: dark)"/><title>MiawRouter - Local AI Request Router</title><meta name="description" content="Route AI requests through one local endpoint and manage provider connections in a web dashboard."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?7ea3ab789c052974" type="image/x-icon" sizes="256x256"/><link rel="icon" href="/miawrouter-favicon-16.png" sizes="16x16"/><link rel="icon" href="/miawrouter-favicon-32.png" sizes="32x32"/><link rel="icon" href="/miawrouter-favicon-48.png" sizes="48x48"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_e2cc43 __variable_aa62b7 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh w-full overflow-hidden bg-bg text-text-main"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex h-full shrink-0"><aside class="sidebar-shell flex w-[256px] h-full flex-col transition-[width] duration-150"><div class="sidebar-brand flex flex-col gap-2 px-3.5 py-3"><div class="flex items-center gap-2.5"><a class="flex min-w-0 flex-1 items-center gap-2.5" title="MiawRouter dashboard" href="/dashboard"><div class="sidebar-brand-icon flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-surface shadow-xs"><img src="/miawrouter-favicon-32.png" data-brand-asset="icon" alt="" aria-hidden="true" class="size-full object-contain p-0.5"/></div><div class="sidebar-brand-copy flex min-w-0 flex-col"><div class="flex items-center gap-1.5"><h1 class="truncate text-[14.5px] font-bold tracking-tight text-text-main">MiawRouter Proxy</h1><span class="status-dot status-dot-live" title="Gateway Active"></span></div><span class="text-[10.5px] font-mono font-medium text-text-muted">V1.2.3<!-- --> · AI Router</span></div></a><button type="button" class="sidebar-collapse-toggle inline-flex size-8 shrink-0 items-center justify-center rounded-lg text-text-muted hover:bg-surface-2 hover:text-text-main" aria-label="Collapse sidebar" title="Collapse sidebar"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px]" aria-hidden="true" data-icon="chevron_left"><path d="M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"></path></svg></button></div></div><label class="sidebar-search"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px] text-text-muted shrink-0" aria-hidden="true" data-icon="search"><path d="M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"></path></svg><input aria-label="Search navigation" placeholder="Jump to menu…" value=""/></label><div class="sidebar-endpoint-row"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px] text-primary shrink-0" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="hub"><circle cx="12" cy="12" r="3.25" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><path d="M6.8 7.5 9.6 9.9M17.2 7.5l-2.8 2.4M6.8 16.5l2.8-2.4M17.2 16.5l-2.8-2.4" stroke="currentColor" stroke-width="1.65" stroke-linecap="round"></path></svg><span class="sr-only">Local endpoint</span><code class="min-w-0 flex-1 truncate font-mono text-[11px] font-medium text-text-main" title=""></code><button type="button" disabled="" class="inline-flex size-6 shrink-0 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-surface hover:text-primary disabled:opacity-50" aria-label="Copy local endpoint" title="Copy local endpoint"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px]" aria-hidden="true" data-icon="content_copy"><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></button></div><nav class="flex-1 px-2.5 py-2 space-y-1.5 overflow-y-auto custom-scrollbar"><div class="mb-2 rounded-xl border border-border bg-surface/70 p-1.5"><div class="flex items-center justify-between px-1.5 pb-1"><span class="text-[10px] font-mono font-semibold uppercase tracking-wider text-text-muted">Quick Access</span><span class="text-[10px] font-mono text-text-subtle">1-Click Hub</span></div><div class="grid grid-cols-2 gap-1"><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Overview</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Usage &amp; Routing" href="/dashboard/usage"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Usage &amp; Routing</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate bg-surface-2 text-text-main font-semibold border border-border shadow-2xs" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate">Providers</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Endpoint" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate">Endpoint</span></a></div></div><div class="space-y-1"><div class="flex items-center justify-between px-2 py-0.5"><span class="sidebar-section-caption text-text-muted">Console Menu</span><span class="text-[10px] font-mono text-text-subtle">Accordion</span></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group bg-surface-2 text-text-main font-semibold shadow-2xs border border-border" aria-expanded="true" title="Core &amp; Gateway"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-primary/30 bg-primary/10 text-primary"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Core &amp; Gateway</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(0deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button><div class="mt-1 ml-3.5 pl-2.5 border-l border-border space-y-0.5 py-0.5"><a class="nav-item group py-1.5 min-h-[33px]" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate text-[12.5px] flex-1">Overview</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Endpoint &amp; Key" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Endpoint &amp; Key</span></a><a class="nav-item group py-1.5 min-h-[33px] nav-item-active" aria-current="page" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Providers</span><span class="size-1.5 rounded-full bg-primary shrink-0" aria-hidden="true"></span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Health" href="/dashboard/health"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="ecg_heart"><rect x="2.75" y="4" width="18.5" height="16" rx="3" fill="currentColor" fill-opacity="0.1" stroke="currentColor" stroke-width="1.75"></rect><path d="M5.5 12h3l2-4 3 8 2-4h3" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Health</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Runtime" href="/dashboard/runtime"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="memory"><rect x="6" y="6" width="12" height="12" rx="2.2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="9.25" y="9.25" width="5.5" height="5.5" rx="1" stroke="currentColor" stroke-width="1.5"></rect><path d="M9 3v3m6-3v3M9 18v3m6-3v3M3 9h3m-3 6h3m12-6h3m-3 6h3" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Runtime</span></a></div></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Usage &amp; Analytics"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Usage &amp; Analytics</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Routing &amp; Config"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="tune"><path d="M176,80a8,8,0,0,1,8-8h32a8,8,0,0,1,0,16H184A8,8,0,0,1,176,80ZM40,88H144v16a8,8,0,0,0,16,0V56a8,8,0,0,0-16,0V72H40a8,8,0,0,0,0,16Zm176,80H120a8,8,0,0,0,0,16h96a8,8,0,0,0,0-16ZM88,144a8,8,0,0,0-8,8v16H40a8,8,0,0,0,0,16H80v16a8,8,0,0,0,16,0V152A8,8,0,0,0,88,144Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Routing &amp; Config</span><span class="nav-section-count">8</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Workspace Tools"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="terminal"><rect x="2.75" y="4" width="18.5" height="16" rx="2.75" fill="currentColor" fill-opacity="0.12" stroke="currentColor" stroke-width="1.75"></rect><path d="m7 9.5 3 2.5-3 2.5m5.5 0H16" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Workspace Tools</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Integrations &amp; API"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="cable"><path d="M7.5 6.5v4a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-4" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"></path><path d="M9.5 3.5v3m5-3v3M12 13.5v7" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Integrations &amp; API</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Agents &amp; Skills"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="smart_toy"><path d="M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Agents &amp; Skills</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="System &amp; Media"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">System &amp; Media</span><span class="nav-section-count">4</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div></div></nav><div class="border-t border-border-subtle px-3 py-2.5 flex items-center justify-between gap-2 bg-surface/40 mt-auto shrink-0"><a class="flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors flex-1 text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/profile"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg><span>Settings</span></a><a class="inline-flex items-center gap-1.5 rounded-lg border border-border-subtle bg-surface px-2.5 py-1.5 text-[11px] font-mono text-text-muted hover:text-text-main transition-colors" title="System Health" href="/dashboard/health"><span class="status-dot status-dot-live"></span><span>Online</span></a></div></aside></div><div role="dialog" aria-modal="true" aria-label="Dashboard navigation" inert="" class="fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out -translate-x-full"><aside class="sidebar-shell flex w-[256px] h-full flex-col transition-[width] duration-150"><div class="sidebar-brand flex flex-col gap-2 px-3.5 py-3"><div class="flex items-center gap-2.5"><a class="flex min-w-0 flex-1 items-center gap-2.5" title="MiawRouter dashboard" href="/dashboard"><div class="sidebar-brand-icon flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-surface shadow-xs"><img src="/miawrouter-favicon-32.png" data-brand-asset="icon" alt="" aria-hidden="true" class="size-full object-contain p-0.5"/></div><div class="sidebar-brand-copy flex min-w-0 flex-col"><div class="flex items-center gap-1.5"><h1 class="truncate text-[14.5px] font-bold tracking-tight text-text-main">MiawRouter Proxy</h1><span class="status-dot status-dot-live" title="Gateway Active"></span></div><span class="text-[10.5px] font-mono font-medium text-text-muted">V1.2.3<!-- --> · AI Router</span></div></a><button type="button" class="sidebar-collapse-toggle inline-flex size-8 shrink-0 items-center justify-center rounded-lg text-text-muted hover:bg-surface-2 hover:text-text-main" aria-label="Collapse sidebar" title="Collapse sidebar"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px]" aria-hidden="true" data-icon="chevron_left"><path d="M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"></path></svg></button></div></div><label class="sidebar-search"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px] text-text-muted shrink-0" aria-hidden="true" data-icon="search"><path d="M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"></path></svg><input aria-label="Search navigation" placeholder="Jump to menu…" value=""/></label><div class="sidebar-endpoint-row"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px] text-primary shrink-0" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="hub"><circle cx="12" cy="12" r="3.25" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><path d="M6.8 7.5 9.6 9.9M17.2 7.5l-2.8 2.4M6.8 16.5l2.8-2.4M17.2 16.5l-2.8-2.4" stroke="currentColor" stroke-width="1.65" stroke-linecap="round"></path></svg><span class="sr-only">Local endpoint</span><code class="min-w-0 flex-1 truncate font-mono text-[11px] font-medium text-text-main" title=""></code><button type="button" disabled="" class="inline-flex size-6 shrink-0 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-surface hover:text-primary disabled:opacity-50" aria-label="Copy local endpoint" title="Copy local endpoint"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px]" aria-hidden="true" data-icon="content_copy"><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></button></div><nav class="flex-1 px-2.5 py-2 space-y-1.5 overflow-y-auto custom-scrollbar"><div class="mb-2 rounded-xl border border-border bg-surface/70 p-1.5"><div class="flex items-center justify-between px-1.5 pb-1"><span class="text-[10px] font-mono font-semibold uppercase tracking-wider text-text-muted">Quick Access</span><span class="text-[10px] font-mono text-text-subtle">1-Click Hub</span></div><div class="grid grid-cols-2 gap-1"><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Overview</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Usage &amp; Routing" href="/dashboard/usage"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Usage &amp; Routing</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate bg-surface-2 text-text-main font-semibold border border-border shadow-2xs" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate">Providers</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Endpoint" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate">Endpoint</span></a></div></div><div class="space-y-1"><div class="flex items-center justify-between px-2 py-0.5"><span class="sidebar-section-caption text-text-muted">Console Menu</span><span class="text-[10px] font-mono text-text-subtle">Accordion</span></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group bg-surface-2 text-text-main font-semibold shadow-2xs border border-border" aria-expanded="true" title="Core &amp; Gateway"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-primary/30 bg-primary/10 text-primary"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Core &amp; Gateway</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(0deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button><div class="mt-1 ml-3.5 pl-2.5 border-l border-border space-y-0.5 py-0.5"><a class="nav-item group py-1.5 min-h-[33px]" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate text-[12.5px] flex-1">Overview</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Endpoint &amp; Key" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Endpoint &amp; Key</span></a><a class="nav-item group py-1.5 min-h-[33px] nav-item-active" aria-current="page" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Providers</span><span class="size-1.5 rounded-full bg-primary shrink-0" aria-hidden="true"></span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Health" href="/dashboard/health"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="ecg_heart"><rect x="2.75" y="4" width="18.5" height="16" rx="3" fill="currentColor" fill-opacity="0.1" stroke="currentColor" stroke-width="1.75"></rect><path d="M5.5 12h3l2-4 3 8 2-4h3" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Health</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Runtime" href="/dashboard/runtime"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="memory"><rect x="6" y="6" width="12" height="12" rx="2.2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="9.25" y="9.25" width="5.5" height="5.5" rx="1" stroke="currentColor" stroke-width="1.5"></rect><path d="M9 3v3m6-3v3M9 18v3m6-3v3M3 9h3m-3 6h3m12-6h3m-3 6h3" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Runtime</span></a></div></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Usage &amp; Analytics"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Usage &amp; Analytics</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Routing &amp; Config"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="tune"><path d="M176,80a8,8,0,0,1,8-8h32a8,8,0,0,1,0,16H184A8,8,0,0,1,176,80ZM40,88H144v16a8,8,0,0,0,16,0V56a8,8,0,0,0-16,0V72H40a8,8,0,0,0,0,16Zm176,80H120a8,8,0,0,0,0,16h96a8,8,0,0,0,0-16ZM88,144a8,8,0,0,0-8,8v16H40a8,8,0,0,0,0,16H80v16a8,8,0,0,0,16,0V152A8,8,0,0,0,88,144Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Routing &amp; Config</span><span class="nav-section-count">8</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Workspace Tools"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="terminal"><rect x="2.75" y="4" width="18.5" height="16" rx="2.75" fill="currentColor" fill-opacity="0.12" stroke="currentColor" stroke-width="1.75"></rect><path d="m7 9.5 3 2.5-3 2.5m5.5 0H16" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Workspace Tools</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Integrations &amp; API"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="cable"><path d="M7.5 6.5v4a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-4" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"></path><path d="M9.5 3.5v3m5-3v3M12 13.5v7" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Integrations &amp; API</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Agents &amp; Skills"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="smart_toy"><path d="M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Agents &amp; Skills</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="System &amp; Media"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">System &amp; Media</span><span class="nav-section-count">4</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div></div></nav><div class="border-t border-border-subtle px-3 py-2.5 flex items-center justify-between gap-2 bg-surface/40 mt-auto shrink-0"><a class="flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors flex-1 text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/profile"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg><span>Settings</span></a><a class="inline-flex items-center gap-1.5 rounded-lg border border-border-subtle bg-surface px-2.5 py-1.5 text-[11px] font-mono text-text-muted hover:text-text-main transition-colors" title="System Health" href="/dashboard/health"><span class="status-dot status-dot-live"></span><span>Online</span></a></div></aside></div><main class="flex min-w-0 flex-1 flex-col isolate"><header class="dashboard-header sticky top-0 z-20 flex h-16 shrink-0 items-center justify-between gap-3 border-b border-border bg-surface/90 px-4 lg:px-6"><div class="flex items-center gap-3 lg:hidden shrink-0"><button type="button" aria-label="Open navigation" class="flex size-9 items-center justify-center rounded-lg border border-border-subtle bg-surface-2 text-text-muted transition-colors hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="menu"><path d="M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM40,76H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24ZM216,180H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z"></path></svg></button></div><div class="flex min-w-0 flex-1 items-center gap-3"><div class="flex items-center gap-3 min-w-0"><div class="icon-box text-primary hidden sm:inline-flex"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[19px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg></div><div class="min-w-0"><div class="flex items-center gap-2"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-primary text-[18px] sm:hidden shrink-0" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><h1 class="truncate text-[18px] font-bold tracking-tight text-text-main leading-tight">Providers</h1></div><p class="hidden md:block text-xs text-text-muted truncate mt-0.5">Manage your AI provider connections</p></div></div></div><div class="dashboard-header-actions flex items-center gap-1.5 shrink-0"><a class="hidden xl:inline-flex items-center gap-2 rounded-full border border-border bg-surface-2 px-3 py-1 text-xs font-medium text-text-muted hover:border-primary/40 hover:text-text-main transition-colors mr-1" title="View router health" href="/dashboard/health"><span class="status-dot status-dot-live"></span><span>Router Online</span></a><button class="inline-flex items-center justify-center size-8 rounded-md text-text-muted hover:text-text-main hover:bg-surface-2 transition-colors" aria-label="Switch to light mode" title="Switch to light mode"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="light_mode"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></button><button class="inline-flex h-8 items-center justify-center gap-1.5 rounded-md px-2 text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main" title="Language" aria-label="Language: en" data-i18n-skip="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="language"><path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.62,87.62,0,0,1-6.4,32.94l-44.7-27.49a15.92,15.92,0,0,0-6.24-2.23l-22.82-3.08a16.11,16.11,0,0,0-16,7.86h-8.72l-3.8-7.86a15.91,15.91,0,0,0-11-8.67l-8-1.73L96.14,104h16.71a16.06,16.06,0,0,0,7.73-2l12.25-6.76a16.62,16.62,0,0,0,3-2.14l26.91-24.34A15.93,15.93,0,0,0,166,49.1l-.36-.65A88.11,88.11,0,0,1,216,128ZM143.31,41.34,152,56.9,125.09,81.24,112.85,88H96.14a16,16,0,0,0-13.88,8l-8.73,15.23L63.38,84.19,74.32,58.32a87.87,87.87,0,0,1,69-17ZM40,128a87.53,87.53,0,0,1,8.54-37.8l11.34,30.27a16,16,0,0,0,11.62,10l21.43,4.61L96.74,143a16.09,16.09,0,0,0,14.4,9h1.48l-7.23,16.23a16,16,0,0,0,2.86,17.37l.14.14L128,205.94l-1.94,10A88.11,88.11,0,0,1,40,128Zm102.58,86.78,1.13-5.81a16.09,16.09,0,0,0-4-13.9,1.85,1.85,0,0,1-.14-.14L120,174.74,133.7,144l22.82,3.08,45.72,28.12A88.18,88.18,0,0,1,142.58,214.78Z"></path></svg><span class="text-xs font-medium uppercase">en</span></button><div class=""></div><div class="relative"><button class="flex size-8 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main" title="Menu"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[18px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="grid_view"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg></button></div></div></header><div class="dashboard-scroll flex-1 overflow-y-auto custom-scrollbar p-4 lg:p-6 "><div class="dashboard-page-content mx-auto w-full max-w-[1280px]"><div class="mx-auto w-full max-w-2xl"><div class="mb-8"><a class="inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-4" href="/dashboard/providers"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class=" text-lg" aria-hidden="true" data-icon="arrow_back"><path d="M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z"></path></svg>Back to Providers</a><h1 class="text-[22px] font-semibold tracking-tight text-text-main">Add New Provider</h1><p class="text-text-muted mt-2">Configure a new AI provider to use with your applications.</p></div><div class="ui-card border rounded-xl bg-surface border-border shadow-soft p-5" data-variant="default"><form class="flex flex-col gap-6"><div class="flex flex-col gap-1.5"><label for="_R_6inpfiv5umbrb_" class="text-[13px] font-medium text-text-main">Provider<span class="text-danger ml-1">*</span></label><div class="relative"><select id="_R_6inpfiv5umbrb_" required="" class="w-full h-[34px] py-1.5 px-3 pr-10 text-sm text-text-main bg-surface border border-border rounded-md appearance-none focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm"><option value="" disabled="" selected="">Select a provider</option><option value="gemini-cli">Gemini CLI</option><option value="kiro">Kiro AI</option><option value="byteplus">BytePlus ModelArk</option><option value="cerebras">Cerebras</option><option value="cloudflare-ai">Cloudflare</option><option value="edge-tts">Edge TTS</option><option value="gemini">Gemini</option><option value="google-tts">Google TTS</option><option value="huggingface-router">Hugging Face Router</option><option value="kimchi">Kimchi</option><option value="local-device">Local Device</option><option value="modelscope">ModelScope Inference</option><option value="nvidia">NVIDIA NIM</option><option value="ollama">Ollama Cloud</option><option value="openrouter">OpenRouter</option><option value="ovh-ai-endpoints">OVHcloud AI Endpoints</option><option value="searxng">SearXNG</option><option value="vertex">Vertex AI</option><option value="api-airforce">API.airforce</option><option value="bazaarlink">Bazaarlink</option><option value="kilo-gateway">Kilo Gateway</option><option value="sambanova">SambaNova</option><option value="poolside">Poolside</option><option value="tokenrouter">TokenRouter</option><option value="ai21">AI21 Labs</option><option value="deepinfra">DeepInfra</option><option value="friendliai">FriendliAI</option><option value="github-models">GitHub Models</option><option value="inception">Inception</option><option value="nous-research">Nous Research</option><option value="reka">Reka</option><option value="gorouter">GoRouter</option><option value="tabitoken">TabiToken</option><option value="unikey">UniKey</option><option value="openagentic">OpenAgentic</option><option value="pollinations">Pollinations AI</option><option value="navy">NavyAI</option><option value="zenmux">ZenMux</option><option value="longcat">LongCat AI</option><option value="novita">Novita AI</option><option value="requesty">Requesty</option><option value="routeway">Routeway</option><option value="aion">Aion Labs</option><option value="agnes">Agnes AI</option><option value="arcee-ai">Arcee AI</option><option value="typhoon">Typhoon</option><option value="360ai">360 AI</option><option value="ainative">AINative Studio</option><option value="ant-ling">Ant Ling / Ring (inclusionAI)</option><option value="baichuan">Baichuan</option><option value="dgrid">DGrid</option><option value="doubao">Doubao</option><option value="freemodel-dev">FreeModel.dev</option><option value="hcnsec">Huancheng Public API</option><option value="inference-net">Inference.net</option><option value="nscale">nScale</option><option value="ollama-cloud">Ollama Cloud</option><option value="openadapter">OpenAdapter</option><option value="openvecta">OpenVecta</option><option value="publicai">PublicAI</option><option value="sarvam">Sarvam AI</option><option value="scaleway">Scaleway AI</option><option value="sealion">SEA-LION</option><option value="stepfun">StepFun</option><option value="antigravity">Antigravity</option><option value="claude">Claude Code</option><option value="cline">Cline</option><option value="clinepass">ClinePass</option><option value="codebuddy-cn">CodeBuddy CN</option><option value="codex">OpenAI Codex</option><option value="cursor">Cursor IDE</option><option value="github">GitHub Copilot</option><option value="grok-cli">Grok CLI (Grok Build)</option><option value="kilocode">Kilo Code</option><option value="kimi">Kimi</option><option value="qoder">Qoder</option><option value="xai">xAI (Grok)</option><option value="codebuddy-intl">CodeBuddy</option><option value="alicode-intl">Alibaba Coding</option><option value="alicode">Alibaba</option><option value="anthropic">Anthropic</option><option value="assemblyai">AssemblyAI</option><option value="aws-polly">AWS Polly</option><option value="azure">Azure OpenAI</option><option value="black-forest-labs">Black Forest Labs</option><option value="blackbox">Blackbox AI</option><option value="brave-search">Brave Search</option><option value="chutes">Chutes AI</option><option value="cohere">Cohere</option><option value="comfyui">ComfyUI</option><option value="commandcode">Command Code</option><option value="deepgram">Deepgram</option><option value="deepseek">DeepSeek</option><option value="elevenlabs">ElevenLabs</option><option value="exa">Exa</option><option value="fal-ai">Fal.ai</option><option value="featherless">Featherless</option><option value="firecrawl">Firecrawl</option><option value="fireworks">Fireworks AI</option><option value="genspark">Genspark</option><option value="glm-cn">GLM (China)</option><option value="glm">GLM Coding</option><option value="google-pse">Google PSE</option><option value="groq">Groq</option><option value="huggingface">HuggingFace</option><option value="hyperbolic">Hyperbolic</option><option value="inworld">Inworld TTS</option><option value="jina-ai">Jina AI</option><option value="jina-reader">Jina Reader</option><option value="linkup">Linkup</option><option value="minimax-cn">Minimax (China)</option><option value="minimax">Minimax Coding</option><option value="mistral">Mistral</option><option value="nanobanana">NanoBanana API</option><option value="nebius">Nebius AI</option><option value="ollama-local">Ollama Local</option><option value="openai">OpenAI</option><option value="opencode-go">OpenCode Go</option><option value="perplexity">Perplexity</option><option value="perplexity-agent">Perplexity Agent</option><option value="recraft">Recraft</option><option value="runwayml">Runway ML</option><option value="sdwebui">SD WebUI</option><option value="searchapi">SearchAPI</option><option value="serper">Serper</option><option value="siliconflow">SiliconFlow</option><option value="stability-ai">Stability AI</option><option value="tavily">Tavily</option><option value="together">Together AI</option><option value="topaz">Topaz</option><option value="venice">Venice AI</option><option value="vercel-ai-gateway">Vercel AI Gateway</option><option value="vertex-partner">Vertex Partner</option><option value="volcengine-ark">Volcengine Ark</option><option value="voyage-ai">Voyage AI</option><option value="xiaomi-mimo">Xiaomi MiMo</option><option value="xiaomi-tokenplan">Xiaomi MiMo (Token Plan)</option><option value="youcom">You.com Search</option><option value="alims-intl">Alibaba Studio</option><option value="baidu">Baidu Qianfan</option><option value="llm7">LLM7</option><option value="tencent">Tencent Hunyuan</option><option value="morph">Morph</option><option value="selfhosted-stt">Self-hosted STT</option><option value="selfhosted-tts">Self-hosted TTS</option><option value="selfhosted-embedding">Self-hosted Embedding</option><option value="meta-model-api">Meta Model API</option><option value="opencode-zen">OpenCode Zen</option><option value="grok-web">Grok Web (Subscription)</option><option value="kimi-web">Kimi Web</option><option value="perplexity-web">Perplexity Web (Pro/Max)</option><option value="chatgpt-web">ChatGPT Web (Subscription)</option><option value="claude-web">Claude Web (Subscription)</option><option value="gemini-web">Gemini Web (Subscription)</option><option value="deepseek-web">DeepSeek Web (Subscription)</option><option value="notion-web">Notion AI (Web)</option><option value="qwen-web">Qwen Web</option><option value="zai-web">Z.ai Web</option><option value="venice-web">Venice Web (Privacy)</option><option value="v0-vercel-web">v0 Vercel Web (Code Gen)</option><option value="manus-web">Manus Web</option></select><div class="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-text-muted"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></div></div></div><div class="flex flex-col gap-3"><label class="text-sm font-medium">Authentication Method <span class="text-danger">*</span></label><div class="flex gap-3"><button type="button" class="flex flex-1 items-center justify-center gap-2 rounded-md border px-4 py-3 transition-colors border-border bg-surface hover:border-primary/50 hover:bg-surface-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true" data-icon="lock"><path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"></path></svg><span class="font-medium"></span></button><button type="button" class="flex flex-1 items-center justify-center gap-2 rounded-md border px-4 py-3 transition-colors border-border bg-surface hover:border-primary/50 hover:bg-surface-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true" data-icon="lock"><path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"></path></svg><span class="font-medium"></span></button><button type="button" class="flex flex-1 items-center justify-center gap-2 rounded-md border px-4 py-3 transition-colors border-border bg-surface hover:border-primary/50 hover:bg-surface-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true" data-icon="lock"><path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"></path></svg><span class="font-medium"></span></button></div></div><div class="flex flex-col gap-1.5"><label for="_R_iinpfiv5umbrb_" class="text-[13px] font-medium text-text-main">API Key<span class="text-danger ml-1">*</span></label><div class="relative"><input id="_R_iinpfiv5umbrb_" type="password" placeholder="Enter your API key" required="" class="w-full h-[34px] py-1.5 px-3 text-sm text-text-main bg-surface rounded-md border border-border placeholder:text-text-subtle focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm" value=""/></div><p class="text-xs text-text-muted">Your API key will be encrypted and stored securely.</p></div><div class="flex flex-col gap-1.5"><label for="_R_qinpfiv5umbrb_" class="text-[13px] font-medium text-text-main">Display Name</label><div class="relative"><input id="_R_qinpfiv5umbrb_" type="text" placeholder="e.g., Production API, Dev Environment" class="w-full h-[34px] py-1.5 px-3 text-sm text-text-main bg-surface rounded-md border border-border placeholder:text-text-subtle focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm" value=""/></div><p class="text-xs text-text-muted">Optional. A friendly name to identify this configuration.</p></div><div class="flex items-center gap-3"><button type="button" role="switch" aria-checked="true" aria-labelledby="_R_uinpfiv5umbrb_-label" aria-describedby="_R_uinpfiv5umbrb_-desc" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary [object Object]"><span class="pointer-events-none inline-block rounded-full shadow-2xs bg-bg transition-transform duration-150 translate-x-[14px] size-3.5"></span></button><div class="flex flex-col"><span id="_R_uinpfiv5umbrb_-label" class="text-sm font-medium text-text-main">Active</span><span id="_R_uinpfiv5umbrb_-desc" class="text-xs text-text-muted">Enable this provider for use in your applications</span></div></div><div class="flex gap-3 pt-4 border-t border-border"><a class="flex-1" href="/dashboard/providers"><button class="ui-button inline-flex items-center justify-center gap-2 rounded-lg font-medium transition-all duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-bg disabled:opacity-50 disabled:cursor-not-allowed text-text-muted hover:bg-surface-2 hover:text-text-main h-9 px-3.5 text-[13.5px] rounded-lg w-full" data-variant="ghost" type="button">Cancel</button></a><button class="ui-button inline-flex items-center justify-center gap-2 rounded-lg font-medium transition-all duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-bg disabled:opacity-50 disabled:cursor-not-allowed bg-primary text-bg font-semibold hover:bg-primary-hover shadow-xs disabled:bg-surface-2 disabled:text-text-muted h-9 px-3.5 text-[13.5px] rounded-lg w-full flex-1" data-variant="primary" type="submit">Create Provider</button></div></form></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-cfe64bcd232c635c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"9647\",\"static/chunks/9647-83de9c8c0d2ffe2a.js\",\"2048\",\"static/chunks/2048-9d3db5763af19b9f.js\",\"6439\",\"static/chunks/6439-3dc656d19715c56c.js\",\"1321\",\"static/chunks/1321-b974e2c6d758f2eb.js\",\"5497\",\"static/chunks/5497-307a8ef5cdb7207e.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-5b91d30e5ec17946.js\"],\"ThemeProvider\"]\n3:I[94635,[\"6198\",\"static/chunks/6198-c12e3b40da04e356.js\",\"1321\",\"static/chunks/1321-b974e2c6d758f2eb.js\",\"7177\",\"static/chunks/app/layout-0fd748451eb66376.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[30565,[\"6198\",\"static/chunks/6198-c12e3b40da04e356.js\",\"1321\",\"static/chunks/1321-b974e2c6d758f2eb.js\",\"7177\",\"static/chunks/app/layout-0fd748451eb66376.js\"],\"GoogleAnalytics\"]\n7:I[7648,[\"9647\",\"static/chunks/9647-83de9c8c0d2ffe2a.js\",\"2048\",\"static/chunks/2048-9d3db5763af19b9f.js\",\"6439\",\"static/chunks/6439-3dc656d19715c56c.js\",\"1321\",\"static/chunks/1321-b974e2c6d758f2eb.js\",\"5497\",\"static/chunks/5497-307a8ef5cdb7207e.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-5b91d30e5ec17946.js\"],\"default\"]\n8:I[61304,[],\"ClientPageRoot\"]\n9:I[15615,[\"9647\",\"static/chunks/9647-83de9c8c0d2ffe2a.js\",\"2048\",\"static/chunks/2048-9d3db5763af19b9f.js\",\"6439\",\"static/chunks/6439-3dc656d19715c56c.js\",\"1321\",\"static/chunks/1321-b974e2c6d758f2eb.js\",\"5497\",\"static/chunks/5497-307a8ef5cdb7207e.js\",\"9089\",\"static/chunks/app/(dashboard)/dashboard/providers/new/page-a3b4f51f1b5c4489.js\"],\"default\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[90484,[],\"ViewportBoundary\"]\n12:I[90484,[],\"MetadataBoundary\"]\n14:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/1e41699163398962.css\",\"style\"]\n:HL[\"/_next/static/css/8ba5c8dbc4e30aa0.css\",\"style\"]\nf:X\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"providers\",\"new\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"providers\",{\"children\":[\"new\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1e41699163398962.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8ba5c8dbc4e30aa0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_e2cc43 __variable_aa62b7 font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{\"gaId\":\"G-LC959F603F\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{\"Component\":\"$9\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@a\",\"$@b\"]}}],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$f\"]},null,false,\"$f\"]},null,false,\"$f\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"X4uxXfKI78mMCnlqFsTAr\"}\n"])</script><script>self.__next_f.push([1,"f:C\na:{}\nb:\"$0:f:0:1:1:children:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#F5F4F0\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#09090B\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"15:I[86869,[],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"MiawRouter - Local AI Request Router\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Route AI requests through one local endpoint and manage provider connections in a web dashboard.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?7ea3ab789c052974\",\"type\":\"image/x-icon\",\"sizes\":\"256x256\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/miawrouter-favicon-16.png\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/miawrouter-favicon-32.png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/miawrouter-favicon-48.png\",\"sizes\":\"48x48\"}],[\"$\",\"$L15\",\"7\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/miawrouter-favicon-32.png"/><link rel="stylesheet" href="/_next/static/css/1e41699163398962.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/01b1ec05918332c3.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-cfe64bcd232c635c.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-6cecce02b123eb1f.js" async=""></script><script src="/_next/static/chunks/main-app-fa3e3fb218f9eade.js" async=""></script><script src="/_next/static/chunks/9647-83de9c8c0d2ffe2a.js" async=""></script><script src="/_next/static/chunks/2048-9d3db5763af19b9f.js" async=""></script><script src="/_next/static/chunks/6439-3dc656d19715c56c.js" async=""></script><script src="/_next/static/chunks/1321-6b997794bb843da8.js" async=""></script><script src="/_next/static/chunks/5497-307a8ef5cdb7207e.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-5b91d30e5ec17946.js" async=""></script><script src="/_next/static/chunks/6198-c12e3b40da04e356.js" async=""></script><script src="/_next/static/chunks/app/layout-0fd748451eb66376.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/providers/new/page-a3b4f51f1b5c4489.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#F5F4F0" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#09090B" media="(prefers-color-scheme: dark)"/><title>MiawRouter - Local AI Request Router</title><meta name="description" content="Route AI requests through one local endpoint and manage provider connections in a web dashboard."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?7ea3ab789c052974" type="image/x-icon" sizes="256x256"/><link rel="icon" href="/miawrouter-favicon-16.png" sizes="16x16"/><link rel="icon" href="/miawrouter-favicon-32.png" sizes="32x32"/><link rel="icon" href="/miawrouter-favicon-48.png" sizes="48x48"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_e2cc43 __variable_aa62b7 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh w-full overflow-hidden bg-bg text-text-main"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex h-full shrink-0"><aside class="sidebar-shell flex w-[256px] h-full flex-col transition-[width] duration-150"><div class="sidebar-brand flex flex-col gap-2 px-3.5 py-3"><div class="flex items-center gap-2.5"><a class="flex min-w-0 flex-1 items-center gap-2.5" title="MiawRouter dashboard" href="/dashboard"><div class="sidebar-brand-icon flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-surface shadow-xs"><img src="/miawrouter-favicon-32.png" data-brand-asset="icon" alt="" aria-hidden="true" class="size-full object-contain p-0.5"/></div><div class="sidebar-brand-copy flex min-w-0 flex-col"><div class="flex items-center gap-1.5"><h1 class="truncate text-[14.5px] font-bold tracking-tight text-text-main">MiawRouter Proxy</h1><span class="status-dot status-dot-live" title="Gateway Active"></span></div><span class="text-[10.5px] font-mono font-medium text-text-muted">V1.2.4<!-- --> · AI Router</span></div></a><button type="button" class="sidebar-collapse-toggle inline-flex size-8 shrink-0 items-center justify-center rounded-lg text-text-muted hover:bg-surface-2 hover:text-text-main" aria-label="Collapse sidebar" title="Collapse sidebar"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px]" aria-hidden="true" data-icon="chevron_left"><path d="M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"></path></svg></button></div></div><label class="sidebar-search"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px] text-text-muted shrink-0" aria-hidden="true" data-icon="search"><path d="M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"></path></svg><input aria-label="Search navigation" placeholder="Jump to menu…" value=""/></label><div class="sidebar-endpoint-row"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px] text-primary shrink-0" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="hub"><circle cx="12" cy="12" r="3.25" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><path d="M6.8 7.5 9.6 9.9M17.2 7.5l-2.8 2.4M6.8 16.5l2.8-2.4M17.2 16.5l-2.8-2.4" stroke="currentColor" stroke-width="1.65" stroke-linecap="round"></path></svg><span class="sr-only">Local endpoint</span><code class="min-w-0 flex-1 truncate font-mono text-[11px] font-medium text-text-main" title=""></code><button type="button" disabled="" class="inline-flex size-6 shrink-0 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-surface hover:text-primary disabled:opacity-50" aria-label="Copy local endpoint" title="Copy local endpoint"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px]" aria-hidden="true" data-icon="content_copy"><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></button></div><nav class="flex-1 px-2.5 py-2 space-y-1.5 overflow-y-auto custom-scrollbar"><div class="mb-2 rounded-xl border border-border bg-surface/70 p-1.5"><div class="flex items-center justify-between px-1.5 pb-1"><span class="text-[10px] font-mono font-semibold uppercase tracking-wider text-text-muted">Quick Access</span><span class="text-[10px] font-mono text-text-subtle">1-Click Hub</span></div><div class="grid grid-cols-2 gap-1"><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Overview</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Usage &amp; Routing" href="/dashboard/usage"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Usage &amp; Routing</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate bg-surface-2 text-text-main font-semibold border border-border shadow-2xs" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate">Providers</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Endpoint" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate">Endpoint</span></a></div></div><div class="space-y-1"><div class="flex items-center justify-between px-2 py-0.5"><span class="sidebar-section-caption text-text-muted">Console Menu</span><span class="text-[10px] font-mono text-text-subtle">Accordion</span></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group bg-surface-2 text-text-main font-semibold shadow-2xs border border-border" aria-expanded="true" title="Core &amp; Gateway"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-primary/30 bg-primary/10 text-primary"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Core &amp; Gateway</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(0deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button><div class="mt-1 ml-3.5 pl-2.5 border-l border-border space-y-0.5 py-0.5"><a class="nav-item group py-1.5 min-h-[33px]" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate text-[12.5px] flex-1">Overview</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Endpoint &amp; Key" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Endpoint &amp; Key</span></a><a class="nav-item group py-1.5 min-h-[33px] nav-item-active" aria-current="page" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Providers</span><span class="size-1.5 rounded-full bg-primary shrink-0" aria-hidden="true"></span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Health" href="/dashboard/health"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="ecg_heart"><rect x="2.75" y="4" width="18.5" height="16" rx="3" fill="currentColor" fill-opacity="0.1" stroke="currentColor" stroke-width="1.75"></rect><path d="M5.5 12h3l2-4 3 8 2-4h3" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Health</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Runtime" href="/dashboard/runtime"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="memory"><rect x="6" y="6" width="12" height="12" rx="2.2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="9.25" y="9.25" width="5.5" height="5.5" rx="1" stroke="currentColor" stroke-width="1.5"></rect><path d="M9 3v3m6-3v3M9 18v3m6-3v3M3 9h3m-3 6h3m12-6h3m-3 6h3" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Runtime</span></a></div></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Usage &amp; Analytics"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Usage &amp; Analytics</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Routing &amp; Config"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="tune"><path d="M176,80a8,8,0,0,1,8-8h32a8,8,0,0,1,0,16H184A8,8,0,0,1,176,80ZM40,88H144v16a8,8,0,0,0,16,0V56a8,8,0,0,0-16,0V72H40a8,8,0,0,0,0,16Zm176,80H120a8,8,0,0,0,0,16h96a8,8,0,0,0,0-16ZM88,144a8,8,0,0,0-8,8v16H40a8,8,0,0,0,0,16H80v16a8,8,0,0,0,16,0V152A8,8,0,0,0,88,144Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Routing &amp; Config</span><span class="nav-section-count">8</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Workspace Tools"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="terminal"><rect x="2.75" y="4" width="18.5" height="16" rx="2.75" fill="currentColor" fill-opacity="0.12" stroke="currentColor" stroke-width="1.75"></rect><path d="m7 9.5 3 2.5-3 2.5m5.5 0H16" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Workspace Tools</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Integrations &amp; API"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="cable"><path d="M7.5 6.5v4a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-4" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"></path><path d="M9.5 3.5v3m5-3v3M12 13.5v7" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Integrations &amp; API</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Agents &amp; Skills"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="smart_toy"><path d="M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Agents &amp; Skills</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="System &amp; Media"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">System &amp; Media</span><span class="nav-section-count">4</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div></div></nav><div class="border-t border-border-subtle px-3 py-2.5 flex items-center justify-between gap-2 bg-surface/40 mt-auto shrink-0"><a class="flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors flex-1 text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/profile"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg><span>Settings</span></a><a class="inline-flex items-center gap-1.5 rounded-lg border border-border-subtle bg-surface px-2.5 py-1.5 text-[11px] font-mono text-text-muted hover:text-text-main transition-colors" title="System Health" href="/dashboard/health"><span class="status-dot status-dot-live"></span><span>Online</span></a></div></aside></div><div role="dialog" aria-modal="true" aria-label="Dashboard navigation" inert="" class="fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out -translate-x-full"><aside class="sidebar-shell flex w-[256px] h-full flex-col transition-[width] duration-150"><div class="sidebar-brand flex flex-col gap-2 px-3.5 py-3"><div class="flex items-center gap-2.5"><a class="flex min-w-0 flex-1 items-center gap-2.5" title="MiawRouter dashboard" href="/dashboard"><div class="sidebar-brand-icon flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-surface shadow-xs"><img src="/miawrouter-favicon-32.png" data-brand-asset="icon" alt="" aria-hidden="true" class="size-full object-contain p-0.5"/></div><div class="sidebar-brand-copy flex min-w-0 flex-col"><div class="flex items-center gap-1.5"><h1 class="truncate text-[14.5px] font-bold tracking-tight text-text-main">MiawRouter Proxy</h1><span class="status-dot status-dot-live" title="Gateway Active"></span></div><span class="text-[10.5px] font-mono font-medium text-text-muted">V1.2.4<!-- --> · AI Router</span></div></a><button type="button" class="sidebar-collapse-toggle inline-flex size-8 shrink-0 items-center justify-center rounded-lg text-text-muted hover:bg-surface-2 hover:text-text-main" aria-label="Collapse sidebar" title="Collapse sidebar"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px]" aria-hidden="true" data-icon="chevron_left"><path d="M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"></path></svg></button></div></div><label class="sidebar-search"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[15px] text-text-muted shrink-0" aria-hidden="true" data-icon="search"><path d="M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"></path></svg><input aria-label="Search navigation" placeholder="Jump to menu…" value=""/></label><div class="sidebar-endpoint-row"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px] text-primary shrink-0" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="hub"><circle cx="12" cy="12" r="3.25" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="6" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="5" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><circle cx="19" cy="18" r="2.25" stroke="currentColor" stroke-width="1.75"></circle><path d="M6.8 7.5 9.6 9.9M17.2 7.5l-2.8 2.4M6.8 16.5l2.8-2.4M17.2 16.5l-2.8-2.4" stroke="currentColor" stroke-width="1.65" stroke-linecap="round"></path></svg><span class="sr-only">Local endpoint</span><code class="min-w-0 flex-1 truncate font-mono text-[11px] font-medium text-text-main" title=""></code><button type="button" disabled="" class="inline-flex size-6 shrink-0 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-surface hover:text-primary disabled:opacity-50" aria-label="Copy local endpoint" title="Copy local endpoint"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px]" aria-hidden="true" data-icon="content_copy"><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></button></div><nav class="flex-1 px-2.5 py-2 space-y-1.5 overflow-y-auto custom-scrollbar"><div class="mb-2 rounded-xl border border-border bg-surface/70 p-1.5"><div class="flex items-center justify-between px-1.5 pb-1"><span class="text-[10px] font-mono font-semibold uppercase tracking-wider text-text-muted">Quick Access</span><span class="text-[10px] font-mono text-text-subtle">1-Click Hub</span></div><div class="grid grid-cols-2 gap-1"><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Overview</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Usage &amp; Routing" href="/dashboard/usage"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate">Usage &amp; Routing</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate bg-surface-2 text-text-main font-semibold border border-border shadow-2xs" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate">Providers</span></a><a class="flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-[11.5px] font-medium transition-all truncate text-text-muted hover:bg-surface-2/70 hover:text-text-main border border-transparent" title="Endpoint" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[13px] shrink-0 text-text-muted" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate">Endpoint</span></a></div></div><div class="space-y-1"><div class="flex items-center justify-between px-2 py-0.5"><span class="sidebar-section-caption text-text-muted">Console Menu</span><span class="text-[10px] font-mono text-text-subtle">Accordion</span></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group bg-surface-2 text-text-main font-semibold shadow-2xs border border-border" aria-expanded="true" title="Core &amp; Gateway"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-primary/30 bg-primary/10 text-primary"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Core &amp; Gateway</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(0deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button><div class="mt-1 ml-3.5 pl-2.5 border-l border-border space-y-0.5 py-0.5"><a class="nav-item group py-1.5 min-h-[33px]" title="Overview" href="/dashboard"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dashboard"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg><span class="truncate text-[12.5px] flex-1">Overview</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Endpoint &amp; Key" href="/dashboard/endpoint"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="vpn_key"><circle cx="8" cy="12" r="4.5" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></circle><circle cx="7.5" cy="12" r="1.2" fill="currentColor"></circle><path d="M12.5 12H21m-2.5 0v3m-3-3v2.2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Endpoint &amp; Key</span></a><a class="nav-item group py-1.5 min-h-[33px] nav-item-active" aria-current="page" title="Providers" href="/dashboard/providers"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-primary" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Providers</span><span class="size-1.5 rounded-full bg-primary shrink-0" aria-hidden="true"></span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Health" href="/dashboard/health"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="ecg_heart"><rect x="2.75" y="4" width="18.5" height="16" rx="3" fill="currentColor" fill-opacity="0.1" stroke="currentColor" stroke-width="1.75"></rect><path d="M5.5 12h3l2-4 3 8 2-4h3" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="truncate text-[12.5px] flex-1">Health</span></a><a class="nav-item group py-1.5 min-h-[33px]" title="Runtime" href="/dashboard/runtime"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 transition-transform duration-150 group-hover:scale-105 text-[15px] text-text-muted group-hover:text-primary transition-colors" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="memory"><rect x="6" y="6" width="12" height="12" rx="2.2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="9.25" y="9.25" width="5.5" height="5.5" rx="1" stroke="currentColor" stroke-width="1.5"></rect><path d="M9 3v3m6-3v3M9 18v3m6-3v3M3 9h3m-3 6h3m12-6h3m-3 6h3" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><span class="truncate text-[12.5px] flex-1">Runtime</span></a></div></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Usage &amp; Analytics"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="bar_chart"><rect x="3.5" y="12.5" width="4" height="7.5" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect><rect x="10" y="8" width="4" height="12" rx="1.2" fill="currentColor" fill-opacity="0.18" stroke="currentColor" stroke-width="1.75"></rect><rect x="16.5" y="4" width="4" height="16" rx="1.2" stroke="currentColor" stroke-width="1.75"></rect></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Usage &amp; Analytics</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Routing &amp; Config"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="tune"><path d="M176,80a8,8,0,0,1,8-8h32a8,8,0,0,1,0,16H184A8,8,0,0,1,176,80ZM40,88H144v16a8,8,0,0,0,16,0V56a8,8,0,0,0-16,0V72H40a8,8,0,0,0,0,16Zm176,80H120a8,8,0,0,0,0,16h96a8,8,0,0,0,0-16ZM88,144a8,8,0,0,0-8,8v16H40a8,8,0,0,0,0,16H80v16a8,8,0,0,0,16,0V152A8,8,0,0,0,88,144Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Routing &amp; Config</span><span class="nav-section-count">8</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Workspace Tools"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="terminal"><rect x="2.75" y="4" width="18.5" height="16" rx="2.75" fill="currentColor" fill-opacity="0.12" stroke="currentColor" stroke-width="1.75"></rect><path d="m7 9.5 3 2.5-3 2.5m5.5 0H16" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Workspace Tools</span><span class="nav-section-count">6</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Integrations &amp; API"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[14px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="cable"><path d="M7.5 6.5v4a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-4" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"></path><path d="M9.5 3.5v3m5-3v3M12 13.5v7" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Integrations &amp; API</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="Agents &amp; Skills"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="smart_toy"><path d="M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">Agents &amp; Skills</span><span class="nav-section-count">5</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div><div class="rounded-lg transition-colors"><button type="button" class="w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-left transition-all cursor-pointer group text-text-muted hover:bg-surface-2/60 hover:text-text-main border border-transparent" aria-expanded="false" title="System &amp; Media"><span class="inline-flex size-6 shrink-0 items-center justify-center rounded-md border transition-colors border-border-subtle bg-surface text-text-muted group-hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg></span><span class="text-[13px] tracking-tight flex-1 truncate">System &amp; Media</span><span class="nav-section-count">4</span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[13px] text-text-muted/80 transition-transform duration-150 shrink-0" style="transform:rotate(-90deg)" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></button></div></div></nav><div class="border-t border-border-subtle px-3 py-2.5 flex items-center justify-between gap-2 bg-surface/40 mt-auto shrink-0"><a class="flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors flex-1 text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/profile"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[14px]" aria-hidden="true" data-icon="settings"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A112.1,112.1,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.62a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.08,8.08,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8.08,8.08,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z"></path></svg><span>Settings</span></a><a class="inline-flex items-center gap-1.5 rounded-lg border border-border-subtle bg-surface px-2.5 py-1.5 text-[11px] font-mono text-text-muted hover:text-text-main transition-colors" title="System Health" href="/dashboard/health"><span class="status-dot status-dot-live"></span><span>Online</span></a></div></aside></div><main class="flex min-w-0 flex-1 flex-col isolate"><header class="dashboard-header sticky top-0 z-20 flex h-16 shrink-0 items-center justify-between gap-3 border-b border-border bg-surface/90 px-4 lg:px-6"><div class="flex items-center gap-3 lg:hidden shrink-0"><button type="button" aria-label="Open navigation" class="flex size-9 items-center justify-center rounded-lg border border-border-subtle bg-surface-2 text-text-muted transition-colors hover:text-text-main"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="menu"><path d="M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM40,76H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24ZM216,180H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z"></path></svg></button></div><div class="flex min-w-0 flex-1 items-center gap-3"><div class="flex items-center gap-3 min-w-0"><div class="icon-box text-primary hidden sm:inline-flex"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[19px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg></div><div class="min-w-0"><div class="flex items-center gap-2"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-primary text-[18px] sm:hidden shrink-0" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="dns"><rect x="3" y="3.5" width="18" height="7" rx="2" fill="currentColor" fill-opacity="0.14" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="18" height="7" rx="2" stroke="currentColor" stroke-width="1.75"></rect><circle cx="7" cy="7" r="1.1" fill="currentColor"></circle><circle cx="7" cy="17" r="1.1" fill="currentColor"></circle><path d="M11.5 7h5.5M11.5 17h5.5" stroke="currentColor" stroke-width="1.75" stroke-linecap="round"></path></svg><h1 class="truncate text-[18px] font-bold tracking-tight text-text-main leading-tight">Providers</h1></div><p class="hidden md:block text-xs text-text-muted truncate mt-0.5">Manage your AI provider connections</p></div></div></div><div class="dashboard-header-actions flex items-center gap-1.5 shrink-0"><a class="hidden xl:inline-flex items-center gap-2 rounded-full border border-border bg-surface-2 px-3 py-1 text-xs font-medium text-text-muted hover:border-primary/40 hover:text-text-main transition-colors mr-1" title="View router health" href="/dashboard/health"><span class="status-dot status-dot-live"></span><span>Router Online</span></a><button class="inline-flex items-center justify-center size-8 rounded-md text-text-muted hover:text-text-main hover:bg-surface-2 transition-colors" aria-label="Switch to light mode" title="Switch to light mode"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="light_mode"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></button><button class="inline-flex h-8 items-center justify-center gap-1.5 rounded-md px-2 text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main" title="Language" aria-label="Language: en" data-i18n-skip="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="language"><path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.62,87.62,0,0,1-6.4,32.94l-44.7-27.49a15.92,15.92,0,0,0-6.24-2.23l-22.82-3.08a16.11,16.11,0,0,0-16,7.86h-8.72l-3.8-7.86a15.91,15.91,0,0,0-11-8.67l-8-1.73L96.14,104h16.71a16.06,16.06,0,0,0,7.73-2l12.25-6.76a16.62,16.62,0,0,0,3-2.14l26.91-24.34A15.93,15.93,0,0,0,166,49.1l-.36-.65A88.11,88.11,0,0,1,216,128ZM143.31,41.34,152,56.9,125.09,81.24,112.85,88H96.14a16,16,0,0,0-13.88,8l-8.73,15.23L63.38,84.19,74.32,58.32a87.87,87.87,0,0,1,69-17ZM40,128a87.53,87.53,0,0,1,8.54-37.8l11.34,30.27a16,16,0,0,0,11.62,10l21.43,4.61L96.74,143a16.09,16.09,0,0,0,14.4,9h1.48l-7.23,16.23a16,16,0,0,0,2.86,17.37l.14.14L128,205.94l-1.94,10A88.11,88.11,0,0,1,40,128Zm102.58,86.78,1.13-5.81a16.09,16.09,0,0,0-4-13.9,1.85,1.85,0,0,1-.14-.14L120,174.74,133.7,144l22.82,3.08,45.72,28.12A88.18,88.18,0,0,1,142.58,214.78Z"></path></svg><span class="text-xs font-medium uppercase">en</span></button><div class=""></div><div class="relative"><button class="flex size-8 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main" title="Menu"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-[18px]" style="display:inline-block;vertical-align:middle;flex-shrink:0" aria-hidden="true" data-icon="grid_view"><rect x="3" y="3" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="3" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="3" y="13.5" width="7.5" height="7.5" rx="2" stroke="currentColor" stroke-width="1.75"></rect><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="2" fill="currentColor" fill-opacity="0.16" stroke="currentColor" stroke-width="1.75"></rect></svg></button></div></div></header><div class="dashboard-scroll flex-1 overflow-y-auto custom-scrollbar p-4 lg:p-6 "><div class="dashboard-page-content mx-auto w-full max-w-[1280px]"><div class="mx-auto w-full max-w-2xl"><div class="mb-8"><a class="inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-4" href="/dashboard/providers"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class=" text-lg" aria-hidden="true" data-icon="arrow_back"><path d="M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z"></path></svg>Back to Providers</a><h1 class="text-[22px] font-semibold tracking-tight text-text-main">Add New Provider</h1><p class="text-text-muted mt-2">Configure a new AI provider to use with your applications.</p></div><div class="ui-card border rounded-xl bg-surface border-border shadow-soft p-5" data-variant="default"><form class="flex flex-col gap-6"><div class="flex flex-col gap-1.5"><label for="_R_6inpfiv5umbrb_" class="text-[13px] font-medium text-text-main">Provider<span class="text-danger ml-1">*</span></label><div class="relative"><select id="_R_6inpfiv5umbrb_" required="" class="w-full h-[34px] py-1.5 px-3 pr-10 text-sm text-text-main bg-surface border border-border rounded-md appearance-none focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm"><option value="" disabled="" selected="">Select a provider</option><option value="gemini-cli">Gemini CLI</option><option value="kiro">Kiro AI</option><option value="byteplus">BytePlus ModelArk</option><option value="cerebras">Cerebras</option><option value="cloudflare-ai">Cloudflare</option><option value="edge-tts">Edge TTS</option><option value="gemini">Gemini</option><option value="google-tts">Google TTS</option><option value="huggingface-router">Hugging Face Router</option><option value="kimchi">Kimchi</option><option value="local-device">Local Device</option><option value="modelscope">ModelScope Inference</option><option value="nvidia">NVIDIA NIM</option><option value="ollama">Ollama Cloud</option><option value="openrouter">OpenRouter</option><option value="ovh-ai-endpoints">OVHcloud AI Endpoints</option><option value="searxng">SearXNG</option><option value="vertex">Vertex AI</option><option value="api-airforce">API.airforce</option><option value="bazaarlink">Bazaarlink</option><option value="kilo-gateway">Kilo Gateway</option><option value="sambanova">SambaNova</option><option value="poolside">Poolside</option><option value="tokenrouter">TokenRouter</option><option value="ai21">AI21 Labs</option><option value="deepinfra">DeepInfra</option><option value="friendliai">FriendliAI</option><option value="github-models">GitHub Models</option><option value="inception">Inception</option><option value="nous-research">Nous Research</option><option value="reka">Reka</option><option value="gorouter">GoRouter</option><option value="tabitoken">TabiToken</option><option value="unikey">UniKey</option><option value="openagentic">OpenAgentic</option><option value="pollinations">Pollinations AI</option><option value="navy">NavyAI</option><option value="zenmux">ZenMux</option><option value="longcat">LongCat AI</option><option value="novita">Novita AI</option><option value="requesty">Requesty</option><option value="routeway">Routeway</option><option value="aion">Aion Labs</option><option value="agnes">Agnes AI</option><option value="arcee-ai">Arcee AI</option><option value="typhoon">Typhoon</option><option value="360ai">360 AI</option><option value="ainative">AINative Studio</option><option value="ant-ling">Ant Ling / Ring (inclusionAI)</option><option value="baichuan">Baichuan</option><option value="dgrid">DGrid</option><option value="doubao">Doubao</option><option value="freemodel-dev">FreeModel.dev</option><option value="hcnsec">Huancheng Public API</option><option value="inference-net">Inference.net</option><option value="nscale">nScale</option><option value="ollama-cloud">Ollama Cloud</option><option value="openadapter">OpenAdapter</option><option value="openvecta">OpenVecta</option><option value="publicai">PublicAI</option><option value="sarvam">Sarvam AI</option><option value="scaleway">Scaleway AI</option><option value="sealion">SEA-LION</option><option value="stepfun">StepFun</option><option value="antigravity">Antigravity</option><option value="claude">Claude Code</option><option value="cline">Cline</option><option value="clinepass">ClinePass</option><option value="codebuddy-cn">CodeBuddy CN</option><option value="codex">OpenAI Codex</option><option value="cursor">Cursor IDE</option><option value="github">GitHub Copilot</option><option value="grok-cli">Grok CLI (Grok Build)</option><option value="kilocode">Kilo Code</option><option value="kimi">Kimi</option><option value="qoder">Qoder</option><option value="xai">xAI (Grok)</option><option value="codebuddy-intl">CodeBuddy</option><option value="alicode-intl">Alibaba Coding</option><option value="alicode">Alibaba</option><option value="anthropic">Anthropic</option><option value="assemblyai">AssemblyAI</option><option value="aws-polly">AWS Polly</option><option value="azure">Azure OpenAI</option><option value="black-forest-labs">Black Forest Labs</option><option value="blackbox">Blackbox AI</option><option value="brave-search">Brave Search</option><option value="chutes">Chutes AI</option><option value="cohere">Cohere</option><option value="comfyui">ComfyUI</option><option value="commandcode">Command Code</option><option value="deepgram">Deepgram</option><option value="deepseek">DeepSeek</option><option value="elevenlabs">ElevenLabs</option><option value="exa">Exa</option><option value="fal-ai">Fal.ai</option><option value="featherless">Featherless</option><option value="firecrawl">Firecrawl</option><option value="fireworks">Fireworks AI</option><option value="genspark">Genspark</option><option value="glm-cn">GLM (China)</option><option value="glm">GLM Coding</option><option value="google-pse">Google PSE</option><option value="groq">Groq</option><option value="huggingface">HuggingFace</option><option value="hyperbolic">Hyperbolic</option><option value="inworld">Inworld TTS</option><option value="jina-ai">Jina AI</option><option value="jina-reader">Jina Reader</option><option value="linkup">Linkup</option><option value="minimax-cn">Minimax (China)</option><option value="minimax">Minimax Coding</option><option value="mistral">Mistral</option><option value="nanobanana">NanoBanana API</option><option value="nebius">Nebius AI</option><option value="ollama-local">Ollama Local</option><option value="openai">OpenAI</option><option value="opencode-go">OpenCode Go</option><option value="perplexity">Perplexity</option><option value="perplexity-agent">Perplexity Agent</option><option value="recraft">Recraft</option><option value="runwayml">Runway ML</option><option value="sdwebui">SD WebUI</option><option value="searchapi">SearchAPI</option><option value="serper">Serper</option><option value="siliconflow">SiliconFlow</option><option value="stability-ai">Stability AI</option><option value="tavily">Tavily</option><option value="together">Together AI</option><option value="topaz">Topaz</option><option value="venice">Venice AI</option><option value="vercel-ai-gateway">Vercel AI Gateway</option><option value="vertex-partner">Vertex Partner</option><option value="volcengine-ark">Volcengine Ark</option><option value="voyage-ai">Voyage AI</option><option value="xiaomi-mimo">Xiaomi MiMo</option><option value="xiaomi-tokenplan">Xiaomi MiMo (Token Plan)</option><option value="youcom">You.com Search</option><option value="alims-intl">Alibaba Studio</option><option value="baidu">Baidu Qianfan</option><option value="llm7">LLM7</option><option value="tencent">Tencent Hunyuan</option><option value="morph">Morph</option><option value="selfhosted-stt">Self-hosted STT</option><option value="selfhosted-tts">Self-hosted TTS</option><option value="selfhosted-embedding">Self-hosted Embedding</option><option value="meta-model-api">Meta Model API</option><option value="opencode-zen">OpenCode Zen</option><option value="grok-web">Grok Web (Subscription)</option><option value="kimi-web">Kimi Web</option><option value="perplexity-web">Perplexity Web (Pro/Max)</option><option value="chatgpt-web">ChatGPT Web (Subscription)</option><option value="claude-web">Claude Web (Subscription)</option><option value="gemini-web">Gemini Web (Subscription)</option><option value="deepseek-web">DeepSeek Web (Subscription)</option><option value="notion-web">Notion AI (Web)</option><option value="qwen-web">Qwen Web</option><option value="zai-web">Z.ai Web</option><option value="venice-web">Venice Web (Privacy)</option><option value="v0-vercel-web">v0 Vercel Web (Code Gen)</option><option value="manus-web">Manus Web</option></select><div class="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-text-muted"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="text-[18px]" aria-hidden="true" data-icon="expand_more"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg></div></div></div><div class="flex flex-col gap-3"><label class="text-sm font-medium">Authentication Method <span class="text-danger">*</span></label><div class="flex gap-3"><button type="button" class="flex flex-1 items-center justify-center gap-2 rounded-md border px-4 py-3 transition-colors border-border bg-surface hover:border-primary/50 hover:bg-surface-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true" data-icon="lock"><path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"></path></svg><span class="font-medium"></span></button><button type="button" class="flex flex-1 items-center justify-center gap-2 rounded-md border px-4 py-3 transition-colors border-border bg-surface hover:border-primary/50 hover:bg-surface-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true" data-icon="lock"><path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"></path></svg><span class="font-medium"></span></button><button type="button" class="flex flex-1 items-center justify-center gap-2 rounded-md border px-4 py-3 transition-colors border-border bg-surface hover:border-primary/50 hover:bg-surface-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true" data-icon="lock"><path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"></path></svg><span class="font-medium"></span></button></div></div><div class="flex flex-col gap-1.5"><label for="_R_iinpfiv5umbrb_" class="text-[13px] font-medium text-text-main">API Key<span class="text-danger ml-1">*</span></label><div class="relative"><input id="_R_iinpfiv5umbrb_" type="password" placeholder="Enter your API key" required="" class="w-full h-[34px] py-1.5 px-3 text-sm text-text-main bg-surface rounded-md border border-border placeholder:text-text-subtle focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm" value=""/></div><p class="text-xs text-text-muted">Your API key will be encrypted and stored securely.</p></div><div class="flex flex-col gap-1.5"><label for="_R_qinpfiv5umbrb_" class="text-[13px] font-medium text-text-main">Display Name</label><div class="relative"><input id="_R_qinpfiv5umbrb_" type="text" placeholder="e.g., Production API, Dev Environment" class="w-full h-[34px] py-1.5 px-3 text-sm text-text-main bg-surface rounded-md border border-border placeholder:text-text-subtle focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm" value=""/></div><p class="text-xs text-text-muted">Optional. A friendly name to identify this configuration.</p></div><div class="flex items-center gap-3"><button type="button" role="switch" aria-checked="true" aria-labelledby="_R_uinpfiv5umbrb_-label" aria-describedby="_R_uinpfiv5umbrb_-desc" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary [object Object]"><span class="pointer-events-none inline-block rounded-full shadow-2xs bg-bg transition-transform duration-150 translate-x-[14px] size-3.5"></span></button><div class="flex flex-col"><span id="_R_uinpfiv5umbrb_-label" class="text-sm font-medium text-text-main">Active</span><span id="_R_uinpfiv5umbrb_-desc" class="text-xs text-text-muted">Enable this provider for use in your applications</span></div></div><div class="flex gap-3 pt-4 border-t border-border"><a class="flex-1" href="/dashboard/providers"><button class="ui-button inline-flex items-center justify-center gap-2 rounded-lg font-medium transition-all duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-bg disabled:opacity-50 disabled:cursor-not-allowed text-text-muted hover:bg-surface-2 hover:text-text-main h-9 px-3.5 text-[13.5px] rounded-lg w-full" data-variant="ghost" type="button">Cancel</button></a><button class="ui-button inline-flex items-center justify-center gap-2 rounded-lg font-medium transition-all duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-bg disabled:opacity-50 disabled:cursor-not-allowed bg-primary text-bg font-semibold hover:bg-primary-hover shadow-xs disabled:bg-surface-2 disabled:text-text-muted h-9 px-3.5 text-[13.5px] rounded-lg w-full flex-1" data-variant="primary" type="submit">Create Provider</button></div></form></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-cfe64bcd232c635c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"9647\",\"static/chunks/9647-83de9c8c0d2ffe2a.js\",\"2048\",\"static/chunks/2048-9d3db5763af19b9f.js\",\"6439\",\"static/chunks/6439-3dc656d19715c56c.js\",\"1321\",\"static/chunks/1321-6b997794bb843da8.js\",\"5497\",\"static/chunks/5497-307a8ef5cdb7207e.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-5b91d30e5ec17946.js\"],\"ThemeProvider\"]\n3:I[94635,[\"6198\",\"static/chunks/6198-c12e3b40da04e356.js\",\"1321\",\"static/chunks/1321-6b997794bb843da8.js\",\"7177\",\"static/chunks/app/layout-0fd748451eb66376.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[30565,[\"6198\",\"static/chunks/6198-c12e3b40da04e356.js\",\"1321\",\"static/chunks/1321-6b997794bb843da8.js\",\"7177\",\"static/chunks/app/layout-0fd748451eb66376.js\"],\"GoogleAnalytics\"]\n7:I[7648,[\"9647\",\"static/chunks/9647-83de9c8c0d2ffe2a.js\",\"2048\",\"static/chunks/2048-9d3db5763af19b9f.js\",\"6439\",\"static/chunks/6439-3dc656d19715c56c.js\",\"1321\",\"static/chunks/1321-6b997794bb843da8.js\",\"5497\",\"static/chunks/5497-307a8ef5cdb7207e.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-5b91d30e5ec17946.js\"],\"default\"]\n8:I[61304,[],\"ClientPageRoot\"]\n9:I[15615,[\"9647\",\"static/chunks/9647-83de9c8c0d2ffe2a.js\",\"2048\",\"static/chunks/2048-9d3db5763af19b9f.js\",\"6439\",\"static/chunks/6439-3dc656d19715c56c.js\",\"1321\",\"static/chunks/1321-6b997794bb843da8.js\",\"5497\",\"static/chunks/5497-307a8ef5cdb7207e.js\",\"9089\",\"static/chunks/app/(dashboard)/dashboard/providers/new/page-a3b4f51f1b5c4489.js\"],\"default\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[90484,[],\"ViewportBoundary\"]\n12:I[90484,[],\"MetadataBoundary\"]\n14:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/1e41699163398962.css\",\"style\"]\n:HL[\"/_next/static/css/01b1ec05918332c3.css\",\"style\"]\nf:X\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"providers\",\"new\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"providers\",{\"children\":[\"new\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1e41699163398962.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/01b1ec05918332c3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_e2cc43 __variable_aa62b7 font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{\"gaId\":\"G-LC959F603F\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{\"Component\":\"$9\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@a\",\"$@b\"]}}],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$f\"]},null,false,\"$f\"]},null,false,\"$f\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"DryEkcB2pIbzN1YYgNcUS\"}\n"])</script><script>self.__next_f.push([1,"f:C\na:{}\nb:\"$0:f:0:1:1:children:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#F5F4F0\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#09090B\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"15:I[86869,[],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"MiawRouter - Local AI Request Router\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Route AI requests through one local endpoint and manage provider connections in a web dashboard.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?7ea3ab789c052974\",\"type\":\"image/x-icon\",\"sizes\":\"256x256\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/miawrouter-favicon-16.png\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/miawrouter-favicon-32.png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/miawrouter-favicon-48.png\",\"sizes\":\"48x48\"}],[\"$\",\"$L15\",\"7\",{}]]\n"])</script></body></html>