better-supabase 0.7.1 → 0.8.0

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 (499) hide show
  1. package/README.md +6 -2
  2. package/dist/{access-sql-B0dF-SoF.js → access-sql-CrSbK1q-.js} +1 -1
  3. package/dist/{adapter-iKgjHVPx.js → adapter-CN45ibbV.js} +658 -157
  4. package/dist/{agents-CVHGd7It.d.ts → agents-BY_LQXtQ.d.ts} +4 -4
  5. package/dist/{ai-cache-CBWs1W0k.js → ai-cache-Dfgk8nBT.js} +2 -1
  6. package/dist/{ai-cache-DaDu_G5L.d.ts → ai-cache-DrUMMgp6.d.ts} +4 -4
  7. package/dist/{ai-chat-B24UI962.js → ai-chat-CVLRWbtS.js} +4 -3
  8. package/dist/{ai-chat-7amvXjmQ.d.ts → ai-chat-DXkMy74O.d.ts} +5 -5
  9. package/dist/{ai-files-CSPNswUY.js → ai-files-CioLu5du.js} +5 -4
  10. package/dist/ai-message-DfaP8sis.js +14 -0
  11. package/dist/ai-sdk/agents/index.d.ts +4 -4
  12. package/dist/ai-sdk/batches/index.d.ts +4 -4
  13. package/dist/ai-sdk/batches/index.js +4 -4
  14. package/dist/ai-sdk/cache/index.d.ts +2 -2
  15. package/dist/ai-sdk/cache/index.js +2 -2
  16. package/dist/ai-sdk/chat/index.d.ts +1 -1
  17. package/dist/ai-sdk/chat/index.js +8 -20
  18. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  19. package/dist/ai-sdk/files/index.d.ts +3 -3
  20. package/dist/ai-sdk/files/index.js +4 -4
  21. package/dist/ai-sdk/index.d.ts +37 -9
  22. package/dist/ai-sdk/index.js +3 -2
  23. package/dist/ai-sdk/mcp/index.d.ts +43 -6
  24. package/dist/ai-sdk/mcp/index.js +36 -7
  25. package/dist/ai-sdk/memory/index.d.ts +2 -2
  26. package/dist/ai-sdk/memory/index.js +1 -1
  27. package/dist/ai-sdk/workflow/index.d.ts +6 -6
  28. package/dist/ai-sdk/workflow/index.js +13 -24
  29. package/dist/{ai-tasks-Cd1HMFvB.d.ts → ai-tasks-BRQ6iQLc.d.ts} +4 -4
  30. package/dist/{announcements-ZRGnScWI.d.ts → announcements-Bouy0Ski.d.ts} +3 -3
  31. package/dist/{announcements-CiyOs-xP.js → announcements-p_BFofiR.js} +1 -1
  32. package/dist/api-Dnf2q-Ht.d.ts +370 -0
  33. package/dist/api-DtHFC037.js +676 -0
  34. package/dist/{api-keys-CIjghYjV.d.ts → api-keys-C8BlF3L2.d.ts} +4 -4
  35. package/dist/arazzo/index.d.ts +255 -0
  36. package/dist/arazzo/index.js +622 -0
  37. package/dist/{assistant-DwdpDH1q.d.ts → assistant-DBlFDZsi.d.ts} +5 -5
  38. package/dist/astro/index.d.ts +7 -7
  39. package/dist/astro/index.js +7 -7
  40. package/dist/asyncapi/index.d.ts +103 -0
  41. package/dist/asyncapi/index.js +569 -0
  42. package/dist/authorizer-ayxUDXXP.js +126 -0
  43. package/dist/authorizer-eiOjo-3l.d.ts +73 -0
  44. package/dist/better-result/index.d.ts +118 -0
  45. package/dist/better-result/index.js +64 -0
  46. package/dist/{bind-l4kAvYSv.js → bind-ButSzrHe.js} +1 -1
  47. package/dist/{bind-Bu_ZNa3W.d.ts → bind-CQ5mPyX1.d.ts} +3 -3
  48. package/dist/{block-events-CrT8r7Fe.js → block-events-DTxU5tfr.js} +18 -3
  49. package/dist/{block-fields-GFkxl4dP.js → block-fields-CroxUuF2.js} +3 -3
  50. package/dist/{block-fields-SJ6fEf3o.d.ts → block-fields-D1pfrcIY.d.ts} +2 -2
  51. package/dist/{block-helpers-CKtbFcRv.d.ts → block-helpers-C0Xj8War.d.ts} +2 -2
  52. package/dist/{block-helpers-DWHxHsEQ.js → block-helpers-Cy3pB96I.js} +41 -9
  53. package/dist/{block-hooks-BmjMyXTa.js → block-hooks-BPNMIlLl.js} +3 -3
  54. package/dist/{block-hooks-plbZ0AbJ.d.ts → block-hooks-DaOVC7SC.d.ts} +3 -3
  55. package/dist/{block-transport-BLr-ZgLc.js → block-transport-bAKh-dGc.js} +28 -2
  56. package/dist/{block-transport-DvaoPuZ9.d.ts → block-transport-inD4fFq-.d.ts} +24 -2
  57. package/dist/blocks/agents/index.d.ts +3 -3
  58. package/dist/blocks/agents/index.js +5 -4
  59. package/dist/blocks/ai-cache/index.d.ts +3 -3
  60. package/dist/blocks/ai-cache/index.js +3 -3
  61. package/dist/blocks/ai-chat/index.d.ts +9 -4
  62. package/dist/blocks/ai-chat/index.js +5 -5
  63. package/dist/blocks/ai-chat/react/index.d.ts +3 -3
  64. package/dist/blocks/ai-chat/react/index.js +5 -5
  65. package/dist/blocks/ai-files/index.d.ts +3 -3
  66. package/dist/blocks/ai-files/index.js +3 -3
  67. package/dist/blocks/ai-providers/index.d.ts +3 -3
  68. package/dist/blocks/ai-providers/index.js +8 -7
  69. package/dist/blocks/ai-tasks/index.d.ts +3 -3
  70. package/dist/blocks/ai-tasks/index.js +7 -6
  71. package/dist/blocks/announcements/index.d.ts +3 -3
  72. package/dist/blocks/announcements/index.js +3 -3
  73. package/dist/blocks/announcements/react/index.d.ts +3 -3
  74. package/dist/blocks/announcements/react/index.js +3 -3
  75. package/dist/blocks/api-keys/index.d.ts +5 -5
  76. package/dist/blocks/api-keys/index.js +8 -8
  77. package/dist/blocks/attachments/index.d.ts +12 -8
  78. package/dist/blocks/attachments/index.js +22 -13
  79. package/dist/blocks/audit/index.d.ts +21 -10
  80. package/dist/blocks/audit/index.js +30 -11
  81. package/dist/blocks/billing/index.d.ts +11 -9
  82. package/dist/blocks/billing/index.js +15 -15
  83. package/dist/blocks/comments/index.d.ts +8 -8
  84. package/dist/blocks/comments/index.js +8 -7
  85. package/dist/blocks/connectors/index.d.ts +3 -3
  86. package/dist/blocks/connectors/index.js +7 -6
  87. package/dist/blocks/data-lifecycle/index.d.ts +12 -8
  88. package/dist/blocks/data-lifecycle/index.js +13 -8
  89. package/dist/blocks/entitlements/index.d.ts +3 -3
  90. package/dist/blocks/entitlements/index.js +1 -1
  91. package/dist/blocks/flags/index.d.ts +4 -4
  92. package/dist/blocks/flags/index.js +4 -3
  93. package/dist/blocks/inbox/index.d.ts +3 -3
  94. package/dist/blocks/inbox/index.js +4 -5
  95. package/dist/blocks/inbox/react/index.d.ts +1 -1
  96. package/dist/blocks/inbox/react/index.js +1 -1
  97. package/dist/blocks/inbox/react/server.d.ts +1 -1
  98. package/dist/blocks/index.d.ts +10 -10
  99. package/dist/blocks/index.js +6 -6
  100. package/dist/blocks/jobs/index.d.ts +48 -32
  101. package/dist/blocks/jobs/index.js +44 -287
  102. package/dist/blocks/knowledge/index.d.ts +3 -3
  103. package/dist/blocks/knowledge/index.js +3 -3
  104. package/dist/blocks/memory/index.d.ts +4 -4
  105. package/dist/blocks/memory/index.js +7 -6
  106. package/dist/blocks/notifications/index.d.ts +11 -9
  107. package/dist/blocks/notifications/index.js +20 -25
  108. package/dist/blocks/notifications/react/index.d.ts +1 -1
  109. package/dist/blocks/notifications/react/index.js +1 -1
  110. package/dist/blocks/onboarding/index.d.ts +3 -3
  111. package/dist/blocks/onboarding/index.js +3 -3
  112. package/dist/blocks/onboarding/react/index.d.ts +2 -2
  113. package/dist/blocks/onboarding/react/index.js +2 -2
  114. package/dist/blocks/onboarding/react/server.d.ts +1 -1
  115. package/dist/blocks/organizations/index.d.ts +9 -9
  116. package/dist/blocks/organizations/index.js +11 -18
  117. package/dist/blocks/outbox/index.d.ts +2 -2
  118. package/dist/blocks/outbox/index.js +16 -25
  119. package/dist/blocks/profiles/index.d.ts +7 -7
  120. package/dist/blocks/profiles/index.js +7 -6
  121. package/dist/blocks/push/index.d.ts +4 -4
  122. package/dist/blocks/push/index.js +3 -3
  123. package/dist/blocks/settings/index.d.ts +4 -4
  124. package/dist/blocks/settings/index.js +7 -6
  125. package/dist/blocks/sso/index.d.ts +5 -5
  126. package/dist/blocks/sso/index.js +6 -5
  127. package/dist/blocks/usage/index.d.ts +3 -3
  128. package/dist/blocks/usage/index.js +5 -4
  129. package/dist/blocks/waitlist/index.d.ts +5 -5
  130. package/dist/blocks/waitlist/index.js +5 -4
  131. package/dist/blocks/webhooks/index.d.ts +22 -13
  132. package/dist/blocks/webhooks/index.js +41 -70
  133. package/dist/blocks/workflow-builder/index.d.ts +4 -4
  134. package/dist/blocks/workflow-builder/index.js +3 -3
  135. package/dist/blocks/workflow-builder/react/index.d.ts +4 -4
  136. package/dist/blocks/workflow-builder/react/index.js +4 -4
  137. package/dist/blocks/workflows/index.d.ts +3 -3
  138. package/dist/blocks/workflows/index.js +3 -3
  139. package/dist/blocks/workflows/react/index.d.ts +3 -3
  140. package/dist/blocks/workflows/react/index.js +3 -3
  141. package/dist/build-hPwk3_X5.js +1296 -0
  142. package/dist/{build-BXIzE6Xv.js → build-meLuYGri.js} +3 -3
  143. package/dist/casing-DdFWEtqr.js +16 -0
  144. package/dist/chat-sdk/index.d.ts +6 -6
  145. package/dist/chat-sdk/index.js +5 -4
  146. package/dist/chat-sdk/react/index.d.ts +1 -1
  147. package/dist/chat-sdk/react/server.d.ts +1 -1
  148. package/dist/{claims-DDBQT6BK.js → claims-0KZVT804.js} +1 -1
  149. package/dist/cli/add-1dc5wM5k.js +69 -0
  150. package/dist/cli/arazzo-1.0-BalU61-_.js +532 -0
  151. package/dist/cli/arazzo-1.1-Bnfasbun.js +705 -0
  152. package/dist/cli/asyncapi-3.0.0-C78dBjR6.js +5593 -0
  153. package/dist/cli/asyncapi-3.1.0-g-7aIfV1.js +5833 -0
  154. package/dist/cli/bin.js +4 -4
  155. package/dist/cli/cache-CIfA-jBV.js +483 -0
  156. package/dist/cli/{codemod-Bl_tQpHn.js → codemod-JVlTQQG2.js} +4 -4
  157. package/dist/cli/{command-CK14fP91.js → command-DV-StG1x.js} +5 -0
  158. package/dist/cli/{config-DU7EJImt.js → config-C2Pz2_4A.js} +7 -4
  159. package/dist/cli/config-DpbF8ML3.js +2 -0
  160. package/dist/cli/{config-NiPxAmUF.js → config-M-WzL9O2.js} +116 -18
  161. package/dist/cli/{db-DOBPt660.js → db-BkcfOlyB.js} +2 -1
  162. package/dist/cli/{diff-SjkO5rNr.js → diff-D1jGdb3Y.js} +1 -1
  163. package/dist/cli/{doctor-DJk0aeBi.js → doctor-VcDtuusV.js} +316 -221
  164. package/dist/cli/emit-BHHfwUoT.js +1136 -0
  165. package/dist/cli/{env-qXgyMV6r.js → env-B--LMhEe.js} +13 -10
  166. package/dist/cli/env-vzBG90Um.js +2 -0
  167. package/dist/cli/{env-CJLbUVPB.js → env-zHJtMIBo.js} +11 -3
  168. package/dist/cli/{errors-4v4DTtda.js → errors-CqTLXe2M.js} +18 -2
  169. package/dist/cli/{fastest-levenshtein-CFN-lNDv.js → fastest-levenshtein-CF7BCi9l.js} +1 -1
  170. package/dist/cli/files-BVupXPIC.js +34 -0
  171. package/dist/cli/gen-DmVj3u4L.js +322 -0
  172. package/dist/cli/{init-BHuEQrQK.js → glue-C1UE8gQN.js} +16 -313
  173. package/dist/cli/index.d.ts +59 -31
  174. package/dist/cli/index.js +8 -6
  175. package/dist/cli/init-CVZ3s5kl.js +258 -0
  176. package/dist/cli/{introspect-DzR2nyQb.js → introspect-BToGNfm-.js} +14 -14
  177. package/dist/cli/{io-DI1mTdSA.js → io-CFzJVJ68.js} +5 -1
  178. package/dist/cli/{keys-BGCnnb-s.js → keys-CJhtIxJ3.js} +4 -4
  179. package/dist/cli/metadata-DSRKCaf-.js +133 -0
  180. package/dist/cli/names-D6LrQnOv.js +6 -0
  181. package/dist/cli/openapi-3.0-t7xwkuRH.js +928 -0
  182. package/dist/cli/openapi-3.1-CVze7tBS.js +870 -0
  183. package/dist/cli/openapi-3.2-CFoMYM01.js +1031 -0
  184. package/dist/cli/{openapi-BlRJ18s3.js → openapi-DWa4Ir1q.js} +8 -14
  185. package/dist/cli/prompts-BdeVmVpg.js +2 -0
  186. package/dist/cli/{prompts-BNcNfAve.js → prompts-DZJB1nTw.js} +6 -6
  187. package/dist/cli/{rolldown-runtime-BPOCksWG.js → rolldown-runtime-CMFfr-1z.js} +3 -1
  188. package/dist/cli/run-DA6_lg3w.js +389 -0
  189. package/dist/cli/run-DuN1MX-7.js +705 -0
  190. package/dist/cli/scaffold-5DenHSxF.js +292 -0
  191. package/dist/cli/scaffold-CwQUMFRb.js +2 -0
  192. package/dist/cli/{seed-DQzqT7LP.js → seed-CzBmrGON.js} +14 -18
  193. package/dist/cli/seed-DOmit9Hq.js +2 -0
  194. package/dist/cli/{skills-QQs4q68J.js → skills-CnO8QFS7.js} +7 -6
  195. package/dist/cli/snapshot-Bstk6ulj.js +287 -0
  196. package/dist/cli/source-args-BYfq6imV.js +31 -0
  197. package/dist/cli/spec-CzosTYm3.js +7438 -0
  198. package/dist/cli/spec-T_0Bcyw7.js +2 -0
  199. package/dist/cli/{sql-B8csQPyn.js → sql-BKOOQAX3.js} +240 -218
  200. package/dist/cli/sql-DJrNDxQm.js +3 -0
  201. package/dist/cli/{style-C0NFdJRL.js → style-CB3vxgh0.js} +3 -3
  202. package/dist/cli/typegen-Demi5-VQ.js +486 -0
  203. package/dist/cli/validate-Ca13ktgz.js +7522 -0
  204. package/dist/cli/{version-59gcepIG.js → version-B4k0aUxS.js} +1 -1
  205. package/dist/client/index.d.ts +4 -3
  206. package/dist/client/index.js +60 -3
  207. package/dist/client/native/index.d.ts +3 -3
  208. package/dist/client/native/index.js +3 -3
  209. package/dist/{client-CI0Z2zWX.js → client-wxeTQFtB.js} +36 -3
  210. package/dist/{clone-BfgmLU90.js → clone-dN9XOL1K.js} +9 -1
  211. package/dist/{cloud-event-BnmD5fb9.js → cloud-event-CTh9Sr5w.js} +16 -2
  212. package/dist/{cloud-event-C1JCc1bH.d.ts → cloud-event-Dune0KI7.d.ts} +16 -2
  213. package/dist/{compiler-DY_wkj4R.d.ts → compiler-V1qvcST1.d.ts} +2 -2
  214. package/dist/{compose-BIBNgAnq.js → compose-BHej1acw.js} +3 -3
  215. package/dist/{composite--yqry7uW.d.ts → composite-CWAJTRBF.d.ts} +6 -6
  216. package/dist/{composite-DXVUibdi.js → composite-zTe0TCqj.js} +4 -4
  217. package/dist/config/index.d.ts +3 -4
  218. package/dist/config/index.js +4 -4
  219. package/dist/config-DlKvtt95.js +540 -0
  220. package/dist/{connector-Dv8kK0MO.d.ts → connector-CySQEFcW.d.ts} +1 -1
  221. package/dist/{connectors-CrpknU0P.d.ts → connectors--PGhmiu0.d.ts} +4 -4
  222. package/dist/{context-BCrWe7ow.d.ts → context-DsV2SueA.d.ts} +11 -2
  223. package/dist/context-nPDvQ-Zl.js +41 -0
  224. package/dist/credentials/index.d.ts +5 -5
  225. package/dist/credentials/index.js +9 -17
  226. package/dist/{cron-DVPUg5k3.js → cron-D25Ukpxy.js} +1 -1
  227. package/dist/cron-route-D2AN9SA1.js +24 -0
  228. package/dist/{csv-DCK-PT1n.js → csv-BZnHA1Py.js} +1 -1
  229. package/dist/{define-B-TVjC25.js → define-CFQcvM20.js} +263 -229
  230. package/dist/{define-CJJkkr1-.d.ts → define-DmcfoNXB.d.ts} +136 -111
  231. package/dist/edge/index.d.ts +66 -13
  232. package/dist/edge/index.js +65 -39
  233. package/dist/elysia/index.d.ts +1 -1
  234. package/dist/elysia/index.js +1 -1
  235. package/dist/{embeddings-C9KGQnXt.d.ts → embeddings-B4vhS-dY.d.ts} +1 -1
  236. package/dist/{ended-XjeGQ5XW.d.ts → ended-CcvcRqEd.d.ts} +7 -1
  237. package/dist/{entitlements-DRl6ZJUm.js → entitlements-BYFf0Cdh.js} +2 -2
  238. package/dist/{entitlements-BKSVGtrG.d.ts → entitlements-Ds8qoYZ-.d.ts} +1 -1
  239. package/dist/env/index.d.ts +1 -1
  240. package/dist/env/index.js +9 -2
  241. package/dist/{errors-B11Duf73.js → errors-2M6CKMP4.js} +5 -0
  242. package/dist/{errors-DLjJHPLK.js → errors-rZ7VIqp6.js} +2 -2
  243. package/dist/{escape-like-ImTK0ps_.d.ts → escape-like-DDWoHzh_.d.ts} +1 -1
  244. package/dist/eve/index.d.ts +5 -5
  245. package/dist/eve/index.js +5 -11
  246. package/dist/{eve-gT2Fpjut.d.ts → eve-CoAIcCkq.d.ts} +2 -2
  247. package/dist/events/index.d.ts +4 -4
  248. package/dist/events/index.js +7 -2
  249. package/dist/{events-DWDhx77e.d.ts → events-D1BOCll8.d.ts} +6 -4
  250. package/dist/{executor-Bq28caBo.js → executor-B-fD7DLt.js} +52 -35
  251. package/dist/executor-B_Hfobee.js +162 -0
  252. package/dist/{executor-BVBFM86G.d.ts → executor-CpxLPCiz.d.ts} +1 -1
  253. package/dist/{executor-CaWigTyR.d.ts → executor-DfEtf0cq.d.ts} +43 -27
  254. package/dist/{executor-DvsBbNBS.d.ts → executor-Drzu3dBK.d.ts} +2 -2
  255. package/dist/{executor-DbvExCFC.d.ts → executor-ngjKL_Pe.d.ts} +2 -2
  256. package/dist/expo/index.d.ts +4 -4
  257. package/dist/expo/index.js +6 -6
  258. package/dist/expo-sqlite/index.d.ts +3 -3
  259. package/dist/expo-sqlite/index.js +2 -2
  260. package/dist/extra-CGQ2_q3S.js +10 -0
  261. package/dist/{field-errors-BFOa7WhB.d.ts → field-errors-DIe9XYWL.d.ts} +17 -7
  262. package/dist/{field-errors-VF1yb8yI.js → field-errors-DZVRWRkf.js} +1 -1
  263. package/dist/format-DTXdu8ya.d.ts +70 -0
  264. package/dist/{framework-BmzgK32X.d.ts → framework-148t1m3C.d.ts} +5 -5
  265. package/dist/{framework-a7aRCIqv.js → framework-3ey3QmrO.js} +2 -2
  266. package/dist/function-contract-BcZenXMO.d.ts +8 -0
  267. package/dist/{gateway-C1ssRHnf.d.ts → gateway-S9vicgeo.d.ts} +4 -4
  268. package/dist/{guards-BnzDvFrz.js → guards-6F2bCtQR.js} +3 -1
  269. package/dist/h3/index.d.ts +1 -1
  270. package/dist/h3/index.js +1 -1
  271. package/dist/h3/v1/index.d.ts +1 -1
  272. package/dist/h3/v1/index.js +1 -1
  273. package/dist/{message-CaKlqdsX.js → history-GH1HJWQV.js} +65 -13
  274. package/dist/hmac-DCud0myt.js +22 -0
  275. package/dist/hono/index.d.ts +19 -14
  276. package/dist/hono/index.js +21 -16
  277. package/dist/{hooks-1BTCJsiw.js → hooks-Bhza9Hnr.js} +68 -100
  278. package/dist/http-sbmBe5d2.js +25 -0
  279. package/dist/{inbox-i7E1ppo6.d.ts → inbox-Cd1KCEBL.d.ts} +3 -3
  280. package/dist/index-B72Rvv_j.d.ts +89 -0
  281. package/dist/{index-DunNRdnT.d.ts → index-BCHR4Ucl.d.ts} +4 -4
  282. package/dist/{index-CLg87OBW.d.ts → index-BUK7jUzR.d.ts} +6 -0
  283. package/dist/{config-D44Y7PAv.d.ts → index-Ba1SI-uO.d.ts} +625 -278
  284. package/dist/{index-D48jVS-N.d.ts → index-BfxOaOYs.d.ts} +4 -5
  285. package/dist/{index-ClmjK_o-.d.ts → index-CicIyqOe.d.ts} +4 -4
  286. package/dist/{index-ACiNPN4Z.d.ts → index-D69h4QqD.d.ts} +1 -1
  287. package/dist/index-DG2SUXDQ.d.ts +58 -0
  288. package/dist/{index-Bepi-Hgg.d.ts → index-DoNVLHOU.d.ts} +3 -3
  289. package/dist/{index-CdZKQF98.d.ts → index-R274XFlg.d.ts} +1 -1
  290. package/dist/{index-CewnYSpv.d.ts → index-_4R4b01v.d.ts} +8 -18
  291. package/dist/index.d.ts +89 -14
  292. package/dist/index.js +12 -11
  293. package/dist/{json-schema-CvER4kgT.js → json-schema-CT4tvrkA.js} +148 -102
  294. package/dist/{kit-Fm-Fv7q5.js → kit-BhHr9T9v.js} +36 -10
  295. package/dist/{kit-CkNzZUqv.d.ts → kit-W99LCPBS.d.ts} +13 -7
  296. package/dist/{knowledge-BXBbT0Tr.d.ts → knowledge-CAReFpRA.d.ts} +5 -5
  297. package/dist/{knowledge-CDmiMLew.js → knowledge-DnHtb64A.js} +4 -3
  298. package/dist/list/index.d.ts +1 -2
  299. package/dist/{list-query-BRt-zDF7.d.ts → list-query-D3JQeEL7.d.ts} +4 -4
  300. package/dist/mcp/index.d.ts +49 -19
  301. package/dist/mcp/index.js +158 -94
  302. package/dist/mcp/sdk/index.d.ts +38 -6
  303. package/dist/mcp/sdk/index.js +88 -6
  304. package/dist/{message-CfDoR0Y6.d.ts → message-B0fNJgq8.d.ts} +1 -2
  305. package/dist/{messages-B9-5887d.js → messages-CJoHHCWT.js} +4 -205
  306. package/dist/{mfa-Daak8ukG.d.ts → mfa-SZc9YYyb.d.ts} +1 -1
  307. package/dist/model-OgBxvk3N.d.ts +300 -0
  308. package/dist/model-messages-Cxw_Up4f.js +206 -0
  309. package/dist/model-messages-D4GZllOD.d.ts +34 -0
  310. package/dist/modules-DksjZyMW.js +77 -0
  311. package/dist/nestjs/index.d.ts +2 -2
  312. package/dist/nestjs/index.js +1 -1
  313. package/dist/next/index.d.ts +105 -55
  314. package/dist/next/index.js +204 -170
  315. package/dist/node/index.d.ts +2 -2
  316. package/dist/node/index.js +1 -1
  317. package/dist/{onboarding-BZGHYJks.d.ts → onboarding-LZvlK1P4.d.ts} +3 -3
  318. package/dist/openapi/index.d.ts +4 -2
  319. package/dist/openapi/index.js +21 -343
  320. package/dist/optional-peer-D1pi-skw.js +24 -0
  321. package/dist/orpc/index.d.ts +8 -8
  322. package/dist/orpc/index.js +21 -20
  323. package/dist/otel/index.d.ts +3 -3
  324. package/dist/otel/index.js +7 -7
  325. package/dist/{outbox-Cq7pPYvl.d.ts → outbox-DZfAvfzC.d.ts} +6 -6
  326. package/dist/overlay/index.d.ts +233 -0
  327. package/dist/overlay/index.js +554 -0
  328. package/dist/{plugin-FGY8UhYm.d.ts → plugin-CPK2HsbY.d.ts} +42 -3
  329. package/dist/plugins/actor/index.d.ts +1 -1
  330. package/dist/plugins/actor/index.js +1 -1
  331. package/dist/plugins/rules/index.d.ts +2 -2
  332. package/dist/plugins/rules/index.js +1 -1
  333. package/dist/plugins/soft-delete/index.d.ts +3 -3
  334. package/dist/plugins/soft-delete/index.js +9 -2
  335. package/dist/plugins/tenant/index.d.ts +7 -2
  336. package/dist/plugins/tenant/index.js +16 -2
  337. package/dist/plugins/timestamps/index.d.ts +1 -1
  338. package/dist/plugins/timestamps/index.js +8 -1
  339. package/dist/plugins/validation/index.d.ts +2 -2
  340. package/dist/plugins/validation/index.js +4 -4
  341. package/dist/{pool-CAu2nLrL.d.ts → pool-gkhbGp2E.d.ts} +2 -2
  342. package/dist/postgres/index.d.ts +4 -4
  343. package/dist/postgres/index.js +2 -1
  344. package/dist/{postgrest-BLVdEnfe.d.ts → postgrest-BUqLag2Q.d.ts} +1 -1
  345. package/dist/powersync/index.d.ts +5 -5
  346. package/dist/powersync/index.js +4 -4
  347. package/dist/powersync/react/index.d.ts +3 -3
  348. package/dist/powersync/react/index.js +1 -1
  349. package/dist/{problem-BreOl8b8.js → problem-CJvFeGu7.js} +13 -2
  350. package/dist/{problem-DD8LZFjc.d.ts → problem-TvGdxO1t.d.ts} +7 -1
  351. package/dist/{provider-Di3sRutW.js → provider-DxRTex4x.js} +1 -1
  352. package/dist/{provider-D-UEMvSD.d.ts → provider-ib9wzUDz.d.ts} +2 -2
  353. package/dist/query/index.d.ts +2 -2
  354. package/dist/query/index.js +1 -1
  355. package/dist/{query-BQ-NaZon.js → query-Ctz-qKRx.js} +1 -1
  356. package/dist/rate-limit-Bw7HgmFj.js +260 -0
  357. package/dist/react/index.d.ts +9 -9
  358. package/dist/react/index.js +4 -4
  359. package/dist/react/native/index.d.ts +1 -1
  360. package/dist/react/native/index.js +2 -2
  361. package/dist/react/server.d.ts +10 -10
  362. package/dist/react/server.js +3 -3
  363. package/dist/react/session.d.ts +2 -2
  364. package/dist/{react-F80mF4-t.js → react-Bmpo59D7.js} +4 -4
  365. package/dist/react-router/index.d.ts +6 -6
  366. package/dist/react-router/index.js +9 -11
  367. package/dist/{read-set-DuKWC9Mj.js → read-set-DAeWhqPf.js} +2 -2
  368. package/dist/realtime/index.d.ts +3 -3
  369. package/dist/realtime/index.js +30 -36
  370. package/dist/{refusal-DhSU2Vvr.d.ts → refusal-CFI8-5nf.d.ts} +4 -1
  371. package/dist/{refusal-CeJWxmkH.js → refusal-K78A1Vmq.js} +5 -5
  372. package/dist/{resolve-tJZY3FEa.js → resolve-Bvgf3ut_.js} +131 -42
  373. package/dist/{resolve-ChTYeTEl.d.ts → resolve-MxXVWyhd.d.ts} +12 -8
  374. package/dist/resource--vTrBe6I.d.ts +103 -0
  375. package/dist/resource-BqNqlYg9.js +91 -0
  376. package/dist/resource-DA811u_4.js +463 -0
  377. package/dist/resource-execute-rbKvuCsY.d.ts +12 -0
  378. package/dist/resource-schemas-BJ518zFH.js +79 -0
  379. package/dist/resource-types-CqB6GWGT.d.ts +141 -0
  380. package/dist/resources-BVYPnuLo.js +56 -0
  381. package/dist/resources-DZSk8tXJ.d.ts +7 -0
  382. package/dist/{respond-DprrgyXX.d.ts → respond-Cw-zanCm.d.ts} +3 -3
  383. package/dist/{respond-BUgsXNgk.js → respond-volM3ByS.js} +4 -4
  384. package/dist/{result-D7y2fT87.d.ts → result-BchM1XZn.d.ts} +7 -1
  385. package/dist/{result-DzUbqgdW.js → result-DEqHCMKP.js} +1 -1
  386. package/dist/server/index.d.ts +81 -19
  387. package/dist/server/index.js +16 -14
  388. package/dist/{server-Bh0EVSwU.d.ts → server-types-CrAmZ8jv.d.ts} +92 -36
  389. package/dist/{shared-CxWmcyqB.js → shared-DHjhfRdV.js} +2 -15
  390. package/dist/shared-DTneRoxi.js +14 -0
  391. package/dist/{sign-in-Cb1mwv6X.js → sign-in-D_yoP0PF.js} +1 -1
  392. package/dist/signatures-BRS_p3WD.d.ts +34 -0
  393. package/dist/signatures-DsWv_bYR.js +103 -0
  394. package/dist/{signers-4y62_VIi.d.ts → signers-cpdmZYrv.d.ts} +1 -1
  395. package/dist/solid/index.d.ts +9 -18
  396. package/dist/solid/index.js +2 -2
  397. package/dist/solid-start/index.d.ts +6 -6
  398. package/dist/solid-start/index.js +7 -7
  399. package/dist/spec/index.d.ts +134 -0
  400. package/dist/spec/index.js +353 -0
  401. package/dist/{spec-pins-C89s6DyW.d.ts → spec-pins-CwzDY25w.d.ts} +18 -1
  402. package/dist/{spec-pins--j6mTok4.js → spec-pins-DsLfUH7l.js} +14 -1
  403. package/dist/sql/index.d.ts +145 -119
  404. package/dist/sql/index.js +19921 -19798
  405. package/dist/{executor-De1Of3m3.js → sql-CwuqaQ4Y.js} +34 -169
  406. package/dist/ssr/index.d.ts +4 -4
  407. package/dist/ssr/index.js +3 -2
  408. package/dist/{standard-BK0cqJ7y.js → standard-DkzZUneg.js} +2 -2
  409. package/dist/{standard-CYsm7xpT.d.ts → standard-lmkbOtPB.d.ts} +1 -1
  410. package/dist/{stats-D_AD9GGu.js → stats-DhU78Ctf.js} +8 -4
  411. package/dist/storage/index.d.ts +4 -6
  412. package/dist/storage/index.js +16 -17
  413. package/dist/{bucket-Cl46E3jS.d.ts → storage-api-CB7Zl1Ci.d.ts} +243 -8
  414. package/dist/{store-CGjgWu5n.d.ts → store-DsIYEBnv.d.ts} +1 -1
  415. package/dist/streams/index.d.ts +4 -4
  416. package/dist/streams/index.js +5 -4
  417. package/dist/streams/redis/index.d.ts +1 -1
  418. package/dist/streams/redis/index.js +5 -11
  419. package/dist/{stripe-BMj5LtsT.js → stripe-v-Y2lmop.js} +2 -8
  420. package/dist/supabase-mcp-C6tMoEjn.d.ts +43 -0
  421. package/dist/supabase-mcp-Cpn5A4i-.js +28 -0
  422. package/dist/{support-ig_K4PvS.js → support-D1pFFouF.js} +71 -35
  423. package/dist/{support-view-CVOJJLpc.d.ts → support-view-scqMgtOo.d.ts} +1 -1
  424. package/dist/svelte/index.d.ts +8 -17
  425. package/dist/svelte/index.js +2 -2
  426. package/dist/sveltekit/index.d.ts +7 -7
  427. package/dist/sveltekit/index.js +10 -12
  428. package/dist/table-schema-htM_SbCW.js +286 -0
  429. package/dist/{tags-Cx-LnIQP.d.ts → tags-BO9LjtWG.d.ts} +1 -1
  430. package/dist/tanstack-db/index.d.ts +2 -2
  431. package/dist/tanstack-db/supabase/index.d.ts +52 -0
  432. package/dist/tanstack-db/supabase/index.js +97 -0
  433. package/dist/tanstack-start/index.d.ts +6 -6
  434. package/dist/tanstack-start/index.js +8 -12
  435. package/dist/{tee-CoEppCER.js → tee-Cb98Vn3b.js} +1 -1
  436. package/dist/{template--jDkl3UP.js → template-lPVh-EwW.js} +11 -2
  437. package/dist/{temporal-required-BVvW7SYJ.js → temporal-required-BtynQtM-.js} +1 -1
  438. package/dist/{tenant-BxNFk9bx.d.ts → tenant-CM368LXb.d.ts} +2 -2
  439. package/dist/testing/index.d.ts +249 -118
  440. package/dist/testing/index.js +1418 -870
  441. package/dist/ttl-cache-XzZ-Q2eX.js +29 -0
  442. package/dist/types-BRTSpOIh.js +5 -0
  443. package/dist/{types-C05bxW-W.d.ts → types-Bb_4-vdW.d.ts} +4 -4
  444. package/dist/{types-AYOvcyep.d.ts → types-CD6yCDx3.d.ts} +5 -5
  445. package/dist/{types-6rocye-y.d.ts → types-CbOUc5IH.d.ts} +4 -4
  446. package/dist/{types-6BdhkmZe.d.ts → types-CoE5Zwy4.d.ts} +8 -0
  447. package/dist/{types-DGs5L0VN.d.ts → types-DSJ3-m9X.d.ts} +4 -4
  448. package/dist/{queue-CLJurhdy.d.ts → types-D__3EN0q.d.ts} +17 -19
  449. package/dist/{usage-CrvrL2vw.d.ts → usage-D0NNUFfr.d.ts} +3 -3
  450. package/dist/{vault-wlbBhqm7.d.ts → vault-BpmApxxW.d.ts} +3 -3
  451. package/dist/vercel-connect/index.d.ts +1 -1
  452. package/dist/vercel-connect/index.js +5 -11
  453. package/dist/{verify-DPuWngD4.d.ts → verify-C91Wyp40.d.ts} +5 -35
  454. package/dist/verify-CJbYfADA.js +124 -0
  455. package/dist/{version-C6OfRAIn.js → version-Cq8gfDbd.js} +1 -1
  456. package/dist/{view-BeFcRV6G.js → view-D5ryq3gz.js} +1 -1
  457. package/dist/{view-CF7ihnkg.d.ts → view-TpXEUcVN.d.ts} +3 -3
  458. package/dist/vue/index.d.ts +9 -18
  459. package/dist/vue/index.js +2 -2
  460. package/dist/{watch-Xuxrvxq-.js → watch-BcvtAHOd.js} +2 -2
  461. package/dist/{watch-DI34G86j.d.ts → watch-COzRWvVN.d.ts} +23 -9
  462. package/dist/{wire-DtZQ4sdE.js → wire-Df3EWkG8.js} +2 -2
  463. package/dist/{workflow-builder-DJ1oHn8g.js → workflow-builder-CHqHpAVt.js} +6 -5
  464. package/dist/workflow-sdk/builder/index.d.ts +3 -3
  465. package/dist/workflow-sdk/index.d.ts +1 -1
  466. package/dist/workflow-sdk/world/index.d.ts +23 -17
  467. package/dist/workflow-sdk/world/index.js +59 -76
  468. package/dist/{workflow-sdk-B3yLD6Br.d.ts → workflow-sdk-DTZyrvNo.d.ts} +3 -3
  469. package/dist/{workflow-sdk-world-D-prir6O.js → workflow-sdk-world-CMV1ahFW.js} +528 -526
  470. package/dist/{workflows-B0j9WKPu.d.ts → workflows-CcpCBfIe.d.ts} +3 -3
  471. package/dist/{workflows-wu1WWBn7.js → workflows-IvxzG2cl.js} +5 -4
  472. package/package.json +54 -3
  473. package/schemas/config-v1.json +243 -0
  474. package/schemas/doctor-report-v1.json +4 -1
  475. package/schemas/spec-manifest-v1.json +95 -0
  476. package/skills/better-supabase/SKILL.md +8 -4
  477. package/skills/better-supabase/references/troubleshooting.md +20 -20
  478. package/skills/better-supabase-api/references/expo.md +6 -3
  479. package/skills/better-supabase-api/references/powersync.md +2 -1
  480. package/dist/cli/config-B9HkL8nF.js +0 -2
  481. package/dist/cli/gen-CCMc39Dx.js +0 -3100
  482. package/dist/cli/gen-DRmzPI75.js +0 -2
  483. package/dist/cli/prompts-BTYQGunc.js +0 -2
  484. package/dist/cli/run-BqDPh9UH.js +0 -361
  485. package/dist/config-Dn7F5k9A.js +0 -202
  486. package/dist/history-BZih6SFP.js +0 -64
  487. package/dist/index-BkWT_uBO.d.ts +0 -51
  488. package/dist/index-Bxih3l0u.d.ts +0 -81
  489. package/dist/index-CaxrMD1A.d.ts +0 -1
  490. package/dist/index-DQh4VCc9.d.ts +0 -98
  491. package/dist/keys-4MnkWTTh.js +0 -35
  492. package/dist/messages-DYP0sUTe.d.ts +0 -59
  493. package/dist/modules-dxrVK3ID.js +0 -228
  494. package/dist/path-Cv__-OTj.d.ts +0 -17
  495. package/dist/resource-BsvzCMlX.js +0 -212
  496. package/dist/resource-IPS5xi9q.d.ts +0 -74
  497. package/dist/template-CwO38Do8.d.ts +0 -6
  498. package/dist/verify-DL41hbvY.js +0 -232
  499. package/dist/cli/{read-sets-CETOSFx4.js → read-sets-DjJrm8Wj.js} +1 -1
@@ -1,27 +1,112 @@
1
1
  import { t as DbException } from "../db-exception-CnWcYPxL.js";
2
- import { n as dbError } from "../errors-B11Duf73.js";
3
- import { r as err } from "../result-DzUbqgdW.js";
4
- import { n as StatsRecorder, t as EMPTY_STATS } from "../stats-D_AD9GGu.js";
5
- import { o as isReadSet } from "../read-set-DuKWC9Mj.js";
6
- import { t as isList } from "../guards-BnzDvFrz.js";
7
- import { n as validate } from "../standard-BK0cqJ7y.js";
8
- import { a as problemResponse } from "../problem-BreOl8b8.js";
2
+ import { n as dbError } from "../errors-2M6CKMP4.js";
3
+ import { r as err } from "../result-DEqHCMKP.js";
4
+ import { t as isList } from "../guards-6F2bCtQR.js";
5
+ import { n as StatsRecorder, t as EMPTY_STATS } from "../stats-DhU78Ctf.js";
6
+ import { o as isReadSet } from "../read-set-DAeWhqPf.js";
7
+ import { n as validate } from "../standard-DkzZUneg.js";
8
+ import { o as problemResponse } from "../problem-CJvFeGu7.js";
9
9
  import { i as claimsOf } from "../claims-PqzCxaTD.js";
10
10
  import { t as supportOf } from "../support-view-g4YLBeqX.js";
11
11
  import { t as tenantOf } from "../tenant-I1TEZ_BX.js";
12
- import { C as serverCore, c as extendServer, l as withExtra, n as flushEvents, p as supportCookieMaxAge, r as handle, s as createServer, t as bearerRequest, v as isPrefetch } from "../adapter-iKgjHVPx.js";
13
- import { a as checkAal, n as toSession } from "../view-BeFcRV6G.js";
14
- import { o as settle, r as guard, t as defaultExpose } from "../respond-BUgsXNgk.js";
15
- import { t as supportSessions } from "../support-ig_K4PvS.js";
12
+ import { c as extendServer, n as flushEvents, p as supportCookieMaxAge, r as handle, s as createServer, t as bearerRequest, w as serverCore, y as isPrefetch } from "../adapter-CN45ibbV.js";
13
+ import { a as checkAal, n as toSession } from "../view-D5ryq3gz.js";
14
+ import { o as settle, r as guard, t as defaultExpose } from "../respond-volM3ByS.js";
15
+ import { t as supportSessions } from "../support-D1pFFouF.js";
16
+ import { r as defineAction } from "../resource-DA811u_4.js";
16
17
  import { r as tagFor, t as cacheTagsOf } from "../tags-B99_U9Pp.js";
17
- import { n as formDataObject } from "../kit-Fm-Fv7q5.js";
18
+ import { i as requireCaller, n as formDataObject, t as authorizeCaller } from "../kit-BhHr9T9v.js";
19
+ import { t as withExtra } from "../extra-CGQ2_q3S.js";
20
+ import { t as resourceRouter } from "../resources-BVYPnuLo.js";
18
21
  import { cache } from "react";
19
22
  import { cacheLife, cacheTag, io, revalidateTag, updateTag } from "next/cache.js";
23
+ import { cookies, headers } from "next/headers.js";
24
+ import { NextResponse, after } from "next/server.js";
20
25
  import { forbidden } from "next/dist/client/components/forbidden.js";
21
26
  import { notFound } from "next/dist/client/components/not-found.js";
22
27
  import { unauthorized } from "next/dist/client/components/unauthorized.js";
23
- import { cookies, headers } from "next/headers.js";
24
- import { NextResponse, after } from "next/server.js";
28
+ //#region src/next/cache.ts
29
+ /** The tag `bs.cached()` adds to entries rendered in a support session. */
30
+ function supportTag(sessionId) {
31
+ return `bs:support:${sessionId}`;
32
+ }
33
+ /** The shortest time the Next.js client router keeps a prefetched entry. */
34
+ const MIN_CLIENT_STALE = 30;
35
+ /**
36
+ * `cacheLife` `stale` seconds for a view of `session`: `max`, but never past
37
+ * the token's expiry, and 0 once fewer than `min` seconds are left. A
38
+ * signed-out view that a refresh would change (an `expired` or
39
+ * `refresh_failed` cookie, or an `invalid` token) is 0 as well, so it never
40
+ * joins the App Shell.
41
+ */
42
+ function sessionStale(session, options = {}, now = Date.now()) {
43
+ const min = Math.max(MIN_CLIENT_STALE, options.min ?? MIN_CLIENT_STALE);
44
+ const max = options.max ?? 300;
45
+ switch (session.kind) {
46
+ case "invalid": return 0;
47
+ case "anon": return session.reason === "expired" || session.reason === "refresh_failed" ? 0 : max;
48
+ case "service":
49
+ case "apiKey": return max;
50
+ case "user": {
51
+ if (session.expiresAt === null) return max;
52
+ const remaining = session.expiresAt - Math.floor(now / 1e3);
53
+ return remaining < min ? 0 : Math.min(max, remaining);
54
+ }
55
+ default: return session;
56
+ }
57
+ }
58
+ /** The tag `bs.cached()` puts on a user's entries. */
59
+ function sessionTag(userId) {
60
+ return `bs:session:${userId}`;
61
+ }
62
+ /**
63
+ * The table tags of a read: the tenant's and every tenant's, or the table's.
64
+ * A read across tenants (`"*"`) also carries the table's, which every
65
+ * mutation invalidates, including one scoped to a single tenant.
66
+ */
67
+ function tableTags(table, options) {
68
+ if (options.tenant === "*") return [tagFor(table), tagFor(table, void 0, options)];
69
+ return options.tenant === void 0 ? [tagFor(table)] : [tagFor(table, void 0, options), tagFor(table, void 0, { tenant: "*" })];
70
+ }
71
+ /** The next read waits for fresh data instead of serving the stale entry. */
72
+ const EXPIRE_NOW = { expire: 0 };
73
+ /**
74
+ * Invalidates tags with `updateTag` (Server Actions), else `revalidateTag`
75
+ * (Route Handlers), else not at all (jobs, scripts). The first tag decides
76
+ * for the rest, so a mutation outside an action throws once, not per tag.
77
+ */
78
+ function invalidateAll(tags, profile = EXPIRE_NOW) {
79
+ let index = 0;
80
+ try {
81
+ for (; index < tags.length; index++) updateTag(tags[index]);
82
+ return;
83
+ } catch {}
84
+ try {
85
+ for (; index < tags.length; index++) revalidateTag(tags[index], profile);
86
+ } catch {}
87
+ }
88
+ /**
89
+ * Invalidates `bs:<table>` for every table in the target, the tenant's
90
+ * `bs:<table>@<tenant>` (every tenant's `bs:<table>@*` when the mutation has
91
+ * no tenant) and `bs:<table>:<id>` for the changed rows. Reads another tenant
92
+ * tagged stay cached. `createNext` attaches it unless `cacheTags: false`.
93
+ */
94
+ function nextCache(options = {}) {
95
+ return {
96
+ name: "next",
97
+ invalidate: (target) => {
98
+ invalidateAll(cacheTagsOf(target), options.revalidate);
99
+ }
100
+ };
101
+ }
102
+ /**
103
+ * Event hubs that already invalidate Next.js cache tags. Every instance a
104
+ * definition derives shares its hub, and `createNext` can run again for one
105
+ * definition (hot reload, a definition in another package), so tags are
106
+ * invalidated once per mutation.
107
+ */
108
+ const nextCacheAttached = /* @__PURE__ */ new WeakSet();
109
+ //#endregion
25
110
  //#region src/next/collector.ts
26
111
  /** Forwarded by the proxy so every scope of one render shares an id. */
27
112
  const REQUEST_ID_HEADER = "x-bs-request-id";
@@ -119,6 +204,51 @@ function formatStats(stats) {
119
204
  return `${stats.calls};${stats.waves};${stats.ms}`;
120
205
  }
121
206
  //#endregion
207
+ //#region src/next/control-flow.ts
208
+ /** Whether `cause` is one of Next's own control-flow errors (they carry a `digest`). */
209
+ function isNextInterrupt(cause) {
210
+ return cause instanceof Error && "digest" in cause && typeof cause.digest === "string";
211
+ }
212
+ /**
213
+ * `unauthorized()` and `forbidden()` throw a plain error without
214
+ * `experimental.authInterrupts`; `notFound()` is the fallback then.
215
+ */
216
+ function authInterrupt(fn) {
217
+ try {
218
+ fn();
219
+ } catch (cause) {
220
+ if (isNextInterrupt(cause)) throw cause;
221
+ }
222
+ notFound();
223
+ }
224
+ /** The Next.js interrupt for a refused Server Component render. */
225
+ function interrupt(error) {
226
+ if (error.kind === "unauthorized") authInterrupt(unauthorized);
227
+ if (error.kind === "forbidden") authInterrupt(forbidden);
228
+ if (error.kind === "not_found") notFound();
229
+ throw new DbException(error);
230
+ }
231
+ const NEXT_DIGESTS = /* @__PURE__ */ new Set([
232
+ "NEXT_REDIRECT",
233
+ "NEXT_HTTP_ERROR_FALLBACK",
234
+ "DYNAMIC_SERVER_USAGE",
235
+ "BAILOUT_TO_CLIENT_SIDE_RENDERING",
236
+ "HANGING_PROMISE_REJECTION",
237
+ "NEXT_PRERENDER_INTERRUPTED"
238
+ ]);
239
+ const REACT_POSTPONE = Symbol.for("react.postpone");
240
+ /**
241
+ * `unstable_rethrow` without `next/navigation`: that entry loads the client
242
+ * router context, which Turbopack can't resolve inside route handlers. The
243
+ * digests are the ones Next 16 checks.
244
+ */
245
+ function rethrowNextControlFlow(error) {
246
+ if (typeof error !== "object" || error === null) return;
247
+ const digest = "digest" in error ? error.digest : void 0;
248
+ if (typeof digest === "string" && NEXT_DIGESTS.has(digest.split(";", 1)[0] ?? "") || "$$typeof" in error && error.$$typeof === REACT_POSTPONE || error instanceof Error && error.message.includes("needs to bail out of prerendering")) throw error;
249
+ if ("cause" in error) rethrowNextControlFlow(error.cause);
250
+ }
251
+ //#endregion
122
252
  //#region src/next/proxy.ts
123
253
  const OVERRIDE = "x-middleware-override-headers";
124
254
  const REQUEST_PREFIX = "x-middleware-request-";
@@ -162,104 +292,41 @@ function serverTimingValue(metrics) {
162
292
  return Object.entries(metrics).map(([name, ms]) => `${name};dur=${ms.toFixed(1)}`).join(", ");
163
293
  }
164
294
  //#endregion
165
- //#region src/next/create.ts
166
- /** Response header with the URL of the request's totals on `bs.debugRoute()`. */
167
- const STATS_URL_HEADER = "x-bs-stats";
168
- /** The tag `bs.cached()` adds to entries rendered in a support session. */
169
- function supportTag(sessionId) {
170
- return `bs:support:${sessionId}`;
171
- }
172
- /** The shortest time the Next.js client router keeps a prefetched entry. */
173
- const MIN_CLIENT_STALE = 30;
174
- /**
175
- * `cacheLife` `stale` seconds for a view of `session`: `max`, but never past
176
- * the token's expiry, and 0 once fewer than `min` seconds are left. A
177
- * signed-out view that a refresh would change (an `expired` or
178
- * `refresh_failed` cookie, or an `invalid` token) is 0 as well, so it never
179
- * joins the App Shell.
180
- */
181
- function sessionStale(session, options = {}, now = Date.now()) {
182
- const min = Math.max(MIN_CLIENT_STALE, options.min ?? MIN_CLIENT_STALE);
183
- const max = options.max ?? 300;
184
- switch (session.kind) {
185
- case "invalid": return 0;
186
- case "anon": return session.reason === "expired" || session.reason === "refresh_failed" ? 0 : max;
187
- case "service":
188
- case "apiKey": return max;
189
- case "user": {
190
- if (session.expiresAt === null) return max;
191
- const remaining = session.expiresAt - Math.floor(now / 1e3);
192
- return remaining < min ? 0 : Math.min(max, remaining);
193
- }
194
- default: return session;
195
- }
196
- }
197
- /** The tag `bs.cached()` puts on a user's entries. */
198
- function sessionTag(userId) {
199
- return `bs:session:${userId}`;
200
- }
201
- /**
202
- * The table tags of a read: the tenant's and every tenant's, or the table's.
203
- * A read across tenants (`"*"`) also carries the table's, which every
204
- * mutation invalidates, including one scoped to a single tenant.
205
- */
206
- function tableTags(table, options) {
207
- if (options.tenant === "*") return [tagFor(table), tagFor(table, void 0, options)];
208
- return options.tenant === void 0 ? [tagFor(table)] : [tagFor(table, void 0, options), tagFor(table, void 0, { tenant: "*" })];
209
- }
210
- /** The next read waits for fresh data instead of serving the stale entry. */
211
- const EXPIRE_NOW = { expire: 0 };
212
- /**
213
- * Invalidates tags with `updateTag` (Server Actions), else `revalidateTag`
214
- * (Route Handlers), else not at all (jobs, scripts). The first tag decides
215
- * for the rest, so a mutation outside an action throws once, not per tag.
216
- */
217
- function invalidateAll(tags, profile = EXPIRE_NOW) {
218
- let index = 0;
219
- try {
220
- for (; index < tags.length; index++) updateTag(tags[index]);
221
- return;
222
- } catch {}
223
- try {
224
- for (; index < tags.length; index++) revalidateTag(tags[index], profile);
225
- } catch {}
226
- }
227
- /**
228
- * Invalidates `bs:<table>` for every table in the target, the tenant's
229
- * `bs:<table>@<tenant>` (every tenant's `bs:<table>@*` when the mutation has
230
- * no tenant) and `bs:<table>:<id>` for the changed rows. Reads another tenant
231
- * tagged stay cached. `createNext` attaches it unless `cacheTags: false`.
232
- */
233
- function nextCache(options = {}) {
295
+ //#region src/next/resources.ts
296
+ /** One handler for every method; the resource router picks the operation. */
297
+ function resourceRoutes(serve) {
234
298
  return {
235
- name: "next",
236
- invalidate: (target) => {
237
- invalidateAll(cacheTagsOf(target), options.revalidate);
238
- }
299
+ GET: serve,
300
+ POST: serve,
301
+ PATCH: serve,
302
+ PUT: serve,
303
+ DELETE: serve
239
304
  };
240
305
  }
241
- /** Whether `cause` is one of Next's own control-flow errors (they carry a `digest`). */
242
- function isNextInterrupt(cause) {
243
- return cause instanceof Error && "digest" in cause && typeof cause.digest === "string";
306
+ //#endregion
307
+ //#region src/next/support.ts
308
+ /** Response header with the URL of the request's totals on `bs.debugRoute()`. */
309
+ const STATS_URL_HEADER = "x-bs-stats";
310
+ function endedRedirect(request, path, reason) {
311
+ const target = new URL(path, request.url);
312
+ target.searchParams.set("reason", reason);
313
+ return NextResponse.redirect(target);
244
314
  }
245
- /**
246
- * `unauthorized()` and `forbidden()` throw a plain error without
247
- * `experimental.authInterrupts`; `notFound()` is the fallback then.
248
- */
249
- function authInterrupt(fn) {
250
- try {
251
- fn();
252
- } catch (cause) {
253
- if (isNextInterrupt(cause)) throw cause;
254
- }
255
- notFound();
315
+ function shouldCheckSession(request, options = {}) {
316
+ if (request.method !== "GET" && request.method !== "HEAD") return false;
317
+ if (isPrefetch(request)) return false;
318
+ if (request.headers.get("sec-fetch-dest") === "document") return true;
319
+ return options.paths?.includes(request.nextUrl.pathname) ?? false;
256
320
  }
257
- /** The Next.js interrupt for a refused Server Component render. */
258
- function interrupt(error) {
259
- if (error.kind === "unauthorized") authInterrupt(unauthorized);
260
- if (error.kind === "forbidden") authInterrupt(forbidden);
261
- if (error.kind === "not_found") notFound();
262
- throw new DbException(error);
321
+ /** Page loads, client navigations and server actions; never prefetches or assets. */
322
+ function shouldRefresh(request) {
323
+ const h = request.headers;
324
+ if (request.method !== "GET" && request.method !== "HEAD") return h.has("next-action");
325
+ if (isPrefetch(request)) return false;
326
+ if (h.get("rsc") === "1") return true;
327
+ const dest = h.get("sec-fetch-dest");
328
+ if (dest) return dest === "document";
329
+ return h.get("accept")?.includes("text/html") ?? false;
263
330
  }
264
331
  /**
265
332
  * A `proxy` `protect` that keeps signed-in users below `level` out of the
@@ -286,34 +353,8 @@ function requireAal(level, options = {}) {
286
353
  return NextResponse.redirect(target);
287
354
  };
288
355
  }
289
- function endedRedirect(request, path, reason) {
290
- const target = new URL(path, request.url);
291
- target.searchParams.set("reason", reason);
292
- return NextResponse.redirect(target);
293
- }
294
- function shouldCheckSession(request, options = {}) {
295
- if (request.method !== "GET" && request.method !== "HEAD") return false;
296
- if (isPrefetch(request)) return false;
297
- if (request.headers.get("sec-fetch-dest") === "document") return true;
298
- return options.paths?.includes(request.nextUrl.pathname) ?? false;
299
- }
300
- /** Page loads, client navigations and server actions; never prefetches or assets. */
301
- function shouldRefresh(request) {
302
- const h = request.headers;
303
- if (request.method !== "GET" && request.method !== "HEAD") return h.has("next-action");
304
- if (isPrefetch(request)) return false;
305
- if (h.get("rsc") === "1") return true;
306
- const dest = h.get("sec-fetch-dest");
307
- if (dest) return dest === "document";
308
- return h.get("accept")?.includes("text/html") ?? false;
309
- }
310
- /**
311
- * Event hubs that already invalidate Next.js cache tags. Every instance a
312
- * definition derives shares its hub, and `createNext` can run again for one
313
- * definition (hot reload, a definition in another package), so tags are
314
- * invalidated once per mutation.
315
- */
316
- const nextCacheAttached = /* @__PURE__ */ new WeakSet();
356
+ //#endregion
357
+ //#region src/next/create.ts
317
358
  /**
318
359
  * The Next.js adapter: proxy, Server Components, route handlers, server
319
360
  * actions and cache tags, on top of `createServer`.
@@ -375,17 +416,8 @@ function createNext(betterSupabase, options = {}) {
375
416
  /** The tenant `scoped` resolved for a context, when it wasn't the claim. */
376
417
  const scopedTenants = /* @__PURE__ */ new WeakMap();
377
418
  const tenantFor = (ctx, view) => scopedTenants.get(ctx) ?? tenantOf(view, tenantClaim);
378
- /** `requireTenant` and `authorize`: the session and tenant, or why the caller is refused. */
379
- const authorizeCaller = async (ctx, checks, input) => {
380
- const view = toSession(ctx.auth);
381
- const tenant = tenantFor(ctx, view);
382
- if (checks.requireTenant && tenant === void 0) return dbError("forbidden", "Choose an organization first", { code: "NO_TENANT" });
383
- if (checks.authorize && !await checks.authorize(view, input)) return dbError("forbidden", "You are not allowed to do this", { code: "NOT_AUTHORIZED" });
384
- return {
385
- session: view,
386
- tenant
387
- };
388
- };
419
+ /** `requireTenant`, `roles`, `permission` and `authorize`, for the context's tenant. */
420
+ const authorizeCaller$1 = (ctx, checks, input) => authorizeCaller(ctx.auth, checks, input, tenantFor(ctx, toSession(ctx.auth)), options.authorizer);
389
421
  /** `null` runs `NextOptions.tenant`; a string is the caller's explicit tenant. */
390
422
  const scoped = cache(async (explicit) => {
391
423
  const { request, resolution } = await incoming();
@@ -522,7 +554,7 @@ function createNext(betterSupabase, options = {}) {
522
554
  response = await handle(base, request, async (ctx) => {
523
555
  current = ctx;
524
556
  stats = () => ctx.stats();
525
- const [params, caller] = await Promise.all([segment.params, authorizeCaller(ctx, guardOptions, request)]);
557
+ const [params, caller] = await Promise.all([segment.params, authorizeCaller$1(ctx, guardOptions, request)]);
526
558
  if ("kind" in caller) return err(caller);
527
559
  return handler(request, withExtra(ctx, {
528
560
  ...caller,
@@ -546,6 +578,28 @@ function createNext(betterSupabase, options = {}) {
546
578
  return response;
547
579
  };
548
580
  },
581
+ resources(map, resourcesOptions = {}) {
582
+ const { basePath, ...guardOptions } = resourcesOptions;
583
+ const router = resourceRouter(betterSupabase, map, {
584
+ ...basePath === void 0 ? {} : { basePath },
585
+ ...options.authorizer === void 0 ? {} : { authorizer: options.authorizer }
586
+ });
587
+ return resourceRoutes(async (request) => {
588
+ const route = router.match(request);
589
+ if (route instanceof Response) return route;
590
+ return handle(base, request, (ctx) => route.handler.serve(request, ctx.db, route.segments, {
591
+ instance: route.instance,
592
+ expose
593
+ }), {
594
+ ...guardOptions,
595
+ expose,
596
+ instance: route.instance,
597
+ context: statsFor(request),
598
+ waitUntil,
599
+ rethrow: rethrowNextControlFlow
600
+ });
601
+ });
602
+ },
549
603
  debugRoute() {
550
604
  return (request) => {
551
605
  const id = new URL(request.url).searchParams.get("id");
@@ -581,7 +635,7 @@ function createNext(betterSupabase, options = {}) {
581
635
  }
582
636
  const tenant = actionOptions.tenant?.(parsed);
583
637
  const ctx = tenant === void 0 ? early ?? await current() : await current(tenant);
584
- const caller = await authorizeCaller(ctx, actionOptions, parsed);
638
+ const caller = await authorizeCaller$1(ctx, actionOptions, parsed);
585
639
  if ("kind" in caller) return {
586
640
  ok: false,
587
641
  data: null,
@@ -608,7 +662,7 @@ function createNext(betterSupabase, options = {}) {
608
662
  },
609
663
  require: async (requireOptions = {}) => {
610
664
  const ctx = await current(requireOptions.tenant);
611
- const caller = guard(ctx.auth, requireOptions.allow, requireOptions.aal, requireOptions.scopes) ?? await authorizeCaller(ctx, requireOptions, void 0);
665
+ const caller = await requireCaller(ctx.auth, requireOptions, tenantFor(ctx, toSession(ctx.auth)), options.authorizer);
612
666
  if ("kind" in caller) interrupt(caller);
613
667
  return withExtra(ctx, caller);
614
668
  },
@@ -679,25 +733,5 @@ function createNext(betterSupabase, options = {}) {
679
733
  }
680
734
  });
681
735
  }
682
- const NEXT_DIGESTS = /* @__PURE__ */ new Set([
683
- "NEXT_REDIRECT",
684
- "NEXT_HTTP_ERROR_FALLBACK",
685
- "DYNAMIC_SERVER_USAGE",
686
- "BAILOUT_TO_CLIENT_SIDE_RENDERING",
687
- "HANGING_PROMISE_REJECTION",
688
- "NEXT_PRERENDER_INTERRUPTED"
689
- ]);
690
- const REACT_POSTPONE = Symbol.for("react.postpone");
691
- /**
692
- * `unstable_rethrow` without `next/navigation`: that entry loads the client
693
- * router context, which Turbopack can't resolve inside route handlers. The
694
- * digests are the ones Next 16 checks.
695
- */
696
- function rethrowNextControlFlow(error) {
697
- if (typeof error !== "object" || error === null) return;
698
- const digest = "digest" in error ? error.digest : void 0;
699
- if (typeof digest === "string" && NEXT_DIGESTS.has(digest.split(";", 1)[0] ?? "") || "$$typeof" in error && error.$$typeof === REACT_POSTPONE || error instanceof Error && error.message.includes("needs to bail out of prerendering")) throw error;
700
- if ("cause" in error) rethrowNextControlFlow(error.cause);
701
- }
702
736
  //#endregion
703
- export { REQUEST_ID_HEADER, STATS_URL_HEADER, createNext, nextCache, requireAal, sessionStale, sessionTag, shouldCheckSession, shouldRefresh, supportOf, supportSessions, supportTag, tagFor, tenantOf, toSession };
737
+ export { REQUEST_ID_HEADER, STATS_URL_HEADER, createNext, defineAction, nextCache, requireAal, sessionStale, sessionTag, shouldCheckSession, shouldRefresh, supportOf, supportSessions, supportTag, tagFor, tenantOf, toSession };
@@ -1,4 +1,4 @@
1
- import { n as RouteGuardOptions } from "../refusal-DhSU2Vvr.js";
1
+ import { n as RouteGuardOptions } from "../refusal-CFI8-5nf.js";
2
2
  import { i as toWebHeaders, r as applyWebHeaders, t as NodeHeaderTarget } from "../node-headers-AO06VhqH.js";
3
- import { _ as toNodeHandler, a as FastifyReplyLike, b as toWebRequest, c as KoaMiddleware, d as guard, f as koaGuard, g as toKoa, h as toFastify, i as FastifyHook, l as ToNodeOptions, m as toExpress, n as ExpressMiddleware, o as FastifyRequestLike, p as problemErrorHandler, r as ExpressResponse, s as KoaContextLike, t as ExpressErrorHandler, u as fastifyGuard, v as WebRequestOptions, y as sendWebResponse } from "../index-CdZKQF98.js";
3
+ import { _ as toNodeHandler, a as FastifyReplyLike, b as toWebRequest, c as KoaMiddleware, d as guard, f as koaGuard, g as toKoa, h as toFastify, i as FastifyHook, l as ToNodeOptions, m as toExpress, n as ExpressMiddleware, o as FastifyRequestLike, p as problemErrorHandler, r as ExpressResponse, s as KoaContextLike, t as ExpressErrorHandler, u as fastifyGuard, v as WebRequestOptions, y as sendWebResponse } from "../index-R274XFlg.js";
4
4
  export { ExpressErrorHandler, ExpressMiddleware, ExpressResponse, FastifyHook, FastifyReplyLike, FastifyRequestLike, KoaContextLike, KoaMiddleware, type NodeHeaderTarget, type RouteGuardOptions, ToNodeOptions, type WebRequestOptions, applyWebHeaders, fastifyGuard, guard, koaGuard, problemErrorHandler, sendWebResponse, toExpress, toFastify, toKoa, toNodeHandler, toWebHeaders, toWebRequest };
@@ -1,5 +1,5 @@
1
1
  import { i as toResponse, t as around } from "../shared-CBxosKK3.js";
2
- import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../refusal-CeJWxmkH.js";
2
+ import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../refusal-K78A1Vmq.js";
3
3
  import { t as beforeRoute } from "../before-route-CnR0C0Jr.js";
4
4
  import { i as toWebHeaders, t as applyWebHeaders } from "../node-headers-C71zNQHe.js";
5
5
  import { n as toWebRequest, t as sendWebResponse } from "../http-Cv4T29xh.js";
@@ -1,7 +1,7 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
3
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
4
- import { r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
3
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
4
+ import { r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
5
5
  //#region src/blocks/onboarding/onboarding.d.ts
6
6
  type ChecklistScope = "user" | "organization";
7
7
  /** One step. `events` completes it when the outbox records one of those types. */
@@ -1,2 +1,4 @@
1
- import { a as ResourceOptions, i as ResourceOperation, n as OpenApiOptions, o as createOpenApi, r as PROBLEM_SCHEMA, t as OpenApiDocument } from "../index-Bxih3l0u.js";
2
- export { OpenApiDocument, OpenApiOptions, PROBLEM_SCHEMA, ResourceOperation, ResourceOptions, createOpenApi };
1
+ import { E as ResourceOperation } from "../model-OgBxvk3N.js";
2
+ import { N as PROBLEM_SCHEMA, _ as OpenApiDocuments, b as OpenApiVersion, d as OpenApi30Document, f as OpenApi31Document, g as OpenApiDocument, h as OpenApiComponents, l as AnyOpenApiDocument, m as OpenApi33PreviewDocument, p as OpenApi32Document, u as OPENAPI_33_PREVIEW_VERSION, v as OpenApiInfo, x as RenderedOpenApi, y as OpenApiSecurityRequirement } from "../api-Dnf2q-Ht.js";
3
+ import { a as openapiFormat, i as toOpenApi30Schema, n as ResourceOptions, r as createOpenApi, t as OpenApiOptions } from "../index-DG2SUXDQ.js";
4
+ export { type AnyOpenApiDocument, OPENAPI_33_PREVIEW_VERSION, type OpenApi30Document, type OpenApi31Document, type OpenApi32Document, type OpenApi33PreviewDocument, type OpenApiComponents, type OpenApiDocument, type OpenApiDocuments, type OpenApiInfo, OpenApiOptions, type OpenApiSecurityRequirement, type OpenApiVersion, PROBLEM_SCHEMA, type RenderedOpenApi, type ResourceOperation, ResourceOptions, createOpenApi, openapiFormat, toOpenApi30Schema };