ai-agent-router 0.1.21 → 0.2.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 (368) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +14 -0
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/fallback-build-manifest.json +2 -2
  5. package/.next/routes-manifest.json +84 -0
  6. package/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error.html +2 -2
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +1 -1
  16. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/server/app/api/config/route.js.nft.json +1 -1
  27. package/.next/server/app/api/gateway/[...path]/route.js.nft.json +1 -1
  28. package/.next/server/app/api/gateway/models/route.js.nft.json +1 -1
  29. package/.next/server/app/api/gateway/route.js.nft.json +1 -1
  30. package/.next/server/app/api/ide/claude/apply/route.js.nft.json +1 -1
  31. package/.next/server/app/api/ide/claude/available-models/route.js.nft.json +1 -1
  32. package/.next/server/app/api/ide/claude/save/route.js.nft.json +1 -1
  33. package/.next/server/app/api/ide/claude/status/route.js.nft.json +1 -1
  34. package/.next/server/app/api/ide/claude/test/route.js +1 -1
  35. package/.next/server/app/api/ide/claude/test/route.js.nft.json +1 -1
  36. package/.next/server/app/api/ide/openclaw/apply/route/app-paths-manifest.json +3 -0
  37. package/.next/server/app/api/ide/openclaw/apply/route/build-manifest.json +11 -0
  38. package/.next/server/app/api/ide/openclaw/apply/route/server-reference-manifest.json +4 -0
  39. package/.next/server/app/api/ide/openclaw/apply/route.js +7 -0
  40. package/.next/server/app/api/ide/openclaw/apply/route.js.map +5 -0
  41. package/.next/server/app/api/ide/openclaw/apply/route.js.nft.json +1 -0
  42. package/.next/server/app/api/ide/openclaw/apply/route_client-reference-manifest.js +2 -0
  43. package/.next/server/app/api/ide/openclaw/available-models/route/app-paths-manifest.json +3 -0
  44. package/.next/server/app/api/ide/openclaw/available-models/route/build-manifest.json +11 -0
  45. package/.next/server/app/api/ide/openclaw/available-models/route/server-reference-manifest.json +4 -0
  46. package/.next/server/app/api/ide/openclaw/available-models/route.js +7 -0
  47. package/.next/server/app/api/ide/openclaw/available-models/route.js.map +5 -0
  48. package/.next/server/app/api/ide/openclaw/available-models/route.js.nft.json +1 -0
  49. package/.next/server/app/api/ide/openclaw/available-models/route_client-reference-manifest.js +2 -0
  50. package/.next/server/app/api/ide/openclaw/preview/route/app-paths-manifest.json +3 -0
  51. package/.next/server/app/api/ide/openclaw/preview/route/build-manifest.json +11 -0
  52. package/.next/server/app/api/ide/openclaw/preview/route/server-reference-manifest.json +4 -0
  53. package/.next/server/app/api/ide/openclaw/preview/route.js +7 -0
  54. package/.next/server/app/api/ide/openclaw/preview/route.js.map +5 -0
  55. package/.next/server/app/api/ide/openclaw/preview/route.js.nft.json +1 -0
  56. package/.next/server/app/api/ide/openclaw/preview/route_client-reference-manifest.js +2 -0
  57. package/.next/server/app/api/ide/openclaw/restore/route/app-paths-manifest.json +3 -0
  58. package/.next/server/app/api/ide/openclaw/restore/route/build-manifest.json +11 -0
  59. package/.next/server/app/api/ide/openclaw/restore/route/server-reference-manifest.json +4 -0
  60. package/.next/server/app/api/ide/openclaw/restore/route.js +6 -0
  61. package/.next/server/app/api/ide/openclaw/restore/route.js.map +5 -0
  62. package/.next/server/app/api/ide/openclaw/restore/route.js.nft.json +1 -0
  63. package/.next/server/app/api/ide/openclaw/restore/route_client-reference-manifest.js +2 -0
  64. package/.next/server/app/api/ide/openclaw/save/route/app-paths-manifest.json +3 -0
  65. package/.next/server/app/api/ide/openclaw/save/route/build-manifest.json +11 -0
  66. package/.next/server/app/api/ide/openclaw/save/route/server-reference-manifest.json +4 -0
  67. package/.next/server/app/api/ide/openclaw/save/route.js +7 -0
  68. package/.next/server/app/api/ide/openclaw/save/route.js.map +5 -0
  69. package/.next/server/app/api/ide/openclaw/save/route.js.nft.json +1 -0
  70. package/.next/server/app/api/ide/openclaw/save/route_client-reference-manifest.js +2 -0
  71. package/.next/server/app/api/ide/openclaw/status/route/app-paths-manifest.json +3 -0
  72. package/.next/server/app/api/ide/openclaw/status/route/build-manifest.json +11 -0
  73. package/.next/server/app/api/ide/openclaw/status/route/server-reference-manifest.json +4 -0
  74. package/.next/server/app/api/ide/openclaw/status/route.js +7 -0
  75. package/.next/server/app/api/ide/openclaw/status/route.js.map +5 -0
  76. package/.next/server/app/api/ide/openclaw/status/route.js.nft.json +1 -0
  77. package/.next/server/app/api/ide/openclaw/status/route_client-reference-manifest.js +2 -0
  78. package/.next/server/app/api/ide/openclaw/test/route/app-paths-manifest.json +3 -0
  79. package/.next/server/app/api/ide/openclaw/test/route/build-manifest.json +11 -0
  80. package/.next/server/app/api/ide/openclaw/test/route/server-reference-manifest.json +4 -0
  81. package/.next/server/app/api/ide/openclaw/test/route.js +6 -0
  82. package/.next/server/app/api/ide/openclaw/test/route.js.map +5 -0
  83. package/.next/server/app/api/ide/openclaw/test/route.js.nft.json +1 -0
  84. package/.next/server/app/api/ide/openclaw/test/route_client-reference-manifest.js +2 -0
  85. package/.next/server/app/api/ide/opencode/apply/route/app-paths-manifest.json +3 -0
  86. package/.next/server/app/api/ide/opencode/apply/route/build-manifest.json +11 -0
  87. package/.next/server/app/api/ide/opencode/apply/route/server-reference-manifest.json +4 -0
  88. package/.next/server/app/api/ide/opencode/apply/route.js +7 -0
  89. package/.next/server/app/api/ide/opencode/apply/route.js.map +5 -0
  90. package/.next/server/app/api/ide/opencode/apply/route.js.nft.json +1 -0
  91. package/.next/server/app/api/ide/opencode/apply/route_client-reference-manifest.js +2 -0
  92. package/.next/server/app/api/ide/opencode/available-models/route/app-paths-manifest.json +3 -0
  93. package/.next/server/app/api/ide/opencode/available-models/route/build-manifest.json +11 -0
  94. package/.next/server/app/api/ide/opencode/available-models/route/server-reference-manifest.json +4 -0
  95. package/.next/server/app/api/ide/opencode/available-models/route.js +7 -0
  96. package/.next/server/app/api/ide/opencode/available-models/route.js.map +5 -0
  97. package/.next/server/app/api/ide/opencode/available-models/route.js.nft.json +1 -0
  98. package/.next/server/app/api/ide/opencode/available-models/route_client-reference-manifest.js +2 -0
  99. package/.next/server/app/api/ide/opencode/preview/route/app-paths-manifest.json +3 -0
  100. package/.next/server/app/api/ide/opencode/preview/route/build-manifest.json +11 -0
  101. package/.next/server/app/api/ide/opencode/preview/route/server-reference-manifest.json +4 -0
  102. package/.next/server/app/api/ide/opencode/preview/route.js +7 -0
  103. package/.next/server/app/api/ide/opencode/preview/route.js.map +5 -0
  104. package/.next/server/app/api/ide/opencode/preview/route.js.nft.json +1 -0
  105. package/.next/server/app/api/ide/opencode/preview/route_client-reference-manifest.js +2 -0
  106. package/.next/server/app/api/ide/opencode/restore/route/app-paths-manifest.json +3 -0
  107. package/.next/server/app/api/ide/opencode/restore/route/build-manifest.json +11 -0
  108. package/.next/server/app/api/ide/opencode/restore/route/server-reference-manifest.json +4 -0
  109. package/.next/server/app/api/ide/opencode/restore/route.js +6 -0
  110. package/.next/server/app/api/ide/opencode/restore/route.js.map +5 -0
  111. package/.next/server/app/api/ide/opencode/restore/route.js.nft.json +1 -0
  112. package/.next/server/app/api/ide/opencode/restore/route_client-reference-manifest.js +2 -0
  113. package/.next/server/app/api/ide/opencode/save/route/app-paths-manifest.json +3 -0
  114. package/.next/server/app/api/ide/opencode/save/route/build-manifest.json +11 -0
  115. package/.next/server/app/api/ide/opencode/save/route/server-reference-manifest.json +4 -0
  116. package/.next/server/app/api/ide/opencode/save/route.js +7 -0
  117. package/.next/server/app/api/ide/opencode/save/route.js.map +5 -0
  118. package/.next/server/app/api/ide/opencode/save/route.js.nft.json +1 -0
  119. package/.next/server/app/api/ide/opencode/save/route_client-reference-manifest.js +2 -0
  120. package/.next/server/app/api/ide/opencode/status/route/app-paths-manifest.json +3 -0
  121. package/.next/server/app/api/ide/opencode/status/route/build-manifest.json +11 -0
  122. package/.next/server/app/api/ide/opencode/status/route/server-reference-manifest.json +4 -0
  123. package/.next/server/app/api/ide/opencode/status/route.js +7 -0
  124. package/.next/server/app/api/ide/opencode/status/route.js.map +5 -0
  125. package/.next/server/app/api/ide/opencode/status/route.js.nft.json +1 -0
  126. package/.next/server/app/api/ide/opencode/status/route_client-reference-manifest.js +2 -0
  127. package/.next/server/app/api/ide/opencode/test/route/app-paths-manifest.json +3 -0
  128. package/.next/server/app/api/ide/opencode/test/route/build-manifest.json +11 -0
  129. package/.next/server/app/api/ide/opencode/test/route/server-reference-manifest.json +4 -0
  130. package/.next/server/app/api/ide/opencode/test/route.js +6 -0
  131. package/.next/server/app/api/ide/opencode/test/route.js.map +5 -0
  132. package/.next/server/app/api/ide/opencode/test/route.js.nft.json +1 -0
  133. package/.next/server/app/api/ide/opencode/test/route_client-reference-manifest.js +2 -0
  134. package/.next/server/app/api/logs/route.js.nft.json +1 -1
  135. package/.next/server/app/api/models/route.js.nft.json +1 -1
  136. package/.next/server/app/api/providers/route.js.nft.json +1 -1
  137. package/.next/server/app/api/providers/test/route.js.nft.json +1 -1
  138. package/.next/server/app/api/service/force-stop/route.js.nft.json +1 -1
  139. package/.next/server/app/api/service/start/route.js.nft.json +1 -1
  140. package/.next/server/app/api/service/status/route.js.nft.json +1 -1
  141. package/.next/server/app/api/service/stop/route.js.nft.json +1 -1
  142. package/.next/server/app/ide/page.js +1 -1
  143. package/.next/server/app/ide/page.js.nft.json +1 -1
  144. package/.next/server/app/ide/page_client-reference-manifest.js +1 -1
  145. package/.next/server/app/ide.html +1 -1
  146. package/.next/server/app/ide.rsc +3 -3
  147. package/.next/server/app/ide.segments/_full.segment.rsc +3 -3
  148. package/.next/server/app/ide.segments/_head.segment.rsc +1 -1
  149. package/.next/server/app/ide.segments/_index.segment.rsc +2 -2
  150. package/.next/server/app/ide.segments/_tree.segment.rsc +2 -2
  151. package/.next/server/app/ide.segments/ide/__PAGE__.segment.rsc +2 -2
  152. package/.next/server/app/ide.segments/ide.segment.rsc +1 -1
  153. package/.next/server/app/index.html +1 -1
  154. package/.next/server/app/index.rsc +2 -2
  155. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  156. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  157. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  158. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  159. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  160. package/.next/server/app/logs/page.js +1 -1
  161. package/.next/server/app/logs/page.js.nft.json +1 -1
  162. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/logs.html +1 -1
  164. package/.next/server/app/logs.rsc +3 -3
  165. package/.next/server/app/logs.segments/_full.segment.rsc +3 -3
  166. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  167. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  168. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  169. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +2 -2
  170. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  171. package/.next/server/app/models/page.js +1 -1
  172. package/.next/server/app/models/page.js.nft.json +1 -1
  173. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/models.html +1 -1
  175. package/.next/server/app/models.rsc +2 -2
  176. package/.next/server/app/models.segments/_full.segment.rsc +2 -2
  177. package/.next/server/app/models.segments/_head.segment.rsc +1 -1
  178. package/.next/server/app/models.segments/_index.segment.rsc +2 -2
  179. package/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  180. package/.next/server/app/models.segments/models/__PAGE__.segment.rsc +1 -1
  181. package/.next/server/app/models.segments/models.segment.rsc +1 -1
  182. package/.next/server/app/page.js +1 -1
  183. package/.next/server/app/page.js.nft.json +1 -1
  184. package/.next/server/app/page_client-reference-manifest.js +1 -1
  185. package/.next/server/app/providers/page.js +1 -1
  186. package/.next/server/app/providers/page.js.nft.json +1 -1
  187. package/.next/server/app/providers/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/providers.html +1 -1
  189. package/.next/server/app/providers.rsc +2 -2
  190. package/.next/server/app/providers.segments/_full.segment.rsc +2 -2
  191. package/.next/server/app/providers.segments/_head.segment.rsc +1 -1
  192. package/.next/server/app/providers.segments/_index.segment.rsc +2 -2
  193. package/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
  194. package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +1 -1
  195. package/.next/server/app/providers.segments/providers.segment.rsc +1 -1
  196. package/.next/server/app-paths-manifest.json +14 -0
  197. package/.next/server/chunks/[root-of-the-server]__001d5756._.js +3 -0
  198. package/.next/server/chunks/[root-of-the-server]__001d5756._.js.map +1 -0
  199. package/.next/server/chunks/[root-of-the-server]__05f8578b._.js +3 -0
  200. package/.next/server/chunks/[root-of-the-server]__05f8578b._.js.map +1 -0
  201. package/.next/server/chunks/[root-of-the-server]__1480f018._.js +1 -1
  202. package/.next/server/chunks/[root-of-the-server]__1480f018._.js.map +1 -1
  203. package/.next/server/chunks/[root-of-the-server]__1909f3aa._.js +1 -1
  204. package/.next/server/chunks/[root-of-the-server]__1909f3aa._.js.map +1 -1
  205. package/.next/server/chunks/[root-of-the-server]__1d4b7fc5._.js +1 -1
  206. package/.next/server/chunks/[root-of-the-server]__1d4b7fc5._.js.map +1 -1
  207. package/.next/server/chunks/[root-of-the-server]__372ef2bf._.js +1 -1
  208. package/.next/server/chunks/[root-of-the-server]__372ef2bf._.js.map +1 -1
  209. package/.next/server/chunks/[root-of-the-server]__3aaf963c._.js +1 -1
  210. package/.next/server/chunks/[root-of-the-server]__3aaf963c._.js.map +1 -1
  211. package/.next/server/chunks/[root-of-the-server]__43810962._.js +3 -0
  212. package/.next/server/chunks/[root-of-the-server]__43810962._.js.map +1 -0
  213. package/.next/server/chunks/[root-of-the-server]__55cd88b8._.js +3 -0
  214. package/.next/server/chunks/[root-of-the-server]__55cd88b8._.js.map +1 -0
  215. package/.next/server/chunks/[root-of-the-server]__5e8276bc._.js +1 -1
  216. package/.next/server/chunks/[root-of-the-server]__5e8276bc._.js.map +1 -1
  217. package/.next/server/chunks/[root-of-the-server]__6ce199d2._.js +1 -1
  218. package/.next/server/chunks/[root-of-the-server]__6ce199d2._.js.map +1 -1
  219. package/.next/server/chunks/[root-of-the-server]__760eaa16._.js +3 -0
  220. package/.next/server/chunks/[root-of-the-server]__760eaa16._.js.map +1 -0
  221. package/.next/server/chunks/[root-of-the-server]__772134c6._.js +1 -1
  222. package/.next/server/chunks/[root-of-the-server]__772134c6._.js.map +1 -1
  223. package/.next/server/chunks/[root-of-the-server]__7b77f523._.js +1 -1
  224. package/.next/server/chunks/[root-of-the-server]__7b77f523._.js.map +1 -1
  225. package/.next/server/chunks/[root-of-the-server]__7c298a19._.js +3 -0
  226. package/.next/server/chunks/[root-of-the-server]__7c298a19._.js.map +1 -0
  227. package/.next/server/chunks/[root-of-the-server]__85540228._.js +3 -0
  228. package/.next/server/chunks/[root-of-the-server]__85540228._.js.map +1 -0
  229. package/.next/server/chunks/[root-of-the-server]__94fe8d3c._.js +3 -0
  230. package/.next/server/chunks/[root-of-the-server]__94fe8d3c._.js.map +1 -0
  231. package/.next/server/chunks/[root-of-the-server]__97622908._.js +3 -0
  232. package/.next/server/chunks/[root-of-the-server]__97622908._.js.map +1 -0
  233. package/.next/server/chunks/[root-of-the-server]__a02e6618._.js +3 -0
  234. package/.next/server/chunks/[root-of-the-server]__a02e6618._.js.map +1 -0
  235. package/.next/server/chunks/[root-of-the-server]__a32a20a7._.js +3 -0
  236. package/.next/server/chunks/[root-of-the-server]__a32a20a7._.js.map +1 -0
  237. package/.next/server/chunks/[root-of-the-server]__af5b556a._.js +3 -0
  238. package/.next/server/chunks/[root-of-the-server]__af5b556a._.js.map +1 -0
  239. package/.next/server/chunks/[root-of-the-server]__c1b4b601._.js +18 -18
  240. package/.next/server/chunks/[root-of-the-server]__c1b4b601._.js.map +1 -1
  241. package/.next/server/chunks/[root-of-the-server]__cafe113e._.js +3 -0
  242. package/.next/server/chunks/[root-of-the-server]__cafe113e._.js.map +1 -0
  243. package/.next/server/chunks/[root-of-the-server]__ccfc7f1d._.js +1 -1
  244. package/.next/server/chunks/[root-of-the-server]__ccfc7f1d._.js.map +1 -1
  245. package/.next/server/chunks/[root-of-the-server]__dc8b0bed._.js +3 -0
  246. package/.next/server/chunks/[root-of-the-server]__dc8b0bed._.js.map +1 -0
  247. package/.next/server/chunks/[root-of-the-server]__f8949f88._.js +1 -1
  248. package/.next/server/chunks/[root-of-the-server]__f8949f88._.js.map +1 -1
  249. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_apply_route_actions_2cb9e4b4.js +3 -0
  250. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_apply_route_actions_2cb9e4b4.js.map +1 -0
  251. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_preview_route_actions_9814a8e4.js +3 -0
  252. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_preview_route_actions_9814a8e4.js.map +1 -0
  253. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_restore_route_actions_10ad8f9d.js +3 -0
  254. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_restore_route_actions_10ad8f9d.js.map +1 -0
  255. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_save_route_actions_044ad081.js +3 -0
  256. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_save_route_actions_044ad081.js.map +1 -0
  257. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_status_route_actions_ed9786d2.js +3 -0
  258. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_status_route_actions_ed9786d2.js.map +1 -0
  259. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_test_route_actions_ce2cb808.js +3 -0
  260. package/.next/server/chunks/_next-internal_server_app_api_ide_openclaw_test_route_actions_ce2cb808.js.map +1 -0
  261. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_apply_route_actions_6c422244.js +3 -0
  262. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_apply_route_actions_6c422244.js.map +1 -0
  263. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_preview_route_actions_256c82e0.js +3 -0
  264. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_preview_route_actions_256c82e0.js.map +1 -0
  265. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_restore_route_actions_371993d3.js +3 -0
  266. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_restore_route_actions_371993d3.js.map +1 -0
  267. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_save_route_actions_6e4c9c41.js +3 -0
  268. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_save_route_actions_6e4c9c41.js.map +1 -0
  269. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_status_route_actions_498ad77b.js +3 -0
  270. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_status_route_actions_498ad77b.js.map +1 -0
  271. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_test_route_actions_c71be510.js +3 -0
  272. package/.next/server/chunks/_next-internal_server_app_api_ide_opencode_test_route_actions_c71be510.js.map +1 -0
  273. package/.next/server/chunks/ce889_server_app_api_ide_openclaw_available-models_route_actions_e568e70b.js +3 -0
  274. package/.next/server/chunks/ce889_server_app_api_ide_openclaw_available-models_route_actions_e568e70b.js.map +1 -0
  275. package/.next/server/chunks/ce889_server_app_api_ide_opencode_available-models_route_actions_95230db3.js +3 -0
  276. package/.next/server/chunks/ce889_server_app_api_ide_opencode_available-models_route_actions_95230db3.js.map +1 -0
  277. package/.next/server/chunks/ssr/{[root-of-the-server]__bec95712._.js → [root-of-the-server]__81937253._.js} +2 -2
  278. package/.next/server/chunks/ssr/{[root-of-the-server]__bec95712._.js.map → [root-of-the-server]__81937253._.js.map} +1 -1
  279. package/.next/server/chunks/ssr/{[root-of-the-server]__71c85955._.js → [root-of-the-server]__976ad963._.js} +2 -2
  280. package/.next/server/chunks/ssr/{[root-of-the-server]__71c85955._.js.map → [root-of-the-server]__976ad963._.js.map} +1 -1
  281. package/.next/server/chunks/ssr/src_app_ide_page_tsx_8962793b._.js +1 -1
  282. package/.next/server/chunks/ssr/src_app_ide_page_tsx_8962793b._.js.map +1 -1
  283. package/.next/server/chunks/ssr/src_app_logs_page_tsx_7b7b7b83._.js +1 -1
  284. package/.next/server/chunks/ssr/src_app_logs_page_tsx_7b7b7b83._.js.map +1 -1
  285. package/.next/server/pages/404.html +1 -1
  286. package/.next/server/pages/500.html +2 -2
  287. package/.next/static/chunks/0f120c117962200b.css +1 -0
  288. package/.next/static/chunks/64f547b3bcd3aef4.js +1 -0
  289. package/.next/static/chunks/{81c904164fe81379.js → 7c8b7cbb3339f139.js} +1 -1
  290. package/.next/static/chunks/8ed839b2e4948968.js +1 -0
  291. package/.next/types/routes.d.ts +15 -1
  292. package/.next/types/validator.ts +126 -0
  293. package/README.md +100 -111
  294. package/dist/.next/dev/types/validator.js +56 -0
  295. package/dist/.next/types/validator.js +56 -0
  296. package/dist/src/app/api/gateway/[...path]/route.js +1 -1
  297. package/dist/src/app/api/gateway/route.js +1 -1
  298. package/dist/src/app/api/ide/claude/apply/route.js +42 -31
  299. package/dist/src/app/api/ide/claude/status/route.js +6 -1
  300. package/dist/src/app/api/ide/openclaw/apply/route.js +92 -0
  301. package/dist/src/app/api/ide/openclaw/available-models/route.js +46 -0
  302. package/dist/src/app/api/ide/openclaw/build-config.js +101 -0
  303. package/dist/src/app/api/ide/openclaw/preview/route.js +49 -0
  304. package/dist/src/app/api/ide/openclaw/restore/route.js +24 -0
  305. package/dist/src/app/api/ide/openclaw/save/route.js +54 -0
  306. package/dist/src/app/api/ide/openclaw/status/route.js +139 -0
  307. package/dist/src/app/api/ide/openclaw/test/route.js +158 -0
  308. package/dist/src/app/api/ide/opencode/apply/route.js +89 -0
  309. package/dist/src/app/api/ide/opencode/available-models/route.js +46 -0
  310. package/dist/src/app/api/ide/opencode/build-config.js +54 -0
  311. package/dist/src/app/api/ide/opencode/preview/route.js +36 -0
  312. package/dist/src/app/api/ide/opencode/restore/route.js +40 -0
  313. package/dist/src/app/api/ide/opencode/save/route.js +123 -0
  314. package/dist/src/app/api/ide/opencode/status/route.js +106 -0
  315. package/dist/src/app/api/ide/opencode/test/route.js +136 -0
  316. package/dist/src/app/api/logs/route.js +2 -2
  317. package/dist/src/app/api/models/route.js +5 -5
  318. package/dist/src/app/api/providers/route.js +4 -4
  319. package/dist/src/app/api/providers/test/route.js +1 -1
  320. package/dist/src/app/api/service/start/route.js +1 -1
  321. package/dist/src/app/api/service/status/route.js +1 -1
  322. package/dist/src/app/api/service/stop/route.js +1 -1
  323. package/dist/src/app/ide/page.js +591 -81
  324. package/dist/src/app/logs/page.js +15 -1
  325. package/dist/src/cli/index.js +218 -20
  326. package/dist/src/db/database.js +56 -5
  327. package/dist/src/db/queries.js +6 -6
  328. package/dist/src/server/logger.js +22 -4
  329. package/package.json +2 -1
  330. package/src/app/api/gateway/[...path]/route.ts +1 -1
  331. package/src/app/api/gateway/route.ts +1 -1
  332. package/src/app/api/ide/claude/apply/route.ts +46 -31
  333. package/src/app/api/ide/claude/status/route.ts +12 -2
  334. package/src/app/api/ide/openclaw/apply/route.ts +103 -0
  335. package/src/app/api/ide/openclaw/available-models/route.ts +59 -0
  336. package/src/app/api/ide/openclaw/build-config.ts +152 -0
  337. package/src/app/api/ide/openclaw/preview/route.ts +57 -0
  338. package/src/app/api/ide/openclaw/restore/route.ts +27 -0
  339. package/src/app/api/ide/openclaw/save/route.ts +67 -0
  340. package/src/app/api/ide/openclaw/status/route.ts +178 -0
  341. package/src/app/api/ide/openclaw/test/route.ts +194 -0
  342. package/src/app/api/ide/opencode/apply/route.ts +92 -0
  343. package/src/app/api/ide/opencode/available-models/route.ts +59 -0
  344. package/src/app/api/ide/opencode/build-config.ts +69 -0
  345. package/src/app/api/ide/opencode/preview/route.ts +40 -0
  346. package/src/app/api/ide/opencode/restore/route.ts +52 -0
  347. package/src/app/api/ide/opencode/save/route.ts +131 -0
  348. package/src/app/api/ide/opencode/status/route.ts +128 -0
  349. package/src/app/api/ide/opencode/test/route.ts +145 -0
  350. package/src/app/api/logs/route.ts +2 -2
  351. package/src/app/api/models/route.ts +5 -5
  352. package/src/app/api/providers/route.ts +4 -4
  353. package/src/app/api/providers/test/route.ts +1 -1
  354. package/src/app/api/service/start/route.ts +1 -1
  355. package/src/app/api/service/status/route.ts +1 -1
  356. package/src/app/api/service/stop/route.ts +1 -1
  357. package/src/app/globals.css +17 -0
  358. package/src/app/ide/page.tsx +1535 -132
  359. package/src/app/logs/page.tsx +17 -5
  360. package/src/cli/index.ts +228 -25
  361. package/src/db/database.ts +60 -8
  362. package/src/db/queries.ts +6 -6
  363. package/src/server/logger.ts +19 -4
  364. package/.next/static/chunks/6418ca50028376b7.css +0 -1
  365. package/.next/static/chunks/9ec3b97741b6575e.js +0 -1
  366. /package/.next/static/{PkfqdzwOZgX-UhSNUuhdp → dYin74gcpdlg8TGoGv-_d}/_buildManifest.js +0 -0
  367. /package/.next/static/{PkfqdzwOZgX-UhSNUuhdp → dYin74gcpdlg8TGoGv-_d}/_clientMiddlewareManifest.json +0 -0
  368. /package/.next/static/{PkfqdzwOZgX-UhSNUuhdp → dYin74gcpdlg8TGoGv-_d}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/app/api/ide/opencode/build-config.ts","../../../src/app/api/ide/opencode/preview/route.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js"],"sourcesContent":["import { getDatabase } from '@/db/database';\nimport { getConfig } from '@/db/queries';\nimport { getAllModels, getProviderById } from '@/db/queries';\n\nexport async function getGatewayAddress(): Promise<string> {\n await getDatabase();\n const portConfig = await getConfig('port');\n const port = portConfig?.value || '1357';\n return `http://localhost:${port}/v1`;\n}\n\nexport async function getGatewayApiKey(): Promise<string> {\n await getDatabase();\n const apiKeyConfig = await getConfig('api_key');\n return apiKeyConfig?.value || 'your-gateway-api-key';\n}\n\n/** OpenCode provider 下单个 provider 的结构(与官方 provider 文档一致) */\nexport type AarGatewayProviderEntry = {\n npm: string;\n name: string;\n options: { baseURL: string; apiKey: string };\n models: Record<string, { name: string; limit?: { context: number; output?: number } }>;\n};\n\nexport async function buildAarGatewayProvider(): Promise<AarGatewayProviderEntry> {\n const gatewayAddress = await getGatewayAddress();\n const gatewayApiKey = await getGatewayApiKey();\n const allModels = (await getAllModels()).filter((m: any) => m.enabled);\n const models: Record<string, { name: string; limit: { context: number; output: number } }> = {};\n for (const m of allModels) {\n await getProviderById(m.provider_id);\n models[m.model_id] = { name: m.name, limit: { context: 128000, output: 65536 } };\n }\n return {\n npm: '@ai-sdk/openai-compatible',\n name: 'AAR Model Router',\n options: { baseURL: gatewayAddress, apiKey: gatewayApiKey },\n models,\n };\n}\n\nconst AAR_PROVIDER_ID = 'aar-gateway';\n\n/** 合并现有配置与 AAR 网关:写入 config.provider[\"aar-gateway\"],并设置 config.model = \"aar-gateway/{defaultModel}\" */\nexport function mergeConfigWithAar(\n existing: Record<string, any> | null,\n defaultModel: string,\n aarProvider: AarGatewayProviderEntry\n): Record<string, any> {\n const base = existing && typeof existing === 'object' ? { ...existing } : {};\n const provider: Record<string, any> =\n base.provider && typeof base.provider === 'object' ? { ...base.provider } : {};\n provider[AAR_PROVIDER_ID] = aarProvider;\n return {\n ...base,\n provider,\n model: `${AAR_PROVIDER_ID}/${defaultModel}`,\n };\n}\n\n/** 生成合并后的配置(不写入磁盘),供预览或应用使用 */\nexport async function buildMergedConfig(\n defaultModel: string,\n existing: Record<string, any> | null\n): Promise<Record<string, any>> {\n const aarProvider = await buildAarGatewayProvider();\n return mergeConfigWithAar(existing, defaultModel, aarProvider);\n}\n","import { NextRequest, NextResponse } from 'next/server';\nimport { existsSync, readFileSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\nimport { buildMergedConfig } from '../build-config';\n\nconst OPENCODE_FILE =\n process.platform === 'win32'\n ? join(process.env.APPDATA || homedir(), 'opencode', 'opencode.json')\n : join(homedir(), '.config', 'opencode', 'opencode.json');\n\n/** GET ?default_model=xxx 返回配置预览:始终返回「现有配置 + AAR provider + 默认模型」的合并结果,即应用后将写入的内容 */\nexport async function GET(request: NextRequest) {\n try {\n const { searchParams } = new URL(request.url);\n const defaultModel = searchParams.get('default_model') || '';\n\n if (!defaultModel) {\n return NextResponse.json({ error: 'Missing query: default_model' }, { status: 400 });\n }\n\n let existing: Record<string, any> | null = null;\n if (existsSync(OPENCODE_FILE)) {\n try {\n existing = JSON.parse(readFileSync(OPENCODE_FILE, 'utf-8'));\n } catch {\n /* 文件损坏时 existing 保持 null */\n }\n }\n\n const config = await buildMergedConfig(defaultModel, existing);\n return NextResponse.json({ config });\n } catch (error: any) {\n console.error('OpenCode Preview API error:', error);\n return NextResponse.json(\n { error: error.message || 'Internal server error', stack: process.env.NODE_ENV === 'development' ? error.stack : undefined },\n { status: 500 }\n );\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/ide/opencode/preview/route\",\n pathname: \"/api/ide/opencode/preview\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/ide/opencode/preview/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/ide/opencode/preview/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n"],"names":[],"mappings":"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","ignoreList":[2]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},68646,e=>{"use strict";var t=e.i(71560),a=e.i(97731);async function r(){await (0,t.getDatabase)();let e=await (0,a.getConfig)("port"),r=e?.value||"1357";return`http://localhost:${r}/v1`}async function n(){await (0,t.getDatabase)();let e=await (0,a.getConfig)("api_key");return e?.value||"your-gateway-api-key"}async function i(){return{baseUrl:await r(),apiKey:await n(),api:"openai-completions",models:(await (0,a.getAllModels)()).filter(e=>e.enabled).map(e=>({id:e.model_id,name:e.name,reasoning:e.reasoning||!1,input:e.input||["text"],cost:e.cost||{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:e.context_window||2e5,maxTokens:e.max_tokens||8192}))}}let o="aar-gateway";async function s(e,t){return function(e,t,a){let r=e&&"object"==typeof e?{...e}:{},n=r.models||{},i=n.providers||{};i[o]=a,n.providers=i,n.mode="merge",r.models=n;let s=r.agents||{},l=s.defaults||{},d=l.model||{},u=`${o}/${t.defaultModel}`,p=t.imageModel?`${o}/${t.imageModel}`:void 0;d.primary=u,t.defaultFallbacks&&t.defaultFallbacks.length>0?d.fallbacks=t.defaultFallbacks.map(e=>e.startsWith(`${o}/`)?e:`${o}/${e}`):delete d.fallbacks,l.model=d;let c=l.imageModel||{};p&&(c.primary=p),t.imageFallbacks&&t.imageFallbacks.length>0?c.fallbacks=t.imageFallbacks.map(e=>e.startsWith(`${o}/`)?e:`${o}/${e}`):delete c.fallbacks,l.imageModel=c;let g=l.models||{};for(let e of a.models){let t=`${o}/${e.id}`;g[t]=g[t]||{alias:e.name}}return l.models=g,s.defaults=l,r.agents=s,r.channels||(r.channels={}),r}(t,e,await i())}e.s(["buildMergedConfig",()=>s])},36791,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),g=e.i(70101),h=e.i(26937),m=e.i(10372),f=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(89171),w=e.i(22734),R=e.i(14747),y=e.i(46786),b=e.i(68646);let E=(0,R.join)((0,y.homedir)(),".openclaw","openclaw.json");async function C(e){try{let{searchParams:t}=new URL(e.url),a=t.get("default_model")||"",r=t.get("default_fallbacks")||"",n=t.get("image_model")||"",i=t.get("image_fallbacks")||"";if(!a)return v.NextResponse.json({error:"Missing query: default_model"},{status:400});let o=r?r.split(",").filter(Boolean):[],s=i?i.split(",").filter(Boolean):[],l=null;if((0,w.existsSync)(E))try{let e=(0,w.readFileSync)(E,"utf-8");l=JSON.parse(e)}catch(e){}let d=await (0,b.buildMergedConfig)({defaultModel:a,defaultFallbacks:o,imageModel:n||void 0,imageFallbacks:s},l);return v.NextResponse.json({config:d})}catch(e){return console.error("OpenClaw Preview API error:",e),v.NextResponse.json({error:e.message||"Internal server error",stack:void 0},{status:500})}}e.s(["GET",()=>C],82872);var k=e.i(82872);let A=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/ide/openclaw/preview/route",pathname:"/api/ide/openclaw/preview",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/ide/openclaw/preview/route.ts",nextConfigOutput:"",userland:k}),{workAsyncStorage:_,workUnitAsyncStorage:N,serverHooks:T}=A;function P(){return(0,r.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:N})}async function j(e,t,r){A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/ide/openclaw/preview/route";v=v.replace(/\/index$/,"")||"/";let w=await A.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:b,parsedUrl:E,isDraftMode:C,prerenderManifest:k,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:P,clientReferenceManifest:j,serverActionsManifest:O}=w,q=(0,s.normalizeAppPath)(v),M=!!(k.dynamicRoutes[q]||k.routes[P]),S=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,E,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!k.routes[P],t=k.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await S();throw new f.NoFallbackError}}let $=null;!M||A.isDev||C||($="/index"===($=P)?"/":$);let U=!0===A.isDev||!M,H=M&&!U;O&&j&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:O});let I=e.method||"GET",D=(0,i.getTracer)(),F=D.getActiveScopeSpan(),K={params:y,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>A.onRequestError(e,t,r,n,_)},sharedContext:{buildId:R}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>A.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${I} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${v}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:a})=>{try{if(!s&&N&&T&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!M)return await (0,c.sendResponse)(B,L,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,_),t}},u=await A.handleResponse({req:e,nextConfig:b,cacheKey:$,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:s});if(!M)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&M||f.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(B,L,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};F?await l(F):await D.withPropagatedContext(e.headers,()=>D.trace(u.BaseServerSpan.handleRequest,{spanName:`${I} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,_),M)throw t;return await (0,c.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>P,"routeModule",()=>A,"serverHooks",()=>T,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>N],36791)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__af5b556a._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/app/api/ide/openclaw/build-config.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js","../../../src/app/api/ide/openclaw/preview/route.ts"],"sourcesContent":["import { getDatabase } from '@/db/database';\nimport { getConfig } from '@/db/queries';\nimport { getAllModels } from '@/db/queries';\n\nexport async function getGatewayAddress(): Promise<string> {\n await getDatabase();\n const portConfig = await getConfig('port');\n const port = portConfig?.value || '1357';\n return `http://localhost:${port}/v1`;\n}\n\nexport async function getGatewayApiKey(): Promise<string> {\n await getDatabase();\n const apiKeyConfig = await getConfig('api_key');\n return apiKeyConfig?.value || 'your-gateway-api-key';\n}\n\n/** OpenClaw provider entry structure */\nexport type OpenClawProviderEntry = {\n baseUrl: string;\n apiKey: string;\n api: 'openai-completions';\n models: Array<{\n id: string;\n name: string;\n reasoning?: boolean;\n input?: string[];\n cost?: {\n input: number;\n output: number;\n cacheRead: number;\n cacheWrite: number;\n };\n contextWindow?: number;\n maxTokens?: number;\n }>;\n};\n\nexport async function buildAarGatewayProvider(): Promise<OpenClawProviderEntry> {\n const gatewayAddress = await getGatewayAddress();\n const gatewayApiKey = await getGatewayApiKey();\n const allModels = (await getAllModels()).filter((m: any) => m.enabled);\n\n const models = allModels.map((m: any) => ({\n id: m.model_id,\n name: m.name,\n reasoning: m.reasoning || false,\n input: m.input || ['text'],\n cost: m.cost || { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },\n contextWindow: m.context_window || 200000,\n maxTokens: m.max_tokens || 8192,\n }));\n\n return {\n baseUrl: gatewayAddress,\n apiKey: gatewayApiKey,\n api: 'openai-completions',\n models,\n };\n}\n\nconst AAR_PROVIDER_ID = 'aar-gateway';\n\n/** Merge existing OpenClaw config with AAR gateway */\nexport function mergeConfigWithAar(\n existing: Record<string, any> | null,\n config: {\n defaultModel: string;\n defaultFallbacks?: string[];\n imageModel?: string;\n imageFallbacks?: string[];\n },\n aarProvider: OpenClawProviderEntry\n): Record<string, any> {\n const base = existing && typeof existing === 'object' ? { ...existing } : {};\n\n // Update models.providers\n const modelsConfig = base.models || {};\n const providers = modelsConfig.providers || {};\n providers[AAR_PROVIDER_ID] = aarProvider;\n modelsConfig.providers = providers;\n modelsConfig.mode = 'merge';\n base.models = modelsConfig;\n\n // Update agents.defaults.model\n const agents = base.agents || {};\n const defaults = agents.defaults || {};\n const model = defaults.model || {};\n\n // Format: provider/model\n const fullModelId = `${AAR_PROVIDER_ID}/${config.defaultModel}`;\n const fullImageModelId = config.imageModel\n ? `${AAR_PROVIDER_ID}/${config.imageModel}`\n : undefined;\n\n model.primary = fullModelId;\n if (config.defaultFallbacks && config.defaultFallbacks.length > 0) {\n model.fallbacks = config.defaultFallbacks.map((m: string) =>\n m.startsWith(`${AAR_PROVIDER_ID}/`) ? m : `${AAR_PROVIDER_ID}/${m}`\n );\n } else {\n delete model.fallbacks;\n }\n\n defaults.model = model;\n\n // Update agents.defaults.imageModel\n const imageModel = defaults.imageModel || {};\n if (fullImageModelId) {\n imageModel.primary = fullImageModelId;\n }\n if (config.imageFallbacks && config.imageFallbacks.length > 0) {\n imageModel.fallbacks = config.imageFallbacks.map((m: string) =>\n m.startsWith(`${AAR_PROVIDER_ID}/`) ? m : `${AAR_PROVIDER_ID}/${m}`\n );\n } else {\n delete imageModel.fallbacks;\n }\n defaults.imageModel = imageModel;\n\n // Update agents.defaults.models so OpenClaw can resolve aar-gateway model ids (alias, etc.)\n const modelsMap = defaults.models || {};\n for (const m of aarProvider.models) {\n const fullId = `${AAR_PROVIDER_ID}/${m.id}`;\n modelsMap[fullId] = modelsMap[fullId] || { alias: m.name };\n }\n defaults.models = modelsMap;\n\n agents.defaults = defaults;\n base.agents = agents;\n\n // Ensure channels exists (even if empty)\n if (!base.channels) {\n base.channels = {};\n }\n\n return base;\n}\n\n/** Generate merged config for preview or apply */\nexport async function buildMergedConfig(\n config: {\n defaultModel: string;\n defaultFallbacks?: string[];\n imageModel?: string;\n imageFallbacks?: string[];\n },\n existing: Record<string, any> | null\n): Promise<Record<string, any>> {\n const aarProvider = await buildAarGatewayProvider();\n return mergeConfigWithAar(existing, config, aarProvider);\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/ide/openclaw/preview/route\",\n pathname: \"/api/ide/openclaw/preview\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/ide/openclaw/preview/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/ide/openclaw/preview/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { NextRequest, NextResponse } from 'next/server';\nimport { existsSync, readFileSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\nimport { buildMergedConfig } from '../build-config';\n\nconst OPENCLAW_FILE = join(homedir(), '.openclaw', 'openclaw.json');\n\nexport async function GET(request: NextRequest) {\n try {\n const { searchParams } = new URL(request.url);\n const defaultModel = searchParams.get('default_model') || '';\n const defaultFallbacksStr = searchParams.get('default_fallbacks') || '';\n const imageModel = searchParams.get('image_model') || '';\n const imageFallbacksStr = searchParams.get('image_fallbacks') || '';\n\n if (!defaultModel) {\n return NextResponse.json({ error: 'Missing query: default_model' }, { status: 400 });\n }\n\n // Parse fallback arrays\n const defaultFallbacks = defaultFallbacksStr\n ? defaultFallbacksStr.split(',').filter(Boolean)\n : [];\n const imageFallbacks = imageFallbacksStr\n ? imageFallbacksStr.split(',').filter(Boolean)\n : [];\n\n let existingConfig = null;\n if (existsSync(OPENCLAW_FILE)) {\n try {\n const content = readFileSync(OPENCLAW_FILE, 'utf-8');\n existingConfig = JSON.parse(content);\n } catch (e) {\n // If file exists but is invalid, treat as empty\n }\n }\n\n const config = await buildMergedConfig(\n {\n defaultModel,\n defaultFallbacks,\n imageModel: imageModel || undefined,\n imageFallbacks,\n },\n existingConfig\n );\n\n return NextResponse.json({ config });\n } catch (error: any) {\n console.error('OpenClaw Preview API error:', error);\n return NextResponse.json(\n { error: error.message || 'Internal server error', stack: process.env.NODE_ENV === 'development' ? error.stack : undefined },\n { status: 500 }\n );\n }\n}\n"],"names":[],"mappings":"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","ignoreList":[1]}
@@ -1,4 +1,4 @@
1
- module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},74738,(e,t,r)=>{var n=void 0,a=function(r){return n||(n=new Promise(function(n,a){var i=void 0!==r?r:{},o=i.onAbort;"use strict";i.onAbort=function(e){a(Error(e)),o&&o(e)},i.postRun=i.postRun||[],i.postRun.push(function(){n(i)}),t=void 0,l||=void 0!==i?i:{};var s="u">typeof WorkerGlobalScope,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;l.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case"boolean":K(e,+!!t);break;case"number":B(e,t);break;case"string":Y(e,t,-1,-1);break;case"object":if(null===t)j(e);else if(null!=t.length){var r=tl(t,tu);z(e,r,t.length,-1),tv(r)}else J(e,"Wrong API use : tried to return a value of an unknown type ("+t+").",-1);break;default:j(e)}}function t(e,t){for(var r=[],n=0;n<e;n+=1){var a=H(t+4*n,"i32"),i=x(a);if(1===i||2===i)a=X(a);else if(3===i)a=P(a);else if(4===i){a=C(i=a),i=W(i);for(var o=new Uint8Array(a),s=0;s<a;s+=1)o[s]=y[i+s];a=o}else a=null;r.push(a)}return r}function r(e,t){this.Qa=e,this.db=t,this.Oa=1,this.lb=[]}function n(e,t){if(this.db=t,t=er(e)+1,this.eb=tw(t),null===this.eb)throw Error("Unable to allocate memory for the SQL string");en(e,g,this.eb,t),this.kb=this.eb,this.Za=this.pb=null}function a(e){if(this.filename="dbfile_"+(0xffffffff*Math.random()>>>0),null!=e){var t=this.filename,r="/",n=t;if(r&&(r="string"==typeof r?r:eg(r),n=t?V(r+"/"+t):r),n=function(e,t=438){return eP(e,4095&t|32768,0)}(n,t=el(!0,!0)),e){if("string"==typeof e){r=Array(e.length);for(var a=0,o=e.length;a<o;++a)r[a]=e.charCodeAt(a);e=r}ez(n,146|t),eZ(r=eG(n,577),e,0,e.length,0),eK(r),ez(n,t)}}this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),this.fb={},this.Sa={}}var i=tq(4),o=l.cwrap,s=o("sqlite3_open","number",["string","number"]),u=o("sqlite3_close_v2","number",["number"]),d=o("sqlite3_exec","number",["number","string","number","number","number"]),f=o("sqlite3_changes","number",["number"]),c=o("sqlite3_prepare_v2","number",["number","string","number","number","number"]),h=o("sqlite3_sql","string",["number"]),m=o("sqlite3_normalized_sql","string",["number"]),b=o("sqlite3_prepare_v2","number",["number","number","number","number","number"]),p=o("sqlite3_bind_text","number",["number","number","number","number","number"]),_=o("sqlite3_bind_blob","number",["number","number","number","number","number"]),E=o("sqlite3_bind_double","number",["number","number","number"]),w=o("sqlite3_bind_int","number",["number","number","number"]),v=o("sqlite3_bind_parameter_index","number",["number","string"]),T=o("sqlite3_step","number",["number"]),q=o("sqlite3_errmsg","string",["number"]),N=o("sqlite3_column_count","number",["number"]),R=o("sqlite3_data_count","number",["number"]),L=o("sqlite3_column_double","number",["number","number"]),A=o("sqlite3_column_text","string",["number","number"]),O=o("sqlite3_column_blob","number",["number","number"]),I=o("sqlite3_column_bytes","number",["number","number"]),S=o("sqlite3_column_type","number",["number","number"]),M=o("sqlite3_column_name","string",["number","number"]),k=o("sqlite3_reset","number",["number"]),D=o("sqlite3_clear_bindings","number",["number"]),F=o("sqlite3_finalize","number",["number"]),U=o("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),x=o("sqlite3_value_type","number",["number"]),C=o("sqlite3_value_bytes","number",["number"]),P=o("sqlite3_value_text","string",["number"]),W=o("sqlite3_value_blob","number",["number"]),X=o("sqlite3_value_double","number",["number"]),B=o("sqlite3_result_double","",["number","number"]),j=o("sqlite3_result_null","",["number"]),Y=o("sqlite3_result_text","",["number","string","number","number"]),z=o("sqlite3_result_blob","",["number","number","number","number"]),K=o("sqlite3_result_int","",["number","number"]),J=o("sqlite3_result_error","",["number","string","number"]),Z=o("sqlite3_aggregate_context","number",["number","number"]),ee=o("RegisterExtensionFunctions","number",["number"]),et=o("sqlite3_update_hook","number",["number","number","number"]);r.prototype.bind=function(e){if(!this.Qa)throw"Statement closed";return this.reset(),Array.isArray(e)?this.Cb(e):null==e||"object"!=typeof e||this.Db(e)},r.prototype.step=function(){if(!this.Qa)throw"Statement closed";this.Oa=1;var e=T(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},r.prototype.wb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),L(this.Qa,e)},r.prototype.Gb=function(e){if(null==e&&(e=this.Oa,this.Oa+=1),e=A(this.Qa,e),"function"!=typeof BigInt)throw Error("BigInt is not supported");return BigInt(e)},r.prototype.Hb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),A(this.Qa,e)},r.prototype.getBlob=function(e){null==e&&(e=this.Oa,this.Oa+=1);var t=I(this.Qa,e);e=O(this.Qa,e);for(var r=new Uint8Array(t),n=0;n<t;n+=1)r[n]=y[e+n];return r},r.prototype.get=function(e,t){t=t||{},null!=e&&this.bind(e)&&this.step(),e=[];for(var r=R(this.Qa),n=0;n<r;n+=1)switch(S(this.Qa,n)){case 1:var a=t.useBigInt?this.Gb(n):this.wb(n);e.push(a);break;case 2:e.push(this.wb(n));break;case 3:e.push(this.Hb(n));break;case 4:e.push(this.getBlob(n));break;default:e.push(null)}return e},r.prototype.getColumnNames=function(){for(var e=[],t=N(this.Qa),r=0;r<t;r+=1)e.push(M(this.Qa,r));return e},r.prototype.getAsObject=function(e,t){e=this.get(e,t),t=this.getColumnNames();for(var r={},n=0;n<t.length;n+=1)r[t[n]]=e[n];return r},r.prototype.getSQL=function(){return h(this.Qa)},r.prototype.getNormalizedSQL=function(){return m(this.Qa)},r.prototype.run=function(e){return null!=e&&this.bind(e),this.step(),this.reset()},r.prototype.sb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e=ea(e),tu);this.lb.push(r),this.db.handleError(p(this.Qa,t,r,e.length-1,0))},r.prototype.Bb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e,tu);this.lb.push(r),this.db.handleError(_(this.Qa,t,r,e.length,0))},r.prototype.rb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1),this.db.handleError((e===(0|e)?w:E)(this.Qa,t,e))},r.prototype.Eb=function(e){null==e&&(e=this.Oa,this.Oa+=1),_(this.Qa,e,0,0,0)},r.prototype.tb=function(e,t){switch(null==t&&(t=this.Oa,this.Oa+=1),typeof e){case"string":this.sb(e,t);return;case"number":this.rb(e,t);return;case"bigint":this.sb(e.toString(),t);return;case"boolean":this.rb(e+0,t);return;case"object":if(null===e)return void this.Eb(t);if(null!=e.length)return void this.Bb(e,t)}throw"Wrong API use : tried to bind a value of an unknown type ("+e+")."},r.prototype.Db=function(e){var t=this;return Object.keys(e).forEach(function(r){var n=v(t.Qa,r);0!==n&&t.tb(e[r],n)}),!0},r.prototype.Cb=function(e){for(var t=0;t<e.length;t+=1)this.tb(e[t],t+1);return!0},r.prototype.reset=function(){return this.freemem(),0===D(this.Qa)&&0===k(this.Qa)},r.prototype.freemem=function(){for(var e;void 0!==(e=this.lb.pop());)tv(e)},r.prototype.free=function(){this.freemem();var e=0===F(this.Qa);return delete this.db.fb[this.Qa],this.Qa=0,e},n.prototype.next=function(){if(null===this.eb)return{done:!0};if(null!==this.Za&&(this.Za.free(),this.Za=null),!this.db.db)throw this.mb(),Error("Database closed");var e=tN(),t=tq(4);$(i),$(t);try{this.db.handleError(b(this.db.db,this.kb,-1,i,t)),this.kb=H(t,"i32");var n=H(i,"i32");if(0===n)return this.mb(),{done:!0};return this.Za=new r(n,this.db),this.db.fb[n]=this.Za,{value:this.Za,done:!1}}catch(e){throw this.pb=G(this.kb),this.mb(),e}finally{tT(e)}},n.prototype.mb=function(){tv(this.eb),this.eb=null},n.prototype.getRemainingSQL=function(){return null!==this.pb?this.pb:G(this.kb)},"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator&&(n.prototype[Symbol.iterator]=function(){return this}),a.prototype.run=function(e,t){if(!this.db)throw"Database closed";if(t){e=this.prepare(e,t);try{e.step()}finally{e.free()}}else this.handleError(d(this.db,e,0,0,i));return this},a.prototype.exec=function(e,t,n){if(!this.db)throw"Database closed";var a=tN(),o=null;try{var s=ts(e),u=tq(4);for(e=[];0!==H(s,"i8");){$(i),$(u),this.handleError(b(this.db,s,-1,i,u));var l=H(i,"i32");if(s=H(u,"i32"),0!==l){var d=null;for(o=new r(l,this),null!=t&&o.bind(t);o.step();)null===d&&(d={columns:o.getColumnNames(),values:[]},e.push(d)),d.values.push(o.get(null,n));o.free()}}return e}catch(e){throw o&&o.free(),e}finally{tT(a)}},a.prototype.each=function(e,t,r,n,a){"function"==typeof t&&(n=r,r=t,t=void 0),e=this.prepare(e,t);try{for(;e.step();)r(e.getAsObject(null,a))}finally{e.free()}if("function"==typeof n)return n()},a.prototype.prepare=function(e,t){if($(i),this.handleError(c(this.db,e,-1,i,0)),0===(e=H(i,"i32")))throw"Nothing to prepare";var n=new r(e,this);return null!=t&&n.bind(t),this.fb[e]=n},a.prototype.iterateStatements=function(e){return new n(e,this)},a.prototype.export=function(){Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.handleError(u(this.db));var e=function(e){var t=eG(e,t||0),r=new Uint8Array(e=eY(e).size);return eJ(t,r,0,e,0),eK(t),r}(this.filename);return this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),e},a.prototype.close=function(){null!==this.db&&(Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.Ya&&(tf(this.Ya),this.Ya=void 0),this.handleError(u(this.db)),eH("/"+this.filename),this.db=null)},a.prototype.handleError=function(e){if(0===e)return null;throw Error(e=q(this.db))},a.prototype.getRowsModified=function(){return f(this.db)},a.prototype.create_function=function(r,n){Object.prototype.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]);var a=tc(function(r,a,i){a=t(a,i);try{var o=n.apply(null,a)}catch(e){J(r,e,-1);return}e(r,o)},"viii");return this.Sa[r]=a,this.handleError(U(this.db,r,n.length,1,0,a,0,0,0)),this},a.prototype.create_aggregate=function(r,n){var a=n.init||function(){return null},i=n.finalize||function(e){return e},o=n.step;if(!o)throw"An aggregate function must have a step function in "+r;var s={};Object.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]),n=r+"__finalize",Object.hasOwnProperty.call(this.Sa,n)&&(tf(this.Sa[n]),delete this.Sa[n]);var u=tc(function(e,r,n){var i=Z(e,1);Object.hasOwnProperty.call(s,i)||(s[i]=a()),r=t(r,n),r=[s[i]].concat(r);try{s[i]=o.apply(null,r)}catch(t){delete s[i],J(e,t,-1)}},"viii"),l=tc(function(t){var r=Z(t,1);try{var n=i(s[r])}catch(e){delete s[r],J(t,e,-1);return}e(t,n),delete s[r]},"vi");return this.Sa[r]=u,this.Sa[n]=l,this.handleError(U(this.db,r,o.length-1,1,0,0,u,l,0)),this},a.prototype.updateHook=function(e){this.Ya&&(et(this.db,0,0),tf(this.Ya),this.Ya=void 0),e&&(this.Ya=tc(function(t,r,n,a,i){switch(r){case 18:t="insert";break;case 23:t="update";break;case 9:t="delete";break;default:throw"unknown operationCode in updateHook callback: "+r}if(n=n?Q(g,n):"",a=a?Q(g,a):"",i>Number.MAX_SAFE_INTEGER)throw"rowId too big to fit inside a Number";e(t,n,a,Number(i))},"viiiij"),et(this.db,this.Ya,0))},l.Database=a};var l,d,f,c={...l},h="./this.program",m=(e,t)=>{throw t},b="";if(u){var p=e.r(22734);e.r(14747),b="/ROOT/node_modules/sql.js/dist/",f=e=>(e=S(e)?new URL(e):e,p.readFileSync(e)),d=async e=>(e=S(e)?new URL(e):e,p.readFileSync(e,void 0)),!l.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),void 0!==t&&(t.exports=l),m=(e,t)=>{throw process.exitCode=e,t}}else s&&(s?b=self.location.href:"u">typeof document&&document.currentScript&&(b=document.currentScript.src),b=b.startsWith("blob:")?"":b.slice(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1),s&&(f=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),d=async e=>{if(S(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)});var _=l.print||console.log.bind(console),E=l.printErr||console.error.bind(console);Object.assign(l,c),c=null,l.thisProgram&&(h=l.thisProgram);var w,v,y,g,T,q,N,R,L,A,O=l.wasmBinary,I=!1,S=e=>e.startsWith("file://");function M(){var e=w.buffer;l.HEAP8=y=new Int8Array(e),l.HEAP16=T=new Int16Array(e),l.HEAPU8=g=new Uint8Array(e),l.HEAPU16=new Uint16Array(e),l.HEAP32=q=new Int32Array(e),l.HEAPU32=N=new Uint32Array(e),l.HEAPF32=R=new Float32Array(e),l.HEAPF64=A=new Float64Array(e),l.HEAP64=L=new BigInt64Array(e),l.HEAPU64=new BigUint64Array(e)}var k=0,D=null;function F(e){throw l.onAbort?.(e),E(e="Aborted("+e+")"),I=!0,new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.")}async function U(e){if(!O)try{var t=await d(e);return new Uint8Array(t)}catch{}if(e==e4&&O)e=new Uint8Array(O);else if(f)e=f(e);else throw"both async and sync fetching of the wasm failed";return e}async function x(e,t){try{var r=await U(e);return await WebAssembly.instantiate(r,t)}catch(e){E(`failed to asynchronously prepare wasm: ${e}`),F(e)}}async function C(e){if(!O&&"function"==typeof WebAssembly.instantiateStreaming&&!S(e4)&&!u)try{var t=fetch(e4,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(t,e)}catch(e){E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation")}return x(e4,e)}class P{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var W=e=>{for(;0<e.length;)e.shift()(l)},X=[],B=[],j=()=>{var e=l.preRun.shift();B.unshift(e)};function H(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return y[e];case"i16":return T[e>>1];case"i32":return q[e>>2];case"i64":return L[e>>3];case"float":return R[e>>2];case"double":return A[e>>3];case"*":return N[e>>2];default:F(`invalid type for getValue: ${t}`)}}var Y=l.noExitRuntime||!0;function $(e){var t="i32";switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":y[e]=0;break;case"i16":T[e>>1]=0;break;case"i32":q[e>>2]=0;break;case"i64":L[e>>3]=BigInt(0);break;case"float":R[e>>2]=0;break;case"double":A[e>>3]=0;break;case"*":N[e>>2]=0;break;default:F(`invalid type for setValue: ${t}`)}}var z="u">typeof TextDecoder?new TextDecoder:void 0,Q=(e,t=0,r=NaN)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&z)return z.decode(e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var i=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|i);else{var o=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n},G=(e,t)=>e?Q(g,e,t):"",K=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},V=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=K(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},J=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return(e=t[0],t=t[1],e||t)?e+(t&&=t.slice(0,-1)):"."},Z=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],ee=t=>{(ee=(()=>{if(u){var t=e.r(54799);return e=>t.randomFillSync(e)}return e=>crypto.getRandomValues(e)})())(t)},et=[],er=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},en=(e,t,r,n)=>{if(!(0<n))return 0;var a=r;n=r+n-1;for(var i=0;i<e.length;++i){var o=e.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-a},ea=(e,t)=>{var r=Array(er(e)+1);return e=en(e,r,0,r.length),t&&(r.length=e),r},ei=[];function eo(e,t){ei[e]={input:[],output:[],cb:t},ex(e,es)}var es={open(e){var t=ei[e.node.rdev];if(!t)throw new eE(43);e.tty=t,e.seekable=!1},close(e){e.tty.cb.fsync(e.tty)},fsync(e){e.tty.cb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.cb.xb)throw new eE(60);for(var a=0,i=0;i<n;i++){try{var o=e.tty.cb.xb(e.tty)}catch(e){throw new eE(29)}if(void 0===o&&0===a)throw new eE(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.atime=Date.now()),a},write(e,t,r,n){if(!e.tty||!e.tty.cb.qb)throw new eE(60);try{for(var a=0;a<n;a++)e.tty.cb.qb(e.tty,t[r+a])}catch(e){throw new eE(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},eu={Wa:null,Xa:()=>eu.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new eE(63);return eu.Wa||(eu.Wa={dir:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,lookup:eu.La.lookup,hb:eu.La.hb,rename:eu.La.rename,unlink:eu.La.unlink,rmdir:eu.La.rmdir,readdir:eu.La.readdir,symlink:eu.La.symlink},stream:{Va:eu.Ma.Va}},file:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:{Va:eu.Ma.Va,read:eu.Ma.read,write:eu.Ma.write,ib:eu.Ma.ib,jb:eu.Ma.jb}},link:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,readlink:eu.La.readlink},stream:{}},ub:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:eU}}),eL((r=eR(e,t,r,n)).mode)?(r.La=eu.Wa.dir.node,r.Ma=eu.Wa.dir.stream,r.Na={}):32768==(61440&r.mode)?(r.La=eu.Wa.file.node,r.Ma=eu.Wa.file.stream,r.Ra=0,r.Na=null):40960==(61440&r.mode)?(r.La=eu.Wa.link.node,r.Ma=eu.Wa.link.stream):8192==(61440&r.mode)&&(r.La=eu.Wa.ub.node,r.Ma=eu.Wa.ub.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.Na[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Sb:e=>e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array(0),La:{Ta(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,eL(e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Ra:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.Ra!=t&&(0==t?(e.Na=null,e.Ra=0):(r=e.Na,e.Na=new Uint8Array(t),r&&e.Na.set(r.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw eu.vb},hb:(e,t,r,n)=>eu.createNode(e,t,r,n),rename(e,t,r){try{var n=eN(t,r)}catch(e){}if(n){if(eL(e.mode))for(var a in n.Na)throw new eE(55);eq(n)}delete e.parent.Na[e.name],t.Na[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=eN(e,t);for(r in n.Na)throw new eE(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.Na)],symlink:(e,t,r)=>((e=eu.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new eE(28);return e.link}},Ma:{read(e,t,r,n,a){var i=e.node.Na;if(a>=e.node.Ra)return 0;if(8<(e=Math.min(e.node.Ra-a,n))&&i.subarray)t.set(i.subarray(a,a+e),r);else for(n=0;n<e;n++)t[r+n]=i[a+n];return e},write(e,t,r,n,a,i){if(t.buffer===y.buffer&&(i=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(i)return e.Na=t.subarray(r,r+n),e.Ra=n;if(0===e.Ra&&0===a)return e.Na=t.slice(r,r+n),e.Ra=n;if(a+n<=e.Ra)return e.Na.set(t.subarray(r,r+n),a),n}i=a+n;var o=e.Na?e.Na.length:0;if(o>=i||(i=Math.max(i,o*(1048576>o?2:1.125)>>>0),0!=o&&(i=Math.max(i,256)),o=e.Na,e.Na=new Uint8Array(i),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(r,r+n),a);else for(i=0;i<n;i++)e.Na[a+i]=t[r+i];return e.Ra=Math.max(e.Ra,a+n),n},Va(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Ra),0>t)throw new eE(28);return t},ib(e,t,r,n,a){if(32768!=(61440&e.node.mode))throw new eE(43);if(e=e.node.Na,2&a||!e||e.buffer!==y.buffer){a=!0;var i=ty(65536,n=65536*Math.ceil(t/65536));if(i&&g.fill(0,i,i+n),!(n=i))throw new eE(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),y.set(e,n))}else a=!1,n=e.byteOffset;return{Kb:n,Ab:a}},jb:(e,t,r,n)=>(eu.Ma.write(e,t,0,n,r,!1),0)}},el=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ed=null,ef={},ec=[],eh=1,em=null,eb=!1,ep=!0,e_={},eE=class{name="ErrnoError";constructor(e){this.Pa=e}},ew=class{gb={};node=null;get flags(){return this.gb.flags}set flags(e){this.gb.flags=e}get position(){return this.gb.position}set position(e){this.gb.position=e}},ev=class{La={};Ma={};ab=null;constructor(e,t,r,n){e||=this,this.parent=e,this.Xa=e.Xa,this.id=eh++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return 365==(365&this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return 146==(146&this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function ey(e,t={}){if(!e)throw new eE(44);t.nb??(t.nb=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=ed,a="/",i=0;i<e.length;i++){var o=i===e.length-1;if(o&&t.parent)break;if("."!==e[i])if(".."===e[i])a=J(a),n=n.parent;else{a=V(a+"/"+e[i]);try{n=eN(n,e[i])}catch(e){if(44===e?.Pa&&o&&t.Jb)return{path:a};throw e}if(n.ab&&(!o||t.nb)&&(n=n.ab.root),40960==(61440&n.mode)&&(!o||t.$a)){if(!n.La.readlink)throw new eE(52);"/"===(n=n.La.readlink(n)).charAt(0)||(n=J(a)+"/"+n),e=n+"/"+e.slice(i+1).join("/");continue e}}}return{path:a,node:n}}throw new eE(32)}function eg(e){for(var t;;){if(e===e.parent)return e=e.Xa.zb,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function eT(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%em.length}function eq(e){var t=eT(e.parent.id,e.name);if(em[t]===e)em[t]=e.bb;else for(t=em[t];t;){if(t.bb===e){t.bb=e.bb;break}t=t.bb}}function eN(e,t){var r=eL(e.mode)?(r=eO(e,"x"))?r:2*!e.La.lookup:54;if(r)throw new eE(r);for(r=em[eT(e.id,t)];r;r=r.bb){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.La.lookup(e,t)}function eR(e,t,r,n){return t=eT((e=new ev(e,t,r,n)).parent.id,e.name),e.bb=em[t],em[t]=e}function eL(e){return 16384==(61440&e)}function eA(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function eO(e,t){return ep?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0}function eI(e,t){if(!eL(e.mode))return 54;try{return eN(e,t),20}catch(e){}return eO(e,"wx")}function eS(e,t,r){try{var n=eN(e,t)}catch(e){return e.Pa}if(e=eO(e,"wx"))return e;if(r){if(!eL(n.mode))return 54;if(n===n.parent||"/"===eg(n))return 10}else if(eL(n.mode))return 31;return 0}function eM(e){if(!e)throw new eE(63);return e}function ek(e){if(!(e=ec[e]))throw new eE(8);return e}function eD(e,t=-1){if(e=Object.assign(new ew,e),-1==t)e:{for(t=0;4096>=t;t++)if(!ec[t])break e;throw new eE(33)}return e.fd=t,ec[t]=e}function eF(e,t,r){var n=e?.Ma.Ua;e=n?e:t,eM(n??=t.La.Ua),n(e,r)}var eU={open(e){e.Ma=ef[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new eE(70)}};function ex(e,t){ef[e]={Ma:t}}function eC(e,t){var r="/"===t;if(r&&ed)throw new eE(10);if(!r&&t){var n=ey(t,{nb:!1});if(t=n.path,(n=n.node).ab)throw new eE(10);if(!eL(n.mode))throw new eE(54)}t={type:e,Wb:{},zb:t,Ib:[]},(e=e.Xa(t)).Xa=t,t.root=e,r?ed=e:n&&(n.ab=t,n.Xa&&n.Xa.Ib.push(t))}function eP(e,t,r){var n=ey(e,{parent:!0}).node;if(!(e=Z(e)))throw new eE(28);if("."===e||".."===e)throw new eE(20);var a=eI(n,e);if(a)throw new eE(a);if(!n.La.hb)throw new eE(63);return n.La.hb(n,e,t,r)}function eW(e,t=511){return eP(e,1023&t|16384,0)}function eX(e,t,r){void 0===r&&(r=t,t=438),eP(e,8192|t,r)}function eB(e,t){if(!((...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:"/"))throw TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=K(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."})(e))throw new eE(44);var r=ey(t,{parent:!0}).node;if(!r)throw new eE(44);var n=eI(r,t=Z(t));if(n)throw new eE(n);if(!r.La.symlink)throw new eE(63);r.La.symlink(r,t,e)}function ej(e){var t=ey(e,{parent:!0}).node,r=eN(t,e=Z(e)),n=eS(t,e,!0);if(n)throw new eE(n);if(!t.La.rmdir)throw new eE(63);if(r.ab)throw new eE(10);t.La.rmdir(t,e),eq(r)}function eH(e){var t=ey(e,{parent:!0}).node;if(!t)throw new eE(44);var r=eN(t,e=Z(e)),n=eS(t,e,!1);if(n)throw new eE(n);if(!t.La.unlink)throw new eE(63);if(r.ab)throw new eE(10);t.La.unlink(t,e),eq(r)}function eY(e,t){return eM((e=ey(e,{$a:!t}).node).La.Ta)(e)}function e$(e,t,r,n){eF(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),Fb:n})}function ez(e,t){e$(null,e="string"==typeof e?ey(e,{$a:!0}).node:e,t)}function eQ(e,t,r){if(eL(t.mode))throw new eE(31);if(32768!=(61440&t.mode))throw new eE(28);var n=eO(t,"w");if(n)throw new eE(n);eF(e,t,{size:r,timestamp:Date.now()})}function eG(e,t,r=438){if(""===e)throw new eE(44);if("string"==typeof t){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===n)throw Error(`Unknown file open mode: ${t}`);t=n}if(r=64&t?4095&r|32768:0,"object"==typeof e)n=e;else{var a=e.endsWith("/");n=(e=ey(e,{$a:!(131072&t),Jb:!0})).node,e=e.path}var i=!1;if(64&t)if(n){if(128&t)throw new eE(20)}else{if(a)throw new eE(31);n=eP(e,511|r,0),i=!0}if(!n)throw new eE(44);if(8192==(61440&n.mode)&&(t&=-513),65536&t&&!eL(n.mode))throw new eE(54);if(!i&&(a=n?40960==(61440&n.mode)?32:eL(n.mode)&&("r"!==eA(t)||576&t)?31:eO(n,eA(t)):44))throw new eE(a);return 512&t&&!i&&eQ(null,a="string"==typeof(a=n)?ey(a,{$a:!0}).node:a,0),t&=-131713,(a=eD({node:n,path:eg(n),flags:t,seekable:!0,position:0,Ma:n.Ma,Lb:[],error:!1})).Ma.open&&a.Ma.open(a),i&&ez(n,511&r),!l.logReadFiles||1&t||e in e_||(e_[e]=1),a}function eK(e){if(null===e.fd)throw new eE(8);e.ob&&(e.ob=null);try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{ec[e.fd]=null}e.fd=null}function eV(e,t,r){if(null===e.fd)throw new eE(8);if(!e.seekable||!e.Ma.Va)throw new eE(70);if(0!=r&&1!=r&&2!=r)throw new eE(28);e.position=e.Ma.Va(e,t,r),e.Lb=[]}function eJ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||1==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.read)throw new eE(28);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.read(e,t,r,n,a),i||(e.position+=t),t}function eZ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||0==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.write)throw new eE(28);e.seekable&&1024&e.flags&&eV(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.write(e,t,r,n,a,void 0),i||(e.position+=t),t}function e0(e,t,r){e=V("/dev/"+e);var n=el(!!t,!!r);e0.yb??(e0.yb=64);var a=e0.yb++<<8;ex(a,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,n,a){for(var i=0,o=0;o<a;o++){try{var s=t()}catch(e){throw new eE(29)}if(void 0===s&&0===i)throw new eE(6);if(null==s)break;i++,r[n+o]=s}return i&&(e.node.atime=Date.now()),i},write(e,t,n,a){for(var i=0;i<a;i++)try{r(t[n+i])}catch(e){throw new eE(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),i}}),eX(e,n,a)}var e1={};function e3(e,t,r){if("/"===t.charAt(0))return t;if(e=-100===e?"/":ek(e).path,0==t.length){if(!r)throw new eE(44);return e}return e+"/"+t}function e2(e,t){q[e>>2]=t.dev,q[e+4>>2]=t.mode,N[e+8>>2]=t.nlink,q[e+12>>2]=t.uid,q[e+16>>2]=t.gid,q[e+20>>2]=t.rdev,L[e+24>>3]=BigInt(t.size),q[e+32>>2]=4096,q[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return L[e+40>>3]=BigInt(Math.floor(r/1e3)),N[e+48>>2]=r%1e3*1e6,L[e+56>>3]=BigInt(Math.floor(n/1e3)),N[e+64>>2]=n%1e3*1e6,L[e+72>>3]=BigInt(Math.floor(a/1e3)),N[e+80>>2]=a%1e3*1e6,L[e+88>>3]=BigInt(t.ino),0}var e4,e6,e8,e5,e7=void 0,e9=()=>{var e=q[e7>>2];return e7+=4,e},te=0,tt=[0,31,60,91,121,152,182,213,244,274,305,335],tr=[0,31,59,90,120,151,181,212,243,273,304,334],tn={},ta=e=>{v=e,Y||0<te||(l.onExit?.(e),I=!0),m(e,new P(e))},ti={},to=()=>{if(!e6){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(e in ti)void 0===ti[e]?delete t[e]:t[e]=ti[e];var r=[];for(e in t)r.push(`${e}=${t[e]}`);e6=r}return e6},ts=e=>{var t=er(e)+1,r=tq(t);return en(e,g,r,t),r},tu=0,tl=(e,t)=>(t=1==t?tq(e.length):tw(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),g.set(e,t),t),td=[],tf=e=>{e8.delete(e5.get(e)),e5.set(e,null),td.push(e)},tc=(e,t)=>{if(!e8){e8=new WeakMap;var r=e5.length;if(e8)for(var n=0;n<0+r;n++){var a=e5.get(n);a&&e8.set(a,n)}}if(r=e8.get(e)||0)return r;if(td.length)r=td.pop();else{try{e5.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}r=e5.length-1}try{e5.set(r,e)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){var i=WebAssembly.Function;n={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==t[0]?[]:[n[t[0]]]};for(var o=1;o<t.length;++o)a.parameters.push(n[t[o]]);t=new i(a,e)}else{n=[1],a=t.slice(0,1),t=t.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111},n.push(96);var s=t.length;for(i of(128>s?n.push(s):n.push(s%128|128,s>>7),t))n.push(o[i]);"v"==a?n.push(0):n.push(1,o[a]),t=[0,97,115,109,1,0,0,0,1],128>(i=n.length)?t.push(i):t.push(i%128|128,i>>7),t.push(...n),t.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(new Uint8Array(t)),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f}e5.set(r,t)}return e8.set(e,r),r};em=Array(4096),eC(eu,"/"),eW("/tmp"),eW("/home"),eW("/home/web_user"),eW("/dev"),ex(259,{read:()=>0,write:(e,t,r,n)=>n,Va:()=>0}),eX("/dev/null",259),eo(1280,{xb(){e:{if(!et.length){var e=null;if(u){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=p.readSync(n,t,0,256)}catch(e){if(e.toString().includes("EOF"))r=0;else throw e}0<r&&(e=t.slice(0,r).toString("utf-8"))}if(!e){e=null;break e}et=ea(e,!0)}e=et.shift()}return e},qb(e,t){null===t||10===t?(_(Q(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(_(Q(e.output)),e.output=[])},Tb:()=>({Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Ub:()=>0,Vb:()=>[24,80]}),eo(1536,{qb(e,t){null===t||10===t?(E(Q(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(E(Q(e.output)),e.output=[])}}),eX("/dev/tty",1280),eX("/dev/tty1",1536),th=new Uint8Array(1024),tm=0,e0("random",tb=()=>(0===tm&&(ee(th),tm=th.byteLength),th[--tm])),e0("urandom",tb),eW("/dev/shm"),eW("/dev/shm/tmp"),eW("/proc"),tp=eW("/proc/self"),eW("/proc/self/fd"),eC({Xa(){var e=eR(tp,"fd",16895,73);return e.Ma={Va:eu.Ma.Va},e.La={lookup(e,t){var r=ek(e=+t);return(e={parent:null,Xa:{zb:"fake"},La:{readlink:()=>r.path},id:e+1}).parent=e},readdir:()=>Array.from(ec.entries()).filter(([,e])=>e).map(([e])=>e.toString())},e}},"/proc/self/fd"),eu.vb=new eE(44),eu.vb.stack="<generic error, no stack>";var th,tm,tb,tp,t_,tE={a:(e,t,r,n)=>F(`Assertion failed: ${e?Q(g,e):""}, at: `+[t?t?Q(g,t):"":"unknown filename",r,n?n?Q(g,n):"":"unknown function"]),i:function(e,t){try{return e=e?Q(g,e):"",ez(e,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},L:function(e,t,r){try{if(t=t?Q(g,t):"",t=e3(e,t),-8&r)return -28;var n=ey(t,{$a:!0}).node;if(!n)return -44;return e="",4&r&&(e+="r"),2&r&&(e+="w"),1&r&&(e+="x"),e&&eO(n,e)?-2:0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},j:function(e,t){try{var r=ek(e);return e$(r,r.node,t,!1),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},h:function(e){try{var t=ek(e);return eF(t,t.node,{timestamp:Date.now(),Fb:!1}),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},b:function(e,t,r){e7=r;try{var n=ek(e);switch(t){case 0:var a=e9();if(0>a)break;for(;ec[a];)a++;return function(e,t=-1){return e=eD(e,t),e.Ma?.Rb?.(e),e}(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:return a=e9(),n.flags|=a,0;case 12:return T[(a=e9())+0>>1]=2,0}return -28}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},g:function(e,t){try{var r=ek(e),n=r.node,a=r.Ma.Ta;e=a?r:n,a??=n.La.Ta,eM(a);var i=a(e);return e2(t,i)}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},H:function(e,t){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var r=ek(e);if(0>t||0==(2097155&r.flags))throw new eE(28);return eQ(r,r.node,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},G:function(e,t){try{if(0===t)return -28;var r=er("/")+1;if(t<r)return -68;return en("/",g,e,t),r}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},K:function(e,t){try{return e=e?Q(g,e):"",e2(t,eY(e,!0))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},C:function(e,t,r){try{return t=t?Q(g,t):"",t=e3(e,t),eW(t,r),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},J:function(e,t,r,n){try{return t=t?Q(g,t):"",t=e3(e,t,4096&n),e2(r,256&n?eY(t,!0):eY(t))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},x:function(e,t,r,n){e7=n;try{t=t?Q(g,t):"",t=e3(e,t);var a=n?e9():0;return eG(t,r,a).fd}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},v:function(e,t,r,n){try{if(t=t?Q(g,t):"",t=e3(e,t),0>=n)return -28;var a=ey(t).node;if(!a)throw new eE(44);if(!a.La.readlink)throw new eE(28);var i=a.La.readlink(a),o=Math.min(n,er(i)),s=y[r+o];return en(i,g,r,n+1),y[r+o]=s,o}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},u:function(e){try{return e=e?Q(g,e):"",ej(e),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},f:function(e,t){try{return e=e?Q(g,e):"",e2(t,eY(e))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},r:function(e,t,r){try{return t=t?Q(g,t):"",t=e3(e,t),0===r?eH(t):512===r?ej(t):F("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},q:function(e,t,r){try{t=t?Q(g,t):"",t=e3(e,t,!0);var n,a,i=Date.now();if(r){var o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2];n=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6,r+=16,o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2],a=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6}else a=n=i;if(null!==(a??n)){e=n;var u=ey(t,{$a:!0}).node;eM(u.La.Ua)(u,{atime:e,mtime:a})}return 0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},m:()=>F(""),l:()=>{Y=!1,te=0},A:function(e,t){e=new Date(1e3*(e=-0x20000000000000>e||0x20000000000000<e?NaN:Number(e))),q[t>>2]=e.getSeconds(),q[t+4>>2]=e.getMinutes(),q[t+8>>2]=e.getHours(),q[t+12>>2]=e.getDate(),q[t+16>>2]=e.getMonth(),q[t+20>>2]=e.getFullYear()-1900,q[t+24>>2]=e.getDay();var r=e.getFullYear();q[t+28>>2]=(0!=r%4||0==r%100&&0!=r%400?tr:tt)[e.getMonth()]+e.getDate()-1|0,q[t+36>>2]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();q[t+32>>2]=0|(r!=n&&e.getTimezoneOffset()==Math.min(n,r))},y:function(e,t,r,n,a,i,o){a=-0x20000000000000>a||0x20000000000000<a?NaN:Number(a);try{if(isNaN(a))return 61;var s=ek(n);if(0!=(2&t)&&0==(2&r)&&2!=(2097155&s.flags)||1==(2097155&s.flags))throw new eE(2);if(!s.Ma.ib)throw new eE(43);if(!e)throw new eE(28);var u=s.Ma.ib(s,e,a,t,r),l=u.Kb;return q[i>>2]=u.Ab,N[o>>2]=l,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},z:function(e,t,r,n,a,i){i=-0x20000000000000>i||0x20000000000000<i?NaN:Number(i);try{var o=ek(a);if(2&r){if(r=i,32768!=(61440&o.node.mode))throw new eE(43);if(!(2&n)){var s=g.slice(e,e+t);o.Ma.jb&&o.Ma.jb(o,s,r,t,n)}}}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},n:(e,t)=>{if(tn[e]&&(clearTimeout(tn[e].id),delete tn[e]),!t)return 0;var r=setTimeout(()=>{delete tn[e];var t=()=>tg(e,performance.now());if(!I)try{if(t(),!(Y||0<te))try{v=t=v,ta(t)}catch(e){e instanceof P||"unwind"==e||m(1,e)}}catch(e){e instanceof P||"unwind"==e||m(1,e)}},t);return tn[e]={id:r,Xb:t},0},B:(e,t,r,n)=>{var a=(new Date).getFullYear(),i=new Date(a,0,1).getTimezoneOffset();a=new Date(a,6,1).getTimezoneOffset(),N[e>>2]=60*Math.max(i,a),q[t>>2]=Number(i!=a),e=(t=e=>{var t=Math.abs(e);return`UTC${0<=e?"-":"+"}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`})(i),t=t(a),a<i?(en(e,g,r,17),en(t,g,n,17)):(en(e,g,n,17),en(t,g,r,17))},d:()=>Date.now(),s:()=>0x80000000,c:()=>performance.now(),o:e=>{var t=g.length;if(0x80000000<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+0x6000000);e:{n=(Math.min(0x80000000,65536*Math.ceil(Math.max(e,n)/65536))-w.buffer.byteLength+65535)/65536|0;try{w.grow(n),M();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},E:(e,t)=>{var r=0;return to().forEach((n,a)=>{var i=t+r;for(a=N[e+4*a>>2]=i,i=0;i<n.length;++i)y[a++]=n.charCodeAt(i);y[a]=0,r+=n.length+1}),0},F:(e,t)=>{var r=to();N[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),N[t>>2]=n,0},e:function(e){try{var t=ek(e);return eK(t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},p:function(e,t){try{var r=ek(e);return y[t]=r.tty?2:eL(r.mode)?3:40960==(61440&r.mode)?7:4,T[t+2>>1]=0,L[t+8>>3]=BigInt(0),L[t+16>>3]=BigInt(0),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},w:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eJ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},D:function(e,t,r,n){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var a=ek(e);return eV(a,t,r),L[n>>3]=BigInt(a.position),a.ob&&0===t&&0===r&&(a.ob=null),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},I:function(e){try{var t=ek(e);return t.Ma?.fsync?t.Ma.fsync(t):0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},t:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eZ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},k:ta};!async function(){function e(e){return w=(t_=e.exports).M,M(),e5=t_.O,k--,l.monitorRunDependencies?.(k),0==k&&D&&(e=D,D=null,e()),t_}k++,l.monitorRunDependencies?.(k);var t={a:tE};if(l.instantiateWasm)return new Promise(r=>{l.instantiateWasm(t,(t,n)=>{e(t,n),r(t.exports)})});e4??=l.locateFile?l.locateFile("sql-wasm.wasm",b):b+"sql-wasm.wasm",e((await C(t)).instance)}(),l._sqlite3_free=e=>(l._sqlite3_free=t_.P)(e),l._sqlite3_value_text=e=>(l._sqlite3_value_text=t_.Q)(e),l._sqlite3_prepare_v2=(e,t,r,n,a)=>(l._sqlite3_prepare_v2=t_.R)(e,t,r,n,a),l._sqlite3_step=e=>(l._sqlite3_step=t_.S)(e),l._sqlite3_reset=e=>(l._sqlite3_reset=t_.T)(e),l._sqlite3_exec=(e,t,r,n,a)=>(l._sqlite3_exec=t_.U)(e,t,r,n,a),l._sqlite3_finalize=e=>(l._sqlite3_finalize=t_.V)(e),l._sqlite3_column_name=(e,t)=>(l._sqlite3_column_name=t_.W)(e,t),l._sqlite3_column_text=(e,t)=>(l._sqlite3_column_text=t_.X)(e,t),l._sqlite3_column_type=(e,t)=>(l._sqlite3_column_type=t_.Y)(e,t),l._sqlite3_errmsg=e=>(l._sqlite3_errmsg=t_.Z)(e),l._sqlite3_clear_bindings=e=>(l._sqlite3_clear_bindings=t_._)(e),l._sqlite3_value_blob=e=>(l._sqlite3_value_blob=t_.$)(e),l._sqlite3_value_bytes=e=>(l._sqlite3_value_bytes=t_.aa)(e),l._sqlite3_value_double=e=>(l._sqlite3_value_double=t_.ba)(e),l._sqlite3_value_int=e=>(l._sqlite3_value_int=t_.ca)(e),l._sqlite3_value_type=e=>(l._sqlite3_value_type=t_.da)(e),l._sqlite3_result_blob=(e,t,r,n)=>(l._sqlite3_result_blob=t_.ea)(e,t,r,n),l._sqlite3_result_double=(e,t)=>(l._sqlite3_result_double=t_.fa)(e,t),l._sqlite3_result_error=(e,t,r)=>(l._sqlite3_result_error=t_.ga)(e,t,r),l._sqlite3_result_int=(e,t)=>(l._sqlite3_result_int=t_.ha)(e,t),l._sqlite3_result_int64=(e,t)=>(l._sqlite3_result_int64=t_.ia)(e,t),l._sqlite3_result_null=e=>(l._sqlite3_result_null=t_.ja)(e),l._sqlite3_result_text=(e,t,r,n)=>(l._sqlite3_result_text=t_.ka)(e,t,r,n),l._sqlite3_aggregate_context=(e,t)=>(l._sqlite3_aggregate_context=t_.la)(e,t),l._sqlite3_column_count=e=>(l._sqlite3_column_count=t_.ma)(e),l._sqlite3_data_count=e=>(l._sqlite3_data_count=t_.na)(e),l._sqlite3_column_blob=(e,t)=>(l._sqlite3_column_blob=t_.oa)(e,t),l._sqlite3_column_bytes=(e,t)=>(l._sqlite3_column_bytes=t_.pa)(e,t),l._sqlite3_column_double=(e,t)=>(l._sqlite3_column_double=t_.qa)(e,t),l._sqlite3_bind_blob=(e,t,r,n,a)=>(l._sqlite3_bind_blob=t_.ra)(e,t,r,n,a),l._sqlite3_bind_double=(e,t,r)=>(l._sqlite3_bind_double=t_.sa)(e,t,r),l._sqlite3_bind_int=(e,t,r)=>(l._sqlite3_bind_int=t_.ta)(e,t,r),l._sqlite3_bind_text=(e,t,r,n,a)=>(l._sqlite3_bind_text=t_.ua)(e,t,r,n,a),l._sqlite3_bind_parameter_index=(e,t)=>(l._sqlite3_bind_parameter_index=t_.va)(e,t),l._sqlite3_sql=e=>(l._sqlite3_sql=t_.wa)(e),l._sqlite3_normalized_sql=e=>(l._sqlite3_normalized_sql=t_.xa)(e),l._sqlite3_changes=e=>(l._sqlite3_changes=t_.ya)(e),l._sqlite3_close_v2=e=>(l._sqlite3_close_v2=t_.za)(e),l._sqlite3_create_function_v2=(e,t,r,n,a,i,o,s,u)=>(l._sqlite3_create_function_v2=t_.Aa)(e,t,r,n,a,i,o,s,u),l._sqlite3_update_hook=(e,t,r)=>(l._sqlite3_update_hook=t_.Ba)(e,t,r),l._sqlite3_open=(e,t)=>(l._sqlite3_open=t_.Ca)(e,t);var tw=l._malloc=e=>(tw=l._malloc=t_.Da)(e),tv=l._free=e=>(tv=l._free=t_.Ea)(e);l._RegisterExtensionFunctions=e=>(l._RegisterExtensionFunctions=t_.Fa)(e);var ty=(e,t)=>(ty=t_.Ga)(e,t),tg=(e,t)=>(tg=t_.Ha)(e,t),tT=e=>(tT=t_.Ia)(e),tq=e=>(tq=t_.Ja)(e),tN=()=>(tN=t_.Ka)();if(l.stackSave=()=>tN(),l.stackRestore=e=>tT(e),l.stackAlloc=e=>tq(e),l.cwrap=(e,t,r,n)=>{var a=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&a&&!n?l["_"+e]:(...n)=>((e,t,r,n)=>{var a,i={string:e=>{var t=0;return null!=e&&0!==e&&(t=ts(e)),t},array:e=>{var t=tq(e.length);return y.set(e,t),t}};e=l["_"+e];var o=[],s=0;if(n)for(var u=0;u<n.length;u++){var d=i[r[u]];d?(0===s&&(s=tN()),o[u]=d(n[u])):o[u]=n[u]}return a=r=e(...o),0!==s&&tT(s),r="string"===t?a?Q(g,a):"":"boolean"===t?!!a:a})(e,t,r,n)},l.addFunction=tc,l.removeFunction=tf,l.UTF8ToString=G,l.ALLOC_NORMAL=tu,l.allocate=tl,l.allocateUTF8OnStack=ts,l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.pop()();return!function e(){function t(){if(l.calledRun=!0,!I){if(!l.noFSInit&&!eb){var e,t;eb=!0,r??=l.stdin,e??=l.stdout,t??=l.stderr,r?e0("stdin",r):eB("/dev/tty","/dev/stdin"),e?e0("stdout",null,e):eB("/dev/tty","/dev/stdout"),t?e0("stderr",null,t):eB("/dev/tty1","/dev/stderr"),eG("/dev/stdin",0),eG("/dev/stdout",1),eG("/dev/stderr",1)}if(t_.N(),ep=!1,l.onRuntimeInitialized?.(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var r=l.postRun.shift();X.unshift(r)}W(X)}}if(0<k)D=e;else{if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)j();W(B),0<k?D=e:l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1),t()},1)):t()}}(),i}))};if("object"==typeof t)t.exports=a,t.exports.default=a;else if("function"==typeof define&&define.amd)void 0!==a&&e.v(a);else r.Module=a},97731,71560,e=>{"use strict";var t=e.i(74738);let r=`
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},74738,(e,t,r)=>{var n=void 0,a=function(r){return n||(n=new Promise(function(n,a){var i=void 0!==r?r:{},o=i.onAbort;"use strict";i.onAbort=function(e){a(Error(e)),o&&o(e)},i.postRun=i.postRun||[],i.postRun.push(function(){n(i)}),t=void 0,l||=void 0!==i?i:{};var s="u">typeof WorkerGlobalScope,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;l.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case"boolean":K(e,+!!t);break;case"number":B(e,t);break;case"string":Y(e,t,-1,-1);break;case"object":if(null===t)j(e);else if(null!=t.length){var r=tl(t,tu);z(e,r,t.length,-1),tv(r)}else J(e,"Wrong API use : tried to return a value of an unknown type ("+t+").",-1);break;default:j(e)}}function t(e,t){for(var r=[],n=0;n<e;n+=1){var a=H(t+4*n,"i32"),i=U(a);if(1===i||2===i)a=X(a);else if(3===i)a=P(a);else if(4===i){a=C(i=a),i=W(i);for(var o=new Uint8Array(a),s=0;s<a;s+=1)o[s]=y[i+s];a=o}else a=null;r.push(a)}return r}function r(e,t){this.Qa=e,this.db=t,this.Oa=1,this.lb=[]}function n(e,t){if(this.db=t,t=er(e)+1,this.eb=tw(t),null===this.eb)throw Error("Unable to allocate memory for the SQL string");en(e,g,this.eb,t),this.kb=this.eb,this.Za=this.pb=null}function a(e){if(this.filename="dbfile_"+(0xffffffff*Math.random()>>>0),null!=e){var t=this.filename,r="/",n=t;if(r&&(r="string"==typeof r?r:eg(r),n=t?V(r+"/"+t):r),n=function(e,t=438){return eP(e,4095&t|32768,0)}(n,t=el(!0,!0)),e){if("string"==typeof e){r=Array(e.length);for(var a=0,o=e.length;a<o;++a)r[a]=e.charCodeAt(a);e=r}ez(n,146|t),eZ(r=eG(n,577),e,0,e.length,0),eK(r),ez(n,t)}}this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),this.fb={},this.Sa={}}var i=tq(4),o=l.cwrap,s=o("sqlite3_open","number",["string","number"]),u=o("sqlite3_close_v2","number",["number"]),d=o("sqlite3_exec","number",["number","string","number","number","number"]),f=o("sqlite3_changes","number",["number"]),c=o("sqlite3_prepare_v2","number",["number","string","number","number","number"]),h=o("sqlite3_sql","string",["number"]),m=o("sqlite3_normalized_sql","string",["number"]),b=o("sqlite3_prepare_v2","number",["number","number","number","number","number"]),p=o("sqlite3_bind_text","number",["number","number","number","number","number"]),_=o("sqlite3_bind_blob","number",["number","number","number","number","number"]),E=o("sqlite3_bind_double","number",["number","number","number"]),w=o("sqlite3_bind_int","number",["number","number","number"]),v=o("sqlite3_bind_parameter_index","number",["number","string"]),T=o("sqlite3_step","number",["number"]),q=o("sqlite3_errmsg","string",["number"]),N=o("sqlite3_column_count","number",["number"]),R=o("sqlite3_data_count","number",["number"]),L=o("sqlite3_column_double","number",["number","number"]),A=o("sqlite3_column_text","string",["number","number"]),O=o("sqlite3_column_blob","number",["number","number"]),I=o("sqlite3_column_bytes","number",["number","number"]),S=o("sqlite3_column_type","number",["number","number"]),M=o("sqlite3_column_name","string",["number","number"]),k=o("sqlite3_reset","number",["number"]),x=o("sqlite3_clear_bindings","number",["number"]),D=o("sqlite3_finalize","number",["number"]),F=o("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),U=o("sqlite3_value_type","number",["number"]),C=o("sqlite3_value_bytes","number",["number"]),P=o("sqlite3_value_text","string",["number"]),W=o("sqlite3_value_blob","number",["number"]),X=o("sqlite3_value_double","number",["number"]),B=o("sqlite3_result_double","",["number","number"]),j=o("sqlite3_result_null","",["number"]),Y=o("sqlite3_result_text","",["number","string","number","number"]),z=o("sqlite3_result_blob","",["number","number","number","number"]),K=o("sqlite3_result_int","",["number","number"]),J=o("sqlite3_result_error","",["number","string","number"]),Z=o("sqlite3_aggregate_context","number",["number","number"]),ee=o("RegisterExtensionFunctions","number",["number"]),et=o("sqlite3_update_hook","number",["number","number","number"]);r.prototype.bind=function(e){if(!this.Qa)throw"Statement closed";return this.reset(),Array.isArray(e)?this.Cb(e):null==e||"object"!=typeof e||this.Db(e)},r.prototype.step=function(){if(!this.Qa)throw"Statement closed";this.Oa=1;var e=T(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},r.prototype.wb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),L(this.Qa,e)},r.prototype.Gb=function(e){if(null==e&&(e=this.Oa,this.Oa+=1),e=A(this.Qa,e),"function"!=typeof BigInt)throw Error("BigInt is not supported");return BigInt(e)},r.prototype.Hb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),A(this.Qa,e)},r.prototype.getBlob=function(e){null==e&&(e=this.Oa,this.Oa+=1);var t=I(this.Qa,e);e=O(this.Qa,e);for(var r=new Uint8Array(t),n=0;n<t;n+=1)r[n]=y[e+n];return r},r.prototype.get=function(e,t){t=t||{},null!=e&&this.bind(e)&&this.step(),e=[];for(var r=R(this.Qa),n=0;n<r;n+=1)switch(S(this.Qa,n)){case 1:var a=t.useBigInt?this.Gb(n):this.wb(n);e.push(a);break;case 2:e.push(this.wb(n));break;case 3:e.push(this.Hb(n));break;case 4:e.push(this.getBlob(n));break;default:e.push(null)}return e},r.prototype.getColumnNames=function(){for(var e=[],t=N(this.Qa),r=0;r<t;r+=1)e.push(M(this.Qa,r));return e},r.prototype.getAsObject=function(e,t){e=this.get(e,t),t=this.getColumnNames();for(var r={},n=0;n<t.length;n+=1)r[t[n]]=e[n];return r},r.prototype.getSQL=function(){return h(this.Qa)},r.prototype.getNormalizedSQL=function(){return m(this.Qa)},r.prototype.run=function(e){return null!=e&&this.bind(e),this.step(),this.reset()},r.prototype.sb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e=ea(e),tu);this.lb.push(r),this.db.handleError(p(this.Qa,t,r,e.length-1,0))},r.prototype.Bb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e,tu);this.lb.push(r),this.db.handleError(_(this.Qa,t,r,e.length,0))},r.prototype.rb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1),this.db.handleError((e===(0|e)?w:E)(this.Qa,t,e))},r.prototype.Eb=function(e){null==e&&(e=this.Oa,this.Oa+=1),_(this.Qa,e,0,0,0)},r.prototype.tb=function(e,t){switch(null==t&&(t=this.Oa,this.Oa+=1),typeof e){case"string":this.sb(e,t);return;case"number":this.rb(e,t);return;case"bigint":this.sb(e.toString(),t);return;case"boolean":this.rb(e+0,t);return;case"object":if(null===e)return void this.Eb(t);if(null!=e.length)return void this.Bb(e,t)}throw"Wrong API use : tried to bind a value of an unknown type ("+e+")."},r.prototype.Db=function(e){var t=this;return Object.keys(e).forEach(function(r){var n=v(t.Qa,r);0!==n&&t.tb(e[r],n)}),!0},r.prototype.Cb=function(e){for(var t=0;t<e.length;t+=1)this.tb(e[t],t+1);return!0},r.prototype.reset=function(){return this.freemem(),0===x(this.Qa)&&0===k(this.Qa)},r.prototype.freemem=function(){for(var e;void 0!==(e=this.lb.pop());)tv(e)},r.prototype.free=function(){this.freemem();var e=0===D(this.Qa);return delete this.db.fb[this.Qa],this.Qa=0,e},n.prototype.next=function(){if(null===this.eb)return{done:!0};if(null!==this.Za&&(this.Za.free(),this.Za=null),!this.db.db)throw this.mb(),Error("Database closed");var e=tN(),t=tq(4);$(i),$(t);try{this.db.handleError(b(this.db.db,this.kb,-1,i,t)),this.kb=H(t,"i32");var n=H(i,"i32");if(0===n)return this.mb(),{done:!0};return this.Za=new r(n,this.db),this.db.fb[n]=this.Za,{value:this.Za,done:!1}}catch(e){throw this.pb=G(this.kb),this.mb(),e}finally{tT(e)}},n.prototype.mb=function(){tv(this.eb),this.eb=null},n.prototype.getRemainingSQL=function(){return null!==this.pb?this.pb:G(this.kb)},"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator&&(n.prototype[Symbol.iterator]=function(){return this}),a.prototype.run=function(e,t){if(!this.db)throw"Database closed";if(t){e=this.prepare(e,t);try{e.step()}finally{e.free()}}else this.handleError(d(this.db,e,0,0,i));return this},a.prototype.exec=function(e,t,n){if(!this.db)throw"Database closed";var a=tN(),o=null;try{var s=ts(e),u=tq(4);for(e=[];0!==H(s,"i8");){$(i),$(u),this.handleError(b(this.db,s,-1,i,u));var l=H(i,"i32");if(s=H(u,"i32"),0!==l){var d=null;for(o=new r(l,this),null!=t&&o.bind(t);o.step();)null===d&&(d={columns:o.getColumnNames(),values:[]},e.push(d)),d.values.push(o.get(null,n));o.free()}}return e}catch(e){throw o&&o.free(),e}finally{tT(a)}},a.prototype.each=function(e,t,r,n,a){"function"==typeof t&&(n=r,r=t,t=void 0),e=this.prepare(e,t);try{for(;e.step();)r(e.getAsObject(null,a))}finally{e.free()}if("function"==typeof n)return n()},a.prototype.prepare=function(e,t){if($(i),this.handleError(c(this.db,e,-1,i,0)),0===(e=H(i,"i32")))throw"Nothing to prepare";var n=new r(e,this);return null!=t&&n.bind(t),this.fb[e]=n},a.prototype.iterateStatements=function(e){return new n(e,this)},a.prototype.export=function(){Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.handleError(u(this.db));var e=function(e){var t=eG(e,t||0),r=new Uint8Array(e=eY(e).size);return eJ(t,r,0,e,0),eK(t),r}(this.filename);return this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),e},a.prototype.close=function(){null!==this.db&&(Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.Ya&&(tf(this.Ya),this.Ya=void 0),this.handleError(u(this.db)),eH("/"+this.filename),this.db=null)},a.prototype.handleError=function(e){if(0===e)return null;throw Error(e=q(this.db))},a.prototype.getRowsModified=function(){return f(this.db)},a.prototype.create_function=function(r,n){Object.prototype.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]);var a=tc(function(r,a,i){a=t(a,i);try{var o=n.apply(null,a)}catch(e){J(r,e,-1);return}e(r,o)},"viii");return this.Sa[r]=a,this.handleError(F(this.db,r,n.length,1,0,a,0,0,0)),this},a.prototype.create_aggregate=function(r,n){var a=n.init||function(){return null},i=n.finalize||function(e){return e},o=n.step;if(!o)throw"An aggregate function must have a step function in "+r;var s={};Object.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]),n=r+"__finalize",Object.hasOwnProperty.call(this.Sa,n)&&(tf(this.Sa[n]),delete this.Sa[n]);var u=tc(function(e,r,n){var i=Z(e,1);Object.hasOwnProperty.call(s,i)||(s[i]=a()),r=t(r,n),r=[s[i]].concat(r);try{s[i]=o.apply(null,r)}catch(t){delete s[i],J(e,t,-1)}},"viii"),l=tc(function(t){var r=Z(t,1);try{var n=i(s[r])}catch(e){delete s[r],J(t,e,-1);return}e(t,n),delete s[r]},"vi");return this.Sa[r]=u,this.Sa[n]=l,this.handleError(F(this.db,r,o.length-1,1,0,0,u,l,0)),this},a.prototype.updateHook=function(e){this.Ya&&(et(this.db,0,0),tf(this.Ya),this.Ya=void 0),e&&(this.Ya=tc(function(t,r,n,a,i){switch(r){case 18:t="insert";break;case 23:t="update";break;case 9:t="delete";break;default:throw"unknown operationCode in updateHook callback: "+r}if(n=n?Q(g,n):"",a=a?Q(g,a):"",i>Number.MAX_SAFE_INTEGER)throw"rowId too big to fit inside a Number";e(t,n,a,Number(i))},"viiiij"),et(this.db,this.Ya,0))},l.Database=a};var l,d,f,c={...l},h="./this.program",m=(e,t)=>{throw t},b="";if(u){var p=e.r(22734);e.r(14747),b="/ROOT/node_modules/sql.js/dist/",f=e=>(e=S(e)?new URL(e):e,p.readFileSync(e)),d=async e=>(e=S(e)?new URL(e):e,p.readFileSync(e,void 0)),!l.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),void 0!==t&&(t.exports=l),m=(e,t)=>{throw process.exitCode=e,t}}else s&&(s?b=self.location.href:"u">typeof document&&document.currentScript&&(b=document.currentScript.src),b=b.startsWith("blob:")?"":b.slice(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1),s&&(f=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),d=async e=>{if(S(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)});var _=l.print||console.log.bind(console),E=l.printErr||console.error.bind(console);Object.assign(l,c),c=null,l.thisProgram&&(h=l.thisProgram);var w,v,y,g,T,q,N,R,L,A,O=l.wasmBinary,I=!1,S=e=>e.startsWith("file://");function M(){var e=w.buffer;l.HEAP8=y=new Int8Array(e),l.HEAP16=T=new Int16Array(e),l.HEAPU8=g=new Uint8Array(e),l.HEAPU16=new Uint16Array(e),l.HEAP32=q=new Int32Array(e),l.HEAPU32=N=new Uint32Array(e),l.HEAPF32=R=new Float32Array(e),l.HEAPF64=A=new Float64Array(e),l.HEAP64=L=new BigInt64Array(e),l.HEAPU64=new BigUint64Array(e)}var k=0,x=null;function D(e){throw l.onAbort?.(e),E(e="Aborted("+e+")"),I=!0,new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.")}async function F(e){if(!O)try{var t=await d(e);return new Uint8Array(t)}catch{}if(e==e4&&O)e=new Uint8Array(O);else if(f)e=f(e);else throw"both async and sync fetching of the wasm failed";return e}async function U(e,t){try{var r=await F(e);return await WebAssembly.instantiate(r,t)}catch(e){E(`failed to asynchronously prepare wasm: ${e}`),D(e)}}async function C(e){if(!O&&"function"==typeof WebAssembly.instantiateStreaming&&!S(e4)&&!u)try{var t=fetch(e4,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(t,e)}catch(e){E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation")}return U(e4,e)}class P{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var W=e=>{for(;0<e.length;)e.shift()(l)},X=[],B=[],j=()=>{var e=l.preRun.shift();B.unshift(e)};function H(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return y[e];case"i16":return T[e>>1];case"i32":return q[e>>2];case"i64":return L[e>>3];case"float":return R[e>>2];case"double":return A[e>>3];case"*":return N[e>>2];default:D(`invalid type for getValue: ${t}`)}}var Y=l.noExitRuntime||!0;function $(e){var t="i32";switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":y[e]=0;break;case"i16":T[e>>1]=0;break;case"i32":q[e>>2]=0;break;case"i64":L[e>>3]=BigInt(0);break;case"float":R[e>>2]=0;break;case"double":A[e>>3]=0;break;case"*":N[e>>2]=0;break;default:D(`invalid type for setValue: ${t}`)}}var z="u">typeof TextDecoder?new TextDecoder:void 0,Q=(e,t=0,r=NaN)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&z)return z.decode(e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var i=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|i);else{var o=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n},G=(e,t)=>e?Q(g,e,t):"",K=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},V=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=K(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},J=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return(e=t[0],t=t[1],e||t)?e+(t&&=t.slice(0,-1)):"."},Z=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],ee=t=>{(ee=(()=>{if(u){var t=e.r(54799);return e=>t.randomFillSync(e)}return e=>crypto.getRandomValues(e)})())(t)},et=[],er=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},en=(e,t,r,n)=>{if(!(0<n))return 0;var a=r;n=r+n-1;for(var i=0;i<e.length;++i){var o=e.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-a},ea=(e,t)=>{var r=Array(er(e)+1);return e=en(e,r,0,r.length),t&&(r.length=e),r},ei=[];function eo(e,t){ei[e]={input:[],output:[],cb:t},eU(e,es)}var es={open(e){var t=ei[e.node.rdev];if(!t)throw new eE(43);e.tty=t,e.seekable=!1},close(e){e.tty.cb.fsync(e.tty)},fsync(e){e.tty.cb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.cb.xb)throw new eE(60);for(var a=0,i=0;i<n;i++){try{var o=e.tty.cb.xb(e.tty)}catch(e){throw new eE(29)}if(void 0===o&&0===a)throw new eE(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.atime=Date.now()),a},write(e,t,r,n){if(!e.tty||!e.tty.cb.qb)throw new eE(60);try{for(var a=0;a<n;a++)e.tty.cb.qb(e.tty,t[r+a])}catch(e){throw new eE(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},eu={Wa:null,Xa:()=>eu.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new eE(63);return eu.Wa||(eu.Wa={dir:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,lookup:eu.La.lookup,hb:eu.La.hb,rename:eu.La.rename,unlink:eu.La.unlink,rmdir:eu.La.rmdir,readdir:eu.La.readdir,symlink:eu.La.symlink},stream:{Va:eu.Ma.Va}},file:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:{Va:eu.Ma.Va,read:eu.Ma.read,write:eu.Ma.write,ib:eu.Ma.ib,jb:eu.Ma.jb}},link:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,readlink:eu.La.readlink},stream:{}},ub:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:eF}}),eL((r=eR(e,t,r,n)).mode)?(r.La=eu.Wa.dir.node,r.Ma=eu.Wa.dir.stream,r.Na={}):32768==(61440&r.mode)?(r.La=eu.Wa.file.node,r.Ma=eu.Wa.file.stream,r.Ra=0,r.Na=null):40960==(61440&r.mode)?(r.La=eu.Wa.link.node,r.Ma=eu.Wa.link.stream):8192==(61440&r.mode)&&(r.La=eu.Wa.ub.node,r.Ma=eu.Wa.ub.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.Na[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Sb:e=>e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array(0),La:{Ta(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,eL(e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Ra:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.Ra!=t&&(0==t?(e.Na=null,e.Ra=0):(r=e.Na,e.Na=new Uint8Array(t),r&&e.Na.set(r.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw eu.vb},hb:(e,t,r,n)=>eu.createNode(e,t,r,n),rename(e,t,r){try{var n=eN(t,r)}catch(e){}if(n){if(eL(e.mode))for(var a in n.Na)throw new eE(55);eq(n)}delete e.parent.Na[e.name],t.Na[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=eN(e,t);for(r in n.Na)throw new eE(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.Na)],symlink:(e,t,r)=>((e=eu.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new eE(28);return e.link}},Ma:{read(e,t,r,n,a){var i=e.node.Na;if(a>=e.node.Ra)return 0;if(8<(e=Math.min(e.node.Ra-a,n))&&i.subarray)t.set(i.subarray(a,a+e),r);else for(n=0;n<e;n++)t[r+n]=i[a+n];return e},write(e,t,r,n,a,i){if(t.buffer===y.buffer&&(i=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(i)return e.Na=t.subarray(r,r+n),e.Ra=n;if(0===e.Ra&&0===a)return e.Na=t.slice(r,r+n),e.Ra=n;if(a+n<=e.Ra)return e.Na.set(t.subarray(r,r+n),a),n}i=a+n;var o=e.Na?e.Na.length:0;if(o>=i||(i=Math.max(i,o*(1048576>o?2:1.125)>>>0),0!=o&&(i=Math.max(i,256)),o=e.Na,e.Na=new Uint8Array(i),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(r,r+n),a);else for(i=0;i<n;i++)e.Na[a+i]=t[r+i];return e.Ra=Math.max(e.Ra,a+n),n},Va(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Ra),0>t)throw new eE(28);return t},ib(e,t,r,n,a){if(32768!=(61440&e.node.mode))throw new eE(43);if(e=e.node.Na,2&a||!e||e.buffer!==y.buffer){a=!0;var i=ty(65536,n=65536*Math.ceil(t/65536));if(i&&g.fill(0,i,i+n),!(n=i))throw new eE(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),y.set(e,n))}else a=!1,n=e.byteOffset;return{Kb:n,Ab:a}},jb:(e,t,r,n)=>(eu.Ma.write(e,t,0,n,r,!1),0)}},el=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ed=null,ef={},ec=[],eh=1,em=null,eb=!1,ep=!0,e_={},eE=class{name="ErrnoError";constructor(e){this.Pa=e}},ew=class{gb={};node=null;get flags(){return this.gb.flags}set flags(e){this.gb.flags=e}get position(){return this.gb.position}set position(e){this.gb.position=e}},ev=class{La={};Ma={};ab=null;constructor(e,t,r,n){e||=this,this.parent=e,this.Xa=e.Xa,this.id=eh++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return 365==(365&this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return 146==(146&this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function ey(e,t={}){if(!e)throw new eE(44);t.nb??(t.nb=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=ed,a="/",i=0;i<e.length;i++){var o=i===e.length-1;if(o&&t.parent)break;if("."!==e[i])if(".."===e[i])a=J(a),n=n.parent;else{a=V(a+"/"+e[i]);try{n=eN(n,e[i])}catch(e){if(44===e?.Pa&&o&&t.Jb)return{path:a};throw e}if(n.ab&&(!o||t.nb)&&(n=n.ab.root),40960==(61440&n.mode)&&(!o||t.$a)){if(!n.La.readlink)throw new eE(52);"/"===(n=n.La.readlink(n)).charAt(0)||(n=J(a)+"/"+n),e=n+"/"+e.slice(i+1).join("/");continue e}}}return{path:a,node:n}}throw new eE(32)}function eg(e){for(var t;;){if(e===e.parent)return e=e.Xa.zb,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function eT(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%em.length}function eq(e){var t=eT(e.parent.id,e.name);if(em[t]===e)em[t]=e.bb;else for(t=em[t];t;){if(t.bb===e){t.bb=e.bb;break}t=t.bb}}function eN(e,t){var r=eL(e.mode)?(r=eO(e,"x"))?r:2*!e.La.lookup:54;if(r)throw new eE(r);for(r=em[eT(e.id,t)];r;r=r.bb){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.La.lookup(e,t)}function eR(e,t,r,n){return t=eT((e=new ev(e,t,r,n)).parent.id,e.name),e.bb=em[t],em[t]=e}function eL(e){return 16384==(61440&e)}function eA(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function eO(e,t){return ep?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0}function eI(e,t){if(!eL(e.mode))return 54;try{return eN(e,t),20}catch(e){}return eO(e,"wx")}function eS(e,t,r){try{var n=eN(e,t)}catch(e){return e.Pa}if(e=eO(e,"wx"))return e;if(r){if(!eL(n.mode))return 54;if(n===n.parent||"/"===eg(n))return 10}else if(eL(n.mode))return 31;return 0}function eM(e){if(!e)throw new eE(63);return e}function ek(e){if(!(e=ec[e]))throw new eE(8);return e}function ex(e,t=-1){if(e=Object.assign(new ew,e),-1==t)e:{for(t=0;4096>=t;t++)if(!ec[t])break e;throw new eE(33)}return e.fd=t,ec[t]=e}function eD(e,t,r){var n=e?.Ma.Ua;e=n?e:t,eM(n??=t.La.Ua),n(e,r)}var eF={open(e){e.Ma=ef[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new eE(70)}};function eU(e,t){ef[e]={Ma:t}}function eC(e,t){var r="/"===t;if(r&&ed)throw new eE(10);if(!r&&t){var n=ey(t,{nb:!1});if(t=n.path,(n=n.node).ab)throw new eE(10);if(!eL(n.mode))throw new eE(54)}t={type:e,Wb:{},zb:t,Ib:[]},(e=e.Xa(t)).Xa=t,t.root=e,r?ed=e:n&&(n.ab=t,n.Xa&&n.Xa.Ib.push(t))}function eP(e,t,r){var n=ey(e,{parent:!0}).node;if(!(e=Z(e)))throw new eE(28);if("."===e||".."===e)throw new eE(20);var a=eI(n,e);if(a)throw new eE(a);if(!n.La.hb)throw new eE(63);return n.La.hb(n,e,t,r)}function eW(e,t=511){return eP(e,1023&t|16384,0)}function eX(e,t,r){void 0===r&&(r=t,t=438),eP(e,8192|t,r)}function eB(e,t){if(!((...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:"/"))throw TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=K(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."})(e))throw new eE(44);var r=ey(t,{parent:!0}).node;if(!r)throw new eE(44);var n=eI(r,t=Z(t));if(n)throw new eE(n);if(!r.La.symlink)throw new eE(63);r.La.symlink(r,t,e)}function ej(e){var t=ey(e,{parent:!0}).node,r=eN(t,e=Z(e)),n=eS(t,e,!0);if(n)throw new eE(n);if(!t.La.rmdir)throw new eE(63);if(r.ab)throw new eE(10);t.La.rmdir(t,e),eq(r)}function eH(e){var t=ey(e,{parent:!0}).node;if(!t)throw new eE(44);var r=eN(t,e=Z(e)),n=eS(t,e,!1);if(n)throw new eE(n);if(!t.La.unlink)throw new eE(63);if(r.ab)throw new eE(10);t.La.unlink(t,e),eq(r)}function eY(e,t){return eM((e=ey(e,{$a:!t}).node).La.Ta)(e)}function e$(e,t,r,n){eD(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),Fb:n})}function ez(e,t){e$(null,e="string"==typeof e?ey(e,{$a:!0}).node:e,t)}function eQ(e,t,r){if(eL(t.mode))throw new eE(31);if(32768!=(61440&t.mode))throw new eE(28);var n=eO(t,"w");if(n)throw new eE(n);eD(e,t,{size:r,timestamp:Date.now()})}function eG(e,t,r=438){if(""===e)throw new eE(44);if("string"==typeof t){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===n)throw Error(`Unknown file open mode: ${t}`);t=n}if(r=64&t?4095&r|32768:0,"object"==typeof e)n=e;else{var a=e.endsWith("/");n=(e=ey(e,{$a:!(131072&t),Jb:!0})).node,e=e.path}var i=!1;if(64&t)if(n){if(128&t)throw new eE(20)}else{if(a)throw new eE(31);n=eP(e,511|r,0),i=!0}if(!n)throw new eE(44);if(8192==(61440&n.mode)&&(t&=-513),65536&t&&!eL(n.mode))throw new eE(54);if(!i&&(a=n?40960==(61440&n.mode)?32:eL(n.mode)&&("r"!==eA(t)||576&t)?31:eO(n,eA(t)):44))throw new eE(a);return 512&t&&!i&&eQ(null,a="string"==typeof(a=n)?ey(a,{$a:!0}).node:a,0),t&=-131713,(a=ex({node:n,path:eg(n),flags:t,seekable:!0,position:0,Ma:n.Ma,Lb:[],error:!1})).Ma.open&&a.Ma.open(a),i&&ez(n,511&r),!l.logReadFiles||1&t||e in e_||(e_[e]=1),a}function eK(e){if(null===e.fd)throw new eE(8);e.ob&&(e.ob=null);try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{ec[e.fd]=null}e.fd=null}function eV(e,t,r){if(null===e.fd)throw new eE(8);if(!e.seekable||!e.Ma.Va)throw new eE(70);if(0!=r&&1!=r&&2!=r)throw new eE(28);e.position=e.Ma.Va(e,t,r),e.Lb=[]}function eJ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||1==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.read)throw new eE(28);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.read(e,t,r,n,a),i||(e.position+=t),t}function eZ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||0==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.write)throw new eE(28);e.seekable&&1024&e.flags&&eV(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.write(e,t,r,n,a,void 0),i||(e.position+=t),t}function e0(e,t,r){e=V("/dev/"+e);var n=el(!!t,!!r);e0.yb??(e0.yb=64);var a=e0.yb++<<8;eU(a,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,n,a){for(var i=0,o=0;o<a;o++){try{var s=t()}catch(e){throw new eE(29)}if(void 0===s&&0===i)throw new eE(6);if(null==s)break;i++,r[n+o]=s}return i&&(e.node.atime=Date.now()),i},write(e,t,n,a){for(var i=0;i<a;i++)try{r(t[n+i])}catch(e){throw new eE(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),i}}),eX(e,n,a)}var e1={};function e3(e,t,r){if("/"===t.charAt(0))return t;if(e=-100===e?"/":ek(e).path,0==t.length){if(!r)throw new eE(44);return e}return e+"/"+t}function e2(e,t){q[e>>2]=t.dev,q[e+4>>2]=t.mode,N[e+8>>2]=t.nlink,q[e+12>>2]=t.uid,q[e+16>>2]=t.gid,q[e+20>>2]=t.rdev,L[e+24>>3]=BigInt(t.size),q[e+32>>2]=4096,q[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return L[e+40>>3]=BigInt(Math.floor(r/1e3)),N[e+48>>2]=r%1e3*1e6,L[e+56>>3]=BigInt(Math.floor(n/1e3)),N[e+64>>2]=n%1e3*1e6,L[e+72>>3]=BigInt(Math.floor(a/1e3)),N[e+80>>2]=a%1e3*1e6,L[e+88>>3]=BigInt(t.ino),0}var e4,e6,e8,e5,e7=void 0,e9=()=>{var e=q[e7>>2];return e7+=4,e},te=0,tt=[0,31,60,91,121,152,182,213,244,274,305,335],tr=[0,31,59,90,120,151,181,212,243,273,304,334],tn={},ta=e=>{v=e,Y||0<te||(l.onExit?.(e),I=!0),m(e,new P(e))},ti={},to=()=>{if(!e6){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(e in ti)void 0===ti[e]?delete t[e]:t[e]=ti[e];var r=[];for(e in t)r.push(`${e}=${t[e]}`);e6=r}return e6},ts=e=>{var t=er(e)+1,r=tq(t);return en(e,g,r,t),r},tu=0,tl=(e,t)=>(t=1==t?tq(e.length):tw(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),g.set(e,t),t),td=[],tf=e=>{e8.delete(e5.get(e)),e5.set(e,null),td.push(e)},tc=(e,t)=>{if(!e8){e8=new WeakMap;var r=e5.length;if(e8)for(var n=0;n<0+r;n++){var a=e5.get(n);a&&e8.set(a,n)}}if(r=e8.get(e)||0)return r;if(td.length)r=td.pop();else{try{e5.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}r=e5.length-1}try{e5.set(r,e)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){var i=WebAssembly.Function;n={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==t[0]?[]:[n[t[0]]]};for(var o=1;o<t.length;++o)a.parameters.push(n[t[o]]);t=new i(a,e)}else{n=[1],a=t.slice(0,1),t=t.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111},n.push(96);var s=t.length;for(i of(128>s?n.push(s):n.push(s%128|128,s>>7),t))n.push(o[i]);"v"==a?n.push(0):n.push(1,o[a]),t=[0,97,115,109,1,0,0,0,1],128>(i=n.length)?t.push(i):t.push(i%128|128,i>>7),t.push(...n),t.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(new Uint8Array(t)),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f}e5.set(r,t)}return e8.set(e,r),r};em=Array(4096),eC(eu,"/"),eW("/tmp"),eW("/home"),eW("/home/web_user"),eW("/dev"),eU(259,{read:()=>0,write:(e,t,r,n)=>n,Va:()=>0}),eX("/dev/null",259),eo(1280,{xb(){e:{if(!et.length){var e=null;if(u){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=p.readSync(n,t,0,256)}catch(e){if(e.toString().includes("EOF"))r=0;else throw e}0<r&&(e=t.slice(0,r).toString("utf-8"))}if(!e){e=null;break e}et=ea(e,!0)}e=et.shift()}return e},qb(e,t){null===t||10===t?(_(Q(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(_(Q(e.output)),e.output=[])},Tb:()=>({Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Ub:()=>0,Vb:()=>[24,80]}),eo(1536,{qb(e,t){null===t||10===t?(E(Q(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(E(Q(e.output)),e.output=[])}}),eX("/dev/tty",1280),eX("/dev/tty1",1536),th=new Uint8Array(1024),tm=0,e0("random",tb=()=>(0===tm&&(ee(th),tm=th.byteLength),th[--tm])),e0("urandom",tb),eW("/dev/shm"),eW("/dev/shm/tmp"),eW("/proc"),tp=eW("/proc/self"),eW("/proc/self/fd"),eC({Xa(){var e=eR(tp,"fd",16895,73);return e.Ma={Va:eu.Ma.Va},e.La={lookup(e,t){var r=ek(e=+t);return(e={parent:null,Xa:{zb:"fake"},La:{readlink:()=>r.path},id:e+1}).parent=e},readdir:()=>Array.from(ec.entries()).filter(([,e])=>e).map(([e])=>e.toString())},e}},"/proc/self/fd"),eu.vb=new eE(44),eu.vb.stack="<generic error, no stack>";var th,tm,tb,tp,t_,tE={a:(e,t,r,n)=>D(`Assertion failed: ${e?Q(g,e):""}, at: `+[t?t?Q(g,t):"":"unknown filename",r,n?n?Q(g,n):"":"unknown function"]),i:function(e,t){try{return e=e?Q(g,e):"",ez(e,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},L:function(e,t,r){try{if(t=t?Q(g,t):"",t=e3(e,t),-8&r)return -28;var n=ey(t,{$a:!0}).node;if(!n)return -44;return e="",4&r&&(e+="r"),2&r&&(e+="w"),1&r&&(e+="x"),e&&eO(n,e)?-2:0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},j:function(e,t){try{var r=ek(e);return e$(r,r.node,t,!1),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},h:function(e){try{var t=ek(e);return eD(t,t.node,{timestamp:Date.now(),Fb:!1}),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},b:function(e,t,r){e7=r;try{var n=ek(e);switch(t){case 0:var a=e9();if(0>a)break;for(;ec[a];)a++;return function(e,t=-1){return e=ex(e,t),e.Ma?.Rb?.(e),e}(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:return a=e9(),n.flags|=a,0;case 12:return T[(a=e9())+0>>1]=2,0}return -28}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},g:function(e,t){try{var r=ek(e),n=r.node,a=r.Ma.Ta;e=a?r:n,a??=n.La.Ta,eM(a);var i=a(e);return e2(t,i)}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},H:function(e,t){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var r=ek(e);if(0>t||0==(2097155&r.flags))throw new eE(28);return eQ(r,r.node,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},G:function(e,t){try{if(0===t)return -28;var r=er("/")+1;if(t<r)return -68;return en("/",g,e,t),r}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},K:function(e,t){try{return e=e?Q(g,e):"",e2(t,eY(e,!0))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},C:function(e,t,r){try{return t=t?Q(g,t):"",t=e3(e,t),eW(t,r),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},J:function(e,t,r,n){try{return t=t?Q(g,t):"",t=e3(e,t,4096&n),e2(r,256&n?eY(t,!0):eY(t))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},x:function(e,t,r,n){e7=n;try{t=t?Q(g,t):"",t=e3(e,t);var a=n?e9():0;return eG(t,r,a).fd}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},v:function(e,t,r,n){try{if(t=t?Q(g,t):"",t=e3(e,t),0>=n)return -28;var a=ey(t).node;if(!a)throw new eE(44);if(!a.La.readlink)throw new eE(28);var i=a.La.readlink(a),o=Math.min(n,er(i)),s=y[r+o];return en(i,g,r,n+1),y[r+o]=s,o}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},u:function(e){try{return e=e?Q(g,e):"",ej(e),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},f:function(e,t){try{return e=e?Q(g,e):"",e2(t,eY(e))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},r:function(e,t,r){try{return t=t?Q(g,t):"",t=e3(e,t),0===r?eH(t):512===r?ej(t):D("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},q:function(e,t,r){try{t=t?Q(g,t):"",t=e3(e,t,!0);var n,a,i=Date.now();if(r){var o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2];n=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6,r+=16,o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2],a=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6}else a=n=i;if(null!==(a??n)){e=n;var u=ey(t,{$a:!0}).node;eM(u.La.Ua)(u,{atime:e,mtime:a})}return 0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},m:()=>D(""),l:()=>{Y=!1,te=0},A:function(e,t){e=new Date(1e3*(e=-0x20000000000000>e||0x20000000000000<e?NaN:Number(e))),q[t>>2]=e.getSeconds(),q[t+4>>2]=e.getMinutes(),q[t+8>>2]=e.getHours(),q[t+12>>2]=e.getDate(),q[t+16>>2]=e.getMonth(),q[t+20>>2]=e.getFullYear()-1900,q[t+24>>2]=e.getDay();var r=e.getFullYear();q[t+28>>2]=(0!=r%4||0==r%100&&0!=r%400?tr:tt)[e.getMonth()]+e.getDate()-1|0,q[t+36>>2]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();q[t+32>>2]=0|(r!=n&&e.getTimezoneOffset()==Math.min(n,r))},y:function(e,t,r,n,a,i,o){a=-0x20000000000000>a||0x20000000000000<a?NaN:Number(a);try{if(isNaN(a))return 61;var s=ek(n);if(0!=(2&t)&&0==(2&r)&&2!=(2097155&s.flags)||1==(2097155&s.flags))throw new eE(2);if(!s.Ma.ib)throw new eE(43);if(!e)throw new eE(28);var u=s.Ma.ib(s,e,a,t,r),l=u.Kb;return q[i>>2]=u.Ab,N[o>>2]=l,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},z:function(e,t,r,n,a,i){i=-0x20000000000000>i||0x20000000000000<i?NaN:Number(i);try{var o=ek(a);if(2&r){if(r=i,32768!=(61440&o.node.mode))throw new eE(43);if(!(2&n)){var s=g.slice(e,e+t);o.Ma.jb&&o.Ma.jb(o,s,r,t,n)}}}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},n:(e,t)=>{if(tn[e]&&(clearTimeout(tn[e].id),delete tn[e]),!t)return 0;var r=setTimeout(()=>{delete tn[e];var t=()=>tg(e,performance.now());if(!I)try{if(t(),!(Y||0<te))try{v=t=v,ta(t)}catch(e){e instanceof P||"unwind"==e||m(1,e)}}catch(e){e instanceof P||"unwind"==e||m(1,e)}},t);return tn[e]={id:r,Xb:t},0},B:(e,t,r,n)=>{var a=(new Date).getFullYear(),i=new Date(a,0,1).getTimezoneOffset();a=new Date(a,6,1).getTimezoneOffset(),N[e>>2]=60*Math.max(i,a),q[t>>2]=Number(i!=a),e=(t=e=>{var t=Math.abs(e);return`UTC${0<=e?"-":"+"}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`})(i),t=t(a),a<i?(en(e,g,r,17),en(t,g,n,17)):(en(e,g,n,17),en(t,g,r,17))},d:()=>Date.now(),s:()=>0x80000000,c:()=>performance.now(),o:e=>{var t=g.length;if(0x80000000<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+0x6000000);e:{n=(Math.min(0x80000000,65536*Math.ceil(Math.max(e,n)/65536))-w.buffer.byteLength+65535)/65536|0;try{w.grow(n),M();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},E:(e,t)=>{var r=0;return to().forEach((n,a)=>{var i=t+r;for(a=N[e+4*a>>2]=i,i=0;i<n.length;++i)y[a++]=n.charCodeAt(i);y[a]=0,r+=n.length+1}),0},F:(e,t)=>{var r=to();N[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),N[t>>2]=n,0},e:function(e){try{var t=ek(e);return eK(t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},p:function(e,t){try{var r=ek(e);return y[t]=r.tty?2:eL(r.mode)?3:40960==(61440&r.mode)?7:4,T[t+2>>1]=0,L[t+8>>3]=BigInt(0),L[t+16>>3]=BigInt(0),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},w:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eJ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},D:function(e,t,r,n){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var a=ek(e);return eV(a,t,r),L[n>>3]=BigInt(a.position),a.ob&&0===t&&0===r&&(a.ob=null),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},I:function(e){try{var t=ek(e);return t.Ma?.fsync?t.Ma.fsync(t):0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},t:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eZ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},k:ta};!async function(){function e(e){return w=(t_=e.exports).M,M(),e5=t_.O,k--,l.monitorRunDependencies?.(k),0==k&&x&&(e=x,x=null,e()),t_}k++,l.monitorRunDependencies?.(k);var t={a:tE};if(l.instantiateWasm)return new Promise(r=>{l.instantiateWasm(t,(t,n)=>{e(t,n),r(t.exports)})});e4??=l.locateFile?l.locateFile("sql-wasm.wasm",b):b+"sql-wasm.wasm",e((await C(t)).instance)}(),l._sqlite3_free=e=>(l._sqlite3_free=t_.P)(e),l._sqlite3_value_text=e=>(l._sqlite3_value_text=t_.Q)(e),l._sqlite3_prepare_v2=(e,t,r,n,a)=>(l._sqlite3_prepare_v2=t_.R)(e,t,r,n,a),l._sqlite3_step=e=>(l._sqlite3_step=t_.S)(e),l._sqlite3_reset=e=>(l._sqlite3_reset=t_.T)(e),l._sqlite3_exec=(e,t,r,n,a)=>(l._sqlite3_exec=t_.U)(e,t,r,n,a),l._sqlite3_finalize=e=>(l._sqlite3_finalize=t_.V)(e),l._sqlite3_column_name=(e,t)=>(l._sqlite3_column_name=t_.W)(e,t),l._sqlite3_column_text=(e,t)=>(l._sqlite3_column_text=t_.X)(e,t),l._sqlite3_column_type=(e,t)=>(l._sqlite3_column_type=t_.Y)(e,t),l._sqlite3_errmsg=e=>(l._sqlite3_errmsg=t_.Z)(e),l._sqlite3_clear_bindings=e=>(l._sqlite3_clear_bindings=t_._)(e),l._sqlite3_value_blob=e=>(l._sqlite3_value_blob=t_.$)(e),l._sqlite3_value_bytes=e=>(l._sqlite3_value_bytes=t_.aa)(e),l._sqlite3_value_double=e=>(l._sqlite3_value_double=t_.ba)(e),l._sqlite3_value_int=e=>(l._sqlite3_value_int=t_.ca)(e),l._sqlite3_value_type=e=>(l._sqlite3_value_type=t_.da)(e),l._sqlite3_result_blob=(e,t,r,n)=>(l._sqlite3_result_blob=t_.ea)(e,t,r,n),l._sqlite3_result_double=(e,t)=>(l._sqlite3_result_double=t_.fa)(e,t),l._sqlite3_result_error=(e,t,r)=>(l._sqlite3_result_error=t_.ga)(e,t,r),l._sqlite3_result_int=(e,t)=>(l._sqlite3_result_int=t_.ha)(e,t),l._sqlite3_result_int64=(e,t)=>(l._sqlite3_result_int64=t_.ia)(e,t),l._sqlite3_result_null=e=>(l._sqlite3_result_null=t_.ja)(e),l._sqlite3_result_text=(e,t,r,n)=>(l._sqlite3_result_text=t_.ka)(e,t,r,n),l._sqlite3_aggregate_context=(e,t)=>(l._sqlite3_aggregate_context=t_.la)(e,t),l._sqlite3_column_count=e=>(l._sqlite3_column_count=t_.ma)(e),l._sqlite3_data_count=e=>(l._sqlite3_data_count=t_.na)(e),l._sqlite3_column_blob=(e,t)=>(l._sqlite3_column_blob=t_.oa)(e,t),l._sqlite3_column_bytes=(e,t)=>(l._sqlite3_column_bytes=t_.pa)(e,t),l._sqlite3_column_double=(e,t)=>(l._sqlite3_column_double=t_.qa)(e,t),l._sqlite3_bind_blob=(e,t,r,n,a)=>(l._sqlite3_bind_blob=t_.ra)(e,t,r,n,a),l._sqlite3_bind_double=(e,t,r)=>(l._sqlite3_bind_double=t_.sa)(e,t,r),l._sqlite3_bind_int=(e,t,r)=>(l._sqlite3_bind_int=t_.ta)(e,t,r),l._sqlite3_bind_text=(e,t,r,n,a)=>(l._sqlite3_bind_text=t_.ua)(e,t,r,n,a),l._sqlite3_bind_parameter_index=(e,t)=>(l._sqlite3_bind_parameter_index=t_.va)(e,t),l._sqlite3_sql=e=>(l._sqlite3_sql=t_.wa)(e),l._sqlite3_normalized_sql=e=>(l._sqlite3_normalized_sql=t_.xa)(e),l._sqlite3_changes=e=>(l._sqlite3_changes=t_.ya)(e),l._sqlite3_close_v2=e=>(l._sqlite3_close_v2=t_.za)(e),l._sqlite3_create_function_v2=(e,t,r,n,a,i,o,s,u)=>(l._sqlite3_create_function_v2=t_.Aa)(e,t,r,n,a,i,o,s,u),l._sqlite3_update_hook=(e,t,r)=>(l._sqlite3_update_hook=t_.Ba)(e,t,r),l._sqlite3_open=(e,t)=>(l._sqlite3_open=t_.Ca)(e,t);var tw=l._malloc=e=>(tw=l._malloc=t_.Da)(e),tv=l._free=e=>(tv=l._free=t_.Ea)(e);l._RegisterExtensionFunctions=e=>(l._RegisterExtensionFunctions=t_.Fa)(e);var ty=(e,t)=>(ty=t_.Ga)(e,t),tg=(e,t)=>(tg=t_.Ha)(e,t),tT=e=>(tT=t_.Ia)(e),tq=e=>(tq=t_.Ja)(e),tN=()=>(tN=t_.Ka)();if(l.stackSave=()=>tN(),l.stackRestore=e=>tT(e),l.stackAlloc=e=>tq(e),l.cwrap=(e,t,r,n)=>{var a=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&a&&!n?l["_"+e]:(...n)=>((e,t,r,n)=>{var a,i={string:e=>{var t=0;return null!=e&&0!==e&&(t=ts(e)),t},array:e=>{var t=tq(e.length);return y.set(e,t),t}};e=l["_"+e];var o=[],s=0;if(n)for(var u=0;u<n.length;u++){var d=i[r[u]];d?(0===s&&(s=tN()),o[u]=d(n[u])):o[u]=n[u]}return a=r=e(...o),0!==s&&tT(s),r="string"===t?a?Q(g,a):"":"boolean"===t?!!a:a})(e,t,r,n)},l.addFunction=tc,l.removeFunction=tf,l.UTF8ToString=G,l.ALLOC_NORMAL=tu,l.allocate=tl,l.allocateUTF8OnStack=ts,l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.pop()();return!function e(){function t(){if(l.calledRun=!0,!I){if(!l.noFSInit&&!eb){var e,t;eb=!0,r??=l.stdin,e??=l.stdout,t??=l.stderr,r?e0("stdin",r):eB("/dev/tty","/dev/stdin"),e?e0("stdout",null,e):eB("/dev/tty","/dev/stdout"),t?e0("stderr",null,t):eB("/dev/tty1","/dev/stderr"),eG("/dev/stdin",0),eG("/dev/stdout",1),eG("/dev/stderr",1)}if(t_.N(),ep=!1,l.onRuntimeInitialized?.(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var r=l.postRun.shift();X.unshift(r)}W(X)}}if(0<k)x=e;else{if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)j();W(B),0<k?x=e:l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1),t()},1)):t()}}(),i}))};if("object"==typeof t)t.exports=a,t.exports.default=a;else if("function"==typeof define&&define.amd)void 0!==a&&e.v(a);else r.Module=a},97731,71560,e=>{"use strict";var t=e.i(74738);let r=`
2
2
  -- Providers table
3
3
  CREATE TABLE IF NOT EXISTS providers (
4
4
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -61,7 +61,7 @@ CREATE INDEX IF NOT EXISTS idx_models_provider_id ON models(provider_id);
61
61
  CREATE INDEX IF NOT EXISTS idx_models_enabled ON models(enabled);
62
62
  CREATE INDEX IF NOT EXISTS idx_request_logs_model_id ON request_logs(model_id);
63
63
  CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_at);
64
- `;var n=e.i(14747),a=e.i(22734),i=e.i(46786);let o=process.env.DB_PATH||n.default.join(i.default.homedir(),".aar","gateway.db"),s=null,u=null;async function l(){return u||(u=await (0,t.default)({locateFile:e=>e.endsWith(".wasm")?n.default.join(process.cwd(),"node_modules","sql.js","dist",e):`https://sql.js.org/dist/${e}`})),u}function d(e){try{let t=e.export(),r=Buffer.from(t),i=n.default.dirname(o);a.default.existsSync(i)||a.default.mkdirSync(i,{recursive:!0}),a.default.writeFileSync(o,r)}catch(e){console.error("Failed to save database:",e)}}async function f(){if(!s){let e=await l();s=function(){try{if(a.default.existsSync(o)){let e=a.default.readFileSync(o);return new u.Database(e)}}catch(e){console.error("Failed to load database:",e)}return null}()||new e.Database;try{s.run(r);try{let e=s.exec("PRAGMA table_info(request_logs)");if(e.length>0&&e[0].values.length>0){let t=e[0].values.map(e=>e[1]).indexOf("model_id");if(t>=0){let r=e[0].values[t];r&&1===r[3]&&(console.log("[Database] Migrating request_logs table to allow NULL model_id..."),s.run(`
64
+ `;var n=e.i(14747),a=e.i(22734),i=e.i(46786);let o=process.env.DB_PATH||n.default.join(i.default.homedir(),".aar","gateway.db"),s=function(){let e=n.default.join(process.cwd(),".next","dev","server","chunks","sql-wasm.wasm");if(a.default.existsSync(e))return e;let t=n.default.join(process.cwd(),".next","server","chunks","sql-wasm.wasm");if(a.default.existsSync(t))return t;let r=n.default.join(process.cwd(),"node_modules","sql.js","dist","sql-wasm.wasm");return a.default.existsSync(r),r}(),u=null,l=null,d=0;async function f(){return l||(l=await (0,t.default)({locateFile:e=>e.endsWith(".wasm")?s:`https://sql.js.org/dist/${e}`})),l}function c(e){try{let t=e.export(),r=Buffer.from(t),i=n.default.dirname(o);a.default.existsSync(i)||a.default.mkdirSync(i,{recursive:!0}),a.default.writeFileSync(o,r),a.default.existsSync(o)&&(d=a.default.statSync(o).mtimeMs)}catch(e){console.error("Failed to save database:",e)}}function h(){try{if(a.default.existsSync(o)){let e=a.default.readFileSync(o);return new l.Database(e)}}catch(e){console.error("Failed to load database:",e)}return null}async function m(){if(!u){let e=await f(),t=h();t?(u=t,a.default.existsSync(o)&&(d=a.default.statSync(o).mtimeMs)):(u=new e.Database,d=0);try{u.run(r);try{let e=u.exec("PRAGMA table_info(request_logs)");if(e.length>0&&e[0].values.length>0){let t=e[0].values.map(e=>e[1]).indexOf("model_id");if(t>=0){let r=e[0].values[t];r&&1===r[3]&&(console.log("[Database] Migrating request_logs table to allow NULL model_id..."),u.run(`
65
65
  CREATE TABLE IF NOT EXISTS request_logs_new (
66
66
  id INTEGER PRIMARY KEY AUTOINCREMENT,
67
67
  model_id INTEGER,
@@ -76,31 +76,31 @@ CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_a
76
76
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
77
77
  FOREIGN KEY (model_id) REFERENCES models(id) ON DELETE SET NULL
78
78
  );
79
- `),s.run("INSERT INTO request_logs_new SELECT * FROM request_logs;"),s.run("DROP TABLE request_logs;"),s.run("ALTER TABLE request_logs_new RENAME TO request_logs;"),d(s),console.log("[Database] Migration completed successfully"))}}}catch(e){e.message.includes("no such table")||e.message.includes("already exists")||e.message.includes("不存在")||console.warn("[Database] Migration warning (non-critical):",e.message)}d(s)}catch(e){if(!e.message.includes("already exists")&&!e.message.includes("duplicate"))throw e}}return s}async function c(e,t=[]){let r=(await f()).prepare(e);if(r.bind(t),r.step()){let e=r.getAsObject();return r.free(),e}return r.free(),null}async function h(e,t=[]){let r=await f(),n=[],a=r.prepare(e);for(a.bind(t);a.step();)n.push(a.getAsObject());return a.free(),n}async function m(e,t=[]){let r=await f();r.run(e,t);let n=r.exec("SELECT last_insert_rowid() as id, changes() as changes");return(d(r),n.length>0&&n[0].values.length>0)?{lastInsertRowid:n[0].values[0][0],changes:n[0].values[0][1]}:{lastInsertRowid:0,changes:0}}async function b(){return await h("SELECT * FROM providers ORDER BY created_at DESC")}async function p(e){return await c("SELECT * FROM providers WHERE id = ?",[e])}async function _(e){let t=await m(`INSERT INTO providers (name, protocol, base_url, api_key, updated_at)
80
- VALUES (?, ?, ?, ?, datetime('now'))`,[e.name,e.protocol,e.base_url,e.api_key]),r=await p(t.lastInsertRowid);if(!r)throw Error("Failed to create provider");return r}async function E(e,t){let r=[],n=[];return void 0!==t.name&&(r.push("name = ?"),n.push(t.name)),void 0!==t.protocol&&(r.push("protocol = ?"),n.push(t.protocol)),void 0!==t.base_url&&(r.push("base_url = ?"),n.push(t.base_url)),void 0!==t.api_key&&(r.push("api_key = ?"),n.push(t.api_key)),0===r.length||(r.push("updated_at = datetime('now')"),n.push(e),await m(`UPDATE providers SET ${r.join(", ")} WHERE id = ?`,n)),await p(e)}async function w(e){return(await m("DELETE FROM providers WHERE id = ?",[e])).changes>0}async function v(){return await h(`
79
+ `),u.run("INSERT INTO request_logs_new SELECT * FROM request_logs;"),u.run("DROP TABLE request_logs;"),u.run("ALTER TABLE request_logs_new RENAME TO request_logs;"),c(u),console.log("[Database] Migration completed successfully"))}}}catch(e){e.message.includes("no such table")||e.message.includes("already exists")||e.message.includes("不存在")||console.warn("[Database] Migration warning (non-critical):",e.message)}c(u)}catch(e){if(!e.message.includes("already exists")&&!e.message.includes("duplicate"))throw e}}return!function(){if(u&&a.default.existsSync(o)&&!(a.default.statSync(o).mtimeMs<=d))try{let e=h();e&&(u.close(),u=e,d=a.default.statSync(o).mtimeMs)}catch(e){console.warn("[Database] Reload from file failed:",e.message)}}(),u}async function b(e,t=[]){let r=(await m()).prepare(e);if(r.bind(t),r.step()){let e=r.getAsObject();return r.free(),e}return r.free(),null}async function p(e,t=[]){let r=await m(),n=[],a=r.prepare(e);for(a.bind(t);a.step();)n.push(a.getAsObject());return a.free(),n}async function _(e,t=[]){let r=await m();r.run(e,t);let n=r.exec("SELECT last_insert_rowid() as id, changes() as changes");return(c(r),n.length>0&&n[0].values.length>0)?{lastInsertRowid:n[0].values[0][0],changes:n[0].values[0][1]}:{lastInsertRowid:0,changes:0}}async function E(){return await p("SELECT * FROM providers ORDER BY created_at DESC")}async function w(e){return await b("SELECT * FROM providers WHERE id = ?",[e])}async function v(e){let t=await _(`INSERT INTO providers (name, protocol, base_url, api_key, updated_at)
80
+ VALUES (?, ?, ?, ?, datetime('now'))`,[e.name,e.protocol,e.base_url,e.api_key]),r=await w(t.lastInsertRowid);if(!r)throw Error("Failed to create provider");return r}async function y(e,t){let r=[],n=[];return void 0!==t.name&&(r.push("name = ?"),n.push(t.name)),void 0!==t.protocol&&(r.push("protocol = ?"),n.push(t.protocol)),void 0!==t.base_url&&(r.push("base_url = ?"),n.push(t.base_url)),void 0!==t.api_key&&(r.push("api_key = ?"),n.push(t.api_key)),0===r.length||(r.push("updated_at = datetime('now')"),n.push(e),await _(`UPDATE providers SET ${r.join(", ")} WHERE id = ?`,n)),await w(e)}async function g(e){return(await _("DELETE FROM providers WHERE id = ?",[e])).changes>0}async function T(){return await p(`
81
81
  SELECT m.*, p.name as provider_name, p.protocol as provider_protocol
82
82
  FROM models m
83
83
  JOIN providers p ON m.provider_id = p.id
84
84
  ORDER BY m.created_at DESC
85
- `)}async function y(e){return await h("SELECT * FROM models WHERE provider_id = ? ORDER BY name",[e])}async function g(e){return await c("SELECT * FROM models WHERE id = ?",[e])}async function T(e){return await c(`
85
+ `)}async function q(e){return await p("SELECT * FROM models WHERE provider_id = ? ORDER BY name",[e])}async function N(e){return await b("SELECT * FROM models WHERE id = ?",[e])}async function R(e){return await b(`
86
86
  SELECT m.*, p.id as provider_id, p.name as provider_name, p.protocol, p.base_url, p.api_key
87
87
  FROM models m
88
88
  JOIN providers p ON m.provider_id = p.id
89
89
  WHERE m.model_id = ? AND m.enabled = 1
90
- `,[e])}async function q(e){let t=await m(`INSERT INTO models (provider_id, name, model_id, enabled, updated_at)
91
- VALUES (?, ?, ?, ?, datetime('now'))`,[e.provider_id,e.name,e.model_id,+!!e.enabled]),r=await g(t.lastInsertRowid);if(!r)throw Error("Failed to create model");return r}async function N(e,t){let r=[],n=[];return void 0!==t.name&&(r.push("name = ?"),n.push(t.name)),void 0!==t.model_id&&(r.push("model_id = ?"),n.push(t.model_id)),void 0!==t.enabled&&(r.push("enabled = ?"),n.push(+!!t.enabled)),void 0!==t.provider_id&&(r.push("provider_id = ?"),n.push(t.provider_id)),0===r.length||(r.push("updated_at = datetime('now')"),n.push(e),await m(`UPDATE models SET ${r.join(", ")} WHERE id = ?`,n)),await g(e)}async function R(e){return(await m("DELETE FROM models WHERE id = ?",[e])).changes>0}async function L(){return await h(`
90
+ `,[e])}async function L(e){let t=await _(`INSERT INTO models (provider_id, name, model_id, enabled, updated_at)
91
+ VALUES (?, ?, ?, ?, datetime('now'))`,[e.provider_id,e.name,e.model_id,+!!e.enabled]),r=await N(t.lastInsertRowid);if(!r)throw Error("Failed to create model");return r}async function A(e,t){let r=[],n=[];return void 0!==t.name&&(r.push("name = ?"),n.push(t.name)),void 0!==t.model_id&&(r.push("model_id = ?"),n.push(t.model_id)),void 0!==t.enabled&&(r.push("enabled = ?"),n.push(+!!t.enabled)),void 0!==t.provider_id&&(r.push("provider_id = ?"),n.push(t.provider_id)),0===r.length||(r.push("updated_at = datetime('now')"),n.push(e),await _(`UPDATE models SET ${r.join(", ")} WHERE id = ?`,n)),await N(e)}async function O(e){return(await _("DELETE FROM models WHERE id = ?",[e])).changes>0}async function I(){return await p(`
92
92
  SELECT m.*, p.name as provider_name, p.protocol, p.base_url, p.api_key
93
93
  FROM models m
94
94
  JOIN providers p ON m.provider_id = p.id
95
95
  WHERE m.enabled = 1
96
96
  ORDER BY m.name
97
- `)}async function A(e){try{let t=await m(`INSERT INTO request_logs (
97
+ `)}async function S(e){try{let t=await _(`INSERT INTO request_logs (
98
98
  model_id, request_method, request_path, request_headers,
99
- request_query, request_body, response_status, response_body, response_time_ms
100
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[e.model_id||null,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await I(t.lastInsertRowid);if(!r)throw Error("Failed to create request log");return r}catch(t){if("SQLITE_CONSTRAINT_FOREIGNKEY"===t.code&&e.model_id){console.warn(`[RequestLog] Foreign key constraint failed for model_id ${e.model_id}, retrying with NULL`);let t=await m(`INSERT INTO request_logs (
99
+ request_query, request_body, response_status, response_body, response_time_ms, created_at
100
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now', 'localtime'))`,[void 0===e.model_id?null:e.model_id,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await k(t.lastInsertRowid);if(!r)throw Error("Failed to create request log");return r}catch(t){if("SQLITE_CONSTRAINT_FOREIGNKEY"===t.code&&e.model_id){console.warn(`[RequestLog] Foreign key constraint failed for model_id ${e.model_id}, retrying with NULL`);let t=await _(`INSERT INTO request_logs (
101
101
  model_id, request_method, request_path, request_headers,
102
- request_query, request_body, response_status, response_body, response_time_ms
103
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[null,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await I(t.lastInsertRowid);if(!r)throw Error("Failed to create request log");return r}throw t}}async function O(e=100,t=0,r,n){let a="",i=[];if(r&&(a+="WHERE l.model_id = ?",i.push(r)),n){let e=`
102
+ request_query, request_body, response_status, response_body, response_time_ms, created_at
103
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now', 'localtime'))`,[void 0===e.model_id?null:e.model_id,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await k(t.lastInsertRowid);if(!r)throw Error("Failed to create request log");return r}throw t}}async function M(e=100,t=0,r,n){let a="",i=[];if(r&&(a+="WHERE l.model_id = ?",i.push(r)),n){let e=`
104
104
  AND (
105
105
  l.request_path LIKE ?
106
106
  OR l.request_body LIKE ?
@@ -117,13 +117,13 @@ CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_a
117
117
  ${a}
118
118
  ORDER BY l.created_at DESC
119
119
  LIMIT ? OFFSET ?
120
- `;return await h(o,[...i,e,t])}async function I(e){return await c(`
120
+ `;return await p(o,[...i,e,t])}async function k(e){return await b(`
121
121
  SELECT l.*, m.name as model_name, m.model_id, p.name as provider_name
122
122
  FROM request_logs l
123
123
  LEFT JOIN models m ON l.model_id = m.id
124
124
  LEFT JOIN providers p ON m.provider_id = p.id
125
125
  WHERE l.id = ?
126
- `,[e])}async function S(e,t){let r="",n=[];if(e&&(r+="WHERE l.model_id = ?",n.push(e)),t){let a=`
126
+ `,[e])}async function x(e,t){let r="",n=[];if(e&&(r+="WHERE l.model_id = ?",n.push(e)),t){let a=`
127
127
  AND (
128
128
  l.request_path LIKE ?
129
129
  OR l.request_body LIKE ?
@@ -132,16 +132,16 @@ CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_a
132
132
  OR m.model_id LIKE ?
133
133
  OR p.name LIKE ?
134
134
  )
135
- `,i=`%${t}%`;r?r+=a:r="WHERE"+a.trim().replace("AND",""),n=e?[...n,i,i,i,i,i,i]:[i,i,i,i,i,i]}let a=await c(`
135
+ `,i=`%${t}%`;r?r+=a:r="WHERE"+a.trim().replace("AND",""),n=e?[...n,i,i,i,i,i,i]:[i,i,i,i,i,i]}let a=await b(`
136
136
  SELECT COUNT(*) as count FROM request_logs l
137
137
  LEFT JOIN models m ON l.model_id = m.id
138
138
  LEFT JOIN providers p ON m.provider_id = p.id
139
139
  ${r}
140
- `,n);return a?.count||0}async function M(e){if(0===e.length)return 0;let t=e.map(()=>"?").join(",");return(await m(`DELETE FROM request_logs WHERE id IN (${t})`,e)).changes}async function k(){return(await m("DELETE FROM request_logs")).changes}async function D(e){return await c("SELECT * FROM config WHERE key = ?",[e])}async function F(e,t){await m(`INSERT INTO config (key, value, updated_at)
140
+ `,n);return a?.count||0}async function D(e){if(0===e.length)return 0;let t=e.map(()=>"?").join(",");return(await _(`DELETE FROM request_logs WHERE id IN (${t})`,e)).changes}async function F(){return(await _("DELETE FROM request_logs")).changes}async function U(e){return await b("SELECT * FROM config WHERE key = ?",[e])}async function C(e,t){await _(`INSERT INTO config (key, value, updated_at)
141
141
  VALUES (?, ?, datetime('now'))
142
142
  ON CONFLICT(key) DO UPDATE SET
143
143
  value = excluded.value,
144
- updated_at = datetime('now')`,[e,t]);let r=await D(e);if(!r)throw Error("Failed to get config after set");return r}async function U(){let e=await h("SELECT key, value FROM config"),t={};for(let r of e)t[r.key]=r.value;return t}async function x(){return await c("SELECT * FROM service_status ORDER BY id DESC LIMIT 1")}async function C(e){await m("DELETE FROM service_status"),await m(`INSERT INTO service_status (status, port, pid, started_at, updated_at)
145
- VALUES (?, ?, ?, ?, datetime('now'))`,[e.status,e.port,e.pid,e.started_at]);let t=await x();if(!t)throw Error("Failed to get service status after set");return t}async function P(e){let t=await x();if(!t)return null;let r=[],n=[];return(void 0!==e.status&&(r.push("status = ?"),n.push(e.status)),void 0!==e.port&&(r.push("port = ?"),n.push(e.port)),void 0!==e.pid&&(r.push("pid = ?"),n.push(e.pid)),void 0!==e.started_at&&(r.push("started_at = ?"),n.push(e.started_at)),0===r.length)?t:(r.push("updated_at = datetime('now')"),n.push(t.id),await m(`UPDATE service_status SET ${r.join(", ")} WHERE id = ?`,n),await x())}e.s(["getDatabase",()=>f,"queryAll",()=>h,"queryOne",()=>c,"run",()=>m],71560),e.s(["createModel",()=>q,"createProvider",()=>_,"createRequestLog",()=>A,"deleteAllRequestLogs",()=>k,"deleteModel",()=>R,"deleteProvider",()=>w,"deleteRequestLogs",()=>M,"getAllConfig",()=>U,"getAllModels",()=>v,"getAllProviders",()=>b,"getConfig",()=>D,"getEnabledModels",()=>L,"getModelById",()=>g,"getModelByModelIdAny",()=>T,"getModelsByProvider",()=>y,"getProviderById",()=>p,"getRequestLogById",()=>I,"getRequestLogCount",()=>S,"getRequestLogs",()=>O,"getServiceStatus",()=>x,"setConfig",()=>F,"setServiceStatus",()=>C,"updateModel",()=>N,"updateProvider",()=>E,"updateServiceStatus",()=>P],97731)}];
144
+ updated_at = datetime('now')`,[e,t]);let r=await U(e);if(!r)throw Error("Failed to get config after set");return r}async function P(){let e=await p("SELECT key, value FROM config"),t={};for(let r of e)t[r.key]=r.value;return t}async function W(){return await b("SELECT * FROM service_status ORDER BY id DESC LIMIT 1")}async function X(e){await _("DELETE FROM service_status"),await _(`INSERT INTO service_status (status, port, pid, started_at, updated_at)
145
+ VALUES (?, ?, ?, ?, datetime('now'))`,[e.status,e.port,e.pid,e.started_at]);let t=await W();if(!t)throw Error("Failed to get service status after set");return t}async function B(e){let t=await W();if(!t)return null;let r=[],n=[];return(void 0!==e.status&&(r.push("status = ?"),n.push(e.status)),void 0!==e.port&&(r.push("port = ?"),n.push(e.port)),void 0!==e.pid&&(r.push("pid = ?"),n.push(e.pid)),void 0!==e.started_at&&(r.push("started_at = ?"),n.push(e.started_at)),0===r.length)?t:(r.push("updated_at = datetime('now')"),n.push(t.id),await _(`UPDATE service_status SET ${r.join(", ")} WHERE id = ?`,n),await W())}e.s(["getDatabase",()=>m,"queryAll",()=>p,"queryOne",()=>b,"run",()=>_],71560),e.s(["createModel",()=>L,"createProvider",()=>v,"createRequestLog",()=>S,"deleteAllRequestLogs",()=>F,"deleteModel",()=>O,"deleteProvider",()=>g,"deleteRequestLogs",()=>D,"getAllConfig",()=>P,"getAllModels",()=>T,"getAllProviders",()=>E,"getConfig",()=>U,"getEnabledModels",()=>I,"getModelById",()=>N,"getModelByModelIdAny",()=>R,"getModelsByProvider",()=>q,"getProviderById",()=>w,"getRequestLogById",()=>k,"getRequestLogCount",()=>x,"getRequestLogs",()=>M,"getServiceStatus",()=>W,"setConfig",()=>C,"setServiceStatus",()=>X,"updateModel",()=>A,"updateProvider",()=>y,"updateServiceStatus",()=>B],97731)}];
146
146
 
147
147
  //# sourceMappingURL=%5Broot-of-the-server%5D__c1b4b601._.js.map