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
@@ -0,0 +1,540 @@
1
+ import { i as CONFIG_DEFAULTS } from "./modules-DksjZyMW.js";
2
+ import { t as DEFAULT_CLAIMS } from "./claims-PqzCxaTD.js";
3
+ import { _ as variantsFor, a as fieldSpec, c as parseImport, d as schemaName, f as siblingPath, g as variantTitle, h as temporalGuardImport, i as fieldDocs, l as propertyKey, m as tableEntries, o as fieldsFor, p as tableDocs, r as HEADER, s as optionalLine, u as rowType } from "./json-schema-CT4tvrkA.js";
4
+ //#region src/config/names.ts
5
+ /** The steps `better-supabase gen` runs, in the order it runs them. */
6
+ const GEN_TASKS = [
7
+ "types",
8
+ "sql",
9
+ "spec",
10
+ "seed",
11
+ "scaffold",
12
+ "env"
13
+ ];
14
+ /** Glue `better-supabase init` and `add` write for a framework or runtime. */
15
+ const INTEGRATION_NAMES = [
16
+ "next",
17
+ "hono",
18
+ "orpc",
19
+ "edge",
20
+ "expo",
21
+ "mcp",
22
+ "client",
23
+ "react"
24
+ ];
25
+ /** The agent folders `better-supabase skills install` writes to. */
26
+ const SKILLS_AGENTS = [
27
+ "cursor",
28
+ "claude",
29
+ "agents"
30
+ ];
31
+ //#endregion
32
+ //#region src/config/authorization.ts
33
+ /**
34
+ * The error for a provider built for another API version, or `undefined`
35
+ * for version 1.
36
+ */
37
+ function providerApiProblem(provider) {
38
+ const version = provider.apiVersion;
39
+ if (version === 1) return void 0;
40
+ return `authorization "${typeof provider.name === "string" ? provider.name : "provider"}" targets authorization provider API ${String(version)}; this better-supabase supports 1. Upgrade better-supabase or use a release of the provider for API 1.`;
41
+ }
42
+ //#endregion
43
+ //#region src/config/expose.ts
44
+ const ALL_PRIVILEGES = [
45
+ "select",
46
+ "insert",
47
+ "update",
48
+ "delete"
49
+ ];
50
+ const isFunctionKey = (key) => key.endsWith(")");
51
+ const EXPOSE_PRIVILEGE = /^(?:select|insert|update|delete|(?:select|insert|update)\s*\(\s*[a-z_][a-z0-9_$]*(?:\s*,\s*[a-z_][a-z0-9_$]*)*\s*\))$/;
52
+ function checkedPrivileges(key, privileges) {
53
+ for (const privilege of privileges) {
54
+ const value = privilege;
55
+ if (typeof value !== "string" || !EXPOSE_PRIVILEGE.test(value)) throw new TypeError(`expose.${key}: "${String(value)}" is not a privilege. Use select, insert, update or delete, or name columns such as "update(title, body)"`);
56
+ }
57
+ return privileges;
58
+ }
59
+ function resolveExpose(key, entry) {
60
+ if (Array.isArray(entry)) return {
61
+ anon: [],
62
+ authenticated: checkedPrivileges(key, entry),
63
+ serviceRole: ALL_PRIVILEGES
64
+ };
65
+ if ("execute" in entry) throw new TypeError(`expose.${key}: \`execute\` is for functions; key it by its signature, such as ${key}(text)`);
66
+ const roles = entry;
67
+ return {
68
+ anon: checkedPrivileges(key, roles.anon ?? []),
69
+ authenticated: checkedPrivileges(key, roles.authenticated ?? []),
70
+ serviceRole: checkedPrivileges(key, roles.serviceRole ?? ALL_PRIVILEGES)
71
+ };
72
+ }
73
+ function resolveExposeFunction(key, entry) {
74
+ if (Array.isArray(entry) || !("execute" in entry)) throw new TypeError(`expose.${key}: a function takes { execute: ["authenticated"] }, not table privileges`);
75
+ return [...entry.execute, ...entry.serviceRole === false ? [] : ["service_role"]];
76
+ }
77
+ //#endregion
78
+ //#region src/config/resolve.ts
79
+ function entitlementsOf(config = {}, provider) {
80
+ const customer = config.customer;
81
+ const dot = customer?.lastIndexOf(".") ?? -1;
82
+ if (customer !== void 0 && dot <= 0) throw new TypeError(`entitlements.customer must be "table.column", got "${customer}"`);
83
+ return {
84
+ ...customer === void 0 ? {} : {
85
+ table: customer.slice(0, dot),
86
+ column: customer.slice(dot + 1)
87
+ },
88
+ key: config.key ?? "id",
89
+ memberships: config.memberships ?? (provider ? "provider" : "tenant"),
90
+ source: config.source ?? "stripe-sync",
91
+ ...config.claim === void 0 ? {} : { claim: config.claim }
92
+ };
93
+ }
94
+ function vectorSearchOf(config = {}) {
95
+ return Object.entries(config).map(([table, entry]) => typeof entry === "string" ? {
96
+ table,
97
+ column: entry,
98
+ distance: "cosine"
99
+ } : {
100
+ table,
101
+ column: entry.column,
102
+ distance: entry.distance ?? "cosine",
103
+ ...entry.type === void 0 ? {} : { type: entry.type },
104
+ ...entry.key === void 0 ? {} : { key: entry.key },
105
+ ...entry.hybrid === void 0 ? {} : { hybrid: entry.hybrid },
106
+ ...entry.boost === void 0 ? {} : { boost: entry.boost },
107
+ ...entry.prefilter === void 0 ? {} : { prefilter: entry.prefilter },
108
+ ...entry.predicate === void 0 ? {} : { predicate: entry.predicate },
109
+ ...entry.boostMode === void 0 ? {} : { boostMode: entry.boostMode },
110
+ ...entry.order === void 0 ? {} : { order: entry.order }
111
+ });
112
+ }
113
+ function sqlModulesOf(config = []) {
114
+ if (isModuleList(config)) return {
115
+ modules: {},
116
+ moduleNames: config
117
+ };
118
+ return {
119
+ modules: config,
120
+ moduleNames: Object.keys(config)
121
+ };
122
+ }
123
+ function isModuleList(config) {
124
+ return Array.isArray(config);
125
+ }
126
+ const CONFIG_SCHEMA_URL = "https://unpkg.com/better-supabase/schemas/config-v1.json";
127
+ /** Identity helper that types `better-supabase.config.ts`. */
128
+ function defineConfig(config) {
129
+ return config;
130
+ }
131
+ function pick(value, defaults) {
132
+ if (value === void 0 || value === false) return void 0;
133
+ if (value === true) return defaults;
134
+ return {
135
+ ...defaults,
136
+ ...value
137
+ };
138
+ }
139
+ function generatorsOf(generators) {
140
+ for (const generator of generators ?? []) {
141
+ const version = generator.apiVersion;
142
+ if (version !== void 0 && version !== 1) throw new TypeError(`generator "${generator.name}" targets generator API ${String(version)}; this better-supabase supports 1. Upgrade better-supabase or use a release of the generator for API 1.`);
143
+ }
144
+ return generators ?? [];
145
+ }
146
+ function authorizationOf(provider) {
147
+ const problem = providerApiProblem(provider);
148
+ if (problem !== void 0) throw new TypeError(problem);
149
+ return provider;
150
+ }
151
+ /** Applies defaults. Paths stay relative to `root`. */
152
+ function resolveConfig(config, root) {
153
+ const output = config.output ?? CONFIG_DEFAULTS.output;
154
+ const legacyOpenApi = config.openapi;
155
+ return {
156
+ root,
157
+ source: config.source ?? {},
158
+ schemas: config.schemas ?? CONFIG_DEFAULTS.schemas,
159
+ casing: config.casing ?? CONFIG_DEFAULTS.casing,
160
+ tables: config.tables ?? {},
161
+ output,
162
+ databaseTypesOutput: output.replace(/[^/]+$/, "database.types.ts"),
163
+ postgrestVersion: config.postgrestVersion ?? CONFIG_DEFAULTS.postgrestVersion,
164
+ json: config.json ?? {},
165
+ codecs: {
166
+ timestamptz: config.codecs?.timestamptz ?? CONFIG_DEFAULTS.codecs.timestamptz,
167
+ int8: config.codecs?.int8 ?? CONFIG_DEFAULTS.codecs.int8,
168
+ numeric: config.codecs?.numeric ?? CONFIG_DEFAULTS.codecs.numeric
169
+ },
170
+ relations: { nullableUnderRls: config.relations?.nullableUnderRls ?? false },
171
+ sensitive: config.sensitive ?? [],
172
+ storagePaths: config.storagePaths ?? {},
173
+ functions: config.functions ?? {},
174
+ expose: Object.fromEntries(Object.entries(config.expose ?? {}).filter(([key]) => !isFunctionKey(key)).map(([table, entry]) => [table, resolveExpose(table, entry)])),
175
+ exposeFunctions: Object.fromEntries(Object.entries(config.expose ?? {}).filter(([key]) => isFunctionKey(key)).map(([fn, entry]) => [fn, resolveExposeFunction(fn, entry)])),
176
+ readSets: config.readSets ?? [],
177
+ generators: generatorsOf(config.generators),
178
+ plugins: {
179
+ timestamps: pick(config.plugins?.timestamps, {
180
+ createdAt: "created_at",
181
+ updatedAt: "updated_at"
182
+ }),
183
+ softDelete: pick(config.plugins?.softDelete, { column: "deleted_at" }),
184
+ tenant: pick(config.plugins?.tenant, { column: "organization_id" }),
185
+ actor: pick(config.plugins?.actor, {
186
+ createdBy: "created_by",
187
+ updatedBy: "updated_by",
188
+ impersonatedBy: "impersonated_by"
189
+ })
190
+ },
191
+ claims: {
192
+ ...DEFAULT_CLAIMS,
193
+ ...config.claims
194
+ },
195
+ buckets: config.buckets ?? {},
196
+ topics: config.topics ?? {},
197
+ realtime: {
198
+ tables: config.realtime?.tables ?? [],
199
+ global: config.realtime?.global ?? [],
200
+ users: config.realtime?.users ?? {},
201
+ ...config.realtime?.policies === void 0 ? {} : { policies: config.realtime.policies }
202
+ },
203
+ entitlements: entitlementsOf(config.entitlements, config.authorization !== void 0),
204
+ ...config.authorization === void 0 ? {} : { authorization: authorizationOf(config.authorization) },
205
+ vectorSearch: vectorSearchOf(config.vectorSearch),
206
+ sql: {
207
+ dir: config.sql?.dir ?? CONFIG_DEFAULTS.sql.dir,
208
+ prefix: config.sql?.prefix ?? CONFIG_DEFAULTS.sql.prefix,
209
+ testsDir: config.sql?.testsDir ?? CONFIG_DEFAULTS.sql.testsDir,
210
+ ...sqlModulesOf(config.sql?.modules)
211
+ },
212
+ seed: {
213
+ entry: config.seed?.entry ?? CONFIG_DEFAULTS.seed.entry,
214
+ output: config.seed?.output ?? CONFIG_DEFAULTS.seed.output
215
+ },
216
+ openapi: {
217
+ entry: legacyOpenApi?.entry ?? CONFIG_DEFAULTS.openapi.entry,
218
+ output: legacyOpenApi?.output ?? CONFIG_DEFAULTS.openapi.output
219
+ },
220
+ specs: {
221
+ entry: config.specs?.entry ?? legacyOpenApi?.entry ?? CONFIG_DEFAULTS.openapi.entry,
222
+ outputs: config.specs?.outputs ?? [{
223
+ format: "openapi",
224
+ output: legacyOpenApi?.output ?? CONFIG_DEFAULTS.openapi.output
225
+ }],
226
+ failOn: config.specs?.failOn ?? CONFIG_DEFAULTS.specs.failOn,
227
+ ...config.specs?.manifest === void 0 ? {} : { manifest: config.specs.manifest }
228
+ },
229
+ doctor: {
230
+ ignore: config.doctor?.ignore ?? [],
231
+ only: config.doctor?.only ?? [],
232
+ strict: config.doctor?.strict ?? false,
233
+ format: config.doctor?.format ?? CONFIG_DEFAULTS.doctor.format,
234
+ sources: config.doctor?.sources ?? CONFIG_DEFAULTS.doctor.sources,
235
+ policyHelperLimit: config.doctor?.policyHelperLimit ?? CONFIG_DEFAULTS.doctor.policyHelperLimit,
236
+ ...config.doctor?.output === void 0 ? {} : { output: config.doctor.output },
237
+ ...config.doctor?.claimsLimit === void 0 ? {} : { claimsLimit: config.doctor.claimsLimit }
238
+ },
239
+ gen: {
240
+ ...config.gen,
241
+ watchInterval: config.gen?.watchInterval ?? CONFIG_DEFAULTS.gen.watchInterval
242
+ },
243
+ env: {
244
+ output: config.env?.output ?? CONFIG_DEFAULTS.env.output,
245
+ ...config.env?.prefix === void 0 ? {} : { prefix: config.env.prefix }
246
+ },
247
+ scaffold: config.scaffold ?? {},
248
+ integrations: config.integrations ?? [],
249
+ skills: config.skills ?? {},
250
+ keys: config.keys ?? {}
251
+ };
252
+ }
253
+ //#endregion
254
+ //#region src/generators/standard-schema.ts
255
+ /**
256
+ * Standard Schemas for every table's Row, Insert and Update shape, with no
257
+ * validation library. Each one also converts to JSON Schema (Standard JSON
258
+ * Schema), and `validators` plugs into the validation plugin.
259
+ */
260
+ function standardSchema(options = {}) {
261
+ return {
262
+ apiVersion: 1,
263
+ name: "standard-schema",
264
+ generate(input) {
265
+ const path = options.output ?? siblingPath(input.config.output, "standard.ts");
266
+ const imports = /* @__PURE__ */ new Map();
267
+ const jsonImports = /* @__PURE__ */ new Map();
268
+ const tableNames = new Map(Object.values(input.meta.tables).map((t) => [t.name, t.key]));
269
+ for (const [key, spec] of Object.entries(options.json ?? {})) {
270
+ const [tableName, column] = key.split(".");
271
+ const { from, name } = parseImport(spec);
272
+ const specifier = from.startsWith(".") ? input.importPath(path, from) : from;
273
+ imports.set(specifier, [...imports.get(specifier) ?? [], name]);
274
+ jsonImports.set(`${tableNames.get(tableName ?? "") ?? tableName}.${column}`, name);
275
+ }
276
+ const lines = [
277
+ HEADER,
278
+ `import { type TableSchema, tableSchema } from ${JSON.stringify(input.runtimeImport ?? "better-supabase")};`,
279
+ "",
280
+ `import type { InsertOf, RowOf, UpdateOf } from ${JSON.stringify(input.importPath(path, input.config.output))};`
281
+ ];
282
+ for (const [from, names] of imports) lines.push(`import { ${[...new Set(names)].sort().join(", ")} } from ${JSON.stringify(from)};`);
283
+ const validators = [];
284
+ const validatorTypes = [];
285
+ for (const [key, table] of tableEntries(input)) {
286
+ const variants = variantsFor(table);
287
+ const docs = tableDocs(input, table);
288
+ for (const variant of variants) {
289
+ lines.push("", `export const ${schemaName(key, variant)}: TableSchema<${variant}Of<'${key}'>> = tableSchema({`);
290
+ if (docs) {
291
+ lines.push(` title: ${JSON.stringify(variantTitle(docs, variant))},`);
292
+ if (docs.description !== void 0) lines.push(` description: ${JSON.stringify(docs.description)},`);
293
+ }
294
+ lines.push(" fields: {");
295
+ for (const plan of fieldsFor(table, variant, input)) {
296
+ const imported = jsonImports.get(`${key}.${plan.column.db}`);
297
+ const entries = Object.entries(fieldSpec(plan, fieldDocs(docs, plan))).map(([name, value]) => `${name}: ${JSON.stringify(value)}`);
298
+ if (imported) entries.push(`schema: ${imported}`);
299
+ lines.push(` ${propertyKey(plan.name)}: { ${entries.join(", ")} },`);
300
+ }
301
+ lines.push(" },", "});");
302
+ }
303
+ if (variants.includes("Insert")) {
304
+ const insert = schemaName(key, "Insert");
305
+ const update = schemaName(key, "Update");
306
+ validators.push(` ${propertyKey(key)}: { insert: ${insert}, update: ${update} },`);
307
+ validatorTypes.push(` readonly ${propertyKey(key)}: { readonly insert: typeof ${insert}; readonly update: typeof ${update} };`);
308
+ }
309
+ }
310
+ lines.push("", "/** Write validators for the validation plugin. */", "export const validators: {", ...validatorTypes, "} = {", ...validators, "};", "");
311
+ return [{
312
+ path,
313
+ contents: lines.join("\n")
314
+ }];
315
+ }
316
+ };
317
+ }
318
+ //#endregion
319
+ //#region src/generators/valibot.ts
320
+ function scalar$1(kind) {
321
+ switch (kind.kind) {
322
+ case "uuid": return "v.pipe(v.string(), v.uuid())";
323
+ case "string": return "v.string()";
324
+ case "integer": return "v.pipe(v.number(), v.integer())";
325
+ case "number": return "v.number()";
326
+ case "boolean": return "v.boolean()";
327
+ case "datetime": return "v.pipe(v.string(), v.isoTimestamp())";
328
+ case "date": return "v.pipe(v.string(), v.isoDate())";
329
+ case "instant": return "v.custom<Temporal.Instant>(isInstant)";
330
+ case "plainDateTime": return "v.custom<Temporal.PlainDateTime>(isPlainDateTime)";
331
+ case "bigint": return "v.bigint()";
332
+ case "json": return "json";
333
+ case "enum": return `v.picklist([${kind.values.map((value) => JSON.stringify(value)).join(", ")}])`;
334
+ case "unknown": return "v.unknown()";
335
+ default: return kind;
336
+ }
337
+ }
338
+ /** `expr` with `actions` appended, flattening an existing top-level `v.pipe`. */
339
+ function piped(expr, actions) {
340
+ if (actions.length === 0) return expr;
341
+ return `v.pipe(${/^v\.pipe\((.*)\)$/s.exec(expr)?.[1] ?? expr}, ${actions.join(", ")})`;
342
+ }
343
+ function boundActions(docs) {
344
+ return [
345
+ docs.minimum === void 0 ? void 0 : `v.minValue(${docs.minimum})`,
346
+ docs.exclusiveMinimum === void 0 ? void 0 : `v.gtValue(${docs.exclusiveMinimum})`,
347
+ docs.maximum === void 0 ? void 0 : `v.maxValue(${docs.maximum})`,
348
+ docs.exclusiveMaximum === void 0 ? void 0 : `v.ltValue(${docs.exclusiveMaximum})`,
349
+ docs.minLength === void 0 ? void 0 : `v.minLength(${docs.minLength})`,
350
+ docs.maxLength === void 0 ? void 0 : `v.maxLength(${docs.maxLength})`
351
+ ].filter((action) => action !== void 0);
352
+ }
353
+ function docActions(docs) {
354
+ return [...docs.description === void 0 ? [] : [`v.description(${JSON.stringify(docs.description)})`], ...docs.examples === void 0 ? [] : [`v.examples(${JSON.stringify(docs.examples)})`]];
355
+ }
356
+ function field$1(table, plan, jsonImports, docs) {
357
+ let expr = jsonImports.get(`${table}.${plan.column.db}`) ?? (plan.customJson ? `v.custom<NonNullable<RowOf<'${table}'>['${plan.name}']>>((value) => value !== undefined)` : plan.column.storage === void 0 ? piped(scalar$1(plan.scalar), boundActions(docs)) : `(v.string() as unknown as v.GenericSchema<${rowType(table, plan)}>)`);
358
+ if (plan.column.array) expr = `v.array(${expr})`;
359
+ if (plan.nullable) expr = `v.nullable(${expr})`;
360
+ expr = piped(expr, docActions(docs));
361
+ if (plan.optional) expr = `v.exactOptional(${expr})`;
362
+ return ` ${propertyKey(plan.name)}: ${expr},`;
363
+ }
364
+ /** Valibot schemas for every table's Row, Insert and Update shape. */
365
+ function valibot(options = {}) {
366
+ return {
367
+ apiVersion: 1,
368
+ name: "valibot",
369
+ generate(input) {
370
+ const path = options.output ?? siblingPath(input.config.output, "valibot.ts");
371
+ const imports = /* @__PURE__ */ new Map();
372
+ const jsonImports = /* @__PURE__ */ new Map();
373
+ const tableNames = new Map(Object.values(input.meta.tables).map((t) => [t.name, t.key]));
374
+ for (const [key, spec] of Object.entries(options.json ?? {})) {
375
+ const [tableName, column] = key.split(".");
376
+ const { from, name } = parseImport(spec);
377
+ const specifier = from.startsWith(".") ? input.importPath(path, from) : from;
378
+ imports.set(specifier, [...imports.get(specifier) ?? [], name]);
379
+ jsonImports.set(`${tableNames.get(tableName ?? "") ?? tableName}.${column}`, name);
380
+ }
381
+ const lines = [
382
+ HEADER,
383
+ "import * as v from \"valibot\";",
384
+ ...optionalLine(temporalGuardImport(input)),
385
+ "",
386
+ `import type { InsertOf, Json, RowOf, UpdateOf } from ${JSON.stringify(input.importPath(path, input.config.output))};`
387
+ ];
388
+ for (const [from, names] of imports) lines.push(`import { ${[...new Set(names)].sort().join(", ")} } from ${JSON.stringify(from)};`);
389
+ lines.push("", "const json: v.GenericSchema<Json> = v.lazy(() =>", " v.union([v.string(), v.number(), v.boolean(), v.null(), v.array(json), v.record(v.string(), v.optional(json))]),", ");");
390
+ const validators = [];
391
+ const validatorTypes = [];
392
+ for (const [key, table] of tableEntries(input)) {
393
+ lines.push("");
394
+ const variants = variantsFor(table);
395
+ const docs = tableDocs(input, table);
396
+ for (const variant of variants) {
397
+ const name = schemaName(key, variant);
398
+ const objectActions = docs ? [`v.title(${JSON.stringify(variantTitle(docs, variant))})`, ...docs.description === void 0 ? [] : [`v.description(${JSON.stringify(docs.description)})`]] : [];
399
+ lines.push(`export const ${name}: v.GenericSchema<${variant}Of<'${key}'>> = ${objectActions.length > 0 ? "v.pipe(" : ""}v.object({`);
400
+ for (const plan of fieldsFor(table, variant, input)) lines.push(field$1(key, plan, jsonImports, fieldDocs(docs, plan)));
401
+ lines.push(objectActions.length > 0 ? `}), ${objectActions.join(", ")});` : "});");
402
+ }
403
+ if (variants.includes("Insert")) {
404
+ const insert = schemaName(key, "Insert");
405
+ const update = schemaName(key, "Update");
406
+ validators.push(` ${propertyKey(key)}: { insert: ${insert}, update: ${update} },`);
407
+ validatorTypes.push(` readonly ${propertyKey(key)}: { readonly insert: typeof ${insert}; readonly update: typeof ${update} };`);
408
+ }
409
+ }
410
+ lines.push("", "/** Write validators for the validation plugin. */", "export const validators: {", ...validatorTypes, "} = {", ...validators, "};", "");
411
+ return [{
412
+ path,
413
+ contents: lines.join("\n")
414
+ }];
415
+ }
416
+ };
417
+ }
418
+ //#endregion
419
+ //#region src/generators/zod.ts
420
+ function scalar(kind) {
421
+ switch (kind.kind) {
422
+ case "uuid": return "z.guid()";
423
+ case "string": return "z.string()";
424
+ case "integer": return "z.int()";
425
+ case "number": return "z.number()";
426
+ case "boolean": return "z.boolean()";
427
+ case "datetime": return "z.iso.datetime({ offset: true })";
428
+ case "date": return "z.iso.date()";
429
+ case "instant": return "z.custom<Temporal.Instant>(isInstant)";
430
+ case "plainDateTime": return "z.custom<Temporal.PlainDateTime>(isPlainDateTime)";
431
+ case "bigint": return "z.bigint()";
432
+ case "json": return "z.json()";
433
+ case "enum": return `z.enum([${kind.values.map((value) => JSON.stringify(value)).join(", ")}])`;
434
+ case "unknown": return "z.unknown()";
435
+ default: return kind;
436
+ }
437
+ }
438
+ function bounds(docs, flavor) {
439
+ if (flavor === "mini") {
440
+ const checks = [
441
+ docs.minimum === void 0 ? "" : `z.gte(${docs.minimum})`,
442
+ docs.exclusiveMinimum === void 0 ? "" : `z.gt(${docs.exclusiveMinimum})`,
443
+ docs.maximum === void 0 ? "" : `z.lte(${docs.maximum})`,
444
+ docs.exclusiveMaximum === void 0 ? "" : `z.lt(${docs.exclusiveMaximum})`,
445
+ docs.minLength === void 0 ? "" : `z.minLength(${docs.minLength})`,
446
+ docs.maxLength === void 0 ? "" : `z.maxLength(${docs.maxLength})`
447
+ ].filter((check) => check !== "");
448
+ return checks.length === 0 ? "" : `.check(${checks.join(", ")})`;
449
+ }
450
+ return [
451
+ docs.minimum === void 0 ? "" : `.min(${docs.minimum})`,
452
+ docs.exclusiveMinimum === void 0 ? "" : `.gt(${docs.exclusiveMinimum})`,
453
+ docs.maximum === void 0 ? "" : `.max(${docs.maximum})`,
454
+ docs.exclusiveMaximum === void 0 ? "" : `.lt(${docs.exclusiveMaximum})`,
455
+ docs.minLength === void 0 ? "" : `.min(${docs.minLength})`,
456
+ docs.maxLength === void 0 ? "" : `.max(${docs.maxLength})`
457
+ ].join("");
458
+ }
459
+ /** `.meta({ ... })` (`.check(z.meta({ ... }))` in mini) for the entries that are set, or nothing. */
460
+ function meta(entries, flavor) {
461
+ const set = Object.entries(entries).filter(([, value]) => value !== void 0);
462
+ if (set.length === 0) return "";
463
+ const object = `{ ${set.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(", ")} }`;
464
+ return flavor === "mini" ? `.check(z.meta(${object}))` : `.meta(${object})`;
465
+ }
466
+ function field(table, plan, jsonImports, docs, flavor) {
467
+ const mini = flavor === "mini";
468
+ let expr = jsonImports.get(`${table}.${plan.column.db}`) ?? (plan.customJson ? `z.custom<NonNullable<RowOf<'${table}'>['${plan.name}']>>((value) => value !== undefined)` : plan.column.storage === void 0 ? `${scalar(plan.scalar)}${bounds(docs, flavor)}` : `(z.string() as unknown as ${typeName(flavor)}<${rowType(table, plan)}>)`);
469
+ if (plan.column.array) expr = `z.array(${expr})`;
470
+ if (plan.nullable) expr = mini ? `z.nullable(${expr})` : `${expr}.nullable()`;
471
+ expr += meta({
472
+ description: docs.description,
473
+ examples: docs.examples
474
+ }, flavor);
475
+ if (plan.optional) expr = mini ? `z.exactOptional(${expr})` : `${expr}.exactOptional()`;
476
+ return ` ${propertyKey(plan.name)}: ${expr},`;
477
+ }
478
+ function typeName(flavor) {
479
+ return flavor === "mini" ? "z.ZodMiniType" : "z.ZodType";
480
+ }
481
+ /**
482
+ * Zod 4 schemas for every table's Row, Insert and Update shape, for `zod`
483
+ * or, with `flavor: 'mini'`, `zod/mini`.
484
+ */
485
+ function zod(options = {}) {
486
+ const flavor = options.flavor ?? "classic";
487
+ return {
488
+ apiVersion: 1,
489
+ name: "zod",
490
+ generate(input) {
491
+ const path = options.output ?? siblingPath(input.config.output, "zod.ts");
492
+ const imports = /* @__PURE__ */ new Map();
493
+ const jsonImports = /* @__PURE__ */ new Map();
494
+ const tableNames = new Map(Object.values(input.meta.tables).map((t) => [t.name, t.key]));
495
+ for (const [key, spec] of Object.entries(options.json ?? {})) {
496
+ const [tableName, column] = key.split(".");
497
+ const { from, name } = parseImport(spec);
498
+ const specifier = from.startsWith(".") ? input.importPath(path, from) : from;
499
+ imports.set(specifier, [...imports.get(specifier) ?? [], name]);
500
+ jsonImports.set(`${tableNames.get(tableName ?? "") ?? tableName}.${column}`, name);
501
+ }
502
+ const lines = [
503
+ HEADER,
504
+ flavor === "mini" ? "import { z } from \"zod/mini\";" : "import { z } from \"zod\";",
505
+ ...optionalLine(temporalGuardImport(input)),
506
+ "",
507
+ `import type { InsertOf, RowOf, UpdateOf } from ${JSON.stringify(input.importPath(path, input.config.output))};`
508
+ ];
509
+ for (const [from, names] of imports) lines.push(`import { ${[...new Set(names)].sort().join(", ")} } from ${JSON.stringify(from)};`);
510
+ const validators = [];
511
+ for (const [key, table] of tableEntries(input)) {
512
+ lines.push("");
513
+ const variants = variantsFor(table);
514
+ const docs = tableDocs(input, table);
515
+ for (const variant of variants) {
516
+ const name = schemaName(key, variant);
517
+ lines.push(`export const ${name}: ${typeName(flavor)}<${variant}Of<'${key}'>> = z.object({`);
518
+ for (const plan of fieldsFor(table, variant, input)) lines.push(field(key, plan, jsonImports, fieldDocs(docs, plan), flavor));
519
+ lines.push(`})${docs ? meta({
520
+ title: variantTitle(docs, variant),
521
+ description: docs.description
522
+ }, flavor) : ""};`);
523
+ }
524
+ if (variants.includes("Insert")) validators.push(` ${propertyKey(key)}: { insert: ${schemaName(key, "Insert")}, update: ${schemaName(key, "Update")} },`);
525
+ }
526
+ lines.push("", "/** Write validators for the validation plugin. */", "export const validators: {");
527
+ for (const [key, table] of tableEntries(input)) {
528
+ if (!variantsFor(table).includes("Insert")) continue;
529
+ lines.push(` readonly ${propertyKey(key)}: { readonly insert: typeof ${schemaName(key, "Insert")}; readonly update: typeof ${schemaName(key, "Update")} };`);
530
+ }
531
+ lines.push("} = {", ...validators, "};", "");
532
+ return [{
533
+ path,
534
+ contents: lines.join("\n")
535
+ }];
536
+ }
537
+ };
538
+ }
539
+ //#endregion
540
+ export { defineConfig as a, GEN_TASKS as c, CONFIG_SCHEMA_URL as i, INTEGRATION_NAMES as l, valibot as n, resolveConfig as o, standardSchema as r, providerApiProblem as s, zod as t, SKILLS_AGENTS as u };
@@ -1,4 +1,4 @@
1
- import { b as DbError, f as Result, x as DbErrorKind } from "./result-D7y2fT87.js";
1
+ import { b as DbError, f as Result, x as DbErrorKind } from "./result-BchM1XZn.js";
2
2
  //#region src/powersync/connector.d.ts
3
3
  /** A queued local change: PowerSync's `CrudEntry`. */
4
4
  interface CrudEntryLike {
@@ -1,8 +1,8 @@
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 { i as CredentialRef, r as CredentialProvider } from "./provider-D-UEMvSD.js";
5
- 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 { i as CredentialRef, r as CredentialProvider } from "./provider-ib9wzUDz.js";
5
+ import { r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
6
6
  //#region src/blocks/connectors/connectors.d.ts
7
7
  type ConnectorTransport = "http" | "sse";
8
8
  /** `none`, OAuth per user (a grant each), or a header from the server's credential_ref. */
@@ -1,5 +1,5 @@
1
- import { u as ClaimsMeta } from "./types-6BdhkmZe.js";
2
- import { C as BlockEventMap, E as BlockEventType } from "./events-DWDhx77e.js";
1
+ import { u as ClaimsMeta } from "./types-CoE5Zwy4.js";
2
+ import { C as BlockEventMap, E as BlockEventType } from "./events-D1BOCll8.js";
3
3
  import { c as ResolvedModule, o as ModuleMode, s as ModulesConfig } from "./modules-DpPwzC7E.js";
4
4
  //#region src/sql/context.d.ts
5
5
  /** The scope id types SQL modules render. */
@@ -97,6 +97,15 @@ interface ModuleAudit {
97
97
  readonly metadata?: string;
98
98
  /** A `uuid` expression for the actor; defaults to the caller. */
99
99
  readonly actor?: string;
100
+ /**
101
+ * A `uuid` expression for the support session the action belongs to.
102
+ * Defaults to the session in the caller's `act` claim, which wins when set.
103
+ */
104
+ readonly supportSession?: string;
105
+ /** A `uuid` expression for the admin acting as the user; defaults to `act.sub`. */
106
+ readonly impersonatedBy?: string;
107
+ /** A `text` expression for why the admin acts as the user; defaults to `act.reason`. */
108
+ readonly impersonationReason?: string;
100
109
  }
101
110
  /**
102
111
  * An action a module records once: the outbox gets it as an event and the
@@ -0,0 +1,41 @@
1
+ import { i as userContext } from "./impersonation-DcqaTBHx.js";
2
+ //#region src/auth/context.ts
3
+ /** The repository context (`actor`, `claims`) for an auth state. */
4
+ function authContext(auth) {
5
+ switch (auth.kind) {
6
+ case "user": return userContext(auth.user, auth.claims);
7
+ case "service": return {
8
+ actor: {
9
+ id: `service:${auth.keyName}`,
10
+ kind: "service",
11
+ role: "service_role"
12
+ },
13
+ claims: { role: "service_role" }
14
+ };
15
+ case "apiKey": return {
16
+ actor: auth.userId ? {
17
+ id: auth.userId,
18
+ kind: "user",
19
+ role: "authenticated"
20
+ } : {
21
+ id: `api-key:${auth.keyId}`,
22
+ kind: "service",
23
+ role: "authenticated"
24
+ },
25
+ claims: auth.claims,
26
+ ...auth.organizationId ? { tenant: auth.organizationId } : {}
27
+ };
28
+ case "anon":
29
+ case "invalid": return {
30
+ actor: {
31
+ id: "anon",
32
+ kind: "anon",
33
+ role: "anon"
34
+ },
35
+ claims: { role: "anon" }
36
+ };
37
+ default: return auth;
38
+ }
39
+ }
40
+ //#endregion
41
+ export { authContext as t };
@@ -1,7 +1,7 @@
1
- import { t as AsyncResult } from "../result-D7y2fT87.js";
2
- import { i as sqlTransport, r as rpcTransport, t as BlockTransport } from "../block-transport-DvaoPuZ9.js";
3
- import { a as CredentialSubject, c as SetCredentialOptions, d as foreignCredentialRef, f as subjectFor, i as CredentialRef, l as StartAuthorizationOptions, n as CredentialCapabilities, o as CredentialToken, p as tenantCredentialRef, r as CredentialProvider, s as GetTokenOptions, t as CompleteAuthorizationOptions, u as credentialRefInTenant } from "../provider-D-UEMvSD.js";
4
- import { a as vaultCredentials, i as VaultInboundScheme, n as VaultCredentials, r as VaultCredentialsOptions, t as VaultCredentialRef } from "../vault-wlbBhqm7.js";
1
+ import { t as AsyncResult } from "../result-BchM1XZn.js";
2
+ import { a as dbTransport, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../block-transport-inD4fFq-.js";
3
+ import { a as CredentialSubject, c as SetCredentialOptions, d as foreignCredentialRef, f as subjectFor, i as CredentialRef, l as StartAuthorizationOptions, n as CredentialCapabilities, o as CredentialToken, p as tenantCredentialRef, r as CredentialProvider, s as GetTokenOptions, t as CompleteAuthorizationOptions, u as credentialRefInTenant } from "../provider-ib9wzUDz.js";
4
+ import { a as vaultCredentials, i as VaultInboundScheme, n as VaultCredentials, r as VaultCredentialsOptions, t as VaultCredentialRef } from "../vault-BpmApxxW.js";
5
5
  //#region src/credentials/compose.d.ts
6
6
  /**
7
7
  * One provider over several: each call goes to the provider whose `name`
@@ -28,4 +28,4 @@ interface RevokeIfConfiguredOptions {
28
28
  */
29
29
  export declare function revokeIfConfigured(provider: CredentialProvider | undefined, ref: CredentialRef, options: RevokeIfConfiguredOptions): AsyncResult<boolean>;
30
30
  //#endregion
31
- export { type BlockTransport, type CompleteAuthorizationOptions, type CredentialCapabilities, type CredentialProvider, type CredentialRef, type CredentialSubject, type CredentialToken, type GetTokenOptions, type RevokeIfConfiguredOptions, type SetCredentialOptions, type StartAuthorizationOptions, type VaultCredentialRef, type VaultCredentials, type VaultCredentialsOptions, type VaultInboundScheme, credentialRefInTenant, foreignCredentialRef, rpcTransport, sqlTransport, subjectFor, tenantCredentialRef, vaultCredentials };
31
+ export { type BlockTransport, type CompleteAuthorizationOptions, type CredentialCapabilities, type CredentialProvider, type CredentialRef, type CredentialSubject, type CredentialToken, type GetTokenOptions, type RevokeIfConfiguredOptions, type SetCredentialOptions, type StartAuthorizationOptions, type VaultCredentialRef, type VaultCredentials, type VaultCredentialsOptions, type VaultInboundScheme, credentialRefInTenant, dbTransport, foreignCredentialRef, rpcTransport, sqlTransport, subjectFor, tenantCredentialRef, vaultCredentials };