@thangnm.nip/irouter 0.0.10 → 0.0.12

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 (844) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +3 -1
  3. package/app/.next/build-manifest.json +4 -4
  4. package/app/.next/prerender-manifest.json +27 -3
  5. package/app/.next/required-server-files.json +6 -3
  6. package/app/.next/routes-manifest.json +12 -0
  7. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -0
  8. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
  9. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  14. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  17. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/employees/[keyId]/page.js +2 -2
  20. package/app/.next/server/app/(dashboard)/dashboard/employees/[keyId]/page.js.nft.json +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/employees/[keyId]/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/employees/page.js +2 -2
  23. package/app/.next/server/app/(dashboard)/dashboard/employees/page.js.nft.json +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/employees/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +3 -3
  26. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  29. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  32. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  35. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  38. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  41. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  44. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  47. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  50. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  53. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  56. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/_global-error/page.js +3 -3
  59. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/_global-error.html +1 -1
  61. package/app/.next/server/app/_global-error.rsc +1 -1
  62. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  63. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  64. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  65. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  66. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  67. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  68. package/app/.next/server/app/_not-found/page.js +2 -2
  69. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  70. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/_not-found.html +1 -1
  72. package/app/.next/server/app/_not-found.rsc +5 -4
  73. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +5 -4
  74. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  75. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
  76. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  77. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  78. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  79. package/app/.next/server/app/api/auth/login/route.js +1 -1
  80. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  81. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  83. package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  84. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  86. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  87. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  89. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  90. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  92. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  93. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  95. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  96. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  98. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  101. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  102. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  104. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  107. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  108. package/app/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  110. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  113. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  114. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  116. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  119. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  120. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  122. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/combos/route.js +1 -1
  125. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  126. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/employees/[keyId]/stats/route.js +66 -1
  128. package/app/.next/server/app/api/employees/[keyId]/stats/route.js.nft.json +1 -1
  129. package/app/.next/server/app/api/employees/[keyId]/stats/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/employees/stats/route.js +66 -1
  131. package/app/.next/server/app/api/employees/stats/route.js.nft.json +1 -1
  132. package/app/.next/server/app/api/employees/stats/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/init/route.js +1 -1
  134. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  137. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  138. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/keys/route.js +1 -1
  140. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  141. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/locale/route.js +1 -1
  143. package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
  144. package/app/.next/server/app/api/locale/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/models/alias/route.js +1 -1
  146. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  147. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/models/availability/route.js +1 -0
  149. package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -0
  150. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
  151. package/app/.next/server/app/api/models/route.js +1 -1
  152. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/models/test/route.js +1 -1
  155. package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
  156. package/app/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  158. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  159. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  161. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  162. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  164. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  165. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  167. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  168. package/app/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  170. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  173. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  174. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  176. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  177. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  179. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  180. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/pricing/route.js +1 -1
  182. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  183. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  185. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  186. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  188. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  189. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  191. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  192. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  194. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  195. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  197. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  198. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  200. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  201. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  203. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  204. package/app/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/providers/client/route.js +1 -1
  206. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  207. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/providers/route.js +1 -1
  209. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  212. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  215. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  216. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  218. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  221. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  222. package/app/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  224. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  225. package/app/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  226. package/app/.next/server/app/api/settings/database/route.js +1 -1
  227. package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  228. package/app/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  230. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  231. package/app/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  233. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  234. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/settings/route.js +1 -1
  236. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  237. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  238. package/app/.next/server/app/api/shutdown/route.js +1 -1
  239. package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  240. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  241. package/app/.next/server/app/api/tags/route.js +1 -1
  242. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  243. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  244. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  245. package/app/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  246. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  247. package/app/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  248. package/app/.next/server/app/api/translator/load/route.js +1 -1
  249. package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
  250. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  251. package/app/.next/server/app/api/translator/save/route.js +1 -1
  252. package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
  253. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  254. package/app/.next/server/app/api/translator/send/route.js +1 -1
  255. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  256. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  257. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  258. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  259. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  260. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  261. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  262. package/app/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  263. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  264. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  265. package/app/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  266. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  267. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  268. package/app/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  269. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  270. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  271. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  272. package/app/.next/server/app/api/usage/chart/route.js +66 -1
  273. package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  274. package/app/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  275. package/app/.next/server/app/api/usage/history/route.js +66 -1
  276. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  277. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  278. package/app/.next/server/app/api/usage/logs/route.js +66 -1
  279. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  280. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  281. package/app/.next/server/app/api/usage/providers/route.js +66 -1
  282. package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  283. package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  284. package/app/.next/server/app/api/usage/request-details/[id]/route.js +1 -1
  285. package/app/.next/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -1
  286. package/app/.next/server/app/api/usage/request-details/[id]/route_client-reference-manifest.js +1 -1
  287. package/app/.next/server/app/api/usage/request-details/route.js +66 -1
  288. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  289. package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  290. package/app/.next/server/app/api/usage/request-logs/route.js +66 -1
  291. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  292. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  293. package/app/.next/server/app/api/usage/stats/route.js +66 -1
  294. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  295. package/app/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  296. package/app/.next/server/app/api/usage/stream/route.js +69 -4
  297. package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  299. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  300. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  301. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  302. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  303. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  304. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  305. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  306. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  307. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  308. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  309. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  310. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  311. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  312. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  313. package/app/.next/server/app/api/v1/models/route.js +1 -1
  314. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  315. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  316. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  317. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  319. package/app/.next/server/app/api/v1/route.js +1 -1
  320. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  321. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  322. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  323. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  324. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  325. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  326. package/app/.next/server/app/api/v1internal/route.js +1 -1
  327. package/app/.next/server/app/api/v1internal/route.js.nft.json +1 -1
  328. package/app/.next/server/app/api/v1internal/route_client-reference-manifest.js +1 -1
  329. package/app/.next/server/app/api/version/route.js +1 -1
  330. package/app/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  331. package/app/.next/server/app/callback/page.js +2 -2
  332. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  333. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  334. package/app/.next/server/app/callback.html +1 -1
  335. package/app/.next/server/app/callback.rsc +6 -5
  336. package/app/.next/server/app/callback.segments/_full.segment.rsc +6 -5
  337. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  338. package/app/.next/server/app/callback.segments/_index.segment.rsc +5 -4
  339. package/app/.next/server/app/callback.segments/_tree.segment.rsc +3 -2
  340. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  341. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  342. package/app/.next/server/app/dashboard/basic-chat.html +1 -0
  343. package/app/.next/server/app/dashboard/basic-chat.meta +17 -0
  344. package/app/.next/server/app/dashboard/basic-chat.rsc +24 -0
  345. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +6 -0
  346. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +5 -0
  347. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  348. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  349. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +24 -0
  350. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +6 -0
  351. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +9 -0
  352. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +6 -0
  353. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  354. package/app/.next/server/app/dashboard/cli-tools.rsc +8 -7
  355. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  356. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  357. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  358. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  359. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -7
  360. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  361. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -4
  362. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -2
  363. package/app/.next/server/app/dashboard/combos.html +1 -1
  364. package/app/.next/server/app/dashboard/combos.rsc +7 -6
  365. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  366. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  367. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  368. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  369. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +7 -6
  370. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  371. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +5 -4
  372. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -2
  373. package/app/.next/server/app/dashboard/employees.html +1 -1
  374. package/app/.next/server/app/dashboard/employees.rsc +7 -6
  375. package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk/dashboard/employees/__PAGE__.segment.rsc +2 -2
  376. package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk/dashboard/employees.segment.rsc +1 -1
  377. package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  378. package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  379. package/app/.next/server/app/dashboard/employees.segments/_full.segment.rsc +7 -6
  380. package/app/.next/server/app/dashboard/employees.segments/_head.segment.rsc +1 -1
  381. package/app/.next/server/app/dashboard/employees.segments/_index.segment.rsc +5 -4
  382. package/app/.next/server/app/dashboard/employees.segments/_tree.segment.rsc +3 -2
  383. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  384. package/app/.next/server/app/dashboard/endpoint.rsc +8 -7
  385. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  386. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  387. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  388. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  389. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -7
  390. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  391. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -4
  392. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -2
  393. package/app/.next/server/app/dashboard/mitm.html +1 -1
  394. package/app/.next/server/app/dashboard/mitm.rsc +7 -6
  395. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  396. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  397. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  398. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  399. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -6
  400. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  401. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -4
  402. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -2
  403. package/app/.next/server/app/dashboard/profile.html +1 -1
  404. package/app/.next/server/app/dashboard/profile.rsc +7 -6
  405. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  406. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  407. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  408. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  409. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +7 -6
  410. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  411. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +5 -4
  412. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -2
  413. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  414. package/app/.next/server/app/dashboard/providers/new.rsc +7 -6
  415. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  416. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  417. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  418. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  419. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  420. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -6
  421. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  422. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -4
  423. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -2
  424. package/app/.next/server/app/dashboard/providers.html +1 -1
  425. package/app/.next/server/app/dashboard/providers.rsc +7 -6
  426. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  427. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  428. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  429. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  430. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +7 -6
  431. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  432. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +5 -4
  433. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -2
  434. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  435. package/app/.next/server/app/dashboard/proxy-pools.rsc +7 -6
  436. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  437. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  438. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  439. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  440. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -6
  441. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  442. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -4
  443. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -2
  444. package/app/.next/server/app/dashboard/quota.html +2 -2
  445. package/app/.next/server/app/dashboard/quota.rsc +8 -7
  446. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  447. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  448. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  449. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  450. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +8 -7
  451. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  452. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +5 -4
  453. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -2
  454. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  455. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  456. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  457. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  458. package/app/.next/server/app/dashboard/settings/pricing.rsc +6 -5
  459. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -5
  460. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  461. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -4
  462. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -2
  463. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  464. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  465. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  466. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  467. package/app/.next/server/app/dashboard/translator.html +1 -1
  468. package/app/.next/server/app/dashboard/translator.rsc +7 -6
  469. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  470. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  471. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  472. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  473. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +7 -6
  474. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  475. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +5 -4
  476. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -2
  477. package/app/.next/server/app/dashboard/usage.html +1 -1
  478. package/app/.next/server/app/dashboard/usage.rsc +7 -6
  479. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  480. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  481. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  482. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  483. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +7 -6
  484. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  485. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +5 -4
  486. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -2
  487. package/app/.next/server/app/dashboard.html +1 -1
  488. package/app/.next/server/app/dashboard.rsc +6 -5
  489. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +1 -1
  490. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  491. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  492. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -5
  493. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  494. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +5 -4
  495. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +3 -2
  496. package/app/.next/server/app/favicon.ico/route.js +1 -1
  497. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  498. package/app/.next/server/app/index.html +1 -1
  499. package/app/.next/server/app/index.rsc +5 -4
  500. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  501. package/app/.next/server/app/index.segments/_full.segment.rsc +5 -4
  502. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  503. package/app/.next/server/app/index.segments/_index.segment.rsc +5 -4
  504. package/app/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  505. package/app/.next/server/app/landing/page.js +2 -2
  506. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  507. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  508. package/app/.next/server/app/landing.html +1 -1
  509. package/app/.next/server/app/landing.rsc +6 -5
  510. package/app/.next/server/app/landing.segments/_full.segment.rsc +6 -5
  511. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  512. package/app/.next/server/app/landing.segments/_index.segment.rsc +5 -4
  513. package/app/.next/server/app/landing.segments/_tree.segment.rsc +3 -2
  514. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  515. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  516. package/app/.next/server/app/login/page.js +2 -2
  517. package/app/.next/server/app/login/page.js.nft.json +1 -1
  518. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  519. package/app/.next/server/app/login.html +1 -1
  520. package/app/.next/server/app/login.rsc +6 -5
  521. package/app/.next/server/app/login.segments/_full.segment.rsc +6 -5
  522. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  523. package/app/.next/server/app/login.segments/_index.segment.rsc +5 -4
  524. package/app/.next/server/app/login.segments/_tree.segment.rsc +3 -2
  525. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  526. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  527. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  528. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  529. package/app/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  530. package/app/.next/server/app/page.js +2 -2
  531. package/app/.next/server/app/page.js.nft.json +1 -1
  532. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  533. package/app/.next/server/app-paths-manifest.json +3 -1
  534. package/app/.next/server/chunks/1130.js +1 -1
  535. package/app/.next/server/chunks/118.js +1 -0
  536. package/app/.next/server/chunks/1220.js +1 -1
  537. package/app/.next/server/chunks/1424.js +1 -1
  538. package/app/.next/server/chunks/2664.js +1 -0
  539. package/app/.next/server/chunks/3093.js +72 -7
  540. package/app/.next/server/chunks/336.js +66 -1
  541. package/app/.next/server/chunks/412.js +2 -2
  542. package/app/.next/server/chunks/5270.js +1 -1
  543. package/app/.next/server/chunks/5708.js +1 -0
  544. package/app/.next/server/chunks/6072.js +43 -0
  545. package/app/.next/server/chunks/6182.js +4 -4
  546. package/app/.next/server/chunks/63.js +3 -3
  547. package/app/.next/server/chunks/649.js +1 -1
  548. package/app/.next/server/chunks/6828.js +1 -1
  549. package/app/.next/server/chunks/7774.js +2 -2
  550. package/app/.next/server/chunks/8895.js +2 -2
  551. package/app/.next/server/chunks/9201.js +1 -1
  552. package/app/.next/server/chunks/9718.js +1 -1
  553. package/app/.next/server/middleware-build-manifest.js +1 -1
  554. package/app/.next/server/middleware.js +3 -3
  555. package/app/.next/server/next-font-manifest.js +1 -1
  556. package/app/.next/server/next-font-manifest.json +1 -1
  557. package/app/.next/server/pages/404.html +1 -1
  558. package/app/.next/server/pages/500.html +1 -1
  559. package/app/.next/server/server-reference-manifest.js +1 -1
  560. package/app/.next/server/server-reference-manifest.json +1 -1
  561. package/app/.next/static/chunks/5242-250aca99680a5860.js +1 -0
  562. package/app/.next/static/chunks/5497-c246d6c185ae4515.js +7 -0
  563. package/app/.next/static/chunks/5772-901f1092d831ec37.js +3 -0
  564. package/app/.next/static/chunks/6902-135c924f2deafe46.js +1 -0
  565. package/app/.next/static/chunks/{9242-b33771537db21368.js → 9242-35c67551a31e8ed3.js} +2 -2
  566. package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-dbf8fae8c8837130.js +1 -0
  567. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-89c2a22ca02ca0d8.js +1 -0
  568. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-db322270ec972db0.js +1 -0
  569. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-7b0d61cbbe1a47c2.js +1 -0
  570. package/app/.next/static/chunks/app/(dashboard)/dashboard/employees/[keyId]/page-260c2e244f08d44e.js +1 -0
  571. package/app/.next/static/chunks/app/(dashboard)/dashboard/employees/{page-8eb8511823bab5a8.js → page-1186beab09df32f8.js} +1 -1
  572. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/{page-5c259d7d447b6aee.js → page-11d04ce754400525.js} +2 -2
  573. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/{page-2346c1fbdc93e171.js → page-7bb014b116bacd70.js} +1 -1
  574. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-bc93a8fd4c287f29.js +1 -0
  575. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-f113b1a6fd5bf364.js +1 -0
  576. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4d697847e773ee9f.js +1 -0
  577. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-f38b4a179ec6ebeb.js → page-7d54c03780f36a77.js} +1 -1
  578. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-07b03df6908bbfc0.js +1 -0
  579. package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-e4f676cf79e465b1.js → page-5268c095e868ce3d.js} +2 -2
  580. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-f33a92ade5e4806e.js +1 -0
  581. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-2bb6f99a3d1d9206.js +1 -0
  582. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-527700ed764617bf.js +1 -0
  583. package/app/.next/static/chunks/app/(dashboard)/{layout-0c70201c7bb15ab5.js → layout-fc4ee3669b9e2432.js} +1 -1
  584. package/app/.next/static/chunks/app/_global-error/page-bc93a8fd4c287f29.js +1 -0
  585. package/app/.next/static/chunks/app/_not-found/page-277ff0ac5be7dff3.js +1 -0
  586. package/app/.next/static/chunks/app/api/auth/login/route-bc93a8fd4c287f29.js +1 -0
  587. package/app/.next/static/chunks/app/api/auth/logout/route-bc93a8fd4c287f29.js +1 -0
  588. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-bc93a8fd4c287f29.js +1 -0
  589. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-bc93a8fd4c287f29.js +1 -0
  590. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-bc93a8fd4c287f29.js +1 -0
  591. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-bc93a8fd4c287f29.js +1 -0
  592. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-bc93a8fd4c287f29.js +1 -0
  593. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-bc93a8fd4c287f29.js +1 -0
  594. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-bc93a8fd4c287f29.js +1 -0
  595. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-bc93a8fd4c287f29.js +1 -0
  596. package/app/.next/static/chunks/app/api/cloud/auth/route-bc93a8fd4c287f29.js +1 -0
  597. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-bc93a8fd4c287f29.js +1 -0
  598. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-bc93a8fd4c287f29.js +1 -0
  599. package/app/.next/static/chunks/app/api/cloud/models/alias/route-bc93a8fd4c287f29.js +1 -0
  600. package/app/.next/static/chunks/app/api/combos/[id]/route-bc93a8fd4c287f29.js +1 -0
  601. package/app/.next/static/chunks/app/api/combos/route-bc93a8fd4c287f29.js +1 -0
  602. package/app/.next/static/chunks/app/api/employees/[keyId]/stats/route-bc93a8fd4c287f29.js +1 -0
  603. package/app/.next/static/chunks/app/api/employees/stats/route-bc93a8fd4c287f29.js +1 -0
  604. package/app/.next/static/chunks/app/api/init/route-bc93a8fd4c287f29.js +1 -0
  605. package/app/.next/static/chunks/app/api/keys/[id]/route-bc93a8fd4c287f29.js +1 -0
  606. package/app/.next/static/chunks/app/api/keys/route-bc93a8fd4c287f29.js +1 -0
  607. package/app/.next/static/chunks/app/api/locale/route-bc93a8fd4c287f29.js +1 -0
  608. package/app/.next/static/chunks/app/api/models/alias/route-bc93a8fd4c287f29.js +1 -0
  609. package/app/.next/static/chunks/app/api/models/availability/route-bc93a8fd4c287f29.js +1 -0
  610. package/app/.next/static/chunks/app/api/models/route-bc93a8fd4c287f29.js +1 -0
  611. package/app/.next/static/chunks/app/api/models/test/route-bc93a8fd4c287f29.js +1 -0
  612. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-bc93a8fd4c287f29.js +1 -0
  613. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-bc93a8fd4c287f29.js +1 -0
  614. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-bc93a8fd4c287f29.js +1 -0
  615. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-bc93a8fd4c287f29.js +1 -0
  616. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-bc93a8fd4c287f29.js +1 -0
  617. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-bc93a8fd4c287f29.js +1 -0
  618. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-bc93a8fd4c287f29.js +1 -0
  619. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-bc93a8fd4c287f29.js +1 -0
  620. package/app/.next/static/chunks/app/api/pricing/route-bc93a8fd4c287f29.js +1 -0
  621. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-bc93a8fd4c287f29.js +1 -0
  622. package/app/.next/static/chunks/app/api/provider-nodes/route-bc93a8fd4c287f29.js +1 -0
  623. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-bc93a8fd4c287f29.js +1 -0
  624. package/app/.next/static/chunks/app/api/providers/[id]/models/route-bc93a8fd4c287f29.js +1 -0
  625. package/app/.next/static/chunks/app/api/providers/[id]/route-bc93a8fd4c287f29.js +1 -0
  626. package/app/.next/static/chunks/app/api/providers/[id]/test/route-bc93a8fd4c287f29.js +1 -0
  627. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-bc93a8fd4c287f29.js +1 -0
  628. package/app/.next/static/chunks/app/api/providers/client/route-bc93a8fd4c287f29.js +1 -0
  629. package/app/.next/static/chunks/app/api/providers/route-bc93a8fd4c287f29.js +1 -0
  630. package/app/.next/static/chunks/app/api/providers/test-batch/route-bc93a8fd4c287f29.js +1 -0
  631. package/app/.next/static/chunks/app/api/providers/validate/route-bc93a8fd4c287f29.js +1 -0
  632. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-bc93a8fd4c287f29.js +1 -0
  633. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-bc93a8fd4c287f29.js +1 -0
  634. package/app/.next/static/chunks/app/api/proxy-pools/route-bc93a8fd4c287f29.js +1 -0
  635. package/app/.next/static/chunks/app/api/settings/database/route-bc93a8fd4c287f29.js +1 -0
  636. package/app/.next/static/chunks/app/api/settings/proxy-test/route-bc93a8fd4c287f29.js +1 -0
  637. package/app/.next/static/chunks/app/api/settings/require-login/route-bc93a8fd4c287f29.js +1 -0
  638. package/app/.next/static/chunks/app/api/settings/route-bc93a8fd4c287f29.js +1 -0
  639. package/app/.next/static/chunks/app/api/shutdown/route-bc93a8fd4c287f29.js +1 -0
  640. package/app/.next/static/chunks/app/api/tags/route-bc93a8fd4c287f29.js +1 -0
  641. package/app/.next/static/chunks/app/api/translator/console-logs/route-bc93a8fd4c287f29.js +1 -0
  642. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-bc93a8fd4c287f29.js +1 -0
  643. package/app/.next/static/chunks/app/api/translator/load/route-bc93a8fd4c287f29.js +1 -0
  644. package/app/.next/static/chunks/app/api/translator/save/route-bc93a8fd4c287f29.js +1 -0
  645. package/app/.next/static/chunks/app/api/translator/send/route-bc93a8fd4c287f29.js +1 -0
  646. package/app/.next/static/chunks/app/api/translator/translate/route-bc93a8fd4c287f29.js +1 -0
  647. package/app/.next/static/chunks/app/api/tunnel/disable/route-bc93a8fd4c287f29.js +1 -0
  648. package/app/.next/static/chunks/app/api/tunnel/enable/route-bc93a8fd4c287f29.js +1 -0
  649. package/app/.next/static/chunks/app/api/tunnel/status/route-bc93a8fd4c287f29.js +1 -0
  650. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-bc93a8fd4c287f29.js +1 -0
  651. package/app/.next/static/chunks/app/api/usage/chart/route-bc93a8fd4c287f29.js +1 -0
  652. package/app/.next/static/chunks/app/api/usage/history/route-bc93a8fd4c287f29.js +1 -0
  653. package/app/.next/static/chunks/app/api/usage/logs/route-bc93a8fd4c287f29.js +1 -0
  654. package/app/.next/static/chunks/app/api/usage/providers/route-bc93a8fd4c287f29.js +1 -0
  655. package/app/.next/static/chunks/app/api/usage/request-details/[id]/route-bc93a8fd4c287f29.js +1 -0
  656. package/app/.next/static/chunks/app/api/usage/request-details/route-bc93a8fd4c287f29.js +1 -0
  657. package/app/.next/static/chunks/app/api/usage/request-logs/route-bc93a8fd4c287f29.js +1 -0
  658. package/app/.next/static/chunks/app/api/usage/stats/route-bc93a8fd4c287f29.js +1 -0
  659. package/app/.next/static/chunks/app/api/usage/stream/route-bc93a8fd4c287f29.js +1 -0
  660. package/app/.next/static/chunks/app/api/v1/api/chat/route-bc93a8fd4c287f29.js +1 -0
  661. package/app/.next/static/chunks/app/api/v1/chat/completions/route-bc93a8fd4c287f29.js +1 -0
  662. package/app/.next/static/chunks/app/api/v1/embeddings/route-bc93a8fd4c287f29.js +1 -0
  663. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-bc93a8fd4c287f29.js +1 -0
  664. package/app/.next/static/chunks/app/api/v1/messages/route-bc93a8fd4c287f29.js +1 -0
  665. package/app/.next/static/chunks/app/api/v1/models/route-bc93a8fd4c287f29.js +1 -0
  666. package/app/.next/static/chunks/app/api/v1/responses/route-bc93a8fd4c287f29.js +1 -0
  667. package/app/.next/static/chunks/app/api/v1/route-bc93a8fd4c287f29.js +1 -0
  668. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-bc93a8fd4c287f29.js +1 -0
  669. package/app/.next/static/chunks/app/api/v1beta/models/route-bc93a8fd4c287f29.js +1 -0
  670. package/app/.next/static/chunks/app/api/v1internal/route-bc93a8fd4c287f29.js +1 -0
  671. package/app/.next/static/chunks/app/api/version/route-bc93a8fd4c287f29.js +1 -0
  672. package/app/.next/static/chunks/app/callback/{page-9d25f25730ec1a87.js → page-a288ef2f47fd5eb3.js} +1 -1
  673. package/app/.next/static/chunks/app/dashboard/settings/pricing/{page-107a395e4ebca682.js → page-f94017840394ebe8.js} +1 -1
  674. package/app/.next/static/chunks/app/landing/page-1d109564bc0bc007.js +1 -0
  675. package/app/.next/static/chunks/app/{layout-24366c741111b3ce.js → layout-372932853e1ca466.js} +1 -1
  676. package/app/.next/static/chunks/app/login/page-60dcddda96a06c28.js +1 -0
  677. package/app/.next/static/chunks/app/manifest.webmanifest/route-bc93a8fd4c287f29.js +1 -0
  678. package/app/.next/static/chunks/app/page-bc93a8fd4c287f29.js +1 -0
  679. package/app/.next/static/chunks/{main-app-d65284096ddebd50.js → main-app-825c409f56c59467.js} +1 -1
  680. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-bc93a8fd4c287f29.js +1 -0
  681. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-bc93a8fd4c287f29.js +1 -0
  682. package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-45c792615bbed600.js +1 -0
  683. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-bc93a8fd4c287f29.js +1 -0
  684. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bc93a8fd4c287f29.js +1 -0
  685. package/app/.next/static/chunks/{webpack-1094c4a28660424b.js → webpack-a2cf08368369c277.js} +1 -1
  686. package/app/.next/static/css/081a0afca5a9bd20.css +1 -0
  687. package/app/.next/static/css/bc7b15f1fd95fc16.css +1 -0
  688. package/app/.next/static/jte_Hfgy-t_AHpT39tLxg/_buildManifest.js +1 -0
  689. package/app/i18n/README.ja-JP.md +1209 -0
  690. package/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  691. package/app/node_modules/better-sqlite3/lib/database.js +90 -0
  692. package/app/node_modules/better-sqlite3/lib/index.js +3 -0
  693. package/app/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  694. package/app/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  695. package/app/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  696. package/app/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  697. package/app/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  698. package/app/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  699. package/app/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  700. package/app/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  701. package/app/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  702. package/app/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  703. package/app/node_modules/better-sqlite3/lib/util.js +12 -0
  704. package/app/node_modules/better-sqlite3/package.json +59 -0
  705. package/app/node_modules/bindings/bindings.js +221 -0
  706. package/app/node_modules/bindings/package.json +28 -0
  707. package/app/node_modules/file-uri-to-path/index.js +66 -0
  708. package/app/node_modules/file-uri-to-path/package.json +32 -0
  709. package/app/open-sse/executors/iflow.js +5 -1
  710. package/app/open-sse/handlers/chatCore/nonStreamingHandler.js +10 -0
  711. package/app/open-sse/handlers/chatCore/sseToJsonHandler.js +61 -4
  712. package/app/open-sse/services/accountFallback.js +6 -0
  713. package/app/open-sse/services/combo.js +59 -7
  714. package/app/open-sse/translator/helpers/geminiHelper.js +9 -1
  715. package/app/open-sse/translator/request/openai-to-claude.js +5 -0
  716. package/app/open-sse/translator/request/openai-to-gemini.js +4 -2
  717. package/app/open-sse/translator/request/openai-to-kiro.js +32 -19
  718. package/app/open-sse/translator/response/openai-responses.js +6 -3
  719. package/app/package.json +3 -2
  720. package/app/public/providers/assemblyai.png +0 -0
  721. package/app/public/providers/deepgram.png +0 -0
  722. package/app/public/providers/hyperbolic.png +0 -0
  723. package/app/public/providers/nanobanana.png +0 -0
  724. package/app/server.js +1 -1
  725. package/hooks/postinstall.js +94 -43
  726. package/package.json +1 -1
  727. package/app/.next/server/chunks/4755.js +0 -1
  728. package/app/.next/server/chunks/4989.js +0 -2
  729. package/app/.next/server/chunks/5984.js +0 -1
  730. package/app/.next/server/chunks/6649.js +0 -1
  731. package/app/.next/server/chunks/6836.js +0 -1
  732. package/app/.next/static/6NQ1tUqoUU-Vnz_TZ3Qh-/_buildManifest.js +0 -1
  733. package/app/.next/static/chunks/5497-9d0bc17e435a8c93.js +0 -7
  734. package/app/.next/static/chunks/5772-81f907ca6ec17897.js +0 -3
  735. package/app/.next/static/chunks/6902-59c9bd4da89daa6c.js +0 -1
  736. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-498aa76895400b7f.js +0 -1
  737. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-a2900807101b8a33.js +0 -1
  738. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-6f9b44a8af082c71.js +0 -1
  739. package/app/.next/static/chunks/app/(dashboard)/dashboard/employees/[keyId]/page-349626384b53a093.js +0 -1
  740. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-aed1b231bb49a704.js +0 -1
  741. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-493eb2eac64153a5.js +0 -1
  742. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-7efc5c1ea19f02ec.js +0 -1
  743. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-cd17e15c22790e9b.js +0 -1
  744. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-a6bd29ee2d2672c6.js +0 -1
  745. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-173679dc8c62c4a0.js +0 -1
  746. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-de3fbce2b737ec72.js +0 -1
  747. package/app/.next/static/chunks/app/_global-error/page-aed1b231bb49a704.js +0 -1
  748. package/app/.next/static/chunks/app/_not-found/page-7e26da6572c546ac.js +0 -1
  749. package/app/.next/static/chunks/app/api/auth/login/route-aed1b231bb49a704.js +0 -1
  750. package/app/.next/static/chunks/app/api/auth/logout/route-aed1b231bb49a704.js +0 -1
  751. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-aed1b231bb49a704.js +0 -1
  752. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-aed1b231bb49a704.js +0 -1
  753. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-aed1b231bb49a704.js +0 -1
  754. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-aed1b231bb49a704.js +0 -1
  755. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-aed1b231bb49a704.js +0 -1
  756. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-aed1b231bb49a704.js +0 -1
  757. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-aed1b231bb49a704.js +0 -1
  758. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-aed1b231bb49a704.js +0 -1
  759. package/app/.next/static/chunks/app/api/cloud/auth/route-aed1b231bb49a704.js +0 -1
  760. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-aed1b231bb49a704.js +0 -1
  761. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-aed1b231bb49a704.js +0 -1
  762. package/app/.next/static/chunks/app/api/cloud/models/alias/route-aed1b231bb49a704.js +0 -1
  763. package/app/.next/static/chunks/app/api/combos/[id]/route-aed1b231bb49a704.js +0 -1
  764. package/app/.next/static/chunks/app/api/combos/route-aed1b231bb49a704.js +0 -1
  765. package/app/.next/static/chunks/app/api/employees/[keyId]/stats/route-aed1b231bb49a704.js +0 -1
  766. package/app/.next/static/chunks/app/api/employees/stats/route-aed1b231bb49a704.js +0 -1
  767. package/app/.next/static/chunks/app/api/init/route-aed1b231bb49a704.js +0 -1
  768. package/app/.next/static/chunks/app/api/keys/[id]/route-aed1b231bb49a704.js +0 -1
  769. package/app/.next/static/chunks/app/api/keys/route-aed1b231bb49a704.js +0 -1
  770. package/app/.next/static/chunks/app/api/locale/route-aed1b231bb49a704.js +0 -1
  771. package/app/.next/static/chunks/app/api/models/alias/route-aed1b231bb49a704.js +0 -1
  772. package/app/.next/static/chunks/app/api/models/route-aed1b231bb49a704.js +0 -1
  773. package/app/.next/static/chunks/app/api/models/test/route-aed1b231bb49a704.js +0 -1
  774. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-aed1b231bb49a704.js +0 -1
  775. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-aed1b231bb49a704.js +0 -1
  776. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-aed1b231bb49a704.js +0 -1
  777. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-aed1b231bb49a704.js +0 -1
  778. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-aed1b231bb49a704.js +0 -1
  779. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-aed1b231bb49a704.js +0 -1
  780. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-aed1b231bb49a704.js +0 -1
  781. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-aed1b231bb49a704.js +0 -1
  782. package/app/.next/static/chunks/app/api/pricing/route-aed1b231bb49a704.js +0 -1
  783. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-aed1b231bb49a704.js +0 -1
  784. package/app/.next/static/chunks/app/api/provider-nodes/route-aed1b231bb49a704.js +0 -1
  785. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-aed1b231bb49a704.js +0 -1
  786. package/app/.next/static/chunks/app/api/providers/[id]/models/route-aed1b231bb49a704.js +0 -1
  787. package/app/.next/static/chunks/app/api/providers/[id]/route-aed1b231bb49a704.js +0 -1
  788. package/app/.next/static/chunks/app/api/providers/[id]/test/route-aed1b231bb49a704.js +0 -1
  789. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-aed1b231bb49a704.js +0 -1
  790. package/app/.next/static/chunks/app/api/providers/client/route-aed1b231bb49a704.js +0 -1
  791. package/app/.next/static/chunks/app/api/providers/route-aed1b231bb49a704.js +0 -1
  792. package/app/.next/static/chunks/app/api/providers/test-batch/route-aed1b231bb49a704.js +0 -1
  793. package/app/.next/static/chunks/app/api/providers/validate/route-aed1b231bb49a704.js +0 -1
  794. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-aed1b231bb49a704.js +0 -1
  795. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-aed1b231bb49a704.js +0 -1
  796. package/app/.next/static/chunks/app/api/proxy-pools/route-aed1b231bb49a704.js +0 -1
  797. package/app/.next/static/chunks/app/api/settings/database/route-aed1b231bb49a704.js +0 -1
  798. package/app/.next/static/chunks/app/api/settings/proxy-test/route-aed1b231bb49a704.js +0 -1
  799. package/app/.next/static/chunks/app/api/settings/require-login/route-aed1b231bb49a704.js +0 -1
  800. package/app/.next/static/chunks/app/api/settings/route-aed1b231bb49a704.js +0 -1
  801. package/app/.next/static/chunks/app/api/shutdown/route-aed1b231bb49a704.js +0 -1
  802. package/app/.next/static/chunks/app/api/tags/route-aed1b231bb49a704.js +0 -1
  803. package/app/.next/static/chunks/app/api/translator/console-logs/route-aed1b231bb49a704.js +0 -1
  804. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-aed1b231bb49a704.js +0 -1
  805. package/app/.next/static/chunks/app/api/translator/load/route-aed1b231bb49a704.js +0 -1
  806. package/app/.next/static/chunks/app/api/translator/save/route-aed1b231bb49a704.js +0 -1
  807. package/app/.next/static/chunks/app/api/translator/send/route-aed1b231bb49a704.js +0 -1
  808. package/app/.next/static/chunks/app/api/translator/translate/route-aed1b231bb49a704.js +0 -1
  809. package/app/.next/static/chunks/app/api/tunnel/disable/route-aed1b231bb49a704.js +0 -1
  810. package/app/.next/static/chunks/app/api/tunnel/enable/route-aed1b231bb49a704.js +0 -1
  811. package/app/.next/static/chunks/app/api/tunnel/status/route-aed1b231bb49a704.js +0 -1
  812. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-aed1b231bb49a704.js +0 -1
  813. package/app/.next/static/chunks/app/api/usage/chart/route-aed1b231bb49a704.js +0 -1
  814. package/app/.next/static/chunks/app/api/usage/history/route-aed1b231bb49a704.js +0 -1
  815. package/app/.next/static/chunks/app/api/usage/logs/route-aed1b231bb49a704.js +0 -1
  816. package/app/.next/static/chunks/app/api/usage/providers/route-aed1b231bb49a704.js +0 -1
  817. package/app/.next/static/chunks/app/api/usage/request-details/[id]/route-aed1b231bb49a704.js +0 -1
  818. package/app/.next/static/chunks/app/api/usage/request-details/route-aed1b231bb49a704.js +0 -1
  819. package/app/.next/static/chunks/app/api/usage/request-logs/route-aed1b231bb49a704.js +0 -1
  820. package/app/.next/static/chunks/app/api/usage/stats/route-aed1b231bb49a704.js +0 -1
  821. package/app/.next/static/chunks/app/api/usage/stream/route-aed1b231bb49a704.js +0 -1
  822. package/app/.next/static/chunks/app/api/v1/api/chat/route-aed1b231bb49a704.js +0 -1
  823. package/app/.next/static/chunks/app/api/v1/chat/completions/route-aed1b231bb49a704.js +0 -1
  824. package/app/.next/static/chunks/app/api/v1/embeddings/route-aed1b231bb49a704.js +0 -1
  825. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-aed1b231bb49a704.js +0 -1
  826. package/app/.next/static/chunks/app/api/v1/messages/route-aed1b231bb49a704.js +0 -1
  827. package/app/.next/static/chunks/app/api/v1/models/route-aed1b231bb49a704.js +0 -1
  828. package/app/.next/static/chunks/app/api/v1/responses/route-aed1b231bb49a704.js +0 -1
  829. package/app/.next/static/chunks/app/api/v1/route-aed1b231bb49a704.js +0 -1
  830. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-aed1b231bb49a704.js +0 -1
  831. package/app/.next/static/chunks/app/api/v1beta/models/route-aed1b231bb49a704.js +0 -1
  832. package/app/.next/static/chunks/app/api/v1internal/route-aed1b231bb49a704.js +0 -1
  833. package/app/.next/static/chunks/app/api/version/route-aed1b231bb49a704.js +0 -1
  834. package/app/.next/static/chunks/app/landing/page-a9fde23d5773613c.js +0 -1
  835. package/app/.next/static/chunks/app/login/page-650676272c54863b.js +0 -1
  836. package/app/.next/static/chunks/app/manifest.webmanifest/route-aed1b231bb49a704.js +0 -1
  837. package/app/.next/static/chunks/app/page-aed1b231bb49a704.js +0 -1
  838. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-aed1b231bb49a704.js +0 -1
  839. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-aed1b231bb49a704.js +0 -1
  840. package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-3c2797dc10ec6327.js +0 -1
  841. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-aed1b231bb49a704.js +0 -1
  842. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aed1b231bb49a704.js +0 -1
  843. package/app/.next/static/css/d8615a67dff78a65.css +0 -3
  844. /package/app/.next/static/{6NQ1tUqoUU-Vnz_TZ3Qh- → jte_Hfgy-t_AHpT39tLxg}/_ssgManifest.js +0 -0
@@ -54,6 +54,10 @@ export function convertOpenAIContentToParts(content) {
54
54
  inlineData: { mime_type: mimeType, data: data }
55
55
  });
56
56
  }
57
+ } else if (item.type === "image_url" && item.image_url?.url && (item.image_url.url.startsWith("http://") || item.image_url.url.startsWith("https://"))) {
58
+ parts.push({
59
+ fileData: { fileUri: item.image_url.url, mimeType: "image/*" }
60
+ });
57
61
  }
58
62
  }
59
63
  }
@@ -138,12 +142,16 @@ function convertConstToEnum(obj) {
138
142
  }
139
143
  }
140
144
 
141
- // Convert enum values to strings (Gemini requires string enum values)
145
+ // Convert enum values to strings (Gemini requires string enum values + explicit type:"string")
142
146
  function convertEnumValuesToStrings(obj) {
143
147
  if (!obj || typeof obj !== "object") return;
144
148
 
145
149
  if (obj.enum && Array.isArray(obj.enum)) {
146
150
  obj.enum = obj.enum.map(v => String(v));
151
+ // Gemini API requires type:"string" when enum is present — without it returns 400
152
+ if (!obj.type) {
153
+ obj.type = "string";
154
+ }
147
155
  }
148
156
 
149
157
  for (const value of Object.values(obj)) {
@@ -216,6 +216,11 @@ function getContentBlocksFromMessage(msg, toolNameMap = new Map()) {
216
216
  type: "image",
217
217
  source: { type: "base64", media_type: match[1], data: match[2] }
218
218
  });
219
+ } else if (url.startsWith("http://") || url.startsWith("https://")) {
220
+ blocks.push({
221
+ type: "image",
222
+ source: { type: "url", url }
223
+ });
219
224
  }
220
225
  } else if (part.type === "image" && part.source) {
221
226
  blocks.push({ type: "image", source: part.source });
@@ -178,19 +178,21 @@ function openaiToGeminiBase(model, body, stream) {
178
178
  for (const t of body.tools) {
179
179
  // Check if already in Anthropic/Claude format (no type field, direct name/description/input_schema)
180
180
  if (t.name && t.input_schema) {
181
+ const cleanedSchema = cleanJSONSchemaForAntigravity(structuredClone(t.input_schema || { type: "object", properties: {} }));
181
182
  functionDeclarations.push({
182
183
  name: t.name,
183
184
  description: t.description || "",
184
- parameters: t.input_schema || { type: "object", properties: {} }
185
+ parameters: cleanedSchema
185
186
  });
186
187
  }
187
188
  // OpenAI format
188
189
  else if (t.type === "function" && t.function) {
189
190
  const fn = t.function;
191
+ const cleanedSchema = cleanJSONSchemaForAntigravity(structuredClone(fn.parameters || { type: "object", properties: {} }));
190
192
  functionDeclarations.push({
191
193
  name: fn.name,
192
194
  description: fn.description || "",
193
- parameters: fn.parameters || { type: "object", properties: {} }
195
+ parameters: cleanedSchema
194
196
  });
195
197
  }
196
198
  }
@@ -20,6 +20,9 @@ function convertMessages(messages, tools, model) {
20
20
  let pendingImages = [];
21
21
  let currentRole = null;
22
22
 
23
+ // Only Claude models support images in Kiro
24
+ const supportsImages = model && model.toLowerCase().includes("claude");
25
+
23
26
  const flushPending = () => {
24
27
  if (currentRole === "user") {
25
28
  const content = pendingUserContent.join("\n\n").trim() || "continue";
@@ -112,18 +115,25 @@ function convertMessages(messages, tools, model) {
112
115
  for (const c of msg.content) {
113
116
  if (c.type === "text" || c.text) {
114
117
  textParts.push(c.text || "");
115
- } else if (c.type === "image_url") {
118
+ } else if (supportsImages && c.type === "image_url") {
119
+ // OpenAI format: image_url.url with data URI
116
120
  const url = c.image_url?.url || "";
117
121
  const base64Match = url.match(/^data:([^;]+);base64,(.+)$/);
118
122
  if (base64Match) {
119
- // Extract format from media type (e.g. "image/png" → "png")
120
123
  const mediaType = base64Match[1];
121
124
  const format = mediaType.split("/")[1] || mediaType;
122
125
  pendingImages.push({ format, source: { bytes: base64Match[2] } });
123
126
  } else if (url.startsWith("http://") || url.startsWith("https://")) {
124
- // Kiro images field only supports base64 — fallback to URL text
127
+ // Kiro only supports base64 — fallback to URL text
125
128
  textParts.push(`[Image: ${url}]`);
126
129
  }
130
+ } else if (supportsImages && c.type === "image") {
131
+ // Claude format: source.type = "base64", source.media_type, source.data
132
+ if (c.source?.type === "base64" && c.source?.data) {
133
+ const mediaType = c.source.media_type || "image/png";
134
+ const format = mediaType.split("/")[1] || mediaType;
135
+ pendingImages.push({ format, source: { bytes: c.source.data } });
136
+ }
127
137
  }
128
138
  }
129
139
  content = textParts.join("\n");
@@ -219,37 +229,40 @@ function convertMessages(messages, tools, model) {
219
229
  flushPending();
220
230
  }
221
231
 
222
- // If last message in history is userInputMessage, use it as currentMessage
223
- if (history.length > 0 && history[history.length - 1].userInputMessage) {
224
- currentMessage = history.pop();
225
- }
226
-
227
- const firstHistoryItem = history[0];
228
- if (firstHistoryItem?.userInputMessage?.userInputMessageContext?.tools &&
229
- !currentMessage?.userInputMessage?.userInputMessageContext?.tools) {
230
- if (!currentMessage.userInputMessage.userInputMessageContext) {
231
- currentMessage.userInputMessage.userInputMessageContext = {};
232
+ // Pop last userInputMessage as currentMessage (search from end, skip trailing assistant messages)
233
+ for (let i = history.length - 1; i >= 0; i--) {
234
+ if (history[i].userInputMessage) {
235
+ currentMessage = history.splice(i, 1)[0];
236
+ break;
232
237
  }
233
- currentMessage.userInputMessage.userInputMessageContext.tools =
234
- firstHistoryItem.userInputMessage.userInputMessageContext.tools;
235
238
  }
236
-
239
+
240
+ // Grab tools from first history item BEFORE cleanup removes them
241
+ const firstHistoryTools = history[0]?.userInputMessage?.userInputMessageContext?.tools;
242
+
237
243
  // Clean up history for Kiro API compatibility
238
244
  history.forEach(item => {
239
245
  if (item.userInputMessage?.userInputMessageContext?.tools) {
240
246
  delete item.userInputMessage.userInputMessageContext.tools;
241
247
  }
242
-
243
- if (item.userInputMessage?.userInputMessageContext &&
248
+ if (item.userInputMessage?.userInputMessageContext &&
244
249
  Object.keys(item.userInputMessage.userInputMessageContext).length === 0) {
245
250
  delete item.userInputMessage.userInputMessageContext;
246
251
  }
247
-
248
252
  if (item.userInputMessage && !item.userInputMessage.modelId) {
249
253
  item.userInputMessage.modelId = model;
250
254
  }
251
255
  });
252
256
 
257
+ // Inject tools into currentMessage AFTER cleanup
258
+ if (firstHistoryTools && currentMessage?.userInputMessage &&
259
+ !currentMessage.userInputMessage.userInputMessageContext?.tools) {
260
+ if (!currentMessage.userInputMessage.userInputMessageContext) {
261
+ currentMessage.userInputMessage.userInputMessageContext = {};
262
+ }
263
+ currentMessage.userInputMessage.userInputMessageContext.tools = firstHistoryTools;
264
+ }
265
+
253
266
  return { history, currentMessage };
254
267
  }
255
268
 
@@ -364,6 +364,7 @@ export function openaiResponsesToOpenAIResponse(chunk, state) {
364
364
  // Flush: send final chunk with finish_reason
365
365
  if (!state.finishReasonSent && state.started) {
366
366
  state.finishReasonSent = true;
367
+ const hasToolCalls = state.toolCallIndex > 0;
367
368
  return {
368
369
  id: state.chatId || `chatcmpl-${Date.now()}`,
369
370
  object: "chat.completion.chunk",
@@ -372,7 +373,7 @@ export function openaiResponsesToOpenAIResponse(chunk, state) {
372
373
  choices: [{
373
374
  index: 0,
374
375
  delta: {},
375
- finish_reason: "stop"
376
+ finish_reason: hasToolCalls ? "tool_calls" : "stop"
376
377
  }]
377
378
  };
378
379
  }
@@ -505,7 +506,9 @@ export function openaiResponsesToOpenAIResponse(chunk, state) {
505
506
 
506
507
  if (!state.finishReasonSent) {
507
508
  state.finishReasonSent = true;
508
- state.finishReason = "stop"; // Mark for usage injection in stream.js
509
+ const hasToolCalls = state.toolCallIndex > 0;
510
+ const resolvedFinishReason = hasToolCalls ? "tool_calls" : "stop";
511
+ state.finishReason = resolvedFinishReason; // Mark for usage injection in stream.js
509
512
 
510
513
  const finalChunk = {
511
514
  id: state.chatId,
@@ -515,7 +518,7 @@ export function openaiResponsesToOpenAIResponse(chunk, state) {
515
518
  choices: [{
516
519
  index: 0,
517
520
  delta: {},
518
- finish_reason: "stop"
521
+ finish_reason: resolvedFinishReason
519
522
  }]
520
523
  };
521
524
 
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "9router-app",
3
- "version": "0.3.60-i9",
3
+ "version": "0.3.60-i10",
4
4
  "description": "9Router web dashboard",
5
5
  "private": true,
6
6
  "scripts": {
@@ -37,7 +37,8 @@
37
37
  "sql.js": "^1.14.1",
38
38
  "undici": "^7.19.2",
39
39
  "uuid": "^13.0.0",
40
- "zustand": "^5.0.10"
40
+ "zustand": "^5.0.10",
41
+ "better-sqlite3": "^12.6.2"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@tailwindcss/postcss": "^4.1.18",
package/app/server.js CHANGED
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
9
9
  const hostname = process.env.HOSTNAME || '0.0.0.0'
10
10
 
11
11
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
12
- const nextConfig = {"env":{},"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/nip","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":7,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","turbopack":{"root":"/Users/nip"},"distDirRoot":".next","_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/v1internal\\:streamGenerateContent","destination":"/api/v1internal"},{"source":"/v1internal\\:generateContent","destination":"/api/v1internal"},{"source":"/v1/v1/:path*","destination":"/api/v1/:path*"},{"source":"/v1/v1","destination":"/api/v1"},{"source":"/codex/:path*","destination":"/api/v1/responses"},{"source":"/v1/:path*","destination":"/api/v1/:path*"},{"source":"/v1","destination":"/api/v1"}],"fallback":[]}}
12
+ const nextConfig = {"env":{},"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/nip","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","serverExternalPackages":["better-sqlite3"],"turbopack":{"root":"/Users/nip"},"distDirRoot":".next","_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/v1internal\\:streamGenerateContent","destination":"/api/v1internal"},{"source":"/v1internal\\:generateContent","destination":"/api/v1internal"},{"source":"/v1/v1/:path*","destination":"/api/v1/:path*"},{"source":"/v1/v1","destination":"/api/v1"},{"source":"/codex/:path*","destination":"/api/v1/responses"},{"source":"/v1/:path*","destination":"/api/v1/:path*"},{"source":"/v1","destination":"/api/v1"}],"fallback":[]}}
13
13
 
14
14
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
15
15
 
@@ -2,7 +2,11 @@
2
2
 
3
3
  /**
4
4
  * Postinstall hook for 9router CLI
5
- * Rebuilds better-sqlite3 native addon for the current platform
5
+ *
6
+ * The standalone Next.js build ships a pre-compiled better-sqlite3 binary
7
+ * (built on macOS during CI). When installed on a different platform (Linux),
8
+ * the binary is invalid. This hook detects the mismatch and installs
9
+ * better-sqlite3 fresh from npm so it compiles for the target platform.
6
10
  */
7
11
 
8
12
  const { execSync } = require("child_process");
@@ -14,60 +18,107 @@ const betterSqlitePath = path.join(appDir, "node_modules", "better-sqlite3");
14
18
 
15
19
  // Check if better-sqlite3 exists
16
20
  if (!fs.existsSync(betterSqlitePath)) {
17
- console.log("better-sqlite3 not found, skipping rebuild");
21
+ console.log("[postinstall] better-sqlite3 not found in app/, installing...");
22
+ installFresh();
18
23
  process.exit(0);
19
24
  }
20
25
 
21
26
  // Check if native binary is valid for current platform
22
- function isValidBinary() {
23
- const buildDir = path.join(betterSqlitePath, "build", "Release");
24
- const binaryPath = path.join(buildDir, "better_sqlite3.node");
27
+ if (isValidBinary()) {
28
+ console.log("[postinstall] better-sqlite3 binary is valid for this platform ✓");
29
+ process.exit(0);
30
+ }
25
31
 
26
- if (!fs.existsSync(binaryPath)) {
27
- return false;
32
+ console.log("[postinstall] better-sqlite3 binary is not valid for this platform, reinstalling...");
33
+
34
+ // Check if binding.gyp exists (needed for rebuild)
35
+ const bindingGyp = path.join(betterSqlitePath, "binding.gyp");
36
+ if (fs.existsSync(bindingGyp)) {
37
+ // Has source files — try rebuild first (faster)
38
+ console.log("[postinstall] Attempting rebuild...");
39
+ try {
40
+ execSync("npm rebuild better-sqlite3 --build-from-source", {
41
+ cwd: appDir,
42
+ stdio: "inherit",
43
+ timeout: 120000,
44
+ });
45
+ if (isValidBinary()) {
46
+ console.log("[postinstall] Rebuild successful ✓");
47
+ process.exit(0);
48
+ }
49
+ } catch (e) {
50
+ console.log("[postinstall] Rebuild failed, will install fresh...");
28
51
  }
52
+ }
29
53
 
30
- const fd = fs.openSync(binaryPath, "r");
31
- const buffer = Buffer.alloc(4);
32
- fs.readSync(fd, buffer, 0, 4, 0);
33
- fs.closeSync(fd);
54
+ // No binding.gyp or rebuild failed — install fresh
55
+ installFresh();
34
56
 
35
- const magic = buffer.toString("hex");
57
+ // ─── Helpers ────────────────────────────────────────────────────────────────
36
58
 
37
- // ELF (Linux): 7f454c46
38
- // Mach-O (macOS): cffaedfe or cefaedfe (little/big endian)
39
- // PE (Windows): 4d5a (MZ)
40
- const isLinux = magic.startsWith("7f454c46");
41
- const isMacOS = magic.startsWith("cffaedfe") || magic.startsWith("cefaedfe");
42
- const isWindows = magic.startsWith("4d5a");
59
+ function installFresh() {
60
+ try {
61
+ // Read version from existing package if possible
62
+ let version = "";
63
+ try {
64
+ const pkg = JSON.parse(
65
+ fs.readFileSync(path.join(betterSqlitePath, "package.json"), "utf-8")
66
+ );
67
+ version = `@${pkg.version}`;
68
+ } catch {
69
+ version = "@^12.6.2"; // fallback
70
+ }
43
71
 
44
- const platform = process.platform;
45
- const expectedLinux = platform === "linux" && isLinux;
46
- const expectedMacOS = platform === "darwin" && isMacOS;
47
- const expectedWindows = platform === "win32" && isWindows;
72
+ // Remove the broken copy
73
+ if (fs.existsSync(betterSqlitePath)) {
74
+ fs.rmSync(betterSqlitePath, { recursive: true, force: true });
75
+ }
48
76
 
49
- return expectedLinux || expectedMacOS || expectedWindows;
50
- }
77
+ console.log(`[postinstall] Installing better-sqlite3${version} from npm...`);
78
+ execSync(`npm install better-sqlite3${version} --no-save --build-from-source`, {
79
+ cwd: appDir,
80
+ stdio: "inherit",
81
+ timeout: 180000,
82
+ });
51
83
 
52
- // Skip rebuild if binary is already valid
53
- if (isValidBinary()) {
54
- console.log("better-sqlite3 binary is valid for this platform, skipping rebuild");
55
- process.exit(0);
84
+ if (isValidBinary()) {
85
+ console.log("[postinstall] better-sqlite3 installed successfully ✓");
86
+ } else {
87
+ console.warn("[postinstall] ⚠ Binary still invalid after fresh install");
88
+ console.warn("[postinstall] Make sure build tools are installed: python3, make, gcc/g++");
89
+ }
90
+ } catch (error) {
91
+ console.warn("[postinstall] ⚠ Failed to install better-sqlite3");
92
+ console.warn("[postinstall] Make sure build tools are installed: python3, make, gcc/g++");
93
+ console.warn("[postinstall] Error:", error.message);
94
+ }
56
95
  }
57
96
 
58
- console.log("Rebuilding better-sqlite3 for current platform...");
59
-
60
- try {
61
- execSync("npm rebuild better-sqlite3 --build-from-source", {
62
- cwd: appDir,
63
- stdio: "inherit",
64
- timeout: 120000
65
- });
66
- console.log("better-sqlite3 rebuilt successfully");
67
- } catch (error) {
68
- console.warn("Failed to rebuild better-sqlite3. The app may not work correctly.");
69
- console.warn("Make sure you have build tools installed (python, make, gcc/node-gyp)");
70
- console.warn("Error:", error.message);
71
- // Don't exit with error code - allow install to complete
72
- process.exit(0);
97
+ function isValidBinary() {
98
+ const binaryPath = path.join(
99
+ betterSqlitePath, "build", "Release", "better_sqlite3.node"
100
+ );
101
+
102
+ if (!fs.existsSync(binaryPath)) return false;
103
+
104
+ try {
105
+ const fd = fs.openSync(binaryPath, "r");
106
+ const buffer = Buffer.alloc(4);
107
+ fs.readSync(fd, buffer, 0, 4, 0);
108
+ fs.closeSync(fd);
109
+
110
+ const magic = buffer.toString("hex");
111
+
112
+ // ELF (Linux): 7f454c46
113
+ // Mach-O (macOS): cffaedfe or cefaedfe
114
+ // PE (Windows): 4d5a (MZ)
115
+ const platform = process.platform;
116
+ if (platform === "linux") return magic.startsWith("7f454c46");
117
+ if (platform === "darwin") return magic.startsWith("cffaedfe") || magic.startsWith("cefaedfe");
118
+ if (platform === "win32") return magic.startsWith("4d5a");
119
+
120
+ return false;
121
+ } catch {
122
+ return false;
123
+ }
73
124
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thangnm.nip/irouter",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "9Router CLI - Start and manage 9Router server",
5
5
  "bin": {
6
6
  "irouter": "./cli.js"
@@ -1 +0,0 @@
1
- "use strict";exports.id=4755,exports.ids=[4755],exports.modules={50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -1,2 +0,0 @@
1
- "use strict";exports.id=4989,exports.ids=[4989],exports.modules={47370:(a,b,c)=>{c.d(b,{BY:()=>F,E5:()=>B,SL:()=>n.getRequestDetails,Zx:()=>C,_V:()=>w,calculateCost:()=>D,getUsageDb:()=>z,j$:()=>G,ox:()=>n.o,rg:()=>y,sZ:()=>A,uw:()=>x});var d=c(82996),e=c(11259),f=c(94735),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(29021),l=c.n(k),m=c(1932),n=c(90336);let o="u">typeof caches||"object"==typeof caches,p=function(){if(o)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;try{let a=process.platform,b=j().homedir(),c=function(){if(o)return"9router";let a=h().dirname((0,m.fileURLToPath)("file:///Users/nip/WORKSPACE/02.SOURCE/ICHECK/01.%20PROJECT/irouter/9router/src/lib/usageDb.js")),b=h().resolve(a,"../../../package.json");try{let a=JSON.parse(l().readFileSync(b,"utf-8"));return a.config?.appName||"9router"}catch{return"9router"}}();if("win32"===a)return h().join(process.env.APPDATA||h().join(b,"AppData","Roaming"),c);return h().join(b,`.${c}`)}catch(a){return console.error("[usageDb] Failed to get user data directory:",a.message),h().join(process.cwd(),".9router")}}(),q=o?null:h().join(p,"usage.json"),r=o?null:h().join(p,"log.txt");if(!o&&l()&&"function"==typeof l().existsSync)try{l().existsSync(p)||(l().mkdirSync(p,{recursive:!0}),console.log(`[usageDb] Created data directory: ${p}`))}catch(a){console.error("[usageDb] Failed to create data directory:",a.message)}let s={history:[]},t=null;global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{},byApiKey:{}});let u=global._pendingRequests;global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0});let v=global._lastErrorProvider;global._statsEmitter||(global._statsEmitter=new f.EventEmitter,global._statsEmitter.setMaxListeners(50));let w=global._statsEmitter;function x(a,b,c,d,e=!1,f=null){let g=b?`${a} (${b})`:a;u.byModel[g]||(u.byModel[g]=0),u.byModel[g]=Math.max(0,u.byModel[g]+(d?1:-1)),c&&(u.byAccount[c]||(u.byAccount[c]={}),u.byAccount[c][g]||(u.byAccount[c][g]=0),u.byAccount[c][g]=Math.max(0,u.byAccount[c][g]+(d?1:-1))),f&&(u.byApiKey[f]||(u.byApiKey[f]={}),u.byApiKey[f][g]||(u.byApiKey[f][g]=0),u.byApiKey[f][g]=Math.max(0,u.byApiKey[f][g]+(d?1:-1))),!d&&e&&b&&(v.provider=b.toLowerCase(),v.ts=Date.now());let h=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});console.log(`[${h}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),w.emit("pending")}async function y(){let a=[],b={};try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718));for(let c of(await a()))b[c.id]=c.name||c.email||c.id}catch{}let d={};try{let{getApiKeys:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718));for(let b of(await a()))d[b.key]=b.name||b.key.slice(0,8)+"..."}catch{}let e=new Set;for(let[a,b]of Object.entries(u.byApiKey||{}))for(let[,c]of Object.entries(b))c>0&&e.add(d[a]||a.slice(0,8)+"...");for(let[c,d]of Object.entries(u.byAccount))for(let[e,f]of Object.entries(d))if(f>0){let d=b[c]||`Account ${c.slice(0,8)}...`,g=e.match(/^(.*) \((.*)\)$/),h=g?g[1]:e,i=g?g[2]:"unknown";a.push({model:h,provider:i,account:d,count:f})}let f=await z();await f.read();let g=f.data.history||[],h=new Set;return{activeRequests:a,recentRequests:[...g].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,e=b.completion_tokens||b.output_tokens||0,f=a.apiKey?d[a.apiKey]||a.apiKey.slice(0,8)+"...":"Local";return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:e,status:a.status||"ok",keyName:f}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!h.has(c)&&(h.add(c),!0)}).slice(0,20),errorProvider:Date.now()-v.ts<1e4?v.provider:"",activeKeyNames:[...e]}}async function z(){if(o)return t||((t=new d.t({read:async()=>{},write:async()=>{}},s)).data=s),t;if(!t){let a=new e.Pv(q);t=new d.t(a,s);try{await t.read()}catch(a){if(a instanceof SyntaxError)console.warn("[DB] Corrupt Usage JSON detected, resetting to defaults..."),t.data=s,await t.write();else throw a}t.data||(t.data=s,await t.write())}return t}async function A(a){if(!o)try{let b=await z();a.timestamp||(a.timestamp=new Date().toISOString()),Array.isArray(b.data.history)||(b.data.history=[]);let c=await D(a.provider,a.model,a.tokens);if(a.cost=c,b.data.history.push(a),"number"!=typeof b.data.totalRequestCounter?b.data.totalRequestCounter=b.data.history.length:b.data.totalRequestCounter+=1,b.data.history.length>5e4){let a=b.data.history.length-5e4,c=b.data.history.splice(0,a);for(let a of(b.data.prunedStats||(b.data.prunedStats={requests:0,cost:0,promptTokens:0,completionTokens:0}),c)){b.data.prunedStats.requests+=1,b.data.prunedStats.cost+=a.cost||0;let c=a.tokens||{};b.data.prunedStats.promptTokens+=c.prompt_tokens||c.input_tokens||0,b.data.prunedStats.completionTokens+=c.completion_tokens||c.output_tokens||0}}await b.write(),w.emit("update")}catch(a){console.error("Failed to save usage stats:",a)}}async function B({model:a,provider:b,connectionId:d,tokens:e,status:f}){if(!o)try{let g=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=b(a.getDate()),d=b(a.getMonth()+1),e=a.getFullYear(),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}-${d}-${e} ${f}:${g}:${h}`}(),h=b?.toUpperCase()||"-",i=d?d.slice(0,8):"-";try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=(await a()).find(a=>a.id===d);b&&(i=b.name||b.email||i)}catch{}let j=e?.prompt_tokens!==void 0?e.prompt_tokens:"-",k=e?.completion_tokens!==void 0?e.completion_tokens:"-",m=`${g} | ${a||"-"} | ${h} | ${i} | ${j} | ${k} | ${f}
2
- `;l().appendFileSync(r,m);let n=l().readFileSync(r,"utf-8").trim().split("\n");n.length>200&&l().writeFileSync(r,n.slice(-200).join("\n")+"\n")}catch(a){console.error("Failed to append to log.txt:",a.message)}}async function C(a=200){if(o)return[];if(!l()||"function"!=typeof l().existsSync)return console.error("[usageDb] fs module not available in this environment"),[];if(!r)return console.error("[usageDb] LOG_FILE path not defined"),[];if(!l().existsSync(r))return console.log(`[usageDb] Log file does not exist: ${r}`),[];try{return l().readFileSync(r,"utf-8").trim().split("\n").slice(-a).reverse()}catch(a){return console.error("[usageDb] Failed to read log.txt:",a.message),console.error("[usageDb] LOG_FILE path:",r),[]}}async function D(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}let E={"2h":72e5,"6h":216e5,"12h":432e5,"24h":864e5,"7d":6048e5,"30d":2592e6,"60d":5184e6};async function F(a="all"){let b=await z(),d=b.data.history||[];if(a&&E[a]){let b=Date.now()-E[a];d=d.filter(a=>new Date(a.timestamp).getTime()>=b)}let{getProviderConnections:e,getApiKeys:f,getProviderNodes:g}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),h=[];try{h=await e()}catch(a){console.warn("Could not fetch provider connections for usage stats:",a.message)}let i={};for(let a of h)i[a.id]=a.name||a.email||a.id;let j={};try{for(let a of(await g()))a.id&&a.name&&(j[a.id]=a.name)}catch{}let k=[];try{k=await f()}catch(a){console.warn("Could not fetch API keys for usage stats:",a.message)}let l={};for(let a of k)l[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let m=new Set,n=[...d].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,d=b.completion_tokens||b.output_tokens||0,e=a.apiKey?l[a.apiKey]?.name||a.apiKey.slice(0,8)+"...":"Local";return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:d,status:a.status||"ok",keyName:e}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!m.has(c)&&(m.add(c),!0)}).slice(0,20);b.data.prunedStats;let o={totalRequests:(!a||"all"===a||!E[a])&&b.data.totalRequestCounter||d.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{},last10Minutes:[],pending:u,activeRequests:[],recentRequests:n,errorProvider:Date.now()-v.ts<1e4?v.provider:"",activeKeyNames:Object.entries(u.byApiKey||{}).filter(([,a])=>Object.values(a).some(a=>a>0)).map(([a])=>l[a]?.name||a.slice(0,8)+"...")};for(let[a,b]of Object.entries(u.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=i[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/),f=e?e[1]:c,g=e?e[2]:"unknown";o.activeRequests.push({model:f,provider:g,account:b,count:d})}let p=new Date,q=new Date(6e4*Math.floor(p.getTime()/6e4)),r=new Date(q.getTime()-54e4),s={};for(let a=0;a<10;a++){let b=new Date(q.getTime()-(9-a)*6e4).getTime();s[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},o.last10Minutes.push(s[b])}for(let a of d){let b=a.tokens?.prompt_tokens||0,c=a.tokens?.completion_tokens||0,d=new Date(a.timestamp),e=a.cost||0;if(o.totalPromptTokens+=b,o.totalCompletionTokens+=c,o.totalCost+=e,d>=r&&d<=p){let a=6e4*Math.floor(d.getTime()/6e4);s[a]&&(s[a].requests++,s[a].promptTokens+=b,s[a].completionTokens+=c,s[a].cost+=e)}o.byProvider[a.provider]||(o.byProvider[a.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),o.byProvider[a.provider].requests++,o.byProvider[a.provider].promptTokens+=b,o.byProvider[a.provider].completionTokens+=c,o.byProvider[a.provider].cost+=e;let f=a.provider?`${a.model} (${a.provider})`:a.model,g=j[a.provider]||a.provider;if(o.byModel[f]||(o.byModel[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,lastUsed:a.timestamp}),o.byModel[f].requests++,o.byModel[f].promptTokens+=b,o.byModel[f].completionTokens+=c,o.byModel[f].cost+=e,new Date(a.timestamp)>new Date(o.byModel[f].lastUsed)&&(o.byModel[f].lastUsed=a.timestamp),a.connectionId){let d=i[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,f=`${a.model} (${a.provider} - ${d})`;o.byAccount[f]||(o.byAccount[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,connectionId:a.connectionId,accountName:d,lastUsed:a.timestamp}),o.byAccount[f].requests++,o.byAccount[f].promptTokens+=b,o.byAccount[f].completionTokens+=c,o.byAccount[f].cost+=e,new Date(a.timestamp)>new Date(o.byAccount[f].lastUsed)&&(o.byAccount[f].lastUsed=a.timestamp)}if(a.apiKey&&"string"==typeof a.apiKey){let d=l[a.apiKey],f=d?.name||a.apiKey.slice(0,8)+"...",h=a.apiKey,i=`${h}|${a.model}|${a.provider||"unknown"}`;o.byApiKey[i]||(o.byApiKey[i]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKey:a.apiKey,keyName:f,apiKeyKey:h,lastUsed:a.timestamp});let j=o.byApiKey[i];j.requests++,j.promptTokens+=b,j.completionTokens+=c,j.cost+=e,new Date(a.timestamp)>new Date(j.lastUsed)&&(j.lastUsed=a.timestamp)}else{let d="local-no-key";o.byApiKey[d]||(o.byApiKey[d]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKey:null,keyName:"Local (No API Key)",apiKeyKey:d,lastUsed:a.timestamp});let f=o.byApiKey[d];f.requests++,f.promptTokens+=b,f.completionTokens+=c,f.cost+=e,new Date(a.timestamp)>new Date(f.lastUsed)&&(f.lastUsed=a.timestamp)}let h=a.endpoint||"Unknown",k=`${h}|${a.model}|${a.provider||"unknown"}`;o.byEndpoint[k]||(o.byEndpoint[k]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:h,rawModel:a.model,provider:g,lastUsed:a.timestamp});let m=o.byEndpoint[k];m.requests++,m.promptTokens+=b,m.completionTokens+=c,m.cost+=e,new Date(a.timestamp)>new Date(m.lastUsed)&&(m.lastUsed=a.timestamp)}return o}async function G(a="7d",b=null){let c,d,e,f=(await z()).data.history||[],g=Date.now();b&&(f=f.filter(a=>a.apiKey===b)),"2h"===a?(c=12,d=6e5,e=a=>new Date(a).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})):"6h"===a?(c=12,d=18e5,e=a=>new Date(a).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})):"12h"===a?(c=12,d=36e5,e=a=>new Date(a).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})):"24h"===a?(c=24,d=36e5,e=a=>new Date(a).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})):"7d"===a?(c=7,d=864e5,e=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"})):"30d"===a?(c=30,d=864e5,e=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"})):(c=60,d=864e5,e=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"}));let h=g-c*d,i=Array.from({length:c},(a,b)=>{let c=h+b*d;return{label:e(c),tokens:0,cost:0,_ts:c}});for(let a of f){let b=new Date(a.timestamp).getTime();if(b<h||b>g)continue;let e=Math.min(Math.floor((b-h)/d),c-1),f=a.tokens?.prompt_tokens||0,j=a.tokens?.completion_tokens||0;i[e].tokens+=f+j,i[e].cost+=a.cost||0}return i.map(({label:a,tokens:b,cost:c})=>({label:a,tokens:b,cost:c}))}}};
@@ -1 +0,0 @@
1
- exports.id=5984,exports.ids=[5984],exports.modules={2422:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/UsageStats.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/UsageStats.js","default")},3080:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/OAuthModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/OAuthModal.js","default")},7290:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Card.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Card.js","default")},10079:(a,b,c)=>{"use strict";c.d(b,{ConfirmModal:()=>f,default:()=>e});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Modal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Modal.js","default"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call ConfirmModal() from the server but ConfirmModal is 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Modal.js","ConfirmModal")},14285:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/KiroOAuthWrapper.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/KiroOAuthWrapper.js","default")},18421:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Tooltip.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Tooltip.js","default")},19083:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/RequestLogger.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/RequestLogger.js","default")},26866:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Sidebar.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Sidebar.js","default")},30508:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735);c(45512),c(71230),c(83784),c(7290),c(10079),c(92082),c(70061),c(33893),c(70092),c(40515),c(89886),c(26866),c(92669),c(49123),c(3080),c(94582),c(70603),c(2422),c(45205),c(19083),c(82448),c(14285),c(87228),c(40167),c(80342),c(54065),c(18421);var e=c(61780);function f({children:a}){return(0,d.jsx)(e.default,{children:a})}c(64420)},33893:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Badge.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Badge.js","default")},40167:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/CursorAuthModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/CursorAuthModal.js","default")},40515:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/ThemeToggle.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/ThemeToggle.js","default")},45205:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/LanguageSwitcher.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/LanguageSwitcher.js","default")},45512:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Button.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Button.js","default")},49123:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Footer.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Footer.js","default")},54065:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/SegmentedControl.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/SegmentedControl.js","default")},61780:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/layouts/DashboardLayout.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/layouts/DashboardLayout.js","default")},64420:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/layouts/AuthLayout.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/layouts/AuthLayout.js","default")},68963:(a,b,c)=>{Promise.resolve().then(c.bind(c,25919)),Promise.resolve().then(c.bind(c,75171)),Promise.resolve().then(c.bind(c,99070)),Promise.resolve().then(c.bind(c,17660)),Promise.resolve().then(c.bind(c,51109)),Promise.resolve().then(c.bind(c,48781)),Promise.resolve().then(c.bind(c,86739)),Promise.resolve().then(c.bind(c,79488)),Promise.resolve().then(c.bind(c,83552)),Promise.resolve().then(c.bind(c,86209)),Promise.resolve().then(c.bind(c,5291)),Promise.resolve().then(c.bind(c,56110)),Promise.resolve().then(c.bind(c,267)),Promise.resolve().then(c.bind(c,53838)),Promise.resolve().then(c.bind(c,85306)),Promise.resolve().then(c.bind(c,74812)),Promise.resolve().then(c.bind(c,39645)),Promise.resolve().then(c.bind(c,95145)),Promise.resolve().then(c.bind(c,83352)),Promise.resolve().then(c.bind(c,79346)),Promise.resolve().then(c.bind(c,91809)),Promise.resolve().then(c.bind(c,91099)),Promise.resolve().then(c.bind(c,4770)),Promise.resolve().then(c.bind(c,42196)),Promise.resolve().then(c.bind(c,19308)),Promise.resolve().then(c.bind(c,53845)),Promise.resolve().then(c.bind(c,95514)),Promise.resolve().then(c.bind(c,32971)),Promise.resolve().then(c.bind(c,42507))},70061:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Avatar.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Avatar.js","default")},70092:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Toggle.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Toggle.js","default")},70603:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/ManualConfigModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/ManualConfigModal.js","default")},71230:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Input.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Input.js","default")},80342:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/IFlowCookieModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/IFlowCookieModal.js","default")},82448:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/KiroAuthModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/KiroAuthModal.js","default")},83784:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Select.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Select.js","default")},87228:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/KiroSocialOAuthModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/KiroSocialOAuthModal.js","default")},92082:(a,b,c)=>{"use strict";c.d(b,{CardSkeleton:()=>h,PageLoading:()=>f,Skeleton:()=>g,Spinner:()=>e,default:()=>i});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call Spinner() from the server but Spinner is 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Loading.js","Spinner"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call PageLoading() from the server but PageLoading is 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Loading.js","PageLoading"),g=(0,d.registerClientReference)(function(){throw Error("Attempted to call Skeleton() from the server but Skeleton is 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Loading.js","Skeleton"),h=(0,d.registerClientReference)(function(){throw Error("Attempted to call CardSkeleton() from the server but CardSkeleton is 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Loading.js","CardSkeleton"),i=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Loading.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Loading.js","default")},92669:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Header.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/Header.js","default")},92939:(a,b,c)=>{Promise.resolve().then(c.bind(c,70061)),Promise.resolve().then(c.bind(c,33893)),Promise.resolve().then(c.bind(c,45512)),Promise.resolve().then(c.bind(c,7290)),Promise.resolve().then(c.bind(c,40167)),Promise.resolve().then(c.bind(c,49123)),Promise.resolve().then(c.bind(c,92669)),Promise.resolve().then(c.bind(c,80342)),Promise.resolve().then(c.bind(c,71230)),Promise.resolve().then(c.bind(c,82448)),Promise.resolve().then(c.bind(c,14285)),Promise.resolve().then(c.bind(c,87228)),Promise.resolve().then(c.bind(c,45205)),Promise.resolve().then(c.bind(c,64420)),Promise.resolve().then(c.bind(c,61780)),Promise.resolve().then(c.bind(c,92082)),Promise.resolve().then(c.bind(c,70603)),Promise.resolve().then(c.bind(c,10079)),Promise.resolve().then(c.bind(c,94582)),Promise.resolve().then(c.bind(c,3080)),Promise.resolve().then(c.bind(c,19083)),Promise.resolve().then(c.bind(c,54065)),Promise.resolve().then(c.bind(c,83784)),Promise.resolve().then(c.bind(c,26866)),Promise.resolve().then(c.bind(c,89886)),Promise.resolve().then(c.bind(c,40515)),Promise.resolve().then(c.bind(c,70092)),Promise.resolve().then(c.bind(c,18421)),Promise.resolve().then(c.bind(c,2422))},94582:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/ModelSelectModal.js\" 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.")},"/Users/nip/WORKSPACE/02.SOURCE/ICHECK/01. PROJECT/irouter/9router/src/shared/components/ModelSelectModal.js","default")}};