@alook/app 0.1.1 → 0.1.2

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 (195) hide show
  1. package/bundled/email-worker/index.js +6 -1
  2. package/bundled/web/.open-next/.build/cache.cjs +7 -7
  3. package/bundled/web/.open-next/.build/composable-cache.cjs +6 -6
  4. package/bundled/web/.open-next/.build/durable-objects/bucket-cache-purge.js +2 -2
  5. package/bundled/web/.open-next/.build/durable-objects/queue.js +7 -7
  6. package/bundled/web/.open-next/.build/open-next.config.edge.mjs +2 -2
  7. package/bundled/web/.open-next/.build/open-next.config.mjs +2 -2
  8. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  9. package/bundled/web/.open-next/assets/_next/static/chunks/{11qig4ljacekb.js → 002y0apuulox9.js} +3 -3
  10. package/bundled/web/.open-next/assets/_next/static/chunks/01y64se2to6aw.js +1 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/0t82_exl28h1-.js +1 -0
  12. package/bundled/web/.open-next/assets/_next/static/chunks/13j8s5c4tleu3.js +1 -0
  13. package/bundled/web/.open-next/assets/_next/static/chunks/1e9soswsiuvur.js +1 -0
  14. package/bundled/web/.open-next/assets/_next/static/chunks/1frz3l9-_k3mv.js +1 -0
  15. package/bundled/web/.open-next/assets/_next/static/chunks/{1kk5j84c76j58.js → 1zqcl04i5rmfz.js} +1 -1
  16. package/bundled/web/.open-next/assets/_next/static/chunks/2-lu06q3t6p3d.js +1 -0
  17. package/bundled/web/.open-next/assets/_next/static/chunks/20g6_yt5337-z.js +65 -0
  18. package/bundled/web/.open-next/assets/_next/static/chunks/211iq6j28qjhu.js +3 -0
  19. package/bundled/web/.open-next/assets/_next/static/chunks/{2c3ad9swsh568.js → 2azk7dgkwm1h3.js} +1 -1
  20. package/bundled/web/.open-next/assets/_next/static/chunks/2nzmwcqa9d4mk.js +1 -0
  21. package/bundled/web/.open-next/assets/_next/static/chunks/2zgy2uoru3zk4.js +1 -0
  22. package/bundled/web/.open-next/assets/_next/static/chunks/{2atr7vh-5_ryq.js → 36-26qiwh4f-y.js} +1 -1
  23. package/bundled/web/.open-next/assets/_next/static/chunks/{2-_870ufkhrwb.js → 39tveub83c61m.js} +1 -1
  24. package/bundled/web/.open-next/assets/_next/static/chunks/3_5q-1s46y09-.css +1 -0
  25. package/bundled/web/.open-next/assets/_next/static/chunks/3f74uo3mtwtq5.js +1 -0
  26. package/bundled/web/.open-next/assets/_next/static/chunks/3yjxlagd8d5_1.js +1 -0
  27. package/bundled/web/.open-next/assets/alook.svg +47 -29
  28. package/bundled/web/.open-next/assets/apple-touch-icon.png +0 -0
  29. package/bundled/web/.open-next/assets/icon-192.png +0 -0
  30. package/bundled/web/.open-next/assets/icon-512.png +0 -0
  31. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_global-error.cache +1 -1
  32. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_not-found.cache +1 -1
  33. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/blog/feed.xml.cache +1 -1
  34. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/blog.cache +1 -1
  35. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me/bots.cache +1 -1
  36. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me/machines.cache +1 -1
  37. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me.cache +1 -1
  38. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c.cache +1 -1
  39. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/device.cache +1 -1
  40. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/privacy.cache +1 -1
  41. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/sitemap.xml.cache +1 -1
  42. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  43. package/bundled/web/.open-next/cloudflare/images.js +2 -2
  44. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  45. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  46. package/bundled/web/.open-next/dynamodb-provider/open-next.config.mjs +2 -2
  47. package/bundled/web/.open-next/middleware/handler.mjs +332 -324
  48. package/bundled/web/.open-next/middleware/open-next.config.mjs +2 -2
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/[traceId]/page_client-reference-manifest.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/blog/[slug]/page_client-reference-manifest.js +1 -1
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/blog/page_client-reference-manifest.js +1 -1
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/[channelId]/page_client-reference-manifest.js +1 -1
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/page_client-reference-manifest.js +1 -1
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/settings/page_client-reference-manifest.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/invite/[token]/page_client-reference-manifest.js +1 -1
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/[dmId]/page_client-reference-manifest.js +1 -1
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/bots/page_client-reference-manifest.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/machines/page_client-reference-manifest.js +1 -1
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/page_client-reference-manifest.js +1 -1
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/page_client-reference-manifest.js +1 -1
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/landing-legacy/page_client-reference-manifest.js +1 -1
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +48 -51
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0bx3ed6._.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_16agz9o._.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0n0n8oi._.js +3 -0
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0e4dy_n._.js → [root-of-the-server]__0vt4_og._.js} +2 -2
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1bl2f2x._.js → [root-of-the-server]__1tm0by_._.js} +2 -2
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +48 -51
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00flokq._.js +65 -0
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_18gbpg-._.js → _07m-c06._.js} +2 -2
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07wuts6._.js +1 -1
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1kdkozw._.js → _09epwj4._.js} +2 -2
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_03kfaes._.js → _0d37u-0._.js} +3 -3
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0j193gg._.js +3 -0
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1yganw-._.js → _0k50vv7._.js} +2 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0q7w45q._.js +1 -1
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0viyyk4._.js +3 -0
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0oznlee._.js → _0zcxg53._.js} +2 -2
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13y1s7f._.js +3 -0
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1dpyuy_._.js → _14barfg._.js} +1 -1
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1cln75e._.js +1 -1
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1cu21e4._.js +1 -1
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1jenl6b._.js +3 -0
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1rll17z._.js +1 -1
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1tkd0as._.js +23 -0
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0hq-1dx._.js → node_modules__pnpm_0-chi84._.js} +1 -1
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0dwx50l._.js → node_modules__pnpm_00wi4t8._.js} +1 -1
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0ssh9m2._.js → node_modules__pnpm_011w0jh._.js} +1 -1
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1o4ge87._.js → node_modules__pnpm_02puov8._.js} +1 -1
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_-ea5g._.js → node_modules__pnpm_04g63a8._.js} +1 -1
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_07y9nim._.js → node_modules__pnpm_080j-zr._.js} +1 -1
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0xaos79._.js → node_modules__pnpm_08yk_k4._.js} +1 -1
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_11r11qk._.js → node_modules__pnpm_0_cjg3f._.js} +1 -1
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0f97x30._.js → node_modules__pnpm_0_u817t._.js} +1 -1
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0jmaw7q._.js → node_modules__pnpm_0ac6l0i._.js} +1 -1
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1sqnuh6._.js → node_modules__pnpm_0f4s5go._.js} +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1wmwuyi._.js → node_modules__pnpm_0fapate._.js} +1 -1
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_02tm0_j._.js → node_modules__pnpm_0god_d6._.js} +1 -1
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1-q73_l._.js → node_modules__pnpm_0rsb2oi._.js} +1 -1
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1bigvw-._.js → node_modules__pnpm_1-hj9nm._.js} +1 -1
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_uvsz1._.js → node_modules__pnpm_1-oez84._.js} +1 -1
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1oiei-p._.js → node_modules__pnpm_1090tka._.js} +1 -1
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1hzbpeq._.js → node_modules__pnpm_12fcw63._.js} +1 -1
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1cq-y48._.js → node_modules__pnpm_12fd_b3._.js} +1 -1
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1kmpnft._.js → node_modules__pnpm_166hw66._.js} +1 -1
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1o_px_4._.js → node_modules__pnpm_18y2f75._.js} +1 -1
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1w13w7z._.js → node_modules__pnpm_19kxf5x._.js} +1 -1
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1g5zv_v._.js → node_modules__pnpm_1a01x7q._.js} +1 -1
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_17u5slz._.js → node_modules__pnpm_1dz6bo3._.js} +1 -1
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1netq7w._.js → node_modules__pnpm_1jje66f._.js} +1 -1
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1vjep10._.js → node_modules__pnpm_1kgtcpu._.js} +1 -1
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1ud7zw9._.js → node_modules__pnpm_1llq7_i._.js} +1 -1
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0l7rkig._.js → node_modules__pnpm_1qh5znn._.js} +1 -1
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_033rqrg._.js → node_modules__pnpm_1sofeez._.js} +1 -1
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0r7_vc7._.js → node_modules__pnpm_1vly7bn._.js} +1 -1
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1_ttm0j._.js → node_modules__pnpm_1vm74xv._.js} +1 -1
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_01aqlve._.js → node_modules__pnpm_1x0q6ql._.js} +1 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_settings_0ag2edj._.js +1 -1
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_c_channels_[serverId]_[channelId]_page_tsx_14zzo72._.js +1 -1
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_0de05cl._.js +1 -1
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_1-2ddfh._.js +1 -1
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_message_tsx_0d2-3ns._.js +1 -1
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  160. package/bundled/web/.open-next/server-functions/default/src/web/cache.cjs +7 -7
  161. package/bundled/web/.open-next/server-functions/default/src/web/composable-cache.cjs +6 -6
  162. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +170 -170
  163. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +565 -619
  164. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +70 -64
  165. package/bundled/web/.open-next/server-functions/default/src/web/open-next.config.mjs +2 -2
  166. package/bundled/ws-do/index.js +6 -1
  167. package/package.json +1 -1
  168. package/bundled/web/.open-next/assets/_next/static/chunks/08j6gp_79ntuy.js +0 -1
  169. package/bundled/web/.open-next/assets/_next/static/chunks/0bjib_ewljlwz.css +0 -1
  170. package/bundled/web/.open-next/assets/_next/static/chunks/0gse5to3o1uxw.js +0 -1
  171. package/bundled/web/.open-next/assets/_next/static/chunks/12l5i3dkwtwql.js +0 -1
  172. package/bundled/web/.open-next/assets/_next/static/chunks/14kvtkqdl9zr1.js +0 -1
  173. package/bundled/web/.open-next/assets/_next/static/chunks/17dbgknts8wcj.js +0 -1
  174. package/bundled/web/.open-next/assets/_next/static/chunks/19f-e6vja-zo0.js +0 -1
  175. package/bundled/web/.open-next/assets/_next/static/chunks/1nxcfxqwx-n9z.js +0 -1
  176. package/bundled/web/.open-next/assets/_next/static/chunks/2a2_latu8_8xa.js +0 -65
  177. package/bundled/web/.open-next/assets/_next/static/chunks/2oj17fl7hbym5.js +0 -1
  178. package/bundled/web/.open-next/assets/_next/static/chunks/3iu6o-6q3k6ky.js +0 -1
  179. package/bundled/web/.open-next/assets/_next/static/chunks/3ivk92zdh4znp.js +0 -3
  180. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__1e2q19s._.js +0 -3
  181. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02-67ae._.js +0 -3
  182. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_04hxvli._.js +0 -23
  183. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ioimj-._.js +0 -3
  184. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0o3ghqz._.js +0 -3
  185. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0qswnip._.js +0 -65
  186. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_10hlb3j._.js +0 -3
  187. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11y01gl._.js +0 -3
  188. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1annyoh._.js +0 -3
  189. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1e8tsxv._.js +0 -3
  190. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_buildManifest.js +0 -0
  191. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_clientMiddlewareManifest.js +0 -0
  192. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_ssgManifest.js +0 -0
  193. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/favicon.ico.cache +0 -0
  194. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/llms.txt.cache +0 -0
  195. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/robots.txt.cache +0 -0
@@ -71,7 +71,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
71
71
  hash text NOT NULL,
72
72
  created_at numeric
73
73
  )
74
- `;await t.run(r);let a=(await t.values(y.sql`SELECT id, hash, created_at FROM ${y.sql.identifier(i)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async t=>{for(let n of e)if(!a||Number(a[2])<n.folderMillis){for(let e of n.sql)await t.run(y.sql.raw(e));await t.run(y.sql`INSERT INTO ${y.sql.identifier(i)} ("hash", "created_at") VALUES(${n.hash}, ${n.folderMillis})`)}})}}class ev{static [t.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class eI{static [t.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}function e_(e){return(0,t.is)(e,em.SQLiteTable)?[`${e[a.Table.Symbol.BaseName]}`]:(0,t.is)(e,ei.Subquery)?e._.usedTables??[]:(0,t.is)(e,y.SQL)?e.usedTables??[]:[]}t.entityKind,t.entityKind,e.i(203798),e.i(108732),e.i(166083),e.i(82393);class eb{static [t.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let n,i=!!this.fields;return n=this.fields?this.fields:(0,t.is)(e,ei.Subquery)?Object.fromEntries(Object.keys(e._.selectedFields).map(t=>[t,e[t]])):(0,t.is)(e,ep)?e[er.ViewBaseConfig].selectedFields:(0,t.is)(e,y.SQL)?{}:(0,u.getTableColumns)(e),new e$({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class ew extends ev{static [t.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:i,dialect:r,withList:a,distinct:s}){for(const o of(super(),this.config={withList:a,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=n,this.session=i,this.dialect=r,this._={selectedFields:t,config:this.config},this.tableName=(0,u.getTableLikeName)(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},e_(e)))this.usedTables.add(o)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(n,i)=>{let r=this.tableName,s=(0,u.getTableLikeName)(n);for(let e of e_(n))this.usedTables.add(e);if("string"==typeof s&&this.config.joins?.some(e=>e.alias===s))throw Error(`Alias "${s}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof r&&(this.config.fields={[r]:this.config.fields}),"string"==typeof s&&!(0,t.is)(n,y.SQL))){let e=(0,t.is)(n,ei.Subquery)?n._.selectedFields:(0,t.is)(n,y.View)?n[er.ViewBaseConfig].selectedFields:n[a.Table.Symbol.Columns];this.config.fields[s]=e}if("function"==typeof i&&(i=i(new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:i,table:n,joinType:e,alias:s}),"string"==typeof s)switch(e){case"left":this.joinsNotNullableMap[s]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[s]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return n=>{let i="function"==typeof n?n(ek()):n;if(!(0,u.haveSameKeys)(this.getSelectedFields(),i.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:i}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...e_(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...e_(e.table));return new Proxy(new ei.Subquery(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new ea({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new ea({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class e$ extends ew{static [t.entityKind]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=(0,u.orderSelectedFields)(this.config.fields),n=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.all()}}function eS(e,t){return(n,i,...r)=>{let a=[i,...r].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!(0,u.haveSameKeys)(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(a)}}(0,u.applyMixins)(e$,[eI]);let ek=()=>({union:eA,unionAll:ex,intersect:eq,except:ez}),eA=eS("union",!1),ex=eS("union",!0),eq=eS("intersect",!1),ez=eS("except",!1);class eT{static [t.entityKind]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=(0,t.is)(e,ef)?e:void 0,this.dialectConfig=(0,t.is)(e,ef)?void 0:e}$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(n)),new Proxy(new ei.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new ea({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let t=this;return{select:function(n){return new eb({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})},selectDistinct:function(n){return new eb({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}}}select(e){return new eb({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new eb({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new eh(this.dialectConfig)),this.dialect}}class eC extends eI{constructor(e,t,n,i){super(),this.table=e,this.session=t,this.dialect=n,this.config={table:e,withList:i}}static [t.entityKind]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.table[em.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:e_(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}class eM{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteInsertBuilder";values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let n=e.map(e=>{let n={},i=this.table[a.Table.Symbol.Columns];for(let r of Object.keys(e)){let a=e[r];n[r]=(0,t.is)(a,y.SQL)?a:new y.Param(a,i[r])}return n});return new eN(this.table,n,this.session,this.dialect,this.withList)}select(e){let n="function"==typeof e?e(new eT):e;if(!(0,t.is)(n,y.SQL)&&!(0,u.haveSameKeys)(this.table[a.Columns],n._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new eN(this.table,n,this.session,this.dialect,this.withList,!0)}}class eN extends eI{constructor(e,t,n,i,r,a){super(),this.session=n,this.dialect=i,this.config={table:e,values:t,withList:r,select:a}}static [t.entityKind]="SQLiteInsert";config;returning(e=this.config.table[em.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}onConflictDoNothing(e={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===e.target)this.config.onConflict.push(y.sql` on conflict do nothing`);else{let t=Array.isArray(e.target)?y.sql`${e.target}`:y.sql`${[e.target]}`,n=e.where?y.sql` where ${e.where}`:y.sql``;this.config.onConflict.push(y.sql` on conflict ${t} do nothing${n}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let t=e.where?y.sql` where ${e.where}`:void 0,n=e.targetWhere?y.sql` where ${e.targetWhere}`:void 0,i=e.setWhere?y.sql` where ${e.setWhere}`:void 0,r=Array.isArray(e.target)?y.sql`${e.target}`:y.sql`${[e.target]}`,a=this.dialect.buildUpdateSet(this.config.table,(0,u.mapUpdateSet)(this.config.table,e.set));return this.config.onConflict.push(y.sql` on conflict ${r}${n} do update set ${a}${t}${i}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:e_(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class eE{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteUpdateBuilder";set(e){return new eO(this.table,(0,u.mapUpdateSet)(this.table,e),this.session,this.dialect,this.withList)}}class eO extends eI{constructor(e,t,n,i,r){super(),this.session=n,this.dialect=i,this.config={set:t,table:e,withList:r,joins:[]}}static [t.entityKind]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(n,i)=>{let r=(0,u.getTableLikeName)(n);if("string"==typeof r&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if("function"==typeof i){let e=this.config.from?(0,t.is)(n,em.SQLiteTable)?n[a.Table.Symbol.Columns]:(0,t.is)(n,ei.Subquery)?n._.selectedFields:(0,t.is)(n,ep)?n[er.ViewBaseConfig].selectedFields:void 0:void 0;i=i(new Proxy(this.config.table[a.Table.Symbol.Columns],new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:i,table:n,joinType:e,alias:r}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[em.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:e_(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}var eD=y;class eP extends eD.SQL{constructor(e){super(eP.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.session=e.session,this.sql=eP.buildCount(e.source,e.filters)}sql;static [t.entityKind]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return eD.sql`(select count(*) from ${e}${eD.sql.raw(" where ").if(t)}${t})`}static buildCount(e,t){return eD.sql`select count(*) from ${e}${eD.sql.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}class eU{constructor(e,t,n,i,r,a,s,o){this.mode=e,this.fullSchema=t,this.schema=n,this.tableNamesMap=i,this.table=r,this.tableConfig=a,this.dialect=s,this.session=o}static [t.entityKind]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return"sync"===this.mode?new eZ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many"):new ej(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return"sync"===this.mode?new eZ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new ej(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class ej extends eI{constructor(e,t,n,i,r,a,s,o,u){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=i,this.tableConfig=r,this.dialect=a,this.session=s,this.config=o,this.mode=u}static [t.entityKind]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:n,builtQuery:i}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](i,void 0,"first"===this.mode?"get":"all",!0,(e,i)=>{let r=e.map(e=>(function e(n,i,r,a,o=e=>e){let u={};for(let[l,d]of a.entries())if(d.isJson){let a=i.relations[d.tsKey],s=r[l],c="string"==typeof s?JSON.parse(s):s;u[d.tsKey]=(0,t.is)(a,Y)?c&&e(n,n[d.relationTableTsKey],c,d.selection,o):c.map(t=>e(n,n[d.relationTableTsKey],t,d.selection,o))}else{let e,n=o(r[l]),i=d.field;e=(0,t.is)(i,s.Column)?i:(0,t.is)(i,y.SQL)?i.decoder:i.sql.decoder,u[d.tsKey]=null===n?null:e.mapFromDriverValue(n)}return u})(this.schema,this.tableConfig,e,n.selection,i));return"first"===this.mode?r[0]:r})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class eZ extends ej{static [t.entityKind]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class eR extends eI{constructor(e,t,n,i,r){super(),this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=r,this.config={action:n}}static [t.entityKind]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class eL{constructor(e,t,n,i){this.resultKind=e,this.dialect=t,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const r=this.query;if(this._.schema)for(const[a,s]of Object.entries(this._.schema))r[a]=new eU(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[a],s,t,n);this.$cache={invalidate:async e=>{}}}static [t.entityKind]="BaseSQLiteDatabase";query;$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(new eT(n.dialect))),new Proxy(new ei.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new ea({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,t){return new eP({source:e,filters:t,session:this.session})}with(...e){let t=this;return{select:function(n){return new eb({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})},selectDistinct:function(n){return new eb({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})},update:function(n){return new eE(n,t.session,t.dialect,e)},insert:function(n){return new eM(n,t.session,t.dialect,e)},delete:function(n){return new eC(n,t.session,t.dialect,e)}}}select(e){return new eb({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new eb({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new eE(e,this.session,this.dialect)}$cache;insert(e){return new eM(e,this.session,this.dialect)}delete(e){return new eC(e,this.session,this.dialect)}run(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(t)}all(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(t)}get(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(t)}values(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class eB{static [t.entityKind]="Cache"}class eF extends eB{strategy(){return"all"}static [t.entityKind]="NoopCache";async get(e){}async put(e,t,n,i){}async onMutate(e){}}async function eQ(e,t){let n=`${e}-${JSON.stringify(t)}`,i=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",i))].map(e=>e.toString(16).padStart(2,"0")).join("")}class eK extends eI{constructor(e){super(),this.resultCb=e}static [t.entityKind]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class eJ{constructor(e,t,n,i,r,a){this.mode=e,this.executeMethod=t,this.query=n,this.cache=i,this.queryMetadata=r,this.cacheConfig=a,i&&"all"===i.strategy()&&void 0===a&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [t.entityKind]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||(0,t.is)(this.cache,eF)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(t){throw new ed.DrizzleQueryError(e,n,t)}if(!this.cacheConfig)try{return await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await eQ(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}return await this.cache.put(this.cacheConfig.tag??await eQ(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){return"async"===this.mode?this[this.executeMethod](e):new eK(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class eV{constructor(e){this.dialect=e}static [t.entityKind]="SQLiteSession";prepareOneTimeQuery(e,t,n,i,r,a,s){return this.prepareQuery(e,t,n,i,r,a,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(e){throw new ed.DrizzleError({cause:e,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class eW extends eL{constructor(e,t,n,i,r=0){super(e,t,n,i),this.schema=i,this.nestedIndex=r}static [t.entityKind]="SQLiteTransaction";rollback(){throw new ed.TransactionRollbackError}}class eH extends eV{constructor(e,t,n,i={}){super(t),this.client=e,this.schema=n,this.options=i,this.logger=i.logger??new r,this.cache=i.cache??new eF}static [t.entityKind]="SQLiteD1Session";logger;cache;prepareQuery(e,t,n,i,r,a,s){return new eY(this.client.prepare(e.sql),e,this.logger,this.cache,a,s,t,n,i,r)}async batch(e){let t=[],n=[];for(let i of e){let e=i._prepare(),r=e.getQuery();if(t.push(e),r.params.length>0)n.push(e.stmt.bind(...r.params));else{let t=e.getQuery();n.push(this.client.prepare(t.sql).bind(...t.params))}}return(await this.client.batch(n)).map((e,n)=>t[n].mapResult(e,!0))}extractRawAllValueFromBatchResult(e){return e.results}extractRawGetValueFromBatchResult(e){return e.results[0]}extractRawValuesValueFromBatchResult(e){return eX(e.results)}async transaction(e,t){let n=new eG("async",this.dialect,this,this.schema);await this.run(y.sql.raw(`begin${t?.behavior?" "+t.behavior:""}`));try{let t=await e(n);return await this.run(y.sql`commit`),t}catch(e){throw await this.run(y.sql`rollback`),e}}}class eG extends eW{static [t.entityKind]="D1Transaction";async transaction(e){let t=`sp${this.nestedIndex}`,n=new eG("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(y.sql.raw(`savepoint ${t}`));try{let i=await e(n);return await this.session.run(y.sql.raw(`release savepoint ${t}`)),i}catch(e){throw await this.session.run(y.sql.raw(`rollback to savepoint ${t}`)),e}}}function eX(e){let t=[];for(let n of e){let e=Object.keys(n).map(e=>n[e]);t.push(e)}return t}class eY extends eJ{constructor(e,t,n,i,r,a,s,o,u,l){super("async",o,t,i,r,a),this.logger=n,this._isResponseInArrayMode=u,this.customResultMapper=l,this.fields=s,this.stmt=e}static [t.entityKind]="D1PreparedQuery";customResultMapper;fields;stmt;async run(e){let t=(0,y.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).run())}async all(e){let{fields:t,query:n,logger:i,stmt:r,customResultMapper:a}=this;if(!t&&!a){let t=(0,y.fillPlaceholders)(n.params,e??{});return i.logQuery(n.sql,t),await this.queryWithCache(n.sql,t,async()=>r.bind(...t).all().then(({results:e})=>this.mapAllResult(e)))}let s=await this.values(e);return this.mapAllResult(s)}mapAllResult(e,t){return(t&&(e=eX(e.results)),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper(e):e.map(e=>(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap)):e}async get(e){let{fields:t,joinsNotNullableMap:n,query:i,logger:r,stmt:a,customResultMapper:s}=this;if(!t&&!s){let t=(0,y.fillPlaceholders)(i.params,e??{});return r.logQuery(i.sql,t),await this.queryWithCache(i.sql,t,async()=>a.bind(...t).all().then(({results:e})=>e[0]))}let o=await this.values(e);if(o[0])return s?s(o):(0,u.mapResultRow)(t,o[0],n)}mapGetResult(e,t){return(t&&(e=eX(e.results)[0]),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper([e]):(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap):e}async values(e){let t=(0,y.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).raw())}isResponseInArrayMode(){return this._isResponseInArrayMode}}class e0 extends eL{static [t.entityKind]="D1Database";async batch(e){return this.session.batch(e)}}var e1=e.i(729178),e6=e.i(908969),e4=e.i(987406);e.i(837200);let e2={...e1,...e6,...e4};e.s(["createDb",0,function(e){return function(e,n={}){let r,s,o=new ey({casing:n.casing});if(!0===n.logger?r=new i:!1!==n.logger&&(r=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!(0,t.is)(e.default,a.Table)&&(e=e.default);let i={},r={},s={};for(let[o,u]of Object.entries(e))if((0,t.is)(u,a.Table)){let e=(0,a.getTableUniqueName)(u),n=r[e];for(let t of(i[e]=o,s[o]={tsName:o,dbName:u[a.Table.Symbol.Name],schema:u[a.Table.Symbol.Schema],columns:u[a.Table.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(u[a.Table.Symbol.Columns])))t.primary&&s[o].primaryKey.push(t);let l=u[a.Table.Symbol.ExtraConfigBuilder]?.(u[a.Table.Symbol.ExtraConfigColumns]);if(l)for(let e of Object.values(l))(0,t.is)(e,J)&&s[o].primaryKey.push(...e.columns)}else if((0,t.is)(u,X)){let e,t=(0,a.getTableUniqueName)(u.table),o=i[t];for(let[i,a]of Object.entries(u.config(n(u.table))))if(o){let t=s[o];t.relations[i]=a,e&&t.primaryKey.push(...e)}else t in r||(r[t]={relations:{},primaryKey:e}),r[t].relations[i]=a}return{tables:s,tableNamesMap:i}}(n.schema,et);s={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new eH(e,o,s,{logger:r,cache:n.cache}),l=new e0("async",o,u,s);return l.$client=e,l.$cache=n.cache,l.$cache&&(l.$cache.invalidate=n.cache?.onMutate),l}(e,{schema:e2})}],760762)},553223,e=>{"use strict";var t=e.i(441723),n=e.i(791757),i=e.i(729178);async function r(e,t){let n=new Date().toISOString();return(await e.insert(i.calendarEvent).values({agentId:t.agentId,workspaceId:t.workspaceId,title:t.title,description:t.description??null,scheduledAt:t.scheduledAt,repeatInterval:t.repeatInterval??null,repeatStopAt:t.repeatStopAt??null,exceptions:t.exceptions??[],createdAt:n,updatedAt:n}).returning())[0]}async function a(e,n,r,a){return(await e.update(i.calendarEvent).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function s(e,n,r,a){let s=[(0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r)];if(a){s.push((0,t.eq)(i.agent.ownerId,a));let n=await e.select({calendarEvent:i.calendarEvent}).from(i.calendarEvent).innerJoin(i.agent,(0,t.eq)(i.calendarEvent.agentId,i.agent.id)).where((0,t.and)(...s));return n[0]?.calendarEvent??null}return(await e.select().from(i.calendarEvent).where((0,t.and)(...s)))[0]??null}async function o(e,r,a={}){let s=[(0,t.eq)(i.calendarEvent.workspaceId,r)];return(a.agentId&&s.push((0,t.eq)(i.calendarEvent.agentId,a.agentId)),a.userId&&s.push((0,t.eq)(i.agent.ownerId,a.userId)),s.push((0,t.or)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt))),a.from&&a.to?s.push((0,t.or)((0,t.and)((0,t.isNull)(i.calendarEvent.repeatInterval),(0,t.gte)(i.calendarEvent.scheduledAt,a.from),(0,t.lte)(i.calendarEvent.scheduledAt,a.to)),(0,t.and)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.lte)(i.calendarEvent.scheduledAt,a.to),(0,t.or)((0,t.isNull)(i.calendarEvent.repeatStopAt),(0,t.gte)(i.calendarEvent.repeatStopAt,a.from))))):(a.from&&s.push((0,t.gte)(i.calendarEvent.scheduledAt,a.from)),a.to&&s.push((0,t.lte)(i.calendarEvent.scheduledAt,a.to))),a.userId)?(await e.select({calendarEvent:i.calendarEvent}).from(i.calendarEvent).innerJoin(i.agent,(0,t.eq)(i.calendarEvent.agentId,i.agent.id)).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))).map(e=>e.calendarEvent):e.select().from(i.calendarEvent).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function u(e,n,r){return(await e.delete(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function l(e,r,a){return e.select().from(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.workspaceId,r),(0,t.lte)(i.calendarEvent.scheduledAt,a),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function d(e,n,r,a){return(await e.update(i.calendarEvent).set({lastTriggeredAt:a,updatedAt:a}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.scheduledAt,r),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).returning())[0]??null}async function c(e,n,r){await e.update(i.calendarEvent).set({lastTriggeredAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}async function m(e,n,r){await e.update(i.calendarEvent).set({scheduledAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}function g(e,t){let n=/^(\d+)(min|hour|day|week|month)$/.exec(t);if(!n)throw Error(`invalid repeat_interval: ${t}`);let i=parseInt(n[1],10),r=n[2];if("min"===r)return new Date(e.getTime()+6e4*i);if("hour"===r)return new Date(e.getTime()+36e5*i);if("day"===r)return new Date(e.getTime()+864e5*i);if("week"===r)return new Date(e.getTime()+7*i*864e5);let a=e.getUTCFullYear(),s=e.getUTCMonth()+i,o=a+Math.floor(s/12),u=(s%12+12)%12,l=Math.min(e.getUTCDate(),new Date(Date.UTC(o,u+1,0)).getUTCDate());return new Date(Date.UTC(o,u,l,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}e.s(["addRepeatInterval",0,g,"claimCalendarEvent",0,d,"computeNextScheduledAt",0,function(e,t,n,i,r=[]){let a=new Set(r),s=g(new Date(e),t),o=new Date(i),u=n?new Date(n):null;for(let e=0;e<2e3&&(!u||!(s>u));e++){if(s>o&&!a.has(s.toISOString()))return s.toISOString();s=g(s,t)}return null},"createCalendarEvent",0,r,"deleteCalendarEvent",0,u,"expandOccurrences",0,function(e,t,n,i,r,a){let s=[],o=new Date(r),u=new Date(a),l=n?new Date(n):null,d=new Set(i),c=new Date(e);for(let e=0;e<1e3&&!(c>u)&&(!l||!(c>l));e++){let e=c.toISOString();c>=o&&!d.has(e)&&s.push(e),c=g(c,t)}return s},"getCalendarEvent",0,s,"getOccurrencesPerDay",0,function(e){let t=/^(\d+)(min|hour|day|week|month)$/.exec(e);if(!t)return 1;let n=parseInt(t[1],10),i=t[2];return"month"===i||"week"===i||"day"===i||0===n?1:Math.floor(86400/("min"===i?60*n:3600*n))},"listCalendarEvents",0,o,"listDueCalendarEvents",0,l,"revertCalendarEventClaim",0,c,"updateCalendarEvent",0,a,"updateCalendarEventSchedule",0,m])},765826,368789,742964,496543,643181,249377,729051,826015,643613,750804,484461,677855,491465,50336,497657,420587,22033,571158,834809,127060,208560,947101,315576,516313,237209,397614,68438,923566,715172,69974,912701,482420,606396,965939,166485,930980,75056,66643,542885,441376,281108,449951,186135,453858,202132,933159,995114,978886,639695,54561,596366,539664,689862,462206,919196,845733,3674,375498,301517,450019,e=>{"use strict";var t=e.i(441723),n=e.i(791757),i=e.i(544701),r=e.i(908969),a=e.i(729178);function s(e,t){if(t<1)throw Error("chunk size must be >= 1");let n=[];for(let i=0;i<e.length;i+=t)n.push(e.slice(i,i+t));return n}function o(e){if(e<1)throw Error("paramsPerRow must be >= 1");return Math.floor(100/e)}async function u(e,t){return(await e.insert(r.communityMessageSeq).values({channelId:t,nextSeq:1}).onConflictDoUpdate({target:r.communityMessageSeq.channelId,set:{nextSeq:i.sql`${r.communityMessageSeq.nextSeq} + 1`}}).returning({nextSeq:r.communityMessageSeq.nextSeq}))[0].nextSeq}async function l(e,t,n){let a=await e.insert(r.communityMessageSeq).values({channelId:t,nextSeq:1}).onConflictDoUpdate({target:r.communityMessageSeq.channelId,set:{nextSeq:i.sql`${r.communityMessageSeq.nextSeq} + 1`},setWhere:i.sql`${r.communityMessageSeq.nextSeq} = ${n}`}).returning({nextSeq:r.communityMessageSeq.nextSeq});return a[0]?.nextSeq??null}let d=(0,e.i(726527).createLogger)({service:"community-queries"});function c(e,t){if(e)try{return JSON.parse(e)}catch(e){d.warn("embeds_parse_failed",{messageId:t,err:e});return}}async function m(e,t){let n=void 0!==t.expectedSeq?await l(e,t.channelId,t.expectedSeq):await u(e,t.channelId);return null===n?null:g(e,t,n)}async function g(e,n,a){let s=new Date().toISOString(),o=[e.insert(r.communityMessage).values({...void 0!==n.id?{id:n.id}:{},authorId:n.authorId,content:n.content,channelId:n.channelId,type:n.type??"default",mentionType:n.mentionType??null,replyToId:n.replyToId??null,embeds:n.embeds??null,friendshipId:n.friendshipId??null,clientNonce:n.clientNonce??null,createdAt:s,seq:a}).returning(),e.update(r.communityChannel).set({lastMessageAt:s,messageCount:i.sql`${r.communityChannel.messageCount} + 1`}).where((0,t.eq)(r.communityChannel.id,n.channelId)),...n.extraStatements??[]],u=(await e.batch(o))[0][0];return await e.insert(r.communityReadState).values({userId:n.authorId,channelId:n.channelId,lastReadAt:s,lastReadMessageId:u.id,lastReadSeq:a}).onConflictDoUpdate({target:[r.communityReadState.userId,r.communityReadState.channelId],set:{lastReadAt:s,lastReadMessageId:u.id,lastReadSeq:a},setWhere:i.sql`${r.communityReadState.lastReadSeq} < ${a}`}),u}async function p(e,a){let s=(await e.select({id:r.communityMessage.id,channelId:r.communityMessage.channelId,authorId:r.communityMessage.authorId,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,a)).limit(1))[0];if(!s)return;let o=(0,t.eq)(r.communityMessage.channelId,s.channelId),u=(await e.select({id:r.communityMessage.id,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt}).from(r.communityMessage).where((0,t.and)(o,(0,t.lt)(r.communityMessage.seq,s.seq))).orderBy((0,n.desc)(r.communityMessage.seq)).limit(1))[0],l=e.delete(r.communityMessage).where((0,t.eq)(r.communityMessage.id,a)),d=e.update(r.communityChannel).set({messageCount:i.sql`${r.communityChannel.messageCount} - 1`,lastMessageAt:i.sql`(SELECT MAX(${r.communityMessage.createdAt}) FROM ${r.communityMessage} WHERE ${r.communityMessage.channelId} = ${s.channelId} AND ${r.communityMessage.id} != ${a})`}).where((0,t.eq)(r.communityChannel.id,s.channelId)),c=(0,t.and)((0,t.eq)(r.communityReadState.userId,s.authorId),(0,t.eq)(r.communityReadState.channelId,s.channelId),(0,t.eq)(r.communityReadState.lastReadMessageId,a)),m=u?e.update(r.communityReadState).set({lastReadMessageId:u.id,lastReadSeq:u.seq,lastReadAt:u.createdAt}).where(c):e.delete(r.communityReadState).where(c);await e.batch([l,d,m])}let f={id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,friendshipId:r.communityMessage.friendshipId,clientNonce:r.communityMessage.clientNonce,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image};function h(e){return{...e,embeds:c(e.embeds,e.id)}}async function y(e,i){let s=i.limit??50,o=[(0,t.eq)(r.communityMessage.channelId,i.channelId)];return i.cursor&&o.push((0,t.or)((0,t.lt)(r.communityMessage.createdAt,i.cursor.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.cursor.createdAt),(0,t.lt)(r.communityMessage.id,i.cursor.id)))),(i.tag?await e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))).where((0,t.and)(...o)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(s):await e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)(...o)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(s)).map(h)}async function v(e,i){let s=i.limit??50,o=Math.ceil(s/2),u=Math.floor(s/2),l=[(0,t.eq)(r.communityMessage.channelId,i.channelId)],d=(0,t.or)((0,t.lt)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.lt)(r.communityMessage.id,i.anchor.id))),c=(0,t.or)((0,t.gt)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.or)((0,t.gt)(r.communityMessage.id,i.anchor.id),(0,t.eq)(r.communityMessage.id,i.anchor.id)))),m=()=>e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)),g=()=>e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)),[p,y]=await Promise.all([(i.tag?m().innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))):m()).where((0,t.and)(...l,d)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(o+1),(i.tag?g().innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))):g()).where((0,t.and)(...l,c)).orderBy((0,n.asc)(r.communityMessage.createdAt),(0,n.asc)(r.communityMessage.id)).limit(u+1+1)]),v=p.length>o,I=(v?p.slice(0,o):p).map(h),_=u+1,b=y.length>_;return{older:I,newer:(b?y.slice(0,_):y).map(h),hasMoreOlder:v,hasMoreNewer:b}}async function I(e,i){let s=i.limit??50,o=[(0,t.eq)(r.communityMessage.channelId,i.channelId)];o.push((0,t.or)((0,t.gt)(r.communityMessage.createdAt,i.since.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.since.createdAt),(0,t.gt)(r.communityMessage.id,i.since.id))));let u=e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id));return(await (i.tag?u.innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))):u).where((0,t.and)(...o)).orderBy((0,n.asc)(r.communityMessage.createdAt),(0,n.asc)(r.communityMessage.id)).limit(s+1)).map(h)}async function _(e,n){let a=await e.select({maxSeq:i.sql`MAX(${r.communityMessage.seq})`}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.channelId,n.channelId));return a[0]?.maxSeq??0}async function b(e,i){return(await e.select({id:r.communityMessage.id,createdAt:r.communityMessage.createdAt,seq:r.communityMessage.seq}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.channelId,i.channelId)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(1))[0]??null}async function w(e,n){if(0===n.length)return[];let a=(await Promise.all(s(n,90).map(n=>{let a=e.select({channelId:r.communityMessage.channelId,maxCreatedAt:i.sql`MAX(${r.communityMessage.createdAt})`.as("max_created_at")}).from(r.communityMessage).where((0,t.inArray)(r.communityMessage.channelId,n)).groupBy(r.communityMessage.channelId).as("latest_dates");return e.select({channelId:r.communityMessage.channelId,id:r.communityMessage.id,createdAt:r.communityMessage.createdAt,seq:r.communityMessage.seq}).from(r.communityMessage).innerJoin(a,(0,t.and)((0,t.eq)(r.communityMessage.channelId,a.channelId),(0,t.eq)(r.communityMessage.createdAt,a.maxCreatedAt)))}))).flat(),o=new Map;for(let e of a){if(!e.channelId)continue;let t=o.get(e.channelId);(!t||e.id>t.id)&&o.set(e.channelId,{channelId:e.channelId,id:e.id,createdAt:e.createdAt,seq:e.seq})}return Array.from(o.values())}async function $(e,n){if(0===n.length)return[];let a=(await Promise.all(s(n,90).map(n=>{let a=e.select({channelId:r.communityMessage.channelId,minCreatedAt:i.sql`MIN(${r.communityMessage.createdAt})`.as("min_created_at")}).from(r.communityMessage).where((0,t.inArray)(r.communityMessage.channelId,n)).groupBy(r.communityMessage.channelId).as("first_dates");return e.select({channelId:r.communityMessage.channelId,content:r.communityMessage.content}).from(r.communityMessage).innerJoin(a,(0,t.and)((0,t.eq)(r.communityMessage.channelId,a.channelId),(0,t.eq)(r.communityMessage.createdAt,a.minCreatedAt)))}))).flat(),o=new Set;return a.filter(e=>!(!e.channelId||o.has(e.channelId))&&(o.add(e.channelId),!0))}async function S(e,n,i){return(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,replyToId:r.communityMessage.replyToId}).from(r.communityMessage).where((0,t.and)((0,t.eq)(r.communityMessage.channelId,n.channelId),(0,t.eq)(r.communityMessage.seq,i))))[0]??null}async function k(e,n){return(await e.select({id:r.communityMessage.id,seq:r.communityMessage.seq,authorId:r.communityMessage.authorId,channelId:r.communityMessage.channelId}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,n)).limit(1))[0]??null}async function A(e,n){let i=(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.eq)(r.communityMessage.id,n)))[0];return i?{...i,embeds:c(i.embeds,i.id)}:null}async function x(e,n,i){let s=(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityMessage.authorId,n),(0,t.eq)(r.communityMessage.clientNonce,i))).limit(1))[0];return s?{...s,embeds:c(s.embeds,s.id)}:null}async function q(e,n){let[i]=await e.update(r.communityMessage).set({content:n.content}).where((0,t.and)((0,t.eq)(r.communityMessage.id,n.messageId),(0,t.eq)(r.communityMessage.authorId,n.authorId))).returning({id:r.communityMessage.id,channelId:r.communityMessage.channelId,content:r.communityMessage.content});return i??null}async function z(e,n){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.inArray)(r.communityMessage.id,n))))).flat().map(e=>({...e,embeds:c(e.embeds,e.id)}))}async function T(e,n){let i=await e.select({messageId:r.communityMessage.id,channelId:r.communityMessage.channelId}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.friendshipId,n));if(0===i.length)return[];let a=[...new Set(i.map(e=>e.channelId))],s=await e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,a),(0,t.eq)(r.communityChannelMember.relation,"access"))),o=new Map;for(let e of s){let t=o.get(e.channelId)??[];t.push(e.userId),o.set(e.channelId,t)}return i.map(e=>({messageId:e.messageId,channelId:e.channelId,peerUserIds:o.get(e.channelId)??[]}))}function C(e){return(0,t.eq)(r.communityMessage.channelId,e.channelId)}async function M(e,n,i){let s=(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityMessage.id,n),C(i))))[0];return s?{...s,embeds:c(s.embeds,s.id)}:null}async function N(e,n,i){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,authorName:a.user.name,discriminator:a.user.discriminator,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)((0,t.inArray)(r.communityMessage.id,n),C(i)))))).flat().map(e=>({...e,embeds:c(e.embeds,e.id)}))}e.s(["createMessage",0,m,"getFirstMessageByChannelIds",0,$,"getLatestMessage",0,b,"getLatestMessageSeq",0,_,"getLatestMessagesByChannelIds",0,w,"getMessage",0,A,"getMessageByAuthorAndNonce",0,x,"getMessageByChannelAndSeq",0,S,"getMessageInScope",0,M,"getMessagesByIds",0,z,"getMessagesByIdsInScope",0,N,"getWakeMessageScopeById",0,k,"hardDeleteMessage",0,p,"listMessages",0,y,"listMessagesAround",0,v,"listMessagesReferencingFriendship",0,T,"listMessagesSince",0,I,"updateOwnMessageContent",0,q],765826);var E=e.i(120333),O=e.i(401606),D=e.i(296959);function P(e){return i.sql`count(${e||i.sql.raw("*")})`.mapWith(Number)}var U=e.i(987406),j=e.i(704024),Z=e.i(847258);function R(e){return e.replace(/[\\%_]/g,e=>"\\"+e)}var L=e.i(136388),B=e.i(291320);let F={id:a.user.id,name:a.user.name,email:a.user.email,emailVerified:a.user.emailVerified,image:a.user.image,createdAt:a.user.createdAt,updatedAt:a.user.updatedAt,discriminator:a.user.discriminator},Q={...F,isBot:a.user.isBot,ownerUserId:a.user.ownerUserId,deletedAt:a.user.deletedAt};async function K(e,n){return(await e.select(F).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.isNull)(a.user.deletedAt))))[0]??null}async function J(e,n){return(await e.select(F).from(a.user).where((0,t.eq)(a.user.id,n)))[0]??null}async function V(e,n){return(await e.select(Q).from(a.user).where((0,t.eq)(a.user.id,n)))[0]??null}async function W(e,n){return 0===n.length?[]:e.select(F).from(a.user).where((0,t.inArray)(a.user.id,n))}async function H(e,n){return(await e.select(F).from(a.user).where((0,t.eq)(a.user.email,n)))[0]??null}async function G(e,n){let r=R(n);return(await e.select(F).from(a.user).where((0,t.and)(i.sql`${a.user.name} LIKE ${r} ESCAPE '\\'`,(0,t.isNull)(a.user.deletedAt))))[0]??null}async function X(e,n,r){let s=[(0,t.isNull)(a.user.deletedAt)];if(r?.discriminator!==void 0)s.push((0,t.eq)(a.user.name,n)),s.push((0,t.eq)(a.user.discriminator,r.discriminator));else{let e=`%${R(n)}%`;s.push(i.sql`${a.user.name} LIKE ${e} ESCAPE '\\'`)}return r?.excludeUserId&&s.push((0,t.ne)(a.user.id,r.excludeUserId)),e.select(F).from(a.user).where((0,t.and)(...s)).limit(r?.limit??20)}async function Y(e,n,r){let s=R(n);return(await e.select(F).from(a.user).where((0,t.and)(i.sql`${a.user.name} LIKE ${s} ESCAPE '\\'`,(0,t.eq)(a.user.discriminator,r),(0,t.isNull)(a.user.deletedAt))).limit(1))[0]??null}async function ee(e,t,n){for(let e=4;e<=18;e++)for(let i=0;i<5;i++){let r=4===e&&0===i?(0,L.computeDiscriminator)(t.id):(0,L.computeDiscriminator)(`${t.id}:${e}:${i}`,e);try{return await n(r)}catch(e){if(!(0,B.isUniqueConstraintError)(e))throw e}}throw Error(`discriminator allocation exceeded width 18 for name "${t.name}" — not a real collision`)}async function et(e,t){for(let n=4;n<=18;n++)for(let i=0;i<5;i++){let r=4===n&&0===i?(0,L.computeDiscriminator)(t.id):(0,L.computeDiscriminator)(`${t.id}:${n}:${i}`,n);if(!await Y(e,t.name,r))return r}throw Error(`discriminator probe exceeded width 18 for name "${t.name}" — not a real collision`)}async function en(e,t){if(!t.name.trim())throw Error("user.name cannot be empty");let n=(0,Z.nanoid)();return ee(e,{id:n,name:t.name},async i=>(await e.insert(a.user).values({id:n,name:t.name,email:t.email,discriminator:i}).returning(F))[0])}async function ei(e,n,i){if(void 0!==i.name&&!i.name.trim())throw Error("user.name cannot be empty");let r={updatedAt:new Date().toISOString()};return void 0!==i.name&&(r.name=i.name),void 0!==i.image&&(r.image=i.image),(await e.update(a.user).set(r).where((0,t.eq)(a.user.id,n)).returning(F))[0]??null}e.s(["createUser",0,en,"getUserByEmail",0,H,"getUserByNameAndDiscriminator",0,Y,"getUserByNameCaseInsensitive",0,G,"getUserInternal",0,V,"getUserPublic",0,K,"getUserSelf",0,J,"getUsersByIds",0,W,"probeAvailableDiscriminator",0,et,"searchUsersByName",0,X,"updateUser",0,ei,"withUniqueDiscriminator",0,ee],368789);class er extends Error{constructor(e){super(e),this.name="OwnerHasBotsError"}}async function ea(e,n){return(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image,ownerUserId:a.user.ownerUserId,createdAt:a.user.createdAt,updatedAt:a.user.updatedAt,lastRefreshContextAt:a.user.lastRefreshContextAt,description:r.communityUserProfile.aboutMe,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(a.user.isBot,!0),(0,t.eq)(a.user.ownerUserId,n),(0,t.isNull)(a.user.deletedAt)))).map(e=>({id:e.id,name:e.name,discriminator:e.discriminator,image:e.image,ownerUserId:e.ownerUserId,description:e.description??"",createdAt:e.createdAt,updatedAt:e.updatedAt,lastRefreshContextAt:e.lastRefreshContextAt??null,machineId:e.machineId,runtime:e.runtime,modelName:e.modelName??null}))}async function es(e,n,i){let s=(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image,ownerUserId:a.user.ownerUserId,createdAt:a.user.createdAt,updatedAt:a.user.updatedAt,lastRefreshContextAt:a.user.lastRefreshContextAt,description:r.communityUserProfile.aboutMe,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).leftJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.eq)(a.user.ownerUserId,i),(0,t.isNull)(a.user.deletedAt))).limit(1))[0];return s?{id:s.id,name:s.name,discriminator:s.discriminator,image:s.image,ownerUserId:s.ownerUserId,description:s.description??"",createdAt:s.createdAt,updatedAt:s.updatedAt,lastRefreshContextAt:s.lastRefreshContextAt??null,machineId:s.machineId??null,runtime:s.runtime??null,modelName:s.modelName??null}:null}async function eo(e,n){let i=await e.select({n:P()}).from(a.user).where((0,t.and)((0,t.eq)(a.user.isBot,!0),(0,t.eq)(a.user.ownerUserId,n),(0,t.isNull)(a.user.deletedAt)));return i[0]?.n??0}async function eu(e,n){let i=(await e.select({machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(U.communityBotBinding).where((0,t.eq)(U.communityBotBinding.userId,n)).limit(1))[0];return i?{machineId:i.machineId,runtime:i.runtime,modelName:i.modelName??null}:null}async function el(e,n){let i=(await e.select({machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,ownerUserId:a.user.ownerUserId,name:a.user.name,discriminator:a.user.discriminator}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).limit(1))[0];return i&&i.ownerUserId?{machineId:i.machineId,runtime:i.runtime,ownerUserId:i.ownerUserId,name:i.name,discriminator:i.discriminator}:null}async function ed(e,n){if(0===n.recipients.length)return[];let i=(0,t.eq)(r.communityReadState.channelId,n.channelId);return(await Promise.all(s(n.recipients,90).map(n=>e.select({botUserId:a.user.id,name:a.user.name,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,lastReadSeq:r.communityReadState.lastReadSeq}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).leftJoin(r.communityReadState,(0,t.and)((0,t.eq)(r.communityReadState.userId,a.user.id),i)).where((0,t.and)((0,t.inArray)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))))).flat().filter(e=>(e.lastReadSeq??0)<n.newSeq).map(e=>({botUserId:e.botUserId,name:e.name,machineId:e.machineId,runtime:e.runtime}))}async function ec(e,n){let i=(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,isBot:a.user.isBot,deletedAt:a.user.deletedAt,ownerUserId:a.user.ownerUserId,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).leftJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).where((0,t.eq)(a.user.id,n)).limit(1))[0];return i&&i.isBot?i.deletedAt?{state:"bot_deleted"}:i.machineId&&i.runtime?{state:"ready",botUserId:i.id,name:i.name,discriminator:i.discriminator,machineId:i.machineId,runtime:i.runtime,modelName:i.modelName??null,ownerUserId:i.ownerUserId}:{state:"bot_unbound"}:{state:"bot_missing"}}async function em(e,n){let i=(0,E.aliasedTable)(a.user,"owner");return(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,description:r.communityUserProfile.aboutMe,ownerName:i.name,ownerDiscriminator:i.discriminator,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).innerJoin(i,(0,t.eq)(i.id,a.user.ownerUserId)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(U.communityBotBinding.machineId,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt),(0,t.isNull)(i.deletedAt)))).map(e=>({id:e.id,name:e.name,discriminator:e.discriminator,description:e.description??"",ownerName:e.ownerName,ownerDiscriminator:e.ownerDiscriminator,runtime:e.runtime,modelName:e.modelName??null}))}async function eg(e,n,i){return(await e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityServerMember.userId)).where((0,t.and)((0,t.eq)(r.communityServerMember.userId,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0)))).map(e=>e.serverId)}async function ep(e,n,i){return e.select({id:a.user.id,name:a.user.name}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).where((0,t.and)((0,t.eq)(U.communityBotBinding.machineId,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))}async function ef(e,t){let n=(0,Z.nanoid)(),i=(0,j.communityBotSyntheticEmail)(n),s=new Date().toISOString(),o=t.description??"",u=await ee(e,{id:n,name:t.name},async u=>{let l=e.insert(a.user).values({id:n,name:t.name,email:i,emailVerified:!0,image:t.image??null,isBot:!0,ownerUserId:t.ownerId,discriminator:u,createdAt:s,updatedAt:s}),d=e.insert(U.communityBotBinding).values({userId:n,machineId:t.machineId,runtime:t.runtime,modelName:t.modelName??null,createdAt:s}),c=e.insert(r.communityUserProfile).values({userId:n,aboutMe:o}).onConflictDoUpdate({target:r.communityUserProfile.userId,set:{aboutMe:o}});return await e.batch([l,d,c]),u});return{botId:n,name:t.name,discriminator:u,description:o,image:t.image??null}}async function eh(e,n,i,s){let o,u={updatedAt:new Date().toISOString()};if(void 0!==s.name&&(u.name=s.name),void 0!==s.image&&(u.image=s.image),void 0!==s.description){let l=e.update(a.user).set(u).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).returning({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image}),d=e.insert(r.communityUserProfile).values({userId:n,aboutMe:s.description}).onConflictDoUpdate({target:r.communityUserProfile.userId,set:{aboutMe:s.description}}),c=await e.batch([l,d]);o=Array.isArray(c?.[0])?c[0]:[]}else o=await e.update(a.user).set(u).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).returning({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image});if(0===o.length)return null;let l=s.description??"";if(void 0===s.description){let i=await e.select({aboutMe:r.communityUserProfile.aboutMe}).from(r.communityUserProfile).where((0,t.eq)(r.communityUserProfile.userId,n)).limit(1);l=i[0]?.aboutMe??""}return{botId:o[0].id,name:o[0].name,discriminator:o[0].discriminator,description:l,image:o[0].image}}async function ey(e,n,i,r){let s=e.select({id:a.user.id}).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)));return(await e.update(U.communityBotBinding).set({modelName:r}).where((0,t.inArray)(U.communityBotBinding.userId,s)).returning({userId:U.communityBotBinding.userId})).length>0}async function ev(e,n,i,r,s){let o=e.select({id:a.user.id}).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)));return(await e.update(U.communityBotBinding).set({runtime:r,modelName:s}).where((0,t.inArray)(U.communityBotBinding.userId,o)).returning({userId:U.communityBotBinding.userId})).length>0}async function eI(e,n,i){await e.update(a.user).set({lastRefreshContextAt:i}).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))}async function e_(e,n,i){return await e.select({day:r.communityBotDailyActivity.day,handledCount:r.communityBotDailyActivity.handledCount,sentCount:r.communityBotDailyActivity.sentCount}).from(r.communityBotDailyActivity).where((0,t.and)((0,t.eq)(r.communityBotDailyActivity.botId,n),(0,t.gte)(r.communityBotDailyActivity.day,i))).orderBy(r.communityBotDailyActivity.day)}async function eb(e,n,i){let s=await e.select({botId:r.communityBotDailyActivity.botId,day:r.communityBotDailyActivity.day,handledCount:r.communityBotDailyActivity.handledCount,sentCount:r.communityBotDailyActivity.sentCount}).from(r.communityBotDailyActivity).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityBotDailyActivity.botId)).where((0,t.and)((0,t.eq)(a.user.ownerUserId,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt),(0,t.gte)(r.communityBotDailyActivity.day,i))).orderBy(r.communityBotDailyActivity.day),o=new Map;for(let e of s){let t=o.get(e.botId)??[];t.push({day:e.day,handledCount:e.handledCount,sentCount:e.sentCount}),o.set(e.botId,t)}return o}async function ew(e,n,i){let s=new Date().toISOString(),o=e.select({id:a.user.id}).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0))),u=e.update(a.user).set({deletedAt:s,updatedAt:s}).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).returning({id:a.user.id}),l=e.delete(r.communityServerMember).where((0,t.inArray)(r.communityServerMember.userId,o)),d=e.update(U.communityAgentRunnerKey).set({revokedAt:s}).where((0,t.and)((0,t.eq)(U.communityAgentRunnerKey.agentId,n),(0,t.isNull)(U.communityAgentRunnerKey.revokedAt),(0,t.inArray)(U.communityAgentRunnerKey.userId,o))),c=e.delete(U.communityBotBinding).where((0,t.inArray)(U.communityBotBinding.userId,o)),m=await e.batch([u,l,d,c]);return(Array.isArray(m?.[0])?m[0]:[]).length>0}async function e$(e,t){let n=await eo(e,t);if(n>0)throw new er(`user ${t} has ${n} live bots; delete them first`)}async function eS(e,n){return(await e.select().from(r.communityBotApprovalRequest).where((0,t.eq)(r.communityBotApprovalRequest.id,n)).limit(1))[0]??null}async function ek(e,n){return await e.select().from(r.communityBotApprovalRequest).where((0,t.and)((0,t.eq)(r.communityBotApprovalRequest.botId,n),(0,t.eq)(r.communityBotApprovalRequest.status,"pending")))}async function eA(e,n,i){return(await e.select().from(r.communityBotApprovalRequest).where((0,t.and)((0,t.eq)(r.communityBotApprovalRequest.botId,n),(0,t.eq)(r.communityBotApprovalRequest.serverId,i),(0,t.eq)(r.communityBotApprovalRequest.kind,"join_server"),(0,t.eq)(r.communityBotApprovalRequest.status,"pending"))).limit(1))[0]??null}async function ex(e,n,i){return(await e.update(r.communityBotApprovalRequest).set({status:i,resolvedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(r.communityBotApprovalRequest.id,n),(0,t.eq)(r.communityBotApprovalRequest.status,"pending"))).returning())[0]??null}async function eq(e,n){return(await e.select().from(r.communityBotApprovalRequest).where((0,t.eq)(r.communityBotApprovalRequest.dmMessageId,n)).limit(1))[0]??null}async function ez(e,n){return 0===n.length?[]:await e.select().from(r.communityBotApprovalRequest).where((0,t.inArray)(r.communityBotApprovalRequest.dmMessageId,n))}async function eT(e,n,i){let r=(await e.select({id:U.communityMachine.id,availableRuntimes:U.communityMachine.availableRuntimes}).from(U.communityMachine).where((0,t.and)((0,t.eq)(U.communityMachine.id,n),(0,t.eq)(U.communityMachine.userId,i))).limit(1))[0];if(!r)return null;let a=r.availableRuntimes??[],s=[];for(let e of a)if("string"==typeof e)e.length>0&&s.push({id:e});else if(e&&"object"==typeof e&&"string"==typeof e.id&&e.id.length>0){let t="unhealthy"===e.status?"unhealthy":"healthy"===e.status?"healthy":void 0;s.push({id:e.id,..."string"==typeof e.version?{version:e.version}:{},...t?{status:t}:{},..."string"==typeof e.lastError?{lastError:e.lastError}:{},..."string"==typeof e.lastErrorAt?{lastErrorAt:e.lastErrorAt}:{}})}return{id:r.id,availableRuntimes:s}}e.s(["OwnerHasBotsError",0,er,"assertNoLiveBots",0,e$,"bumpBotDailyActivityStatement",0,function(e,t,n,a){let s="handled"===a;return e.insert(r.communityBotDailyActivity).values({botId:t,day:n,handledCount:+!!s,sentCount:+!s}).onConflictDoUpdate({target:[r.communityBotDailyActivity.botId,r.communityBotDailyActivity.day],set:s?{handledCount:i.sql`${r.communityBotDailyActivity.handledCount} + 1`}:{sentCount:i.sql`${r.communityBotDailyActivity.sentCount} + 1`}})},"countLiveBotsForOwner",0,eo,"createApprovalRequestStatement",0,function(e,t){if("join_server"===t.kind&&!t.serverId)throw Error("createApprovalRequest: join_server requires serverId");return e.insert(r.communityBotApprovalRequest).values({botId:t.botId,kind:t.kind,serverId:t.serverId,requestedByUserId:t.requestedByUserId,dmMessageId:t.dmMessageId,status:"pending",createdAt:new Date().toISOString()})},"createBot",0,ef,"findPendingJoinRequest",0,eA,"findWakeCandidates",0,ed,"getApprovalRequest",0,eS,"getApprovalRequestByDmMessageId",0,eq,"getBotBinding",0,eu,"getBotBindingWithOwner",0,el,"getBotDailyActivity",0,e_,"getBotDailyActivityForOwner",0,eb,"getBotOwnedBy",0,es,"getBotWakeContext",0,ec,"getMachineForOwner",0,eT,"listApprovalRequestsByDmMessageIds",0,ez,"listBotServerMemberships",0,eg,"listBotsBoundToMachine",0,ep,"listBotsForMachine",0,em,"listBotsForOwner",0,ea,"listPendingApprovalsForBot",0,ek,"resolveApprovalRequest",0,ex,"softDeleteBot",0,ew,"touchBotRefreshContext",0,eI,"updateBot",0,eh,"updateBotModel",0,ey,"updateBotRuntime",0,ev],742964);var eC=e.i(794766),eM=e.i(714938);let eN={id:r.communityChannel.id,serverId:r.communityChannel.serverId,categoryId:r.communityChannel.categoryId,name:r.communityChannel.name,type:r.communityChannel.type,topic:r.communityChannel.topic,position:r.communityChannel.position,parentChannelId:r.communityChannel.parentChannelId,creatorId:r.communityChannel.creatorId,messageCount:r.communityChannel.messageCount,archived:r.communityChannel.archived,parentMessageId:r.communityChannel.parentMessageId,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt};async function eE(e,t){return(await e.insert(r.communityChannel).values({serverId:t.serverId,categoryId:t.categoryId||null,name:t.name,type:t.type??"text",topic:t.topic??"",parentChannelId:t.parentChannelId??null,creatorId:t.creatorId??null,parentMessageId:t.parentMessageId??null}).returning())[0]}async function eO(e,n){return(await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)))[0]||null}async function eD(e,n){let i=await e.select({type:r.communityChannel.type}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);return i[0]?.type??null}async function eP(e,n,i){let a=(await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1))[0];if(a&&(0,eM.visibilityIsDmParticipant)(a.type))return await e4(e,n,i,"access")?a:null;let s=(await e.select({...eN,memberRole:r.communityServerMember.role}).from(r.communityChannel).innerJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,i))).where((0,t.eq)(r.communityChannel.id,n)))[0];if(!s)return null;let{memberRole:o,...u}=s,l=u.parentChannelId??u.id,d=await e.select({creatorId:r.communityChannel.creatorId,categoryPrivate:r.communityCategory.private}).from(r.communityChannel).leftJoin(r.communityCategory,(0,t.eq)(r.communityCategory.id,r.communityChannel.categoryId)).where((0,t.eq)(r.communityChannel.id,l)).limit(1);if((d[0]?.categoryPrivate??0)===1){let t=d[0]?.creatorId===i,n=!t&&await e4(e,l,i);if(!(0,eM.canSeePrivateChannel)({isCreator:t,isChannelMember:n}))return null}return u}async function eU(e,n,i){return(await e.update(r.communityChannel).set(i).where((0,t.eq)(r.communityChannel.id,n)).returning())[0]??null}async function ej(e,n){return(await e.delete(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).returning())[0]??null}async function eZ(e,i){return await e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.serverId,i),(0,t.isNull)(r.communityChannel.parentChannelId))).orderBy((0,n.asc)(r.communityChannel.position))}async function eR(e,n,i,a){return await e.select(eN).from(r.communityChannel).innerJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,i))).where((0,t.and)((0,t.eq)(r.communityChannel.serverId,n),(0,t.eq)(r.communityChannel.name,a),(0,t.isNull)(r.communityChannel.parentChannelId)))}async function eL(e,n,i){return 0===(await e.select({role:r.communityServerMember.role}).from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(r.communityServerMember.userId,i))).limit(1)).length?[]:e5(e,n,i)}async function eB(e,n,i){return(await e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.parentMessageId,i))))[0]||null}async function eF(e,n,i,a){let[s,o]=await Promise.all([e.select({serverId:r.communityChannel.serverId,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)),e.select({content:r.communityMessage.content}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,i))]),u=s[0]?.serverId;if(!u)throw Error(`createThreadChannel: parent channel ${n} not found`);if(s[0]?.parentChannelId)throw Error(`createThreadChannel: cannot root a thread on child channel ${n}`);let l=o[0]?.content?.trim()??"",d=l.length>0?l.slice(0,40):"Thread",c=await e.insert(r.communityChannel).values({serverId:u,name:d,type:"thread",parentChannelId:n,parentMessageId:i,creatorId:a}).returning({id:r.communityChannel.id}),m=await eO(e,c[0].id);if(!m)throw Error(`createThreadChannel: failed to re-fetch created channel ${c[0].id}`);return m}async function eQ(e,i,a){let s=[(0,t.eq)(r.communityChannel.parentChannelId,i)];return a?.archived!==void 0&&s.push((0,t.eq)(r.communityChannel.archived,+!!a.archived)),a?.type&&s.push((0,t.eq)(r.communityChannel.type,a.type)),await e.select(eN).from(r.communityChannel).where((0,t.and)(...s)).orderBy((0,n.desc)(r.communityChannel.lastMessageAt))}async function eK(e,n,i){return 0===i.length?[]:(await Promise.all(s(i,88).map(i=>e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.inArray)(r.communityChannel.parentMessageId,i)))))).flat()}async function eJ(e,n,i){let a=i.map((n,i)=>e.update(r.communityChannel).set({position:i}).where((0,t.eq)(r.communityChannel.id,n)));a.length>0&&await e.batch(a)}async function eV(e,n){var a;return 0===n.length?new Map:new Map((await e.select({serverId:r.communityChannel.serverId,latestAt:(a=r.communityChannel.lastMessageAt,i.sql`max(${a})`.mapWith((0,D.is)(a,O.Column)?a:String))}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.serverId,n)).groupBy(r.communityChannel.serverId)).filter(e=>e.latestAt).map(e=>[e.serverId,e.latestAt]))}async function eW(e,n){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select(eN).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n))))).flat()}async function eH(e,n,i){return 0===i.length?[]:(await Promise.all(s(i,88).map(i=>e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.inArray)(r.communityChannel.id,i),(0,t.eq)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.type,"thread")))))).flat()}async function eG(e,n){let i=await e.select({id:r.communityChannel.id,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);if(0===i.length)return!1;let a=i[0].parentChannelId??i[0].id,s=await e.select({private:r.communityCategory.private}).from(r.communityChannel).leftJoin(r.communityCategory,(0,t.eq)(r.communityCategory.id,r.communityChannel.categoryId)).where((0,t.eq)(r.communityChannel.id,a)).limit(1);return(s[0]?.private??0)===1}async function eX(e,t){return(await e.insert(r.communityChannelMember).values({channelId:t.channelId,userId:t.userId,addedBy:t.addedBy??null,relation:t.relation??"access",source:t.source??eC.PARTICIPANT_SOURCE.ADDED}).onConflictDoNothing({target:[r.communityChannelMember.channelId,r.communityChannelMember.userId,r.communityChannelMember.relation]}).returning())[0]??null}async function eY(e,n,i,a="access"){return(await e.delete(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,a))).returning())[0]??null}async function e0(e,n,i){let a=e.delete(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"access"))).returning(),s=e.select({id:r.communityChannel.id}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.parentChannelId,n)),o=e.delete(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,s),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify")));return(await e.batch([a,o]))[0][0]??null}async function e1(e,i){return e.select({id:r.communityChannelMember.id,channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId,addedBy:r.communityChannelMember.addedBy,addedAt:r.communityChannelMember.addedAt}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,i),(0,t.eq)(r.communityChannelMember.relation,"access"))).orderBy((0,n.asc)(r.communityChannelMember.addedAt))}async function e6(e,n){return(await e.select({userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access")))).map(e=>e.userId)}async function e4(e,n,i,a="access"){return(await e.select({id:r.communityChannelMember.id}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,a))).limit(1)).length>0}async function e2(e,n){let i=await e.select({cnt:P()}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access")));return i[0]?.cnt??0}async function e9(e,n){let i=await e.select({cnt:P()}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.categoryId,n));return i[0]?.cnt??0}async function e3(e,n){let i=await e.select({id:r.communityChannel.id,serverId:r.communityChannel.serverId,creatorId:r.communityChannel.creatorId,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);if(0===i.length)return[];let a=new Set,s=i[0].parentChannelId??i[0].id,o=s===i[0].id?i[0].creatorId:(await e.select({creatorId:r.communityChannel.creatorId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,s)).limit(1))[0]?.creatorId;for(let t of(await e6(e,s)))a.add(t);return o&&a.add(o),[...a]}async function e5(e,i,a){let s=(0,t.and)((0,t.eq)(r.communityChannel.serverId,i),(0,t.isNull)(r.communityChannel.parentChannelId)),[o,u]=await Promise.all([e.select(eN).from(r.communityChannel).where(s).orderBy((0,n.asc)(r.communityChannel.position)),e7(e,a,{serverIds:[i]})]);return o.filter(e=>u.has(e.id))}async function e7(e,n,i){let a=new Set,{serverIds:s}=i;if(0===s.length)return a;let o=await e.select({id:r.communityChannel.id,type:r.communityChannel.type,categoryId:r.communityChannel.categoryId,categoryPrivate:r.communityCategory.private,creatorId:r.communityChannel.creatorId,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).leftJoin(r.communityCategory,(0,t.eq)(r.communityCategory.id,r.communityChannel.categoryId)).where((0,t.inArray)(r.communityChannel.serverId,s)),u=new Set((await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.inArray)(r.communityChannel.serverId,s)))).map(e=>e.channelId)),l=new Map(o.map(e=>[e.id,e])),d=e=>null!=e.categoryId&&1===e.categoryPrivate;for(let e of o)null==e.parentChannelId&&(!d(e)||e.creatorId===n||u.has(e.id))&&a.add(e.id);for(let e of o){if(null==e.parentChannelId)continue;let t=l.get(e.parentChannelId);t&&a.has(t.id)&&a.add(e.id)}return a}async function e8(e,t,n){return[...await e7(e,n,{serverIds:[t]})]}async function te(e,n){let i=await e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.userId,n));return 0===i.length?[]:[...await e7(e,n,{serverIds:i.map(e=>e.serverId)})]}async function tt(e,n,i){let a=await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);if(0===a.length)return null;let s=a[0],o=s.parentChannelId??s.id;if((0,eM.visibilityIsDmParticipant)(s.type))return await e4(e,s.id,i,"access")?{channel:s,anchor:s,role:"member",isPrivate:!0,isChannelMember:!0,isCreator:!1}:null;let u=await e.select({role:r.communityServerMember.role}).from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,s.serverId),(0,t.eq)(r.communityServerMember.userId,i))).limit(1);if(0===u.length)return null;let l=o===s.id?[a[0]]:await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,o)).limit(1);if(0===l.length)return null;let d=l[0],c=0;if(d.categoryId){let n=await e.select({private:r.communityCategory.private}).from(r.communityCategory).where((0,t.eq)(r.communityCategory.id,d.categoryId)).limit(1);c=n[0]?.private??0}let m=1===c&&await e4(e,o,i);return{channel:s,anchor:d,role:u[0].role,isPrivate:1===c,isChannelMember:m,isCreator:d.creatorId===i}}function tn(e,t){return e<t?-1:+(e>t)}e.s(["countChannelsInCategory",0,e9,"createChannel",0,eE,"createChannelMember",0,eX,"createThreadChannel",0,eF,"deleteChannel",0,ej,"deleteChannelMember",0,eY,"deleteChannelMemberAndChildParticipants",0,e0,"getChannel",0,eO,"getChannelForMember",0,eP,"getChannelMemberCount",0,e2,"getChannelType",0,eD,"getChannelsByIds",0,eW,"getDirectChildThreadsByIds",0,eH,"getPrivateChannelAudienceUserIds",0,e3,"getServersLastActivity",0,eV,"getThreadChannelByParentMessage",0,eB,"isChannelMember",0,e4,"isChannelPrivate",0,eG,"listChannelMemberUserIds",0,e6,"listChannelMembers",0,e1,"listChannelsForMember",0,eL,"listChildChannels",0,eQ,"listChildChannelsByParentMessageIds",0,eK,"listServerChannels",0,eZ,"listServerChannelsForViewer",0,e5,"listVisibleChannelIds",0,e8,"listVisibleChannelIdsForUser",0,te,"reorderChannels",0,eJ,"resolveChannelAccessContext",0,tt,"resolveChannelByNameForMember",0,eR,"updateChannel",0,eU],496543);let ti=[r.communityChannelMember.channelId,r.communityChannelMember.userId,r.communityChannelMember.relation];async function tr(e,t){return(await e.insert(r.communityChannelMember).values({channelId:t.threadChannelId,userId:t.userId,relation:"notify",source:t.source}).onConflictDoNothing({target:[...ti]}).returning())[0]??null}async function ta(e,t,n){if(0===n.length)return[];let i=[];for(let a of s(n,o(6)))for(let n of(await e.insert(r.communityChannelMember).values(a.map(e=>({channelId:t,userId:e.userId,relation:"notify",source:e.source}))).onConflictDoNothing({target:[...ti]}).returning({userId:r.communityChannelMember.userId})))i.push(n.userId);return i}async function ts(e,n){return(await e.select({userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"notify")))).map(e=>e.userId)}async function to(e,n){return e.select({userId:r.communityChannelMember.userId,source:r.communityChannelMember.source,addedAt:r.communityChannelMember.addedAt,userName:a.user.name,userImage:a.user.image,discriminator:a.user.discriminator}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"notify")))}async function tu(e,o,u){if(0===o.length)return[];let l=s([...new Set(o)],90);return void 0!==u?(await Promise.all(l.map(s=>{let o=e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId,addedAt:r.communityChannelMember.addedAt,userName:a.user.name,userImage:a.user.image,participantCount:i.sql`count(*) over (partition by ${r.communityChannelMember.channelId})`.as("participant_count"),rank:i.sql`row_number() over (partition by ${r.communityChannelMember.channelId} order by ${r.communityChannelMember.addedAt}, ${r.communityChannelMember.userId})`.as("participant_rank")}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,s),(0,t.eq)(r.communityChannelMember.relation,"notify"))).as("ranked_participants");return e.select({channelId:o.channelId,userId:o.userId,addedAt:o.addedAt,userName:o.userName,userImage:o.userImage,participantCount:o.participantCount}).from(o).where((0,t.lte)(o.rank,u)).orderBy((0,n.asc)(o.channelId),(0,n.asc)(o.addedAt),(0,n.asc)(o.userId))}))).flat().sort((e,t)=>tn(e.channelId,t.channelId)||tn(e.addedAt,t.addedAt)||tn(e.userId,t.userId)):(await Promise.all(l.map(n=>e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId,addedAt:r.communityChannelMember.addedAt,userName:a.user.name,userImage:a.user.image}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"notify")))))).flat()}async function tl(e,n,i){return(await e.select({id:r.communityChannelMember.id}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify"))).limit(1)).length>0}async function td(e,n,i){return(await e.delete(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify"))).returning())[0]??null}async function tc(e,n,i){let a=(await e.select({id:r.communityChannel.id}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.parentChannelId,n))).map(e=>e.id);return 0===a.length?0:(await e.delete(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,a),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify"))).returning()).length}async function tm(e,n,i){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify")))))).flat().map(e=>e.channelId)}async function tg(e,a){let s=i.sql`coalesce(${r.communityChannel.lastMessageAt}, ${r.communityChannel.createdAt})`,o=[(0,t.eq)(r.communityChannel.parentChannelId,a.parentChannelId),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.eq)(r.communityChannel.archived,0),(0,t.isNotNull)(r.communityChannel.parentMessageId)];a.cursor&&o.push((0,t.or)((0,t.lt)(s,a.cursor.activityAt),(0,t.and)((0,t.eq)(s,a.cursor.activityAt),(0,t.lt)(r.communityChannel.id,a.cursor.id))));let u={id:r.communityChannel.id,serverId:r.communityChannel.serverId,categoryId:r.communityChannel.categoryId,name:r.communityChannel.name,type:r.communityChannel.type,topic:r.communityChannel.topic,position:r.communityChannel.position,parentChannelId:r.communityChannel.parentChannelId,creatorId:r.communityChannel.creatorId,messageCount:r.communityChannel.messageCount,archived:r.communityChannel.archived,parentMessageId:r.communityChannel.parentMessageId,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt,activityAt:s.as("activity_at")};return a.tag?e.select(u).from(r.communityChannel).innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityChannel.parentMessageId),(0,t.eq)(r.communityMessageTag.tag,a.tag))).where((0,t.and)(...o)).orderBy((0,n.desc)(s),(0,n.desc)(r.communityChannel.id)).limit(a.limit):e.select(u).from(r.communityChannel).where((0,t.and)(...o)).orderBy((0,n.desc)(s),(0,n.desc)(r.communityChannel.id)).limit(a.limit)}async function tp(e,a){let o=[...new Set(a.parentChannelIds)];if(0===o.length||a.limitPerParent<1)return{canonical:[],retained:null};let u=i.sql`coalesce(${r.communityChannel.lastMessageAt}, ${r.communityChannel.createdAt})`,l={id:r.communityChannel.id,serverId:r.communityChannel.serverId,categoryId:r.communityChannel.categoryId,name:r.communityChannel.name,type:r.communityChannel.type,topic:r.communityChannel.topic,position:r.communityChannel.position,parentChannelId:r.communityChannel.parentChannelId,creatorId:r.communityChannel.creatorId,messageCount:r.communityChannel.messageCount,archived:r.communityChannel.archived,parentMessageId:r.communityChannel.parentMessageId,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt,activityAt:u.as("activity_at")},d=(await Promise.all(s(o,90).map(s=>{let o=e.select({...l,rank:i.sql`row_number() over (partition by ${r.communityChannel.parentChannelId} order by ${u} desc, ${r.communityChannel.id} desc)`.as("sidebar_rank")}).from(r.communityChannel).innerJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityChannel.id),(0,t.eq)(r.communityChannelMember.userId,a.userId),(0,t.eq)(r.communityChannelMember.relation,"notify"))).where((0,t.and)((0,t.inArray)(r.communityChannel.parentChannelId,s),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.eq)(r.communityChannel.archived,0),(0,t.isNotNull)(r.communityChannel.parentMessageId),(0,t.gt)(u,a.activeAfter))).as("ranked_sidebar_threads");return e.select({id:o.id,serverId:o.serverId,categoryId:o.categoryId,name:o.name,type:o.type,topic:o.topic,position:o.position,parentChannelId:o.parentChannelId,creatorId:o.creatorId,messageCount:o.messageCount,archived:o.archived,parentMessageId:o.parentMessageId,lastMessageAt:o.lastMessageAt,createdAt:o.createdAt,activityAt:o.activityAt}).from(o).where((0,t.lte)(o.rank,a.limitPerParent)).orderBy((0,n.asc)(o.parentChannelId),(0,n.desc)(o.activityAt),(0,n.desc)(o.id))}))).flat(),c=null;return a.retainId&&(c=(await Promise.all(s(o,90).map(n=>e.select(l).from(r.communityChannel).innerJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityChannel.id),(0,t.eq)(r.communityChannelMember.userId,a.userId),(0,t.eq)(r.communityChannelMember.relation,"notify"))).where((0,t.and)((0,t.eq)(r.communityChannel.id,a.retainId),(0,t.inArray)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.eq)(r.communityChannel.archived,0),(0,t.isNotNull)(r.communityChannel.parentMessageId))).limit(1)))).flat()[0]??null),{canonical:d.sort((e,t)=>tn(e.parentChannelId??"",t.parentChannelId??"")||tn(t.activityAt,e.activityAt)||tn(t.id,e.id)),retained:c}}async function tf(e,t){return(await e.insert(r.communityServerMember).values({serverId:t.serverId,userId:t.userId,role:t.role??"member"}).returning())[0]}async function th(e,n){return(await e.delete(r.communityServerMember).where((0,t.eq)(r.communityServerMember.id,n)).returning())[0]??null}async function ty(e,n,i,a){let s=e.delete(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.id,n),(0,t.eq)(r.communityServerMember.serverId,i))).returning(),o=tM(e,i,a);return(await e.batch([s,o]))[0][0]??null}async function tv(e,n,i){return(await e.update(r.communityServerMember).set({role:i}).where((0,t.eq)(r.communityServerMember.id,n)).returning())[0]??null}async function tI(e,n){return e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,userIsBot:a.user.isBot,userOwnerUserId:a.user.ownerUserId,discriminator:a.user.discriminator}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.isNull)(a.user.deletedAt)))}async function t_(e,n,i){return 0===i.length?[]:e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,userIsBot:a.user.isBot,userOwnerUserId:a.user.ownerUserId,discriminator:a.user.discriminator,statusEmoji:r.communityUserProfile.statusEmoji,statusText:r.communityUserProfile.statusText}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.inArray)(r.communityServerMember.userId,i),(0,t.isNull)(a.user.deletedAt)))}async function tb(e,n,i,a){await e.update(r.communityServerMember).set({railOrder:a}).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(r.communityServerMember.userId,i)))}async function tw(e,n,i){if(0===i.length)return;let a=i.map((i,a)=>e.update(r.communityServerMember).set({railOrder:a}).where((0,t.and)((0,t.eq)(r.communityServerMember.userId,n),(0,t.eq)(r.communityServerMember.serverId,i))));await e.batch(a)}async function t$(e,n){return(await e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.userId,n))).map(e=>e.serverId)}async function tS(e,n){return(await e.select({userId:r.communityServerMember.userId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.serverId,n))).map(e=>e.userId)}async function tk(e,n){let i=await e.select({cnt:P()}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.serverId,n));return i[0]?.cnt??0}async function tA(e,i,s){let o=Math.max(1,Math.min(s.limit??eC.DEFAULT_MEMBERS_PAGE_SIZE,eC.MAX_MEMBERS_PAGE_SIZE)),u=[(0,t.eq)(r.communityServerMember.serverId,i)];s.cursor&&u.push((0,t.or)((0,t.gt)(r.communityServerMember.joinedAt,s.cursor.joinedAt),(0,t.and)((0,t.eq)(r.communityServerMember.joinedAt,s.cursor.joinedAt),(0,t.gt)(r.communityServerMember.id,s.cursor.id)))),u.push((0,t.isNull)(a.user.deletedAt));let l=await e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,userIsBot:a.user.isBot,userOwnerUserId:a.user.ownerUserId,discriminator:a.user.discriminator,statusEmoji:r.communityUserProfile.statusEmoji,statusText:r.communityUserProfile.statusText}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)(...u)).orderBy((0,n.asc)(r.communityServerMember.joinedAt),(0,n.asc)(r.communityServerMember.id)).limit(o+1),d=l.length>o,c=d?l.slice(0,o):l,m=c[c.length-1],g=d&&m?{joinedAt:m.joinedAt,id:m.id}:void 0;return{members:c,hasMore:d,cursor:g}}async function tx(e,i,s,o){let u=Math.max(1,Math.min(o?.limit??eC.MAX_MEMBERS_PAGE_SIZE,eC.MAX_MEMBERS_PAGE_SIZE)),l=`${R(s)}%`;return e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,discriminator:a.user.discriminator,statusEmoji:r.communityUserProfile.statusEmoji,statusText:r.communityUserProfile.statusText}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,i),(0,t.or)((0,t.like)(a.user.name,l),(0,t.like)(a.user.email,l)))).orderBy((0,n.asc)(a.user.name),(0,n.asc)(r.communityServerMember.id)).limit(u)}async function tq(e,n,i){return(await e.select().from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(r.communityServerMember.userId,i))))[0]??null}async function tz(e,n,i){return(await e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.id,n),(0,t.eq)(r.communityServerMember.serverId,i.serverId))))[0]??null}async function tT(e,n,i){return 0===i.length?[]:e.select().from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.userId,n),(0,t.inArray)(r.communityServerMember.serverId,i)))}async function tC(e,n,i){return(await e.select({id:a.user.id}).from(a.user).innerJoin(r.communityServerMember,(0,t.eq)(r.communityServerMember.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))).map(e=>e.id)}function tM(e,n,a){return 0===a.length?e.delete(r.communityServerMember).where(i.sql`1 = 0`):e.delete(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.inArray)(r.communityServerMember.userId,a)))}async function tN(e,t,n){await tM(e,t,n)}async function tE(e,t,n){let i=await tt(e,n.channelId,t);return!!i&&("dm"===i.channel.type||!!(!i.isPrivate||(0,eM.canSeePrivateChannel)({role:i.role,isCreator:i.isCreator,isChannelMember:i.isChannelMember}))&&(!(0,eM.reachIsParticipantSet)(i.channel.type)||tl(e,n.channelId,t)))}async function tO(e,n){let i=e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.userId,n));return(await e.selectDistinct({userId:r.communityServerMember.userId}).from(r.communityServerMember).where((0,t.and)((0,t.inArray)(r.communityServerMember.serverId,i),(0,t.ne)(r.communityServerMember.userId,n)))).map(e=>e.userId)}async function tD(e,n,i){let a=(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannel.type,"dm"),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannelMember.userId,n)))).map(e=>e.channelId);if(0===a.length)return null;let s=await e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,a),(0,t.eq)(r.communityChannelMember.relation,"access"))),o=new Map;for(let e of s){let t=o.get(e.channelId);t||(t=new Set,o.set(e.channelId,t)),t.add(e.userId)}for(let[e,t]of o)if(2===t.size&&t.has(n)&&t.has(i))return e;return null}async function tP(e,n){let i=await tD(e,n.userId1,n.userId2);if(i)return(await e.select().from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,i)))[0];let a=(await e.insert(r.communityChannel).values({type:"dm",serverId:null,name:null,topic:""}).returning())[0],s=new Date().toISOString();return await e.insert(r.communityChannelMember).values([{channelId:a.id,userId:n.userId1,relation:"access",source:eC.PARTICIPANT_SOURCE.ADDED,addedAt:s},{channelId:a.id,userId:n.userId2,relation:"access",source:eC.PARTICIPANT_SOURCE.ADDED,addedAt:s}]),a}async function tU(e,n){return(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.channelId)}async function tj(e,i){let s=(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.channelId);if(0===s.length)return[];let o=await e.select({id:r.communityChannel.id,otherUserId:a.user.id,otherUserName:a.user.name,otherUserEmail:a.user.email,otherUserImage:a.user.image,otherUserDiscriminator:a.user.discriminator,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt}).from(r.communityChannel).innerJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityChannel.id),(0,t.eq)(r.communityChannelMember.relation,"access"))).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.inArray)(r.communityChannel.id,s),(0,t.isNull)(a.user.deletedAt))).orderBy((0,n.desc)(r.communityChannel.lastMessageAt)),u=new Set,l=[];for(let e of o)e.otherUserId!==i&&(u.has(e.otherUserId)||(u.add(e.otherUserId),l.push(e)));return l.sort((e,t)=>{let n=e.lastMessageAt??e.createdAt;return(t.lastMessageAt??t.createdAt).localeCompare(n)})}async function tZ(e,n){return(await e.select().from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.id,n),(0,t.eq)(r.communityChannel.type,"dm"))))[0]??null}async function tR(e,n,i){let a=await tD(e,n,i);return a?(await e.select().from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,a)))[0]??null:null}async function tL(e,n,i){let a=(await e.select({userId:r.communityChannelMember.userId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.userId);if(!a.includes(i))return null;let s=a.find(e=>e!==i);return s?{otherUserId:s}:null}function tB(e,t){let{userId:n,channelId:a,message:s}=t;return e.insert(r.communityReadState).values({userId:n,channelId:a,lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:s.seq}).onConflictDoUpdate({target:[r.communityReadState.userId,r.communityReadState.channelId],set:{lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:s.seq},setWhere:i.sql`${r.communityReadState.lastReadAt} < ${s.createdAt}`})}async function tF(e,t){await tB(e,t)}async function tQ(e,n,i){if(0===i.length)return 0;let a=await w(e,i);if(0===a.length)return 0;let u=a.map(e=>e.channelId),l=(await Promise.all(s(u,90).map(i=>e.select({id:r.communityReadState.id,channelId:r.communityReadState.channelId}).from(r.communityReadState).where((0,t.and)((0,t.eq)(r.communityReadState.userId,n),(0,t.inArray)(r.communityReadState.channelId,i)))))).flat(),d=new Map;for(let e of l)e.channelId&&d.set(e.channelId,e.id);let c=[],m=[];for(let e of a){let t=d.get(e.channelId);t?c.push({id:t,channelId:e.channelId,msgId:e.id,createdAt:e.createdAt,seq:e.seq}):m.push({channelId:e.channelId,msgId:e.id,createdAt:e.createdAt,seq:e.seq})}for(let n of c)await e.update(r.communityReadState).set({lastReadAt:n.createdAt,lastReadMessageId:n.msgId,lastReadSeq:n.seq}).where((0,t.and)((0,t.eq)(r.communityReadState.id,n.id),(0,t.lt)(r.communityReadState.lastReadAt,n.createdAt)));if(m.length>0)for(let t of s(m,o(6)))await e.insert(r.communityReadState).values(t.map(e=>({userId:n,channelId:e.channelId,lastReadAt:e.createdAt,lastReadMessageId:e.msgId,lastReadSeq:e.seq})));return a.length}async function tK(e,t){let n=(await tj(e,t)).map(e=>e.id);return 0===n.length?0:tQ(e,t,n)}async function tJ(e,t,n,a){let s=await S(e,n,a);if(!s)return null;let o=await tV(e,{userId:t,...n});return o&&o.lastReadSeq>=a&&o.lastReadMessageId?{id:o.lastReadMessageId,createdAt:o.lastReadAt,seq:o.lastReadSeq}:(await e.insert(r.communityReadState).values({userId:t,channelId:n.channelId,lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:a}).onConflictDoUpdate({target:[r.communityReadState.userId,r.communityReadState.channelId],set:{lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:a},setWhere:i.sql`${r.communityReadState.lastReadSeq} < ${a}`}),{id:s.id,createdAt:s.createdAt,seq:a})}async function tV(e,n){return(await e.select().from(r.communityReadState).where((0,t.and)((0,t.eq)(r.communityReadState.userId,n.userId),(0,t.eq)(r.communityReadState.channelId,n.channelId))))[0]??null}async function tW(e,t,n){let i=await tV(e,{userId:t,...n});return i?.lastReadSeq??0}e.s(["addThreadParticipant",0,tr,"addThreadParticipants",0,ta,"isThreadParticipant",0,tl,"listForumThreadsByActivity",0,tg,"listParticipantsForChannels",0,tu,"listParticipatingForumThreads",0,tp,"listParticipatingThreadIds",0,tm,"listThreadParticipantUserIds",0,ts,"listThreadParticipants",0,to,"removeParticipantFromChildChannels",0,tc,"removeThreadParticipant",0,td],643181),e.s(["addMember",0,tf,"bulkUpdateRailOrder",0,tw,"canBotReadWakeScope",0,tE,"countMembers",0,tk,"getCoMemberUserIds",0,tO,"getMember",0,tq,"getMemberById",0,tz,"getMembersByUserIds",0,t_,"getMemberships",0,tT,"listMemberServerIds",0,t$,"listMemberUserIds",0,tS,"listMembers",0,tI,"listMembersPaginated",0,tA,"listOwnerBotsInServer",0,tC,"removeMember",0,th,"removeMemberAndOwnerBots",0,ty,"removeOwnerBotsFromServer",0,tN,"removeOwnerBotsFromServerStatement",0,tM,"searchMembers",0,tx,"updateRailOrder",0,tb,"updateRole",0,tv],249377),e.s(["createOrGetDM",0,tP,"getDM",0,tZ,"getDMBetween",0,tR,"getDMPeer",0,tL,"listDMs",0,tj,"listDmChannelIdsForUser",0,tU],729051),e.s(["bumpReadCursor",0,tJ,"getReadState",0,tV,"getWakeReadSeq",0,tW,"markAllDmsRead",0,tK,"markAllServerChannelsRead",0,tQ,"markReadToMessage",0,tF,"markReadToMessageBuilder",0,tB],826015);var tH=e.i(626414),tG=e.i(837200);let tX={id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,replyToId:r.communityMessage.replyToId};async function tY(e,n,i){let o=[...new Set(n.map(e=>e.channelId))];if(0===o.length)return new Map;let u=(await Promise.all(s(o,90).map(n=>(0,tG.withD1Retry)(()=>e.select({id:r.communityChannel.id,name:r.communityChannel.name,type:r.communityChannel.type,serverId:r.communityChannel.serverId,parentChannelId:r.communityChannel.parentChannelId,parentMessageId:r.communityChannel.parentMessageId}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n)),{route:"community/agent-inbox:scope-channels"})))).flat(),l=u.filter(e=>"dm"===e.type).map(e=>e.id),d=l.length?(await Promise.all(s(l,90).map(n=>(0,tG.withD1Retry)(()=>e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.ne)(r.communityChannelMember.userId,i))),{route:"community/agent-inbox:dm-members"})))).flat():[],c=new Map;for(let e of d)c.has(e.channelId)||c.set(e.channelId,e.userId);let m=[...new Set([...c.values()])],g=new Map((m.length?(await Promise.all(s(m,90).map(n=>(0,tG.withD1Retry)(()=>e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator}).from(a.user).where((0,t.inArray)(a.user.id,n)),{route:"community/agent-inbox:dm-peers"})))).flat():[]).map(e=>[e.id,e])),p=[...new Set(u.map(e=>e.parentChannelId).filter(e=>!!e))],f=[...new Set(u.map(e=>e.parentMessageId).filter(e=>!!e))],h=[...new Set(u.map(e=>e.serverId).filter(e=>!!e))],y=(e,t)=>e.length?Promise.all(s(e,90).map(e=>(0,tG.withD1Retry)(()=>t(e),{route:"community/agent-inbox:scope-context"}))).then(e=>e.flat()):Promise.resolve([]),[v,I,_]=await Promise.all([y(p,n=>e.select({id:r.communityChannel.id,name:r.communityChannel.name}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n))),y(h,n=>e.select({id:r.communityServer.id,name:r.communityServer.name,discriminator:r.communityServer.discriminator}).from(r.communityServer).where((0,t.inArray)(r.communityServer.id,n))),y(f,n=>e.select({id:r.communityMessage.id,seq:r.communityMessage.seq}).from(r.communityMessage).where((0,t.inArray)(r.communityMessage.id,n)))]),b=new Map(v.map(e=>[e.id,e])),w=new Map(I.map(e=>[e.id,(0,L.formatHandle)(e.name,e.discriminator)])),$=new Map(_.map(e=>[e.id,e.seq])),S=new Map;for(let e of u){let t,n=e.type??"text",i="dm"===n;if(i){let n=c.get(e.id),i=n?g.get(n):void 0;if(!i)throw Error("DM peer identity unavailable");t=(0,L.formatHandle)(i.name,i.discriminator)}let r=e.serverId?w.get(e.serverId):void 0,a=e.parentChannelId?b.get(e.parentChannelId):void 0,s=e.parentMessageId?$.get(e.parentMessageId):void 0,o=e.parentChannelId&&e.parentMessageId&&a&&void 0!==s?"thread":n,u=(0,tH.formatCanonicalRef)({type:o,serverHandle:r,name:e.name,parentName:a?.name,rootSeq:s,peerSegment:t});if(null===u)throw Error("Channel identity unavailable");S.set(e.id,{ref:u,isThread:"thread"===o,isDm:i})}return S}function t0(e){return e.channelId}async function t1(e,n,i,r){if(0===n.length)return[];let o=[...new Set(n.map(e=>e.authorId))],[u,l,d]=await Promise.all([tY(e,n,i),Promise.all(s(o,90).map(n=>e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator}).from(a.user).where((0,t.inArray)(a.user.id,n)))).then(e=>e.flat()),t6(e,n)]),c=new Map(l.map(e=>[e.id,e]));return n.map(e=>{let t=u.get(t0(e));if(!t)throw Error("Channel identity unavailable");let n=t.ref,i=c.get(e.authorId),a=i?`@${(0,L.formatHandle)(i.name,i.discriminator)}`:"Unknown user",s=r?.get(e.id),o={text:e.content};s&&s.length>0&&(o.attachments=s);let l=e.replyToId?d.get(e.replyToId):void 0;return l&&(o.replyTo=l),{seq:(0,tH.formatSeq)(e.seq),channel:n,sender:a,content:o,time:e.createdAt}})}async function t6(e,t){let n=new Map;for(let e of t){if(!e.replyToId)continue;let t={channelId:e.channelId},i=t0(e),r=n.get(i);r||(r={scope:t,ids:new Set},n.set(i,r)),r.ids.add(e.replyToId)}if(0===n.size)return new Map;let i=await Promise.all([...n.values()].map(t=>N(e,[...t.ids],t.scope))),r=new Map;for(let e of i)for(let t of e)t.seq<=0||r.set(t.id,{seq:(0,tH.formatSeq)(t.seq),sender:`@${(0,L.formatHandle)(t.authorName,t.discriminator)}`});return r}async function t4(e,n,i){let s=(await e.select({id:r.communityChannel.id,name:r.communityChannel.name,type:r.communityChannel.type,serverId:r.communityChannel.serverId,parentChannelId:r.communityChannel.parentChannelId,parentMessageId:r.communityChannel.parentMessageId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n.channelId)).limit(1))[0];if(!s)return null;let o=s.type??"text";if("dm"===o){let n=(await e.select({name:a.user.name,discriminator:a.user.discriminator}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,s.id),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.ne)(r.communityChannelMember.userId,i))).limit(1))[0];return n?(0,tH.formatCanonicalRef)({type:"dm",peerSegment:(0,L.formatHandle)(n.name,n.discriminator)}):null}if(s.parentChannelId&&s.parentMessageId){let[n,i]=await Promise.all([e.select({name:r.communityChannel.name,serverId:r.communityChannel.serverId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,s.parentChannelId)).limit(1),e.select({seq:r.communityMessage.seq}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,s.parentMessageId)).limit(1)]),a=n[0],o=i[0];if(!a||!o||!a.serverId)return null;let u=await t2(e,a.serverId);return u?(0,tH.formatCanonicalRef)({type:"thread",serverHandle:u,parentName:a.name,rootSeq:o.seq}):null}if(!s.serverId)return null;let u=await t2(e,s.serverId);return u?(0,tH.formatCanonicalRef)({type:o,serverHandle:u,name:s.name??void 0}):null}async function t2(e,n){let i=await e.select({name:r.communityServer.name,discriminator:r.communityServer.discriminator}).from(r.communityServer).where((0,t.eq)(r.communityServer.id,n)).limit(1);return i[0]?(0,L.formatHandle)(i[0].name,i[0].discriminator):null}async function t9(e,t,n,i){let r=i&&i.length>0?new Map([[t.id,i]]):void 0,[a]=await t1(e,[t],n,r);return a}async function t3(e,n){let i=await e.select({nextSeq:r.communityMessageSeq.nextSeq}).from(r.communityMessageSeq).where((0,t.eq)(r.communityMessageSeq.channelId,n));return i[0]?.nextSeq??0}async function t5(e,n){let i=await te(e,n),a=(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.channelId);if(0===i.length)return a;let o=(await Promise.all(s(i,90).map(n=>e.select({id:r.communityChannel.id,type:r.communityChannel.type}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n))))).flat().filter(e=>(0,eM.reachIsParticipantSet)(e.type)).map(e=>e.id),u=o.length>0?new Set(await tm(e,o,n)):new Set,l=new Set(o);return[...i.filter(e=>!l.has(e)||u.has(e)),...a]}let t7=i.sql`${r.communityMessage.createdAt} > COALESCE(${r.communityChannelMember.addedAt}, ${r.communityServerMember.joinedAt}, '')`;async function t8(e,a,o){let u=await t5(e,a);if(0===u.length)return[];let l=(await Promise.all(s(u,90).map(s=>e.select({...tX,lastReadSeq:i.sql`COALESCE(${r.communityReadState.lastReadSeq}, 0)`}).from(r.communityMessage).leftJoin(r.communityReadState,(0,t.and)((0,t.eq)(r.communityReadState.userId,a),(0,t.eq)(r.communityReadState.channelId,r.communityMessage.channelId))).leftJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityMessage.channelId)).leftJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityMessage.channelId),(0,t.eq)(r.communityChannelMember.userId,a),(0,t.eq)(r.communityChannelMember.relation,"access"))).leftJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,a))).where((0,t.and)((0,t.ne)(r.communityMessage.authorId,a),i.sql`${r.communityMessage.seq} > COALESCE(${r.communityReadState.lastReadSeq}, 0)`,(0,t.inArray)(r.communityMessage.channelId,s),t7)).orderBy((0,n.asc)(r.communityMessage.channelId),(0,n.asc)(r.communityMessage.seq)).limit(o.max)))).flat();return l.sort((e,t)=>e.channelId===t.channelId?e.seq-t.seq:e.channelId<t.channelId?-1:1),l.slice(0,o.max).map(({lastReadSeq:e,...t})=>t)}async function ne(e,n,i,a){let s=await e.select({type:r.communityChannel.type}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,i)).limit(1),o=s[0]?.type;return(!(0,eM.reachIsParticipantSet)(o)||0!==(await tm(e,[i],n)).length)&&(await e.select({seq:r.communityMessage.seq}).from(r.communityMessage).leftJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityMessage.channelId)).leftJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityMessage.channelId),(0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"))).leftJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,n))).where((0,t.and)((0,t.eq)(r.communityMessage.channelId,i),(0,t.ne)(r.communityMessage.authorId,n),(0,t.gt)(r.communityMessage.seq,a),t7)).limit(1)).length>0}async function nt(e,n){let o=await t5(e,n);if(0===o.length)return[];let u=(await Promise.all(s(o,90).map(a=>e.select({channelId:r.communityMessage.channelId,pendingCount:i.sql`COUNT(*)`,firstPendingSeq:i.sql`MIN(${r.communityMessage.seq})`,latestSeq:i.sql`MAX(${r.communityMessage.seq})`,latestSenderId:i.sql`(SELECT author_id FROM community_message m2
74
+ `;await t.run(r);let a=(await t.values(y.sql`SELECT id, hash, created_at FROM ${y.sql.identifier(i)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async t=>{for(let n of e)if(!a||Number(a[2])<n.folderMillis){for(let e of n.sql)await t.run(y.sql.raw(e));await t.run(y.sql`INSERT INTO ${y.sql.identifier(i)} ("hash", "created_at") VALUES(${n.hash}, ${n.folderMillis})`)}})}}class ev{static [t.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class eI{static [t.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}function e_(e){return(0,t.is)(e,em.SQLiteTable)?[`${e[a.Table.Symbol.BaseName]}`]:(0,t.is)(e,ei.Subquery)?e._.usedTables??[]:(0,t.is)(e,y.SQL)?e.usedTables??[]:[]}t.entityKind,t.entityKind,e.i(203798),e.i(108732),e.i(166083),e.i(82393);class eb{static [t.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let n,i=!!this.fields;return n=this.fields?this.fields:(0,t.is)(e,ei.Subquery)?Object.fromEntries(Object.keys(e._.selectedFields).map(t=>[t,e[t]])):(0,t.is)(e,ep)?e[er.ViewBaseConfig].selectedFields:(0,t.is)(e,y.SQL)?{}:(0,u.getTableColumns)(e),new e$({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class ew extends ev{static [t.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:i,dialect:r,withList:a,distinct:s}){for(const o of(super(),this.config={withList:a,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=n,this.session=i,this.dialect=r,this._={selectedFields:t,config:this.config},this.tableName=(0,u.getTableLikeName)(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},e_(e)))this.usedTables.add(o)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(n,i)=>{let r=this.tableName,s=(0,u.getTableLikeName)(n);for(let e of e_(n))this.usedTables.add(e);if("string"==typeof s&&this.config.joins?.some(e=>e.alias===s))throw Error(`Alias "${s}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof r&&(this.config.fields={[r]:this.config.fields}),"string"==typeof s&&!(0,t.is)(n,y.SQL))){let e=(0,t.is)(n,ei.Subquery)?n._.selectedFields:(0,t.is)(n,y.View)?n[er.ViewBaseConfig].selectedFields:n[a.Table.Symbol.Columns];this.config.fields[s]=e}if("function"==typeof i&&(i=i(new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:i,table:n,joinType:e,alias:s}),"string"==typeof s)switch(e){case"left":this.joinsNotNullableMap[s]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[s]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return n=>{let i="function"==typeof n?n(ek()):n;if(!(0,u.haveSameKeys)(this.getSelectedFields(),i.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:i}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...e_(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...e_(e.table));return new Proxy(new ei.Subquery(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new ea({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new ea({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class e$ extends ew{static [t.entityKind]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=(0,u.orderSelectedFields)(this.config.fields),n=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.all()}}function eS(e,t){return(n,i,...r)=>{let a=[i,...r].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!(0,u.haveSameKeys)(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(a)}}(0,u.applyMixins)(e$,[eI]);let ek=()=>({union:eA,unionAll:ex,intersect:eq,except:ez}),eA=eS("union",!1),ex=eS("union",!0),eq=eS("intersect",!1),ez=eS("except",!1);class eT{static [t.entityKind]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=(0,t.is)(e,ef)?e:void 0,this.dialectConfig=(0,t.is)(e,ef)?void 0:e}$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(n)),new Proxy(new ei.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new ea({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let t=this;return{select:function(n){return new eb({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})},selectDistinct:function(n){return new eb({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}}}select(e){return new eb({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new eb({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new eh(this.dialectConfig)),this.dialect}}class eC extends eI{constructor(e,t,n,i){super(),this.table=e,this.session=t,this.dialect=n,this.config={table:e,withList:i}}static [t.entityKind]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.table[em.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:e_(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}class eM{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteInsertBuilder";values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let n=e.map(e=>{let n={},i=this.table[a.Table.Symbol.Columns];for(let r of Object.keys(e)){let a=e[r];n[r]=(0,t.is)(a,y.SQL)?a:new y.Param(a,i[r])}return n});return new eN(this.table,n,this.session,this.dialect,this.withList)}select(e){let n="function"==typeof e?e(new eT):e;if(!(0,t.is)(n,y.SQL)&&!(0,u.haveSameKeys)(this.table[a.Columns],n._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new eN(this.table,n,this.session,this.dialect,this.withList,!0)}}class eN extends eI{constructor(e,t,n,i,r,a){super(),this.session=n,this.dialect=i,this.config={table:e,values:t,withList:r,select:a}}static [t.entityKind]="SQLiteInsert";config;returning(e=this.config.table[em.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}onConflictDoNothing(e={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===e.target)this.config.onConflict.push(y.sql` on conflict do nothing`);else{let t=Array.isArray(e.target)?y.sql`${e.target}`:y.sql`${[e.target]}`,n=e.where?y.sql` where ${e.where}`:y.sql``;this.config.onConflict.push(y.sql` on conflict ${t} do nothing${n}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let t=e.where?y.sql` where ${e.where}`:void 0,n=e.targetWhere?y.sql` where ${e.targetWhere}`:void 0,i=e.setWhere?y.sql` where ${e.setWhere}`:void 0,r=Array.isArray(e.target)?y.sql`${e.target}`:y.sql`${[e.target]}`,a=this.dialect.buildUpdateSet(this.config.table,(0,u.mapUpdateSet)(this.config.table,e.set));return this.config.onConflict.push(y.sql` on conflict ${r}${n} do update set ${a}${t}${i}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:e_(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class eE{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteUpdateBuilder";set(e){return new eO(this.table,(0,u.mapUpdateSet)(this.table,e),this.session,this.dialect,this.withList)}}class eO extends eI{constructor(e,t,n,i,r){super(),this.session=n,this.dialect=i,this.config={set:t,table:e,withList:r,joins:[]}}static [t.entityKind]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(n,i)=>{let r=(0,u.getTableLikeName)(n);if("string"==typeof r&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if("function"==typeof i){let e=this.config.from?(0,t.is)(n,em.SQLiteTable)?n[a.Table.Symbol.Columns]:(0,t.is)(n,ei.Subquery)?n._.selectedFields:(0,t.is)(n,ep)?n[er.ViewBaseConfig].selectedFields:void 0:void 0;i=i(new Proxy(this.config.table[a.Table.Symbol.Columns],new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new ea({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:i,table:n,joinType:e,alias:r}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new ea({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[em.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:e_(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}var eD=y;class eP extends eD.SQL{constructor(e){super(eP.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.session=e.session,this.sql=eP.buildCount(e.source,e.filters)}sql;static [t.entityKind]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return eD.sql`(select count(*) from ${e}${eD.sql.raw(" where ").if(t)}${t})`}static buildCount(e,t){return eD.sql`select count(*) from ${e}${eD.sql.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}class eU{constructor(e,t,n,i,r,a,s,o){this.mode=e,this.fullSchema=t,this.schema=n,this.tableNamesMap=i,this.table=r,this.tableConfig=a,this.dialect=s,this.session=o}static [t.entityKind]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return"sync"===this.mode?new eZ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many"):new ej(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return"sync"===this.mode?new eZ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new ej(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class ej extends eI{constructor(e,t,n,i,r,a,s,o,u){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=i,this.tableConfig=r,this.dialect=a,this.session=s,this.config=o,this.mode=u}static [t.entityKind]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:n,builtQuery:i}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](i,void 0,"first"===this.mode?"get":"all",!0,(e,i)=>{let r=e.map(e=>(function e(n,i,r,a,o=e=>e){let u={};for(let[l,d]of a.entries())if(d.isJson){let a=i.relations[d.tsKey],s=r[l],c="string"==typeof s?JSON.parse(s):s;u[d.tsKey]=(0,t.is)(a,Y)?c&&e(n,n[d.relationTableTsKey],c,d.selection,o):c.map(t=>e(n,n[d.relationTableTsKey],t,d.selection,o))}else{let e,n=o(r[l]),i=d.field;e=(0,t.is)(i,s.Column)?i:(0,t.is)(i,y.SQL)?i.decoder:i.sql.decoder,u[d.tsKey]=null===n?null:e.mapFromDriverValue(n)}return u})(this.schema,this.tableConfig,e,n.selection,i));return"first"===this.mode?r[0]:r})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class eZ extends ej{static [t.entityKind]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class eR extends eI{constructor(e,t,n,i,r){super(),this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=r,this.config={action:n}}static [t.entityKind]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class eL{constructor(e,t,n,i){this.resultKind=e,this.dialect=t,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const r=this.query;if(this._.schema)for(const[a,s]of Object.entries(this._.schema))r[a]=new eU(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[a],s,t,n);this.$cache={invalidate:async e=>{}}}static [t.entityKind]="BaseSQLiteDatabase";query;$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(new eT(n.dialect))),new Proxy(new ei.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new ea({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,t){return new eP({source:e,filters:t,session:this.session})}with(...e){let t=this;return{select:function(n){return new eb({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})},selectDistinct:function(n){return new eb({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})},update:function(n){return new eE(n,t.session,t.dialect,e)},insert:function(n){return new eM(n,t.session,t.dialect,e)},delete:function(n){return new eC(n,t.session,t.dialect,e)}}}select(e){return new eb({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new eb({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new eE(e,this.session,this.dialect)}$cache;insert(e){return new eM(e,this.session,this.dialect)}delete(e){return new eC(e,this.session,this.dialect)}run(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(t)}all(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(t)}get(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(t)}values(e){let t="string"==typeof e?y.sql.raw(e):e.getSQL();return"async"===this.resultKind?new eR(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class eB{static [t.entityKind]="Cache"}class eF extends eB{strategy(){return"all"}static [t.entityKind]="NoopCache";async get(e){}async put(e,t,n,i){}async onMutate(e){}}async function eQ(e,t){let n=`${e}-${JSON.stringify(t)}`,i=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",i))].map(e=>e.toString(16).padStart(2,"0")).join("")}class eK extends eI{constructor(e){super(),this.resultCb=e}static [t.entityKind]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class eJ{constructor(e,t,n,i,r,a){this.mode=e,this.executeMethod=t,this.query=n,this.cache=i,this.queryMetadata=r,this.cacheConfig=a,i&&"all"===i.strategy()&&void 0===a&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [t.entityKind]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||(0,t.is)(this.cache,eF)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(t){throw new ed.DrizzleQueryError(e,n,t)}if(!this.cacheConfig)try{return await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await eQ(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}return await this.cache.put(this.cacheConfig.tag??await eQ(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(t){throw new ed.DrizzleQueryError(e,n,t)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){return"async"===this.mode?this[this.executeMethod](e):new eK(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class eV{constructor(e){this.dialect=e}static [t.entityKind]="SQLiteSession";prepareOneTimeQuery(e,t,n,i,r,a,s){return this.prepareQuery(e,t,n,i,r,a,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(e){throw new ed.DrizzleError({cause:e,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class eW extends eL{constructor(e,t,n,i,r=0){super(e,t,n,i),this.schema=i,this.nestedIndex=r}static [t.entityKind]="SQLiteTransaction";rollback(){throw new ed.TransactionRollbackError}}class eH extends eV{constructor(e,t,n,i={}){super(t),this.client=e,this.schema=n,this.options=i,this.logger=i.logger??new r,this.cache=i.cache??new eF}static [t.entityKind]="SQLiteD1Session";logger;cache;prepareQuery(e,t,n,i,r,a,s){return new eY(this.client.prepare(e.sql),e,this.logger,this.cache,a,s,t,n,i,r)}async batch(e){let t=[],n=[];for(let i of e){let e=i._prepare(),r=e.getQuery();if(t.push(e),r.params.length>0)n.push(e.stmt.bind(...r.params));else{let t=e.getQuery();n.push(this.client.prepare(t.sql).bind(...t.params))}}return(await this.client.batch(n)).map((e,n)=>t[n].mapResult(e,!0))}extractRawAllValueFromBatchResult(e){return e.results}extractRawGetValueFromBatchResult(e){return e.results[0]}extractRawValuesValueFromBatchResult(e){return eX(e.results)}async transaction(e,t){let n=new eG("async",this.dialect,this,this.schema);await this.run(y.sql.raw(`begin${t?.behavior?" "+t.behavior:""}`));try{let t=await e(n);return await this.run(y.sql`commit`),t}catch(e){throw await this.run(y.sql`rollback`),e}}}class eG extends eW{static [t.entityKind]="D1Transaction";async transaction(e){let t=`sp${this.nestedIndex}`,n=new eG("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(y.sql.raw(`savepoint ${t}`));try{let i=await e(n);return await this.session.run(y.sql.raw(`release savepoint ${t}`)),i}catch(e){throw await this.session.run(y.sql.raw(`rollback to savepoint ${t}`)),e}}}function eX(e){let t=[];for(let n of e){let e=Object.keys(n).map(e=>n[e]);t.push(e)}return t}class eY extends eJ{constructor(e,t,n,i,r,a,s,o,u,l){super("async",o,t,i,r,a),this.logger=n,this._isResponseInArrayMode=u,this.customResultMapper=l,this.fields=s,this.stmt=e}static [t.entityKind]="D1PreparedQuery";customResultMapper;fields;stmt;async run(e){let t=(0,y.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).run())}async all(e){let{fields:t,query:n,logger:i,stmt:r,customResultMapper:a}=this;if(!t&&!a){let t=(0,y.fillPlaceholders)(n.params,e??{});return i.logQuery(n.sql,t),await this.queryWithCache(n.sql,t,async()=>r.bind(...t).all().then(({results:e})=>this.mapAllResult(e)))}let s=await this.values(e);return this.mapAllResult(s)}mapAllResult(e,t){return(t&&(e=eX(e.results)),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper(e):e.map(e=>(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap)):e}async get(e){let{fields:t,joinsNotNullableMap:n,query:i,logger:r,stmt:a,customResultMapper:s}=this;if(!t&&!s){let t=(0,y.fillPlaceholders)(i.params,e??{});return r.logQuery(i.sql,t),await this.queryWithCache(i.sql,t,async()=>a.bind(...t).all().then(({results:e})=>e[0]))}let o=await this.values(e);if(o[0])return s?s(o):(0,u.mapResultRow)(t,o[0],n)}mapGetResult(e,t){return(t&&(e=eX(e.results)[0]),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper([e]):(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap):e}async values(e){let t=(0,y.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).raw())}isResponseInArrayMode(){return this._isResponseInArrayMode}}class e0 extends eL{static [t.entityKind]="D1Database";async batch(e){return this.session.batch(e)}}var e1=e.i(729178),e6=e.i(908969),e4=e.i(987406);e.i(837200);let e2={...e1,...e6,...e4};e.s(["createDb",0,function(e){return function(e,n={}){let r,s,o=new ey({casing:n.casing});if(!0===n.logger?r=new i:!1!==n.logger&&(r=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!(0,t.is)(e.default,a.Table)&&(e=e.default);let i={},r={},s={};for(let[o,u]of Object.entries(e))if((0,t.is)(u,a.Table)){let e=(0,a.getTableUniqueName)(u),n=r[e];for(let t of(i[e]=o,s[o]={tsName:o,dbName:u[a.Table.Symbol.Name],schema:u[a.Table.Symbol.Schema],columns:u[a.Table.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(u[a.Table.Symbol.Columns])))t.primary&&s[o].primaryKey.push(t);let l=u[a.Table.Symbol.ExtraConfigBuilder]?.(u[a.Table.Symbol.ExtraConfigColumns]);if(l)for(let e of Object.values(l))(0,t.is)(e,J)&&s[o].primaryKey.push(...e.columns)}else if((0,t.is)(u,X)){let e,t=(0,a.getTableUniqueName)(u.table),o=i[t];for(let[i,a]of Object.entries(u.config(n(u.table))))if(o){let t=s[o];t.relations[i]=a,e&&t.primaryKey.push(...e)}else t in r||(r[t]={relations:{},primaryKey:e}),r[t].relations[i]=a}return{tables:s,tableNamesMap:i}}(n.schema,et);s={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new eH(e,o,s,{logger:r,cache:n.cache}),l=new e0("async",o,u,s);return l.$client=e,l.$cache=n.cache,l.$cache&&(l.$cache.invalidate=n.cache?.onMutate),l}(e,{schema:e2})}],760762)},553223,e=>{"use strict";var t=e.i(441723),n=e.i(791757),i=e.i(729178);async function r(e,t){let n=new Date().toISOString();return(await e.insert(i.calendarEvent).values({agentId:t.agentId,workspaceId:t.workspaceId,title:t.title,description:t.description??null,scheduledAt:t.scheduledAt,repeatInterval:t.repeatInterval??null,repeatStopAt:t.repeatStopAt??null,exceptions:t.exceptions??[],createdAt:n,updatedAt:n}).returning())[0]}async function a(e,n,r,a){return(await e.update(i.calendarEvent).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function s(e,n,r,a){let s=[(0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r)];if(a){s.push((0,t.eq)(i.agent.ownerId,a));let n=await e.select({calendarEvent:i.calendarEvent}).from(i.calendarEvent).innerJoin(i.agent,(0,t.eq)(i.calendarEvent.agentId,i.agent.id)).where((0,t.and)(...s));return n[0]?.calendarEvent??null}return(await e.select().from(i.calendarEvent).where((0,t.and)(...s)))[0]??null}async function o(e,r,a={}){let s=[(0,t.eq)(i.calendarEvent.workspaceId,r)];return(a.agentId&&s.push((0,t.eq)(i.calendarEvent.agentId,a.agentId)),a.userId&&s.push((0,t.eq)(i.agent.ownerId,a.userId)),s.push((0,t.or)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt))),a.from&&a.to?s.push((0,t.or)((0,t.and)((0,t.isNull)(i.calendarEvent.repeatInterval),(0,t.gte)(i.calendarEvent.scheduledAt,a.from),(0,t.lte)(i.calendarEvent.scheduledAt,a.to)),(0,t.and)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.lte)(i.calendarEvent.scheduledAt,a.to),(0,t.or)((0,t.isNull)(i.calendarEvent.repeatStopAt),(0,t.gte)(i.calendarEvent.repeatStopAt,a.from))))):(a.from&&s.push((0,t.gte)(i.calendarEvent.scheduledAt,a.from)),a.to&&s.push((0,t.lte)(i.calendarEvent.scheduledAt,a.to))),a.userId)?(await e.select({calendarEvent:i.calendarEvent}).from(i.calendarEvent).innerJoin(i.agent,(0,t.eq)(i.calendarEvent.agentId,i.agent.id)).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))).map(e=>e.calendarEvent):e.select().from(i.calendarEvent).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function u(e,n,r){return(await e.delete(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function l(e,r,a){return e.select().from(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.workspaceId,r),(0,t.lte)(i.calendarEvent.scheduledAt,a),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function d(e,n,r,a){return(await e.update(i.calendarEvent).set({lastTriggeredAt:a,updatedAt:a}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.scheduledAt,r),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).returning())[0]??null}async function c(e,n,r){await e.update(i.calendarEvent).set({lastTriggeredAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}async function m(e,n,r){await e.update(i.calendarEvent).set({scheduledAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}function g(e,t){let n=/^(\d+)(min|hour|day|week|month)$/.exec(t);if(!n)throw Error(`invalid repeat_interval: ${t}`);let i=parseInt(n[1],10),r=n[2];if("min"===r)return new Date(e.getTime()+6e4*i);if("hour"===r)return new Date(e.getTime()+36e5*i);if("day"===r)return new Date(e.getTime()+864e5*i);if("week"===r)return new Date(e.getTime()+7*i*864e5);let a=e.getUTCFullYear(),s=e.getUTCMonth()+i,o=a+Math.floor(s/12),u=(s%12+12)%12,l=Math.min(e.getUTCDate(),new Date(Date.UTC(o,u+1,0)).getUTCDate());return new Date(Date.UTC(o,u,l,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}e.s(["addRepeatInterval",0,g,"claimCalendarEvent",0,d,"computeNextScheduledAt",0,function(e,t,n,i,r=[]){let a=new Set(r),s=g(new Date(e),t),o=new Date(i),u=n?new Date(n):null;for(let e=0;e<2e3&&(!u||!(s>u));e++){if(s>o&&!a.has(s.toISOString()))return s.toISOString();s=g(s,t)}return null},"createCalendarEvent",0,r,"deleteCalendarEvent",0,u,"expandOccurrences",0,function(e,t,n,i,r,a){let s=[],o=new Date(r),u=new Date(a),l=n?new Date(n):null,d=new Set(i),c=new Date(e);for(let e=0;e<1e3&&!(c>u)&&(!l||!(c>l));e++){let e=c.toISOString();c>=o&&!d.has(e)&&s.push(e),c=g(c,t)}return s},"getCalendarEvent",0,s,"getOccurrencesPerDay",0,function(e){let t=/^(\d+)(min|hour|day|week|month)$/.exec(e);if(!t)return 1;let n=parseInt(t[1],10),i=t[2];return"month"===i||"week"===i||"day"===i||0===n?1:Math.floor(86400/("min"===i?60*n:3600*n))},"listCalendarEvents",0,o,"listDueCalendarEvents",0,l,"revertCalendarEventClaim",0,c,"updateCalendarEvent",0,a,"updateCalendarEventSchedule",0,m])},765826,368789,742964,496543,643181,249377,729051,826015,643613,750804,484461,677855,491465,50336,497657,420587,22033,571158,834809,127060,208560,947101,315576,516313,237209,397614,68438,923566,715172,69974,912701,482420,606396,965939,166485,930980,75056,66643,542885,441376,281108,449951,186135,453858,202132,933159,995114,978886,639695,54561,596366,539664,689862,462206,919196,845733,3674,375498,301517,450019,e=>{"use strict";var t=e.i(441723),n=e.i(791757),i=e.i(544701),r=e.i(908969),a=e.i(729178);function s(e,t){if(t<1)throw Error("chunk size must be >= 1");let n=[];for(let i=0;i<e.length;i+=t)n.push(e.slice(i,i+t));return n}function o(e){if(e<1)throw Error("paramsPerRow must be >= 1");return Math.floor(100/e)}async function u(e,t){return(await e.insert(r.communityMessageSeq).values({channelId:t,nextSeq:1}).onConflictDoUpdate({target:r.communityMessageSeq.channelId,set:{nextSeq:i.sql`${r.communityMessageSeq.nextSeq} + 1`}}).returning({nextSeq:r.communityMessageSeq.nextSeq}))[0].nextSeq}async function l(e,t,n){let a=await e.insert(r.communityMessageSeq).values({channelId:t,nextSeq:1}).onConflictDoUpdate({target:r.communityMessageSeq.channelId,set:{nextSeq:i.sql`${r.communityMessageSeq.nextSeq} + 1`},setWhere:i.sql`${r.communityMessageSeq.nextSeq} = ${n}`}).returning({nextSeq:r.communityMessageSeq.nextSeq});return a[0]?.nextSeq??null}let d=(0,e.i(726527).createLogger)({service:"community-queries"});function c(e,t){if(e)try{return JSON.parse(e)}catch(e){d.warn("embeds_parse_failed",{messageId:t,err:e});return}}async function m(e,t){let n=void 0!==t.expectedSeq?await l(e,t.channelId,t.expectedSeq):await u(e,t.channelId);return null===n?null:g(e,t,n)}async function g(e,n,a){let s=new Date().toISOString(),o=[e.insert(r.communityMessage).values({...void 0!==n.id?{id:n.id}:{},authorId:n.authorId,content:n.content,channelId:n.channelId,type:n.type??"default",mentionType:n.mentionType??null,replyToId:n.replyToId??null,embeds:n.embeds??null,friendshipId:n.friendshipId??null,clientNonce:n.clientNonce??null,createdAt:s,seq:a}).returning(),e.update(r.communityChannel).set({lastMessageAt:s,messageCount:i.sql`${r.communityChannel.messageCount} + 1`}).where((0,t.eq)(r.communityChannel.id,n.channelId)),...n.extraStatements??[]],u=(await e.batch(o))[0][0];return await e.insert(r.communityReadState).values({userId:n.authorId,channelId:n.channelId,lastReadAt:s,lastReadMessageId:u.id,lastReadSeq:a}).onConflictDoUpdate({target:[r.communityReadState.userId,r.communityReadState.channelId],set:{lastReadAt:s,lastReadMessageId:u.id,lastReadSeq:a},setWhere:i.sql`${r.communityReadState.lastReadSeq} < ${a}`}),u}async function p(e,a){let s=(await e.select({id:r.communityMessage.id,channelId:r.communityMessage.channelId,authorId:r.communityMessage.authorId,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,a)).limit(1))[0];if(!s)return;let o=(0,t.eq)(r.communityMessage.channelId,s.channelId),u=(await e.select({id:r.communityMessage.id,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt}).from(r.communityMessage).where((0,t.and)(o,(0,t.lt)(r.communityMessage.seq,s.seq))).orderBy((0,n.desc)(r.communityMessage.seq)).limit(1))[0],l=e.delete(r.communityMessage).where((0,t.eq)(r.communityMessage.id,a)),d=e.update(r.communityChannel).set({messageCount:i.sql`${r.communityChannel.messageCount} - 1`,lastMessageAt:i.sql`(SELECT MAX(${r.communityMessage.createdAt}) FROM ${r.communityMessage} WHERE ${r.communityMessage.channelId} = ${s.channelId} AND ${r.communityMessage.id} != ${a})`}).where((0,t.eq)(r.communityChannel.id,s.channelId)),c=(0,t.and)((0,t.eq)(r.communityReadState.userId,s.authorId),(0,t.eq)(r.communityReadState.channelId,s.channelId),(0,t.eq)(r.communityReadState.lastReadMessageId,a)),m=u?e.update(r.communityReadState).set({lastReadMessageId:u.id,lastReadSeq:u.seq,lastReadAt:u.createdAt}).where(c):e.delete(r.communityReadState).where(c);await e.batch([l,d,m])}let f={id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,friendshipId:r.communityMessage.friendshipId,clientNonce:r.communityMessage.clientNonce,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image};function h(e){return{...e,embeds:c(e.embeds,e.id)}}async function y(e,i){let s=i.limit??50,o=[(0,t.eq)(r.communityMessage.channelId,i.channelId)];return i.cursor&&o.push((0,t.or)((0,t.lt)(r.communityMessage.createdAt,i.cursor.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.cursor.createdAt),(0,t.lt)(r.communityMessage.id,i.cursor.id)))),(i.tag?await e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))).where((0,t.and)(...o)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(s):await e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)(...o)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(s)).map(h)}async function v(e,i){let s=i.limit??50,o=Math.ceil(s/2),u=Math.floor(s/2),l=[(0,t.eq)(r.communityMessage.channelId,i.channelId)],d=(0,t.or)((0,t.lt)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.lt)(r.communityMessage.id,i.anchor.id))),c=(0,t.or)((0,t.gt)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.anchor.createdAt),(0,t.or)((0,t.gt)(r.communityMessage.id,i.anchor.id),(0,t.eq)(r.communityMessage.id,i.anchor.id)))),m=()=>e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)),g=()=>e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)),[p,y]=await Promise.all([(i.tag?m().innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))):m()).where((0,t.and)(...l,d)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(o+1),(i.tag?g().innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))):g()).where((0,t.and)(...l,c)).orderBy((0,n.asc)(r.communityMessage.createdAt),(0,n.asc)(r.communityMessage.id)).limit(u+1+1)]),v=p.length>o,I=(v?p.slice(0,o):p).map(h),_=u+1,b=y.length>_;return{older:I,newer:(b?y.slice(0,_):y).map(h),hasMoreOlder:v,hasMoreNewer:b}}async function I(e,i){let s=i.limit??50,o=[(0,t.eq)(r.communityMessage.channelId,i.channelId)];o.push((0,t.or)((0,t.gt)(r.communityMessage.createdAt,i.since.createdAt),(0,t.and)((0,t.eq)(r.communityMessage.createdAt,i.since.createdAt),(0,t.gt)(r.communityMessage.id,i.since.id))));let u=e.select(f).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id));return(await (i.tag?u.innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityMessage.id),(0,t.eq)(r.communityMessageTag.tag,i.tag))):u).where((0,t.and)(...o)).orderBy((0,n.asc)(r.communityMessage.createdAt),(0,n.asc)(r.communityMessage.id)).limit(s+1)).map(h)}async function _(e,n){let a=await e.select({maxSeq:i.sql`MAX(${r.communityMessage.seq})`}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.channelId,n.channelId));return a[0]?.maxSeq??0}async function b(e,i){return(await e.select({id:r.communityMessage.id,createdAt:r.communityMessage.createdAt,seq:r.communityMessage.seq}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.channelId,i.channelId)).orderBy((0,n.desc)(r.communityMessage.createdAt),(0,n.desc)(r.communityMessage.id)).limit(1))[0]??null}async function w(e,n){if(0===n.length)return[];let a=(await Promise.all(s(n,90).map(n=>{let a=e.select({channelId:r.communityMessage.channelId,maxCreatedAt:i.sql`MAX(${r.communityMessage.createdAt})`.as("max_created_at")}).from(r.communityMessage).where((0,t.inArray)(r.communityMessage.channelId,n)).groupBy(r.communityMessage.channelId).as("latest_dates");return e.select({channelId:r.communityMessage.channelId,id:r.communityMessage.id,createdAt:r.communityMessage.createdAt,seq:r.communityMessage.seq}).from(r.communityMessage).innerJoin(a,(0,t.and)((0,t.eq)(r.communityMessage.channelId,a.channelId),(0,t.eq)(r.communityMessage.createdAt,a.maxCreatedAt)))}))).flat(),o=new Map;for(let e of a){if(!e.channelId)continue;let t=o.get(e.channelId);(!t||e.id>t.id)&&o.set(e.channelId,{channelId:e.channelId,id:e.id,createdAt:e.createdAt,seq:e.seq})}return Array.from(o.values())}async function $(e,n){if(0===n.length)return[];let a=(await Promise.all(s(n,90).map(n=>{let a=e.select({channelId:r.communityMessage.channelId,minCreatedAt:i.sql`MIN(${r.communityMessage.createdAt})`.as("min_created_at")}).from(r.communityMessage).where((0,t.inArray)(r.communityMessage.channelId,n)).groupBy(r.communityMessage.channelId).as("first_dates");return e.select({channelId:r.communityMessage.channelId,content:r.communityMessage.content}).from(r.communityMessage).innerJoin(a,(0,t.and)((0,t.eq)(r.communityMessage.channelId,a.channelId),(0,t.eq)(r.communityMessage.createdAt,a.minCreatedAt)))}))).flat(),o=new Set;return a.filter(e=>!(!e.channelId||o.has(e.channelId))&&(o.add(e.channelId),!0))}async function S(e,n,i){return(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,replyToId:r.communityMessage.replyToId}).from(r.communityMessage).where((0,t.and)((0,t.eq)(r.communityMessage.channelId,n.channelId),(0,t.eq)(r.communityMessage.seq,i))))[0]??null}async function k(e,n){return(await e.select({id:r.communityMessage.id,seq:r.communityMessage.seq,authorId:r.communityMessage.authorId,channelId:r.communityMessage.channelId}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,n)).limit(1))[0]??null}async function A(e,n){let i=(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.eq)(r.communityMessage.id,n)))[0];return i?{...i,embeds:c(i.embeds,i.id)}:null}async function x(e,n,i){let s=(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityMessage.authorId,n),(0,t.eq)(r.communityMessage.clientNonce,i))).limit(1))[0];return s?{...s,embeds:c(s.embeds,s.id)}:null}async function q(e,n){let[i]=await e.update(r.communityMessage).set({content:n.content}).where((0,t.and)((0,t.eq)(r.communityMessage.id,n.messageId),(0,t.eq)(r.communityMessage.authorId,n.authorId))).returning({id:r.communityMessage.id,channelId:r.communityMessage.channelId,content:r.communityMessage.content});return i??null}async function z(e,n){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.inArray)(r.communityMessage.id,n))))).flat().map(e=>({...e,embeds:c(e.embeds,e.id)}))}async function T(e,n){let i=await e.select({messageId:r.communityMessage.id,channelId:r.communityMessage.channelId}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.friendshipId,n));if(0===i.length)return[];let a=[...new Set(i.map(e=>e.channelId))],s=await e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,a),(0,t.eq)(r.communityChannelMember.relation,"access"))),o=new Map;for(let e of s){let t=o.get(e.channelId)??[];t.push(e.userId),o.set(e.channelId,t)}return i.map(e=>({messageId:e.messageId,channelId:e.channelId,peerUserIds:o.get(e.channelId)??[]}))}function C(e){return(0,t.eq)(r.communityMessage.channelId,e.channelId)}async function M(e,n,i){let s=(await e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,authorName:a.user.name,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityMessage.id,n),C(i))))[0];return s?{...s,embeds:c(s.embeds,s.id)}:null}async function N(e,n,i){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select({id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,type:r.communityMessage.type,mentionType:r.communityMessage.mentionType,replyToId:r.communityMessage.replyToId,embeds:r.communityMessage.embeds,seq:r.communityMessage.seq,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,authorName:a.user.name,discriminator:a.user.discriminator,authorEmail:a.user.email,authorImage:a.user.image}).from(r.communityMessage).innerJoin(a.user,(0,t.eq)(r.communityMessage.authorId,a.user.id)).where((0,t.and)((0,t.inArray)(r.communityMessage.id,n),C(i)))))).flat().map(e=>({...e,embeds:c(e.embeds,e.id)}))}e.s(["createMessage",0,m,"getFirstMessageByChannelIds",0,$,"getLatestMessage",0,b,"getLatestMessageSeq",0,_,"getLatestMessagesByChannelIds",0,w,"getMessage",0,A,"getMessageByAuthorAndNonce",0,x,"getMessageByChannelAndSeq",0,S,"getMessageInScope",0,M,"getMessagesByIds",0,z,"getMessagesByIdsInScope",0,N,"getWakeMessageScopeById",0,k,"hardDeleteMessage",0,p,"listMessages",0,y,"listMessagesAround",0,v,"listMessagesReferencingFriendship",0,T,"listMessagesSince",0,I,"updateOwnMessageContent",0,q],765826);var E=e.i(120333),O=e.i(401606),D=e.i(296959);function P(e){return i.sql`count(${e||i.sql.raw("*")})`.mapWith(Number)}var U=e.i(987406),j=e.i(704024),Z=e.i(847258);function R(e){return e.replace(/[\\%_]/g,e=>"\\"+e)}var L=e.i(136388),B=e.i(291320);let F={id:a.user.id,name:a.user.name,email:a.user.email,emailVerified:a.user.emailVerified,image:a.user.image,createdAt:a.user.createdAt,updatedAt:a.user.updatedAt,discriminator:a.user.discriminator},Q={...F,isBot:a.user.isBot,ownerUserId:a.user.ownerUserId,deletedAt:a.user.deletedAt};async function K(e,n){return(await e.select(F).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.isNull)(a.user.deletedAt))))[0]??null}async function J(e,n){return(await e.select(F).from(a.user).where((0,t.eq)(a.user.id,n)))[0]??null}async function V(e,n){return(await e.select(Q).from(a.user).where((0,t.eq)(a.user.id,n)))[0]??null}async function W(e,n){return 0===n.length?[]:e.select(F).from(a.user).where((0,t.inArray)(a.user.id,n))}async function H(e,n){return(await e.select(F).from(a.user).where((0,t.eq)(a.user.email,n)))[0]??null}async function G(e,n){let r=R(n);return(await e.select(F).from(a.user).where((0,t.and)(i.sql`${a.user.name} LIKE ${r} ESCAPE '\\'`,(0,t.isNull)(a.user.deletedAt))))[0]??null}async function X(e,n,r){let s=[(0,t.isNull)(a.user.deletedAt)];if(r?.discriminator!==void 0)s.push((0,t.eq)(a.user.name,n)),s.push((0,t.eq)(a.user.discriminator,r.discriminator));else{let e=`%${R(n)}%`;s.push(i.sql`${a.user.name} LIKE ${e} ESCAPE '\\'`)}return r?.excludeUserId&&s.push((0,t.ne)(a.user.id,r.excludeUserId)),e.select(F).from(a.user).where((0,t.and)(...s)).limit(r?.limit??20)}async function Y(e,n,r){let s=R(n);return(await e.select(F).from(a.user).where((0,t.and)(i.sql`${a.user.name} LIKE ${s} ESCAPE '\\'`,(0,t.eq)(a.user.discriminator,r),(0,t.isNull)(a.user.deletedAt))).limit(1))[0]??null}async function ee(e,t,n){for(let e=4;e<=18;e++)for(let i=0;i<5;i++){let r=4===e&&0===i?(0,L.computeDiscriminator)(t.id):(0,L.computeDiscriminator)(`${t.id}:${e}:${i}`,e);try{return await n(r)}catch(e){if(!(0,B.isUniqueConstraintError)(e))throw e}}throw Error(`discriminator allocation exceeded width 18 for name "${t.name}" — not a real collision`)}async function et(e,t){for(let n=4;n<=18;n++)for(let i=0;i<5;i++){let r=4===n&&0===i?(0,L.computeDiscriminator)(t.id):(0,L.computeDiscriminator)(`${t.id}:${n}:${i}`,n);if(!await Y(e,t.name,r))return r}throw Error(`discriminator probe exceeded width 18 for name "${t.name}" — not a real collision`)}async function en(e,t){if(!t.name.trim())throw Error("user.name cannot be empty");let n=(0,Z.nanoid)();return ee(e,{id:n,name:t.name},async i=>(await e.insert(a.user).values({id:n,name:t.name,email:t.email,discriminator:i}).returning(F))[0])}async function ei(e,n,i){if(void 0!==i.name&&!i.name.trim())throw Error("user.name cannot be empty");let r={updatedAt:new Date().toISOString()};return void 0!==i.name&&(r.name=i.name),void 0!==i.image&&(r.image=i.image),(await e.update(a.user).set(r).where((0,t.eq)(a.user.id,n)).returning(F))[0]??null}e.s(["createUser",0,en,"getUserByEmail",0,H,"getUserByNameAndDiscriminator",0,Y,"getUserByNameCaseInsensitive",0,G,"getUserInternal",0,V,"getUserPublic",0,K,"getUserSelf",0,J,"getUsersByIds",0,W,"probeAvailableDiscriminator",0,et,"searchUsersByName",0,X,"updateUser",0,ei,"withUniqueDiscriminator",0,ee],368789);class er extends Error{constructor(e){super(e),this.name="OwnerHasBotsError"}}async function ea(e,n){return(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image,ownerUserId:a.user.ownerUserId,createdAt:a.user.createdAt,updatedAt:a.user.updatedAt,lastRefreshContextAt:a.user.lastRefreshContextAt,description:r.communityUserProfile.aboutMe,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(a.user.isBot,!0),(0,t.eq)(a.user.ownerUserId,n),(0,t.isNull)(a.user.deletedAt)))).map(e=>({id:e.id,name:e.name,discriminator:e.discriminator,image:e.image,ownerUserId:e.ownerUserId,description:e.description??"",createdAt:e.createdAt,updatedAt:e.updatedAt,lastRefreshContextAt:e.lastRefreshContextAt??null,machineId:e.machineId,runtime:e.runtime,modelName:e.modelName??null}))}async function es(e,n,i){let s=(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image,ownerUserId:a.user.ownerUserId,createdAt:a.user.createdAt,updatedAt:a.user.updatedAt,lastRefreshContextAt:a.user.lastRefreshContextAt,description:r.communityUserProfile.aboutMe,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).leftJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.eq)(a.user.ownerUserId,i),(0,t.isNull)(a.user.deletedAt))).limit(1))[0];return s?{id:s.id,name:s.name,discriminator:s.discriminator,image:s.image,ownerUserId:s.ownerUserId,description:s.description??"",createdAt:s.createdAt,updatedAt:s.updatedAt,lastRefreshContextAt:s.lastRefreshContextAt??null,machineId:s.machineId??null,runtime:s.runtime??null,modelName:s.modelName??null}:null}async function eo(e,n){let i=await e.select({n:P()}).from(a.user).where((0,t.and)((0,t.eq)(a.user.isBot,!0),(0,t.eq)(a.user.ownerUserId,n),(0,t.isNull)(a.user.deletedAt)));return i[0]?.n??0}async function eu(e,n){let i=(await e.select({machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(U.communityBotBinding).where((0,t.eq)(U.communityBotBinding.userId,n)).limit(1))[0];return i?{machineId:i.machineId,runtime:i.runtime,modelName:i.modelName??null}:null}async function el(e,n){let i=(await e.select({machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,ownerUserId:a.user.ownerUserId,name:a.user.name,discriminator:a.user.discriminator}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).limit(1))[0];return i&&i.ownerUserId?{machineId:i.machineId,runtime:i.runtime,ownerUserId:i.ownerUserId,name:i.name,discriminator:i.discriminator}:null}async function ed(e,n){if(0===n.recipients.length)return[];let i=(0,t.eq)(r.communityReadState.channelId,n.channelId);return(await Promise.all(s(n.recipients,90).map(n=>e.select({botUserId:a.user.id,name:a.user.name,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,lastReadSeq:r.communityReadState.lastReadSeq}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).leftJoin(r.communityReadState,(0,t.and)((0,t.eq)(r.communityReadState.userId,a.user.id),i)).where((0,t.and)((0,t.inArray)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))))).flat().filter(e=>(e.lastReadSeq??0)<n.newSeq).map(e=>({botUserId:e.botUserId,name:e.name,machineId:e.machineId,runtime:e.runtime}))}async function ec(e,n){let i=(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,isBot:a.user.isBot,deletedAt:a.user.deletedAt,ownerUserId:a.user.ownerUserId,machineId:U.communityBotBinding.machineId,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).leftJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).where((0,t.eq)(a.user.id,n)).limit(1))[0];return i&&i.isBot?i.deletedAt?{state:"bot_deleted"}:i.machineId&&i.runtime?{state:"ready",botUserId:i.id,name:i.name,discriminator:i.discriminator,machineId:i.machineId,runtime:i.runtime,modelName:i.modelName??null,ownerUserId:i.ownerUserId}:{state:"bot_unbound"}:{state:"bot_missing"}}async function em(e,n){let i=(0,E.aliasedTable)(a.user,"owner");return(await e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,description:r.communityUserProfile.aboutMe,ownerName:i.name,ownerDiscriminator:i.discriminator,runtime:U.communityBotBinding.runtime,modelName:U.communityBotBinding.modelName}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).innerJoin(i,(0,t.eq)(i.id,a.user.ownerUserId)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(U.communityBotBinding.machineId,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt),(0,t.isNull)(i.deletedAt)))).map(e=>({id:e.id,name:e.name,discriminator:e.discriminator,description:e.description??"",ownerName:e.ownerName,ownerDiscriminator:e.ownerDiscriminator,runtime:e.runtime,modelName:e.modelName??null}))}async function eg(e,n,i){return(await e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityServerMember.userId)).where((0,t.and)((0,t.eq)(r.communityServerMember.userId,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0)))).map(e=>e.serverId)}async function ep(e,n,i){return e.select({id:a.user.id,name:a.user.name}).from(a.user).innerJoin(U.communityBotBinding,(0,t.eq)(U.communityBotBinding.userId,a.user.id)).where((0,t.and)((0,t.eq)(U.communityBotBinding.machineId,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))}async function ef(e,t){let n=(0,Z.nanoid)(),i=(0,j.communityBotSyntheticEmail)(n),s=new Date().toISOString(),o=t.description??"",u=await ee(e,{id:n,name:t.name},async u=>{let l=e.insert(a.user).values({id:n,name:t.name,email:i,emailVerified:!0,image:t.image??null,isBot:!0,ownerUserId:t.ownerId,discriminator:u,createdAt:s,updatedAt:s}),d=e.insert(U.communityBotBinding).values({userId:n,machineId:t.machineId,runtime:t.runtime,modelName:t.modelName??null,createdAt:s}),c=e.insert(r.communityUserProfile).values({userId:n,aboutMe:o}).onConflictDoUpdate({target:r.communityUserProfile.userId,set:{aboutMe:o}});return await e.batch([l,d,c]),u});return{botId:n,name:t.name,discriminator:u,description:o,image:t.image??null}}async function eh(e,n,i,s){let o,u={updatedAt:new Date().toISOString()};if(void 0!==s.name&&(u.name=s.name),void 0!==s.image&&(u.image=s.image),void 0!==s.description){let l=e.update(a.user).set(u).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).returning({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image}),d=e.insert(r.communityUserProfile).values({userId:n,aboutMe:s.description}).onConflictDoUpdate({target:r.communityUserProfile.userId,set:{aboutMe:s.description}}),c=await e.batch([l,d]);o=Array.isArray(c?.[0])?c[0]:[]}else o=await e.update(a.user).set(u).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).returning({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator,image:a.user.image});if(0===o.length)return null;let l=s.description??"";if(void 0===s.description){let i=await e.select({aboutMe:r.communityUserProfile.aboutMe}).from(r.communityUserProfile).where((0,t.eq)(r.communityUserProfile.userId,n)).limit(1);l=i[0]?.aboutMe??""}return{botId:o[0].id,name:o[0].name,discriminator:o[0].discriminator,description:l,image:o[0].image}}async function ey(e,n,i,r){let s=e.select({id:a.user.id}).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)));return(await e.update(U.communityBotBinding).set({modelName:r}).where((0,t.inArray)(U.communityBotBinding.userId,s)).returning({userId:U.communityBotBinding.userId})).length>0}async function ev(e,n,i,r,s){let o=e.select({id:a.user.id}).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)));return(await e.update(U.communityBotBinding).set({runtime:r,modelName:s}).where((0,t.inArray)(U.communityBotBinding.userId,o)).returning({userId:U.communityBotBinding.userId})).length>0}async function eI(e,n,i){await e.update(a.user).set({lastRefreshContextAt:i}).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))}async function e_(e,n,i){return await e.select({day:r.communityBotDailyActivity.day,handledCount:r.communityBotDailyActivity.handledCount,sentCount:r.communityBotDailyActivity.sentCount}).from(r.communityBotDailyActivity).where((0,t.and)((0,t.eq)(r.communityBotDailyActivity.botId,n),(0,t.gte)(r.communityBotDailyActivity.day,i))).orderBy(r.communityBotDailyActivity.day)}async function eb(e,n,i){let s=await e.select({botId:r.communityBotDailyActivity.botId,day:r.communityBotDailyActivity.day,handledCount:r.communityBotDailyActivity.handledCount,sentCount:r.communityBotDailyActivity.sentCount}).from(r.communityBotDailyActivity).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityBotDailyActivity.botId)).where((0,t.and)((0,t.eq)(a.user.ownerUserId,n),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt),(0,t.gte)(r.communityBotDailyActivity.day,i))).orderBy(r.communityBotDailyActivity.day),o=new Map;for(let e of s){let t=o.get(e.botId)??[];t.push({day:e.day,handledCount:e.handledCount,sentCount:e.sentCount}),o.set(e.botId,t)}return o}async function ew(e,n,i){let s=new Date().toISOString(),o=e.select({id:a.user.id}).from(a.user).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0))),u=e.update(a.user).set({deletedAt:s,updatedAt:s}).where((0,t.and)((0,t.eq)(a.user.id,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt))).returning({id:a.user.id}),l=e.delete(r.communityServerMember).where((0,t.inArray)(r.communityServerMember.userId,o)),d=e.update(U.communityAgentRunnerKey).set({revokedAt:s}).where((0,t.and)((0,t.eq)(U.communityAgentRunnerKey.agentId,n),(0,t.isNull)(U.communityAgentRunnerKey.revokedAt),(0,t.inArray)(U.communityAgentRunnerKey.userId,o))),c=e.delete(U.communityBotBinding).where((0,t.inArray)(U.communityBotBinding.userId,o)),m=await e.batch([u,l,d,c]);return(Array.isArray(m?.[0])?m[0]:[]).length>0}async function e$(e,t){let n=await eo(e,t);if(n>0)throw new er(`user ${t} has ${n} live bots; delete them first`)}async function eS(e,n){return(await e.select().from(r.communityBotApprovalRequest).where((0,t.eq)(r.communityBotApprovalRequest.id,n)).limit(1))[0]??null}async function ek(e,n){return await e.select().from(r.communityBotApprovalRequest).where((0,t.and)((0,t.eq)(r.communityBotApprovalRequest.botId,n),(0,t.eq)(r.communityBotApprovalRequest.status,"pending")))}async function eA(e,n,i){return(await e.select().from(r.communityBotApprovalRequest).where((0,t.and)((0,t.eq)(r.communityBotApprovalRequest.botId,n),(0,t.eq)(r.communityBotApprovalRequest.serverId,i),(0,t.eq)(r.communityBotApprovalRequest.kind,"join_server"),(0,t.eq)(r.communityBotApprovalRequest.status,"pending"))).limit(1))[0]??null}async function ex(e,n,i){return(await e.update(r.communityBotApprovalRequest).set({status:i,resolvedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(r.communityBotApprovalRequest.id,n),(0,t.eq)(r.communityBotApprovalRequest.status,"pending"))).returning())[0]??null}async function eq(e,n){return(await e.select().from(r.communityBotApprovalRequest).where((0,t.eq)(r.communityBotApprovalRequest.dmMessageId,n)).limit(1))[0]??null}async function ez(e,n){return 0===n.length?[]:await e.select().from(r.communityBotApprovalRequest).where((0,t.inArray)(r.communityBotApprovalRequest.dmMessageId,n))}async function eT(e,n,i){let r=(await e.select({id:U.communityMachine.id,availableRuntimes:U.communityMachine.availableRuntimes}).from(U.communityMachine).where((0,t.and)((0,t.eq)(U.communityMachine.id,n),(0,t.eq)(U.communityMachine.userId,i))).limit(1))[0];if(!r)return null;let a=r.availableRuntimes??[],s=[];for(let e of a)if("string"==typeof e)e.length>0&&s.push({id:e});else if(e&&"object"==typeof e&&"string"==typeof e.id&&e.id.length>0){let t="unhealthy"===e.status?"unhealthy":"healthy"===e.status?"healthy":void 0;s.push({id:e.id,..."string"==typeof e.version?{version:e.version}:{},...t?{status:t}:{},..."string"==typeof e.lastError?{lastError:e.lastError}:{},..."string"==typeof e.lastErrorAt?{lastErrorAt:e.lastErrorAt}:{}})}return{id:r.id,availableRuntimes:s}}e.s(["OwnerHasBotsError",0,er,"assertNoLiveBots",0,e$,"bumpBotDailyActivityStatement",0,function(e,t,n,a){let s="handled"===a;return e.insert(r.communityBotDailyActivity).values({botId:t,day:n,handledCount:+!!s,sentCount:+!s}).onConflictDoUpdate({target:[r.communityBotDailyActivity.botId,r.communityBotDailyActivity.day],set:s?{handledCount:i.sql`${r.communityBotDailyActivity.handledCount} + 1`}:{sentCount:i.sql`${r.communityBotDailyActivity.sentCount} + 1`}})},"countLiveBotsForOwner",0,eo,"createApprovalRequestStatement",0,function(e,t){if("join_server"===t.kind&&!t.serverId)throw Error("createApprovalRequest: join_server requires serverId");return e.insert(r.communityBotApprovalRequest).values({botId:t.botId,kind:t.kind,serverId:t.serverId,requestedByUserId:t.requestedByUserId,dmMessageId:t.dmMessageId,status:"pending",createdAt:new Date().toISOString()})},"createBot",0,ef,"findPendingJoinRequest",0,eA,"findWakeCandidates",0,ed,"getApprovalRequest",0,eS,"getApprovalRequestByDmMessageId",0,eq,"getBotBinding",0,eu,"getBotBindingWithOwner",0,el,"getBotDailyActivity",0,e_,"getBotDailyActivityForOwner",0,eb,"getBotOwnedBy",0,es,"getBotWakeContext",0,ec,"getMachineForOwner",0,eT,"listApprovalRequestsByDmMessageIds",0,ez,"listBotServerMemberships",0,eg,"listBotsBoundToMachine",0,ep,"listBotsForMachine",0,em,"listBotsForOwner",0,ea,"listPendingApprovalsForBot",0,ek,"resolveApprovalRequest",0,ex,"softDeleteBot",0,ew,"touchBotRefreshContext",0,eI,"updateBot",0,eh,"updateBotModel",0,ey,"updateBotRuntime",0,ev],742964);var eC=e.i(794766),eM=e.i(714938);let eN={id:r.communityChannel.id,serverId:r.communityChannel.serverId,categoryId:r.communityChannel.categoryId,name:r.communityChannel.name,type:r.communityChannel.type,topic:r.communityChannel.topic,position:r.communityChannel.position,parentChannelId:r.communityChannel.parentChannelId,creatorId:r.communityChannel.creatorId,messageCount:r.communityChannel.messageCount,archived:r.communityChannel.archived,parentMessageId:r.communityChannel.parentMessageId,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt};async function eE(e,t){return(await e.insert(r.communityChannel).values({serverId:t.serverId,categoryId:t.categoryId||null,name:t.name,type:t.type??"text",topic:t.topic??"",parentChannelId:t.parentChannelId??null,creatorId:t.creatorId??null,parentMessageId:t.parentMessageId??null}).returning())[0]}async function eO(e,n){return(await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)))[0]||null}async function eD(e,n){let i=await e.select({type:r.communityChannel.type}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);return i[0]?.type??null}async function eP(e,n,i){let a=(await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1))[0];if(a&&(0,eM.visibilityIsDmParticipant)(a.type))return await e4(e,n,i,"access")?a:null;let s=(await e.select({...eN,memberRole:r.communityServerMember.role}).from(r.communityChannel).innerJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,i))).where((0,t.eq)(r.communityChannel.id,n)))[0];if(!s)return null;let{memberRole:o,...u}=s,l=u.parentChannelId??u.id,d=await e.select({creatorId:r.communityChannel.creatorId,categoryPrivate:r.communityCategory.private}).from(r.communityChannel).leftJoin(r.communityCategory,(0,t.eq)(r.communityCategory.id,r.communityChannel.categoryId)).where((0,t.eq)(r.communityChannel.id,l)).limit(1);if((d[0]?.categoryPrivate??0)===1){let t=d[0]?.creatorId===i,n=!t&&await e4(e,l,i);if(!(0,eM.canSeePrivateChannel)({isCreator:t,isChannelMember:n}))return null}return u}async function eU(e,n,i){return(await e.update(r.communityChannel).set(i).where((0,t.eq)(r.communityChannel.id,n)).returning())[0]??null}async function ej(e,n){return(await e.delete(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).returning())[0]??null}async function eZ(e,i){return await e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.serverId,i),(0,t.isNull)(r.communityChannel.parentChannelId))).orderBy((0,n.asc)(r.communityChannel.position))}async function eR(e,n,i,a){return await e.select(eN).from(r.communityChannel).innerJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,i))).where((0,t.and)((0,t.eq)(r.communityChannel.serverId,n),(0,t.eq)(r.communityChannel.name,a),(0,t.isNull)(r.communityChannel.parentChannelId)))}async function eL(e,n,i){return 0===(await e.select({role:r.communityServerMember.role}).from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(r.communityServerMember.userId,i))).limit(1)).length?[]:e5(e,n,i)}async function eB(e,n,i){return(await e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.parentMessageId,i))))[0]||null}async function eF(e,n,i,a){let[s,o]=await Promise.all([e.select({serverId:r.communityChannel.serverId,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)),e.select({content:r.communityMessage.content}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,i))]),u=s[0]?.serverId;if(!u)throw Error(`createThreadChannel: parent channel ${n} not found`);if(s[0]?.parentChannelId)throw Error(`createThreadChannel: cannot root a thread on child channel ${n}`);let l=o[0]?.content?.trim()??"",d=l.length>0?l.slice(0,40):"Thread",c=await e.insert(r.communityChannel).values({serverId:u,name:d,type:"thread",parentChannelId:n,parentMessageId:i,creatorId:a}).returning({id:r.communityChannel.id}),m=await eO(e,c[0].id);if(!m)throw Error(`createThreadChannel: failed to re-fetch created channel ${c[0].id}`);return m}async function eQ(e,i,a){let s=[(0,t.eq)(r.communityChannel.parentChannelId,i)];return a?.archived!==void 0&&s.push((0,t.eq)(r.communityChannel.archived,+!!a.archived)),a?.type&&s.push((0,t.eq)(r.communityChannel.type,a.type)),await e.select(eN).from(r.communityChannel).where((0,t.and)(...s)).orderBy((0,n.desc)(r.communityChannel.lastMessageAt))}async function eK(e,n,i){return 0===i.length?[]:(await Promise.all(s(i,88).map(i=>e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.inArray)(r.communityChannel.parentMessageId,i)))))).flat()}async function eJ(e,n,i){let a=i.map((n,i)=>e.update(r.communityChannel).set({position:i}).where((0,t.eq)(r.communityChannel.id,n)));a.length>0&&await e.batch(a)}async function eV(e,n){var a;return 0===n.length?new Map:new Map((await e.select({serverId:r.communityChannel.serverId,latestAt:(a=r.communityChannel.lastMessageAt,i.sql`max(${a})`.mapWith((0,D.is)(a,O.Column)?a:String))}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.serverId,n)).groupBy(r.communityChannel.serverId)).filter(e=>e.latestAt).map(e=>[e.serverId,e.latestAt]))}async function eW(e,n){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select(eN).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n))))).flat()}async function eH(e,n,i){return 0===i.length?[]:(await Promise.all(s(i,88).map(i=>e.select(eN).from(r.communityChannel).where((0,t.and)((0,t.inArray)(r.communityChannel.id,i),(0,t.eq)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.type,"thread")))))).flat()}async function eG(e,n){let i=await e.select({id:r.communityChannel.id,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);if(0===i.length)return!1;let a=i[0].parentChannelId??i[0].id,s=await e.select({private:r.communityCategory.private}).from(r.communityChannel).leftJoin(r.communityCategory,(0,t.eq)(r.communityCategory.id,r.communityChannel.categoryId)).where((0,t.eq)(r.communityChannel.id,a)).limit(1);return(s[0]?.private??0)===1}async function eX(e,t){return(await e.insert(r.communityChannelMember).values({channelId:t.channelId,userId:t.userId,addedBy:t.addedBy??null,relation:t.relation??"access",source:t.source??eC.PARTICIPANT_SOURCE.ADDED}).onConflictDoNothing({target:[r.communityChannelMember.channelId,r.communityChannelMember.userId,r.communityChannelMember.relation]}).returning())[0]??null}async function eY(e,n,i,a="access"){return(await e.delete(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,a))).returning())[0]??null}async function e0(e,n,i){let a=e.delete(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"access"))).returning(),s=e.select({id:r.communityChannel.id}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.parentChannelId,n)),o=e.delete(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,s),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify")));return(await e.batch([a,o]))[0][0]??null}async function e1(e,i){return e.select({id:r.communityChannelMember.id,channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId,addedBy:r.communityChannelMember.addedBy,addedAt:r.communityChannelMember.addedAt}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,i),(0,t.eq)(r.communityChannelMember.relation,"access"))).orderBy((0,n.asc)(r.communityChannelMember.addedAt))}async function e6(e,n){return(await e.select({userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access")))).map(e=>e.userId)}async function e4(e,n,i,a="access"){return(await e.select({id:r.communityChannelMember.id}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,a))).limit(1)).length>0}async function e2(e,n){let i=await e.select({cnt:P()}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access")));return i[0]?.cnt??0}async function e9(e,n){let i=await e.select({cnt:P()}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.categoryId,n));return i[0]?.cnt??0}async function e3(e,n){let i=await e.select({id:r.communityChannel.id,serverId:r.communityChannel.serverId,creatorId:r.communityChannel.creatorId,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);if(0===i.length)return[];let a=new Set,s=i[0].parentChannelId??i[0].id,o=s===i[0].id?i[0].creatorId:(await e.select({creatorId:r.communityChannel.creatorId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,s)).limit(1))[0]?.creatorId;for(let t of(await e6(e,s)))a.add(t);return o&&a.add(o),[...a]}async function e5(e,i,a){let s=(0,t.and)((0,t.eq)(r.communityChannel.serverId,i),(0,t.isNull)(r.communityChannel.parentChannelId)),[o,u]=await Promise.all([e.select(eN).from(r.communityChannel).where(s).orderBy((0,n.asc)(r.communityChannel.position)),e7(e,a,{serverIds:[i]})]);return o.filter(e=>u.has(e.id))}async function e7(e,n,i){let a=new Set,{serverIds:s}=i;if(0===s.length)return a;let o=await e.select({id:r.communityChannel.id,type:r.communityChannel.type,categoryId:r.communityChannel.categoryId,categoryPrivate:r.communityCategory.private,creatorId:r.communityChannel.creatorId,parentChannelId:r.communityChannel.parentChannelId}).from(r.communityChannel).leftJoin(r.communityCategory,(0,t.eq)(r.communityCategory.id,r.communityChannel.categoryId)).where((0,t.inArray)(r.communityChannel.serverId,s)),u=new Set((await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.inArray)(r.communityChannel.serverId,s)))).map(e=>e.channelId)),l=new Map(o.map(e=>[e.id,e])),d=e=>null!=e.categoryId&&1===e.categoryPrivate;for(let e of o)null==e.parentChannelId&&(!d(e)||e.creatorId===n||u.has(e.id))&&a.add(e.id);for(let e of o){if(null==e.parentChannelId)continue;let t=l.get(e.parentChannelId);t&&a.has(t.id)&&a.add(e.id)}return a}async function e8(e,t,n){return[...await e7(e,n,{serverIds:[t]})]}async function te(e,n){let i=await e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.userId,n));return 0===i.length?[]:[...await e7(e,n,{serverIds:i.map(e=>e.serverId)})]}async function tt(e,n,i){let a=await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n)).limit(1);if(0===a.length)return null;let s=a[0],o=s.parentChannelId??s.id;if((0,eM.visibilityIsDmParticipant)(s.type))return await e4(e,s.id,i,"access")?{channel:s,anchor:s,role:"member",isPrivate:!0,isChannelMember:!0,isCreator:!1}:null;let u=await e.select({role:r.communityServerMember.role}).from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,s.serverId),(0,t.eq)(r.communityServerMember.userId,i))).limit(1);if(0===u.length)return null;let l=o===s.id?[a[0]]:await e.select(eN).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,o)).limit(1);if(0===l.length)return null;let d=l[0],c=0;if(d.categoryId){let n=await e.select({private:r.communityCategory.private}).from(r.communityCategory).where((0,t.eq)(r.communityCategory.id,d.categoryId)).limit(1);c=n[0]?.private??0}let m=1===c&&await e4(e,o,i);return{channel:s,anchor:d,role:u[0].role,isPrivate:1===c,isChannelMember:m,isCreator:d.creatorId===i}}function tn(e,t){return e<t?-1:+(e>t)}e.s(["countChannelsInCategory",0,e9,"createChannel",0,eE,"createChannelMember",0,eX,"createThreadChannel",0,eF,"deleteChannel",0,ej,"deleteChannelMember",0,eY,"deleteChannelMemberAndChildParticipants",0,e0,"getChannel",0,eO,"getChannelForMember",0,eP,"getChannelMemberCount",0,e2,"getChannelType",0,eD,"getChannelsByIds",0,eW,"getDirectChildThreadsByIds",0,eH,"getPrivateChannelAudienceUserIds",0,e3,"getServersLastActivity",0,eV,"getThreadChannelByParentMessage",0,eB,"isChannelMember",0,e4,"isChannelPrivate",0,eG,"listChannelMemberUserIds",0,e6,"listChannelMembers",0,e1,"listChannelsForMember",0,eL,"listChildChannels",0,eQ,"listChildChannelsByParentMessageIds",0,eK,"listServerChannels",0,eZ,"listServerChannelsForViewer",0,e5,"listVisibleChannelIds",0,e8,"listVisibleChannelIdsForUser",0,te,"reorderChannels",0,eJ,"resolveChannelAccessContext",0,tt,"resolveChannelByNameForMember",0,eR,"updateChannel",0,eU],496543);let ti=[r.communityChannelMember.channelId,r.communityChannelMember.userId,r.communityChannelMember.relation];async function tr(e,t){return(await e.insert(r.communityChannelMember).values({channelId:t.threadChannelId,userId:t.userId,relation:"notify",source:t.source}).onConflictDoNothing({target:[...ti]}).returning())[0]??null}async function ta(e,t,n){if(0===n.length)return[];let i=[];for(let a of s(n,o(6)))for(let n of(await e.insert(r.communityChannelMember).values(a.map(e=>({channelId:t,userId:e.userId,relation:"notify",source:e.source}))).onConflictDoNothing({target:[...ti]}).returning({userId:r.communityChannelMember.userId})))i.push(n.userId);return i}async function ts(e,n){return(await e.select({userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"notify")))).map(e=>e.userId)}async function to(e,n){return e.select({userId:r.communityChannelMember.userId,source:r.communityChannelMember.source,addedAt:r.communityChannelMember.addedAt,userName:a.user.name,userImage:a.user.image,discriminator:a.user.discriminator}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"notify")))}async function tu(e,o,u){if(0===o.length)return[];let l=s([...new Set(o)],90);return void 0!==u?(await Promise.all(l.map(s=>{let o=e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId,addedAt:r.communityChannelMember.addedAt,userName:a.user.name,userImage:a.user.image,participantCount:i.sql`count(*) over (partition by ${r.communityChannelMember.channelId})`.as("participant_count"),rank:i.sql`row_number() over (partition by ${r.communityChannelMember.channelId} order by ${r.communityChannelMember.addedAt}, ${r.communityChannelMember.userId})`.as("participant_rank")}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,s),(0,t.eq)(r.communityChannelMember.relation,"notify"))).as("ranked_participants");return e.select({channelId:o.channelId,userId:o.userId,addedAt:o.addedAt,userName:o.userName,userImage:o.userImage,participantCount:o.participantCount}).from(o).where((0,t.lte)(o.rank,u)).orderBy((0,n.asc)(o.channelId),(0,n.asc)(o.addedAt),(0,n.asc)(o.userId))}))).flat().sort((e,t)=>tn(e.channelId,t.channelId)||tn(e.addedAt,t.addedAt)||tn(e.userId,t.userId)):(await Promise.all(l.map(n=>e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId,addedAt:r.communityChannelMember.addedAt,userName:a.user.name,userImage:a.user.image}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"notify")))))).flat()}async function tl(e,n,i){return(await e.select({id:r.communityChannelMember.id}).from(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify"))).limit(1)).length>0}async function td(e,n,i){return(await e.delete(r.communityChannelMember).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify"))).returning())[0]??null}async function tc(e,n,i){let a=(await e.select({id:r.communityChannel.id}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.parentChannelId,n))).map(e=>e.id);return 0===a.length?0:(await e.delete(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,a),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify"))).returning()).length}async function tm(e,n,i){return 0===n.length?[]:(await Promise.all(s(n,90).map(n=>e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"notify")))))).flat().map(e=>e.channelId)}async function tg(e,a){let s=i.sql`coalesce(${r.communityChannel.lastMessageAt}, ${r.communityChannel.createdAt})`,o=[(0,t.eq)(r.communityChannel.parentChannelId,a.parentChannelId),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.eq)(r.communityChannel.archived,0),(0,t.isNotNull)(r.communityChannel.parentMessageId)];a.cursor&&o.push((0,t.or)((0,t.lt)(s,a.cursor.activityAt),(0,t.and)((0,t.eq)(s,a.cursor.activityAt),(0,t.lt)(r.communityChannel.id,a.cursor.id))));let u={id:r.communityChannel.id,serverId:r.communityChannel.serverId,categoryId:r.communityChannel.categoryId,name:r.communityChannel.name,type:r.communityChannel.type,topic:r.communityChannel.topic,position:r.communityChannel.position,parentChannelId:r.communityChannel.parentChannelId,creatorId:r.communityChannel.creatorId,messageCount:r.communityChannel.messageCount,archived:r.communityChannel.archived,parentMessageId:r.communityChannel.parentMessageId,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt,activityAt:s.as("activity_at")};return a.tag?e.select(u).from(r.communityChannel).innerJoin(r.communityMessageTag,(0,t.and)((0,t.eq)(r.communityMessageTag.messageId,r.communityChannel.parentMessageId),(0,t.eq)(r.communityMessageTag.tag,a.tag))).where((0,t.and)(...o)).orderBy((0,n.desc)(s),(0,n.desc)(r.communityChannel.id)).limit(a.limit):e.select(u).from(r.communityChannel).where((0,t.and)(...o)).orderBy((0,n.desc)(s),(0,n.desc)(r.communityChannel.id)).limit(a.limit)}async function tp(e,a){let o=[...new Set(a.parentChannelIds)];if(0===o.length||a.limitPerParent<1)return{canonical:[],retained:null};let u=i.sql`coalesce(${r.communityChannel.lastMessageAt}, ${r.communityChannel.createdAt})`,l={id:r.communityChannel.id,serverId:r.communityChannel.serverId,categoryId:r.communityChannel.categoryId,name:r.communityChannel.name,type:r.communityChannel.type,topic:r.communityChannel.topic,position:r.communityChannel.position,parentChannelId:r.communityChannel.parentChannelId,creatorId:r.communityChannel.creatorId,messageCount:r.communityChannel.messageCount,archived:r.communityChannel.archived,parentMessageId:r.communityChannel.parentMessageId,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt,activityAt:u.as("activity_at")},d=(await Promise.all(s(o,90).map(s=>{let o=e.select({...l,rank:i.sql`row_number() over (partition by ${r.communityChannel.parentChannelId} order by ${u} desc, ${r.communityChannel.id} desc)`.as("sidebar_rank")}).from(r.communityChannel).innerJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityChannel.id),(0,t.eq)(r.communityChannelMember.userId,a.userId),(0,t.eq)(r.communityChannelMember.relation,"notify"))).where((0,t.and)((0,t.inArray)(r.communityChannel.parentChannelId,s),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.eq)(r.communityChannel.archived,0),(0,t.isNotNull)(r.communityChannel.parentMessageId),(0,t.gt)(u,a.activeAfter))).as("ranked_sidebar_threads");return e.select({id:o.id,serverId:o.serverId,categoryId:o.categoryId,name:o.name,type:o.type,topic:o.topic,position:o.position,parentChannelId:o.parentChannelId,creatorId:o.creatorId,messageCount:o.messageCount,archived:o.archived,parentMessageId:o.parentMessageId,lastMessageAt:o.lastMessageAt,createdAt:o.createdAt,activityAt:o.activityAt}).from(o).where((0,t.lte)(o.rank,a.limitPerParent)).orderBy((0,n.asc)(o.parentChannelId),(0,n.desc)(o.activityAt),(0,n.desc)(o.id))}))).flat(),c=null;return a.retainId&&(c=(await Promise.all(s(o,90).map(n=>e.select(l).from(r.communityChannel).innerJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityChannel.id),(0,t.eq)(r.communityChannelMember.userId,a.userId),(0,t.eq)(r.communityChannelMember.relation,"notify"))).where((0,t.and)((0,t.eq)(r.communityChannel.id,a.retainId),(0,t.inArray)(r.communityChannel.parentChannelId,n),(0,t.eq)(r.communityChannel.type,"thread"),(0,t.eq)(r.communityChannel.archived,0),(0,t.isNotNull)(r.communityChannel.parentMessageId))).limit(1)))).flat()[0]??null),{canonical:d.sort((e,t)=>tn(e.parentChannelId??"",t.parentChannelId??"")||tn(t.activityAt,e.activityAt)||tn(t.id,e.id)),retained:c}}async function tf(e,t){return(await e.insert(r.communityServerMember).values({serverId:t.serverId,userId:t.userId,role:t.role??"member"}).returning())[0]}async function th(e,n){return(await e.delete(r.communityServerMember).where((0,t.eq)(r.communityServerMember.id,n)).returning())[0]??null}async function ty(e,n,i,a){let s=e.delete(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.id,n),(0,t.eq)(r.communityServerMember.serverId,i))).returning(),o=tM(e,i,a);return(await e.batch([s,o]))[0][0]??null}async function tv(e,n,i){return(await e.update(r.communityServerMember).set({role:i}).where((0,t.eq)(r.communityServerMember.id,n)).returning())[0]??null}async function tI(e,n){return e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,userIsBot:a.user.isBot,userOwnerUserId:a.user.ownerUserId,discriminator:a.user.discriminator}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.isNull)(a.user.deletedAt)))}async function t_(e,n,i){return 0===i.length?[]:e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,userIsBot:a.user.isBot,userOwnerUserId:a.user.ownerUserId,discriminator:a.user.discriminator,statusEmoji:r.communityUserProfile.statusEmoji,statusText:r.communityUserProfile.statusText}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.inArray)(r.communityServerMember.userId,i),(0,t.isNull)(a.user.deletedAt)))}async function tb(e,n,i,a){await e.update(r.communityServerMember).set({railOrder:a}).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(r.communityServerMember.userId,i)))}async function tw(e,n,i){if(0===i.length)return;let a=i.map((i,a)=>e.update(r.communityServerMember).set({railOrder:a}).where((0,t.and)((0,t.eq)(r.communityServerMember.userId,n),(0,t.eq)(r.communityServerMember.serverId,i))));await e.batch(a)}async function t$(e,n){return(await e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.userId,n))).map(e=>e.serverId)}async function tS(e,n){return(await e.select({userId:r.communityServerMember.userId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.serverId,n))).map(e=>e.userId)}async function tk(e,n){let i=await e.select({cnt:P()}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.serverId,n));return i[0]?.cnt??0}async function tA(e,i,s){let o=Math.max(1,Math.min(s.limit??eC.DEFAULT_MEMBERS_PAGE_SIZE,eC.MAX_MEMBERS_PAGE_SIZE)),u=[(0,t.eq)(r.communityServerMember.serverId,i)];s.cursor&&u.push((0,t.or)((0,t.gt)(r.communityServerMember.joinedAt,s.cursor.joinedAt),(0,t.and)((0,t.eq)(r.communityServerMember.joinedAt,s.cursor.joinedAt),(0,t.gt)(r.communityServerMember.id,s.cursor.id)))),u.push((0,t.isNull)(a.user.deletedAt));let l=await e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,userIsBot:a.user.isBot,userOwnerUserId:a.user.ownerUserId,discriminator:a.user.discriminator,statusEmoji:r.communityUserProfile.statusEmoji,statusText:r.communityUserProfile.statusText}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)(...u)).orderBy((0,n.asc)(r.communityServerMember.joinedAt),(0,n.asc)(r.communityServerMember.id)).limit(o+1),d=l.length>o,c=d?l.slice(0,o):l,m=c[c.length-1],g=d&&m?{joinedAt:m.joinedAt,id:m.id}:void 0;return{members:c,hasMore:d,cursor:g}}async function tx(e,i,s,o){let u=Math.max(1,Math.min(o?.limit??eC.MAX_MEMBERS_PAGE_SIZE,eC.MAX_MEMBERS_PAGE_SIZE)),l=`${R(s)}%`;return e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image,discriminator:a.user.discriminator,statusEmoji:r.communityUserProfile.statusEmoji,statusText:r.communityUserProfile.statusText}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).leftJoin(r.communityUserProfile,(0,t.eq)(r.communityUserProfile.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,i),(0,t.or)((0,t.like)(a.user.name,l),(0,t.like)(a.user.email,l)))).orderBy((0,n.asc)(a.user.name),(0,n.asc)(r.communityServerMember.id)).limit(u)}async function tq(e,n,i){return(await e.select().from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(r.communityServerMember.userId,i))))[0]??null}async function tz(e,n,i){return(await e.select({id:r.communityServerMember.id,serverId:r.communityServerMember.serverId,userId:r.communityServerMember.userId,role:r.communityServerMember.role,joinedAt:r.communityServerMember.joinedAt,userName:a.user.name,userEmail:a.user.email,userImage:a.user.image}).from(r.communityServerMember).innerJoin(a.user,(0,t.eq)(r.communityServerMember.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.id,n),(0,t.eq)(r.communityServerMember.serverId,i.serverId))))[0]??null}async function tT(e,n,i){return 0===i.length?[]:e.select().from(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.userId,n),(0,t.inArray)(r.communityServerMember.serverId,i)))}async function tC(e,n,i){return(await e.select({id:a.user.id}).from(a.user).innerJoin(r.communityServerMember,(0,t.eq)(r.communityServerMember.userId,a.user.id)).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.eq)(a.user.ownerUserId,i),(0,t.eq)(a.user.isBot,!0),(0,t.isNull)(a.user.deletedAt)))).map(e=>e.id)}function tM(e,n,a){return 0===a.length?e.delete(r.communityServerMember).where(i.sql`1 = 0`):e.delete(r.communityServerMember).where((0,t.and)((0,t.eq)(r.communityServerMember.serverId,n),(0,t.inArray)(r.communityServerMember.userId,a)))}async function tN(e,t,n){await tM(e,t,n)}async function tE(e,t,n){let i=await tt(e,n.channelId,t);return!!i&&("dm"===i.channel.type||!!(!i.isPrivate||(0,eM.canSeePrivateChannel)({role:i.role,isCreator:i.isCreator,isChannelMember:i.isChannelMember}))&&(!(0,eM.reachIsParticipantSet)(i.channel.type)||tl(e,n.channelId,t)))}async function tO(e,n){let i=e.select({serverId:r.communityServerMember.serverId}).from(r.communityServerMember).where((0,t.eq)(r.communityServerMember.userId,n));return(await e.selectDistinct({userId:r.communityServerMember.userId}).from(r.communityServerMember).where((0,t.and)((0,t.inArray)(r.communityServerMember.serverId,i),(0,t.ne)(r.communityServerMember.userId,n)))).map(e=>e.userId)}async function tD(e,n,i){let a=(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannel.type,"dm"),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannelMember.userId,n)))).map(e=>e.channelId);if(0===a.length)return null;let s=await e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,a),(0,t.eq)(r.communityChannelMember.relation,"access"))),o=new Map;for(let e of s){let t=o.get(e.channelId);t||(t=new Set,o.set(e.channelId,t)),t.add(e.userId)}for(let[e,t]of o)if(2===t.size&&t.has(n)&&t.has(i))return e;return null}async function tP(e,n){let i=await tD(e,n.userId1,n.userId2);if(i)return(await e.select().from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,i)))[0];let a=(await e.insert(r.communityChannel).values({type:"dm",serverId:null,name:null,topic:""}).returning())[0],s=new Date().toISOString();return await e.insert(r.communityChannelMember).values([{channelId:a.id,userId:n.userId1,relation:"access",source:eC.PARTICIPANT_SOURCE.ADDED,addedAt:s},{channelId:a.id,userId:n.userId2,relation:"access",source:eC.PARTICIPANT_SOURCE.ADDED,addedAt:s}]),a}async function tU(e,n){return(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.channelId)}async function tj(e,i){let s=(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,i),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.channelId);if(0===s.length)return[];let o=await e.select({id:r.communityChannel.id,otherUserId:a.user.id,otherUserName:a.user.name,otherUserEmail:a.user.email,otherUserImage:a.user.image,otherUserDiscriminator:a.user.discriminator,lastMessageAt:r.communityChannel.lastMessageAt,createdAt:r.communityChannel.createdAt}).from(r.communityChannel).innerJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityChannel.id),(0,t.eq)(r.communityChannelMember.relation,"access"))).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.inArray)(r.communityChannel.id,s),(0,t.isNull)(a.user.deletedAt))).orderBy((0,n.desc)(r.communityChannel.lastMessageAt)),u=new Set,l=[];for(let e of o)e.otherUserId!==i&&(u.has(e.otherUserId)||(u.add(e.otherUserId),l.push(e)));return l.sort((e,t)=>{let n=e.lastMessageAt??e.createdAt;return(t.lastMessageAt??t.createdAt).localeCompare(n)})}async function tZ(e,n){return(await e.select().from(r.communityChannel).where((0,t.and)((0,t.eq)(r.communityChannel.id,n),(0,t.eq)(r.communityChannel.type,"dm"))))[0]??null}async function tR(e,n,i){let a=await tD(e,n,i);return a?(await e.select().from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,a)))[0]??null:null}async function tL(e,n,i){let a=(await e.select({userId:r.communityChannelMember.userId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.userId);if(!a.includes(i))return null;let s=a.find(e=>e!==i);return s?{otherUserId:s}:null}function tB(e,t){let{userId:n,channelId:a,message:s}=t;return e.insert(r.communityReadState).values({userId:n,channelId:a,lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:s.seq}).onConflictDoUpdate({target:[r.communityReadState.userId,r.communityReadState.channelId],set:{lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:s.seq},setWhere:i.sql`${r.communityReadState.lastReadAt} < ${s.createdAt}`})}async function tF(e,t){await tB(e,t)}async function tQ(e,n,i){if(0===i.length)return 0;let a=await w(e,i);if(0===a.length)return 0;let u=a.map(e=>e.channelId),l=(await Promise.all(s(u,90).map(i=>e.select({id:r.communityReadState.id,channelId:r.communityReadState.channelId}).from(r.communityReadState).where((0,t.and)((0,t.eq)(r.communityReadState.userId,n),(0,t.inArray)(r.communityReadState.channelId,i)))))).flat(),d=new Map;for(let e of l)e.channelId&&d.set(e.channelId,e.id);let c=[],m=[];for(let e of a){let t=d.get(e.channelId);t?c.push({id:t,channelId:e.channelId,msgId:e.id,createdAt:e.createdAt,seq:e.seq}):m.push({channelId:e.channelId,msgId:e.id,createdAt:e.createdAt,seq:e.seq})}for(let n of c)await e.update(r.communityReadState).set({lastReadAt:n.createdAt,lastReadMessageId:n.msgId,lastReadSeq:n.seq}).where((0,t.and)((0,t.eq)(r.communityReadState.id,n.id),(0,t.lt)(r.communityReadState.lastReadAt,n.createdAt)));if(m.length>0)for(let t of s(m,o(6)))await e.insert(r.communityReadState).values(t.map(e=>({userId:n,channelId:e.channelId,lastReadAt:e.createdAt,lastReadMessageId:e.msgId,lastReadSeq:e.seq})));return a.length}async function tK(e,t){let n=(await tj(e,t)).map(e=>e.id);return 0===n.length?0:tQ(e,t,n)}async function tJ(e,t,n,a){let s=await S(e,n,a);if(!s)return null;let o=await tV(e,{userId:t,...n});return o&&o.lastReadSeq>=a&&o.lastReadMessageId?{id:o.lastReadMessageId,createdAt:o.lastReadAt,seq:o.lastReadSeq}:(await e.insert(r.communityReadState).values({userId:t,channelId:n.channelId,lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:a}).onConflictDoUpdate({target:[r.communityReadState.userId,r.communityReadState.channelId],set:{lastReadAt:s.createdAt,lastReadMessageId:s.id,lastReadSeq:a},setWhere:i.sql`${r.communityReadState.lastReadSeq} < ${a}`}),{id:s.id,createdAt:s.createdAt,seq:a})}async function tV(e,n){return(await e.select().from(r.communityReadState).where((0,t.and)((0,t.eq)(r.communityReadState.userId,n.userId),(0,t.eq)(r.communityReadState.channelId,n.channelId))))[0]??null}async function tW(e,t,n){let i=await tV(e,{userId:t,...n});return i?.lastReadSeq??0}e.s(["addThreadParticipant",0,tr,"addThreadParticipants",0,ta,"isThreadParticipant",0,tl,"listForumThreadsByActivity",0,tg,"listParticipantsForChannels",0,tu,"listParticipatingForumThreads",0,tp,"listParticipatingThreadIds",0,tm,"listThreadParticipantUserIds",0,ts,"listThreadParticipants",0,to,"removeParticipantFromChildChannels",0,tc,"removeThreadParticipant",0,td],643181),e.s(["addMember",0,tf,"bulkUpdateRailOrder",0,tw,"canBotReadWakeScope",0,tE,"countMembers",0,tk,"getCoMemberUserIds",0,tO,"getMember",0,tq,"getMemberById",0,tz,"getMembersByUserIds",0,t_,"getMemberships",0,tT,"listMemberServerIds",0,t$,"listMemberUserIds",0,tS,"listMembers",0,tI,"listMembersPaginated",0,tA,"listOwnerBotsInServer",0,tC,"removeMember",0,th,"removeMemberAndOwnerBots",0,ty,"removeOwnerBotsFromServer",0,tN,"removeOwnerBotsFromServerStatement",0,tM,"searchMembers",0,tx,"updateRailOrder",0,tb,"updateRole",0,tv],249377),e.s(["createOrGetDM",0,tP,"getDM",0,tZ,"getDMBetween",0,tR,"getDMPeer",0,tL,"listDMs",0,tj,"listDmChannelIdsForUser",0,tU],729051),e.s(["bumpReadCursor",0,tJ,"getReadState",0,tV,"getWakeReadSeq",0,tW,"markAllDmsRead",0,tK,"markAllServerChannelsRead",0,tQ,"markReadToMessage",0,tF,"markReadToMessageBuilder",0,tB],826015);var tH=e.i(626414),tG=e.i(837200);let tX={id:r.communityMessage.id,authorId:r.communityMessage.authorId,content:r.communityMessage.content,createdAt:r.communityMessage.createdAt,channelId:r.communityMessage.channelId,seq:r.communityMessage.seq,replyToId:r.communityMessage.replyToId};async function tY(e,n,i){let o=[...new Set(n.map(e=>e.channelId))];if(0===o.length)return new Map;let u=(await Promise.all(s(o,90).map(n=>(0,tG.withD1Retry)(()=>e.select({id:r.communityChannel.id,name:r.communityChannel.name,type:r.communityChannel.type,serverId:r.communityChannel.serverId,parentChannelId:r.communityChannel.parentChannelId,parentMessageId:r.communityChannel.parentMessageId}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n)),{route:"community/agent-inbox:scope-channels"})))).flat(),l=u.filter(e=>"dm"===e.type).map(e=>e.id),d=l.length?(await Promise.all(s(l,90).map(n=>(0,tG.withD1Retry)(()=>e.select({channelId:r.communityChannelMember.channelId,userId:r.communityChannelMember.userId}).from(r.communityChannelMember).where((0,t.and)((0,t.inArray)(r.communityChannelMember.channelId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.ne)(r.communityChannelMember.userId,i))),{route:"community/agent-inbox:dm-members"})))).flat():[],c=new Map;for(let e of d)c.has(e.channelId)||c.set(e.channelId,e.userId);let m=[...new Set([...c.values()])],g=new Map((m.length?(await Promise.all(s(m,90).map(n=>(0,tG.withD1Retry)(()=>e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator}).from(a.user).where((0,t.inArray)(a.user.id,n)),{route:"community/agent-inbox:dm-peers"})))).flat():[]).map(e=>[e.id,e])),p=[...new Set(u.map(e=>e.parentChannelId).filter(e=>!!e))],f=[...new Set(u.map(e=>e.parentMessageId).filter(e=>!!e))],h=[...new Set(u.map(e=>e.serverId).filter(e=>!!e))],y=(e,t)=>e.length?Promise.all(s(e,90).map(e=>(0,tG.withD1Retry)(()=>t(e),{route:"community/agent-inbox:scope-context"}))).then(e=>e.flat()):Promise.resolve([]),[v,I,_]=await Promise.all([y(p,n=>e.select({id:r.communityChannel.id,name:r.communityChannel.name}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n))),y(h,n=>e.select({id:r.communityServer.id,name:r.communityServer.name,discriminator:r.communityServer.discriminator}).from(r.communityServer).where((0,t.inArray)(r.communityServer.id,n))),y(f,n=>e.select({id:r.communityMessage.id,seq:r.communityMessage.seq}).from(r.communityMessage).where((0,t.inArray)(r.communityMessage.id,n)))]),b=new Map(v.map(e=>[e.id,e])),w=new Map(I.map(e=>[e.id,(0,L.formatHandle)(e.name,e.discriminator)])),$=new Map(_.map(e=>[e.id,e.seq])),S=new Map;for(let e of u){let t,n=e.type??"text",i="dm"===n;if(i){let n=c.get(e.id),i=n?g.get(n):void 0;if(!i)throw Error("DM peer identity unavailable");t=(0,L.formatHandle)(i.name,i.discriminator)}let r=e.serverId?w.get(e.serverId):void 0,a=e.parentChannelId?b.get(e.parentChannelId):void 0,s=e.parentMessageId?$.get(e.parentMessageId):void 0,o=e.parentChannelId&&e.parentMessageId&&a&&void 0!==s?"thread":n,u=(0,tH.formatCanonicalRef)({type:o,serverHandle:r,name:e.name,parentName:a?.name,rootSeq:s,peerSegment:t});if(null===u)throw Error("Channel identity unavailable");S.set(e.id,{ref:u,isThread:"thread"===o,isDm:i,isForum:"forum"===n})}return S}function t0(e){return e.channelId}async function t1(e,n,i,r){if(0===n.length)return[];let o=[...new Set(n.map(e=>e.authorId))],[u,l,d]=await Promise.all([tY(e,n,i),Promise.all(s(o,90).map(n=>e.select({id:a.user.id,name:a.user.name,discriminator:a.user.discriminator}).from(a.user).where((0,t.inArray)(a.user.id,n)))).then(e=>e.flat()),t6(e,n)]),c=new Map(l.map(e=>[e.id,e]));return n.map(e=>{let t=u.get(t0(e));if(!t)throw Error("Channel identity unavailable");let n=t.ref,i=c.get(e.authorId),a=i?`@${(0,L.formatHandle)(i.name,i.discriminator)}`:"Unknown user",s=r?.get(e.id),o={text:e.content};s&&s.length>0&&(o.attachments=s);let l=e.replyToId?d.get(e.replyToId):void 0;l&&(o.replyTo=l);let m=t.isForum?`${n}/${(0,tH.formatSeq)(e.seq)}`:null;return{seq:(0,tH.formatSeq)(e.seq),channel:n,sender:a,content:o,...m?{hint:`This is a forum post, please reply in ${m}.`}:{},time:e.createdAt}})}async function t6(e,t){let n=new Map;for(let e of t){if(!e.replyToId)continue;let t={channelId:e.channelId},i=t0(e),r=n.get(i);r||(r={scope:t,ids:new Set},n.set(i,r)),r.ids.add(e.replyToId)}if(0===n.size)return new Map;let i=await Promise.all([...n.values()].map(t=>N(e,[...t.ids],t.scope))),r=new Map;for(let e of i)for(let t of e)t.seq<=0||r.set(t.id,{seq:(0,tH.formatSeq)(t.seq),sender:`@${(0,L.formatHandle)(t.authorName,t.discriminator)}`});return r}async function t4(e,n,i){let s=(await e.select({id:r.communityChannel.id,name:r.communityChannel.name,type:r.communityChannel.type,serverId:r.communityChannel.serverId,parentChannelId:r.communityChannel.parentChannelId,parentMessageId:r.communityChannel.parentMessageId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,n.channelId)).limit(1))[0];if(!s)return null;let o=s.type??"text";if("dm"===o){let n=(await e.select({name:a.user.name,discriminator:a.user.discriminator}).from(r.communityChannelMember).innerJoin(a.user,(0,t.eq)(a.user.id,r.communityChannelMember.userId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.channelId,s.id),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.ne)(r.communityChannelMember.userId,i))).limit(1))[0];return n?(0,tH.formatCanonicalRef)({type:"dm",peerSegment:(0,L.formatHandle)(n.name,n.discriminator)}):null}if(s.parentChannelId&&s.parentMessageId){let[n,i]=await Promise.all([e.select({name:r.communityChannel.name,serverId:r.communityChannel.serverId}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,s.parentChannelId)).limit(1),e.select({seq:r.communityMessage.seq}).from(r.communityMessage).where((0,t.eq)(r.communityMessage.id,s.parentMessageId)).limit(1)]),a=n[0],o=i[0];if(!a||!o||!a.serverId)return null;let u=await t2(e,a.serverId);return u?(0,tH.formatCanonicalRef)({type:"thread",serverHandle:u,parentName:a.name,rootSeq:o.seq}):null}if(!s.serverId)return null;let u=await t2(e,s.serverId);return u?(0,tH.formatCanonicalRef)({type:o,serverHandle:u,name:s.name??void 0}):null}async function t2(e,n){let i=await e.select({name:r.communityServer.name,discriminator:r.communityServer.discriminator}).from(r.communityServer).where((0,t.eq)(r.communityServer.id,n)).limit(1);return i[0]?(0,L.formatHandle)(i[0].name,i[0].discriminator):null}async function t9(e,t,n,i){let r=i&&i.length>0?new Map([[t.id,i]]):void 0,[a]=await t1(e,[t],n,r);return a}async function t3(e,n){let i=await e.select({nextSeq:r.communityMessageSeq.nextSeq}).from(r.communityMessageSeq).where((0,t.eq)(r.communityMessageSeq.channelId,n));return i[0]?.nextSeq??0}async function t5(e,n){let i=await te(e,n),a=(await e.select({channelId:r.communityChannelMember.channelId}).from(r.communityChannelMember).innerJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityChannelMember.channelId)).where((0,t.and)((0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"),(0,t.eq)(r.communityChannel.type,"dm")))).map(e=>e.channelId);if(0===i.length)return a;let o=(await Promise.all(s(i,90).map(n=>e.select({id:r.communityChannel.id,type:r.communityChannel.type}).from(r.communityChannel).where((0,t.inArray)(r.communityChannel.id,n))))).flat().filter(e=>(0,eM.reachIsParticipantSet)(e.type)).map(e=>e.id),u=o.length>0?new Set(await tm(e,o,n)):new Set,l=new Set(o);return[...i.filter(e=>!l.has(e)||u.has(e)),...a]}let t7=i.sql`${r.communityMessage.createdAt} > COALESCE(${r.communityChannelMember.addedAt}, ${r.communityServerMember.joinedAt}, '')`;async function t8(e,a,o){let u=await t5(e,a);if(0===u.length)return[];let l=(await Promise.all(s(u,90).map(s=>e.select({...tX,lastReadSeq:i.sql`COALESCE(${r.communityReadState.lastReadSeq}, 0)`}).from(r.communityMessage).leftJoin(r.communityReadState,(0,t.and)((0,t.eq)(r.communityReadState.userId,a),(0,t.eq)(r.communityReadState.channelId,r.communityMessage.channelId))).leftJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityMessage.channelId)).leftJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityMessage.channelId),(0,t.eq)(r.communityChannelMember.userId,a),(0,t.eq)(r.communityChannelMember.relation,"access"))).leftJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,a))).where((0,t.and)((0,t.ne)(r.communityMessage.authorId,a),i.sql`${r.communityMessage.seq} > COALESCE(${r.communityReadState.lastReadSeq}, 0)`,(0,t.inArray)(r.communityMessage.channelId,s),t7)).orderBy((0,n.asc)(r.communityMessage.channelId),(0,n.asc)(r.communityMessage.seq)).limit(o.max)))).flat();return l.sort((e,t)=>e.channelId===t.channelId?e.seq-t.seq:e.channelId<t.channelId?-1:1),l.slice(0,o.max).map(({lastReadSeq:e,...t})=>t)}async function ne(e,n,i,a){let s=await e.select({type:r.communityChannel.type}).from(r.communityChannel).where((0,t.eq)(r.communityChannel.id,i)).limit(1),o=s[0]?.type;return(!(0,eM.reachIsParticipantSet)(o)||0!==(await tm(e,[i],n)).length)&&(await e.select({seq:r.communityMessage.seq}).from(r.communityMessage).leftJoin(r.communityChannel,(0,t.eq)(r.communityChannel.id,r.communityMessage.channelId)).leftJoin(r.communityChannelMember,(0,t.and)((0,t.eq)(r.communityChannelMember.channelId,r.communityMessage.channelId),(0,t.eq)(r.communityChannelMember.userId,n),(0,t.eq)(r.communityChannelMember.relation,"access"))).leftJoin(r.communityServerMember,(0,t.and)((0,t.eq)(r.communityServerMember.serverId,r.communityChannel.serverId),(0,t.eq)(r.communityServerMember.userId,n))).where((0,t.and)((0,t.eq)(r.communityMessage.channelId,i),(0,t.ne)(r.communityMessage.authorId,n),(0,t.gt)(r.communityMessage.seq,a),t7)).limit(1)).length>0}async function nt(e,n){let o=await t5(e,n);if(0===o.length)return[];let u=(await Promise.all(s(o,90).map(a=>e.select({channelId:r.communityMessage.channelId,pendingCount:i.sql`COUNT(*)`,firstPendingSeq:i.sql`MIN(${r.communityMessage.seq})`,latestSeq:i.sql`MAX(${r.communityMessage.seq})`,latestSenderId:i.sql`(SELECT author_id FROM community_message m2
75
75
  WHERE m2.channel_id = ${r.communityMessage.channelId}
76
76
  ORDER BY m2.seq DESC LIMIT 1)`,mentionCount:i.sql`(SELECT COUNT(*) FROM community_mention cm
77
77
  INNER JOIN community_message m3 ON m3.id = cm.message_id