better-supabase 0.5.0 → 0.6.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 (536) hide show
  1. package/README.md +299 -41
  2. package/dist/access-sql-B0dF-SoF.js +181 -0
  3. package/dist/actor-CQTlc1Hh.d.ts +43 -0
  4. package/dist/adapter-Bc1o3zyy.js +1106 -0
  5. package/dist/agents-CVHGd7It.d.ts +94 -0
  6. package/dist/ai-cache-CBWs1W0k.js +80 -0
  7. package/dist/ai-cache-DaDu_G5L.d.ts +64 -0
  8. package/dist/ai-chat-7amvXjmQ.d.ts +590 -0
  9. package/dist/ai-chat-B24UI962.js +743 -0
  10. package/dist/ai-files-CSPNswUY.js +319 -0
  11. package/dist/ai-sdk/agents/index.d.ts +74 -0
  12. package/dist/ai-sdk/agents/index.js +159 -0
  13. package/dist/ai-sdk/batches/index.d.ts +74 -0
  14. package/dist/ai-sdk/batches/index.js +180 -0
  15. package/dist/ai-sdk/cache/index.d.ts +38 -0
  16. package/dist/ai-sdk/cache/index.js +127 -0
  17. package/dist/ai-sdk/chat/index.d.ts +2 -0
  18. package/dist/ai-sdk/chat/index.js +246 -0
  19. package/dist/ai-sdk/embeddings/index.d.ts +3 -0
  20. package/dist/ai-sdk/embeddings/index.js +2 -0
  21. package/dist/ai-sdk/files/index.d.ts +61 -0
  22. package/dist/ai-sdk/files/index.js +111 -0
  23. package/dist/ai-sdk/index.d.ts +145 -0
  24. package/dist/ai-sdk/index.js +174 -0
  25. package/dist/ai-sdk/mcp/index.d.ts +102 -0
  26. package/dist/ai-sdk/mcp/index.js +362 -0
  27. package/dist/ai-sdk/memory/index.d.ts +67 -0
  28. package/dist/ai-sdk/memory/index.js +175 -0
  29. package/dist/ai-sdk/react/index.d.ts +2 -0
  30. package/dist/ai-sdk/react/index.js +3 -0
  31. package/dist/ai-sdk/react/server.d.ts +6 -0
  32. package/dist/ai-sdk/react/server.js +7 -0
  33. package/dist/ai-sdk/workflow/index.d.ts +249 -0
  34. package/dist/ai-sdk/workflow/index.js +575 -0
  35. package/dist/ai-sdk/workflow/react/index.d.ts +20 -0
  36. package/dist/ai-sdk/workflow/react/index.js +66 -0
  37. package/dist/ai-sdk/workflow/react/server.d.ts +10 -0
  38. package/dist/ai-sdk/workflow/react/server.js +12 -0
  39. package/dist/ai-tasks-Cd1HMFvB.d.ts +131 -0
  40. package/dist/announcements-CiyOs-xP.js +107 -0
  41. package/dist/announcements-ZRGnScWI.d.ts +72 -0
  42. package/dist/api-keys-rCGtKaZA.d.ts +156 -0
  43. package/dist/assistant-DwdpDH1q.d.ts +147 -0
  44. package/dist/astro/index.d.ts +86 -0
  45. package/dist/astro/index.js +93 -0
  46. package/dist/attributes-5dYul0u0.js +13 -0
  47. package/dist/auth-link-BjFPqwLz.d.ts +97 -0
  48. package/dist/auth-link-DrDX9KOT.js +114 -0
  49. package/dist/authorization-BFCqamMs.d.ts +172 -0
  50. package/dist/before-route-CnR0C0Jr.js +30 -0
  51. package/dist/bind-Bu_ZNa3W.d.ts +62 -0
  52. package/dist/bind-l4kAvYSv.js +97 -0
  53. package/dist/block-events-CrT8r7Fe.js +76 -0
  54. package/dist/block-fields-GFkxl4dP.js +49 -0
  55. package/dist/block-fields-SJ6fEf3o.d.ts +31 -0
  56. package/dist/block-helpers-CKtbFcRv.d.ts +37 -0
  57. package/dist/block-helpers-DWHxHsEQ.js +190 -0
  58. package/dist/block-hooks-BmjMyXTa.js +114 -0
  59. package/dist/block-hooks-plbZ0AbJ.d.ts +107 -0
  60. package/dist/{kit-transport-DJlHQUBU.js → block-transport-BLr-ZgLc.js} +11 -7
  61. package/dist/block-transport-DvaoPuZ9.d.ts +48 -0
  62. package/dist/blocks/agents/index.d.ts +3 -0
  63. package/dist/blocks/agents/index.js +123 -0
  64. package/dist/blocks/ai-cache/index.d.ts +3 -0
  65. package/dist/blocks/ai-cache/index.js +3 -0
  66. package/dist/blocks/ai-chat/index.d.ts +31 -0
  67. package/dist/blocks/ai-chat/index.js +5 -0
  68. package/dist/blocks/ai-chat/react/index.d.ts +77 -0
  69. package/dist/blocks/ai-chat/react/index.js +387 -0
  70. package/dist/blocks/ai-chat/react/server.d.ts +16 -0
  71. package/dist/blocks/ai-chat/react/server.js +14 -0
  72. package/dist/blocks/ai-files/index.d.ts +14 -0
  73. package/dist/blocks/ai-files/index.js +3 -0
  74. package/dist/blocks/ai-providers/index.d.ts +7 -0
  75. package/dist/blocks/ai-providers/index.js +211 -0
  76. package/dist/blocks/ai-tasks/index.d.ts +3 -0
  77. package/dist/blocks/ai-tasks/index.js +203 -0
  78. package/dist/blocks/announcements/index.d.ts +3 -0
  79. package/dist/blocks/announcements/index.js +3 -0
  80. package/dist/blocks/announcements/react/index.d.ts +31 -0
  81. package/dist/blocks/announcements/react/index.js +86 -0
  82. package/dist/blocks/announcements/react/server.d.ts +6 -0
  83. package/dist/blocks/announcements/react/server.js +7 -0
  84. package/dist/blocks/api-keys/index.d.ts +35 -0
  85. package/dist/blocks/api-keys/index.js +334 -0
  86. package/dist/blocks/attachments/index.d.ts +210 -0
  87. package/dist/blocks/attachments/index.js +222 -0
  88. package/dist/blocks/audit/index.d.ts +366 -0
  89. package/dist/blocks/audit/index.js +714 -0
  90. package/dist/blocks/billing/index.d.ts +265 -0
  91. package/dist/blocks/billing/index.js +400 -0
  92. package/dist/blocks/comments/index.d.ts +200 -0
  93. package/dist/blocks/comments/index.js +207 -0
  94. package/dist/blocks/connectors/index.d.ts +3 -0
  95. package/dist/blocks/connectors/index.js +164 -0
  96. package/dist/blocks/data-lifecycle/index.d.ts +251 -0
  97. package/dist/blocks/data-lifecycle/index.js +353 -0
  98. package/dist/blocks/entitlements/index.d.ts +14 -0
  99. package/dist/blocks/entitlements/index.js +25 -0
  100. package/dist/blocks/flags/index.d.ts +226 -0
  101. package/dist/blocks/flags/index.js +282 -0
  102. package/dist/blocks/inbox/index.d.ts +6 -0
  103. package/dist/blocks/inbox/index.js +499 -0
  104. package/dist/blocks/inbox/react/index.d.ts +2 -0
  105. package/dist/blocks/inbox/react/index.js +225 -0
  106. package/dist/blocks/inbox/react/server.d.ts +10 -0
  107. package/dist/blocks/inbox/react/server.js +12 -0
  108. package/dist/blocks/index.d.ts +65 -0
  109. package/dist/blocks/index.js +77 -0
  110. package/dist/blocks/jobs/index.d.ts +297 -0
  111. package/dist/blocks/jobs/index.js +1051 -0
  112. package/dist/blocks/knowledge/index.d.ts +3 -0
  113. package/dist/blocks/knowledge/index.js +3 -0
  114. package/dist/blocks/memory/index.d.ts +8 -0
  115. package/dist/blocks/memory/index.js +289 -0
  116. package/dist/blocks/notifications/index.d.ts +297 -0
  117. package/dist/blocks/notifications/index.js +425 -0
  118. package/dist/blocks/notifications/react/index.d.ts +44 -0
  119. package/dist/blocks/notifications/react/index.js +67 -0
  120. package/dist/blocks/notifications/react/server.d.ts +6 -0
  121. package/dist/blocks/notifications/react/server.js +7 -0
  122. package/dist/blocks/onboarding/index.d.ts +3 -0
  123. package/dist/blocks/onboarding/index.js +64 -0
  124. package/dist/blocks/onboarding/react/index.d.ts +28 -0
  125. package/dist/blocks/onboarding/react/index.js +78 -0
  126. package/dist/blocks/onboarding/react/server.d.ts +7 -0
  127. package/dist/blocks/onboarding/react/server.js +7 -0
  128. package/dist/blocks/organizations/index.d.ts +241 -0
  129. package/dist/blocks/organizations/index.js +400 -0
  130. package/dist/blocks/outbox/index.d.ts +3 -0
  131. package/dist/blocks/outbox/index.js +266 -0
  132. package/dist/blocks/profiles/index.d.ts +40 -0
  133. package/dist/blocks/profiles/index.js +28 -0
  134. package/dist/blocks/push/index.d.ts +185 -0
  135. package/dist/blocks/push/index.js +258 -0
  136. package/dist/blocks/settings/index.d.ts +89 -0
  137. package/dist/blocks/settings/index.js +104 -0
  138. package/dist/blocks/sso/index.d.ts +198 -0
  139. package/dist/blocks/sso/index.js +1297 -0
  140. package/dist/blocks/usage/index.d.ts +4 -0
  141. package/dist/blocks/usage/index.js +233 -0
  142. package/dist/blocks/waitlist/index.d.ts +117 -0
  143. package/dist/blocks/waitlist/index.js +132 -0
  144. package/dist/blocks/webhooks/index.d.ts +304 -0
  145. package/dist/{webhooks → blocks/webhooks}/index.js +468 -148
  146. package/dist/blocks/workflow-builder/index.d.ts +21 -0
  147. package/dist/blocks/workflow-builder/index.js +5 -0
  148. package/dist/blocks/workflow-builder/react/index.d.ts +47 -0
  149. package/dist/blocks/workflow-builder/react/index.js +119 -0
  150. package/dist/blocks/workflow-builder/react/server.d.ts +8 -0
  151. package/dist/blocks/workflow-builder/react/server.js +11 -0
  152. package/dist/blocks/workflows/index.d.ts +3 -0
  153. package/dist/blocks/workflows/index.js +3 -0
  154. package/dist/blocks/workflows/react/index.d.ts +47 -0
  155. package/dist/blocks/workflows/react/index.js +137 -0
  156. package/dist/blocks/workflows/react/server.d.ts +8 -0
  157. package/dist/blocks/workflows/react/server.js +11 -0
  158. package/dist/{index-SaTsEfGP.d.ts → bucket-Cl46E3jS.d.ts} +134 -91
  159. package/dist/{simplify-_0oUKqCd.js → build-BXIzE6Xv.js} +222 -124
  160. package/dist/{channel-FQW-CnGR.d.ts → channel-_2Mx1Oyu.d.ts} +2 -2
  161. package/dist/channels-CkgQ_X60.js +114 -0
  162. package/dist/chat-sdk/index.d.ts +303 -0
  163. package/dist/chat-sdk/index.js +733 -0
  164. package/dist/chat-sdk/react/index.d.ts +2 -0
  165. package/dist/chat-sdk/react/index.js +3 -0
  166. package/dist/chat-sdk/react/server.d.ts +3 -0
  167. package/dist/chat-sdk/react/server.js +2 -0
  168. package/dist/claims-DDBQT6BK.js +61 -0
  169. package/dist/{claims-BAf6c7is.js → claims-PqzCxaTD.js} +39 -2
  170. package/dist/cli/bin.js +1 -1
  171. package/dist/cli/{codemod-DqV7612m.js → codemod-Bl_tQpHn.js} +105 -2
  172. package/dist/cli/config-B9HkL8nF.js +2 -0
  173. package/dist/cli/config-DU7EJImt.js +49 -0
  174. package/dist/cli/config-NiPxAmUF.js +1077 -0
  175. package/dist/cli/{dist-xn4wlboc.js → dist-DRAVaE6w.js} +111 -1
  176. package/dist/cli/{doctor-L7Z8mYTx.js → doctor-B4JOm_ox.js} +992 -316
  177. package/dist/cli/{env-DmKv_G4A.js → env-CJLbUVPB.js} +1 -1
  178. package/dist/cli/{env-jIFUADLY.js → env-qXgyMV6r.js} +2 -2
  179. package/dist/cli/fresh-import-BeYf9I3x.js +40 -0
  180. package/dist/cli/gen-BGLb_zou.js +3100 -0
  181. package/dist/cli/gen-DAH8FM2W.js +2 -0
  182. package/dist/cli/index.d.ts +44 -5
  183. package/dist/cli/index.js +7 -7
  184. package/dist/cli/{init-Saf5-R9T.js → init-BIIwclPg.js} +242 -27
  185. package/dist/cli/{introspect--H7oGmcd.js → introspect-DNUTuNvb.js} +5 -5
  186. package/dist/cli/{io-k41_z-jT.js → io-DI1mTdSA.js} +12 -3
  187. package/dist/cli/{keys-ByKHnvP9.js → keys-BGCnnb-s.js} +8 -6
  188. package/dist/cli/{ohash-D7bG_EOb.js → ohash-BjQY1cBb.js} +1 -1
  189. package/dist/cli/{openapi-Cp5Fyta-.js → openapi-BlRJ18s3.js} +2 -2
  190. package/dist/cli/{project-B_GeXyHh.js → project-DZRaBaY7.js} +11 -6
  191. package/dist/cli/read-sets-CETOSFx4.js +223 -0
  192. package/dist/cli/{run-BKR2W_79.js → run-DNWxHynX.js} +33 -23
  193. package/dist/cli/{seed-CUlqWh-8.js → seed-DQzqT7LP.js} +8 -6
  194. package/dist/cli/{skills-LJJIhLFR.js → skills-QQs4q68J.js} +3 -2
  195. package/dist/cli/sql-D0GUtUPp.js +536 -0
  196. package/dist/cli/{config-CPVpXP5I.js → supabase-toml-B-bIukQF.js} +72 -942
  197. package/dist/cli/typegen-version-DeFbtzYI.js +8 -0
  198. package/dist/cli/{version-BDJuO0UR.js → version-hr88OZG0.js} +1 -1
  199. package/dist/client/index.d.ts +3 -2
  200. package/dist/client/index.js +11 -71
  201. package/dist/client/native/index.d.ts +228 -0
  202. package/dist/client/native/index.js +361 -0
  203. package/dist/client-CI0Z2zWX.js +277 -0
  204. package/dist/cloud-event-BnmD5fb9.js +46 -0
  205. package/dist/cloud-event-C1JCc1bH.d.ts +50 -0
  206. package/dist/{compiler-BXH_aZ7N.d.ts → compiler-DY_wkj4R.d.ts} +2 -2
  207. package/dist/compose-BIBNgAnq.js +53 -0
  208. package/dist/composite-Bt1YK3Ke.d.ts +146 -0
  209. package/dist/composite-DhE66P5u.js +130 -0
  210. package/dist/config/index.d.ts +6 -4
  211. package/dist/config/index.js +5 -5
  212. package/dist/{config-T_ejwyd3.d.ts → config-D44Y7PAv.d.ts} +406 -205
  213. package/dist/{config-DreERlKo.js → config-Dn7F5k9A.js} +62 -14
  214. package/dist/connector-Dv8kK0MO.d.ts +107 -0
  215. package/dist/connectors-hkLCwyEz.d.ts +120 -0
  216. package/dist/context-BCrWe7ow.d.ts +237 -0
  217. package/dist/credentials/index.d.ts +31 -0
  218. package/dist/credentials/index.js +168 -0
  219. package/dist/cron-DVPUg5k3.js +145 -0
  220. package/dist/csv-CPAzEmB6.js +25 -0
  221. package/dist/db-exception-CnWcYPxL.js +15 -0
  222. package/dist/{define-cNKzqwL_.js → define-B-TVjC25.js} +784 -227
  223. package/dist/{define-Bp_BZa5h.d.ts → define-CJJkkr1-.d.ts} +353 -61
  224. package/dist/edge/index.d.ts +69 -11
  225. package/dist/edge/index.js +191 -75
  226. package/dist/elysia/index.d.ts +59 -0
  227. package/dist/elysia/index.js +62 -0
  228. package/dist/embeddings-4ZvFzjsU.js +127 -0
  229. package/dist/embeddings-C9KGQnXt.d.ts +68 -0
  230. package/dist/{refresh-BTrQ_ZTp.d.ts → ended-jLfvw8h-.d.ts} +20 -2
  231. package/dist/{entitlements-DUxU4oHe.d.ts → entitlements-DHrY2UDZ.d.ts} +16 -7
  232. package/dist/entitlements-DRl6ZJUm.js +24 -0
  233. package/dist/envelope-DqnYGRw7.js +47 -0
  234. package/dist/{errors-DtwXa6b8.js → errors-B11Duf73.js} +82 -13
  235. package/dist/errors-DLjJHPLK.js +44 -0
  236. package/dist/escape-like-DHfx6jRr.js +7 -0
  237. package/dist/escape-like-ImTK0ps_.d.ts +15 -0
  238. package/dist/eve/index.d.ts +220 -0
  239. package/dist/eve/index.js +504 -0
  240. package/dist/eve-gT2Fpjut.d.ts +151 -0
  241. package/dist/events/index.d.ts +4 -3
  242. package/dist/events/index.js +9 -50
  243. package/dist/events-DWDhx77e.d.ts +549 -0
  244. package/dist/executor-Bq28caBo.js +718 -0
  245. package/dist/executor-C-R4pucm.js +83 -0
  246. package/dist/executor-CaWigTyR.d.ts +148 -0
  247. package/dist/executor-D14tGopJ.d.ts +36 -0
  248. package/dist/{executor-Cghdstwu.d.ts → executor-DbvExCFC.d.ts} +7 -1
  249. package/dist/{sql-Coh6n4cC.js → executor-De1Of3m3.js} +210 -11
  250. package/dist/executor-DvsBbNBS.d.ts +261 -0
  251. package/dist/expo/index.d.ts +79 -0
  252. package/dist/expo/index.js +129 -0
  253. package/dist/expo-sqlite/index.d.ts +58 -0
  254. package/dist/expo-sqlite/index.js +104 -0
  255. package/dist/field-errors-BFOa7WhB.d.ts +99 -0
  256. package/dist/field-errors-VF1yb8yI.js +13 -0
  257. package/dist/framework-CONDyPYx.js +51 -0
  258. package/dist/framework-DuVb4Xa8.d.ts +25 -0
  259. package/dist/gateway-C1ssRHnf.d.ts +130 -0
  260. package/dist/graph-BGyLLFLX.js +265 -0
  261. package/dist/h3/index.d.ts +59 -0
  262. package/dist/h3/index.js +55 -0
  263. package/dist/h3/v1/index.d.ts +63 -0
  264. package/dist/h3/v1/index.js +49 -0
  265. package/dist/history-BZih6SFP.js +64 -0
  266. package/dist/hono/index.d.ts +56 -7
  267. package/dist/hono/index.js +97 -45
  268. package/dist/{react-C_s7kiNz.js → hooks-1BTCJsiw.js} +104 -133
  269. package/dist/http-Cv4T29xh.js +40 -0
  270. package/dist/http-DdYadv-o.js +126 -0
  271. package/dist/image-url-pIVlO6R1.js +41 -0
  272. package/dist/impersonation-DcqaTBHx.js +148 -0
  273. package/dist/inbox-i7E1ppo6.d.ts +384 -0
  274. package/dist/index-ACiNPN4Z.d.ts +74 -0
  275. package/dist/{index-DgILJRXj.d.ts → index-Bepi-Hgg.d.ts} +91 -28
  276. package/dist/index-BkWT_uBO.d.ts +51 -0
  277. package/dist/index-BpFYMsi0.d.ts +53 -0
  278. package/dist/{index-C7f8cOBM.d.ts → index-Bxih3l0u.d.ts} +2 -2
  279. package/dist/index-CaxrMD1A.d.ts +1 -0
  280. package/dist/index-ClmjK_o-.d.ts +55 -0
  281. package/dist/index-CtuakVRc.d.ts +267 -0
  282. package/dist/index-D48jVS-N.d.ts +246 -0
  283. package/dist/index-DDrYaUcq.d.ts +138 -0
  284. package/dist/index-DQh4VCc9.d.ts +98 -0
  285. package/dist/{live-D9W2M5aO.d.ts → index-DunNRdnT.d.ts} +136 -38
  286. package/dist/index.d.ts +65 -18
  287. package/dist/index.js +42 -14
  288. package/dist/invalidate-BBqhpxyB.d.ts +19 -0
  289. package/dist/json-CEnpTHlZ.js +16 -0
  290. package/dist/json-schema-CvER4kgT.js +502 -0
  291. package/dist/keys-4MnkWTTh.js +35 -0
  292. package/dist/kit-B5tid-q5.d.ts +60 -0
  293. package/dist/kit-Fm-Fv7q5.js +78 -0
  294. package/dist/knowledge-BXBbT0Tr.d.ts +176 -0
  295. package/dist/knowledge-CDmiMLew.js +255 -0
  296. package/dist/lint/index.d.ts +1 -1
  297. package/dist/lint/index.js +37 -0
  298. package/dist/list/index.d.ts +3 -2
  299. package/dist/list/index.js +1 -444
  300. package/dist/{index-fag8VJZ2.d.ts → list-query-BRt-zDF7.d.ts} +20 -12
  301. package/dist/list-query-gl808ac1.js +459 -0
  302. package/dist/{live-CdJBOc4f.js → live-CTAZQkwl.js} +99 -14
  303. package/dist/logger-DWVYUmwi.d.ts +18 -0
  304. package/dist/mcp/index.d.ts +38 -11
  305. package/dist/mcp/index.js +82 -46
  306. package/dist/mcp/sdk/index.d.ts +105 -0
  307. package/dist/mcp/sdk/index.js +126 -0
  308. package/dist/message-CaKlqdsX.js +219 -0
  309. package/dist/message-CfDoR0Y6.d.ts +94 -0
  310. package/dist/messages-B9-5887d.js +715 -0
  311. package/dist/messages-DYP0sUTe.d.ts +59 -0
  312. package/dist/{mfa-CusDgPaD.d.ts → mfa-Daak8ukG.d.ts} +8 -2
  313. package/dist/modules-DpPwzC7E.d.ts +192 -0
  314. package/dist/modules-dxrVK3ID.js +228 -0
  315. package/dist/nestjs/index.d.ts +68 -0
  316. package/dist/nestjs/index.js +164 -0
  317. package/dist/next/client/index.d.ts +35 -0
  318. package/dist/next/client/index.js +36 -0
  319. package/dist/next/image/index.js +3 -24
  320. package/dist/next/index.d.ts +150 -51
  321. package/dist/next/index.js +261 -107
  322. package/dist/node/index.d.ts +4 -0
  323. package/dist/node/index.js +210 -0
  324. package/dist/node-headers-AO06VhqH.d.ts +24 -0
  325. package/dist/node-headers-C71zNQHe.js +55 -0
  326. package/dist/nuxt/index.d.ts +60 -0
  327. package/dist/nuxt/index.js +64 -0
  328. package/dist/onboarding-BZGHYJks.d.ts +62 -0
  329. package/dist/openapi/index.d.ts +1 -1
  330. package/dist/openapi/index.js +3 -3
  331. package/dist/orpc/index.d.ts +70 -11
  332. package/dist/orpc/index.js +73 -24
  333. package/dist/otel/index.d.ts +7 -7
  334. package/dist/otel/index.js +87 -57
  335. package/dist/outbox-Cq7pPYvl.d.ts +161 -0
  336. package/dist/{plugin-o144f322.d.ts → plugin-FGY8UhYm.d.ts} +30 -10
  337. package/dist/plugin-tfXW1-qO.js +45 -0
  338. package/dist/plugins/actor/index.d.ts +2 -2
  339. package/dist/plugins/actor/index.js +3 -3
  340. package/dist/plugins/rules/index.d.ts +11 -4
  341. package/dist/plugins/rules/index.js +40 -13
  342. package/dist/plugins/soft-delete/index.d.ts +5 -4
  343. package/dist/plugins/soft-delete/index.js +10 -5
  344. package/dist/plugins/tenant/index.d.ts +2 -2
  345. package/dist/plugins/tenant/index.js +18 -11
  346. package/dist/plugins/timestamps/index.d.ts +5 -3
  347. package/dist/plugins/timestamps/index.js +6 -4
  348. package/dist/plugins/validation/index.d.ts +2 -2
  349. package/dist/plugins/validation/index.js +10 -6
  350. package/dist/{pool-C9voM4Kw.d.ts → pool-CAu2nLrL.d.ts} +2 -2
  351. package/dist/postgres/index.d.ts +4 -4
  352. package/dist/postgres/index.js +1 -2
  353. package/dist/{postgrest-CruYKAvV.d.ts → postgrest-BLVdEnfe.d.ts} +13 -3
  354. package/dist/powersync/index.d.ts +43 -0
  355. package/dist/powersync/index.js +199 -0
  356. package/dist/powersync/react/index.d.ts +87 -0
  357. package/dist/powersync/react/index.js +108 -0
  358. package/dist/{problem-BW1KhzSG.js → problem-BreOl8b8.js} +14 -3
  359. package/dist/{problem-Blxe8S31.d.ts → problem-DD8LZFjc.d.ts} +21 -3
  360. package/dist/provider-BH5UWZJ6.d.ts +113 -0
  361. package/dist/provider-Di3sRutW.js +57 -0
  362. package/dist/query/index.d.ts +4 -2
  363. package/dist/query/index.js +4 -3
  364. package/dist/{query-CCbo44lG.js → query-BQ-NaZon.js} +141 -24
  365. package/dist/{queue-BYUCjr59.d.ts → queue-CLJurhdy.d.ts} +258 -83
  366. package/dist/react/index.d.ts +11 -7
  367. package/dist/react/index.js +7 -3
  368. package/dist/react/native/index.d.ts +116 -0
  369. package/dist/react/native/index.js +130 -0
  370. package/dist/react/server.d.ts +28 -10
  371. package/dist/react/server.js +22 -5
  372. package/dist/react/session.d.ts +2 -2
  373. package/dist/react-4ZqkP8da.js +79 -0
  374. package/dist/react-F80mF4-t.js +409 -0
  375. package/dist/react-router/index.d.ts +83 -0
  376. package/dist/react-router/index.js +89 -0
  377. package/dist/react-topic-seAWjL3_.js +38 -0
  378. package/dist/{read-set-DQFt1N_Y.js → read-set-DuKWC9Mj.js} +67 -25
  379. package/dist/realtime/index.d.ts +4 -5
  380. package/dist/realtime/index.js +144 -82
  381. package/dist/refusal-CeJWxmkH.js +61 -0
  382. package/dist/refusal-D1rgbzNq.d.ts +15 -0
  383. package/dist/replicas-CwrYp5Zj.js +94 -0
  384. package/dist/{view-Bq64ki8-.js → resolve-D_IcnvFd.js} +239 -289
  385. package/dist/{resolve-C15TJq77.d.ts → resolve-KW8nCeL6.d.ts} +29 -45
  386. package/dist/{resource-CRxxwkQq.js → resource-BsvzCMlX.js} +4 -4
  387. package/dist/{resource-D8iqWMr-.d.ts → resource-D6Uc7Sk7.d.ts} +5 -5
  388. package/dist/respond-BUgsXNgk.js +91 -0
  389. package/dist/respond-DoBijysA.d.ts +93 -0
  390. package/dist/result-D7y2fT87.d.ts +282 -0
  391. package/dist/{result-BKiliPY7.js → result-DzUbqgdW.js} +27 -2
  392. package/dist/run-state-CPo-1X2B.d.ts +12 -0
  393. package/dist/run-state-CgBKzYMW.js +13 -0
  394. package/dist/search-CUWCRYKL.js +9 -0
  395. package/dist/server/index.d.ts +143 -21
  396. package/dist/server/index.js +46 -14
  397. package/dist/{respond-D2OQl62-.d.ts → server-CeVeeXwz.d.ts} +225 -80
  398. package/dist/session-ChiXDZdZ.d.ts +72 -0
  399. package/dist/shared-CBxosKK3.js +75 -0
  400. package/dist/{shared-D1dRUrAg.js → shared-CxWmcyqB.js} +2 -1
  401. package/dist/shared-DDSjEGDR.d.ts +11 -0
  402. package/dist/sign-in-BCV5S2WZ.d.ts +49 -0
  403. package/dist/sign-in-Cb1mwv6X.js +86 -0
  404. package/dist/{signers-Cc6r98SW.d.ts → signers-4y62_VIi.d.ts} +13 -9
  405. package/dist/simplify-DDO0j0LI.js +83 -0
  406. package/dist/solid/index.d.ts +131 -0
  407. package/dist/solid/index.js +344 -0
  408. package/dist/solid-start/index.d.ts +75 -0
  409. package/dist/solid-start/index.js +58 -0
  410. package/dist/{spec-pins-C3oc-Tdp.js → spec-pins--j6mTok4.js} +8 -1
  411. package/dist/{spec-pins-CqorWDnO.d.ts → spec-pins-C89s6DyW.d.ts} +7 -0
  412. package/dist/sql/index.d.ts +330 -194
  413. package/dist/sql/index.js +34901 -6489
  414. package/dist/ssr/index.d.ts +6 -5
  415. package/dist/ssr/index.js +3 -3
  416. package/dist/{standard-D7r6dMUu.js → standard-BK0cqJ7y.js} +4 -3
  417. package/dist/{standard-J4YgMOLm.d.ts → standard-CYsm7xpT.d.ts} +1 -1
  418. package/dist/stats-D_AD9GGu.js +1123 -0
  419. package/dist/storage/index.d.ts +5 -5
  420. package/dist/storage/index.js +1027 -368
  421. package/dist/store-BdH5ruDx.js +66 -0
  422. package/dist/store-CGjgWu5n.d.ts +68 -0
  423. package/dist/streams/index.d.ts +76 -0
  424. package/dist/streams/index.js +77 -0
  425. package/dist/streams/redis/index.d.ts +52 -0
  426. package/dist/streams/redis/index.js +185 -0
  427. package/dist/stripe-BMj5LtsT.js +38 -0
  428. package/dist/stripe-D04h-QBT.d.ts +136 -0
  429. package/dist/{support-Dk6vdmEw.js → support-BivNqSpK.js} +35 -12
  430. package/dist/{support-view-Da5peKFg.d.ts → support-view-33Oi07TT.d.ts} +1 -1
  431. package/dist/svelte/index.d.ts +114 -0
  432. package/dist/svelte/index.js +344 -0
  433. package/dist/sveltekit/index.d.ts +116 -0
  434. package/dist/sveltekit/index.js +106 -0
  435. package/dist/tags-B99_U9Pp.js +39 -0
  436. package/dist/tags-Cx-LnIQP.d.ts +30 -0
  437. package/dist/tanstack-db/index.d.ts +71 -0
  438. package/dist/tanstack-db/index.js +72 -0
  439. package/dist/tanstack-start/index.d.ts +75 -0
  440. package/dist/tanstack-start/index.js +95 -0
  441. package/dist/tee-CoEppCER.js +101 -0
  442. package/dist/{template-TxrGI5jR.js → template--jDkl3UP.js} +34 -13
  443. package/dist/template-CwO38Do8.d.ts +6 -0
  444. package/dist/temporal-BJGitm-h.js +79 -0
  445. package/dist/{temporal-required-CAt4Dc9Z.js → temporal-required-BVvW7SYJ.js} +3 -2
  446. package/dist/tenant-I1TEZ_BX.js +27 -0
  447. package/dist/tenant-icPeuUBN.d.ts +17 -0
  448. package/dist/testing/index.d.ts +343 -37
  449. package/dist/testing/index.js +1186 -79
  450. package/dist/timing-CyTQPubY.js +92 -0
  451. package/dist/ttl-Hr34gRu8.js +12 -0
  452. package/dist/{types-Dnf_wRDz.d.ts → types-6BdhkmZe.d.ts} +111 -45
  453. package/dist/types-BI-0Sl2v.d.ts +359 -0
  454. package/dist/types-C05bxW-W.d.ts +220 -0
  455. package/dist/types-DGs5L0VN.d.ts +192 -0
  456. package/dist/types-TaiEeBGA.d.ts +156 -0
  457. package/dist/usage-CrvrL2vw.d.ts +177 -0
  458. package/dist/user-change-XzvgafU4.js +130 -0
  459. package/dist/vault-CSO7ss5C.d.ts +50 -0
  460. package/dist/vercel-connect/index.d.ts +47 -0
  461. package/dist/vercel-connect/index.js +119 -0
  462. package/dist/{verify-Ce49ETPz.js → verify-DL41hbvY.js} +85 -13
  463. package/dist/verify-DPuWngD4.d.ts +172 -0
  464. package/dist/{version-DM_Roffb.js → version-Bvv6aLjZ.js} +1 -1
  465. package/dist/view-BeFcRV6G.js +99 -0
  466. package/dist/{view-BEf0diC5.d.ts → view-DbxLNu8L.d.ts} +35 -32
  467. package/dist/vue/index.d.ts +141 -0
  468. package/dist/vue/index.js +362 -0
  469. package/dist/watch-DI34G86j.d.ts +60 -0
  470. package/dist/watch-Xuxrvxq-.js +122 -0
  471. package/dist/{wire-D2dT86vi.js → wire-DtZQ4sdE.js} +15 -5
  472. package/dist/workflow-builder-DJ1oHn8g.js +398 -0
  473. package/dist/workflow-sdk/builder/index.d.ts +85 -0
  474. package/dist/workflow-sdk/builder/index.js +250 -0
  475. package/dist/workflow-sdk/index.d.ts +14 -0
  476. package/dist/workflow-sdk/index.js +3 -0
  477. package/dist/workflow-sdk/world/index.d.ts +107 -0
  478. package/dist/workflow-sdk/world/index.js +702 -0
  479. package/dist/workflow-sdk-B3yLD6Br.d.ts +98 -0
  480. package/dist/workflow-sdk-C2WJ_G2O.js +173 -0
  481. package/dist/workflow-sdk-world-D-prir6O.js +1397 -0
  482. package/dist/workflows-B0j9WKPu.d.ts +185 -0
  483. package/dist/workflows-wu1WWBn7.js +216 -0
  484. package/package.json +470 -29
  485. package/schemas/ai-message-v1.json +258 -0
  486. package/schemas/config-v1.json +1074 -140
  487. package/schemas/doctor-report-v1.json +21 -1
  488. package/schemas/snapshot-v2.json +8 -0
  489. package/skills/better-supabase/SKILL.md +41 -12
  490. package/skills/better-supabase/references/frontend.md +96 -0
  491. package/skills/better-supabase/references/plugins.md +10 -6
  492. package/skills/better-supabase/references/troubleshooting.md +2 -1
  493. package/skills/better-supabase-api/SKILL.md +76 -22
  494. package/skills/better-supabase-api/references/adapters.md +207 -0
  495. package/skills/better-supabase-api/references/ai.md +125 -0
  496. package/skills/better-supabase-api/references/expo.md +65 -0
  497. package/skills/better-supabase-api/references/powersync.md +35 -0
  498. package/skills/better-supabase-api/references/streams-credentials.md +105 -0
  499. package/skills/better-supabase-auth/SKILL.md +62 -18
  500. package/skills/better-supabase-auth/references/authorization-providers.md +51 -0
  501. package/skills/better-supabase-testing/SKILL.md +3 -1
  502. package/dist/cli/config-dtoekM0v.js +0 -2
  503. package/dist/cli/gen-BJc9vdyu.js +0 -2
  504. package/dist/cli/gen-C2osRcr5.js +0 -2204
  505. package/dist/cli/read-sets-BfMQcKy8.js +0 -289
  506. package/dist/cli/sql-DzPbfngx.js +0 -348
  507. package/dist/entitlements-CTEBm7IB.js +0 -20
  508. package/dist/events-aIO7vsIk.d.ts +0 -230
  509. package/dist/executor-BunPOO-k.d.ts +0 -402
  510. package/dist/executor-XycESQPH.js +0 -94
  511. package/dist/impersonation-VfaGc4Q_.js +0 -41
  512. package/dist/index-BGdgBPdf.d.ts +0 -161
  513. package/dist/index-DOESKG27.d.ts +0 -100
  514. package/dist/index-DmXSxbLi.d.ts +0 -62
  515. package/dist/index-Dxn2a5cw.d.ts +0 -50
  516. package/dist/jobs/index.d.ts +0 -226
  517. package/dist/jobs/index.js +0 -1007
  518. package/dist/json-schema-m1fiwKgN.js +0 -208
  519. package/dist/kit-events-CTFDfSwb.js +0 -60
  520. package/dist/kit-transport-B82k1djG.d.ts +0 -33
  521. package/dist/kits-CGLLrNPd.js +0 -157
  522. package/dist/notifications/index.d.ts +0 -162
  523. package/dist/notifications/index.js +0 -264
  524. package/dist/orgs/index.d.ts +0 -132
  525. package/dist/orgs/index.js +0 -245
  526. package/dist/permdock-sql-C2Inc6Xc.d.ts +0 -29
  527. package/dist/permdock-sql-DgOfeixi.js +0 -51
  528. package/dist/plugin-DwARMuQp.js +0 -59
  529. package/dist/server-Csx2sRjg.js +0 -655
  530. package/dist/stats-Bqob3WqT.js +0 -592
  531. package/dist/support-DT-OhSxD.d.ts +0 -88
  532. package/dist/template-mbvlysOo.d.ts +0 -6
  533. package/dist/temporal-CVlIV2DZ.js +0 -40
  534. package/dist/user-change-CHFEUro1.js +0 -49
  535. package/dist/webhooks/index.d.ts +0 -285
  536. package/skills/better-supabase-auth/references/permdock.md +0 -100
@@ -1,138 +1,58 @@
1
- import { c as ClaimsMeta } from "../types-Dnf_wRDz.js";
2
- import { B as ReadSet } from "../define-Bp_BZa5h.js";
3
- import { b as ResolvedConfig, ct as KitsConfig, lt as ResolvedKitModule, ot as KitMode } from "../config-T_ejwyd3.js";
4
- import { a as permdockKeys, i as permdockKeyStatus, n as PermdockCatalog, r as PermdockKeyStatus, t as PERMDOCK_SCHEMA } from "../permdock-sql-C2Inc6Xc.js";
5
- //#region src/sql/context.d.ts
6
- /** The scope id types kit modules render. */
7
- export declare const KIT_ID_TYPES: readonly ["uuid", "text", "bigint", "integer"];
8
- type KitIdType = (typeof KIT_ID_TYPES)[number];
9
- export declare const isKitIdType: (value: string) => value is KitIdType;
10
- /**
11
- * A Postgres type name as one of `KIT_ID_TYPES`: case and spacing are
12
- * normalised and aliases such as `int8` resolved. `undefined` for any other
13
- * type, so callers refuse it instead of guessing.
14
- */
15
- export declare function kitIdType(value: string): KitIdType | undefined;
16
- /** One logical table of a module: its default name and logical columns. */
17
- interface KitTableSpec {
18
- /** Default name, in the module's schema. */
19
- readonly name: string;
20
- /** Logical column to default column name. */
21
- readonly columns: Readonly<Record<string, string>>;
22
- /**
23
- * Logical columns an adopted table may lack (mapped to `null`): the module
24
- * leaves out the feature that needs them.
25
- */
26
- readonly optional?: readonly string[];
27
- /** The app may lack the whole table (`kits.<name>.tables.<table>: null`). */
28
- readonly optionalTable?: boolean;
29
- }
30
- interface KitNames {
31
- readonly tables: Readonly<Record<string, KitTableSpec>>;
32
- /** The `before_*` and `after_*` hooks the module calls, so `kits.<name>.hooks.functions` is checked. */
33
- readonly hooks?: readonly string[];
34
- /** The `kits.<name>.options` keys the module reads; any other key is rejected. */
35
- readonly options?: readonly string[];
36
- }
37
- /** An event a module writes to the outbox, as SQL expressions. */
38
- interface KitEmit {
39
- /** The event type, e.g. `org.created`. */
40
- readonly type: string;
41
- /** A `jsonb` expression. */
42
- readonly payload: string;
43
- /** A `text` expression, e.g. `'organizations/' || new_org`. */
44
- readonly subject?: string;
45
- /** The tenant id expression; it is cast to text. */
46
- readonly tenant?: string;
47
- /** A `text` idempotency key expression. */
48
- readonly key?: string;
49
- }
50
- /** A function of a module's contract: what other modules and the TypeScript side call. */
51
- interface KitContractFunction {
52
- readonly name: string;
53
- /** Argument types; `{id}` stands for the module's id type. */
54
- readonly args: readonly string[];
55
- readonly returns: string;
56
- }
57
- /** What a module's `build` reads: resolved names for one layout. */
58
- interface KitContext {
59
- readonly module: string;
60
- readonly mode: KitMode;
61
- readonly config: ResolvedKitModule;
62
- /** The quoted schema of the module's functions and managed tables. */
63
- readonly schema: string;
64
- readonly schemaName: string;
65
- readonly idType: KitIdType;
66
- readonly claims: ClaimsMeta;
67
- readonly kits: KitsConfig;
68
- /** `schema.name` of a module function, quoted. */
69
- fn(name: string): string;
70
- /** `schema.table` of a logical table, quoted. */
71
- table(logical: string): string;
72
- /** The unquoted schema and name of a logical table. */
73
- tableName(logical: string): {
74
- readonly schema: string;
75
- readonly name: string;
1
+ import { n as AccessPolicySql, u as ClaimsMeta } from "../types-6BdhkmZe.js";
2
+ import { K as ReadSet } from "../define-CJJkkr1-.js";
3
+ import { i as DisabledRow, o as ModuleMode, s as ModulesConfig } from "../modules-DpPwzC7E.js";
4
+ import { n as AuthorizationMembership, o as AuthorizationRoleSource, t as AuthorizationFunctions } from "../authorization-BFCqamMs.js";
5
+ import { a as ModuleAudit, c as ModuleEmit, d as ModuleTableSpec, f as contractSignature, i as ModuleAction, l as ModuleIdType, m as moduleIdType, n as AuditCategory, o as ModuleContext, p as isModuleIdType, r as MODULE_ID_TYPES, s as ModuleContractFunction, t as AUDIT_CATEGORIES, u as ModuleNames } from "../context-BCrWe7ow.js";
6
+ import { D as ResolvedConfig, l as EntitlementPlansSource } from "../config-D44Y7PAv.js";
7
+ //#region src/sql/shared.d.ts
8
+ /** A `pg_jsonschema` check on a jsonb column, for the `jsonb-schemas` module and key-value tables. */
9
+ interface JsonSchemaCheck {
10
+ /** `table` or `schema.table`. */
11
+ readonly table: string;
12
+ readonly column: string;
13
+ readonly schema: Readonly<Record<string, unknown>>;
14
+ /** Checks only rows whose `where.column` equals `where.value` (a settings key). */
15
+ readonly where?: {
16
+ readonly column: string;
17
+ readonly value: string;
76
18
  };
77
- /** A logical column, quoted. Throws when an adopted table lacks it. */
78
- col(table: string, column: string): string;
79
- /** Whether a logical column exists (adopted tables can map it to `null`). */
80
- has(table: string, column: string): boolean;
81
- /** Whether an optional logical table exists (it can be mapped to `null`). */
82
- hasTable(table: string): boolean;
83
- /** Whether the module owns `table` (managed mode). */
84
- readonly manages: boolean;
85
- /** The permission key for a kit action, as a SQL literal. */
86
- permission(action: string, fallback: string): string;
87
- /** The permission key for a kit action. */
88
- permissionKey(action: string, fallback: string): string;
89
- /** A trigger name with the module's prefix, quoted. */
90
- trigger(name: string): string;
91
- /** Whether `module` is installed alongside this one. */
92
- installed(module: string): boolean;
93
- /** The context of another module in the same layout. */
94
- of(module: string): KitContext;
95
- /** A string module option (`kits.<name>.options`). */
96
- text(name: string, fallback: string): string;
97
- number(name: string, fallback: number): number;
98
- flag(name: string, fallback: boolean): boolean;
99
- /** A module option that is a list of strings. */
100
- list(name: string, fallback: readonly string[]): readonly string[];
101
- /** A declared module option as configured, for object-shaped options. */
102
- option(name: string): unknown;
103
- /**
104
- * PL/pgSQL that calls the app's hook function when it exists, with
105
- * `[type, expression]` arguments: `if to_regprocedure(...) is not null
106
- * then perform ...; end if;`.
107
- */
108
- hook(name: string, args: readonly (readonly [string, string])[]): string;
109
- /** The app function a hook calls, quoted, for hooks that return a value. */
110
- hookTarget(name: string): string;
111
- /**
112
- * PL/pgSQL that writes the event to the outbox (`emit_event`) when the
113
- * `outbox` module is installed and `kits.<name>.events` isn't false;
114
- * otherwise an empty string.
115
- */
116
- emit(event: KitEmit): string;
117
19
  }
118
- /** The contract's argument list with `{id}` resolved, as Postgres prints it. */
119
- export declare function contractSignature(fn: KitContractFunction, idType: string): string;
120
20
  //#endregion
121
- //#region src/sql/kit.d.ts
21
+ //#region src/sql/audit-registrations.d.ts
22
+ /** A table registered with `better_supabase.audit(...)` in a SQL file. */
23
+ interface AuditedTable {
24
+ /** `schema.table`, unquoted; an unqualified name is in `public`. */
25
+ readonly target: string;
26
+ readonly ignore: readonly string[];
27
+ readonly redact: readonly string[];
28
+ }
29
+ /**
30
+ * The tables `files` register with `better_supabase.audit(...)` or a static
31
+ * `create trigger bs_audit ... execute function
32
+ * better_supabase.audit_row_change('{...}')`, in file order: a later
33
+ * registration for the same table replaces the earlier one, and
34
+ * `unaudit(...)` or a `drop table` removes it. Calls with non-literal
35
+ * arguments are skipped.
36
+ */
37
+ export declare function auditRegistrations(files: readonly {
38
+ readonly text: string;
39
+ }[]): AuditedTable[];
40
+ //#endregion
41
+ //#region src/sql/registry.d.ts
122
42
  /** The step from one module version to the next, for `sql upgrade`. */
123
- interface KitUpgrade {
43
+ interface ModuleUpgrade {
124
44
  /** The installed version this step upgrades from. */
125
45
  readonly from: number;
126
46
  readonly description: string;
127
47
  /** SQL run before the module's current file, e.g. renames and backfills. */
128
- readonly sql: (ctx: KitContext) => string;
48
+ readonly sql: (ctx: ModuleContext) => string;
129
49
  }
130
50
  /**
131
- * A renamed kit symbol. It keeps a compatibility wrapper for at least one
51
+ * A renamed module symbol. It keeps a compatibility wrapper for at least one
132
52
  * minor release, then is removed; doctor reports uses of both (BS309), and
133
53
  * the name stays reserved.
134
54
  */
135
- interface KitDeprecation {
55
+ interface ModuleDeprecation {
136
56
  readonly kind: "function" | "claim" | "table" | "column";
137
57
  /** The old name: `schema.function`, a claim name, `schema.table` or `table.column`. */
138
58
  readonly symbol: string;
@@ -147,10 +67,10 @@ interface KitDeprecation {
147
67
  * old name that calls the new one and a `comment on function ... is
148
68
  * 'deprecated: use X'`.
149
69
  */
150
- readonly wrapper?: (ctx: KitContext) => string;
70
+ readonly wrapper?: (ctx: ModuleContext) => string;
151
71
  }
152
72
  /**
153
- * SQL kit modules for `better-supabase sql add`. Every module is idempotent
73
+ * SQL modules for `better-supabase sql add`. Every module is idempotent
154
74
  * (`create or replace`, `if not exists`), so re-running it upgrades in place.
155
75
  */
156
76
  interface SqlModule {
@@ -159,66 +79,118 @@ interface SqlModule {
159
79
  readonly description: string;
160
80
  /** Modules this one needs, added along with it. */
161
81
  readonly requires: readonly string[];
162
- /** What it needs instead when the layout has `permdock`. */
163
- readonly permdockRequires?: readonly string[];
164
- /** What it needs for this layout, e.g. per `kits.access.model`; overrides both. */
165
- readonly dependencies?: (layout: KitLayout) => readonly string[];
82
+ /** What it needs instead when an authorization provider supplies memberships. */
83
+ readonly providerRequires?: readonly string[];
84
+ /**
85
+ * The optional `authorization.functions` templates it calls under the
86
+ * `provider` access model, such as `idsWithFor` to check another user.
87
+ * Doctor warns (BS411) when the provider doesn't set one.
88
+ */
89
+ readonly providerFunctions?: readonly (keyof AuthorizationFunctions)[];
90
+ /**
91
+ * Modules it works with when they are installed, without needing them.
92
+ * `ctx.installed` and `ctx.of` accept only these and what it requires;
93
+ * `record` reaches the outbox and the audit log without listing them.
94
+ * `*` stands for every module, for one that reads them all (`data-lifecycle`).
95
+ */
96
+ readonly integrates?: readonly string[];
97
+ /** What it needs for this layout, e.g. per `sql.modules.access.model`; overrides both. */
98
+ readonly dependencies?: (layout: ModuleLayout) => readonly string[];
166
99
  /** `schema` files go with your schemas; `test` files go to `supabase/tests`. */
167
100
  readonly target: "schema" | "test";
168
101
  /** The module with the default claim names. */
169
102
  readonly sql: string;
170
103
  /** The module for configured claim names (`config.claims`), when it reads claims. */
171
- readonly render?: (claims: ClaimsMeta, layout: KitLayout) => string;
104
+ readonly render?: (claims: ClaimsMeta, layout: ModuleLayout) => string;
172
105
  /** Bumped when installed databases need an upgrade step. Defaults to 1. */
173
106
  readonly version?: number;
174
- /** The modes `kits.<name>.mode` accepts. Defaults to `managed` only. */
175
- readonly modes?: readonly KitMode[];
176
- /** The logical tables and columns `kits.<name>.tables` and `columns` map. */
177
- readonly names?: KitNames;
107
+ /** The modes `sql.modules.<name>.mode` accepts. Defaults to `managed` only. */
108
+ readonly modes?: readonly ModuleMode[];
109
+ /** The logical tables and columns `sql.modules.<name>.tables` and `columns` map. */
110
+ readonly names?: ModuleNames;
178
111
  /** The functions other modules and the TypeScript side call. */
179
- readonly contract?: (ctx: KitContext) => readonly KitContractFunction[];
112
+ readonly contract?: (ctx: ModuleContext) => readonly ModuleContractFunction[];
180
113
  /** Renders the module for a layout; takes precedence over `render`. */
181
- readonly build?: (ctx: KitContext, layout: KitLayout) => string;
182
- readonly upgrades?: readonly KitUpgrade[];
183
- readonly deprecated?: readonly KitDeprecation[];
114
+ readonly build?: (ctx: ModuleContext, layout: ModuleLayout) => string;
115
+ readonly upgrades?: readonly ModuleUpgrade[];
116
+ readonly deprecated?: readonly ModuleDeprecation[];
184
117
  /**
185
118
  * Rows, role settings and calls that a schema diff doesn't capture. They
186
119
  * go to `better-supabase-data/` next to the schema folder and a migration
187
120
  * (`sql data`) instead of the schema file.
188
121
  */
189
- readonly data?: (ctx: KitContext, layout: KitLayout) => string;
122
+ readonly data?: (ctx: ModuleContext, layout: ModuleLayout) => string;
123
+ /** pgTAP files for this layout, written to the tests folder next to the `pgtap` module's. */
124
+ readonly tests?: (ctx: ModuleContext, layout: ModuleLayout) => readonly ModuleTestFile[];
125
+ readonly topics?: (ctx: ModuleContext) => readonly string[];
126
+ /**
127
+ * Functions granted to `anon` or `authenticated` only so the module's
128
+ * policies and triggers can call them as the client. `api` writes no
129
+ * entry point for them.
130
+ */
131
+ readonly internal?: readonly string[];
132
+ readonly adoptOptional?: (ctx: ModuleContext) => Readonly<Record<string, readonly string[]>>;
133
+ }
134
+ /** A pgTAP file a module writes for the layout, e.g. one per audited table. */
135
+ interface ModuleTestFile {
136
+ /** The file name's suffix, after the module's slug. */
137
+ readonly name: string;
138
+ readonly sql: string;
190
139
  }
191
140
  export declare const moduleVersion: (module: SqlModule) => number;
141
+ /** `entitlements.claim`: what `feature_claims` puts in the token. */
142
+ type FeatureClaimOption = false | {
143
+ /** At most this many tenants, the lowest ids first. */
144
+ readonly maxTenants?: number;
145
+ /** Short codes written instead of the feature keys: `{ exports: "x" }`. */
146
+ readonly keys?: Readonly<Record<string, string>>;
147
+ };
192
148
  /** New modules go at the end: the position is part of the file name. */
193
149
  export declare const SQL_MODULES: Readonly<Record<string, SqlModule>>;
194
150
  /** The modules to install for `names`, dependencies first. Throws on an unknown name. */
195
- export declare function resolveModules(names: readonly string[], layout?: KitLayout): SqlModule[];
196
- interface KitFile {
151
+ export declare function resolveModules(names: readonly string[], layout?: ModuleLayout): SqlModule[];
152
+ interface ModuleFile {
197
153
  readonly module: string;
198
154
  /** `schema` and `test` files are diffed; `data` files go in a migration too. */
199
155
  readonly kind: "schema" | "data" | "test";
200
156
  readonly path: string;
201
157
  readonly contents: string;
202
158
  }
203
- interface KitLayout {
159
+ interface ModuleLayout {
204
160
  /** Directory for schema modules. Defaults to `supabase/schemas`. */
205
161
  readonly dir?: string;
162
+ /** The declarative schema folder the diff engine loads. Defaults to `supabase/schemas`. */
163
+ readonly schemasDir?: string;
206
164
  /** File prefix. Defaults to `900_better_supabase`. */
207
165
  readonly prefix?: string;
208
166
  /** Directory for pgTAP files. Defaults to `supabase/tests`. */
209
167
  readonly testsDir?: string;
168
+ /** The `better_supabase.audit(...)` calls in the SQL files: the `audit` module writes a pgTAP file per table. */
169
+ readonly auditedTables?: readonly AuditedTable[];
210
170
  /** Version stamped into the header. */
211
171
  readonly version?: string;
212
172
  /** `config.realtime.tables`: registered at the end of the `realtime-tables` module. */
213
173
  readonly realtimeTables?: readonly string[];
214
174
  /** `config.realtime.global`: tables registered with `tenant_column => null`. */
215
175
  readonly realtimeGlobal?: readonly string[];
176
+ /** `config.realtime.users`: tables registered with `user_column`. */
177
+ readonly realtimeUsers?: Readonly<Record<string, string>>;
216
178
  /** Tenant column passed to `track_realtime` for the other tables. */
217
179
  readonly tenantColumn?: string;
218
180
  /** Check constraints for the `jsonb-schemas` module. */
219
181
  readonly jsonSchemas?: readonly JsonSchemaCheck[];
220
182
  /** `config.expose`: the grants the `grants` module writes. */
221
183
  readonly grants?: readonly TableGrant[];
184
+ /** `config.expose` functions: the roles that may execute each one. */
185
+ readonly functionGrants?: readonly FunctionGrant[];
186
+ /**
187
+ * Grants the permissive policies in the schema files imply, for
188
+ * `sql.modules.grants.options.fromPolicies`. Tables in `grants` keep
189
+ * their listed privileges.
190
+ */
191
+ readonly policyGrants?: readonly TableGrant[];
192
+ /** The tables the schema files create, for `sql.modules.sessions.options.policies`. */
193
+ readonly declaredTables?: readonly string[];
222
194
  /** `config.readSets`, compiled: the functions the `read-sets` module writes. */
223
195
  readonly readSets?: readonly {
224
196
  readonly name: string;
@@ -228,34 +200,50 @@ interface KitLayout {
228
200
  readonly entitlements?: EntitlementsSource;
229
201
  /** `config.vectorSearch`: the tables the `vector-search` module writes a search function for. */
230
202
  readonly vectorSearch?: readonly VectorSearchTable[];
203
+ readonly vectorSchema?: string;
231
204
  /** `config.claims`: claim names the modules read and write. */
232
205
  readonly claims?: ClaimsMeta;
233
- /** PermDock's helpers and membership sources, from its manifest: `entitlements` reads them instead of `tenant`. */
234
- readonly permdock?: KitPermdock;
235
- /** `config.kits`: modes, names and permission keys per module. */
236
- readonly kits?: KitsConfig;
206
+ /** The authorization provider's memberships: `entitlements` reads them instead of `tenant`'s. */
207
+ readonly entitlementsProvider?: ModuleEntitlementsProvider;
208
+ /** The authorization provider the `access` module's `provider` model calls. */
209
+ readonly accessProvider?: ModuleAccessProvider;
210
+ /** `config.sql.modules`: modes, names and permission keys per module. */
211
+ readonly modules?: ModulesConfig;
212
+ /** The authorization provider's permission keys, for `api-keys` scopes. */
213
+ readonly permissionCatalog?: readonly string[];
237
214
  }
238
- /** One PermDock membership source, from the manifest's `memberships`. */
239
- interface KitMembershipSource {
240
- /** `schema.table`. */
241
- readonly table: string;
242
- readonly userColumn: string;
243
- readonly scope: {
244
- readonly column: string;
245
- } | {
246
- readonly value: string;
247
- };
248
- readonly idColumn: string;
215
+ /** Where the `entitlements` module reads the provider's memberships, and the tables behind them. */
216
+ interface ModuleEntitlementsProvider {
217
+ /** The provider's name, for comments. */
218
+ readonly name: string;
219
+ /** The provider scope tenants are, e.g. `organization`. */
220
+ readonly scope: string;
221
+ readonly idType: ModuleIdType;
222
+ /** `authorization.functions.memberIds`. */
223
+ readonly memberIds: string;
224
+ /** `authorization.functions.memberIdsFor`. */
225
+ readonly memberIdsFor: string;
226
+ readonly memberships: readonly AuthorizationMembership[];
249
227
  }
250
- /** Where PermDock's `member_<scope>_ids` helpers live, and the tables behind them. */
251
- interface KitPermdock {
252
- /** PermDock's `rls.schema`. */
253
- readonly schema: string;
254
- /** The PermDock scope tenants map to, e.g. `organization`. */
228
+ /** What the `access` module's `provider` model calls. */
229
+ interface ModuleAccessProvider {
230
+ /** The provider's name, for comments and errors. */
231
+ readonly name: string;
232
+ /** The provider scope tenants are. */
255
233
  readonly scope: string;
256
- /** The scope's id type, from the manifest's `rls.scopes[].type`. */
257
- readonly idType: KitIdType;
258
- readonly memberships: readonly KitMembershipSource[];
234
+ readonly idType: ModuleIdType;
235
+ readonly functions: AuthorizationFunctions;
236
+ /** The access module's `disabled` setting defaults to these. */
237
+ readonly suspension?: {
238
+ readonly user?: DisabledRow;
239
+ readonly tenant?: DisabledRow;
240
+ };
241
+ /** An adopted `tenant` module on one of these tables reads role names the same way. */
242
+ readonly roleSources?: readonly AuthorizationRoleSource[];
243
+ /** How `ai-chat` applies `functions.canApprove`. */
244
+ readonly approvals?: {
245
+ readonly distinctApprover?: boolean;
246
+ };
259
247
  }
260
248
  /** An embedding column `db.$search` can query. */
261
249
  interface VectorSearchTable {
@@ -263,6 +251,28 @@ interface VectorSearchTable {
263
251
  readonly table: string;
264
252
  readonly column: string;
265
253
  readonly distance: "cosine" | "l2" | "inner_product";
254
+ /** The column's type: pgvector's `vector` (default) or `halfvec`. */
255
+ readonly type?: "vector" | "halfvec";
256
+ /** The primary key column the scores function returns. Defaults to `id`. */
257
+ readonly key?: string;
258
+ /** Full-text ranking fused with the vector ranking (reciprocal rank fusion). */
259
+ readonly hybrid?: {
260
+ readonly tsvector: string;
261
+ /** The text search configuration of the query. Defaults to `simple`. */
262
+ readonly config?: string;
263
+ /** The RRF constant. Defaults to 60. */
264
+ readonly k?: number;
265
+ };
266
+ /** A SQL expression over the row `t` the score is multiplied by, such as `t.priority`. */
267
+ readonly boost?: string;
268
+ /** Columns `filter` narrows before ranking, such as `organization_id`. */
269
+ readonly prefilter?: readonly string[];
270
+ /** A SQL condition over the row `t` every candidate must meet. */
271
+ readonly predicate?: string;
272
+ /** How `boost` combines with the score. Defaults to `multiply`. */
273
+ readonly boostMode?: "multiply" | "add";
274
+ /** A SQL `order by` list over the row `t` that breaks score ties. */
275
+ readonly order?: string;
266
276
  }
267
277
  /** The table holding each tenant's Stripe customer id. */
268
278
  interface EntitlementsSource {
@@ -272,30 +282,69 @@ interface EntitlementsSource {
272
282
  readonly column?: string;
273
283
  /** Column with the tenant id. */
274
284
  readonly key: string;
285
+ /** Where entitlements come from; the customer lookups are for `stripe-sync` only. */
286
+ readonly source?: "stripe-sync" | "custom" | EntitlementPlansSource;
287
+ readonly claim?: FeatureClaimOption;
275
288
  }
276
- /** Privileges one Data API role gets on a table or view. */
289
+ /** Privileges one role gets on a table or view. */
277
290
  interface TableGrant {
278
291
  /** `table` or `schema.table`. */
279
292
  readonly table: string;
280
- readonly role: "anon" | "authenticated";
281
- readonly privileges: readonly ("select" | "insert" | "update" | "delete")[];
293
+ readonly role: "anon" | "authenticated" | "service_role";
294
+ readonly privileges: readonly string[];
282
295
  }
283
- /** A jsonb column and the JSON Schema its values must match. */
284
- interface JsonSchemaCheck {
285
- /** `table` or `schema.table`. */
286
- readonly table: string;
287
- readonly column: string;
288
- readonly schema: Readonly<Record<string, unknown>>;
296
+ /** The roles that may execute a function. */
297
+ interface FunctionGrant {
298
+ /** `name(argument types)` or `schema.name(argument types)`. */
299
+ readonly function: string;
300
+ readonly roles: readonly ("anon" | "authenticated" | "service_role")[];
289
301
  }
290
- /** Whether an installed file matches, ignoring the version stamped in its header. */
291
- export declare function sameKitFile(current: string | undefined, expected: string): boolean;
292
- /** The installed version of a kit file, from its `@bs-kit` line. */
293
- export declare function kitFileVersion(contents: string): {
302
+ /** Whether an installed file matches, ignoring the version stamped in its header and line endings. */
303
+ export declare function sameModuleFile(current: string | undefined, expected: string): boolean;
304
+ /** The installed version of a module file, from its `@bs-module` line. */
305
+ export declare function moduleFileVersion(contents: string): {
294
306
  readonly module: string;
295
307
  readonly version: number;
296
308
  } | undefined;
297
309
  /** A module's SQL for `layout`, without header; `undefined` in custom mode. */
298
- export declare function moduleBody(name: string, layout?: KitLayout): string | undefined;
310
+ export declare function moduleBody(name: string, layout?: ModuleLayout): string | undefined;
311
+ /**
312
+ * The schema or test file `renderModules` writes for each of `names` and the
313
+ * modules they pull in, without rendering: modules in custom mode have none.
314
+ */
315
+ export declare function moduleFilePaths(names: readonly string[], layout?: ModuleLayout): ReadonlyMap<string, string>;
316
+ /** A permission key a SQL module checks, from `modulePermissionKeys`. */
317
+ interface ModulePermissionKey {
318
+ readonly module: string;
319
+ /** The action in `sql.modules.<module>.permissions` that overrides the key. */
320
+ readonly action: string;
321
+ readonly key: string;
322
+ /**
323
+ * `tenant` for keys checked in a tenant (`member_can`, `can`,
324
+ * `tenant_ids_with`), `platform` for `is_platform` and `platform_can`.
325
+ */
326
+ readonly scope: "tenant" | "platform";
327
+ }
328
+ /**
329
+ * Every permission key the modules `names` install (with what they pull
330
+ * in) check, after `sql.modules.<module>.permissions` overrides. Modules in custom
331
+ * mode are skipped, and so is `invitations.invitePlatform` without platform
332
+ * roles.
333
+ */
334
+ export declare function modulePermissionKeys(config: ModulesConfig, names: readonly string[]): ModulePermissionKey[];
335
+ interface ModuleExtension {
336
+ readonly name: string;
337
+ readonly statement: string;
338
+ }
339
+ export declare const moduleSchemaExtensions: (files: readonly ModuleFile[]) => ModuleExtension[];
340
+ /**
341
+ * The event triggers each of these modules creates, as its default file
342
+ * renders them, for doctor's check of a database.
343
+ */
344
+ export declare function moduleEventTriggers(names: readonly string[], modules?: Readonly<Record<string, SqlModule>>): {
345
+ readonly module: string;
346
+ readonly name: string;
347
+ }[];
299
348
  /**
300
349
  * The files `sql add` writes for these modules. Modules in `custom` mode
301
350
  * write nothing: the app implements their contract. A schema module's rows,
@@ -303,14 +352,19 @@ export declare function moduleBody(name: string, layout?: KitLayout): string | u
303
352
  * second file in `better-supabase-data/` (`kind: 'data'`), which
304
353
  * `sql data` writes into a migration.
305
354
  */
306
- export declare function renderKit(names: readonly string[], layout?: KitLayout): KitFile[];
307
- /** An installed module, from its file's `@bs-kit` line or `kit_modules`. */
308
- interface InstalledKitModule {
355
+ export declare function renderModules(names: readonly string[], layout?: ModuleLayout): ModuleFile[];
356
+ interface ModuleTopic {
357
+ readonly module: string;
358
+ readonly topic: string;
359
+ }
360
+ export declare function moduleTopics(names: readonly string[], layout?: ModuleLayout): ModuleTopic[];
361
+ /** An installed module, from its file's `@bs-module` line or `modules`. */
362
+ interface InstalledModule {
309
363
  readonly module: string;
310
364
  readonly version: number;
311
365
  }
312
366
  /** What `sql upgrade` runs for one module behind the current version. */
313
- interface KitUpgradePlan {
367
+ interface ModuleUpgradePlan {
314
368
  readonly module: string;
315
369
  readonly from: number;
316
370
  readonly to: number;
@@ -325,22 +379,92 @@ interface KitUpgradePlan {
325
379
  * without a step needs none: the module file upgrades in place. Modules in
326
380
  * custom mode belong to the app and are skipped.
327
381
  */
328
- export declare function upgradePlan(installed: readonly InstalledKitModule[], layout?: KitLayout, modules?: Readonly<Record<string, SqlModule>>): KitUpgradePlan[];
329
- /** Every deprecated or removed kit symbol, with its module. */
330
- export declare function kitDeprecations(modules?: Readonly<Record<string, SqlModule>>): readonly (KitDeprecation & {
382
+ export declare function upgradePlan(installed: readonly InstalledModule[], layout?: ModuleLayout, modules?: Readonly<Record<string, SqlModule>>): ModuleUpgradePlan[];
383
+ /** Every deprecated or removed module symbol, with its module. */
384
+ export declare function moduleDeprecations(modules?: Readonly<Record<string, SqlModule>>): readonly (ModuleDeprecation & {
331
385
  readonly module: string;
332
386
  })[];
333
387
  /** The contract functions of the modules in `custom` mode, for doctor. */
334
- export declare function customContracts(names: readonly string[], layout?: KitLayout): {
388
+ export declare function customContracts(names: readonly string[], layout?: ModuleLayout): {
335
389
  readonly module: string;
336
390
  readonly schema: string;
337
- readonly idType: KitIdType;
338
- readonly functions: readonly KitContractFunction[];
391
+ readonly idType: ModuleIdType;
392
+ readonly functions: readonly ModuleContractFunction[];
339
393
  }[];
340
394
  //#endregion
395
+ //#region src/sql/adopted-columns.d.ts
396
+ /**
397
+ * Adopt-mode modules that default an optional column to its physical name
398
+ * while the adopted `create table` has no such column. `sql sync` refuses
399
+ * those configs so `has()` does not treat a missing column as present.
400
+ */
401
+ export declare function adoptedColumnProblems(modules: ModulesConfig, files: readonly {
402
+ readonly text: string;
403
+ }[], schemas: readonly string[]): readonly string[];
404
+ //#endregion
405
+ //#region src/sql/schema-scan.d.ts
406
+ /** Privileges one role gets on a table, from the policies that name it. */
407
+ interface PolicyGrant {
408
+ /** `schema.table`, unquoted; an unqualified name is in `public`. */
409
+ readonly table: string;
410
+ readonly role: "anon" | "authenticated";
411
+ readonly privileges: readonly ("select" | "insert" | "update" | "delete")[];
412
+ }
413
+ /**
414
+ * The tables `files` create (`create table`), as `schema.table`, in the
415
+ * order they first appear. Only tables in `schemas` are kept.
416
+ */
417
+ export declare function declaredTables(files: readonly {
418
+ readonly text: string;
419
+ }[], schemas: readonly string[]): string[];
420
+ /**
421
+ * The privileges the permissive policies in `files` imply, per table and
422
+ * role: `for all` gives the four commands, `to public` (or no `to`) counts
423
+ * for `authenticated` only, so `anon` needs a policy that names it.
424
+ * Restrictive policies grant nothing. Only tables in `schemas` are kept.
425
+ */
426
+ export declare function policyGrants(files: readonly {
427
+ readonly text: string;
428
+ }[], schemas: readonly string[]): PolicyGrant[];
429
+ export declare function extensionSchema(sources: readonly {
430
+ readonly text: string;
431
+ }[], extension: string): string | undefined;
432
+ //#endregion
433
+ //#region src/core/access-sql.d.ts
434
+ /** The Postgres types a scope's ids can have. */
435
+ export declare const SCOPE_ID_TYPES: readonly string[];
436
+ /**
437
+ * What is wrong with a provider's scopes: an unknown tenant scope or
438
+ * parent, a parent cycle, an id type outside `SCOPE_ID_TYPES`, or a tenant
439
+ * scope without one.
440
+ */
441
+ export declare function scopeProblems(provider: {
442
+ readonly scopes: readonly {
443
+ readonly name: string;
444
+ readonly idType?: string | undefined;
445
+ readonly parent?: string | undefined;
446
+ }[];
447
+ readonly tenantScope: string;
448
+ }): string[];
449
+ /** The `schema.name` of every schema-qualified function a template calls, with `{scope}` filled. */
450
+ export declare function templateFunctions(template: string, scope?: string): string[];
451
+ /** What a bucket or topic access policy decides with. */
452
+ interface AccessTarget {
453
+ /** `tenant` (default), `platform`, or with `sql` any scope its templates take. */
454
+ readonly scope?: string;
455
+ /** `"provider"` is replaced with `authorization.functions` by `gen`. */
456
+ readonly sql?: AccessPolicySql | "provider";
457
+ }
458
+ /**
459
+ * `target` with `sql: "provider"` replaced by the provider's `idsWith` and
460
+ * `isPlatform`. `where` names the policy in the error when there is no
461
+ * provider.
462
+ */
463
+ export declare function resolveProviderSql<T extends AccessTarget>(where: string, target: T, functions: AuthorizationFunctions | undefined): T;
464
+ //#endregion
341
465
  //#region src/sql/layout.d.ts
342
- /** Where and how `sql add` writes kit files for this config. */
343
- export declare function kitLayout(config: ResolvedConfig, testsDir?: string, readSets?: KitLayout["readSets"], permdock?: KitPermdock): KitLayout;
466
+ /** Where and how `sql add` writes module files for this config. */
467
+ export declare function moduleLayout(config: ResolvedConfig, testsDir?: string, readSets?: ModuleLayout["readSets"], entitlementsProvider?: ModuleEntitlementsProvider, accessProvider?: ModuleAccessProvider, permissionCatalog?: readonly string[]): ModuleLayout;
344
468
  //#endregion
345
469
  //#region src/sql/migration-options.d.ts
346
470
  /** A migration-only option a config sets. */
@@ -349,14 +473,26 @@ interface MigrationOptionUse {
349
473
  readonly option: string;
350
474
  readonly value: unknown;
351
475
  readonly adopted: boolean;
352
- /** `kits.<module>.options.<option> ... It <effect>.` */
476
+ /** `sql.modules.<module>.options.<option> ... It <effect>.` */
353
477
  readonly message: string;
354
478
  }
355
479
  /**
356
- * The migration-only options `kits` sets to a value other than the managed
480
+ * The migration-only options `sql.modules` sets to a value other than the managed
357
481
  * default. They are accepted in `adopt` mode only; doctor warns about each.
358
482
  */
359
- export declare function migrationOptionUses(kits?: KitsConfig): MigrationOptionUse[];
483
+ export declare function migrationOptionUses(modules?: ModulesConfig): MigrationOptionUse[];
484
+ //#endregion
485
+ //#region src/sql/shared-roles.d.ts
486
+ /**
487
+ * Why a roles table that holds both tenant and platform roles (the tenant
488
+ * module's `roleThrough` and the invitations module's
489
+ * `platformRoles.through` under the `provider` model) can't tell them apart:
490
+ * the setting that lacks `where` and why. Empty when the modules don't share a roles table.
491
+ */
492
+ export declare function sharedRolesProblems(names: readonly string[], layout: ModuleLayout): {
493
+ readonly setting: string;
494
+ readonly message: string;
495
+ }[];
360
496
  //#endregion
361
497
  //#region src/sql/read-sets.d.ts
362
498
  /** A read set compiled to the SQL of its function. */
@@ -373,4 +509,4 @@ export declare function compileReadSet(set: ReadSet): Promise<CompiledReadSet>;
373
509
  /** Compiles every set, sorted by name. Throws on a duplicate name. */
374
510
  export declare function compileReadSets(sets: readonly ReadSet[]): Promise<CompiledReadSet[]>;
375
511
  //#endregion
376
- export { type CompiledReadSet, type InstalledKitModule, type KitContext, type KitContractFunction, type KitDeprecation, type KitFile, type KitIdType, type KitLayout, type KitNames, type KitPermdock, type KitTableSpec, type KitUpgrade, type KitUpgradePlan, type MigrationOptionUse, PERMDOCK_SCHEMA, type PermdockCatalog, type PermdockKeyStatus, type SqlModule, permdockKeyStatus, permdockKeys };
512
+ export { AUDIT_CATEGORIES, type AuditCategory, type AuditedTable, type CompiledReadSet, type InstalledModule, MODULE_ID_TYPES, type MigrationOptionUse, type ModuleAccessProvider, type ModuleAction, type ModuleAudit, type ModuleContext, type ModuleContractFunction, type ModuleDeprecation, type ModuleEmit, type ModuleEntitlementsProvider, type ModuleExtension, type ModuleFile, type ModuleIdType, type ModuleLayout, type ModuleNames, type ModulePermissionKey, type ModuleTableSpec, type ModuleTestFile, type ModuleTopic, type ModuleUpgrade, type ModuleUpgradePlan, type PolicyGrant, type SqlModule, contractSignature, isModuleIdType, moduleIdType };