better-supabase 0.16.0 → 0.18.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 (578) hide show
  1. package/dist/{access-sql-B-MkVARa.js → access-sql-CNIgUqWf.js} +2 -0
  2. package/dist/{adapter-Dyks1lX1.js → adapter-CfuBICuG.js} +3 -1
  3. package/dist/{ai-schedules-BmkARmQ9.d.ts → ai-schedules-DzLh6BYI.d.ts} +1 -1
  4. package/dist/ai-sdk/agents/index.d.ts +2 -2
  5. package/dist/ai-sdk/memory/index.js +1 -1
  6. package/dist/{api-hHwieEfz.d.ts → api-B6zteBya.d.ts} +2 -2
  7. package/dist/{app-tables-D29Rahtg.js → app-tables-DyswUg6J.js} +11 -2
  8. package/dist/{app-tables-yMQ4ubyY.d.ts → app-tables-XwCviyhP.d.ts} +1 -1
  9. package/dist/astro/index.d.ts +5 -5
  10. package/dist/astro/index.js +5 -5
  11. package/dist/{attachments-aJYgdYtB.js → attachments-M-Dy79Ry.js} +9 -2
  12. package/dist/{authorization-HZdJCaVm.d.ts → authorization-IiE__z2m.d.ts} +187 -89
  13. package/dist/{automations-CIwRq7zm.js → automations-B5P6vTvk.js} +2 -2
  14. package/dist/{automations-CD1XlL2W.js → automations-BKjJpktQ.js} +1 -1
  15. package/dist/{automations-Bc2ue55V.js → automations-FCnWy387.js} +2 -2
  16. package/dist/better-result/index.d.ts +2 -2
  17. package/dist/{bind-JGCPGUJh.d.ts → bind-pu5TLrla.d.ts} +4 -4
  18. package/dist/{block-env-y65GF_px.d.ts → block-env-CA65ulTD.d.ts} +4 -4
  19. package/dist/blocks/access-requests/index.d.ts +1 -1
  20. package/dist/blocks/access-requests/index.js +1 -1
  21. package/dist/blocks/activities/index.d.ts +1 -1
  22. package/dist/blocks/activities/index.js +1 -1
  23. package/dist/blocks/agents/index.d.ts +1 -1
  24. package/dist/blocks/agents/index.js +1 -1
  25. package/dist/blocks/ai-cache/index.d.ts +1 -1
  26. package/dist/blocks/ai-cache/index.js +1 -1
  27. package/dist/blocks/ai-chat/index.d.ts +4 -4
  28. package/dist/blocks/ai-chat/index.js +1 -1
  29. package/dist/blocks/ai-files/index.d.ts +1 -1
  30. package/dist/blocks/ai-files/index.js +1 -1
  31. package/dist/blocks/ai-keys/index.d.ts +1 -1
  32. package/dist/blocks/ai-keys/index.js +1 -1
  33. package/dist/blocks/ai-schedules/index.d.ts +2 -2
  34. package/dist/blocks/ai-schedules/index.js +1 -1
  35. package/dist/blocks/announcements/index.d.ts +4 -4
  36. package/dist/blocks/announcements/index.js +1 -1
  37. package/dist/blocks/api-keys/index.d.ts +2 -2
  38. package/dist/blocks/api-keys/index.js +1 -1
  39. package/dist/blocks/approvals/index.d.ts +1 -1
  40. package/dist/blocks/approvals/index.js +1 -1
  41. package/dist/blocks/assets/index.d.ts +1 -1
  42. package/dist/blocks/assets/index.js +1 -1
  43. package/dist/blocks/assignment/index.d.ts +1 -1
  44. package/dist/blocks/attachments/index.d.ts +40 -4
  45. package/dist/blocks/attachments/index.js +42 -4
  46. package/dist/blocks/audit/index.d.ts +5 -5
  47. package/dist/blocks/audit/index.js +2 -2
  48. package/dist/blocks/automations/index.d.ts +3 -3
  49. package/dist/blocks/automations/index.js +1 -1
  50. package/dist/blocks/billable-time/index.d.ts +1 -1
  51. package/dist/blocks/billing/index.d.ts +3 -3
  52. package/dist/blocks/billing/index.js +1 -1
  53. package/dist/blocks/bookings/index.d.ts +2 -2
  54. package/dist/blocks/bookings/index.js +1 -1
  55. package/dist/blocks/bulk/index.d.ts +1 -1
  56. package/dist/blocks/bulk/index.js +1 -1
  57. package/dist/blocks/calendar/index.d.ts +2 -2
  58. package/dist/blocks/calendar/index.js +1 -1
  59. package/dist/blocks/catalog/index.d.ts +1 -1
  60. package/dist/blocks/catalog/index.js +1 -1
  61. package/dist/blocks/channels/index.d.ts +1 -1
  62. package/dist/blocks/collections/index.d.ts +1 -1
  63. package/dist/blocks/collections/index.js +1 -1
  64. package/dist/blocks/comments/index.d.ts +5 -5
  65. package/dist/blocks/comments/index.js +1 -1
  66. package/dist/blocks/compliance/index.d.ts +1 -1
  67. package/dist/blocks/compliance/index.js +1 -1
  68. package/dist/blocks/connectors/index.d.ts +1 -1
  69. package/dist/blocks/connectors/index.js +1 -1
  70. package/dist/blocks/contacts/index.d.ts +1 -1
  71. package/dist/blocks/contacts/index.js +1 -1
  72. package/dist/blocks/content/index.d.ts +2 -2
  73. package/dist/blocks/content/index.js +1 -1
  74. package/dist/blocks/contracts/index.d.ts +1 -1
  75. package/dist/blocks/contracts/index.js +1 -1
  76. package/dist/blocks/courses/index.d.ts +2 -2
  77. package/dist/blocks/courses/index.js +1 -1
  78. package/dist/blocks/created-by/index.d.ts +4 -3
  79. package/dist/blocks/created-by/index.js +2 -2
  80. package/dist/blocks/custom-fields/index.d.ts +1 -1
  81. package/dist/blocks/custom-fields/index.js +1 -1
  82. package/dist/blocks/data-lifecycle/index.d.ts +1 -1
  83. package/dist/blocks/data-lifecycle/index.js +1 -1
  84. package/dist/blocks/deals/index.d.ts +1 -1
  85. package/dist/blocks/deals/index.js +1 -1
  86. package/dist/blocks/dispatch/index.d.ts +2 -2
  87. package/dist/blocks/dispatch/index.js +1 -1
  88. package/dist/blocks/documents/index.d.ts +1 -1
  89. package/dist/blocks/documents/index.js +1 -1
  90. package/dist/blocks/domains/index.d.ts +1 -1
  91. package/dist/blocks/domains/index.js +1 -1
  92. package/dist/blocks/donations/index.d.ts +1 -1
  93. package/dist/blocks/donations/index.js +1 -1
  94. package/dist/blocks/drive/index.d.ts +1 -1
  95. package/dist/blocks/drive/index.js +2 -2
  96. package/dist/blocks/employees/index.d.ts +2 -2
  97. package/dist/blocks/employees/index.js +1 -1
  98. package/dist/blocks/enrichment/index.d.ts +1 -1
  99. package/dist/blocks/enrollments/index.d.ts +1 -1
  100. package/dist/blocks/enrollments/index.js +1 -1
  101. package/dist/blocks/entitlements/index.d.ts +3 -3
  102. package/dist/blocks/expenses/index.d.ts +1 -1
  103. package/dist/blocks/expenses/index.js +1 -1
  104. package/dist/blocks/field-history/index.d.ts +1 -1
  105. package/dist/blocks/flags/index.d.ts +1 -1
  106. package/dist/blocks/flags/index.js +1 -1
  107. package/dist/blocks/forecasts/index.d.ts +1 -1
  108. package/dist/blocks/forms/index.d.ts +2 -2
  109. package/dist/blocks/forms/index.js +1 -1
  110. package/dist/blocks/goals/index.d.ts +1 -1
  111. package/dist/blocks/goals/index.js +1 -1
  112. package/dist/blocks/guests/index.d.ts +1 -1
  113. package/dist/blocks/hiring/index.d.ts +1 -1
  114. package/dist/blocks/hiring/index.js +1 -1
  115. package/dist/blocks/identities/index.d.ts +1 -1
  116. package/dist/blocks/identities/index.js +1 -1
  117. package/dist/blocks/imports/index.d.ts +1 -1
  118. package/dist/blocks/inbox/index.d.ts +5 -5
  119. package/dist/blocks/inbox/index.js +1 -1
  120. package/dist/blocks/incidents/index.d.ts +1 -1
  121. package/dist/blocks/incidents/index.js +1 -1
  122. package/dist/blocks/index.d.ts +4 -4
  123. package/dist/blocks/index.js +1 -1
  124. package/dist/blocks/inventory/index.d.ts +1 -1
  125. package/dist/blocks/inventory/index.js +1 -1
  126. package/dist/blocks/invoices/index.d.ts +1 -1
  127. package/dist/blocks/invoices/index.js +1 -1
  128. package/dist/blocks/knowledge/index.d.ts +1 -1
  129. package/dist/blocks/knowledge/index.js +1 -1
  130. package/dist/blocks/lead-scoring/index.d.ts +2 -2
  131. package/dist/blocks/lead-scoring/index.js +1 -1
  132. package/dist/blocks/leases/index.d.ts +1 -1
  133. package/dist/blocks/leases/index.js +1 -1
  134. package/dist/blocks/leave/index.d.ts +1 -1
  135. package/dist/blocks/leave/index.js +1 -1
  136. package/dist/blocks/ledger/index.d.ts +1 -1
  137. package/dist/blocks/mail-sync/index.d.ts +2 -2
  138. package/dist/blocks/mail-sync/index.js +1 -1
  139. package/dist/blocks/memberships/index.d.ts +3 -3
  140. package/dist/blocks/memberships/index.js +1 -1
  141. package/dist/blocks/memory/index.d.ts +1 -1
  142. package/dist/blocks/memory/index.js +1 -1
  143. package/dist/blocks/messaging/index.d.ts +5 -5
  144. package/dist/blocks/messaging/index.js +1 -1
  145. package/dist/blocks/metrics/index.d.ts +1 -1
  146. package/dist/blocks/metrics/index.js +1 -1
  147. package/dist/blocks/mfa/index.d.ts +2 -2
  148. package/dist/blocks/moderation/index.d.ts +1 -1
  149. package/dist/blocks/moderation/index.js +1 -1
  150. package/dist/blocks/notifications/index.d.ts +17 -6
  151. package/dist/blocks/notifications/index.js +110 -40
  152. package/dist/blocks/numbering/index.d.ts +1 -1
  153. package/dist/blocks/numbering/index.js +1 -1
  154. package/dist/blocks/oauth-server/index.d.ts +1 -1
  155. package/dist/blocks/oauth-server/index.js +1 -1
  156. package/dist/blocks/onboarding/index.d.ts +2 -2
  157. package/dist/blocks/onboarding/index.js +1 -1
  158. package/dist/blocks/orders/index.d.ts +2 -2
  159. package/dist/blocks/orders/index.js +1 -1
  160. package/dist/blocks/organizations/index.d.ts +38 -3
  161. package/dist/blocks/organizations/index.js +50 -5
  162. package/dist/blocks/outbox/index.d.ts +1 -1
  163. package/dist/blocks/outbox/index.js +1 -1
  164. package/dist/blocks/passes/index.d.ts +2 -2
  165. package/dist/blocks/passes/index.js +1 -1
  166. package/dist/blocks/permissions/index.d.ts +4 -4
  167. package/dist/blocks/permissions/index.js +2 -2
  168. package/dist/blocks/pipelines/index.d.ts +1 -1
  169. package/dist/blocks/pipelines/index.js +1 -1
  170. package/dist/blocks/posts/index.d.ts +2 -2
  171. package/dist/blocks/posts/index.js +1 -1
  172. package/dist/blocks/profiles/index.d.ts +1 -1
  173. package/dist/blocks/profiles/index.js +1 -1
  174. package/dist/blocks/promotions/index.d.ts +1 -1
  175. package/dist/blocks/promotions/index.js +1 -1
  176. package/dist/blocks/push/index.d.ts +76 -10
  177. package/dist/blocks/push/index.js +172 -43
  178. package/dist/blocks/queue/index.d.ts +1 -1
  179. package/dist/blocks/queue/index.js +1 -1
  180. package/dist/blocks/quotes/index.d.ts +1 -1
  181. package/dist/blocks/quotes/index.js +1 -1
  182. package/dist/blocks/rank/index.d.ts +1 -1
  183. package/dist/blocks/reactions/index.d.ts +4 -4
  184. package/dist/blocks/reactions/index.js +1 -1
  185. package/dist/blocks/relations/index.d.ts +1 -1
  186. package/dist/blocks/relations/index.js +1 -1
  187. package/dist/blocks/reminders/index.d.ts +1 -1
  188. package/dist/blocks/reminders/index.js +1 -1
  189. package/dist/blocks/reviews/index.d.ts +1 -1
  190. package/dist/blocks/reviews/index.js +1 -1
  191. package/dist/blocks/saved-views/index.d.ts +3 -3
  192. package/dist/blocks/saved-views/index.js +1 -1
  193. package/dist/blocks/scores/index.d.ts +1 -1
  194. package/dist/blocks/scores/index.js +1 -1
  195. package/dist/blocks/search/index.d.ts +3 -3
  196. package/dist/blocks/search/index.js +1 -1
  197. package/dist/blocks/security-events/index.d.ts +1 -1
  198. package/dist/blocks/security-events/index.js +1 -1
  199. package/dist/blocks/segments/index.d.ts +2 -2
  200. package/dist/blocks/segments/index.js +1 -1
  201. package/dist/blocks/sequences/index.d.ts +2 -2
  202. package/dist/blocks/sequences/index.js +1 -1
  203. package/dist/blocks/service-accounts/index.d.ts +1 -1
  204. package/dist/blocks/service-accounts/index.js +1 -1
  205. package/dist/blocks/sessions/index.d.ts +2 -2
  206. package/dist/blocks/sessions/index.js +1 -1
  207. package/dist/blocks/settings/index.d.ts +2 -2
  208. package/dist/blocks/settings/index.js +1 -1
  209. package/dist/blocks/share-links/index.d.ts +1 -1
  210. package/dist/blocks/share-links/index.js +1 -1
  211. package/dist/blocks/shipments/index.d.ts +2 -2
  212. package/dist/blocks/shipments/index.js +1 -1
  213. package/dist/blocks/signatures/index.d.ts +2 -2
  214. package/dist/blocks/signatures/index.js +1 -1
  215. package/dist/blocks/signing-keys/index.d.ts +1 -1
  216. package/dist/blocks/signing-keys/index.js +1 -1
  217. package/dist/blocks/sla/index.d.ts +1 -1
  218. package/dist/blocks/sla/index.js +1 -1
  219. package/dist/blocks/sso/index.d.ts +1 -1
  220. package/dist/blocks/sso/index.js +1 -1
  221. package/dist/blocks/state-machine/index.d.ts +1 -1
  222. package/dist/blocks/state-machine/index.js +1 -1
  223. package/dist/blocks/subjects/index.d.ts +2 -2
  224. package/dist/blocks/tags/index.d.ts +2 -2
  225. package/dist/blocks/tags/index.js +1 -1
  226. package/dist/blocks/tasks/index.d.ts +2 -2
  227. package/dist/blocks/tasks/index.js +1 -1
  228. package/dist/blocks/teams/index.d.ts +1 -1
  229. package/dist/blocks/teams/index.js +1 -1
  230. package/dist/blocks/templates/index.d.ts +2 -2
  231. package/dist/blocks/templates/index.js +1 -1
  232. package/dist/blocks/time-tracking/index.d.ts +1 -1
  233. package/dist/blocks/time-tracking/index.js +1 -1
  234. package/dist/blocks/timeline/index.d.ts +3 -3
  235. package/dist/blocks/trash/index.d.ts +1 -1
  236. package/dist/blocks/trash/index.js +1 -1
  237. package/dist/blocks/undo/index.d.ts +2 -2
  238. package/dist/blocks/updated-at/index.d.ts +7 -4
  239. package/dist/blocks/updated-at/index.js +2 -2
  240. package/dist/blocks/usage/index.d.ts +2 -2
  241. package/dist/blocks/usage/index.js +1 -1
  242. package/dist/blocks/vercel-marketplace/index.d.ts +1 -1
  243. package/dist/blocks/vercel-marketplace/index.js +1 -1
  244. package/dist/blocks/versions/index.d.ts +1 -1
  245. package/dist/blocks/versions/index.js +1 -1
  246. package/dist/blocks/waitlist/index.d.ts +1 -1
  247. package/dist/blocks/waitlist/index.js +1 -1
  248. package/dist/blocks/webhooks/index.d.ts +2 -2
  249. package/dist/blocks/webhooks/index.js +1 -1
  250. package/dist/blocks/workflow-editor/index.d.ts +4 -4
  251. package/dist/blocks/workflow-editor/index.js +1 -1
  252. package/dist/blocks/workflows/index.d.ts +4 -4
  253. package/dist/{channel-BjvGO39m.d.ts → channel-JcMd5lNP.d.ts} +30 -2
  254. package/dist/cli/{add-D7TkPdco.js → add-B1S3yK4L.js} +20 -13
  255. package/dist/cli/add-BQPJnapO.js +1 -0
  256. package/dist/cli/{add-I8OW-qJH.js → add-D7YIXslp.js} +2 -2
  257. package/dist/cli/{backfill-DIz5DnlQ.js → backfill-BwkyNhlC.js} +4 -4
  258. package/dist/cli/bin.js +1 -1
  259. package/dist/cli/{blocks-Bp5RPoft.js → blocks-CBqENu3C.js} +1 -1
  260. package/dist/cli/{blocks-xk-SE8gS.js → blocks-DDm1Zc2S.js} +2 -2
  261. package/dist/cli/{cache-AznIssjI.js → cache-DE2IH1-C.js} +1 -1
  262. package/dist/cli/{codemod-Aewxza6i.js → codemod-OHKhVV-v.js} +4 -4
  263. package/dist/cli/{command-CQ61x6gN.js → command-BWEEXmtz.js} +20 -0
  264. package/dist/cli/{completion-Dlu5AdUW.js → completion-8EDK21xj.js} +1 -1
  265. package/dist/cli/{completion-BwI0_Ap5.js → completion-BfnKI4QZ.js} +2 -2
  266. package/dist/cli/{completion-2Y3D_eNu.js → completion-Bt7LMypX.js} +2 -2
  267. package/dist/cli/{config-9t5ec_N7.js → config-BJSqMi04.js} +20 -6
  268. package/dist/cli/{config-CBqkQjjN.js → config-BlfVh0IP.js} +1 -1
  269. package/dist/cli/{config-CPux9Wa7.js → config-WKDixoGK.js} +1 -1
  270. package/dist/cli/{content-mapper-DCrz6OIv.js → content-mapper-CaygHH_k.js} +2 -2
  271. package/dist/cli/{db-DrBI_HNv.js → db-DYU5hUcd.js} +3 -3
  272. package/dist/cli/{doctor-DkOSLPEQ.js → doctor-D_nrsd9E.js} +186 -143
  273. package/dist/cli/{env-BBl5L8Bf.js → env-BCgVZkcb.js} +1 -1
  274. package/dist/cli/env-xhwXk5Ri.js +1 -0
  275. package/dist/cli/{gen-CFkYUnWq.js → gen-D7gMEwvg.js} +22 -15
  276. package/dist/cli/index.d.ts +2 -2
  277. package/dist/cli/index.js +8 -8
  278. package/dist/cli/{init-CHj9ad4S.js → init-ch-HWJyp.js} +7 -7
  279. package/dist/cli/{keys-DGEpMbeB.js → keys-CbaL0lnw.js} +1 -1
  280. package/dist/cli/{live-DGdLR41j.js → live-B38ePuRS.js} +2 -2
  281. package/dist/cli/{mcp-BZno503V.js → mcp-P9RP2SJ3.js} +3 -3
  282. package/dist/cli/{metadata-BfgHMe4q.js → metadata-BTihErEc.js} +3 -3
  283. package/dist/cli/{migration-safety-BnnXPAro.js → migration-safety-DYo1vVWC.js} +2 -2
  284. package/dist/cli/{module-migration-O_IxewFs.js → migrations-BoIyGczt.js} +3 -113
  285. package/dist/cli/module-migration-DXvo0EqU.js +119 -0
  286. package/dist/cli/{moved-CsfDQcyk.js → moved-DVwgE8lV.js} +1 -1
  287. package/dist/cli/{parse-B9Iv_-Pf.js → parse-B079x40m.js} +1 -1
  288. package/dist/cli/powersync-D-0yV_L_.js +283 -0
  289. package/dist/cli/powersync-DXVsKkAu.js +1 -0
  290. package/dist/cli/{print-DosQIFSy.js → print-CRon4lXf.js} +2 -1
  291. package/dist/cli/{remove-DK2G_KHm.js → remove-D89s99ha.js} +6 -6
  292. package/dist/cli/{render-5y5a1QZr.js → render-BJF9ytUi.js} +15 -6
  293. package/dist/cli/{run-BXx6D1aR.js → run-DmOTMa44.js} +2 -2
  294. package/dist/cli/{run-Bs4OKdDI.js → run-jeplMBOK.js} +29 -10
  295. package/dist/cli/{run-MRET30vh.js → run-x9ZY4Tm0.js} +38 -37
  296. package/dist/cli/{seed-Cz8PcXeT.js → seed-D9mt8bnW.js} +3 -3
  297. package/dist/cli/seed-EPO6AvLG.js +1 -0
  298. package/dist/cli/{shared-BLqbvY2x.js → shared-B38Chjgd.js} +1 -1
  299. package/dist/cli/{skills-toUan_OV.js → skills-FXAVPLzp.js} +1 -1
  300. package/dist/cli/{snapshot-uTUlEzY2.js → snapshot-BXmU3IXN.js} +3 -3
  301. package/dist/cli/{source-args-IpJRJO5t.js → source-args-DlckPVje.js} +1 -1
  302. package/dist/cli/{source-D2gJHKwC.js → source-irttnsEb.js} +1 -1
  303. package/dist/cli/{spec-Cm2einTO.js → spec-CDxfokey.js} +3 -3
  304. package/dist/cli/{spec-DUjOtciN.js → spec-DzD5wMVF.js} +1 -1
  305. package/dist/cli/{sql-layout-lUWenjJw.js → sql-layout-D8QrNvt4.js} +2 -2
  306. package/dist/cli/{stack-CWEHdO0b.js → stack-DgASZP0K.js} +1 -1
  307. package/dist/cli/{sync-CZMRB3aU.js → sync-s1iKFIos.js} +3 -2
  308. package/dist/cli/{upgrade-BFEIMC7U.js → upgrade-B4FPlK-_.js} +4 -3
  309. package/dist/cli/{upgrade-fVsJniXm.js → upgrade-CluxP3JJ.js} +3 -3
  310. package/dist/cli/{version-B2Dr6VmJ.js → version-TgFM8sOd.js} +1 -1
  311. package/dist/client/index.d.ts +5 -5
  312. package/dist/client/native/index.d.ts +4 -4
  313. package/dist/{composite-CfYyU3vs.d.ts → composite-C-8A8qzi.d.ts} +4 -4
  314. package/dist/{composite-B3TIjId4.js → composite-D24L5RIY.js} +2 -2
  315. package/dist/config/index.d.ts +3 -3
  316. package/dist/config/index.js +4 -4
  317. package/dist/{config-CcehOvbz.js → config-CD2OGfCG.js} +2 -1
  318. package/dist/{config-DWGgUQCh.js → config-mbVyJwSc.js} +7 -6
  319. package/dist/{context-8kb8m5uO.d.ts → context-D24k1Cpc.d.ts} +36 -4
  320. package/dist/{controller-BW-5Opig.d.ts → controller-BR7CZ1R9.d.ts} +1 -1
  321. package/dist/{conversion-3iv2r7YC.d.ts → conversion-BgtOfTaS.d.ts} +1 -1
  322. package/dist/create/index.d.ts +2 -2
  323. package/dist/create/index.js +5 -5
  324. package/dist/{define-C5AcEkEJ.d.ts → define-Cgru0_kF.d.ts} +1 -1
  325. package/dist/{define-block-C1RHXz7L.d.ts → define-block-CJWiDWa5.d.ts} +11 -4
  326. package/dist/edge/index.d.ts +7 -7
  327. package/dist/edge/index.js +7 -7
  328. package/dist/elysia/index.d.ts +1 -1
  329. package/dist/elysia/index.js +1 -1
  330. package/dist/{email-tt2QqiSc.d.ts → email-B3YxEzwC.d.ts} +1 -1
  331. package/dist/{entitlements-sO977DO-.d.ts → entitlements-DHcNt1aF.d.ts} +1 -1
  332. package/dist/{events-SqJLbb8q.js → events-DuLhzjP6.js} +2 -0
  333. package/dist/{executor-BcNWcD-4.d.ts → executor-BWFfz0ik.d.ts} +2 -2
  334. package/dist/expo/index.d.ts +3 -3
  335. package/dist/expo/index.js +3 -3
  336. package/dist/{extension-B-lajjex.js → extension-DTaHjwdc.js} +3 -2
  337. package/dist/{extension-B0EjCYhO.js → extension-mGylYROs.js} +2 -10
  338. package/dist/{field-errors-Dt86dCKk.d.ts → field-errors-DucQdLl7.d.ts} +6 -6
  339. package/dist/{framework-BozTXRzt.js → framework-CNhTg0th.js} +1 -1
  340. package/dist/{framework-BGdZVyPL.d.ts → framework-x9Y4uB1q.d.ts} +5 -5
  341. package/dist/h3/index.d.ts +1 -1
  342. package/dist/h3/index.js +1 -1
  343. package/dist/h3/v1/index.d.ts +1 -1
  344. package/dist/h3/v1/index.js +1 -1
  345. package/dist/hono/index.d.ts +6 -6
  346. package/dist/hono/index.js +7 -6
  347. package/dist/{index-Cc4mIQS8.d.ts → index-4WT_uRRL.d.ts} +20 -4
  348. package/dist/{index-CENWq3zb.d.ts → index-BAcQz5DS.d.ts} +1 -1
  349. package/dist/{index-CTu-3fJB.d.ts → index-BH3NYExp.d.ts} +3 -3
  350. package/dist/{index-CcAmFNVi.d.ts → index-C0t-vNIt.d.ts} +2 -2
  351. package/dist/{index-DZKCc2WM.d.ts → index-C6ruLtyx.d.ts} +3 -3
  352. package/dist/{index-Craf712U.d.ts → index-XAyzdLns.d.ts} +9 -9
  353. package/dist/{index-BxYOB1Oc.d.ts → index-iRkFvJ7J.d.ts} +1 -1
  354. package/dist/index.d.ts +2 -2
  355. package/dist/index.js +1 -1
  356. package/dist/{instances-BHjCZoF8.js → instances-DDt7NdVl.js} +1 -1
  357. package/dist/{kit-DOwKpSkA.d.ts → kit-CVgQCIBO.d.ts} +1 -1
  358. package/dist/{kit-5l-o8RxL.js → kit-DhlB-vv_.js} +1 -1
  359. package/dist/list/index.d.ts +1 -1
  360. package/dist/{list-query-DYhgRTd5.d.ts → list-query-DxjuIHEL.d.ts} +1 -1
  361. package/dist/mapper/bin.js +7 -6
  362. package/dist/mcp/index.d.ts +11 -5
  363. package/dist/mcp/index.js +6 -6
  364. package/dist/mcp/sdk/index.d.ts +3 -3
  365. package/dist/mcp/sdk/index.js +2 -2
  366. package/dist/{methods-B3o7BFOW.js → methods-Cund9ZBe.js} +1 -1
  367. package/dist/nestjs/index.d.ts +2 -2
  368. package/dist/nestjs/index.js +1 -1
  369. package/dist/next/index.d.ts +16 -16
  370. package/dist/next/index.js +6 -6
  371. package/dist/node/index.d.ts +2 -2
  372. package/dist/node/index.js +1 -1
  373. package/dist/{operations-CSc_IsHO.d.ts → operations-CAjMgNr9.d.ts} +1 -1
  374. package/dist/{options-CK5WiFwG.js → options-3OYOU56e.js} +1 -1
  375. package/dist/{options-xD4_FRUq.js → options-56zYYXxc.js} +1 -1
  376. package/dist/{options-_F-enoBs.d.ts → options-5WvWOkAm.d.ts} +1 -1
  377. package/dist/{options-SViK_2x2.js → options-62woPFn3.js} +1 -1
  378. package/dist/{options-1GgseJq5.js → options-7ixoOoap.js} +1 -1
  379. package/dist/{options-BZsoPJGX.js → options-9dSU5RML.js} +2 -2
  380. package/dist/{options-y_-AkVCs.d.ts → options-B0YZtAkb.d.ts} +1 -1
  381. package/dist/{options-HLwOuF2H.js → options-B2Kz_tCx.js} +2 -2
  382. package/dist/{options-CEMawFrr.js → options-B685YSzQ.js} +1 -1
  383. package/dist/{options-DWbA9buW.js → options-B692WoK6.js} +2 -2
  384. package/dist/options-BHU1wc74.js +5 -0
  385. package/dist/{options-CPK2nQER.js → options-BHy0Z5Zd.js} +2 -2
  386. package/dist/{options-Fz6xqu-b.js → options-BKDxrPvE.js} +2 -2
  387. package/dist/{options-BVg58avP.js → options-BLfymS4s.js} +2 -2
  388. package/dist/{options-CYV4iZiQ.js → options-BOCRbzh3.js} +1 -1
  389. package/dist/{options-C-dQHH5-.js → options-BQWJqwHO.js} +3 -2
  390. package/dist/{options-Cl9Ag2Pt.js → options-BQunK6_Y.js} +2 -2
  391. package/dist/{options-CljDnQt2.js → options-BQyrZjwM.js} +4 -1
  392. package/dist/options-BR9xTHZW.js +5 -0
  393. package/dist/{options-D40CQzji.js → options-BRUdd5jY.js} +1 -1
  394. package/dist/{options-CsGl5BLH.d.ts → options-BTmaRzx2.d.ts} +13 -5
  395. package/dist/{options-Li1Dyu88.d.ts → options-BUCQYAeJ.d.ts} +2 -2
  396. package/dist/{options-DChZoVfs.d.ts → options-B_NrjVDt.d.ts} +1 -0
  397. package/dist/{options-B5BU2Yg7.js → options-BawzwlmC.js} +2 -2
  398. package/dist/{options-BlzSfWxC.d.ts → options-BbLDAp7G.d.ts} +2 -2
  399. package/dist/{options-DTDxFT6J.js → options-Bc4xz5jQ.js} +2 -2
  400. package/dist/options-BfFC4iFE.js +8 -0
  401. package/dist/{options-Br1Xi2Hw.js → options-BfPsL7E2.js} +1 -1
  402. package/dist/{options-DYBQ973I.js → options-Bfmwwc78.js} +1 -1
  403. package/dist/{options-c5WCsky5.js → options-BhsdveDk.js} +2 -2
  404. package/dist/{options-B5woz53h.js → options-BomoTH-8.js} +2 -2
  405. package/dist/{options-DeNejBtq.js → options-BtjkzIVh.js} +1 -1
  406. package/dist/options-Bvi9bl4H.js +5 -0
  407. package/dist/{options-IHPg8ZoA.js → options-BwKNmaJo.js} +2 -2
  408. package/dist/{options-CtUUU71w.js → options-BxpLtyk-.js} +4 -6
  409. package/dist/{options-D_bBVCXg.js → options-BzB2QxL3.js} +1 -1
  410. package/dist/{options-CmraJhd9.js → options-C078wBP0.js} +1 -1
  411. package/dist/options-C1-pwEqm.js +5 -0
  412. package/dist/{options-BZOliZvb.js → options-C3AdsFJ6.js} +2 -2
  413. package/dist/options-C7C5OhmL.d.ts +8 -0
  414. package/dist/{options-B2swWnJW.js → options-C87u6eSa.js} +3 -2
  415. package/dist/{options-CVSWgZpY.js → options-CBAEGxwS.js} +1 -1
  416. package/dist/{options-CM6-18FQ.d.ts → options-CDSCkYxu.d.ts} +1 -0
  417. package/dist/{options-9gvPo1BC.js → options-CDUr8zzX.js} +1 -1
  418. package/dist/{options-DMR68VAC.js → options-CFjGxfa8.js} +2 -2
  419. package/dist/{options-Bf96aVk5.js → options-CI6P0xhV.js} +1 -1
  420. package/dist/{options-B5VUf4IT.js → options-CJFMK9A_.js} +1 -1
  421. package/dist/{options-CRz8Ht_4.js → options-CLpgx7en.js} +3 -2
  422. package/dist/{options-BesyRBnM.js → options-CTXHj9zr.js} +2 -2
  423. package/dist/{options-D2d1fFuw.js → options-CTl8T88w.js} +1 -1
  424. package/dist/{options-C3RgtOLo.js → options-CTv-xmbA.js} +2 -2
  425. package/dist/{options-Bpl-WFPk.js → options-CUIOOv4z.js} +1 -1
  426. package/dist/{options-o2kfYU2x.js → options-CZDmtsbV.js} +2 -2
  427. package/dist/{options-CF7nRWXS.js → options-CZTscdPB.js} +1 -1
  428. package/dist/{options-BlncUmIc.js → options-CZdKndeo.js} +2 -2
  429. package/dist/{options-DplE18Ko.d.ts → options-C_7g9TTq.d.ts} +1 -1
  430. package/dist/{options-C_pb1Nd3.js → options-Cb2FOFj5.js} +1 -1
  431. package/dist/{options-t_O5ldT6.js → options-CbOstLa7.js} +2 -2
  432. package/dist/{options-Bt0bYMLl.js → options-CcXgWlvm.js} +2 -2
  433. package/dist/{options-BMjcVuaI.js → options-CfVPctAw.js} +7 -0
  434. package/dist/{options-DWpz3V3F.js → options-ChiL-4ZS.js} +2 -2
  435. package/dist/{options-E7KcmHQv.js → options-Cjgaf8ub.js} +2 -2
  436. package/dist/{options-DrSkIBCD.js → options-CoSPgWKy.js} +1 -1
  437. package/dist/{options-Bp7sgKvl.js → options-CpZ2HlSU.js} +5 -3
  438. package/dist/{options-CN7PHkhU.js → options-CsSe8Nba.js} +1 -1
  439. package/dist/{options-B9q8CROT.js → options-CsvJR-r2.js} +1 -1
  440. package/dist/{options-oeAq4Ho5.js → options-Cucv6sWP.js} +2 -2
  441. package/dist/{options-BOOEzor9.js → options-CyjL9lTf.js} +2 -2
  442. package/dist/{options-pOVWwbAK.d.ts → options-D-OOO9V2.d.ts} +1 -1
  443. package/dist/{options-nFzfgtA6.js → options-D0Y6ZMe8.js} +1 -1
  444. package/dist/{options-BnZS7IK-.js → options-D0sj5abR.js} +2 -2
  445. package/dist/{options-0qvUckqt.js → options-D2s7fT1s.js} +2 -2
  446. package/dist/{options-BjtrC7o6.js → options-D32-YxnO.js} +1 -1
  447. package/dist/{options-B0EJULm5.js → options-D610Fa6T.js} +2 -2
  448. package/dist/{options-BvtnxHfK.js → options-D96dScev.js} +1 -1
  449. package/dist/{options-DgQo80Xh.js → options-DFpyP1bg.js} +2 -2
  450. package/dist/{options-BYOtaF7w.js → options-DJEcS4DX.js} +1 -1
  451. package/dist/{options-DPgdAXO5.js → options-DJbN3bi9.js} +2 -2
  452. package/dist/{options-EsUh744F.js → options-DKoQoRCy.js} +2 -2
  453. package/dist/{options-CvD9vNvx.js → options-DM1qaMMQ.js} +1 -1
  454. package/dist/{options-eBPsk4WI.js → options-DNgSwhsm.js} +2 -2
  455. package/dist/{options-2EMA_x6_.js → options-DOIwzRXL.js} +2 -2
  456. package/dist/{options-D6as77gU.d.ts → options-DRIgHh4O.d.ts} +2 -2
  457. package/dist/{options-DDzggjN7.js → options-DRrZmJyI.js} +2 -2
  458. package/dist/{options-DJ-aYPVN.js → options-DUMUsvml.js} +2 -2
  459. package/dist/{options-Cp0HyUEk.js → options-DWwL5Kaz.js} +1 -1
  460. package/dist/{options-BCrqe3HH.js → options-DZHZYlpD.js} +1 -1
  461. package/dist/{options-BQIYfx9F.js → options-DZLkeqWn.js} +2 -2
  462. package/dist/{options-RKYdmIdV.js → options-DZRpXKQE.js} +1 -1
  463. package/dist/{options-D0G06Zm9.js → options-D_9Vxx7f.js} +2 -2
  464. package/dist/{options-BMGClqoa.js → options-DcHl59RC.js} +1 -1
  465. package/dist/{options-CW9wTqOk.js → options-Dcaql09y.js} +1 -1
  466. package/dist/{options-CXFz0xxS.js → options-DcnBNYmV.js} +1 -1
  467. package/dist/{options-21s0dpnX.js → options-DdpM-fiP.js} +2 -2
  468. package/dist/{options-BbnPv6p7.js → options-DhdazgTZ.js} +2 -2
  469. package/dist/{options-C239TLRF.js → options-Dpy-Ruo-.js} +1 -1
  470. package/dist/{options-DWVYM8P0.d.ts → options-DsVuVRH3.d.ts} +1 -1
  471. package/dist/{options-BlOPivzq.js → options-DtAJxfHS.js} +1 -1
  472. package/dist/{options-DXnBN2E7.js → options-Dz9Yo52Z.js} +2 -2
  473. package/dist/{options-DcOx8_3X.d.ts → options-HnfETSHr.d.ts} +1 -1
  474. package/dist/{options-CoX6VKGb.js → options-LqUXTpML.js} +1 -1
  475. package/dist/options-MsloEAIB.js +5 -0
  476. package/dist/{options-DCduTMST.js → options-P2FxqYpd.js} +2 -2
  477. package/dist/options-_1gAIMq7.d.ts +60 -0
  478. package/dist/{options-B0FcEKtH.js → options-aT89JqlB.js} +1 -1
  479. package/dist/{options-Cyu0hgmN.js → options-cVKZu9b0.js} +2 -2
  480. package/dist/options-fMxhtuVR.js +5 -0
  481. package/dist/{options-BxcFLL1G.js → options-fkShrmGQ.js} +2 -2
  482. package/dist/{options-Ctac2R0Q.js → options-gUvfr3no.js} +2 -2
  483. package/dist/{options-DNKyN5uq.js → options-hynwKWuf.js} +2 -2
  484. package/dist/{options-CkScQRJR.js → options-lsxJYfYx.js} +2 -2
  485. package/dist/{options-CyAhRKKm.d.ts → options-o5wCw8H7.d.ts} +2 -2
  486. package/dist/{options-DARkpk2P.js → options-p49DFg3H.js} +2 -2
  487. package/dist/{options-zkyhM3qi.js → options-pYNpXKcg.js} +1 -1
  488. package/dist/{options-Cqq2jUww.js → options-qtETCHzW.js} +2 -2
  489. package/dist/options-rnKlqYEr.js +5 -0
  490. package/dist/{options-KV84gAxl.js → options-sU_zGkiV.js} +2 -2
  491. package/dist/{options-BfLmA375.js → options-xq4MXG1M.js} +2 -2
  492. package/dist/{options-BA6jV6py.js → options-zzlznRA7.js} +2 -2
  493. package/dist/orpc/index.d.ts +21 -10
  494. package/dist/orpc/index.js +60 -31
  495. package/dist/otel/index.d.ts +1 -1
  496. package/dist/otel/index.js +5 -5
  497. package/dist/{ports-mObLgH1z.d.ts → ports-g0H1Kzwr.d.ts} +1 -1
  498. package/dist/powersync/index.d.ts +136 -3
  499. package/dist/powersync/index.js +333 -1
  500. package/dist/preset/index.d.ts +3 -3
  501. package/dist/preset/index.js +3 -3
  502. package/dist/{preset-CsHnIBJF.js → preset-B3CukUhu.js} +4 -4
  503. package/dist/{push-token-BSSvsWXZ.d.ts → push-token-Cl2EihRc.d.ts} +1 -1
  504. package/dist/query/index.d.ts +1 -1
  505. package/dist/react/index.d.ts +5 -5
  506. package/dist/react/native/index.d.ts +1 -1
  507. package/dist/react/server.d.ts +6 -6
  508. package/dist/react-router/index.d.ts +5 -5
  509. package/dist/react-router/index.js +5 -5
  510. package/dist/realtime/index.d.ts +3 -3
  511. package/dist/realtime/index.js +1 -1
  512. package/dist/{record-form-D9ILuVtA.d.ts → record-form-zMwz0Ayt.d.ts} +1 -1
  513. package/dist/records/index.d.ts +7 -7
  514. package/dist/{refusal-ByBZcm0V.js → refusal-D48CMqpQ.js} +2 -2
  515. package/dist/{refusal-CSntB_x8.d.ts → refusal-OrlI3g4H.d.ts} +1 -1
  516. package/dist/{resource-DV2GC2dB.js → resource-R3KToNze.js} +1 -1
  517. package/dist/{resource-execute-Cpnob1Vj.d.ts → resource-execute-CKBtGL8-.d.ts} +1 -1
  518. package/dist/{resource-types-pMeLs68X.d.ts → resource-types-8Q5Klkpa.d.ts} +2 -2
  519. package/dist/{resources-C02l_YBJ.js → resources-DqIwoQsP.js} +1 -1
  520. package/dist/{resources-7iq2-5_A.d.ts → resources-DxpqenZA.d.ts} +1 -1
  521. package/dist/{respond-C3CcOZlA.js → respond-3RKp6VgU.js} +8 -1
  522. package/dist/{respond-Dn1_YhC1.d.ts → respond-oZeJ342J.d.ts} +6 -0
  523. package/dist/server/index.d.ts +9 -9
  524. package/dist/server/index.js +6 -6
  525. package/dist/{server-types-CK8mUIUT.d.ts → server-types-gR4Q1aM0.d.ts} +1 -1
  526. package/dist/{session-DWmFv3vB.d.ts → session-Fcft5A39.d.ts} +2 -2
  527. package/dist/{sign-in-B64114O4.js → sign-in-BLkRU3lc.js} +1 -1
  528. package/dist/solid/index.d.ts +6 -6
  529. package/dist/solid-start/index.d.ts +5 -5
  530. package/dist/solid-start/index.js +5 -5
  531. package/dist/spec/index.d.ts +2 -2
  532. package/dist/spec/index.js +1 -1
  533. package/dist/{spec-pins-DIx95afw.d.ts → spec-pins-BZkKfwY8.d.ts} +2 -0
  534. package/dist/{spec-pins-C1Vm8OBl.js → spec-pins-D3zDek-u.js} +1 -0
  535. package/dist/sql/index.d.ts +5 -5
  536. package/dist/sql/index.js +5 -5
  537. package/dist/{sql-Dl3Alk43.js → sql-fHTjZGqR.js} +4445 -3211
  538. package/dist/sql-type-iUSZpaUu.js +34 -0
  539. package/dist/sqlite/index.d.ts +1 -1
  540. package/dist/ssr/index.d.ts +1 -1
  541. package/dist/{statuses-DMMDwXpZ.js → statuses-Alll5Ip6.js} +2 -2
  542. package/dist/storage/index.js +1 -1
  543. package/dist/svelte/index.d.ts +6 -6
  544. package/dist/sveltekit/index.d.ts +6 -6
  545. package/dist/sveltekit/index.js +5 -5
  546. package/dist/{tags-qvVk79pp.d.ts → tags-sM-CH9Mn.d.ts} +1 -1
  547. package/dist/tanstack-db/index.d.ts +1 -1
  548. package/dist/tanstack-start/index.d.ts +5 -5
  549. package/dist/tanstack-start/index.js +5 -5
  550. package/dist/{tenant-DOKIJI62.d.ts → tenant-DyoVYFfC.d.ts} +1 -1
  551. package/dist/testing/index.d.ts +9 -9
  552. package/dist/testing/index.js +8 -5
  553. package/dist/{timeline-CvTuXYvn.d.ts → timeline-CMmo0R7g.d.ts} +3 -3
  554. package/dist/{topic-ikV_pLTX.js → topic-J9I3yu6f.js} +1 -1
  555. package/dist/{topic-CZXHhZye.d.ts → topic-nQYxoTaU.d.ts} +2 -2
  556. package/dist/{verify-CjvNLY7N.d.ts → verify-DEqY__0N.d.ts} +1 -1
  557. package/dist/vue/index.d.ts +6 -6
  558. package/dist/{watch-topic-BAxoPKZx.d.ts → watch-topic-UGSEWAqR.d.ts} +1 -1
  559. package/dist/workflow-sdk/world/index.js +1 -1
  560. package/dist/{workflow-sdk-Bw6_u0ar.js → workflow-sdk-DELaQEp3.js} +2 -0
  561. package/dist/yjs/index.d.ts +1 -1
  562. package/dist/yjs/index.js +1 -1
  563. package/package.json +1 -1
  564. package/schemas/config-v1.json +471 -69
  565. package/schemas/doctor-report-v1.json +1 -0
  566. package/dist/cli/add-Bfb_ISrO.js +0 -1
  567. package/dist/cli/env-CAU1nknN.js +0 -1
  568. package/dist/cli/seed-D6XijwbR.js +0 -1
  569. package/dist/options-63AKQNv0.js +0 -5
  570. package/dist/options-B-cxGmRA.js +0 -5
  571. package/dist/options-BPDiwSa-.js +0 -5
  572. package/dist/options-C6rEL6U5.js +0 -8
  573. package/dist/options-CE93HOYi.d.ts +0 -7
  574. package/dist/options-CTZNpb2n.js +0 -5
  575. package/dist/options-CrC78Tee.js +0 -5
  576. package/dist/options-DINdgVih.d.ts +0 -9
  577. package/dist/options-DWML05Cp.js +0 -5
  578. package/dist/options-Q1Bzgqpr.js +0 -5
@@ -1,41 +1,42 @@
1
- import { a as list, p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
1
+ import { a as list, p as commandMeta, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
2
  import { i as plain } from "./style-Bm2X5JrN.js";
3
- import { t as VERSION } from "./version-B2Dr6VmJ.js";
3
+ import { t as VERSION } from "./version-TgFM8sOd.js";
4
4
  import { n as CliError, r as errorText } from "./errors-BTe6A15O.js";
5
5
  import { i as isLocalDatabaseUrl, r as databaseHost } from "./agent-CbuPvI2x.js";
6
6
  import { a as sameText, t as display } from "./io-DH1kcmmP.js";
7
- import { t as CACHE_DIR } from "./cache-AznIssjI.js";
7
+ import { t as CACHE_DIR } from "./cache-DE2IH1-C.js";
8
8
  import { t as byCodePoint } from "./compare-BmIWVEui.js";
9
- import { C as satisfies, S as peerVersions, c as isSqliteLiteDriver, n as managementTarget, o as snapshotFile, r as openSource, s as liteDriverOf, t as loadSnapshot, u as MetadataRejectedError } from "./snapshot-uTUlEzY2.js";
10
- import { d as configFor, r as renderFiles, u as notNullTag } from "./render-5y5a1QZr.js";
9
+ import { C as satisfies, S as peerVersions, c as isSqliteLiteDriver, n as managementTarget, o as snapshotFile, r as openSource, s as liteDriverOf, t as loadSnapshot, u as MetadataRejectedError } from "./snapshot-BXmU3IXN.js";
10
+ import { d as configFor, r as renderFiles, u as notNullTag } from "./render-BJF9ytUi.js";
11
11
  import { t as isRecord } from "./guards-CUlDNYZs.js";
12
- import { i as request } from "./source-D2gJHKwC.js";
13
- import { T as providerLabel, i as migrationHolds, o as migrationModules, r as latestMigration, t as MODULES_SUFFIX, y as compiledReadSets } from "./module-migration-O_IxewFs.js";
14
- import { l as stdinDatabaseUrl, n as databaseUrl } from "./config-9t5ec_N7.js";
12
+ import { i as request } from "./source-irttnsEb.js";
13
+ import { g as providerLabel, u as compiledReadSets } from "./migrations-BoIyGczt.js";
14
+ import { l as stdinDatabaseUrl, n as databaseUrl } from "./config-BJSqMi04.js";
15
15
  import { a as findRepoRoot, c as httpHooks, d as readSupabaseToml, f as schemaPaths, h as tomlGet, i as diffEngine, l as migrationCommand, n as declarativeSchemasDir, p as sqlWorkflow, u as pgFunctionHooks } from "./supabase-toml-CncmQbO0.js";
16
16
  import { t as PROCESS_ENV } from "./env-DMgjB_4y.js";
17
17
  import { n as readStackStatus } from "./stack-status-B_Ipd_-z.js";
18
18
  import { t as connect } from "./db-CQCLx7cx.js";
19
- import { a as hasContentMapper, c as supportsContentMappers, i as contentMapperSetup$1, n as TSCONFIG_SNIPPET, o as needsRunExternalCode, t as RUN_EXTERNAL_CODE } from "./content-mapper-DCrz6OIv.js";
19
+ import { a as hasContentMapper, c as supportsContentMappers, i as contentMapperSetup$1, n as TSCONFIG_SNIPPET, o as needsRunExternalCode, t as RUN_EXTERNAL_CODE } from "./content-mapper-CaygHH_k.js";
20
20
  import { c as insideRoot, i as changeLines, r as applyPlan } from "./files-CX71yBm8.js";
21
- import { C as splinterTables, S as advisorRule, _ as withoutStrings, a as METADATA_GAPS_TEXT, b as appTablesOf, c as accessModule, d as RLS_RULES, f as appliesTo, g as policyHelpers, h as functionObject, l as entitlementsModule, m as functionBody, p as escape$2, s as AUTHORIZATION_RULES, u as COMMANDS$2, v as BLOCK_PREFIX, x as appViewsOf, y as blockTargets } from "./run-Bs4OKdDI.js";
22
- import { n as migrationsDir, r as moduleLayoutFor, t as blockDeclaredTables } from "./sql-layout-lUWenjJw.js";
23
- import { a as permissionCatalogKeys, i as lineOf, l as tableObject, n as exposed, o as policyObject, r as exposedSchemas, s as qualified, t as catalogOf, u as workflowOf } from "./shared-BLqbvY2x.js";
24
- import { o as wiringFor, r as configInstances, t as MIGRATION_SAFETY_RULES } from "./migration-safety-BnnXPAro.js";
21
+ import { C as splinterTables, S as advisorRule, _ as withoutStrings, a as METADATA_GAPS_TEXT, b as appTablesOf, c as accessModule, d as RLS_RULES, f as appliesTo, g as policyHelpers, h as functionObject, l as entitlementsModule, m as functionBody, p as escape$2, s as AUTHORIZATION_RULES, u as COMMANDS$2, v as BLOCK_PREFIX, x as appViewsOf, y as blockTargets } from "./run-jeplMBOK.js";
22
+ import { n as migrationsDir, r as moduleLayoutFor, t as blockDeclaredTables } from "./sql-layout-D8QrNvt4.js";
23
+ import { a as permissionCatalogKeys, i as lineOf, l as tableObject, n as exposed, o as policyObject, r as exposedSchemas, s as qualified, t as catalogOf, u as workflowOf } from "./shared-B38Chjgd.js";
24
+ import { i as migrationHolds, o as migrationModules, r as latestMigration, t as MODULES_SUFFIX } from "./module-migration-DXvo0EqU.js";
25
+ import { o as wiringFor, r as configInstances, t as MIGRATION_SAFETY_RULES } from "./migration-safety-DYo1vVWC.js";
25
26
  import { t as orphanedBlockFiles } from "./orphans-BAboqyVM.js";
26
- import { i as reservedRoles, n as ident$1, r as literal$1, t as LIVE_RULES } from "./live-DGdLR41j.js";
27
- import { a as sourceFlags, n as SOURCE_ARGS } from "./source-args-IpJRJO5t.js";
27
+ import { i as reservedRoles, n as ident$1, r as literal$1, t as LIVE_RULES } from "./live-B38ePuRS.js";
28
+ import { a as sourceFlags, n as SOURCE_ARGS } from "./source-args-DlckPVje.js";
28
29
  import { i as PLUGIN_SUBPATH_RENAMES, n as BLOCK_SUBPATH_RENAMES, o as SPEC_SUBPATH_RENAMES, t as BLOCK_EXPORT_RENAMES } from "./codemod-block-renames-BuSaTE_G.js";
29
30
  import { n as PLATFORM_SCHEMAS } from "./in-stack-diff-DQTW53Vf.js";
30
31
  import { i as staleVariables, r as stackEnvValues, t as PREFIX_NAMES } from "./stack-env-6hS-WEmh.js";
31
32
  import { a as readSharedMemory, n as listStacks, t as branchName } from "./stacks-BYlQ96WS.js";
32
- import { i as refuseWithMetadata, r as readMetadataSnapshot } from "./metadata-BfgHMe4q.js";
33
+ import { i as refuseWithMetadata, r as readMetadataSnapshot } from "./metadata-BTihErEc.js";
33
34
  import { existsSync } from "node:fs";
34
35
  import { dirname, resolve } from "node:path";
35
36
  import { createHash } from "node:crypto";
36
37
  import { glob, mkdir, readFile, readdir, writeFile } from "node:fs/promises";
37
38
  import { DEFAULT_ACTIVE_TENANT, tenantClaimPaths } from "better-supabase/config";
38
- import { SECRET_COLUMNS, SQL_MODULES, TENANT_SCOPE_POLICY, adoptedTables, adoptedViews, blockFileState, blockSqlVersion, contractSignature, customContracts, dataExportPlan, excludedColumns, expiredFlagsQuery, hasColumnAccess, migrationOptionUses, moduleDeprecations, moduleEventTriggers, moduleFileVersion, moduleLayout, notNullCheckName, renderBlocks, sameBlockFile, sameTenantColumn, sameTenantTrigger, scopePolicyName, sharedRolesProblems, subjectColumns, widenedCommands } from "better-supabase/sql";
39
+ import { SECRET_COLUMNS, SQL_MODULES, TENANT_SCOPE_POLICY, adoptedTables, adoptedViews, appTablePolicyNotes, blockFileState, blockSqlVersion, contractSignature, customContracts, dataExportPlan, excludedColumns, expiredFlagsQuery, hasColumnAccess, migrationOptionUses, moduleDeprecations, moduleEventTriggers, moduleFileVersion, moduleLayout, notNullCheckName, renderBlocks, sameBlockFile, sameTenantColumn, sameTenantTrigger, scopePolicyName, sharedRolesProblems, subjectColumns, widenedCommands } from "better-supabase/sql";
39
40
  import { defineBucket, parseSize } from "better-supabase/storage";
40
41
  //#region src/cli/doctor/env.ts
41
42
  const PUBLIC_PREFIXES = [
@@ -141,6 +142,166 @@ const ENV_RULES = [
141
142
  }
142
143
  ];
143
144
  //#endregion
145
+ //#region src/cli/doctor/module-files.ts
146
+ /** The `blocks` files as this release renders them, next to what is on disk. */
147
+ async function moduleFiles(context) {
148
+ if (context.config.blockNames.length === 0 && Object.keys(context.config.appTables).length === 0) return [];
149
+ const access = accessModule(context);
150
+ if (access.kind === "invalid") return [];
151
+ const readSets = context.readSets;
152
+ const skipped = readSets !== void 0 && "skipped" in readSets;
153
+ let rendered;
154
+ try {
155
+ rendered = renderBlocks(context.config.blockNames, await moduleLayoutFor(context.config, {
156
+ names: context.config.blockNames,
157
+ testsDir: context.config.sql.testsDir,
158
+ readSets: skipped ? [] : readSets,
159
+ entitlementsProvider: entitlementsModule(context),
160
+ accessProvider: access.kind === "provider" ? access.access : void 0,
161
+ permissionCatalog: permissionCatalogKeys(context)
162
+ }));
163
+ } catch {
164
+ return [];
165
+ }
166
+ const files = rendered.filter((file) => !(skipped && file.module === "read-sets"));
167
+ if (workflowOf(context) === "migrations") {
168
+ const latest = await latestMigration(context.config, MODULES_SUFFIX);
169
+ const versions = migrationModules(latest?.text ?? "");
170
+ const path = latest?.path ?? `${migrationsDir(context.config)}/<stamp>_better_supabase_modules.sql`;
171
+ return Promise.all(files.map(async (file) => {
172
+ if (file.kind === "test") return fileState(context, file);
173
+ const installed = versions.get(file.instance ?? file.module);
174
+ return {
175
+ file,
176
+ path,
177
+ installed,
178
+ current: latest === void 0 ? void 0 : migrationHolds(latest.text, file.contents) ? file.contents : latest.text,
179
+ behind: file.kind === "schema" && installed !== void 0 && installed < (moduleFileVersion(file.contents)?.version ?? 1)
180
+ };
181
+ }));
182
+ }
183
+ return Promise.all(files.map((file) => fileState(context, file)));
184
+ }
185
+ async function fileState(context, file) {
186
+ const current = await readFile(resolve(context.config.root, file.path), "utf-8").catch(() => void 0);
187
+ const installed = current === void 0 ? void 0 : moduleFileVersion(current)?.version ?? 1;
188
+ return {
189
+ file,
190
+ path: file.path,
191
+ current,
192
+ installed,
193
+ behind: installed !== void 0 && installed < (moduleFileVersion(file.contents)?.version ?? 1)
194
+ };
195
+ }
196
+ //#endregion
197
+ //#region src/cli/doctor/app-table-policies.ts
198
+ /**
199
+ * Block policies (`bsb_*`, permissive) on the app's tables that grant a command
200
+ * more than the app's own permissive policies do. Postgres ORs permissive
201
+ * policies, so a block policy whose condition no app policy repeats can open
202
+ * rows the app's policies keep closed. A command the app has no policy for is
203
+ * the block's to grant.
204
+ */
205
+ function widenedAppTablePolicies(context) {
206
+ const tables = adoptedTables(context.config.blocks, appTablesOf(context));
207
+ if (tables.length === 0) return [];
208
+ const modules = /* @__PURE__ */ new Map();
209
+ for (const table of tables) {
210
+ if (context.config.blocks[table.module]?.ownTablePolicies === "app") continue;
211
+ const target = `${table.schema}.${table.table}`;
212
+ modules.set(target, (modules.get(target) ?? /* @__PURE__ */ new Set()).add(table.module));
213
+ }
214
+ return catalogOf(context).tables.flatMap((table) => {
215
+ const target = qualified(table);
216
+ const owners = modules.get(target);
217
+ if (owners === void 0) return [];
218
+ const permissive = table.policies.filter((policy) => policy.permissive);
219
+ const own = permissive.filter((policy) => !policy.name.startsWith(BLOCK_PREFIX));
220
+ const blocks = [...owners].map((module) => `blocks.${module}`).join(" or ");
221
+ return permissive.filter((policy) => policy.name.startsWith(BLOCK_PREFIX)).flatMap((policy) => {
222
+ const widened = widenedCommands(policy, own);
223
+ if (widened.length === 0) return [];
224
+ const reason = `no policy of the app's for ${widened.join(", ")} reaches its roles with a condition it repeats (alone or with more "and" operands), so it can open rows the app's policies keep closed`;
225
+ return [{
226
+ message: `${blocks} adds policy ${policy.name} on ${target}, and ${reason}. Postgres ORs permissive policies; doctor compares conditions as text and can't prove that one implies another. If the block's condition is what the app means, repeat it in the app's policy; otherwise narrow the permission key it checks, drop ${policy.name} in a schema file that runs after the block's, or set ownTablePolicies: "app" on the block (or in database.sql) so the app's policies alone govern the table.`,
227
+ target: `${target}.${policy.name}`,
228
+ object: {
229
+ kind: "policy",
230
+ schema: table.schema,
231
+ table: table.name,
232
+ name: policy.name
233
+ }
234
+ }];
235
+ });
236
+ });
237
+ }
238
+ async function appTablesWithoutPolicies(context) {
239
+ const states = await moduleFiles(context);
240
+ const left = /* @__PURE__ */ new Map();
241
+ for (const { file } of states) {
242
+ if (file.kind !== "schema") continue;
243
+ for (const note of appTablePolicyNotes(file.contents)) {
244
+ const entry = left.get(note.table) ?? {
245
+ blocks: /* @__PURE__ */ new Set(),
246
+ commands: /* @__PURE__ */ new Set()
247
+ };
248
+ entry.blocks.add(`blocks.${file.instance ?? file.module}`);
249
+ for (const command of note.commands) entry.commands.add(command);
250
+ left.set(note.table, entry);
251
+ }
252
+ }
253
+ if (left.size === 0) return [];
254
+ return catalogOf(context).tables.flatMap((table) => {
255
+ const target = qualified(table);
256
+ const entry = left.get(target);
257
+ if (entry === void 0) return [];
258
+ const missing = [...entry.commands].filter((command) => !table.policies.some((policy) => policy.permissive && (policy.command === "all" || policy.command === command)));
259
+ if (missing.length === 0) return [];
260
+ return [{
261
+ message: `${[...entry.blocks].join(" and ")} leaves the policies on ${target} to the app's (ownTablePolicies "app"), and ${target} ${table.rls ? "has row level security on" : "has row level security off, which the block's file turns on,"} but no permissive policy for ${missing.join(", ")}, which the block's own policies would have granted. Postgres then denies those commands to every caller, so the block's functions that run as the caller and its TypeScript API find no rows for them. Add the app's policy for each command the app uses, or set ownTablePolicies to "block" for this block.`,
262
+ target,
263
+ object: {
264
+ kind: "table",
265
+ schema: table.schema,
266
+ name: table.name
267
+ },
268
+ ...missing.includes("select") ? {} : { severity: "info" }
269
+ }];
270
+ });
271
+ }
272
+ const KEPT_TRIGGER = /^-- (\S+) keeps updated_at current with its own trigger (\S+)\.$/gm;
273
+ /**
274
+ * App tables whose own trigger keeps `updated_at` current, so the block skipped
275
+ * its `bsb_updated_at` trigger there.
276
+ */
277
+ async function keptUpdatedAtTriggers(context) {
278
+ return (await moduleFiles(context)).flatMap(({ file }) => file.kind === "schema" ? [...file.contents.matchAll(KEPT_TRIGGER)].map(([, target = "", trigger = ""]) => {
279
+ const dot = target.indexOf(".");
280
+ return {
281
+ message: `blocks.${file.instance ?? file.module} runs over ${target}, which keeps updated_at current with its own trigger ${trigger}, so the block adds no bsb_updated_at trigger there. Keep ${trigger} firing on update; if you drop it, run \`better-supabase upgrade\` to add the block's.`,
282
+ target,
283
+ object: {
284
+ kind: "table",
285
+ schema: target.slice(0, dot),
286
+ name: target.slice(dot + 1)
287
+ }
288
+ };
289
+ }) : []);
290
+ }
291
+ /**
292
+ * Whether a deprecated table or column name belongs to the app: the app's
293
+ * tables keep the app's names, as custom blocks' tables do.
294
+ */
295
+ function keepsAppsName(context) {
296
+ const adopted = context.config.blockNames.some((name) => moduleDeprecations().some((entry) => entry.module === name && (entry.kind === "table" || entry.kind === "column"))) ? adoptedTables(context.config.blocks, appTablesOf(context)) : [];
297
+ return (entry) => {
298
+ if (entry.kind !== "table" && entry.kind !== "column") return false;
299
+ if ((context.config.blocks[entry.module]?.mode ?? "managed") !== "managed") return true;
300
+ const name = entry.kind === "table" ? entry.symbol.slice(entry.symbol.lastIndexOf(".") + 1) : entry.symbol.slice(0, entry.symbol.indexOf("."));
301
+ return adopted.some((table) => table.module === entry.module && (name === table.logical || name === table.table || name === SQL_MODULES[table.module]?.names?.tables[table.logical]?.name));
302
+ };
303
+ }
304
+ //#endregion
144
305
  //#region src/cli/doctor/adoption.ts
145
306
  const tagText = (notNull) => notNull === true ? "@notNull" : `@notNull(${notNull.join(", ")})`;
146
307
  const sameNotNull = (a, b) => a === true || b === true ? a === b : a !== void 0 && a.length === b.length && a.every((name) => b.includes(name));
@@ -273,6 +434,13 @@ const ADOPTION_RULES = [
273
434
  }));
274
435
  }
275
436
  },
437
+ {
438
+ code: "BS350",
439
+ severity: "warning",
440
+ title: "App table governs its policies but lacks one for a command",
441
+ description: "A block runs over a table of the app's with `ownTablePolicies: \"app\"`, so it adds none of its `bsb_` policies there, and the table has no permissive policy for a command one of those policies would have granted. With row level security on, or off (the block's file turns it on), Postgres denies that command to every caller, so the block's functions that run as the caller and its TypeScript API find no rows for it. A missing `select` policy is a warning, a missing write policy is info. Add the app's own policy for each command the app uses, or set `ownTablePolicies` back to `block` for the block.",
442
+ check: appTablesWithoutPolicies
443
+ },
276
444
  {
277
445
  code: "BS341",
278
446
  severity: "warning",
@@ -1209,131 +1377,6 @@ function skippedForMetadata(snapshot, rule, help) {
1209
1377
  };
1210
1378
  }
1211
1379
  //#endregion
1212
- //#region src/cli/doctor/module-files.ts
1213
- /** The `blocks` files as this release renders them, next to what is on disk. */
1214
- async function moduleFiles(context) {
1215
- if (context.config.blockNames.length === 0 && Object.keys(context.config.appTables).length === 0) return [];
1216
- const access = accessModule(context);
1217
- if (access.kind === "invalid") return [];
1218
- const readSets = context.readSets;
1219
- const skipped = readSets !== void 0 && "skipped" in readSets;
1220
- let rendered;
1221
- try {
1222
- rendered = renderBlocks(context.config.blockNames, await moduleLayoutFor(context.config, {
1223
- names: context.config.blockNames,
1224
- testsDir: context.config.sql.testsDir,
1225
- readSets: skipped ? [] : readSets,
1226
- entitlementsProvider: entitlementsModule(context),
1227
- accessProvider: access.kind === "provider" ? access.access : void 0,
1228
- permissionCatalog: permissionCatalogKeys(context)
1229
- }));
1230
- } catch {
1231
- return [];
1232
- }
1233
- const files = rendered.filter((file) => !(skipped && file.module === "read-sets"));
1234
- if (workflowOf(context) === "migrations") {
1235
- const latest = await latestMigration(context.config, MODULES_SUFFIX);
1236
- const versions = migrationModules(latest?.text ?? "");
1237
- const path = latest?.path ?? `${migrationsDir(context.config)}/<stamp>_better_supabase_modules.sql`;
1238
- return Promise.all(files.map(async (file) => {
1239
- if (file.kind === "test") return fileState(context, file);
1240
- const installed = versions.get(file.instance ?? file.module);
1241
- return {
1242
- file,
1243
- path,
1244
- installed,
1245
- current: latest === void 0 ? void 0 : migrationHolds(latest.text, file.contents) ? file.contents : latest.text,
1246
- behind: file.kind === "schema" && installed !== void 0 && installed < (moduleFileVersion(file.contents)?.version ?? 1)
1247
- };
1248
- }));
1249
- }
1250
- return Promise.all(files.map((file) => fileState(context, file)));
1251
- }
1252
- async function fileState(context, file) {
1253
- const current = await readFile(resolve(context.config.root, file.path), "utf-8").catch(() => void 0);
1254
- const installed = current === void 0 ? void 0 : moduleFileVersion(current)?.version ?? 1;
1255
- return {
1256
- file,
1257
- path: file.path,
1258
- current,
1259
- installed,
1260
- behind: installed !== void 0 && installed < (moduleFileVersion(file.contents)?.version ?? 1)
1261
- };
1262
- }
1263
- //#endregion
1264
- //#region src/cli/doctor/app-table-policies.ts
1265
- /**
1266
- * Block policies (`bsb_*`, permissive) on the app's tables that grant a command
1267
- * more than the app's own permissive policies do. Postgres ORs permissive
1268
- * policies, so a block policy whose condition no app policy repeats can open
1269
- * rows the app's policies keep closed. A command the app has no policy for is
1270
- * the block's to grant.
1271
- */
1272
- function widenedAppTablePolicies(context) {
1273
- const tables = adoptedTables(context.config.blocks, appTablesOf(context));
1274
- if (tables.length === 0) return [];
1275
- const modules = /* @__PURE__ */ new Map();
1276
- for (const table of tables) {
1277
- const target = `${table.schema}.${table.table}`;
1278
- modules.set(target, (modules.get(target) ?? /* @__PURE__ */ new Set()).add(table.module));
1279
- }
1280
- return catalogOf(context).tables.flatMap((table) => {
1281
- const target = qualified(table);
1282
- const owners = modules.get(target);
1283
- if (owners === void 0) return [];
1284
- const permissive = table.policies.filter((policy) => policy.permissive);
1285
- const own = permissive.filter((policy) => !policy.name.startsWith(BLOCK_PREFIX));
1286
- const blocks = [...owners].map((module) => `blocks.${module}`).join(" or ");
1287
- return permissive.filter((policy) => policy.name.startsWith(BLOCK_PREFIX)).flatMap((policy) => {
1288
- const widened = widenedCommands(policy, own);
1289
- if (widened.length === 0) return [];
1290
- const reason = `no policy of the app's for ${widened.join(", ")} reaches its roles with a condition it repeats (alone or with more "and" operands), so it can open rows the app's policies keep closed`;
1291
- return [{
1292
- message: `${blocks} adds policy ${policy.name} on ${target}, and ${reason}. Postgres ORs permissive policies; doctor compares conditions as text and can't prove that one implies another. If the block's condition is what the app means, repeat it in the app's policy; otherwise narrow the permission key it checks, or drop ${policy.name} in a schema file that runs after the block's.`,
1293
- target: `${target}.${policy.name}`,
1294
- object: {
1295
- kind: "policy",
1296
- schema: table.schema,
1297
- table: table.name,
1298
- name: policy.name
1299
- }
1300
- }];
1301
- });
1302
- });
1303
- }
1304
- const KEPT_TRIGGER = /^-- (\S+) keeps updated_at current with its own trigger (\S+)\.$/gm;
1305
- /**
1306
- * App tables whose own trigger keeps `updated_at` current, so the block skipped
1307
- * its `bsb_updated_at` trigger there.
1308
- */
1309
- async function keptUpdatedAtTriggers(context) {
1310
- return (await moduleFiles(context)).flatMap(({ file }) => file.kind === "schema" ? [...file.contents.matchAll(KEPT_TRIGGER)].map(([, target = "", trigger = ""]) => {
1311
- const dot = target.indexOf(".");
1312
- return {
1313
- message: `blocks.${file.instance ?? file.module} runs over ${target}, which keeps updated_at current with its own trigger ${trigger}, so the block adds no bsb_updated_at trigger there. Keep ${trigger} firing on update; if you drop it, run \`better-supabase upgrade\` to add the block's.`,
1314
- target,
1315
- object: {
1316
- kind: "table",
1317
- schema: target.slice(0, dot),
1318
- name: target.slice(dot + 1)
1319
- }
1320
- };
1321
- }) : []);
1322
- }
1323
- /**
1324
- * Whether a deprecated table or column name belongs to the app: the app's
1325
- * tables keep the app's names, as custom blocks' tables do.
1326
- */
1327
- function keepsAppsName(context) {
1328
- const adopted = context.config.blockNames.some((name) => moduleDeprecations().some((entry) => entry.module === name && (entry.kind === "table" || entry.kind === "column"))) ? adoptedTables(context.config.blocks, appTablesOf(context)) : [];
1329
- return (entry) => {
1330
- if (entry.kind !== "table" && entry.kind !== "column") return false;
1331
- if ((context.config.blocks[entry.module]?.mode ?? "managed") !== "managed") return true;
1332
- const name = entry.kind === "table" ? entry.symbol.slice(entry.symbol.lastIndexOf(".") + 1) : entry.symbol.slice(0, entry.symbol.indexOf("."));
1333
- return adopted.some((table) => table.module === entry.module && (name === table.logical || name === table.table || name === SQL_MODULES[table.module]?.names?.tables[table.logical]?.name));
1334
- };
1335
- }
1336
- //#endregion
1337
1380
  //#region src/cli/doctor/attachment-subjects.ts
1338
1381
  /**
1339
1382
  * The attachments subjects as the block resolves them, with the per-subject
@@ -2093,7 +2136,7 @@ const MODULE_RULES = [
2093
2136
  code: "BS347",
2094
2137
  severity: "warning",
2095
2138
  title: "Block policy widens an app table's access",
2096
- description: "A block runs over a table of the app's and adds its own permissive policy there, named `bsb_<table>_<command>` so it never replaces one of the app's. Postgres ORs permissive policies, so when the app has its own policies for that command and none has the same condition (or `true`) for the same roles, the block's policy can let a user reach rows the app's policies keep closed. A block condition that is the app's, or one of its `or` operands, with more `and` operands is narrower and isn't reported, nor is a command the app has no policy for, which is the block's to grant. Doctor compares the conditions as text. When an app policy covers the block's in this sense, `upgrade` leaves the block's policy out. Repeat the block's condition in the app's policy when it is what the app means; otherwise narrow the permission key the block checks, or drop the `bsb_` policy in a schema file that runs after the block's.",
2139
+ description: "A block runs over a table of the app's and adds its own permissive policy there, named `bsb_<table>_<command>` so it never replaces one of the app's. Postgres ORs permissive policies, so when the app has its own policies for that command and none has the same condition (or `true`) for the same roles, the block's policy can let a user reach rows the app's policies keep closed. A block condition that is the app's, or one of its `or` operands, with more `and` operands is narrower and isn't reported, nor is a command the app has no policy for, which is the block's to grant. Doctor compares the conditions as text. When an app policy covers the block's in this sense, `upgrade` leaves the block's policy out. Repeat the block's condition in the app's policy when it is what the app means; otherwise narrow the permission key the block checks, drop the `bsb_` policy in a schema file that runs after the block's, or set `ownTablePolicies: \"app\"` on the block (or in `database.sql`) so the app's policies alone govern the table and the block adds none there.",
2097
2140
  check: widenedAppTablePolicies
2098
2141
  },
2099
2142
  {
@@ -1,4 +1,4 @@
1
- import { p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
1
+ import { p as commandMeta, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
2
  import { n as CliError } from "./errors-BTe6A15O.js";
3
3
  import { r as readIfExists, t as display } from "./io-DH1kcmmP.js";
4
4
  import { n as readStackStatus, t as parseStackStatus } from "./stack-status-B_Ipd_-z.js";
@@ -0,0 +1 @@
1
+ export { n as envCommand } from "./env-BCgVZkcb.js";
@@ -1,21 +1,22 @@
1
- import { a as list, p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
1
+ import { a as list, p as commandMeta, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
2
  import { i as plain } from "./style-Bm2X5JrN.js";
3
3
  import { a as parseNames, i as failedResult, n as CliError } from "./errors-BTe6A15O.js";
4
- import { u as catalogFingerprint } from "./cache-AznIssjI.js";
5
- import { a as serializeSnapshot, g as serializeGenerator, h as restrictSchemas, o as snapshotFile, r as openSource, t as loadSnapshot } from "./snapshot-uTUlEzY2.js";
6
- import { f as dataMigration } from "./module-migration-O_IxewFs.js";
7
- import { d as GEN_TASKS, p as isGenTask } from "./config-9t5ec_N7.js";
4
+ import { u as catalogFingerprint } from "./cache-DE2IH1-C.js";
5
+ import { a as serializeSnapshot, g as serializeGenerator, h as restrictSchemas, o as snapshotFile, r as openSource, t as loadSnapshot } from "./snapshot-BXmU3IXN.js";
6
+ import { n as dataMigration } from "./migrations-BoIyGczt.js";
7
+ import { d as GEN_TASKS, p as isGenTask } from "./config-BJSqMi04.js";
8
8
  import { c as insideRoot, r as applyPlan, u as planResult } from "./files-CX71yBm8.js";
9
- import { n as runGen } from "./run-Bs4OKdDI.js";
10
- import { t as syncModules } from "./sync-CZMRB3aU.js";
11
- import { t as addModules } from "./add-I8OW-qJH.js";
12
- import { n as listModules, t as printModule } from "./print-DosQIFSy.js";
13
- import { a as sourceFlags, i as sourceArgs, n as SOURCE_ARGS } from "./source-args-IpJRJO5t.js";
14
- import { a as runMetadataGen, n as checkMetadataFlags, t as EMITS } from "./metadata-BfgHMe4q.js";
15
- import { a as runEnv } from "./env-BBl5L8Bf.js";
16
- import { c as watchLoop, o as parseInterval, r as specOptionsFromConfig, s as stampFiles, t as runSpec } from "./spec-Cm2einTO.js";
17
- import { t as runSeed } from "./seed-Cz8PcXeT.js";
18
- import { t as upgrade } from "./upgrade-BFEIMC7U.js";
9
+ import { n as runGen } from "./run-jeplMBOK.js";
10
+ import { t as syncModules } from "./sync-s1iKFIos.js";
11
+ import { t as addModules } from "./add-D7YIXslp.js";
12
+ import { n as listModules, t as printModule } from "./print-CRon4lXf.js";
13
+ import { a as sourceFlags, i as sourceArgs, n as SOURCE_ARGS } from "./source-args-DlckPVje.js";
14
+ import { a as runMetadataGen, n as checkMetadataFlags, t as EMITS } from "./metadata-BTihErEc.js";
15
+ import { a as runEnv } from "./env-BCgVZkcb.js";
16
+ import { c as watchLoop, o as parseInterval, r as specOptionsFromConfig, s as stampFiles, t as runSpec } from "./spec-CDxfokey.js";
17
+ import { n as runPowerSync } from "./powersync-D-0yV_L_.js";
18
+ import { t as runSeed } from "./seed-D9mt8bnW.js";
19
+ import { t as upgrade } from "./upgrade-B4FPlK-_.js";
19
20
  import { existsSync } from "node:fs";
20
21
  import { resolve } from "node:path";
21
22
  //#region src/cli/commands/sql.ts
@@ -60,6 +61,7 @@ function configuredTasks(config) {
60
61
  const configured = {
61
62
  types: () => true,
62
63
  sql: () => config.blockNames.length > 0 || config.realtime.policies !== void 0,
64
+ powersync: () => config.gen.powersync !== void 0,
63
65
  spec: () => exists(config.specs.entry),
64
66
  seed: () => exists(config.seed.entry),
65
67
  env: () => false
@@ -75,6 +77,7 @@ function stepInputs(config, tasks) {
75
77
  const inputs = {
76
78
  types: () => [],
77
79
  sql: () => [],
80
+ powersync: () => [],
78
81
  spec: () => [at(config.specs.entry), ...config.specs.outputs.flatMap((output) => (output.overlays ?? []).map(at))],
79
82
  seed: () => [at(config.seed.entry)],
80
83
  env: () => []
@@ -87,6 +90,10 @@ const STEPS = {
87
90
  check,
88
91
  "dry-run": dryRun
89
92
  }, paint),
93
+ powersync: ({ config, check, dryRun }) => runPowerSync(config, {
94
+ check,
95
+ "dry-run": dryRun
96
+ }),
90
97
  spec: ({ config, check, dryRun }) => runSpec(specOptionsFromConfig(config, check ? "check" : "emit", dryRun === true ? { dryRun } : {})),
91
98
  seed: ({ config, check, dryRun, env }) => runSeed(config, {
92
99
  check,
@@ -498,7 +498,7 @@ interface SchemaExtension {
498
498
  * options its TypeScript side reads, for `defineBlocks(blockConfig, ...)`, and
499
499
  * the app table events. `undefined` when the config installs no blocks.
500
500
  */
501
- export declare function emitBlockConfig(config: Pick<ResolvedConfig, "appTables" | "blocks" | "blockNames" | "buckets" | "casing" | "instances" | "output" | "sql" | "subjects">, options?: {
501
+ export declare function emitBlockConfig(config: Pick<ResolvedConfig, "appTables" | "blocks" | "blockNames" | "buckets" | "casing" | "instances" | "output" | "gen" | "sql" | "subjects">, options?: {
502
502
  readonly runtimeImport?: string;
503
503
  }): GeneratedFile | undefined;
504
504
  //#endregion
@@ -798,6 +798,6 @@ export declare function emitModule(model: Model, options: EmitOptions): string;
798
798
  export declare function loadConfig(cwd: string, explicit?: string, environment?: string, path?: string | undefined): Promise<ResolvedConfig>;
799
799
  //#endregion
800
800
  //#region src/cli/version.d.ts
801
- export declare const VERSION = "0.16.0";
801
+ export declare const VERSION = "0.18.0";
802
802
  //#endregion
803
803
  export type { Catalog, CatalogCheck, CatalogColumn, CatalogColumnGrant, CatalogEnum, CatalogForeignKey, CatalogFunction, CatalogFunctionArg, CatalogGrant, CatalogIndex, CatalogPolicy, CatalogTable, CatalogTrigger, CatalogUnique, Choice, Cli, CliArgs, CliCommand, CliCommandDef, CliContext, CliEnv, CliErrorCode, CliErrorOptions, CliIo, CliLog, CliProblem, CliProblemExtensions, CommandResult, CreateCliOptions, ExitCode, ExtrasFunction, ExtrasHook, ExtrasHookFunction, ExtrasTable, ForeignKeyAction, Format, GeneratorMetadata, IntrospectionSource, ManagementSourceOptions, NextStep, Paint, Prompter, Queryable, RunOptions, RunResult, Snapshot, SnapshotBucket, SnapshotExtras };
package/dist/cli/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { a as list, r as defineCliCommand } from "./command-CQ61x6gN.js";
2
- import { i as run, n as createCli, r as help, t as commandNames } from "./run-MRET30vh.js";
3
- import { t as VERSION } from "./version-B2Dr6VmJ.js";
1
+ import { a as list, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
+ import { i as run, n as createCli, r as help, t as commandNames } from "./run-x9ZY4Tm0.js";
3
+ import { t as VERSION } from "./version-TgFM8sOd.js";
4
4
  import { n as CliError, t as CLI_ERRORS_URL } from "./errors-BTe6A15O.js";
5
- import { a as serializeSnapshot, i as parseSnapshot, l as introspect, t as loadSnapshot } from "./snapshot-uTUlEzY2.js";
6
- import { a as emitBlockConfig, l as buildModel, o as GENERATED_HEADER, r as renderFiles, s as emitModule } from "./render-5y5a1QZr.js";
7
- import { a as toCatalog, n as managementSource, r as pgSource } from "./source-D2gJHKwC.js";
8
- import { s as loadConfig } from "./config-9t5ec_N7.js";
9
- import { n as runGen } from "./run-Bs4OKdDI.js";
5
+ import { a as serializeSnapshot, i as parseSnapshot, l as introspect, t as loadSnapshot } from "./snapshot-BXmU3IXN.js";
6
+ import { a as emitBlockConfig, l as buildModel, o as GENERATED_HEADER, r as renderFiles, s as emitModule } from "./render-BJF9ytUi.js";
7
+ import { a as toCatalog, n as managementSource, r as pgSource } from "./source-irttnsEb.js";
8
+ import { s as loadConfig } from "./config-BJSqMi04.js";
9
+ import { n as runGen } from "./run-jeplMBOK.js";
10
10
  //#region src/cli/introspect/from-catalog.ts
11
11
  /**
12
12
  * Builds a snapshot from catalog records: the inverse of `toCatalog`. Tests and
@@ -1,15 +1,15 @@
1
- import { a as list, p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
1
+ import { a as list, p as commandMeta, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
2
  import { i as plain } from "./style-Bm2X5JrN.js";
3
3
  import { n as CliError } from "./errors-BTe6A15O.js";
4
4
  import { r as readIfExists } from "./io-DH1kcmmP.js";
5
- import { l as TYPEGEN_VERSION } from "./cache-AznIssjI.js";
6
- import { a as findConfig, s as loadConfig } from "./config-9t5ec_N7.js";
7
- import { r as contentMapperFiles } from "./content-mapper-DCrz6OIv.js";
5
+ import { l as TYPEGEN_VERSION } from "./cache-DE2IH1-C.js";
6
+ import { a as findConfig, s as loadConfig } from "./config-BJSqMi04.js";
7
+ import { r as contentMapperFiles } from "./content-mapper-CaygHH_k.js";
8
8
  import { i as changeLines, n as PLAN_ARGS, r as applyPlan, u as planResult } from "./files-CX71yBm8.js";
9
- import { C as promptConventions, S as hasConventionFlags, _ as templatePlan, b as conventionFlags, c as AUTHZ_NOTE, d as chooseIntegrations, f as integrationFiles, g as templateContextFor, h as parseIntegrations, i as blocksWiringPath, l as createUrlParam, m as packagesFor, o as writeDesign, p as overwrite, r as blockConfigImport, s as readPresetInput, u as CANCELLED, v as CONVENTION_ARGS, w as withConventions, x as defaultConventions, y as CONVENTION_COMPLETIONS } from "./add-D7TkPdco.js";
10
- import { a as wiringFiles, c as baseFiles, f as needsLib, i as wiringChecklist, m as suggestedIntegrations, n as latestMigrationVersion, o as wiringFor, p as resolveIntegrations, r as configInstances, s as TEMPLATES } from "./migration-safety-BnnXPAro.js";
9
+ import { C as promptConventions, S as hasConventionFlags, _ as templatePlan, b as conventionFlags, c as AUTHZ_NOTE, d as chooseIntegrations, f as integrationFiles, g as templateContextFor, h as parseIntegrations, i as blocksWiringPath, l as createUrlParam, m as packagesFor, o as writeDesign, p as overwrite, r as blockConfigImport, s as readPresetInput, u as CANCELLED, v as CONVENTION_ARGS, w as withConventions, x as defaultConventions, y as CONVENTION_COMPLETIONS } from "./add-B1S3yK4L.js";
10
+ import { a as wiringFiles, c as baseFiles, f as needsLib, i as wiringChecklist, m as suggestedIntegrations, n as latestMigrationVersion, o as wiringFor, p as resolveIntegrations, r as configInstances, s as TEMPLATES } from "./migration-safety-DYo1vVWC.js";
11
11
  import { n as installCommand, t as detectProject } from "./detect-D9JaAX20.js";
12
- import { s as enablePgDelta, t as syncModules } from "./sync-CZMRB3aU.js";
12
+ import { s as enablePgDelta, t as syncModules } from "./sync-s1iKFIos.js";
13
13
  import { existsSync } from "node:fs";
14
14
  import { join, posix, resolve } from "node:path";
15
15
  import { glob, readFile } from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
1
+ import { p as commandMeta, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
2
  import { t as display } from "./io-DH1kcmmP.js";
3
3
  import { m as supabaseDir } from "./supabase-toml-CncmQbO0.js";
4
4
  import { i as changeLines, r as applyPlan } from "./files-CX71yBm8.js";
@@ -1,6 +1,6 @@
1
1
  import { r as errorText } from "./errors-BTe6A15O.js";
2
- import "./source-D2gJHKwC.js";
3
- import { l as tableObject, n as exposed, s as qualified, t as catalogOf } from "./shared-BLqbvY2x.js";
2
+ import "./source-irttnsEb.js";
3
+ import { l as tableObject, n as exposed, s as qualified, t as catalogOf } from "./shared-B38Chjgd.js";
4
4
  //#region src/cli/doctor/reserved-roles.ts
5
5
  /**
6
6
  * Supautils' `reserved_roles` on Supabase. Nobody but a superuser may alter,
@@ -1,6 +1,6 @@
1
- import { p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
2
- import { a as envelope, i as run } from "./run-MRET30vh.js";
3
- import { t as VERSION } from "./version-B2Dr6VmJ.js";
1
+ import { p as commandMeta, r as defineCliCommand } from "./command-BWEEXmtz.js";
2
+ import { a as envelope, i as run } from "./run-x9ZY4Tm0.js";
3
+ import { t as VERSION } from "./version-TgFM8sOd.js";
4
4
  import { n as CliError } from "./errors-BTe6A15O.js";
5
5
  import { n as consentToken } from "./agent-CbuPvI2x.js";
6
6
  import { C as optional, D as record, N as unknown, a as array, d as is, j as string$1, k as safeParse, o as boolean, t as PROCESS_ENV, x as object } from "./env-DMgjB_4y.js";
@@ -1,8 +1,8 @@
1
1
  import { n as CliError, r as errorText } from "./errors-BTe6A15O.js";
2
2
  import { i as readStdin } from "./io-DH1kcmmP.js";
3
- import { m as parseMetadataDocument, u as MetadataRejectedError } from "./snapshot-uTUlEzY2.js";
4
- import { c as metaPaths, n as render } from "./render-5y5a1QZr.js";
5
- import { i as generationNotices, n as runGen, o as fromMetadata, r as UNFORMATTED, t as refuseRowConditionedBuckets } from "./run-Bs4OKdDI.js";
3
+ import { m as parseMetadataDocument, u as MetadataRejectedError } from "./snapshot-BXmU3IXN.js";
4
+ import { c as metaPaths, n as render } from "./render-BJF9ytUi.js";
5
+ import { i as generationNotices, n as runGen, o as fromMetadata, r as UNFORMATTED, t as refuseRowConditionedBuckets } from "./run-jeplMBOK.js";
6
6
  import { basename, join, relative, resolve, sep } from "node:path";
7
7
  import { readFile } from "node:fs/promises";
8
8
  import { jsonSchema, standardSchema, valibot, zod } from "better-supabase/config";
@@ -1,5 +1,5 @@
1
- import { f as INTEGRATIONS } from "./config-9t5ec_N7.js";
2
- import { c as splitStatements } from "./shared-BLqbvY2x.js";
1
+ import { f as INTEGRATIONS } from "./config-BJSqMi04.js";
2
+ import { c as splitStatements } from "./shared-B38Chjgd.js";
3
3
  import { dirname, join, posix } from "node:path";
4
4
  import { readdir } from "node:fs/promises";
5
5
  import { INTEGRATION_INFO, groupEntries } from "better-supabase/config";