omniroute 2.2.9 → 2.3.1

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 (239) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +34 -34
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/prerender-manifest.json +3 -3
  5. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/_global-error.html +2 -2
  43. package/app/.next/server/app/_global-error.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  49. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  50. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  63. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  65. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  71. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  73. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  75. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  77. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  80. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  83. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  85. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
  87. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/models/route.js +1 -1
  120. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  122. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/providers/route.js +1 -1
  144. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/settings/model-aliases/route.js +1 -1
  157. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/docs/page.js +1 -1
  209. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app-paths-manifest.json +34 -34
  221. package/app/.next/server/chunks/2767.js +2 -2
  222. package/app/.next/server/chunks/3648.js +1 -1
  223. package/app/.next/server/chunks/3922.js +1 -0
  224. package/app/.next/server/chunks/{8252.js → 786.js} +4 -4
  225. package/app/.next/server/chunks/7889.js +1 -1
  226. package/app/.next/server/chunks/8907.js +1 -1
  227. package/app/.next/server/chunks/8996.js +1 -0
  228. package/app/.next/server/instrumentation.js +1 -1
  229. package/app/.next/server/pages/500.html +2 -2
  230. package/app/.next/server/server-reference-manifest.js +1 -1
  231. package/app/.next/server/server-reference-manifest.json +1 -1
  232. package/app/.next/static/chunks/{5846-8e1f453716b806e2.js → 5846-4a8ed39a61a586d3.js} +1 -1
  233. package/app/.next/static/chunks/{647-f03a498577a57cbc.js → 647-fc2670cfd0a58a58.js} +1 -1
  234. package/app/package.json +1 -1
  235. package/bin/omniroute.mjs +33 -0
  236. package/package.json +1 -1
  237. package/scripts/postinstall.mjs +37 -13
  238. /package/app/.next/static/{nykkDoQvjzB4lMnpiBw6C → 4thLnSSHYZ_acsS5-h-8W}/_buildManifest.js +0 -0
  239. /package/app/.next/static/{nykkDoQvjzB4lMnpiBw6C → 4thLnSSHYZ_acsS5-h-8W}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omniroute",
3
- "version": "2.2.9",
3
+ "version": "2.3.1",
4
4
  "description": "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,14 +30,20 @@ if (!existsSync(appNodeModules)) {
30
30
 
31
31
  const buildInfoPath = join(appNodeModules, "build", "Release", "better_sqlite3.node");
32
32
 
33
- // Quick check: try to load the native module
34
- try {
35
- // Use a dynamic import-like approach try to dlopen the .node file
36
- process.dlopen({ exports: {} }, buildInfoPath);
37
- // If it loaded, the binary is compatible — nothing to do
38
- process.exit(0);
39
- } catch {
40
- // Binary is incompatible — rebuild
33
+ // The published binary is compiled for linux-x64.
34
+ // On any other platform/arch, we must rebuild — dlopen alone is unreliable
35
+ // because macOS may load an incompatible binary without throwing.
36
+ const BUILD_PLATFORM = "linux";
37
+ const BUILD_ARCH = "x64";
38
+ const needsRebuild = process.platform !== BUILD_PLATFORM || process.arch !== BUILD_ARCH;
39
+
40
+ if (!needsRebuild) {
41
+ try {
42
+ process.dlopen({ exports: {} }, buildInfoPath);
43
+ process.exit(0);
44
+ } catch {
45
+ // Same platform but binary still incompatible (e.g. Node.js ABI mismatch) — rebuild
46
+ }
41
47
  }
42
48
 
43
49
  console.log(`\n 🔧 Rebuilding better-sqlite3 for ${process.platform}-${process.arch}...`);
@@ -48,10 +54,28 @@ try {
48
54
  stdio: "inherit",
49
55
  timeout: 120_000,
50
56
  });
51
- console.log(" ✅ Native module rebuilt successfully!\n");
52
57
  } catch (error) {
53
- console.warn(" ⚠️ Failed to rebuild better-sqlite3 automatically.");
54
- console.warn(" You can fix this manually by running:");
55
- console.warn(` cd ${join(ROOT, "app")} && npm rebuild better-sqlite3\n`);
56
- // Don't fail the install — the user can fix manually
58
+ console.error(" Failed to rebuild better-sqlite3 automatically.");
59
+ console.error(" You can fix this manually by running:");
60
+ console.error(` cd ${join(ROOT, "app")} && npm rebuild better-sqlite3`);
61
+ if (process.platform === "darwin") {
62
+ console.error(" If build tools are missing: xcode-select --install");
63
+ }
64
+ console.error("");
65
+ process.exit(1);
66
+ }
67
+
68
+ // Verify the rebuilt binary actually loads
69
+ try {
70
+ process.dlopen({ exports: {} }, buildInfoPath);
71
+ console.log(" ✅ Native module rebuilt successfully!\n");
72
+ } catch {
73
+ console.error(" ❌ Rebuild completed but binary is still incompatible.");
74
+ console.error(" Try manually:");
75
+ console.error(` cd ${join(ROOT, "app")} && npm rebuild better-sqlite3`);
76
+ if (process.platform === "darwin") {
77
+ console.error(" If build tools are missing: xcode-select --install");
78
+ }
79
+ console.error("");
80
+ process.exit(1);
57
81
  }