@amir83nasr/10router 0.1.8 → 0.1.10

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 (295) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -4
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +23 -23
  5. package/.next/react-loadable-manifest.json +9 -0
  6. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  7. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  10. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  13. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  16. package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  19. package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  22. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +1 -1
  25. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js.nft.json +1 -1
  26. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
  27. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -1
  28. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js.nft.json +1 -1
  29. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/(dashboard)/dashboard/page.js +1 -1
  31. package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  32. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  34. package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  35. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  37. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  38. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  40. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  41. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  43. package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  44. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  46. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  47. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  49. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  50. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  52. package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  53. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  54. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  55. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  56. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  57. package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  58. package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  59. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/_global-error.html +1 -1
  62. package/.next/server/app/_global-error.rsc +1 -1
  63. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  64. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  65. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/_not-found.html +1 -1
  68. package/.next/server/app/_not-found.rsc +5 -5
  69. package/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
  70. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  71. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  72. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
  73. package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  74. package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  75. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  76. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  77. package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  78. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
  79. package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  80. package/.next/server/app/api/combos/[id]/route.js +1 -1
  81. package/.next/server/app/api/combos/route.js +1 -1
  82. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  83. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  84. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  85. package/.next/server/app/api/providers/[id]/models/route.js +1 -1
  86. package/.next/server/app/api/providers/client/route.js +1 -1
  87. package/.next/server/app/api/providers/route.js +1 -1
  88. package/.next/server/app/api/translator/send/route.js +1 -1
  89. package/.next/server/app/api/translator/translate/route.js +1 -1
  90. package/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  91. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  92. package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  93. package/.next/server/app/api/usage/stream/route.js +2 -6
  94. package/.next/server/app/api/v1/audio/speech/route.js +1 -1
  95. package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  96. package/.next/server/app/api/v1/embeddings/route.js +1 -1
  97. package/.next/server/app/api/v1/images/generations/route.js +1 -1
  98. package/.next/server/app/api/v1/systemone/route.js +1 -1
  99. package/.next/server/app/api/version/route.js +1 -1
  100. package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/callback.html +1 -1
  102. package/.next/server/app/callback.rsc +5 -5
  103. package/.next/server/app/callback.segments/_full.segment.rsc +5 -5
  104. package/.next/server/app/callback.segments/_tree.segment.rsc +1 -1
  105. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  106. package/.next/server/app/dashboard/basic-chat.html +1 -1
  107. package/.next/server/app/dashboard/basic-chat.rsc +6 -6
  108. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +6 -6
  109. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  110. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  111. package/.next/server/app/dashboard/cli-tools.html +1 -1
  112. package/.next/server/app/dashboard/cli-tools.rsc +7 -7
  113. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +7 -7
  114. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  115. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  116. package/.next/server/app/dashboard/combos.html +1 -1
  117. package/.next/server/app/dashboard/combos.rsc +7 -7
  118. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
  119. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  120. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  121. package/.next/server/app/dashboard/endpoint.html +1 -1
  122. package/.next/server/app/dashboard/endpoint.rsc +7 -7
  123. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
  124. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  125. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  126. package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
  127. package/.next/server/app/dashboard/media-providers/systemone.rsc +7 -7
  128. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +7 -7
  129. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +7 -7
  130. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +1 -1
  131. package/.next/server/app/dashboard/profile.html +1 -1
  132. package/.next/server/app/dashboard/profile.rsc +7 -7
  133. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +7 -7
  134. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  135. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  136. package/.next/server/app/dashboard/providers/new.html +1 -1
  137. package/.next/server/app/dashboard/providers/new.rsc +7 -7
  138. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
  139. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  140. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  141. package/.next/server/app/dashboard/providers.html +1 -1
  142. package/.next/server/app/dashboard/providers.rsc +7 -7
  143. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +7 -7
  144. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  145. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  146. package/.next/server/app/dashboard/proxy-pools.html +1 -1
  147. package/.next/server/app/dashboard/proxy-pools.rsc +7 -7
  148. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +7 -7
  149. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  150. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  151. package/.next/server/app/dashboard/pxpipe.html +1 -1
  152. package/.next/server/app/dashboard/pxpipe.rsc +7 -7
  153. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
  154. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  155. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  156. package/.next/server/app/dashboard/quota.html +2 -2
  157. package/.next/server/app/dashboard/quota.rsc +8 -8
  158. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
  159. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  160. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  161. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/dashboard/settings/pricing.html +1 -1
  163. package/.next/server/app/dashboard/settings/pricing.rsc +6 -6
  164. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  165. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  166. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  167. package/.next/server/app/dashboard/token-saver.html +1 -1
  168. package/.next/server/app/dashboard/token-saver.rsc +6 -6
  169. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -6
  170. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  171. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  172. package/.next/server/app/dashboard/usage.html +2 -2
  173. package/.next/server/app/dashboard/usage.rsc +7 -7
  174. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +7 -7
  175. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  176. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  177. package/.next/server/app/dashboard.html +1 -1
  178. package/.next/server/app/dashboard.rsc +7 -7
  179. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
  180. package/.next/server/app/dashboard.segments/_full.segment.rsc +7 -7
  181. package/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  182. package/.next/server/app/index.html +1 -1
  183. package/.next/server/app/index.rsc +5 -5
  184. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  185. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  186. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  187. package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/landing.html +1 -1
  189. package/.next/server/app/landing.rsc +5 -5
  190. package/.next/server/app/landing.segments/_full.segment.rsc +5 -5
  191. package/.next/server/app/landing.segments/_tree.segment.rsc +1 -1
  192. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  193. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  194. package/.next/server/app/login.html +1 -1
  195. package/.next/server/app/login.rsc +5 -5
  196. package/.next/server/app/login.segments/_full.segment.rsc +5 -5
  197. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  198. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  199. package/.next/server/app/page_client-reference-manifest.js +1 -1
  200. package/.next/server/app-paths-manifest.json +4 -4
  201. package/.next/server/chunks/1003.js +1 -1
  202. package/.next/server/chunks/1011.js +1 -1
  203. package/.next/server/chunks/1194.js +1 -1
  204. package/.next/server/chunks/1289.js +1 -1
  205. package/.next/server/chunks/1412.js +1 -1
  206. package/.next/server/chunks/1633.js +1 -1
  207. package/.next/server/chunks/1985.js +1 -1
  208. package/.next/server/chunks/2282.js +8 -4
  209. package/.next/server/chunks/2339.js +1 -1
  210. package/.next/server/chunks/2801.js +1 -1
  211. package/.next/server/chunks/3425.js +1 -1
  212. package/.next/server/chunks/4364.js +1 -1
  213. package/.next/server/chunks/460.js +1 -1
  214. package/.next/server/chunks/5761.js +1 -1
  215. package/.next/server/chunks/6056.js +1 -1
  216. package/.next/server/chunks/6343.js +3 -3
  217. package/.next/server/chunks/6823.js +1 -1
  218. package/.next/server/chunks/7019.js +2 -2
  219. package/.next/server/chunks/7348.js +1 -1
  220. package/.next/server/chunks/7504.js +1 -1
  221. package/.next/server/chunks/7535.js +2 -2
  222. package/.next/server/chunks/8923.js +1 -1
  223. package/.next/server/chunks/9018.js +1 -1
  224. package/.next/server/chunks/9250.js +1 -1
  225. package/.next/server/chunks/9429.js +1 -1
  226. package/.next/server/chunks/9646.js +1 -1
  227. package/.next/server/chunks/9817.js +67 -0
  228. package/.next/server/middleware-build-manifest.js +1 -1
  229. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  230. package/.next/server/middleware.js +1 -1
  231. package/.next/server/pages/404.html +1 -1
  232. package/.next/server/pages/500.html +1 -1
  233. package/.next/server/server-reference-manifest.js +1 -1
  234. package/.next/server/server-reference-manifest.json +1 -1
  235. package/.next/static/chunks/{1278-605cc36f762c2ea7.js → 1278-233a1472e792bb65.js} +1 -1
  236. package/.next/static/chunks/{1830-901fe48c3c62604f.js → 1830-d26d77c95932d7ce.js} +1 -1
  237. package/.next/static/chunks/1940.1f30124180f22498.js +1 -0
  238. package/.next/static/chunks/{2836-8e7f4c382297ac97.js → 2836-d97f0aa2718945d5.js} +1 -1
  239. package/.next/static/chunks/3445-99e12528f235cedb.js +1 -0
  240. package/.next/static/chunks/6770-e2921b2ce695ed57.js +1 -0
  241. package/.next/static/chunks/7276-a15e4d56ec28aba8.js +1 -0
  242. package/.next/static/chunks/{9369-7ef21480b9132957.js → 9369-0d43b295968c2168.js} +1 -1
  243. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-9efe55fed2f7c81f.js → page-e8bceccb95695755.js} +2 -2
  244. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-9dcb29085167b384.js → page-adee408d9de02423.js} +1 -1
  245. package/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-f5db9f681c6bface.js → page-d4c1e29e8d038f09.js} +1 -1
  246. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/{page-d134cc313c9fa0b8.js → page-36c9e8748d6f3f0c.js} +1 -1
  247. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/{page-f2d1a733e7f841cb.js → page-67516b120adbc4d7.js} +1 -1
  248. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/{page-0d6e623de6134598.js → page-b751d9603cb82e62.js} +1 -1
  249. package/.next/static/chunks/app/(dashboard)/dashboard/{page-e8f1d8be5e294fb0.js → page-315c9f52c472a700.js} +1 -1
  250. package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-c96cbcc4f5736e36.js → page-d5d480e209fdc55a.js} +1 -1
  251. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-cc51346e464158b1.js → page-7977a61350d874d2.js} +1 -1
  252. package/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-1ee147fbe0693dc1.js → page-2396571281d02804.js} +1 -1
  253. package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-2287b1915fa887fc.js → page-cfd6bcb7e55d7d18.js} +2 -2
  254. package/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-696cb5c2703ca1ec.js → page-4d758f53c8cfc308.js} +1 -1
  255. package/.next/static/chunks/app/(dashboard)/dashboard/quota/{page-54a329d725734a1f.js → page-fef6edb7aafd8bd0.js} +1 -1
  256. package/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-a81f78bb43042c30.js → page-697f46461825d7fc.js} +1 -1
  257. package/.next/static/chunks/app/(dashboard)/{layout-c199eb2ad56ae96a.js → layout-5039502fc12707c9.js} +1 -1
  258. package/.next/static/chunks/app/layout-8de830cad461f2bd.js +1 -0
  259. package/.next/static/chunks/webpack-cb89101193742e2b.js +1 -0
  260. package/CHANGELOG.md +24 -0
  261. package/open-sse/executors/zed.js +98 -5
  262. package/open-sse/handlers/chatCore/sseToJsonHandler.js +11 -4
  263. package/open-sse/providers/pricing.js +24 -10
  264. package/open-sse/services/usage/antigravity-weekly.js +10 -0
  265. package/open-sse/services/usage/claude.js +15 -0
  266. package/open-sse/shared/zedAuth.js +43 -2
  267. package/open-sse/translator/concerns/prefetch.js +12 -4
  268. package/open-sse/translator/response/claude-to-openai.js +2 -2
  269. package/open-sse/utils/streamHandler.js +1 -5
  270. package/package.json +1 -1
  271. package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportGrokCliModal.tsx +1 -1
  272. package/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +1 -1
  273. package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.tsx +5 -2
  274. package/src/app/api/combos/[id]/route.js +39 -2
  275. package/src/app/api/combos/route.js +27 -2
  276. package/src/app/api/providers/[id]/models/route.js +12 -1
  277. package/src/app/api/providers/route.js +4 -1
  278. package/src/app/api/usage/stream/route.js +74 -68
  279. package/src/app/api/v1/models/route.js +20 -6
  280. package/src/lib/db/index.js +3 -0
  281. package/src/lib/db/repos/settingsRepo.js +22 -1
  282. package/src/lib/oauth/services/xai.js +4 -4
  283. package/src/lib/validateComboModels.ts +48 -0
  284. package/src/shared/components/UsageStats.tsx +7 -1
  285. package/src/shared/hooks/useShutdown.ts +2 -4
  286. package/src/sse/handlers/chat.js +5 -1
  287. package/src/sse/services/antigravityQuota.ts +7 -3
  288. package/src/sse/services/model.ts +9 -20
  289. package/.next/server/chunks/5351.js +0 -67
  290. package/.next/static/chunks/3973-424848b943e2ecab.js +0 -1
  291. package/.next/static/chunks/7276-16ef14f7b2cd478d.js +0 -1
  292. package/.next/static/chunks/app/layout-9bd5877ae6198856.js +0 -1
  293. package/.next/static/chunks/webpack-452a2f4aec1a53ee.js +0 -1
  294. /package/.next/static/{iz7psrsEuHZGPvj7rbSWc → DaBuw8hGFuPycdhSV3GrJ}/_buildManifest.js +0 -0
  295. /package/.next/static/{iz7psrsEuHZGPvj7rbSWc → DaBuw8hGFuPycdhSV3GrJ}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=3554,a.ids=[3554],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1437:(a,b,c)=>{"use strict";var d=c(47633);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"redirect")&&c.d(b,{redirect:function(){return d.redirect}})},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11543:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unauthorized",{enumerable:!0,get:function(){return d}}),c(41081).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},14985:a=>{"use strict";a.exports=require("dns")},16162:(a,b,c)=>{Promise.resolve().then(c.bind(c,28840))},16698:a=>{"use strict";a.exports=require("node:async_hooks")},18142:(a,b,c)=>{"use strict";c.d(b,{YW:()=>d.Page,pV:()=>d.CardGrid,wn:()=>d.Section,zY:()=>d.PageHeader}),c(73865),c(55204);var d=c(19509)},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20482:(a,b,c)=>{"use strict";c.d(b,{CK:()=>i.default,G9:()=>l.default,Iz:()=>r.default,KX:()=>s.PanelSkeleton,LF:()=>f.default,LH:()=>m.default,Mu:()=>s.StatCardSkeleton,Nf:()=>j.default,Qv:()=>e.CardSkeleton,YW:()=>u.YW,gw:()=>q.default,jK:()=>k.default,nh:()=>t.default,pV:()=>u.pV,rq:()=>g.default,uR:()=>h.default,uo:()=>d.ConfirmModal,vE:()=>n.default,vj:()=>o.default,wI:()=>p.default,wn:()=>u.wn,zY:()=>u.zY}),c(28907);var d=c(87121),e=c(53546);c(62648),c(77562),c(79517),c(66453);var f=c(71e3),g=c(16582),h=c(94725),i=c(98279),j=c(22354),k=c(65666);c(49451),c(82466),c(70047),c(32328),c(92249);var l=c(85405),m=c(91236),n=c(89630),o=c(87556),p=c(46009);c(54928);var q=c(5409),r=c(12710);c(92393),c(51);var s=c(11442),t=c(9656),u=c(18142)},21704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return d}});class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class d extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},28840:(a,b,c)=>{"use strict";c.d(b,{default:()=>aa});var d=c(86240),e=c(28907),f=c(70433),g=c(4459),h=c.n(g),i=c(20482),j=c(63265),k=c(92968),l=c(54204),m=c(95137),n=c(4271),o=c(83777),p=c(31952),q=c(36447),r=c(63998),s=c(62871),t=c(99902),u=c(81501);function v({storageKey:a,changeEvent:b,itemField:c,normalize:d=a=>a,defaultName:e=a=>a}){let f=()=>[],g=a=>{};return{read:f,subscribe:a=>()=>{},upsert:(a,b)=>{let h=d(a);if(!h)return null;let i=f(),j=i.find(a=>d(a[c])===h);if(j&&!b)return j.name;let k=(b||e(h)).trim();return k?(g([...i.filter(a=>a.name!==k&&d(a[c])!==h),{name:k,[c]:h}].sort((a,b)=>a.name.localeCompare(b.name))),k):null},remove:a=>g(f().filter(b=>b.name!==a))}}let w=a=>(a||"").replace(/\/+$/,""),x=v({storageKey:"10router.cliToolEndpointPresets",changeEvent:"10router:endpoint-presets-changed",itemField:"baseUrl",normalize:w,defaultName:a=>{try{return new URL(a).host}catch{return a}}}),y=v({storageKey:"10router.cliToolApiKeyPresets",changeEvent:"10router:api-key-presets-changed",itemField:"key"});x.read,x.subscribe;let z=x.upsert,A=x.remove;y.read,y.subscribe;let B=y.upsert,C=y.remove;function D(a,{tunnelPublicUrl:b,tailscaleUrl:c,cloudUrl:d}={}){let e=w(a);return!e||[`http://127.0.0.1:${t._$}`,b,c,d].filter(Boolean).flatMap(a=>[w(a),`${w(a)}/v1`]).includes(e)?null:z(e)}let E="__custom__",F="__save__";function G({value:a,onChange:b,requiresExternalUrl:c=!1,tunnelEnabled:g=!1,tunnelPublicUrl:h="",tailscaleEnabled:i=!1,tailscaleUrl:j="",cloudEnabled:k=!1,cloudUrl:l="",withV1:m=!0,currentUrl:n=""}){let[q,r]=(0,f.useState)([]),[s,v]=(0,f.useState)(!1),[w,x]=(0,f.useState)(""),[y,B]=(0,f.useState)("");(0,f.useRef)(!1);let C=(0,f.useRef)(""),D=(0,f.useMemo)(()=>(({requiresExternalUrl:a,tunnelEnabled:b,tunnelPublicUrl:c,tailscaleEnabled:d,tailscaleUrl:e,cloudEnabled:f,cloudUrl:g,savedPresets:h,withV1:i})=>{let j=[],k=a=>{let b;return i?(b=(a||"").replace(/\/+$/,""))?/\/v1$/.test(b)?b:`${b}/v1`:"":(a||"").replace(/\/+$/,"")};if(!a){let a=k(`http://127.0.0.1:${t._$}`);j.push({value:"local",label:a,url:a})}if(b&&c){let a=k(c);j.push({value:"tunnel",label:a,url:a})}if(d&&e){let a=k(e);j.push({value:"tailscale",label:a,url:a})}if(f&&g){let a=k(g);j.push({value:"cloud",label:a,url:a})}return h.forEach(a=>{j.push({value:`saved:${a.name}`,label:a.baseUrl,url:a.baseUrl,saved:!0})}),j.push({value:E,label:"Custom URL...",url:""}),j})({requiresExternalUrl:c,tunnelEnabled:g,tunnelPublicUrl:h,tailscaleEnabled:i,tailscaleUrl:j,cloudEnabled:k,cloudUrl:l,savedPresets:q,withV1:m}),[c,g,h,i,j,k,l,q,m]),H=w.startsWith("saved:"),I=w===E,J=I&&(y||"").trim().length>0;return(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(o.l6,{value:w,onValueChange:c=>{if(c===F){let b=(a||"").trim();if(!b)return;let c=b;try{c=new URL(b).host}catch{}let d=window.prompt("Save endpoint as:",c),e=d?.trim()?z(b,d.trim()):null;e&&x(`saved:${e}`);return}if(x(c),c===E){B(""),b("");return}let d=D.find(a=>a.value===c);d&&b(d.url)},children:[(0,d.jsx)(o.bq,{className:"flex-1 min-w-0 text-xs",children:(0,d.jsx)(o.yv,{placeholder:"Select endpoint"})}),(0,d.jsxs)(o.gC,{children:[D.map(a=>(0,d.jsx)(o.eb,{value:a.value,title:a.label,children:a.label},a.value)),J&&(0,d.jsx)(o.eb,{value:F,children:"+ Save current as..."})]})]}),H&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{type:"button",onClick:()=>{if(!w.startsWith("saved:"))return;A(w.slice(6)),B("");let a=D.find(a=>a.value!==E&&a.value!==w);a?(x(a.value),b(a.url)):(x(E),b(""))},className:"p-1 text-muted-foreground hover:text-red-500 rounded transition-colors shrink-0",children:(0,d.jsx)(e.default,{name:"delete",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Delete saved endpoint"})]})]}),I&&(0,d.jsx)(u.p,{type:"text",value:y,onChange:a=>{let c=a.target.value;C.current=c,B(c),b(c)},placeholder:m?"https://example.com/v1":"https://example.com",className:"h-9 text-xs"})]})}let H="__custom__",I="__save_key__";function J({value:a,onChange:b,apiKeys:c=[],cloudEnabled:g=!1,className:h=""}){let[i,j]=(0,f.useState)([]),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(""),q=(0,f.useMemo)(()=>[...c.map(a=>({value:a.key,label:a.key})),...i.map(a=>({value:`saved:${a.name}`,label:a.key,url:a.key,saved:!0})),{value:H,label:"Custom...",url:""}],[c,i]),r=a?q.find(b=>b.value===a||b.url===a):null,s=r?r.value:k||a?H:q[0]?.value??H,t=k?m:a||"",v="string"==typeof s&&s.startsWith("saved:"),w=s===H,x=w&&(a||"").trim().length>0&&!c.some(b=>b.key===a);return 0!==c.length||0!==i.length||k||a?(0,d.jsxs)("div",{className:`flex flex-col gap-1.5 ${h}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(o.l6,{value:s,onValueChange:c=>{if(c===I)return void B((a||"").trim());if(c===H){l(!0),n(""),b("");return}l(!1),n("");let d=q.find(a=>a.value===c);d&&b(d.url??d.value)},children:[(0,d.jsx)(o.bq,{className:"flex-1 min-w-0 text-xs",children:(0,d.jsx)(o.yv,{placeholder:"Select key"})}),(0,d.jsxs)(o.gC,{children:[q.map(a=>(0,d.jsx)(o.eb,{value:a.value,title:a.label,children:a.label},a.value)),x&&(0,d.jsx)(o.eb,{value:I,children:"+ Save current as..."})]})]}),v&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{type:"button",onClick:()=>{if(!v)return;C(s.slice(6)),l(!1),n("");let a=q.find(a=>a.value!==H&&a.value!==s);b(a?a.url??a.value:"")},className:"p-1 text-muted-foreground hover:text-red-500 rounded transition-colors shrink-0",children:(0,d.jsx)(e.default,{name:"delete",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Delete saved key"})]})]}),w&&(0,d.jsx)(u.p,{type:"text",value:t,onChange:a=>{let c=a.target.value;l(!0),n(c),b(c)},placeholder:"sk-...",className:"h-9 text-xs"})]}):(0,d.jsx)("span",{className:`min-w-0 rounded bg-card/40 px-2 py-2 text-xs text-muted-foreground sm:py-1.5 ${h}`,children:g?"No API keys - Create one in Keys page":"sk_10router (default)"})}let K=a=>(a||"").replace(/\/+$/,"");function L(a,b={}){if(!a)return!1;let c=K(a),{tunnelPublicUrl:d,tailscaleUrl:e,cloudUrl:f}=b;return!!(/localhost|127\.0\.0\.1|0\.0\.0\.0/.test(c)||d&&c.startsWith(K(d))||e&&c.startsWith(K(e))||f&&c.startsWith(K(f)))}let M=/\[1m\]$/i,N=process.env.NEXT_PUBLIC_CLOUD_URL,O=[{label:"Default",value:""},{label:"200K",value:"198000"},{label:"300K",value:"298000"},{label:"500K",value:"498000"},{label:"700K",value:"698000"}];function P({tool:a,isExpanded:b,onToggle:c,activeProviders:g,modelMappings:h,onModelMappingChange:k,baseUrl:l,hasActiveProviders:m,apiKeys:t,cloudEnabled:u,initialStatus:v,tunnelEnabled:w,tunnelPublicUrl:x,tailscaleEnabled:y,tailscaleUrl:z}){let A,B,C,[E,F]=(0,f.useState)(v||null),[H,I]=(0,f.useState)(!1),[K,Q]=(0,f.useState)(!1),[R,S]=(0,f.useState)(!1),[T,U]=(0,f.useState)(null),[V,W]=(0,f.useState)(!1),[X,Y]=(0,f.useState)(!1),[Z,$]=(0,f.useState)(null),[_,aa]=(0,f.useState)(""),[ab,ac]=(0,f.useState)({}),[ad,ae]=(0,f.useState)(!1),[af,ag]=(0,f.useState)(""),[ah,ai]=(0,f.useState)(!1),[aj,ak]=(0,f.useState)(!1),[al,am]=(0,f.useState)(""),[an,ao]=(0,f.useState)(!1);(0,f.useRef)(!1);let ap=E?.settings?.env?.ANTHROPIC_BASE_URL||"",aq=(()=>{if(!E?.installed)return null;let a=E.settings?.env?.ANTHROPIC_BASE_URL;return a?L(a,{tunnelPublicUrl:x,tailscaleUrl:z,cloudUrl:u?N:null})?"configured":"other":"not_configured"})(),ar=async a=>{let b=!0===a;ai(b),await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ccFilterNaming:b})}).catch(()=>{})},as=()=>{let a=af||l;return a.endsWith("/v1")?a:`${a}/v1`},at=async()=>{Q(!0),U(null);try{let b={ANTHROPIC_BASE_URL:as()},c=_?.trim()||(t?.length>0?t[0].key:null)||(u?null:"sk_10router");c&&(b.ANTHROPIC_AUTH_TOKEN=c),a.defaultModels.forEach(a=>{let c=h[a.alias];c&&a.envKey&&(b[a.envKey]=c)}),al&&(b.CLAUDE_CODE_AUTO_COMPACT_WINDOW=al);let d=await fetch("/api/cli-tools/claude-settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:b,exaMcpEnabled:aj,autoCompactWindow:al})}),e=await d.json();d.ok?(D(as(),{tunnelPublicUrl:x,tailscaleUrl:z}),U({type:"success",text:"Settings applied successfully!"}),F(a=>({...a,hasBackup:!0,settings:{...a?.settings,env:b},exaMcpEnabled:aj}))):U({type:"error",text:e.error||"Failed to apply settings"})}catch(a){U({type:"error",text:a.message})}finally{Q(!1)}},au=async()=>{S(!0),U(null);try{let b=await fetch("/api/cli-tools/claude-settings",{method:"DELETE"}),c=await b.json();b.ok?(U({type:"success",text:"Settings reset successfully!"}),a.defaultModels.forEach(a=>k(a.alias,a.defaultValue||"")),aa(""),ak(!1),am(""),ao(!1)):U({type:"error",text:c.error||"Failed to reset settings"})}catch(a){U({type:"error",text:a.message})}finally{S(!1)}};return(0,d.jsx)(n.Zp,{size:"sm",className:"overflow-hidden",children:(0,d.jsxs)(n.Wu,{children:[(0,d.jsx)("div",{className:"flex items-start justify-between gap-3 hover:cursor-pointer sm:items-center",onClick:c,children:(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:(0,d.jsx)(s.default,{src:"/providers/claude.png",alt:a.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:a=>{a.target.style.display="none"},loading:"lazy",decoding:"async"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:a.name}),"configured"===aq&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-green-500/10 text-green-600 dark:text-green-400 rounded-full",children:"Connected"}),"not_configured"===aq&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 rounded-full",children:"Not configured"}),"other"===aq&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-blue-500/10 text-blue-600 dark:text-blue-400 rounded-full",children:"Other"})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:a.description})]})]})}),b&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[H&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(e.default,{name:"progress_activity",className:"animate-spin"}),(0,d.jsx)("span",{children:"Checking Claude CLI..."})]}),!H&&E&&!E.installed&&(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 p-4 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(e.default,{name:"warning",className:"text-yellow-500"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("p",{className:"font-medium text-yellow-600 dark:text-yellow-400",children:E.container?"10Router runs in a container":"Claude CLI not detected locally"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:E.container?"The CLI lives on your host, not inside the container. Copy the manual config below into your host's ~/.claude/settings.json.":"Manual configuration is still available if 10router is deployed on a remote server."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 pl-9",children:[(0,d.jsxs)(j.$,{variant:"secondary",size:"sm",onClick:()=>ae(!0),className:"!bg-yellow-500/20 !border-yellow-500/40 !text-yellow-700 dark:!text-yellow-300 hover:!bg-yellow-500/30",children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[18px] mr-1"}),"Manual Config"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:()=>W(!V),children:[(0,d.jsx)(e.default,{name:V?"expand_less":"help",className:"text-[18px] mr-1"}),V?"Hide":"How to Install"]})]})]}),V&&(0,d.jsxs)("div",{className:"p-4 bg-card border border-border rounded-lg",children:[(0,d.jsx)("h4",{className:"font-medium mb-3",children:"Installation Guide"}),(0,d.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-muted-foreground mb-1",children:"macOS / Linux / Windows:"}),(0,d.jsx)("code",{className:"block px-3 py-2 bg-black/5 dark:bg-white/5 rounded font-mono text-xs",children:"npm install -g @anthropic-ai/claude-code"})]}),(0,d.jsxs)("p",{className:"text-muted-foreground",children:["After installation, run"," ",(0,d.jsx)("code",{className:"px-1 bg-black/5 dark:bg-white/5 rounded",children:"claude"})," to verify."]})]})]})]}),!H&&E?.installed&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Select Endpoint"}),(0,d.jsx)(G,{value:af||((A=af||l).endsWith("/v1")?A:`${A}/v1`),onChange:ag,requiresExternalUrl:a.requiresExternalUrl,tunnelEnabled:w,tunnelPublicUrl:x,tailscaleEnabled:y,tailscaleUrl:z,currentUrl:ap})]}),E?.settings?.env?.ANTHROPIC_BASE_URL&&(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Current"}),(0,d.jsx)("span",{className:"min-w-0 truncate rounded bg-card/40 px-2 py-2 text-xs text-muted-foreground sm:py-1.5",children:E.settings.env.ANTHROPIC_BASE_URL})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"API Key"}),(0,d.jsx)(J,{value:_,onChange:aa,apiKeys:t,cloudEnabled:u})]}),a.defaultModels.map(a=>(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:a.name}),(0,d.jsxs)("div",{className:"relative w-full min-w-0",children:[(0,d.jsx)("input",{type:"text",value:h[a.alias]||"",onChange:b=>k(a.alias,b.target.value),placeholder:"provider/model-id",className:"w-full min-w-0 pl-2 pr-7 py-2 bg-card rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50 sm:py-1.5"}),h[a.alias]&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{onClick:()=>k(a.alias,""),className:"absolute right-1 top-1/2 -translate-y-1/2 p-0.5 text-muted-foreground hover:text-red-500 rounded transition-colors",children:(0,d.jsx)(e.default,{name:"close",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Clear"})]})]}),(0,d.jsx)("button",{onClick:()=>{$(a.alias),Y(!0)},className:"w-full sm:w-auto rounded border px-2 py-2 text-xs transition-colors sm:py-1.5 whitespace-nowrap sm:shrink-0 bg-card border-border text-foreground hover:border-primary cursor-pointer",children:"Select Model"})]},a.alias)),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Auto-compact"}),(0,d.jsxs)(o.l6,{value:al||"__default__",onValueChange:a=>am("__default__"===a?"":a),children:[(0,d.jsx)(o.bq,{className:"w-full text-xs",children:(0,d.jsx)(o.yv,{})}),(0,d.jsx)(o.gC,{children:O.map(a=>(0,d.jsx)(o.eb,{value:a.value||"__default__",children:a.label},a.label))})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"1M context"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[(0,d.jsx)(r.S,{checked:an,onCheckedChange:b=>{var c;ao(c=!0===b),a.defaultModels.forEach(a=>{let b=h[a.alias];b&&k(a.alias,((a,b)=>{let{model:c}=function(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(M);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}(a);return b?`${c}[1m]`:c})(b,c))})}}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Append [1m] to the model name"}),(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(e.default,{name:"info",className:"text-muted-foreground text-[14px] cursor-help"})})}),(0,d.jsx)(p.ZI,{side:"top",children:"Claude Code otherwise assumes a 200K window, which clamps the auto-compact window above. Applied to every mapped model — only enable it for models that really accept 1M."})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Filter naming"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[(0,d.jsx)(r.S,{checked:ah,onCheckedChange:ar}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Filter naming requests"}),(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(e.default,{name:"info",className:"text-muted-foreground text-[14px] cursor-help"})})}),(0,d.jsx)(p.ZI,{side:"top",children:"Intercepts Claude Code's topic-naming requests and returns a fake response locally, saving API tokens."})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Web Search"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[(0,d.jsx)(r.S,{checked:aj,onCheckedChange:a=>ak(!0===a)}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Exa MCP"}),(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(e.default,{name:"info",className:"text-muted-foreground text-[14px] cursor-help"})})}),(0,d.jsx)(p.ZI,{side:"top",children:"Injects Exa MCP into ~/.claude.json so non-Claude models gain web search. Restart Claude Code after Apply."})]})]})]})]}),T&&(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===T.type?"bg-green-500/10 text-green-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)(e.default,{name:"success"===T.type?"check_circle":"error",className:"text-[14px]"}),(0,d.jsx)("span",{children:T.text})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:items-center",children:[(0,d.jsxs)(j.$,{size:"sm",onClick:at,disabled:K,children:[K&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"save",className:"text-[14px] mr-1"}),"Apply"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:au,disabled:!E?.has10Router||R,children:[R&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"restore",className:"text-[14px] mr-1"}),"Reset"]}),(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>ae(!0),children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[14px] mr-1"}),"Manual Config"]})]})]})]}),X&&(0,d.jsx)(i.rq,{isOpen:X,onClose:()=>Y(!1),onSelect:a=>{Z&&k(Z,a.value)},selectedModel:Z?h[Z]:null,activeProviders:g,modelAliases:ab,title:`Select model for ${Z}`}),(0,d.jsx)(i.uR,{isOpen:ad,onClose:()=>ae(!1),title:"Claude CLI - Manual Configuration",configs:(B=_&&_.trim()?_:u?"<API_KEY_FROM_DASHBOARD>":"sk_10router",C={ANTHROPIC_BASE_URL:as(),ANTHROPIC_AUTH_TOKEN:B},a.defaultModels.forEach(a=>{let b=h[a.alias];b&&a.envKey&&(C[a.envKey]=b)}),al&&(C.CLAUDE_CODE_AUTO_COMPACT_WINDOW=al),[{filename:"~/.claude/settings.json",content:JSON.stringify({hasCompletedOnboarding:!0,env:C},null,2)}])})]})})}function Q({tool:a,isExpanded:b,onToggle:c,baseUrl:g,apiKeys:h,activeProviders:k,cloudEnabled:l,initialStatus:m,tunnelEnabled:o,tunnelPublicUrl:r,tailscaleEnabled:t,tailscaleUrl:u}){let v,w,x,[y,z]=(0,f.useState)(m||null),[A,B]=(0,f.useState)(!1),[C,E]=(0,f.useState)(!1),[F,H]=(0,f.useState)(!1),[I,K]=(0,f.useState)(null),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(""),[R,S]=(0,f.useState)([]),[T,U]=(0,f.useState)(""),[V,W]=(0,f.useState)(!1),[X,Y]=(0,f.useState)(!1),[Z,$]=(0,f.useState)({}),[_,aa]=(0,f.useState)(!1),[ab,ac]=(0,f.useState)(""),ad=(v=y?.config?.match(/base_url\s*=\s*"([^"]+)"/))?v[1]:"",ae=y?.installed?y.config?L(ad,{tunnelPublicUrl:r,tailscaleUrl:u})?"configured":"other":"not_configured":null,af=()=>{let a=ab||`${g}/v1`;return a.endsWith("/v1")?a:`${a}/v1`},ag=async()=>{B(!0);try{let a=await fetch("/api/cli-tools/codex-settings"),b=await a.json();z(b)}catch(a){z({installed:!1,error:a.message})}finally{B(!1)}},ah=async()=>{E(!0),K(null);try{let a=O&&O.trim()||l?O:"sk_10router",b=await fetch("/api/cli-tools/codex-settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:af(),apiKey:a,models:R,subagentModel:T})}),c=await b.json();b.ok?(D(af(),{tunnelPublicUrl:r,tailscaleUrl:u}),K({type:"success",text:"Applied — models appear in codex /model. Account default kept; use codex --profile 10router-<model> for 10Router routing."}),ag()):K({type:"error",text:c.error||"Failed to apply settings"})}catch(a){K({type:"error",text:a.message})}finally{E(!1)}},ai=async()=>{H(!0),K(null);try{let a=await fetch("/api/cli-tools/codex-settings",{method:"DELETE"}),b=await a.json();a.ok?(K({type:"success",text:"Settings reset successfully!"}),S([]),U(""),ag()):K({type:"error",text:b.error||"Failed to reset settings"})}catch(a){K({type:"error",text:a.message})}finally{H(!1)}};return(0,d.jsx)(n.Zp,{size:"sm",className:"overflow-hidden",children:(0,d.jsxs)(n.Wu,{children:[(0,d.jsx)("div",{className:"flex items-start justify-between gap-3 hover:cursor-pointer sm:items-center",onClick:c,children:(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:(0,d.jsx)(s.default,{src:"/providers/codex.png",alt:a.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:a=>{a.target.style.display="none"},loading:"lazy",decoding:"async"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:a.name}),"configured"===ae&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-green-500/10 text-green-600 dark:text-green-400 rounded-full",children:"Connected"}),"not_configured"===ae&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 rounded-full",children:"Not configured"}),"other"===ae&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-blue-500/10 text-blue-600 dark:text-blue-400 rounded-full",children:"Other"})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:a.description})]})]})}),b&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[A&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(e.default,{name:"progress_activity",className:"animate-spin"}),(0,d.jsx)("span",{children:"Checking Codex CLI..."})]}),!A&&y&&!y.installed&&(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 p-4 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(e.default,{name:"warning",className:"text-yellow-500"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("p",{className:"font-medium text-yellow-600 dark:text-yellow-400",children:y.container?"10Router runs in a container":"Codex CLI not detected locally"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:y.container?"The CLI lives on your host, not inside the container. Copy the manual config below into your host's ~/.codex/config.toml.":"Manual configuration is still available if 10router is deployed on a remote server."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 pl-9",children:[(0,d.jsxs)(j.$,{variant:"secondary",size:"sm",onClick:()=>aa(!0),className:"!bg-yellow-500/20 !border-yellow-500/40 !text-yellow-700 dark:!text-yellow-300 hover:!bg-yellow-500/30",children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[18px] mr-1"}),"Manual Config"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:()=>N(!M),children:[(0,d.jsx)(e.default,{name:M?"expand_less":"help",className:"text-[18px] mr-1"}),M?"Hide":"How to Install"]})]})]}),M&&(0,d.jsxs)("div",{className:"p-4 bg-card border border-border rounded-lg",children:[(0,d.jsx)("h4",{className:"font-medium mb-3",children:"Installation Guide"}),(0,d.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-muted-foreground mb-1",children:"macOS / Linux / Windows:"}),(0,d.jsx)("code",{className:"block px-3 py-2 bg-black/5 dark:bg-white/5 rounded font-mono text-xs",children:"npm install -g @openai/codex"})]}),(0,d.jsxs)("p",{className:"text-muted-foreground",children:["After installation, run"," ",(0,d.jsx)("code",{className:"px-1 bg-black/5 dark:bg-white/5 rounded",children:"codex"})," to verify."]}),(0,d.jsx)("div",{className:"pt-2 border-t border-border",children:(0,d.jsxs)("p",{className:"text-muted-foreground text-xs",children:["Codex reads custom providers from"," ",(0,d.jsx)("code",{className:"px-1 bg-black/5 dark:bg-white/5 rounded",children:"~/.codex/config.toml"}),'. Click "Apply" to auto-configure.']})})]})]})]}),!A&&y?.installed&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[y?.rootHijacked&&(0,d.jsxs)("div",{className:"flex items-start gap-2 px-2 py-1.5 rounded text-xs bg-yellow-500/10 text-yellow-600 dark:text-yellow-400",children:[(0,d.jsx)(e.default,{name:"warning",className:"text-[14px] shrink-0 mt-0.5"}),(0,d.jsx)("span",{children:"Old settings overrode your default Codex model. Apply to restore your ChatGPT account default — added models become profiles."})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Select Endpoint"}),(0,d.jsx)(G,{value:ab||ab||`${g}/v1`,onChange:ac,requiresExternalUrl:a.requiresExternalUrl,tunnelEnabled:o,tunnelPublicUrl:r,tailscaleEnabled:t,tailscaleUrl:u,currentUrl:ad})]}),y?.config&&(ad?(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Current"}),(0,d.jsx)("span",{className:"min-w-0 truncate rounded bg-card/40 px-2 py-2 text-xs text-muted-foreground sm:py-1.5",children:ad})]}):null),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"API Key"}),(0,d.jsx)(J,{value:O,onChange:P,apiKeys:h,cloudEnabled:l})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr] sm:items-start sm:gap-2",children:[(0,d.jsx)("span",{className:"pt-1 text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Models"}),(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,d.jsx)("div",{className:"flex min-h-7 flex-wrap gap-1.5 rounded border border-border bg-card px-2 py-1.5",children:0===R.length?(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"No models added"}):R.map(a=>(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded border border-transparent bg-black/5 px-2 py-0.5 text-xs text-muted-foreground hover:border-border dark:bg-white/5",children:[a,(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{onClick:()=>S(R.filter(b=>b!==a)),className:"ml-0.5 hover:text-red-500",children:(0,d.jsx)(e.default,{name:"close",className:"text-[12px]"})})}),(0,d.jsx)(p.ZI,{children:"Remove"})]})]},a))}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>W(!0),className:"cursor-pointer rounded border border-border bg-card px-2 py-1 text-xs text-foreground transition-colors hover:border-primary",children:"Add Model"}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Launch:"," ",(0,d.jsx)("code",{className:"rounded bg-black/5 px-1 dark:bg-white/5",children:"codex --profile 10router-<model>"})]})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Subagent Model"}),(0,d.jsxs)("div",{className:"relative w-full min-w-0",children:[(0,d.jsx)("input",{type:"text",value:T,onChange:a=>U(a.target.value),placeholder:R[0]||"provider/model-id (defaults to main model)",className:"w-full min-w-0 pl-2 pr-7 py-2 bg-card rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50 sm:py-1.5"}),T&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{onClick:()=>U(""),className:"absolute right-1 top-1/2 -translate-y-1/2 p-0.5 text-muted-foreground hover:text-red-500 rounded transition-colors",children:(0,d.jsx)(e.default,{name:"close",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Clear (will use main model)"})]})]}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"w-full sm:w-auto rounded border px-2 py-2 text-xs transition-colors sm:py-1.5 whitespace-nowrap sm:shrink-0 bg-card border-border text-foreground hover:border-primary cursor-pointer",children:"Select Model"})]})]}),I&&(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===I.type?"bg-green-500/10 text-green-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)(e.default,{name:"success"===I.type?"check_circle":"error",className:"text-[14px]"}),(0,d.jsx)("span",{children:I.text})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:items-center",children:[(0,d.jsxs)(j.$,{size:"sm",onClick:ah,disabled:!O&&l&&h.length>0||0===R.length||C,children:[C&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"save",className:"text-[14px] mr-1"}),"Apply"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:ai,disabled:F,children:[F&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"restore",className:"text-[14px] mr-1"}),"Reset"]}),(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>aa(!0),children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[14px] mr-1"}),"Manual Config"]})]})]})]}),V&&(0,d.jsx)(i.rq,{isOpen:V,onClose:()=>W(!1),onSelect:a=>{R.includes(a.value)||S([...R,a.value])},onDeselect:a=>{S(R.filter(b=>b!==a.value))},selectedModel:null,addedModelValues:R,closeOnSelect:!1,title:"Add Models for Codex",activeProviders:k,modelAliases:Z}),X&&(0,d.jsx)(i.rq,{isOpen:X,onClose:()=>Y(!1),onSelect:a=>{U(a.value),Y(!1)},selectedModel:T,activeProviders:k,modelAliases:Z,title:"Select Subagent Model for Codex"}),(0,d.jsx)(i.uR,{isOpen:_,onClose:()=>aa(!1),title:"Codex CLI - Manual Configuration",configs:(w=O&&O.trim()?O:l?"<API_KEY_FROM_DASHBOARD>":"sk_10router",x=[{filename:"~/.codex/config.toml",content:`# 10Router Configuration for Codex CLI
1
+ (()=>{var a={};a.id=3554,a.ids=[3554],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1437:(a,b,c)=>{"use strict";var d=c(47633);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"redirect")&&c.d(b,{redirect:function(){return d.redirect}})},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11543:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unauthorized",{enumerable:!0,get:function(){return d}}),c(41081).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},14985:a=>{"use strict";a.exports=require("dns")},16162:(a,b,c)=>{Promise.resolve().then(c.bind(c,28840))},16698:a=>{"use strict";a.exports=require("node:async_hooks")},18142:(a,b,c)=>{"use strict";c.d(b,{YW:()=>d.Page,pV:()=>d.CardGrid,wn:()=>d.Section,zY:()=>d.PageHeader}),c(73865),c(55204);var d=c(19509)},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20482:(a,b,c)=>{"use strict";c.d(b,{CK:()=>i.default,G9:()=>l.default,Iz:()=>r.default,KX:()=>s.PanelSkeleton,LF:()=>f.default,LH:()=>m.default,Mu:()=>s.StatCardSkeleton,Nf:()=>j.default,Qv:()=>e.CardSkeleton,YW:()=>u.YW,gw:()=>q.default,jK:()=>k.default,nh:()=>t.default,pV:()=>u.pV,rq:()=>g.default,uR:()=>h.default,uo:()=>d.ConfirmModal,vE:()=>n.default,vj:()=>o.default,wI:()=>p.default,wn:()=>u.wn,zY:()=>u.zY}),c(28907);var d=c(87121),e=c(53546);c(62648),c(77562),c(79517),c(66453);var f=c(71e3),g=c(16582),h=c(94725),i=c(98279),j=c(22354),k=c(23165);c(49451),c(82466),c(70047),c(32328),c(92249);var l=c(85405),m=c(91236),n=c(89630),o=c(87556),p=c(46009);c(54928);var q=c(5409),r=c(12710);c(92393),c(51);var s=c(11442),t=c(9656),u=c(18142)},21704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return d}});class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class d extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},28840:(a,b,c)=>{"use strict";c.d(b,{default:()=>aa});var d=c(86240),e=c(28907),f=c(70433),g=c(4459),h=c.n(g),i=c(20482),j=c(63265),k=c(92968),l=c(54204),m=c(95137),n=c(4271),o=c(83777),p=c(31952),q=c(36447),r=c(63998),s=c(62871),t=c(99902),u=c(81501);function v({storageKey:a,changeEvent:b,itemField:c,normalize:d=a=>a,defaultName:e=a=>a}){let f=()=>[],g=a=>{};return{read:f,subscribe:a=>()=>{},upsert:(a,b)=>{let h=d(a);if(!h)return null;let i=f(),j=i.find(a=>d(a[c])===h);if(j&&!b)return j.name;let k=(b||e(h)).trim();return k?(g([...i.filter(a=>a.name!==k&&d(a[c])!==h),{name:k,[c]:h}].sort((a,b)=>a.name.localeCompare(b.name))),k):null},remove:a=>g(f().filter(b=>b.name!==a))}}let w=a=>(a||"").replace(/\/+$/,""),x=v({storageKey:"10router.cliToolEndpointPresets",changeEvent:"10router:endpoint-presets-changed",itemField:"baseUrl",normalize:w,defaultName:a=>{try{return new URL(a).host}catch{return a}}}),y=v({storageKey:"10router.cliToolApiKeyPresets",changeEvent:"10router:api-key-presets-changed",itemField:"key"});x.read,x.subscribe;let z=x.upsert,A=x.remove;y.read,y.subscribe;let B=y.upsert,C=y.remove;function D(a,{tunnelPublicUrl:b,tailscaleUrl:c,cloudUrl:d}={}){let e=w(a);return!e||[`http://127.0.0.1:${t._$}`,b,c,d].filter(Boolean).flatMap(a=>[w(a),`${w(a)}/v1`]).includes(e)?null:z(e)}let E="__custom__",F="__save__";function G({value:a,onChange:b,requiresExternalUrl:c=!1,tunnelEnabled:g=!1,tunnelPublicUrl:h="",tailscaleEnabled:i=!1,tailscaleUrl:j="",cloudEnabled:k=!1,cloudUrl:l="",withV1:m=!0,currentUrl:n=""}){let[q,r]=(0,f.useState)([]),[s,v]=(0,f.useState)(!1),[w,x]=(0,f.useState)(""),[y,B]=(0,f.useState)("");(0,f.useRef)(!1);let C=(0,f.useRef)(""),D=(0,f.useMemo)(()=>(({requiresExternalUrl:a,tunnelEnabled:b,tunnelPublicUrl:c,tailscaleEnabled:d,tailscaleUrl:e,cloudEnabled:f,cloudUrl:g,savedPresets:h,withV1:i})=>{let j=[],k=a=>{let b;return i?(b=(a||"").replace(/\/+$/,""))?/\/v1$/.test(b)?b:`${b}/v1`:"":(a||"").replace(/\/+$/,"")};if(!a){let a=k(`http://127.0.0.1:${t._$}`);j.push({value:"local",label:a,url:a})}if(b&&c){let a=k(c);j.push({value:"tunnel",label:a,url:a})}if(d&&e){let a=k(e);j.push({value:"tailscale",label:a,url:a})}if(f&&g){let a=k(g);j.push({value:"cloud",label:a,url:a})}return h.forEach(a=>{j.push({value:`saved:${a.name}`,label:a.baseUrl,url:a.baseUrl,saved:!0})}),j.push({value:E,label:"Custom URL...",url:""}),j})({requiresExternalUrl:c,tunnelEnabled:g,tunnelPublicUrl:h,tailscaleEnabled:i,tailscaleUrl:j,cloudEnabled:k,cloudUrl:l,savedPresets:q,withV1:m}),[c,g,h,i,j,k,l,q,m]),H=w.startsWith("saved:"),I=w===E,J=I&&(y||"").trim().length>0;return(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(o.l6,{value:w,onValueChange:c=>{if(c===F){let b=(a||"").trim();if(!b)return;let c=b;try{c=new URL(b).host}catch{}let d=window.prompt("Save endpoint as:",c),e=d?.trim()?z(b,d.trim()):null;e&&x(`saved:${e}`);return}if(x(c),c===E){B(""),b("");return}let d=D.find(a=>a.value===c);d&&b(d.url)},children:[(0,d.jsx)(o.bq,{className:"flex-1 min-w-0 text-xs",children:(0,d.jsx)(o.yv,{placeholder:"Select endpoint"})}),(0,d.jsxs)(o.gC,{children:[D.map(a=>(0,d.jsx)(o.eb,{value:a.value,title:a.label,children:a.label},a.value)),J&&(0,d.jsx)(o.eb,{value:F,children:"+ Save current as..."})]})]}),H&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{type:"button",onClick:()=>{if(!w.startsWith("saved:"))return;A(w.slice(6)),B("");let a=D.find(a=>a.value!==E&&a.value!==w);a?(x(a.value),b(a.url)):(x(E),b(""))},className:"p-1 text-muted-foreground hover:text-red-500 rounded transition-colors shrink-0",children:(0,d.jsx)(e.default,{name:"delete",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Delete saved endpoint"})]})]}),I&&(0,d.jsx)(u.p,{type:"text",value:y,onChange:a=>{let c=a.target.value;C.current=c,B(c),b(c)},placeholder:m?"https://example.com/v1":"https://example.com",className:"h-9 text-xs"})]})}let H="__custom__",I="__save_key__";function J({value:a,onChange:b,apiKeys:c=[],cloudEnabled:g=!1,className:h=""}){let[i,j]=(0,f.useState)([]),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(""),q=(0,f.useMemo)(()=>[...c.map(a=>({value:a.key,label:a.key})),...i.map(a=>({value:`saved:${a.name}`,label:a.key,url:a.key,saved:!0})),{value:H,label:"Custom...",url:""}],[c,i]),r=a?q.find(b=>b.value===a||b.url===a):null,s=r?r.value:k||a?H:q[0]?.value??H,t=k?m:a||"",v="string"==typeof s&&s.startsWith("saved:"),w=s===H,x=w&&(a||"").trim().length>0&&!c.some(b=>b.key===a);return 0!==c.length||0!==i.length||k||a?(0,d.jsxs)("div",{className:`flex flex-col gap-1.5 ${h}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(o.l6,{value:s,onValueChange:c=>{if(c===I)return void B((a||"").trim());if(c===H){l(!0),n(""),b("");return}l(!1),n("");let d=q.find(a=>a.value===c);d&&b(d.url??d.value)},children:[(0,d.jsx)(o.bq,{className:"flex-1 min-w-0 text-xs",children:(0,d.jsx)(o.yv,{placeholder:"Select key"})}),(0,d.jsxs)(o.gC,{children:[q.map(a=>(0,d.jsx)(o.eb,{value:a.value,title:a.label,children:a.label},a.value)),x&&(0,d.jsx)(o.eb,{value:I,children:"+ Save current as..."})]})]}),v&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{type:"button",onClick:()=>{if(!v)return;C(s.slice(6)),l(!1),n("");let a=q.find(a=>a.value!==H&&a.value!==s);b(a?a.url??a.value:"")},className:"p-1 text-muted-foreground hover:text-red-500 rounded transition-colors shrink-0",children:(0,d.jsx)(e.default,{name:"delete",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Delete saved key"})]})]}),w&&(0,d.jsx)(u.p,{type:"text",value:t,onChange:a=>{let c=a.target.value;l(!0),n(c),b(c)},placeholder:"sk-...",className:"h-9 text-xs"})]}):(0,d.jsx)("span",{className:`min-w-0 rounded bg-card/40 px-2 py-2 text-xs text-muted-foreground sm:py-1.5 ${h}`,children:g?"No API keys - Create one in Keys page":"sk_10router (default)"})}let K=a=>(a||"").replace(/\/+$/,"");function L(a,b={}){if(!a)return!1;let c=K(a),{tunnelPublicUrl:d,tailscaleUrl:e,cloudUrl:f}=b;return!!(/localhost|127\.0\.0\.1|0\.0\.0\.0/.test(c)||d&&c.startsWith(K(d))||e&&c.startsWith(K(e))||f&&c.startsWith(K(f)))}let M=/\[1m\]$/i,N=process.env.NEXT_PUBLIC_CLOUD_URL,O=[{label:"Default",value:""},{label:"200K",value:"198000"},{label:"300K",value:"298000"},{label:"500K",value:"498000"},{label:"700K",value:"698000"}];function P({tool:a,isExpanded:b,onToggle:c,activeProviders:g,modelMappings:h,onModelMappingChange:k,baseUrl:l,hasActiveProviders:m,apiKeys:t,cloudEnabled:u,initialStatus:v,tunnelEnabled:w,tunnelPublicUrl:x,tailscaleEnabled:y,tailscaleUrl:z}){let A,B,C,[E,F]=(0,f.useState)(v||null),[H,I]=(0,f.useState)(!1),[K,Q]=(0,f.useState)(!1),[R,S]=(0,f.useState)(!1),[T,U]=(0,f.useState)(null),[V,W]=(0,f.useState)(!1),[X,Y]=(0,f.useState)(!1),[Z,$]=(0,f.useState)(null),[_,aa]=(0,f.useState)(""),[ab,ac]=(0,f.useState)({}),[ad,ae]=(0,f.useState)(!1),[af,ag]=(0,f.useState)(""),[ah,ai]=(0,f.useState)(!1),[aj,ak]=(0,f.useState)(!1),[al,am]=(0,f.useState)(""),[an,ao]=(0,f.useState)(!1);(0,f.useRef)(!1);let ap=E?.settings?.env?.ANTHROPIC_BASE_URL||"",aq=(()=>{if(!E?.installed)return null;let a=E.settings?.env?.ANTHROPIC_BASE_URL;return a?L(a,{tunnelPublicUrl:x,tailscaleUrl:z,cloudUrl:u?N:null})?"configured":"other":"not_configured"})(),ar=async a=>{let b=!0===a;ai(b),await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ccFilterNaming:b})}).catch(()=>{})},as=()=>{let a=af||l;return a.endsWith("/v1")?a:`${a}/v1`},at=async()=>{Q(!0),U(null);try{let b={ANTHROPIC_BASE_URL:as()},c=_?.trim()||(t?.length>0?t[0].key:null)||(u?null:"sk_10router");c&&(b.ANTHROPIC_AUTH_TOKEN=c),a.defaultModels.forEach(a=>{let c=h[a.alias];c&&a.envKey&&(b[a.envKey]=c)}),al&&(b.CLAUDE_CODE_AUTO_COMPACT_WINDOW=al);let d=await fetch("/api/cli-tools/claude-settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:b,exaMcpEnabled:aj,autoCompactWindow:al})}),e=await d.json();d.ok?(D(as(),{tunnelPublicUrl:x,tailscaleUrl:z}),U({type:"success",text:"Settings applied successfully!"}),F(a=>({...a,hasBackup:!0,settings:{...a?.settings,env:b},exaMcpEnabled:aj}))):U({type:"error",text:e.error||"Failed to apply settings"})}catch(a){U({type:"error",text:a.message})}finally{Q(!1)}},au=async()=>{S(!0),U(null);try{let b=await fetch("/api/cli-tools/claude-settings",{method:"DELETE"}),c=await b.json();b.ok?(U({type:"success",text:"Settings reset successfully!"}),a.defaultModels.forEach(a=>k(a.alias,a.defaultValue||"")),aa(""),ak(!1),am(""),ao(!1)):U({type:"error",text:c.error||"Failed to reset settings"})}catch(a){U({type:"error",text:a.message})}finally{S(!1)}};return(0,d.jsx)(n.Zp,{size:"sm",className:"overflow-hidden",children:(0,d.jsxs)(n.Wu,{children:[(0,d.jsx)("div",{className:"flex items-start justify-between gap-3 hover:cursor-pointer sm:items-center",onClick:c,children:(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:(0,d.jsx)(s.default,{src:"/providers/claude.png",alt:a.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:a=>{a.target.style.display="none"},loading:"lazy",decoding:"async"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:a.name}),"configured"===aq&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-green-500/10 text-green-600 dark:text-green-400 rounded-full",children:"Connected"}),"not_configured"===aq&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 rounded-full",children:"Not configured"}),"other"===aq&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-blue-500/10 text-blue-600 dark:text-blue-400 rounded-full",children:"Other"})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:a.description})]})]})}),b&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[H&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(e.default,{name:"progress_activity",className:"animate-spin"}),(0,d.jsx)("span",{children:"Checking Claude CLI..."})]}),!H&&E&&!E.installed&&(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 p-4 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(e.default,{name:"warning",className:"text-yellow-500"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("p",{className:"font-medium text-yellow-600 dark:text-yellow-400",children:E.container?"10Router runs in a container":"Claude CLI not detected locally"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:E.container?"The CLI lives on your host, not inside the container. Copy the manual config below into your host's ~/.claude/settings.json.":"Manual configuration is still available if 10router is deployed on a remote server."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 pl-9",children:[(0,d.jsxs)(j.$,{variant:"secondary",size:"sm",onClick:()=>ae(!0),className:"!bg-yellow-500/20 !border-yellow-500/40 !text-yellow-700 dark:!text-yellow-300 hover:!bg-yellow-500/30",children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[18px] mr-1"}),"Manual Config"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:()=>W(!V),children:[(0,d.jsx)(e.default,{name:V?"expand_less":"help",className:"text-[18px] mr-1"}),V?"Hide":"How to Install"]})]})]}),V&&(0,d.jsxs)("div",{className:"p-4 bg-card border border-border rounded-lg",children:[(0,d.jsx)("h4",{className:"font-medium mb-3",children:"Installation Guide"}),(0,d.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-muted-foreground mb-1",children:"macOS / Linux / Windows:"}),(0,d.jsx)("code",{className:"block px-3 py-2 bg-black/5 dark:bg-white/5 rounded font-mono text-xs",children:"npm install -g @anthropic-ai/claude-code"})]}),(0,d.jsxs)("p",{className:"text-muted-foreground",children:["After installation, run"," ",(0,d.jsx)("code",{className:"px-1 bg-black/5 dark:bg-white/5 rounded",children:"claude"})," to verify."]})]})]})]}),!H&&E?.installed&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Select Endpoint"}),(0,d.jsx)(G,{value:af||((A=af||l).endsWith("/v1")?A:`${A}/v1`),onChange:ag,requiresExternalUrl:a.requiresExternalUrl,tunnelEnabled:w,tunnelPublicUrl:x,tailscaleEnabled:y,tailscaleUrl:z,currentUrl:ap})]}),E?.settings?.env?.ANTHROPIC_BASE_URL&&(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Current"}),(0,d.jsx)("span",{className:"min-w-0 truncate rounded bg-card/40 px-2 py-2 text-xs text-muted-foreground sm:py-1.5",children:E.settings.env.ANTHROPIC_BASE_URL})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"API Key"}),(0,d.jsx)(J,{value:_,onChange:aa,apiKeys:t,cloudEnabled:u})]}),a.defaultModels.map(a=>(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:a.name}),(0,d.jsxs)("div",{className:"relative w-full min-w-0",children:[(0,d.jsx)("input",{type:"text",value:h[a.alias]||"",onChange:b=>k(a.alias,b.target.value),placeholder:"provider/model-id",className:"w-full min-w-0 pl-2 pr-7 py-2 bg-card rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50 sm:py-1.5"}),h[a.alias]&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{onClick:()=>k(a.alias,""),className:"absolute right-1 top-1/2 -translate-y-1/2 p-0.5 text-muted-foreground hover:text-red-500 rounded transition-colors",children:(0,d.jsx)(e.default,{name:"close",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Clear"})]})]}),(0,d.jsx)("button",{onClick:()=>{$(a.alias),Y(!0)},className:"w-full sm:w-auto rounded border px-2 py-2 text-xs transition-colors sm:py-1.5 whitespace-nowrap sm:shrink-0 bg-card border-border text-foreground hover:border-primary cursor-pointer",children:"Select Model"})]},a.alias)),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Auto-compact"}),(0,d.jsxs)(o.l6,{value:al||"__default__",onValueChange:a=>am("__default__"===a?"":a),children:[(0,d.jsx)(o.bq,{className:"w-full text-xs",children:(0,d.jsx)(o.yv,{})}),(0,d.jsx)(o.gC,{children:O.map(a=>(0,d.jsx)(o.eb,{value:a.value||"__default__",children:a.label},a.label))})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"1M context"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[(0,d.jsx)(r.S,{checked:an,onCheckedChange:b=>{var c;ao(c=!0===b),a.defaultModels.forEach(a=>{let b=h[a.alias];b&&k(a.alias,((a,b)=>{let{model:c}=function(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(M);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}(a);return b?`${c}[1m]`:c})(b,c))})}}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Append [1m] to the model name"}),(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(e.default,{name:"info",className:"text-muted-foreground text-[14px] cursor-help"})})}),(0,d.jsx)(p.ZI,{side:"top",children:"Claude Code otherwise assumes a 200K window, which clamps the auto-compact window above. Applied to every mapped model — only enable it for models that really accept 1M."})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Filter naming"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[(0,d.jsx)(r.S,{checked:ah,onCheckedChange:ar}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Filter naming requests"}),(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(e.default,{name:"info",className:"text-muted-foreground text-[14px] cursor-help"})})}),(0,d.jsx)(p.ZI,{side:"top",children:"Intercepts Claude Code's topic-naming requests and returns a fake response locally, saving API tokens."})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Web Search"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[(0,d.jsx)(r.S,{checked:aj,onCheckedChange:a=>ak(!0===a)}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Exa MCP"}),(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(e.default,{name:"info",className:"text-muted-foreground text-[14px] cursor-help"})})}),(0,d.jsx)(p.ZI,{side:"top",children:"Injects Exa MCP into ~/.claude.json so non-Claude models gain web search. Restart Claude Code after Apply."})]})]})]})]}),T&&(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===T.type?"bg-green-500/10 text-green-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)(e.default,{name:"success"===T.type?"check_circle":"error",className:"text-[14px]"}),(0,d.jsx)("span",{children:T.text})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:items-center",children:[(0,d.jsxs)(j.$,{size:"sm",onClick:at,disabled:K,children:[K&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"save",className:"text-[14px] mr-1"}),"Apply"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:au,disabled:!E?.has10Router||R,children:[R&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"restore",className:"text-[14px] mr-1"}),"Reset"]}),(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>ae(!0),children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[14px] mr-1"}),"Manual Config"]})]})]})]}),X&&(0,d.jsx)(i.rq,{isOpen:X,onClose:()=>Y(!1),onSelect:a=>{Z&&k(Z,a.value)},selectedModel:Z?h[Z]:null,activeProviders:g,modelAliases:ab,title:`Select model for ${Z}`}),(0,d.jsx)(i.uR,{isOpen:ad,onClose:()=>ae(!1),title:"Claude CLI - Manual Configuration",configs:(B=_&&_.trim()?_:u?"<API_KEY_FROM_DASHBOARD>":"sk_10router",C={ANTHROPIC_BASE_URL:as(),ANTHROPIC_AUTH_TOKEN:B},a.defaultModels.forEach(a=>{let b=h[a.alias];b&&a.envKey&&(C[a.envKey]=b)}),al&&(C.CLAUDE_CODE_AUTO_COMPACT_WINDOW=al),[{filename:"~/.claude/settings.json",content:JSON.stringify({hasCompletedOnboarding:!0,env:C},null,2)}])})]})})}function Q({tool:a,isExpanded:b,onToggle:c,baseUrl:g,apiKeys:h,activeProviders:k,cloudEnabled:l,initialStatus:m,tunnelEnabled:o,tunnelPublicUrl:r,tailscaleEnabled:t,tailscaleUrl:u}){let v,w,x,[y,z]=(0,f.useState)(m||null),[A,B]=(0,f.useState)(!1),[C,E]=(0,f.useState)(!1),[F,H]=(0,f.useState)(!1),[I,K]=(0,f.useState)(null),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(""),[R,S]=(0,f.useState)([]),[T,U]=(0,f.useState)(""),[V,W]=(0,f.useState)(!1),[X,Y]=(0,f.useState)(!1),[Z,$]=(0,f.useState)({}),[_,aa]=(0,f.useState)(!1),[ab,ac]=(0,f.useState)(""),ad=(v=y?.config?.match(/base_url\s*=\s*"([^"]+)"/))?v[1]:"",ae=y?.installed?y.config?L(ad,{tunnelPublicUrl:r,tailscaleUrl:u})?"configured":"other":"not_configured":null,af=()=>{let a=ab||`${g}/v1`;return a.endsWith("/v1")?a:`${a}/v1`},ag=async()=>{B(!0);try{let a=await fetch("/api/cli-tools/codex-settings"),b=await a.json();z(b)}catch(a){z({installed:!1,error:a.message})}finally{B(!1)}},ah=async()=>{E(!0),K(null);try{let a=O&&O.trim()||l?O:"sk_10router",b=await fetch("/api/cli-tools/codex-settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:af(),apiKey:a,models:R,subagentModel:T})}),c=await b.json();b.ok?(D(af(),{tunnelPublicUrl:r,tailscaleUrl:u}),K({type:"success",text:"Applied — models appear in codex /model. Account default kept; use codex --profile 10router-<model> for 10Router routing."}),ag()):K({type:"error",text:c.error||"Failed to apply settings"})}catch(a){K({type:"error",text:a.message})}finally{E(!1)}},ai=async()=>{H(!0),K(null);try{let a=await fetch("/api/cli-tools/codex-settings",{method:"DELETE"}),b=await a.json();a.ok?(K({type:"success",text:"Settings reset successfully!"}),S([]),U(""),ag()):K({type:"error",text:b.error||"Failed to reset settings"})}catch(a){K({type:"error",text:a.message})}finally{H(!1)}};return(0,d.jsx)(n.Zp,{size:"sm",className:"overflow-hidden",children:(0,d.jsxs)(n.Wu,{children:[(0,d.jsx)("div",{className:"flex items-start justify-between gap-3 hover:cursor-pointer sm:items-center",onClick:c,children:(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:(0,d.jsx)(s.default,{src:"/providers/codex.png",alt:a.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:a=>{a.target.style.display="none"},loading:"lazy",decoding:"async"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:a.name}),"configured"===ae&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-green-500/10 text-green-600 dark:text-green-400 rounded-full",children:"Connected"}),"not_configured"===ae&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 rounded-full",children:"Not configured"}),"other"===ae&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-blue-500/10 text-blue-600 dark:text-blue-400 rounded-full",children:"Other"})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:a.description})]})]})}),b&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[A&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(e.default,{name:"progress_activity",className:"animate-spin"}),(0,d.jsx)("span",{children:"Checking Codex CLI..."})]}),!A&&y&&!y.installed&&(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 p-4 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(e.default,{name:"warning",className:"text-yellow-500"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("p",{className:"font-medium text-yellow-600 dark:text-yellow-400",children:y.container?"10Router runs in a container":"Codex CLI not detected locally"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:y.container?"The CLI lives on your host, not inside the container. Copy the manual config below into your host's ~/.codex/config.toml.":"Manual configuration is still available if 10router is deployed on a remote server."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 pl-9",children:[(0,d.jsxs)(j.$,{variant:"secondary",size:"sm",onClick:()=>aa(!0),className:"!bg-yellow-500/20 !border-yellow-500/40 !text-yellow-700 dark:!text-yellow-300 hover:!bg-yellow-500/30",children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[18px] mr-1"}),"Manual Config"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:()=>N(!M),children:[(0,d.jsx)(e.default,{name:M?"expand_less":"help",className:"text-[18px] mr-1"}),M?"Hide":"How to Install"]})]})]}),M&&(0,d.jsxs)("div",{className:"p-4 bg-card border border-border rounded-lg",children:[(0,d.jsx)("h4",{className:"font-medium mb-3",children:"Installation Guide"}),(0,d.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-muted-foreground mb-1",children:"macOS / Linux / Windows:"}),(0,d.jsx)("code",{className:"block px-3 py-2 bg-black/5 dark:bg-white/5 rounded font-mono text-xs",children:"npm install -g @openai/codex"})]}),(0,d.jsxs)("p",{className:"text-muted-foreground",children:["After installation, run"," ",(0,d.jsx)("code",{className:"px-1 bg-black/5 dark:bg-white/5 rounded",children:"codex"})," to verify."]}),(0,d.jsx)("div",{className:"pt-2 border-t border-border",children:(0,d.jsxs)("p",{className:"text-muted-foreground text-xs",children:["Codex reads custom providers from"," ",(0,d.jsx)("code",{className:"px-1 bg-black/5 dark:bg-white/5 rounded",children:"~/.codex/config.toml"}),'. Click "Apply" to auto-configure.']})})]})]})]}),!A&&y?.installed&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[y?.rootHijacked&&(0,d.jsxs)("div",{className:"flex items-start gap-2 px-2 py-1.5 rounded text-xs bg-yellow-500/10 text-yellow-600 dark:text-yellow-400",children:[(0,d.jsx)(e.default,{name:"warning",className:"text-[14px] shrink-0 mt-0.5"}),(0,d.jsx)("span",{children:"Old settings overrode your default Codex model. Apply to restore your ChatGPT account default — added models become profiles."})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Select Endpoint"}),(0,d.jsx)(G,{value:ab||ab||`${g}/v1`,onChange:ac,requiresExternalUrl:a.requiresExternalUrl,tunnelEnabled:o,tunnelPublicUrl:r,tailscaleEnabled:t,tailscaleUrl:u,currentUrl:ad})]}),y?.config&&(ad?(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Current"}),(0,d.jsx)("span",{className:"min-w-0 truncate rounded bg-card/40 px-2 py-2 text-xs text-muted-foreground sm:py-1.5",children:ad})]}):null),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"API Key"}),(0,d.jsx)(J,{value:O,onChange:P,apiKeys:h,cloudEnabled:l})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr] sm:items-start sm:gap-2",children:[(0,d.jsx)("span",{className:"pt-1 text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Models"}),(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,d.jsx)("div",{className:"flex min-h-7 flex-wrap gap-1.5 rounded border border-border bg-card px-2 py-1.5",children:0===R.length?(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"No models added"}):R.map(a=>(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded border border-transparent bg-black/5 px-2 py-0.5 text-xs text-muted-foreground hover:border-border dark:bg-white/5",children:[a,(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{onClick:()=>S(R.filter(b=>b!==a)),className:"ml-0.5 hover:text-red-500",children:(0,d.jsx)(e.default,{name:"close",className:"text-[12px]"})})}),(0,d.jsx)(p.ZI,{children:"Remove"})]})]},a))}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>W(!0),className:"cursor-pointer rounded border border-border bg-card px-2 py-1 text-xs text-foreground transition-colors hover:border-primary",children:"Add Model"}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Launch:"," ",(0,d.jsx)("code",{className:"rounded bg-black/5 px-1 dark:bg-white/5",children:"codex --profile 10router-<model>"})]})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_1fr_auto] sm:items-center sm:gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-foreground sm:text-right sm:text-sm",children:"Subagent Model"}),(0,d.jsxs)("div",{className:"relative w-full min-w-0",children:[(0,d.jsx)("input",{type:"text",value:T,onChange:a=>U(a.target.value),placeholder:R[0]||"provider/model-id (defaults to main model)",className:"w-full min-w-0 pl-2 pr-7 py-2 bg-card rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50 sm:py-1.5"}),T&&(0,d.jsxs)(p.m_,{children:[(0,d.jsx)(p.k$,{asChild:!0,children:(0,d.jsx)("button",{onClick:()=>U(""),className:"absolute right-1 top-1/2 -translate-y-1/2 p-0.5 text-muted-foreground hover:text-red-500 rounded transition-colors",children:(0,d.jsx)(e.default,{name:"close",className:"text-[14px]"})})}),(0,d.jsx)(p.ZI,{children:"Clear (will use main model)"})]})]}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"w-full sm:w-auto rounded border px-2 py-2 text-xs transition-colors sm:py-1.5 whitespace-nowrap sm:shrink-0 bg-card border-border text-foreground hover:border-primary cursor-pointer",children:"Select Model"})]})]}),I&&(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===I.type?"bg-green-500/10 text-green-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)(e.default,{name:"success"===I.type?"check_circle":"error",className:"text-[14px]"}),(0,d.jsx)("span",{children:I.text})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:items-center",children:[(0,d.jsxs)(j.$,{size:"sm",onClick:ah,disabled:!O&&l&&h.length>0||0===R.length||C,children:[C&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"save",className:"text-[14px] mr-1"}),"Apply"]}),(0,d.jsxs)(j.$,{variant:"outline",size:"sm",onClick:ai,disabled:F,children:[F&&(0,d.jsx)(q.A,{className:"size-4 animate-spin"}),(0,d.jsx)(e.default,{name:"restore",className:"text-[14px] mr-1"}),"Reset"]}),(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>aa(!0),children:[(0,d.jsx)(e.default,{name:"content_copy",className:"text-[14px] mr-1"}),"Manual Config"]})]})]})]}),V&&(0,d.jsx)(i.rq,{isOpen:V,onClose:()=>W(!1),onSelect:a=>{R.includes(a.value)||S([...R,a.value])},onDeselect:a=>{S(R.filter(b=>b!==a.value))},selectedModel:null,addedModelValues:R,closeOnSelect:!1,title:"Add Models for Codex",activeProviders:k,modelAliases:Z}),X&&(0,d.jsx)(i.rq,{isOpen:X,onClose:()=>Y(!1),onSelect:a=>{U(a.value),Y(!1)},selectedModel:T,activeProviders:k,modelAliases:Z,title:"Select Subagent Model for Codex"}),(0,d.jsx)(i.uR,{isOpen:_,onClose:()=>aa(!1),title:"Codex CLI - Manual Configuration",configs:(w=O&&O.trim()?O:l?"<API_KEY_FROM_DASHBOARD>":"sk_10router",x=[{filename:"~/.codex/config.toml",content:`# 10Router Configuration for Codex CLI
2
2
  # Default model/provider stay on your ChatGPT account — only the provider
3
3
  # definition below is added. Selected models are merged into
4
4
  # model_catalog_json (~/.codex/10router-model-catalog.json) so they show in
@@ -37,4 +37,4 @@ ${x}
37
37
  config:
38
38
  provider: 10router
39
39
  model: ${S||Q[0]||"provider/model-id"}
40
- `},{filename:"~/.dsh/.credentials.yaml (add ref)",content:`refs: { TEN_ROUTER_API_KEY: ${w} }`}])})]})})}c(77736);let _=process.env.NEXT_PUBLIC_CLOUD_URL;function aa({toolId:a,machineId:b}){let c=l.d[a],[g,n]=(0,f.useState)([]),[o,p]=(0,f.useState)(!0),[q,r]=(0,f.useState)({}),[s,t]=(0,f.useState)(!1),[u,v]=(0,f.useState)(!1),[w,x]=(0,f.useState)(""),[y,z]=(0,f.useState)(!1),[A,B]=(0,f.useState)(""),[C,D]=(0,f.useState)([]),E=()=>g.filter(a=>!1!==a.isActive),F=(0,f.useCallback)((a,b,c)=>{r(d=>d[a]?.[b]===c?d:{...d,[a]:{...d[a],[b]:c}})},[]);return c?(0,d.jsxs)(i.YW,{children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(j.$,{variant:"outline",size:"sm",asChild:!0,className:"mb-4 self-start",children:(0,d.jsxs)(h(),{href:"/dashboard/cli-tools",children:[(0,d.jsx)(e.default,{name:"arrow_back",className:"text-lg"}),"CLI Tools"]})}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4",children:[(0,d.jsx)("div",{className:"size-12 rounded-lg flex items-center justify-center shrink-0",style:{backgroundColor:`${c.color}15`},children:(0,d.jsx)(k.A,{src:c.image,alt:c.name,size:48,className:"object-contain rounded-lg max-w-[48px] max-h-[48px]",fallbackText:c.name.slice(0,2).toUpperCase(),fallbackColor:c.color})}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight sm:text-3xl",children:c.name}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:c.description})]})]})]}),o?(0,d.jsx)(i.KX,{}):(()=>{let b,e,f,g=(b=E(),e=[],f=new Set,b.forEach(a=>{let b=m.Xg[a.provider]||a.provider,c=(0,m.KC)(a.provider);if(c.forEach(c=>{let d=`${b}/${c.id}`;f.has(d)||(f.add(d),e.push({value:d,label:`${b}/${c.id}`,provider:a.provider,alias:b,connectionName:a.name,modelId:c.id}))}),0===c.length){let c=a.providerSpecificData?.prefix||b,d=[];a.defaultModel&&d.push({id:a.defaultModel,name:a.defaultModel}),(a.providerSpecificData?.customModels||[]).forEach(a=>{a?.id&&!d.some(b=>b.id===a.id)&&d.push({id:a.id,name:a.name||a.id})}),0===d.length&&"active"===a.testStatus&&d.push({id:"model-id",name:`${c}/model-id`}),d.forEach(b=>{let d=`${c}/${b.id}`;f.has(d)||(f.add(d),e.push({value:d,label:`${c}/${b.id}`,provider:a.provider,alias:c,connectionName:a.name,modelId:b.id}))})}}),e).length>0,h={tool:c,isExpanded:!0,onToggle:()=>{},baseUrl:u&&w?w:s&&_?_:"http://localhost:20128",apiKeys:C,tunnelEnabled:u,tunnelPublicUrl:w,tailscaleEnabled:y,tailscaleUrl:A};switch(a){case"claude":return(0,d.jsx)(P,{...h,activeProviders:E(),modelMappings:q[a]||{},onModelMappingChange:(b,c)=>F(a,b,c),hasActiveProviders:g,cloudEnabled:s});case"codex":return(0,d.jsx)(Q,{...h,activeProviders:E(),cloudEnabled:s});case"opencode":return(0,d.jsx)(U,{...h,activeProviders:E(),cloudEnabled:s});case"cowork":return(0,d.jsx)(X,{...h,activeProviders:E(),hasActiveProviders:g,cloudEnabled:s,cloudUrl:_,tunnelEnabled:u,tunnelPublicUrl:w,tailscaleEnabled:y,tailscaleUrl:A});case"dsh":return(0,d.jsx)($,{...h,activeProviders:E(),cloudEnabled:s});default:return(0,d.jsx)(T,{toolId:a,...h,activeProviders:E(),cloudEnabled:s,tunnelEnabled:u})}})()]}):(0,d.jsxs)(i.YW,{children:[(0,d.jsx)(j.$,{variant:"outline",size:"sm",asChild:!0,className:"self-start",children:(0,d.jsxs)(h(),{href:"/dashboard/cli-tools",children:[(0,d.jsx)(e.default,{name:"arrow_back",className:"text-lg"}),"CLI Tools"]})}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Tool not found or disabled."})]})}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},43848:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(25966),e=c(1437);let f={claude:{id:"claude",name:"Claude Code",image:"/providers/claude.png",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",fableModel:"ANTHROPIC_DEFAULT_FABLE_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","fable","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"fable",name:"Claude Fable",alias:"fable",envKey:"ANTHROPIC_DEFAULT_FABLE_MODEL",defaultValue:"cc/claude-fable-5"},{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-5"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-5"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},codex:{id:"codex",name:"OpenAI Codex CLI / App",image:"/providers/codex.png",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.png",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},cowork:{id:"cowork",name:"Claude Cowork",image:"/providers/claude.png",color:"#D97757",description:"Claude Desktop Cowork (third-party inference)",configType:"custom"},dsh:{id:"dsh",name:"DSH - DeepSeek Harness",image:"/providers/deepseek.png",color:"#4D6BFE",description:"DeepSeek Harness (dsh web) provider",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.png",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]}};var g=c(92592),h=c(78685);async function i({params:a}){let{toolId:b}=await a;f[b]||(0,e.notFound)();let c=await (0,g.D)();return(0,d.jsx)(h.default,{toolId:b,machineId:c})}},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(21704),g=c(96186),h=c(78688),i=c(53713),j=c(11543),k=c(71332);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},48161:a=>{"use strict";a.exports=require("node:os")},49836:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(19121),g=c(29294),h=c(63033);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},53713:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"forbidden",{enumerable:!0,get:function(){return d}}),c(41081).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71332:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=c(75523),e=c(49472),f=c(98389),g=c(65385),h=c(21206),i=c(92540);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},75994:(a,b,c)=>{Promise.resolve().then(c.bind(c,78685))},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},77736:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(86240),e=c(29184),f=c(51),g=c(92968);let h={ok:"bg-green-500",warn:"bg-amber-500",info:"bg-blue-500",muted:"bg-muted-foreground/50"};function i({toolId:a,tool:b,status:c}){let j=b?.configType==="guide"?{label:"Guide",tone:"info"}:c?c.container&&null==c.installed?{label:"Manual setup",tone:"info"}:c.installed?c.has10Router?{label:"Connected",tone:"ok"}:{label:"Not configured",tone:"warn"}:{label:"Not installed",tone:"muted"}:{label:"Unknown",tone:"muted"};return(0,d.jsx)(f.default,{href:`/dashboard/cli-tools/${a}`,title:b.name,iconBg:b.color?`${b.color}15`:void 0,icon:(0,d.jsx)(g.A,{src:b.image,alt:b.name,size:30,className:"max-h-[30px] max-w-[30px] rounded-lg object-contain",fallbackText:b.name.slice(0,2).toUpperCase(),fallbackColor:b.color}),children:(0,d.jsxs)(e.E,{variant:"default",children:[(0,d.jsx)("span",{className:`size-1.5 rounded-full ${h[j.tone]}`}),j.label]})})}},78474:a=>{"use strict";a.exports=require("node:events")},78685:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(35062).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx","default")},78688:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return f}});let d=c(41081),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},92592:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(94621);async function e(){return await (0,d.Xj)()}},94621:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(78356),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(51336);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="10r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},94735:a=>{"use strict";a.exports=require("events")},94883:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>x,handler:()=>z,routeModule:()=>y});var d=c(26720),e=c(29966),f=c(36243),g=c(70310),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79452))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,11089))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),v={children:["",{children:["(dashboard)",{children:["dashboard",{children:["cli-tools",{children:["[toolId]",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,43848))),"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/page.tsx"]}]},{"global-error":[u,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/10Router/10Router/src/app/(dashboard)/layout.tsx"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/10Router/10Router/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,w=(0,e.H)({tree:v,page:"/(dashboard)/dashboard/cli-tools/[toolId]/page",pathname:"/dashboard/cli-tools/[toolId]",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),x=w.__next_app__,y=w.routeModule,z=w.handler},96186:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(28191),g=c(13489),h=c(49836);function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h.actionAsyncStorage?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1316,1238,7963,8569,7257,6009,5351,7535,7816,7156,2339,6461,4301,1289,9018,2801],()=>b(b.s=94883));module.exports=c})();
40
+ `},{filename:"~/.dsh/.credentials.yaml (add ref)",content:`refs: { TEN_ROUTER_API_KEY: ${w} }`}])})]})})}c(77736);let _=process.env.NEXT_PUBLIC_CLOUD_URL;function aa({toolId:a,machineId:b}){let c=l.d[a],[g,n]=(0,f.useState)([]),[o,p]=(0,f.useState)(!0),[q,r]=(0,f.useState)({}),[s,t]=(0,f.useState)(!1),[u,v]=(0,f.useState)(!1),[w,x]=(0,f.useState)(""),[y,z]=(0,f.useState)(!1),[A,B]=(0,f.useState)(""),[C,D]=(0,f.useState)([]),E=()=>g.filter(a=>!1!==a.isActive),F=(0,f.useCallback)((a,b,c)=>{r(d=>d[a]?.[b]===c?d:{...d,[a]:{...d[a],[b]:c}})},[]);return c?(0,d.jsxs)(i.YW,{children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(j.$,{variant:"outline",size:"sm",asChild:!0,className:"mb-4 self-start",children:(0,d.jsxs)(h(),{href:"/dashboard/cli-tools",children:[(0,d.jsx)(e.default,{name:"arrow_back",className:"text-lg"}),"CLI Tools"]})}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4",children:[(0,d.jsx)("div",{className:"size-12 rounded-lg flex items-center justify-center shrink-0",style:{backgroundColor:`${c.color}15`},children:(0,d.jsx)(k.A,{src:c.image,alt:c.name,size:48,className:"object-contain rounded-lg max-w-[48px] max-h-[48px]",fallbackText:c.name.slice(0,2).toUpperCase(),fallbackColor:c.color})}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight sm:text-3xl",children:c.name}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:c.description})]})]})]}),o?(0,d.jsx)(i.KX,{}):(()=>{let b,e,f,g=(b=E(),e=[],f=new Set,b.forEach(a=>{let b=m.Xg[a.provider]||a.provider,c=(0,m.KC)(a.provider);if(c.forEach(c=>{let d=`${b}/${c.id}`;f.has(d)||(f.add(d),e.push({value:d,label:`${b}/${c.id}`,provider:a.provider,alias:b,connectionName:a.name,modelId:c.id}))}),0===c.length){let c=a.providerSpecificData?.prefix||b,d=[];a.defaultModel&&d.push({id:a.defaultModel,name:a.defaultModel}),(a.providerSpecificData?.customModels||[]).forEach(a=>{a?.id&&!d.some(b=>b.id===a.id)&&d.push({id:a.id,name:a.name||a.id})}),0===d.length&&"active"===a.testStatus&&d.push({id:"model-id",name:`${c}/model-id`}),d.forEach(b=>{let d=`${c}/${b.id}`;f.has(d)||(f.add(d),e.push({value:d,label:`${c}/${b.id}`,provider:a.provider,alias:c,connectionName:a.name,modelId:b.id}))})}}),e).length>0,h={tool:c,isExpanded:!0,onToggle:()=>{},baseUrl:u&&w?w:s&&_?_:"http://localhost:20128",apiKeys:C,tunnelEnabled:u,tunnelPublicUrl:w,tailscaleEnabled:y,tailscaleUrl:A};switch(a){case"claude":return(0,d.jsx)(P,{...h,activeProviders:E(),modelMappings:q[a]||{},onModelMappingChange:(b,c)=>F(a,b,c),hasActiveProviders:g,cloudEnabled:s});case"codex":return(0,d.jsx)(Q,{...h,activeProviders:E(),cloudEnabled:s});case"opencode":return(0,d.jsx)(U,{...h,activeProviders:E(),cloudEnabled:s});case"cowork":return(0,d.jsx)(X,{...h,activeProviders:E(),hasActiveProviders:g,cloudEnabled:s,cloudUrl:_,tunnelEnabled:u,tunnelPublicUrl:w,tailscaleEnabled:y,tailscaleUrl:A});case"dsh":return(0,d.jsx)($,{...h,activeProviders:E(),cloudEnabled:s});default:return(0,d.jsx)(T,{toolId:a,...h,activeProviders:E(),cloudEnabled:s,tunnelEnabled:u})}})()]}):(0,d.jsxs)(i.YW,{children:[(0,d.jsx)(j.$,{variant:"outline",size:"sm",asChild:!0,className:"self-start",children:(0,d.jsxs)(h(),{href:"/dashboard/cli-tools",children:[(0,d.jsx)(e.default,{name:"arrow_back",className:"text-lg"}),"CLI Tools"]})}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Tool not found or disabled."})]})}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},43848:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(25966),e=c(1437);let f={claude:{id:"claude",name:"Claude Code",image:"/providers/claude.png",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",fableModel:"ANTHROPIC_DEFAULT_FABLE_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","fable","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"fable",name:"Claude Fable",alias:"fable",envKey:"ANTHROPIC_DEFAULT_FABLE_MODEL",defaultValue:"cc/claude-fable-5"},{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-5"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-5"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},codex:{id:"codex",name:"OpenAI Codex CLI / App",image:"/providers/codex.png",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.png",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},cowork:{id:"cowork",name:"Claude Cowork",image:"/providers/claude.png",color:"#D97757",description:"Claude Desktop Cowork (third-party inference)",configType:"custom"},dsh:{id:"dsh",name:"DSH - DeepSeek Harness",image:"/providers/deepseek.png",color:"#4D6BFE",description:"DeepSeek Harness (dsh web) provider",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.png",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]}};var g=c(92592),h=c(78685);async function i({params:a}){let{toolId:b}=await a;f[b]||(0,e.notFound)();let c=await (0,g.D)();return(0,d.jsx)(h.default,{toolId:b,machineId:c})}},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(21704),g=c(96186),h=c(78688),i=c(53713),j=c(11543),k=c(71332);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},48161:a=>{"use strict";a.exports=require("node:os")},49836:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(19121),g=c(29294),h=c(63033);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},53713:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"forbidden",{enumerable:!0,get:function(){return d}}),c(41081).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71332:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=c(75523),e=c(49472),f=c(98389),g=c(65385),h=c(21206),i=c(92540);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},75994:(a,b,c)=>{Promise.resolve().then(c.bind(c,78685))},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},77736:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(86240),e=c(29184),f=c(51),g=c(92968);let h={ok:"bg-green-500",warn:"bg-amber-500",info:"bg-blue-500",muted:"bg-muted-foreground/50"};function i({toolId:a,tool:b,status:c}){let j=b?.configType==="guide"?{label:"Guide",tone:"info"}:c?c.container&&null==c.installed?{label:"Manual setup",tone:"info"}:c.installed?c.has10Router?{label:"Connected",tone:"ok"}:{label:"Not configured",tone:"warn"}:{label:"Not installed",tone:"muted"}:{label:"Unknown",tone:"muted"};return(0,d.jsx)(f.default,{href:`/dashboard/cli-tools/${a}`,title:b.name,iconBg:b.color?`${b.color}15`:void 0,icon:(0,d.jsx)(g.A,{src:b.image,alt:b.name,size:30,className:"max-h-[30px] max-w-[30px] rounded-lg object-contain",fallbackText:b.name.slice(0,2).toUpperCase(),fallbackColor:b.color}),children:(0,d.jsxs)(e.E,{variant:"default",children:[(0,d.jsx)("span",{className:`size-1.5 rounded-full ${h[j.tone]}`}),j.label]})})}},78474:a=>{"use strict";a.exports=require("node:events")},78685:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(35062).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx","default")},78688:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return f}});let d=c(41081),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},92592:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(94621);async function e(){return await (0,d.Xj)()}},94621:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(78356),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(51336);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="10r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},94735:a=>{"use strict";a.exports=require("events")},94883:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>x,handler:()=>z,routeModule:()=>y});var d=c(26720),e=c(29966),f=c(36243),g=c(70310),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79452))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,11089))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),v={children:["",{children:["(dashboard)",{children:["dashboard",{children:["cli-tools",{children:["[toolId]",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,43848))),"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/page.tsx"]}]},{"global-error":[u,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/10Router/10Router/src/app/(dashboard)/layout.tsx"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/10Router/10Router/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,w=(0,e.H)({tree:v,page:"/(dashboard)/dashboard/cli-tools/[toolId]/page",pathname:"/dashboard/cli-tools/[toolId]",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),x=w.__next_app__,y=w.routeModule,z=w.handler},96186:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(28191),g=c(13489),h=c(49836);function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h.actionAsyncStorage?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1316,1238,7963,8569,7257,6009,9817,7535,7816,7156,2339,6461,4301,1289,9018,2801],()=>b(b.s=94883));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/package.json","../../../../../../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js","../../../../../../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/package.json","../../../../../../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/run-applescript","../../../../../../../node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/index.js","../../../../../../../node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/package.json","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/bundle-name","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser-id","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser/index.js","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser/package.json","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser/windows.js","../../../../../../../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js","../../../../../../../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/package.json","../../../../../../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/index.js","../../../../../../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/package.json","../../../../../../../node_modules/.pnpm/is-in-ssh@1.0.0/node_modules/is-in-ssh/index.js","../../../../../../../node_modules/.pnpm/is-in-ssh@1.0.0/node_modules/is-in-ssh/package.json","../../../../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-docker","../../../../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/index.js","../../../../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/package.json","../../../../../../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-inside-container","../../../../../../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/index.js","../../../../../../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@swc/helpers","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/lib/console.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/source-map/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/ws/index.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/ws/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/picocolors.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/scheduler.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/source-maps.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/require-hook.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/default-browser","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/define-lazy-prop","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/is-in-ssh","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/is-inside-container","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/open/index.js","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/open/package.json","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/open/xdg-open","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/powershell-utils","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/wsl-utils","../../../../../../../node_modules/.pnpm/powershell-utils@0.1.0/node_modules/powershell-utils/index.js","../../../../../../../node_modules/.pnpm/powershell-utils@0.1.0/node_modules/powershell-utils/package.json","../../../../../../../node_modules/.pnpm/powershell-utils@0.2.1/node_modules/powershell-utils/index.js","../../../../../../../node_modules/.pnpm/powershell-utils@0.2.1/node_modules/powershell-utils/package.json","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.development.js","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.production.js","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/index.js","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/package.json","../../../../../../../node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/index.js","../../../../../../../node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/package.json","../../../../../../../node_modules/.pnpm/sql.js@1.14.2/node_modules/sql.js/dist/sql-wasm.js","../../../../../../../node_modules/.pnpm/sql.js@1.14.2/node_modules/sql.js/package.json","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/is-wsl","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/powershell-utils","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/wsl-utils/index.js","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/wsl-utils/package.json","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/wsl-utils/utilities.js","../../../../../../../node_modules/next","../../../../../../../node_modules/open","../../../../../../../node_modules/sql.js","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/1011.js","../../../../../chunks/1126.js","../../../../../chunks/1238.js","../../../../../chunks/1273.js","../../../../../chunks/1289.js","../../../../../chunks/1316.js","../../../../../chunks/2076.js","../../../../../chunks/2143.js","../../../../../chunks/2151.js","../../../../../chunks/2225.js","../../../../../chunks/2282.js","../../../../../chunks/2339.js","../../../../../chunks/2706.js","../../../../../chunks/2801.js","../../../../../chunks/3023.js","../../../../../chunks/3250.js","../../../../../chunks/4139.js","../../../../../chunks/4301.js","../../../../../chunks/4364.js","../../../../../chunks/4464.js","../../../../../chunks/4915.js","../../../../../chunks/5351.js","../../../../../chunks/537.js","../../../../../chunks/5761.js","../../../../../chunks/6009.js","../../../../../chunks/6343.js","../../../../../chunks/6461.js","../../../../../chunks/6823.js","../../../../../chunks/7156.js","../../../../../chunks/7257.js","../../../../../chunks/7268.js","../../../../../chunks/7459.js","../../../../../chunks/7504.js","../../../../../chunks/7535.js","../../../../../chunks/7816.js","../../../../../chunks/7963.js","../../../../../chunks/8569.js","../../../../../chunks/881.js","../../../../../chunks/8923.js","../../../../../chunks/8940.js","../../../../../chunks/9018.js","../../../../../chunks/9250.js","../../../../../chunks/9614.js","../../../../../chunks/9792.js","../../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../../../node_modules/.pnpm/@swc+helpers@0.5.23/node_modules/@swc/helpers/package.json","../../../../../../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js","../../../../../../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/package.json","../../../../../../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/run-applescript","../../../../../../../node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/index.js","../../../../../../../node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/package.json","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/bundle-name","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser-id","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser/index.js","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser/package.json","../../../../../../../node_modules/.pnpm/default-browser@5.5.1/node_modules/default-browser/windows.js","../../../../../../../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js","../../../../../../../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/package.json","../../../../../../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/index.js","../../../../../../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/package.json","../../../../../../../node_modules/.pnpm/is-in-ssh@1.0.0/node_modules/is-in-ssh/index.js","../../../../../../../node_modules/.pnpm/is-in-ssh@1.0.0/node_modules/is-in-ssh/package.json","../../../../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-docker","../../../../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/index.js","../../../../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/package.json","../../../../../../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-inside-container","../../../../../../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/index.js","../../../../../../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@swc/helpers","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/lib/console.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/source-map/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/ws/index.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/ws/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/picocolors.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/scheduler.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/source-maps.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-environment.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/require-hook.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/package.json","../../../../../../../node_modules/.pnpm/next@16.3.5_@babel+core@7.29.7_supports-color@7.2.0__@types+node@26.6.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/default-browser","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/define-lazy-prop","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/is-in-ssh","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/is-inside-container","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/open/index.js","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/open/package.json","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/open/xdg-open","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/powershell-utils","../../../../../../../node_modules/.pnpm/open@11.0.4/node_modules/wsl-utils","../../../../../../../node_modules/.pnpm/powershell-utils@0.1.0/node_modules/powershell-utils/index.js","../../../../../../../node_modules/.pnpm/powershell-utils@0.1.0/node_modules/powershell-utils/package.json","../../../../../../../node_modules/.pnpm/powershell-utils@0.2.1/node_modules/powershell-utils/index.js","../../../../../../../node_modules/.pnpm/powershell-utils@0.2.1/node_modules/powershell-utils/package.json","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.development.js","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.production.js","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/index.js","../../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/package.json","../../../../../../../node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/index.js","../../../../../../../node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/package.json","../../../../../../../node_modules/.pnpm/sql.js@1.14.2/node_modules/sql.js/dist/sql-wasm.js","../../../../../../../node_modules/.pnpm/sql.js@1.14.2/node_modules/sql.js/package.json","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/is-wsl","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/powershell-utils","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/wsl-utils/index.js","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/wsl-utils/package.json","../../../../../../../node_modules/.pnpm/wsl-utils@1.0.0/node_modules/wsl-utils/utilities.js","../../../../../../../node_modules/next","../../../../../../../node_modules/open","../../../../../../../node_modules/sql.js","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/1011.js","../../../../../chunks/1126.js","../../../../../chunks/1238.js","../../../../../chunks/1273.js","../../../../../chunks/1289.js","../../../../../chunks/1316.js","../../../../../chunks/2076.js","../../../../../chunks/2143.js","../../../../../chunks/2151.js","../../../../../chunks/2225.js","../../../../../chunks/2282.js","../../../../../chunks/2339.js","../../../../../chunks/2706.js","../../../../../chunks/2801.js","../../../../../chunks/3023.js","../../../../../chunks/3250.js","../../../../../chunks/4139.js","../../../../../chunks/4301.js","../../../../../chunks/4364.js","../../../../../chunks/4464.js","../../../../../chunks/4915.js","../../../../../chunks/537.js","../../../../../chunks/5761.js","../../../../../chunks/6009.js","../../../../../chunks/6343.js","../../../../../chunks/6461.js","../../../../../chunks/6823.js","../../../../../chunks/7156.js","../../../../../chunks/7257.js","../../../../../chunks/7268.js","../../../../../chunks/7459.js","../../../../../chunks/7504.js","../../../../../chunks/7535.js","../../../../../chunks/7816.js","../../../../../chunks/7963.js","../../../../../chunks/8569.js","../../../../../chunks/881.js","../../../../../chunks/8923.js","../../../../../chunks/8940.js","../../../../../chunks/9018.js","../../../../../chunks/9250.js","../../../../../chunks/9614.js","../../../../../chunks/9792.js","../../../../../chunks/9817.js","../../../../../webpack-runtime.js","page_client-reference-manifest.js"]}