better-supabase 0.14.0 → 0.15.1

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 (1643) hide show
  1. package/README.md +67 -377
  2. package/dist/access-sql-B-MkVARa.js +207 -0
  3. package/dist/actor-go7p9-CJ.js +150 -0
  4. package/dist/adapter-Dyks1lX1.js +2299 -0
  5. package/dist/agents-CMIB3802.d.ts +117 -0
  6. package/dist/ai-cache-2LGgaT7F.d.ts +82 -0
  7. package/dist/ai-cache-Cu8j6aQQ.js +87 -0
  8. package/dist/ai-chat-BCaKsvLW.d.ts +619 -0
  9. package/dist/ai-files-CgFCRsnU.js +339 -0
  10. package/dist/ai-schedules-D_Hz-ik5.d.ts +166 -0
  11. package/dist/ai-sdk/agents/index.d.ts +6 -6
  12. package/dist/ai-sdk/agents/index.js +2 -2
  13. package/dist/ai-sdk/batches/index.d.ts +5 -5
  14. package/dist/ai-sdk/batches/index.js +4 -4
  15. package/dist/ai-sdk/cache/index.d.ts +3 -3
  16. package/dist/ai-sdk/cache/index.js +2 -2
  17. package/dist/ai-sdk/chat/index.d.ts +1 -1
  18. package/dist/ai-sdk/chat/index.js +5 -5
  19. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  20. package/dist/ai-sdk/files/index.d.ts +2 -2
  21. package/dist/ai-sdk/files/index.js +5 -5
  22. package/dist/ai-sdk/index.d.ts +10 -10
  23. package/dist/ai-sdk/index.js +3 -3
  24. package/dist/ai-sdk/mcp/index.d.ts +4 -4
  25. package/dist/ai-sdk/mcp/index.js +6 -6
  26. package/dist/ai-sdk/memory/index.d.ts +3 -3
  27. package/dist/ai-sdk/memory/index.js +1 -1
  28. package/dist/ai-sdk/workflow/index.d.ts +4 -4
  29. package/dist/ai-sdk/workflow/index.js +7 -7
  30. package/dist/api-DxAPqMrE.d.ts +495 -0
  31. package/dist/api-keys-D5k63K6y.d.ts +213 -0
  32. package/dist/app-tables-CbCFSXLG.d.ts +28 -0
  33. package/dist/app-tables-D29Rahtg.js +16350 -0
  34. package/dist/approvals-Dh9dUXrN.d.ts +129 -0
  35. package/dist/assistant-ndGdOBax.d.ts +157 -0
  36. package/dist/astro/index.d.ts +12 -12
  37. package/dist/astro/index.js +8 -8
  38. package/dist/attachments-aJYgdYtB.js +369 -0
  39. package/dist/attributes-Bzf51_nc.js +47 -0
  40. package/dist/auth-reply-tlXB2FQ9.js +31 -0
  41. package/dist/authorization-HZdJCaVm.d.ts +3595 -0
  42. package/dist/authorization-hooks-D_pwXlBs.d.ts +221 -0
  43. package/dist/authorizer-B6X09otb.d.ts +118 -0
  44. package/dist/authorizer-BGhXaDmo.js +172 -0
  45. package/dist/automation-D41DXyvT.js +75 -0
  46. package/dist/automations-BYsz43AG.js +314 -0
  47. package/dist/automations-Bc2ue55V.js +26 -0
  48. package/dist/automations-CD1XlL2W.js +33 -0
  49. package/dist/automations-CIwRq7zm.js +30 -0
  50. package/dist/availability-vguUvEK2.d.ts +226 -0
  51. package/dist/better-result/index.d.ts +20 -30
  52. package/dist/better-result/index.js +2 -2
  53. package/dist/bind-h5jre2K0.d.ts +104 -0
  54. package/dist/block-authors-BDV3y1SP.js +14 -0
  55. package/dist/block-env-BrfRvPrj.d.ts +32 -0
  56. package/dist/block-fields-BE7pInWZ.d.ts +58 -0
  57. package/dist/block-fields-DE_FgpOU.js +139 -0
  58. package/dist/block-helpers-CRpAHrp_.d.ts +62 -0
  59. package/dist/block-helpers-CtBdjgO4.js +353 -0
  60. package/dist/block-hooks-BfxX3682.js +130 -0
  61. package/dist/block-hooks-DZN2w69m.d.ts +117 -0
  62. package/dist/block-method-C9hWdHom.js +21 -0
  63. package/dist/block-method-CiVa2G-J.d.ts +14 -0
  64. package/dist/block-subjects-BhDKK_j7.js +55 -0
  65. package/dist/block-subjects-CphkQPxp.d.ts +6 -0
  66. package/dist/block-tenant-DHp7subc.js +14 -0
  67. package/dist/block-transport-DWZSJrwN.d.ts +69 -0
  68. package/dist/blocks/access-requests/index.d.ts +8 -8
  69. package/dist/blocks/access-requests/index.js +6 -6
  70. package/dist/blocks/activities/index.d.ts +215 -0
  71. package/dist/blocks/activities/index.js +414 -0
  72. package/dist/blocks/agents/index.d.ts +4 -4
  73. package/dist/blocks/agents/index.js +5 -5
  74. package/dist/blocks/ai-cache/index.d.ts +3 -3
  75. package/dist/blocks/ai-cache/index.js +3 -3
  76. package/dist/blocks/ai-chat/index.d.ts +119 -6
  77. package/dist/blocks/ai-chat/index.js +1067 -5
  78. package/dist/blocks/ai-files/index.d.ts +5 -5
  79. package/dist/blocks/ai-files/index.js +3 -3
  80. package/dist/blocks/ai-keys/index.d.ts +22 -0
  81. package/dist/blocks/ai-keys/index.js +236 -0
  82. package/dist/blocks/ai-schedules/index.d.ts +10 -0
  83. package/dist/blocks/ai-schedules/index.js +258 -0
  84. package/dist/blocks/announcements/index.d.ts +134 -5
  85. package/dist/blocks/announcements/index.js +179 -4
  86. package/dist/blocks/api-keys/index.d.ts +69 -8
  87. package/dist/blocks/api-keys/index.js +417 -7
  88. package/dist/blocks/approvals/index.d.ts +4 -4
  89. package/dist/blocks/approvals/index.js +10 -10
  90. package/dist/blocks/assets/index.d.ts +11 -13
  91. package/dist/blocks/assets/index.js +10 -10
  92. package/dist/blocks/assignment/index.d.ts +8 -8
  93. package/dist/blocks/assignment/index.js +5 -5
  94. package/dist/blocks/attachments/index.d.ts +97 -12
  95. package/dist/blocks/attachments/index.js +279 -47
  96. package/dist/blocks/audit/index.d.ts +476 -7
  97. package/dist/blocks/audit/index.js +863 -6
  98. package/dist/blocks/automations/index.d.ts +524 -0
  99. package/dist/blocks/automations/index.js +553 -0
  100. package/dist/blocks/billable-time/index.d.ts +22 -24
  101. package/dist/blocks/billable-time/index.js +13 -13
  102. package/dist/blocks/billing/index.d.ts +82 -11
  103. package/dist/blocks/billing/index.js +93 -9
  104. package/dist/blocks/bookings/index.d.ts +49 -7
  105. package/dist/blocks/bookings/index.js +419 -4
  106. package/dist/blocks/bulk/index.d.ts +6 -6
  107. package/dist/blocks/bulk/index.js +4 -4
  108. package/dist/blocks/calendar/index.d.ts +180 -7
  109. package/dist/blocks/calendar/index.js +1073 -5
  110. package/dist/blocks/catalog/index.d.ts +128 -13
  111. package/dist/blocks/catalog/index.js +149 -13
  112. package/dist/blocks/channels/index.d.ts +15 -13
  113. package/dist/blocks/channels/index.js +12 -13
  114. package/dist/blocks/collections/index.d.ts +16 -16
  115. package/dist/blocks/collections/index.js +8 -8
  116. package/dist/blocks/comments/index.d.ts +231 -14
  117. package/dist/blocks/comments/index.js +260 -13
  118. package/dist/blocks/compliance/index.d.ts +325 -0
  119. package/dist/blocks/compliance/index.js +410 -0
  120. package/dist/blocks/connectors/index.d.ts +4 -4
  121. package/dist/blocks/connectors/index.js +8 -8
  122. package/dist/blocks/contacts/index.d.ts +182 -0
  123. package/dist/blocks/contacts/index.js +358 -0
  124. package/dist/blocks/content/index.d.ts +188 -0
  125. package/dist/blocks/content/index.js +219 -0
  126. package/dist/blocks/contracts/index.d.ts +16 -18
  127. package/dist/blocks/contracts/index.js +24 -24
  128. package/dist/blocks/courses/index.d.ts +17 -17
  129. package/dist/blocks/courses/index.js +13 -13
  130. package/dist/blocks/created-by/index.d.ts +27 -0
  131. package/dist/blocks/created-by/index.js +14 -0
  132. package/dist/blocks/custom-fields/index.d.ts +11 -11
  133. package/dist/blocks/custom-fields/index.js +7 -7
  134. package/dist/blocks/data-lifecycle/index.d.ts +9 -9
  135. package/dist/blocks/data-lifecycle/index.js +7 -7
  136. package/dist/blocks/deals/index.d.ts +10 -10
  137. package/dist/blocks/deals/index.js +11 -11
  138. package/dist/blocks/dispatch/index.d.ts +20 -22
  139. package/dist/blocks/dispatch/index.js +17 -17
  140. package/dist/blocks/documents/index.d.ts +4 -4
  141. package/dist/blocks/documents/index.js +4 -4
  142. package/dist/blocks/domains/index.d.ts +7 -7
  143. package/dist/blocks/domains/index.js +6 -6
  144. package/dist/blocks/donations/index.d.ts +27 -29
  145. package/dist/blocks/donations/index.js +36 -28
  146. package/dist/blocks/drive/index.d.ts +10 -10
  147. package/dist/blocks/drive/index.js +8 -8
  148. package/dist/blocks/employees/index.d.ts +204 -7
  149. package/dist/blocks/employees/index.js +36 -10
  150. package/dist/blocks/enrichment/index.d.ts +7 -7
  151. package/dist/blocks/enrichment/index.js +14 -6
  152. package/dist/blocks/enrollments/index.d.ts +14 -16
  153. package/dist/blocks/enrollments/index.js +10 -10
  154. package/dist/blocks/entitlements/index.d.ts +48 -8
  155. package/dist/blocks/entitlements/index.js +62 -4
  156. package/dist/blocks/expenses/index.d.ts +8 -8
  157. package/dist/blocks/expenses/index.js +11 -11
  158. package/dist/blocks/field-history/index.d.ts +5 -5
  159. package/dist/blocks/field-history/index.js +3 -5
  160. package/dist/blocks/flags/index.d.ts +17 -13
  161. package/dist/blocks/flags/index.js +7 -7
  162. package/dist/blocks/forecasts/index.d.ts +7 -7
  163. package/dist/blocks/forecasts/index.js +7 -7
  164. package/dist/blocks/forms/index.d.ts +144 -12
  165. package/dist/blocks/forms/index.js +385 -7
  166. package/dist/blocks/goals/index.d.ts +82 -0
  167. package/dist/blocks/goals/index.js +72 -0
  168. package/dist/blocks/guests/index.d.ts +19 -21
  169. package/dist/blocks/guests/index.js +12 -12
  170. package/dist/blocks/hiring/index.d.ts +20 -10
  171. package/dist/blocks/hiring/index.js +10 -9
  172. package/dist/blocks/identities/index.d.ts +7 -7
  173. package/dist/blocks/identities/index.js +4 -4
  174. package/dist/blocks/imports/index.d.ts +8 -8
  175. package/dist/blocks/imports/index.js +6 -6
  176. package/dist/blocks/inbox/index.d.ts +137 -8
  177. package/dist/blocks/inbox/index.js +290 -56
  178. package/dist/blocks/incidents/index.d.ts +8 -8
  179. package/dist/blocks/incidents/index.js +7 -7
  180. package/dist/blocks/index.d.ts +37 -18
  181. package/dist/blocks/index.js +40 -19
  182. package/dist/blocks/inventory/index.d.ts +10 -10
  183. package/dist/blocks/inventory/index.js +6 -6
  184. package/dist/blocks/invoices/index.d.ts +11 -11
  185. package/dist/blocks/invoices/index.js +8 -8
  186. package/dist/blocks/knowledge/index.d.ts +3 -3
  187. package/dist/blocks/knowledge/index.js +4 -4
  188. package/dist/blocks/lead-scoring/index.d.ts +11 -11
  189. package/dist/blocks/lead-scoring/index.js +7 -7
  190. package/dist/blocks/leases/index.d.ts +16 -73
  191. package/dist/blocks/leases/index.js +29 -104
  192. package/dist/blocks/leave/index.d.ts +8 -8
  193. package/dist/blocks/leave/index.js +5 -5
  194. package/dist/blocks/ledger/index.d.ts +11 -13
  195. package/dist/blocks/ledger/index.js +10 -10
  196. package/dist/blocks/mail-sync/index.d.ts +6 -6
  197. package/dist/blocks/mail-sync/index.js +18 -10
  198. package/dist/blocks/memberships/index.d.ts +67 -0
  199. package/dist/blocks/memberships/index.js +14 -0
  200. package/dist/blocks/memory/index.d.ts +4 -4
  201. package/dist/blocks/memory/index.js +8 -8
  202. package/dist/blocks/messaging/index.d.ts +113 -13
  203. package/dist/blocks/messaging/index.js +579 -8
  204. package/dist/blocks/metrics/index.d.ts +7 -7
  205. package/dist/blocks/metrics/index.js +6 -6
  206. package/dist/blocks/mfa/index.d.ts +145 -3
  207. package/dist/blocks/mfa/index.js +211 -2
  208. package/dist/blocks/moderation/index.d.ts +13 -15
  209. package/dist/blocks/moderation/index.js +10 -10
  210. package/dist/blocks/notifications/index.d.ts +67 -15
  211. package/dist/blocks/notifications/index.js +62 -13
  212. package/dist/blocks/numbering/index.d.ts +45 -0
  213. package/dist/blocks/numbering/index.js +49 -0
  214. package/dist/blocks/oauth-server/index.d.ts +6 -6
  215. package/dist/blocks/oauth-server/index.js +6 -6
  216. package/dist/blocks/onboarding/index.d.ts +112 -4
  217. package/dist/blocks/onboarding/index.js +107 -4
  218. package/dist/blocks/orders/index.d.ts +35 -14
  219. package/dist/blocks/orders/index.js +49 -12
  220. package/dist/blocks/organizations/index.d.ts +452 -6
  221. package/dist/blocks/organizations/index.js +689 -5
  222. package/dist/blocks/outbox/index.d.ts +4 -4
  223. package/dist/blocks/outbox/index.js +19 -6
  224. package/dist/blocks/passes/index.d.ts +19 -21
  225. package/dist/blocks/passes/index.js +17 -17
  226. package/dist/blocks/permissions/index.d.ts +92 -0
  227. package/dist/blocks/permissions/index.js +127 -0
  228. package/dist/blocks/pipelines/index.d.ts +15 -15
  229. package/dist/blocks/pipelines/index.js +12 -12
  230. package/dist/blocks/posts/index.d.ts +9 -9
  231. package/dist/blocks/posts/index.js +8 -8
  232. package/dist/blocks/profiles/index.d.ts +7 -7
  233. package/dist/blocks/profiles/index.js +5 -5
  234. package/dist/blocks/promotions/index.d.ts +9 -9
  235. package/dist/blocks/promotions/index.js +7 -7
  236. package/dist/blocks/push/index.d.ts +9 -9
  237. package/dist/blocks/push/index.js +4 -4
  238. package/dist/blocks/queue/index.d.ts +562 -0
  239. package/dist/blocks/queue/index.js +1407 -0
  240. package/dist/blocks/quotes/index.d.ts +29 -14
  241. package/dist/blocks/quotes/index.js +14 -13
  242. package/dist/blocks/rank/index.d.ts +7 -7
  243. package/dist/blocks/rank/index.js +4 -4
  244. package/dist/blocks/reactions/index.d.ts +154 -5
  245. package/dist/blocks/reactions/index.js +168 -4
  246. package/dist/blocks/relations/index.d.ts +36 -38
  247. package/dist/blocks/relations/index.js +18 -18
  248. package/dist/blocks/reminders/index.d.ts +16 -16
  249. package/dist/blocks/reminders/index.js +14 -14
  250. package/dist/blocks/reviews/index.d.ts +8 -8
  251. package/dist/blocks/reviews/index.js +6 -6
  252. package/dist/blocks/saved-views/index.d.ts +311 -4
  253. package/dist/blocks/saved-views/index.js +437 -2
  254. package/dist/blocks/scores/index.d.ts +8 -10
  255. package/dist/blocks/scores/index.js +10 -10
  256. package/dist/blocks/search/index.d.ts +168 -5
  257. package/dist/blocks/search/index.js +277 -5
  258. package/dist/blocks/security-events/index.d.ts +440 -0
  259. package/dist/blocks/security-events/index.js +885 -0
  260. package/dist/blocks/segments/index.d.ts +13 -13
  261. package/dist/blocks/segments/index.js +7 -7
  262. package/dist/blocks/sequences/index.d.ts +13 -13
  263. package/dist/blocks/sequences/index.js +16 -10
  264. package/dist/blocks/service-accounts/index.d.ts +132 -0
  265. package/dist/blocks/service-accounts/index.js +109 -0
  266. package/dist/blocks/sessions/index.d.ts +138 -3
  267. package/dist/blocks/sessions/index.js +173 -2
  268. package/dist/blocks/settings/index.d.ts +181 -5
  269. package/dist/blocks/settings/index.js +226 -4
  270. package/dist/blocks/share-links/index.d.ts +20 -22
  271. package/dist/blocks/share-links/index.js +16 -16
  272. package/dist/blocks/shipments/index.d.ts +23 -25
  273. package/dist/blocks/shipments/index.js +30 -22
  274. package/dist/blocks/signatures/index.d.ts +9 -9
  275. package/dist/blocks/signatures/index.js +5 -5
  276. package/dist/blocks/signing-keys/index.d.ts +4 -4
  277. package/dist/blocks/signing-keys/index.js +3 -3
  278. package/dist/blocks/sla/index.d.ts +20 -22
  279. package/dist/blocks/sla/index.js +22 -16
  280. package/dist/blocks/sso/index.d.ts +7 -7
  281. package/dist/blocks/sso/index.js +4 -4
  282. package/dist/blocks/state-machine/index.d.ts +14 -14
  283. package/dist/blocks/state-machine/index.js +4 -4
  284. package/dist/blocks/subjects/index.d.ts +41 -7
  285. package/dist/blocks/subjects/index.js +187 -5
  286. package/dist/blocks/tags/index.d.ts +146 -13
  287. package/dist/blocks/tags/index.js +229 -14
  288. package/dist/blocks/tasks/index.d.ts +346 -0
  289. package/dist/blocks/tasks/index.js +626 -0
  290. package/dist/blocks/teams/index.d.ts +7 -7
  291. package/dist/blocks/teams/index.js +4 -4
  292. package/dist/blocks/templates/index.d.ts +18 -18
  293. package/dist/blocks/templates/index.js +10 -10
  294. package/dist/blocks/time-tracking/index.d.ts +16 -16
  295. package/dist/blocks/time-tracking/index.js +13 -13
  296. package/dist/blocks/timeline/index.d.ts +116 -0
  297. package/dist/blocks/timeline/index.js +164 -0
  298. package/dist/blocks/trash/index.d.ts +47 -9
  299. package/dist/blocks/trash/index.js +9 -7
  300. package/dist/blocks/undo/index.d.ts +48 -5
  301. package/dist/blocks/undo/index.js +60 -4
  302. package/dist/blocks/updated-at/index.d.ts +20 -0
  303. package/dist/blocks/updated-at/index.js +14 -0
  304. package/dist/blocks/usage/index.d.ts +39 -5
  305. package/dist/blocks/usage/index.js +301 -4
  306. package/dist/blocks/vercel-marketplace/index.d.ts +7 -7
  307. package/dist/blocks/vercel-marketplace/index.js +8 -8
  308. package/dist/blocks/versions/index.d.ts +20 -22
  309. package/dist/blocks/versions/index.js +16 -16
  310. package/dist/blocks/waitlist/index.d.ts +9 -9
  311. package/dist/blocks/waitlist/index.js +5 -5
  312. package/dist/blocks/webhooks/index.d.ts +21 -21
  313. package/dist/blocks/webhooks/index.js +16 -16
  314. package/dist/blocks/workflow-editor/index.d.ts +99 -0
  315. package/dist/blocks/workflow-editor/index.js +744 -0
  316. package/dist/blocks/workflows/index.d.ts +72 -6
  317. package/dist/blocks/workflows/index.js +379 -4
  318. package/dist/bookings-Dox2rced.d.ts +290 -0
  319. package/dist/bucket-CiNi8sIw.d.ts +666 -0
  320. package/dist/build-BFC8nFiL.js +797 -0
  321. package/dist/build-QitPVzzO.js +2073 -0
  322. package/dist/carrier-KzeYXVrW.d.ts +169 -0
  323. package/dist/chat-sdk/index.d.ts +8 -8
  324. package/dist/chat-sdk/index.js +3 -3
  325. package/dist/claims-DTy6R6my.js +63 -0
  326. package/dist/cli/add-C04vkBk9.js +99 -0
  327. package/dist/cli/add-CUH0rORo.js +1 -0
  328. package/dist/cli/add-DNOL9PDu.js +1257 -0
  329. package/dist/cli/args-UEwg0l-N.js +27 -0
  330. package/dist/cli/backfill-VFzf-TJP.js +293 -0
  331. package/dist/cli/bin.js +1 -1
  332. package/dist/cli/blocks-Bn7WUca5.js +1 -0
  333. package/dist/cli/blocks-Cb7mILFU.js +156 -0
  334. package/dist/cli/cache-DkplpIGe.js +607 -0
  335. package/dist/cli/codemod-BbaE5dL_.js +2435 -0
  336. package/dist/cli/codemod-block-renames-BuSaTE_G.js +239 -0
  337. package/dist/cli/command-CQ61x6gN.js +941 -0
  338. package/dist/cli/completion-2Y3D_eNu.js +211 -0
  339. package/dist/cli/completion-BwI0_Ap5.js +30 -0
  340. package/dist/cli/completion-Dlu5AdUW.js +1 -0
  341. package/dist/cli/config-9t5ec_N7.js +1642 -0
  342. package/dist/cli/config-CBqkQjjN.js +1 -0
  343. package/dist/cli/config-CPux9Wa7.js +47 -0
  344. package/dist/cli/config-edit-CrWfk8s3.js +621 -0
  345. package/dist/cli/config-group-C8tjut39.js +391 -0
  346. package/dist/cli/content-mapper-Cdx6arxu.js +182 -0
  347. package/dist/cli/db-DrBI_HNv.js +223 -0
  348. package/dist/cli/detect-D9JaAX20.js +84 -0
  349. package/dist/cli/dist-D_VbPAMR.js +129 -0
  350. package/dist/cli/doctor-C-VO-QQ2.js +4576 -0
  351. package/dist/cli/env-BBl5L8Bf.js +143 -0
  352. package/dist/cli/env-CAU1nknN.js +1 -0
  353. package/dist/cli/files-CX71yBm8.js +1010 -0
  354. package/dist/cli/gen-yRHOHW1b.js +387 -0
  355. package/dist/cli/in-stack-diff-DQTW53Vf.js +257 -0
  356. package/dist/cli/index.d.ts +43 -8
  357. package/dist/cli/index.js +8 -8
  358. package/dist/cli/init-BOw0SX65.js +440 -0
  359. package/dist/cli/keys-DGEpMbeB.js +106 -0
  360. package/dist/cli/legacy-prefix-DkTA3Rhx.js +141 -0
  361. package/dist/cli/live-Lmg-hYyO.js +341 -0
  362. package/dist/cli/mcp-DQ1zR2eA.js +249 -0
  363. package/dist/cli/metadata-CZaxkv21.js +150 -0
  364. package/dist/cli/migration-safety-BbhLu2fo.js +928 -0
  365. package/dist/cli/module-migration-DOn6EmNz.js +523 -0
  366. package/dist/cli/moved-CsfDQcyk.js +254 -0
  367. package/dist/cli/orphans-BAboqyVM.js +28 -0
  368. package/dist/cli/parse-B9Iv_-Pf.js +182 -0
  369. package/dist/cli/preset-BwmIfFnh.js +101 -0
  370. package/dist/cli/print-D_xf8PPj.js +67 -0
  371. package/dist/cli/remove-BY_TOTRj.js +239 -0
  372. package/dist/cli/render-lJmHr0y9.js +2170 -0
  373. package/dist/cli/run-BJ6IMs_H.js +1440 -0
  374. package/dist/cli/run-BXx6D1aR.js +63 -0
  375. package/dist/cli/run-DkB0fhc9.js +702 -0
  376. package/dist/cli/seed-Cz8PcXeT.js +188 -0
  377. package/dist/cli/seed-D6XijwbR.js +1 -0
  378. package/dist/cli/shared-Bh-6IqJS.js +151 -0
  379. package/dist/cli/skills-toUan_OV.js +121 -0
  380. package/dist/cli/snapshot-Bzcigm7T.js +729 -0
  381. package/dist/cli/source-WoLdcQzN.js +320 -0
  382. package/dist/cli/source-args-IpJRJO5t.js +59 -0
  383. package/dist/cli/spec-BF_dpwzW.js +1 -0
  384. package/dist/cli/spec-CZMiLhv_.js +7530 -0
  385. package/dist/cli/sql-layout-rFP0oq1N.js +247 -0
  386. package/dist/cli/stack-CWEHdO0b.js +135 -0
  387. package/dist/cli/sync-mANmYYoL.js +320 -0
  388. package/dist/cli/upgrade-B0Q9wMs-.js +270 -0
  389. package/dist/cli/upgrade-BrNLt92u.js +41 -0
  390. package/dist/cli/version-CyavsyGA.js +4 -0
  391. package/dist/client/index.d.ts +8 -7
  392. package/dist/client/index.js +9 -7
  393. package/dist/client/native/index.d.ts +6 -6
  394. package/dist/client/native/index.js +3 -3
  395. package/dist/client-BAEbEA7t.js +287 -0
  396. package/dist/cloud-event-CzZTJkXv.d.ts +64 -0
  397. package/dist/codecs-CMWlhHZ0.d.ts +222 -0
  398. package/dist/codecs-TylXqU_I.js +358 -0
  399. package/dist/commerce/index.d.ts +3 -3
  400. package/dist/commerce/index.js +6 -6
  401. package/dist/compiler-D3UmE7ao.d.ts +14 -0
  402. package/dist/compose-DKW0Tr3e.js +53 -0
  403. package/dist/composite-B3TIjId4.js +130 -0
  404. package/dist/composite-BZYXlVBN.d.ts +82 -0
  405. package/dist/config/index.d.ts +6 -7
  406. package/dist/config/index.js +6 -6
  407. package/dist/config-CcehOvbz.js +1698 -0
  408. package/dist/config-DWGgUQCh.js +1108 -0
  409. package/dist/connectors-Fud4amxp.d.ts +147 -0
  410. package/dist/context-DBicfUNz.js +41 -0
  411. package/dist/context-TGX2eDS5.d.ts +4151 -0
  412. package/dist/controller-BNZKd6bJ.js +73 -0
  413. package/dist/controller-DyPPMFSw.d.ts +52 -0
  414. package/dist/conversion-Dq1S7xzE.js +77 -0
  415. package/dist/conversion-O-kyhXcC.d.ts +86 -0
  416. package/dist/create/index.d.ts +19 -21
  417. package/dist/create/index.js +21 -22
  418. package/dist/create/lite/index.d.ts +2 -2
  419. package/dist/create/supabase/index.d.ts +2 -2
  420. package/dist/create/supabase/index.js +2 -2
  421. package/dist/create-blocks-Bu4H5TXw.js +352 -0
  422. package/dist/credentials/index.d.ts +5 -5
  423. package/dist/credentials/index.js +6 -6
  424. package/dist/cron-CgHTKwYG.js +148 -0
  425. package/dist/cron-route-UU9i5i9J.js +24 -0
  426. package/dist/data-engine-BWoz9lED.d.ts +273 -0
  427. package/dist/data-engine-D1BkmBoR.js +173 -0
  428. package/dist/data-hooks-tgF1Ct0F.js +280 -0
  429. package/dist/db-blocks-DJGbjIPz.js +62 -0
  430. package/dist/deal-forecast-Bv52QMyX.js +39 -0
  431. package/dist/define-DFBnQyYg.d.ts +1255 -0
  432. package/dist/define-DlUeKHce.js +2011 -0
  433. package/dist/define-block-BGqOO8B3.js +64 -0
  434. package/dist/define-block-DvvcM54N.d.ts +1657 -0
  435. package/dist/delegation-C7eWP2r8.d.ts +14 -0
  436. package/dist/delegation-DGOIiT8k.js +153 -0
  437. package/dist/documents-Cup1rpjF.d.ts +152 -0
  438. package/dist/edge/index.d.ts +20 -20
  439. package/dist/edge/index.js +14 -14
  440. package/dist/elysia/index.d.ts +1 -1
  441. package/dist/elysia/index.js +1 -1
  442. package/dist/embeddings-D_RsS6ow.d.ts +78 -0
  443. package/dist/ended-gUsMZVNg.d.ts +26 -0
  444. package/dist/entitlements-BnhDBxLW.d.ts +54 -0
  445. package/dist/entitlements-NZAE_vLj.js +45 -0
  446. package/dist/entity-naming-Dtyq5sKE.js +131 -0
  447. package/dist/entity-schema-BDv6w-OQ.js +39 -0
  448. package/dist/envelope-DEI2iX-d.js +90 -0
  449. package/dist/errors-BVFgt8BZ.js +328 -0
  450. package/dist/errors-CyxMxzlu.js +44 -0
  451. package/dist/escape-like-PReMbEEU.d.ts +30 -0
  452. package/dist/eve/index.d.ts +5 -5
  453. package/dist/eve/index.js +3 -3
  454. package/dist/eve-B7jxYPCw.d.ts +157 -0
  455. package/dist/event-calendar-DCufbihU.d.ts +65 -0
  456. package/dist/events/index.d.ts +3 -4
  457. package/dist/events-vcqenSYU.d.ts +852 -0
  458. package/dist/executor-3qcMhg6R.js +207 -0
  459. package/dist/executor-BQ7dYw4E.js +843 -0
  460. package/dist/executor-Bi056Cnj.d.ts +104 -0
  461. package/dist/executor-CVIn6JHa.d.ts +174 -0
  462. package/dist/executor-D3gB-9si.js +486 -0
  463. package/dist/executor-hGjrop3A.d.ts +37 -0
  464. package/dist/expo/index.d.ts +12 -11
  465. package/dist/expo/index.js +11 -10
  466. package/dist/extension-B-lajjex.js +58 -0
  467. package/dist/extension-B0EjCYhO.js +61 -0
  468. package/dist/extension-DeAd_MqI.js +121 -0
  469. package/dist/extension-DzCc0IOd.js +103 -0
  470. package/dist/extension-shared-Djm8mGHD.js +60 -0
  471. package/dist/field-errors-DYtg1mwv.d.ts +216 -0
  472. package/dist/field-formats-CAFNkKSN.d.ts +38 -0
  473. package/dist/fields-B0zaJAO3.js +107 -0
  474. package/dist/fields-C3q2ypnO.d.ts +78 -0
  475. package/dist/filter-evaluate-CPxeae5X.d.ts +37 -0
  476. package/dist/filter-evaluate-w1XOIUOL.js +217 -0
  477. package/dist/filter-query-BXLs72G9.d.ts +133 -0
  478. package/dist/filter-query-DMoKo82_.js +566 -0
  479. package/dist/flags-BOdA_ETQ.js +279 -0
  480. package/dist/flags-C01PLMJ-.d.ts +246 -0
  481. package/dist/flags-sdk/index.d.ts +1 -1
  482. package/dist/flags-sdk/index.js +2 -2
  483. package/dist/format-u-65igKI.d.ts +79 -0
  484. package/dist/framework-BozTXRzt.js +58 -0
  485. package/dist/framework-h5lP_5yj.d.ts +47 -0
  486. package/dist/function-contract-DxFNOmsm.d.ts +27 -0
  487. package/dist/gateway-DzI687yd.d.ts +115 -0
  488. package/dist/h3/index.d.ts +2 -4
  489. package/dist/h3/index.js +2 -4
  490. package/dist/h3/v1/index.d.ts +2 -3
  491. package/dist/h3/v1/index.js +2 -3
  492. package/dist/hono/index.d.ts +27 -21
  493. package/dist/hono/index.js +22 -20
  494. package/dist/http-7-UvHjQe.js +28 -0
  495. package/dist/impersonation-DM3oWNoD.js +62 -0
  496. package/dist/inbox-NDKwSk_H.d.ts +321 -0
  497. package/dist/index-Ab4UeEn_.d.ts +633 -0
  498. package/dist/index-B4gcStOz.d.ts +158 -0
  499. package/dist/index-BAHGLvGD.d.ts +262 -0
  500. package/dist/index-BfK6olKm.d.ts +546 -0
  501. package/dist/index-BfkltrGJ.d.ts +588 -0
  502. package/dist/index-BxYOB1Oc.d.ts +149 -0
  503. package/dist/index-CG9rA8H8.d.ts +407 -0
  504. package/dist/index-DN9mfmhA.d.ts +188 -0
  505. package/dist/index-Do2ChN_y.d.ts +287 -0
  506. package/dist/index.d.ts +39 -17
  507. package/dist/index.js +94 -16
  508. package/dist/instances-BHjCZoF8.js +277 -0
  509. package/dist/invalidate-DMp4eqfF.d.ts +21 -0
  510. package/dist/json-schema-Ca6gYbEP.js +888 -0
  511. package/dist/jwks-cache-DEsKI0hJ.js +49 -0
  512. package/dist/kit-5l-o8RxL.js +133 -0
  513. package/dist/kit-DOwKpSkA.d.ts +94 -0
  514. package/dist/knowledge-BGbtxMP9.js +300 -0
  515. package/dist/knowledge-F1IhRI4Q.d.ts +217 -0
  516. package/dist/lint/index.d.ts +94 -11
  517. package/dist/lint/index.js +268 -26
  518. package/dist/list/index.d.ts +4 -4
  519. package/dist/list/index.js +3 -3
  520. package/dist/list-query-BDVutLFr.d.ts +222 -0
  521. package/dist/list-query-BKy2zBaT.js +559 -0
  522. package/dist/live-C21DgbsD.js +275 -0
  523. package/dist/mapper/bin.js +380 -0
  524. package/dist/mcp/index.d.ts +8 -8
  525. package/dist/mcp/index.js +11 -11
  526. package/dist/mcp/sdk/index.d.ts +10 -10
  527. package/dist/mcp/sdk/index.js +11 -11
  528. package/dist/messages-D4XWuRTj.js +492 -0
  529. package/dist/messaging-C_Pr9tGx.d.ts +297 -0
  530. package/dist/methods-B3o7BFOW.js +11 -0
  531. package/dist/mfa-oIOYTpvc.d.ts +36 -0
  532. package/dist/model-hwpvole9.d.ts +340 -0
  533. package/dist/model-messages-CKG0zwdF.js +206 -0
  534. package/dist/money-codec-BzddguAQ.js +41 -0
  535. package/dist/nestjs/index.d.ts +3 -3
  536. package/dist/nestjs/index.js +2 -2
  537. package/dist/next/index.d.ts +244 -205
  538. package/dist/next/index.js +288 -197
  539. package/dist/node/index.d.ts +2 -2
  540. package/dist/node/index.js +6 -8
  541. package/dist/operations-CSc_IsHO.d.ts +6 -0
  542. package/dist/options-0qvUckqt.js +9 -0
  543. package/dist/options-1GgseJq5.js +10 -0
  544. package/dist/options-21s0dpnX.js +9 -0
  545. package/dist/options-B-cxGmRA.js +5 -0
  546. package/dist/options-B0EJULm5.js +5 -0
  547. package/dist/options-B2swWnJW.js +9 -0
  548. package/dist/options-BMGClqoa.js +11 -0
  549. package/dist/options-BQIYfx9F.js +9 -0
  550. package/dist/options-BVg58avP.js +5 -0
  551. package/dist/options-BbnPv6p7.js +12 -0
  552. package/dist/options-BfLmA375.js +5 -0
  553. package/dist/options-BlncUmIc.js +9 -0
  554. package/dist/options-BlzSfWxC.d.ts +10 -0
  555. package/dist/options-BnZS7IK-.js +9 -0
  556. package/dist/options-Bt0bYMLl.js +24 -0
  557. package/dist/options-BvtnxHfK.js +24 -0
  558. package/dist/options-C-dQHH5-.js +8 -0
  559. package/dist/options-C3RgtOLo.js +5 -0
  560. package/dist/options-CE93HOYi.d.ts +7 -0
  561. package/dist/options-CM6-18FQ.d.ts +13 -0
  562. package/dist/options-CPK2nQER.js +5 -0
  563. package/dist/options-CRz8Ht_4.js +9 -0
  564. package/dist/options-CW9wTqOk.js +11 -0
  565. package/dist/options-Cl9Ag2Pt.js +8 -0
  566. package/dist/options-Cp0HyUEk.js +9 -0
  567. package/dist/options-Cqq2jUww.js +10 -0
  568. package/dist/options-CsGl5BLH.d.ts +52 -0
  569. package/dist/options-CtUUU71w.js +20 -0
  570. package/dist/options-CvD9vNvx.js +9 -0
  571. package/dist/options-CyAhRKKm.d.ts +14 -0
  572. package/dist/options-D0G06Zm9.js +8 -0
  573. package/dist/options-D6as77gU.d.ts +16 -0
  574. package/dist/options-DChZoVfs.d.ts +11 -0
  575. package/dist/options-DINdgVih.d.ts +9 -0
  576. package/dist/options-DPgdAXO5.js +11 -0
  577. package/dist/options-DWVYM8P0.d.ts +17 -0
  578. package/dist/options-DWbA9buW.js +9 -0
  579. package/dist/options-DXnBN2E7.js +8 -0
  580. package/dist/options-D_bBVCXg.js +5 -0
  581. package/dist/options-DcOx8_3X.d.ts +19 -0
  582. package/dist/options-DeNejBtq.js +8 -0
  583. package/dist/options-DgQo80Xh.js +5 -0
  584. package/dist/options-DplE18Ko.d.ts +12 -0
  585. package/dist/options-HLwOuF2H.js +10 -0
  586. package/dist/options-KV84gAxl.js +10 -0
  587. package/dist/options-Li1Dyu88.d.ts +10 -0
  588. package/dist/options-Q1Bzgqpr.js +5 -0
  589. package/dist/options-_F-enoBs.d.ts +26 -0
  590. package/dist/options-c5WCsky5.js +21 -0
  591. package/dist/options-nFzfgtA6.js +5 -0
  592. package/dist/options-pOVWwbAK.d.ts +10 -0
  593. package/dist/options-y_-AkVCs.d.ts +15 -0
  594. package/dist/orpc/index.d.ts +69 -71
  595. package/dist/orpc/index.js +161 -27
  596. package/dist/otel/index.d.ts +3 -3
  597. package/dist/otel/index.js +6 -6
  598. package/dist/outbox-HxjZTfF6.d.ts +199 -0
  599. package/dist/payments-BXvabJOw.js +16 -0
  600. package/dist/payments-BYcN34Fp.d.ts +114 -0
  601. package/dist/permissions-controller-BMsqIE5T.js +34 -0
  602. package/dist/plugin-AKwwe2gF.js +48 -0
  603. package/dist/pool-CrtT4dg-.d.ts +123 -0
  604. package/dist/pool-errors-JUBcGrre.js +27 -0
  605. package/dist/ports-CpdiQv1D.d.ts +89 -0
  606. package/dist/ports-DOhtuw3c.js +152 -0
  607. package/dist/postgres/index.d.ts +5 -5
  608. package/dist/postgres/index.js +3 -3
  609. package/dist/postgrest-executor-BFW4oWte.js +1064 -0
  610. package/dist/postgrest-z-T0l23T.d.ts +53 -0
  611. package/dist/powersync/index.d.ts +106 -7
  612. package/dist/powersync/index.js +123 -7
  613. package/dist/preset/index.d.ts +4 -4
  614. package/dist/preset/index.js +4 -4
  615. package/dist/preset-CsHnIBJF.js +875 -0
  616. package/dist/problem-Bf0cJ7tk.js +162 -0
  617. package/dist/problem-DNwN8iGz.d.ts +79 -0
  618. package/dist/provider-B6g7rBZX.js +57 -0
  619. package/dist/provider-CqwEOLCA.d.ts +112 -0
  620. package/dist/push-token-B3m3pWAv.d.ts +24 -0
  621. package/dist/queries-BWYYS9um.js +239 -0
  622. package/dist/query/index.d.ts +4 -4
  623. package/dist/query/index.js +114 -48
  624. package/dist/rank-result-BBJIK-k_.js +18 -0
  625. package/dist/rank-result-Bwe7igy-.d.ts +14 -0
  626. package/dist/rate-limit-BWKGlhTM.js +49 -0
  627. package/dist/rate-limit-Bztf32cl.d.ts +50 -0
  628. package/dist/rate-limit-o44SYkVY.js +327 -0
  629. package/dist/react/index.d.ts +10 -9
  630. package/dist/react/index.js +5 -5
  631. package/dist/react/native/index.d.ts +1 -1
  632. package/dist/react/native/index.js +2 -3
  633. package/dist/react/server.d.ts +47 -15
  634. package/dist/react/server.js +46 -11
  635. package/dist/react/session.d.ts +3 -3
  636. package/dist/react-BuDYI62C.js +979 -0
  637. package/dist/react-router/index.d.ts +13 -10
  638. package/dist/react-router/index.js +10 -10
  639. package/dist/read-set-BnKnofIj.js +199 -0
  640. package/dist/realtime/index.d.ts +7 -7
  641. package/dist/realtime/index.js +4 -4
  642. package/dist/record-bindings-DkBJpC5A.js +26 -0
  643. package/dist/record-form-DB_5Ue_B.d.ts +82 -0
  644. package/dist/record-type-DRbnlj5q.js +221 -0
  645. package/dist/recordings-BBSJt_YV.d.ts +119 -0
  646. package/dist/records/index.d.ts +28 -28
  647. package/dist/records/index.js +22 -23
  648. package/dist/refresh-DT_ICaK-.d.ts +54 -0
  649. package/dist/refusal-ByBZcm0V.js +64 -0
  650. package/dist/refusal-CSntB_x8.d.ts +32 -0
  651. package/dist/replicas-Dyoh3CEg.js +94 -0
  652. package/dist/resolve-B0mW2m7f.js +932 -0
  653. package/dist/resolve-CXX6DHv3.d.ts +288 -0
  654. package/dist/resource-D8pzB5Qf.d.ts +123 -0
  655. package/dist/resource-DV2GC2dB.js +520 -0
  656. package/dist/resource-DvgXqZB_.js +105 -0
  657. package/dist/resource-execute-CzHuDsil.d.ts +15 -0
  658. package/dist/resource-types-DnKiH4G2.d.ts +157 -0
  659. package/dist/resources-B9cQxhjw.d.ts +7 -0
  660. package/dist/resources-C02l_YBJ.js +64 -0
  661. package/dist/respond-C3CcOZlA.js +100 -0
  662. package/dist/respond-Dn1_YhC1.d.ts +106 -0
  663. package/dist/result-DZeA5KS6.d.ts +351 -0
  664. package/dist/result-ntFBW2p2.js +146 -0
  665. package/dist/rows-BDLZStp4.js +80 -0
  666. package/dist/rows-Bm6sskji.js +39 -0
  667. package/dist/rrule-79K2c3Nr.js +290 -0
  668. package/dist/run-state-BMCD_1Lt.d.ts +13 -0
  669. package/dist/sales-lines-Bk4mbLH1.d.ts +37 -0
  670. package/dist/sales-lines-D-sf9PIB.js +43 -0
  671. package/dist/sales-shared-DXGFJP4g.js +22 -0
  672. package/dist/schemas-l2aF78zQ.js +216 -0
  673. package/dist/scores-B2BiNuVJ.d.ts +174 -0
  674. package/dist/scores-CRp3vvQU.js +177 -0
  675. package/dist/server/index.d.ts +104 -42
  676. package/dist/server/index.js +99 -30
  677. package/dist/server-types-7QPzW2bF.d.ts +946 -0
  678. package/dist/session-CfBCJGgc.d.ts +99 -0
  679. package/dist/shared-C47zAh2A.js +17 -0
  680. package/dist/sign-in-B64114O4.js +608 -0
  681. package/dist/sign-in-BAjR49fq.d.ts +24 -0
  682. package/dist/sign-in-BsIaNx2C.js +392 -0
  683. package/dist/signatures-CNcoq392.js +145 -0
  684. package/dist/signatures-Dkx9OE8j.d.ts +43 -0
  685. package/dist/signers-BAEzvTJ0.d.ts +390 -0
  686. package/dist/signing-keys-BNDUxpQL.d.ts +119 -0
  687. package/dist/signing-keys-wGKh4vtt.js +164 -0
  688. package/dist/solid/index.d.ts +52 -18
  689. package/dist/solid/index.js +69 -11
  690. package/dist/solid-start/index.d.ts +11 -11
  691. package/dist/solid-start/index.js +8 -8
  692. package/dist/spec/index.d.ts +691 -10
  693. package/dist/spec/index.js +2487 -5
  694. package/dist/spec-DTWkHzYZ.js +124 -0
  695. package/dist/spec-pins-C1Vm8OBl.js +61 -0
  696. package/dist/spec-pins-DIx95afw.d.ts +125 -0
  697. package/dist/sql/index.d.ts +5 -5
  698. package/dist/sql/index.js +5 -5
  699. package/dist/sql-BPbbPzRJ.js +421 -0
  700. package/dist/sql-OLVW4t08.js +127258 -0
  701. package/dist/sqlite/index.d.ts +126 -0
  702. package/dist/sqlite/index.js +197 -0
  703. package/dist/sso-B0Txid2-.d.ts +161 -0
  704. package/dist/sso-d2S4x_f9.js +217 -0
  705. package/dist/ssr/index.d.ts +5 -4
  706. package/dist/ssr/index.js +3 -3
  707. package/dist/standard-BA3mLh6w.js +25 -0
  708. package/dist/standard-DBV730sF.d.ts +7 -0
  709. package/dist/stats-BHl1-zj9.js +83 -0
  710. package/dist/storage/index.d.ts +3 -3
  711. package/dist/storage/index.js +10 -10
  712. package/dist/store-CpheI-lN.d.ts +83 -0
  713. package/dist/streams/index.d.ts +3 -3
  714. package/dist/streams/index.js +2 -2
  715. package/dist/streams/redis/index.d.ts +2 -2
  716. package/dist/streams/redis/index.js +3 -3
  717. package/dist/subject-readers-8GySC9Z8.d.ts +21 -0
  718. package/dist/subject-readers-B-pQ9Mmo.js +49 -0
  719. package/dist/subjects-BpIEN1MS.d.ts +90 -0
  720. package/dist/subjects-DvmQeF_F.d.ts +79 -0
  721. package/dist/support-view-BYOgwXsJ.d.ts +17 -0
  722. package/dist/svelte/index.d.ts +52 -15
  723. package/dist/svelte/index.js +87 -11
  724. package/dist/sveltekit/index.d.ts +13 -13
  725. package/dist/sveltekit/index.js +13 -13
  726. package/dist/table-schema-BlF6k62Q.d.ts +81 -0
  727. package/dist/table-schema-CD8cJz_M.js +293 -0
  728. package/dist/tags-BjHflcHF.d.ts +30 -0
  729. package/dist/tags-CIZTqtlY.js +39 -0
  730. package/dist/tanstack-db/index.d.ts +50 -6
  731. package/dist/tanstack-db/index.js +43 -2
  732. package/dist/tanstack-start/index.d.ts +9 -9
  733. package/dist/tanstack-start/index.js +9 -9
  734. package/dist/tax-BkCNWWMc.js +140 -0
  735. package/dist/tax-DPShHual.d.ts +170 -0
  736. package/dist/tee-V97_v1ZS.js +101 -0
  737. package/dist/template-Drgg3v2J.js +126 -0
  738. package/dist/temporal-required-Dy0GGD8E.js +20 -0
  739. package/dist/tenant-BgIiMQpo.js +27 -0
  740. package/dist/tenant-DzFsg0Pc.d.ts +17 -0
  741. package/dist/testing/index.d.ts +77 -75
  742. package/dist/testing/index.js +89 -99
  743. package/dist/timeline--VU3A1e4.js +50 -0
  744. package/dist/timeline-WrFMgd3U.d.ts +151 -0
  745. package/dist/timing-dypS0nxW.js +95 -0
  746. package/dist/topic-DNFEFGKI.d.ts +415 -0
  747. package/dist/topic-ikV_pLTX.js +643 -0
  748. package/dist/types-A4yyKEsg.d.ts +217 -0
  749. package/dist/types-Czq9Xtpa.d.ts +618 -0
  750. package/dist/types-DFdg_4yN.d.ts +912 -0
  751. package/dist/types-Dp3UCr1e.d.ts +194 -0
  752. package/dist/types-Dr9wZgNy.d.ts +251 -0
  753. package/dist/types-DsRfiQ0v.d.ts +659 -0
  754. package/dist/types-EO2crSX_.d.ts +177 -0
  755. package/dist/undo-B1jwnVyN.d.ts +46 -0
  756. package/dist/undo-BjCChCmH.js +44 -0
  757. package/dist/upload-claim-B1ZU8ydB.js +33 -0
  758. package/dist/usage-Dp45V42p.d.ts +232 -0
  759. package/dist/user-change-DgWC6RRC.js +135 -0
  760. package/dist/variants-Cy--Ub-a.js +53 -0
  761. package/dist/vault-O-YlAyHb.d.ts +62 -0
  762. package/dist/vercel-connect/index.d.ts +1 -1
  763. package/dist/vercel-connect/index.js +3 -3
  764. package/dist/verify-CMou8dWZ.d.ts +146 -0
  765. package/dist/verify-ZLFUdlqE.js +130 -0
  766. package/dist/view-C8Ve14ja.js +247 -0
  767. package/dist/view-DyFdMCqg.d.ts +97 -0
  768. package/dist/vue/index.d.ts +52 -23
  769. package/dist/vue/index.js +77 -14
  770. package/dist/watch-topic-Bo9S2R4P.d.ts +31 -0
  771. package/dist/wiring-CDNuQoJJ.js +13 -0
  772. package/dist/workflow-sdk/builder/index.d.ts +12 -12
  773. package/dist/workflow-sdk/builder/index.js +16 -17
  774. package/dist/workflow-sdk/index.d.ts +18 -15
  775. package/dist/workflow-sdk/index.js +2 -2
  776. package/dist/workflow-sdk/world/index.d.ts +6 -6
  777. package/dist/workflow-sdk/world/index.js +12 -12
  778. package/dist/workflow-sdk-B3Ss55Fy.d.ts +163 -0
  779. package/dist/workflow-sdk-Bw6_u0ar.js +2446 -0
  780. package/dist/workflow-sdk-Cf0LAOFF.js +242 -0
  781. package/dist/workflows-B0ZPAQu0.d.ts +255 -0
  782. package/dist/yjs/index.d.ts +3 -3
  783. package/dist/yjs/index.js +2 -2
  784. package/package.json +75 -623
  785. package/schemas/config-v1.json +2082 -1754
  786. package/schemas/design-v1.json +141 -5
  787. package/schemas/doctor-report-v1.json +15 -0
  788. package/skills/better-supabase/SKILL.md +70 -28
  789. package/skills/better-supabase/references/block-extensions.md +64 -0
  790. package/skills/better-supabase/references/frontend.md +29 -26
  791. package/skills/better-supabase/references/troubleshooting.md +3 -3
  792. package/skills/better-supabase/references/ui-recipes.md +267 -134
  793. package/skills/better-supabase-api/SKILL.md +49 -38
  794. package/skills/better-supabase-api/references/adapters.md +42 -39
  795. package/skills/better-supabase-api/references/ai.md +4 -4
  796. package/skills/better-supabase-api/references/expo.md +8 -8
  797. package/skills/better-supabase-api/references/powersync.md +20 -13
  798. package/skills/better-supabase-api/references/streams-credentials.md +3 -3
  799. package/skills/better-supabase-auth/SKILL.md +17 -17
  800. package/skills/better-supabase-auth/references/authorization-providers.md +8 -6
  801. package/skills/better-supabase-testing/SKILL.md +8 -8
  802. package/dist/access-sql-CPoq9F86.js +0 -207
  803. package/dist/access-z7NwWtqx.js +0 -34
  804. package/dist/actor-hNajGNEK.js +0 -150
  805. package/dist/adapter-BCFAg58A.js +0 -2190
  806. package/dist/agents-CmZlLPXC.d.ts +0 -117
  807. package/dist/ai-cache-BxlOkc_M.d.ts +0 -82
  808. package/dist/ai-cache-DQikwXhJ.js +0 -87
  809. package/dist/ai-chat-DBxEz3o1.d.ts +0 -619
  810. package/dist/ai-files-t-kHmS5H.js +0 -339
  811. package/dist/ai-tasks-BDywBUgN.d.ts +0 -166
  812. package/dist/announcements-BeOD0zbc.js +0 -128
  813. package/dist/api-CWhpq24a.d.ts +0 -174
  814. package/dist/api-DKp2Ggz_.js +0 -685
  815. package/dist/api-keys-CboAenU8.d.ts +0 -213
  816. package/dist/api-keys-DT6Fi50R.js +0 -318
  817. package/dist/app-tables-BHrzAUFJ.d.ts +0 -27
  818. package/dist/app-tables-C5aoI5rZ.js +0 -959
  819. package/dist/approvals-bMb7dsBY.d.ts +0 -129
  820. package/dist/arazzo/index.d.ts +0 -278
  821. package/dist/arazzo/index.js +0 -630
  822. package/dist/assistant-D1yev_fR.d.ts +0 -157
  823. package/dist/asyncapi/index.d.ts +0 -110
  824. package/dist/asyncapi/index.js +0 -572
  825. package/dist/attachments-Cjdgarpa.js +0 -351
  826. package/dist/attributes-BOFl922R.js +0 -44
  827. package/dist/audit-log-C3rQxeHd.js +0 -788
  828. package/dist/auth-reply-jVKoAV6R.js +0 -31
  829. package/dist/authorization-BuT26_sR.d.ts +0 -3455
  830. package/dist/authorization-hooks-dLmUO_PZ.d.ts +0 -217
  831. package/dist/authorizer-DFP3gHv8.d.ts +0 -82
  832. package/dist/authorizer-DPTeL-7h.js +0 -125
  833. package/dist/availability-q3dZoZYM.d.ts +0 -226
  834. package/dist/bind-Dz8y3T5T.d.ts +0 -95
  835. package/dist/block-authors-BRTlT0qv.js +0 -14
  836. package/dist/block-controller-DTGuBemi.js +0 -112
  837. package/dist/block-env-DJiUu1fq.js +0 -35
  838. package/dist/block-env-kFcaaJLM.d.ts +0 -10
  839. package/dist/block-env-options-2e6IQrSw.js +0 -26
  840. package/dist/block-events-records-BGVyoz57.d.ts +0 -343
  841. package/dist/block-fields-3w4MZr8U.d.ts +0 -58
  842. package/dist/block-fields-DBSJSeaO.js +0 -139
  843. package/dist/block-helpers-BaugZlJV.d.ts +0 -62
  844. package/dist/block-helpers-CiKtrb6g.js +0 -353
  845. package/dist/block-hooks-BymdcD0V.js +0 -130
  846. package/dist/block-hooks-CmjPKqQ_.d.ts +0 -117
  847. package/dist/block-method-Bvsao626.js +0 -21
  848. package/dist/block-method-hsPAGFi5.d.ts +0 -19
  849. package/dist/block-names-Dbv_2wmE.js +0 -66
  850. package/dist/block-subjects-Dzq5Xn_0.js +0 -55
  851. package/dist/block-subjects-FHwLlIHU.d.ts +0 -6
  852. package/dist/block-tenant-C1sNV8_4.js +0 -14
  853. package/dist/block-transport-d53POsem.d.ts +0 -69
  854. package/dist/blocks/access/index.d.ts +0 -9
  855. package/dist/blocks/access/index.js +0 -18
  856. package/dist/blocks/access/react/index.d.ts +0 -52
  857. package/dist/blocks/access/react/index.js +0 -73
  858. package/dist/blocks/access/react/server.d.ts +0 -11
  859. package/dist/blocks/access/react/server.js +0 -16
  860. package/dist/blocks/access/solid/index.d.ts +0 -13
  861. package/dist/blocks/access/solid/index.js +0 -14
  862. package/dist/blocks/access/svelte/index.d.ts +0 -13
  863. package/dist/blocks/access/svelte/index.js +0 -14
  864. package/dist/blocks/access/vue/index.d.ts +0 -13
  865. package/dist/blocks/access/vue/index.js +0 -14
  866. package/dist/blocks/activity/index.d.ts +0 -116
  867. package/dist/blocks/activity/index.js +0 -164
  868. package/dist/blocks/ai-chat/react/index.d.ts +0 -52
  869. package/dist/blocks/ai-chat/react/index.js +0 -95
  870. package/dist/blocks/ai-chat/react/server.d.ts +0 -25
  871. package/dist/blocks/ai-chat/react/server.js +0 -23
  872. package/dist/blocks/ai-chat/solid/index.d.ts +0 -34
  873. package/dist/blocks/ai-chat/solid/index.js +0 -41
  874. package/dist/blocks/ai-chat/svelte/index.d.ts +0 -34
  875. package/dist/blocks/ai-chat/svelte/index.js +0 -41
  876. package/dist/blocks/ai-chat/vue/index.d.ts +0 -34
  877. package/dist/blocks/ai-chat/vue/index.js +0 -41
  878. package/dist/blocks/ai-providers/index.d.ts +0 -22
  879. package/dist/blocks/ai-providers/index.js +0 -236
  880. package/dist/blocks/ai-tasks/index.d.ts +0 -10
  881. package/dist/blocks/ai-tasks/index.js +0 -252
  882. package/dist/blocks/announcements/react/index.d.ts +0 -28
  883. package/dist/blocks/announcements/react/index.js +0 -38
  884. package/dist/blocks/announcements/react/server.d.ts +0 -9
  885. package/dist/blocks/announcements/react/server.js +0 -10
  886. package/dist/blocks/announcements/solid/index.d.ts +0 -13
  887. package/dist/blocks/announcements/solid/index.js +0 -14
  888. package/dist/blocks/announcements/svelte/index.d.ts +0 -13
  889. package/dist/blocks/announcements/svelte/index.js +0 -14
  890. package/dist/blocks/announcements/vue/index.d.ts +0 -13
  891. package/dist/blocks/announcements/vue/index.js +0 -14
  892. package/dist/blocks/api-keys/react/index.d.ts +0 -32
  893. package/dist/blocks/api-keys/react/index.js +0 -43
  894. package/dist/blocks/api-keys/react/server.d.ts +0 -7
  895. package/dist/blocks/api-keys/react/server.js +0 -7
  896. package/dist/blocks/api-keys/solid/index.d.ts +0 -13
  897. package/dist/blocks/api-keys/solid/index.js +0 -14
  898. package/dist/blocks/api-keys/svelte/index.d.ts +0 -13
  899. package/dist/blocks/api-keys/svelte/index.js +0 -14
  900. package/dist/blocks/api-keys/vue/index.d.ts +0 -13
  901. package/dist/blocks/api-keys/vue/index.js +0 -14
  902. package/dist/blocks/attachments/react/index.d.ts +0 -53
  903. package/dist/blocks/attachments/react/index.js +0 -78
  904. package/dist/blocks/attachments/react/server.d.ts +0 -9
  905. package/dist/blocks/attachments/react/server.js +0 -10
  906. package/dist/blocks/attachments/solid/index.d.ts +0 -13
  907. package/dist/blocks/attachments/solid/index.js +0 -14
  908. package/dist/blocks/attachments/svelte/index.d.ts +0 -13
  909. package/dist/blocks/attachments/svelte/index.js +0 -14
  910. package/dist/blocks/attachments/vue/index.d.ts +0 -13
  911. package/dist/blocks/attachments/vue/index.js +0 -14
  912. package/dist/blocks/audit/react/index.d.ts +0 -31
  913. package/dist/blocks/audit/react/index.js +0 -46
  914. package/dist/blocks/audit/react/server.d.ts +0 -7
  915. package/dist/blocks/audit/react/server.js +0 -7
  916. package/dist/blocks/audit/solid/index.d.ts +0 -13
  917. package/dist/blocks/audit/solid/index.js +0 -14
  918. package/dist/blocks/audit/svelte/index.d.ts +0 -13
  919. package/dist/blocks/audit/svelte/index.js +0 -14
  920. package/dist/blocks/audit/vue/index.d.ts +0 -13
  921. package/dist/blocks/audit/vue/index.js +0 -14
  922. package/dist/blocks/billing/react/index.d.ts +0 -44
  923. package/dist/blocks/billing/react/index.js +0 -40
  924. package/dist/blocks/billing/react/server.d.ts +0 -10
  925. package/dist/blocks/billing/react/server.js +0 -10
  926. package/dist/blocks/billing/solid/index.d.ts +0 -15
  927. package/dist/blocks/billing/solid/index.js +0 -14
  928. package/dist/blocks/billing/svelte/index.d.ts +0 -15
  929. package/dist/blocks/billing/svelte/index.js +0 -14
  930. package/dist/blocks/billing/vue/index.d.ts +0 -15
  931. package/dist/blocks/billing/vue/index.js +0 -14
  932. package/dist/blocks/bookings/react/index.d.ts +0 -36
  933. package/dist/blocks/bookings/react/index.js +0 -63
  934. package/dist/blocks/bookings/react/server.d.ts +0 -9
  935. package/dist/blocks/bookings/react/server.js +0 -10
  936. package/dist/blocks/bookings/solid/index.d.ts +0 -13
  937. package/dist/blocks/bookings/solid/index.js +0 -14
  938. package/dist/blocks/bookings/svelte/index.d.ts +0 -13
  939. package/dist/blocks/bookings/svelte/index.js +0 -14
  940. package/dist/blocks/bookings/vue/index.d.ts +0 -13
  941. package/dist/blocks/bookings/vue/index.js +0 -14
  942. package/dist/blocks/calendar/react/index.d.ts +0 -26
  943. package/dist/blocks/calendar/react/index.js +0 -58
  944. package/dist/blocks/calendar/react/server.d.ts +0 -9
  945. package/dist/blocks/calendar/react/server.js +0 -10
  946. package/dist/blocks/calendar/solid/index.d.ts +0 -13
  947. package/dist/blocks/calendar/solid/index.js +0 -14
  948. package/dist/blocks/calendar/svelte/index.d.ts +0 -13
  949. package/dist/blocks/calendar/svelte/index.js +0 -14
  950. package/dist/blocks/calendar/vue/index.d.ts +0 -13
  951. package/dist/blocks/calendar/vue/index.js +0 -14
  952. package/dist/blocks/comments/react/index.d.ts +0 -32
  953. package/dist/blocks/comments/react/index.js +0 -56
  954. package/dist/blocks/comments/react/server.d.ts +0 -7
  955. package/dist/blocks/comments/react/server.js +0 -7
  956. package/dist/blocks/comments/solid/index.d.ts +0 -13
  957. package/dist/blocks/comments/solid/index.js +0 -14
  958. package/dist/blocks/comments/svelte/index.d.ts +0 -13
  959. package/dist/blocks/comments/svelte/index.js +0 -14
  960. package/dist/blocks/comments/vue/index.d.ts +0 -13
  961. package/dist/blocks/comments/vue/index.js +0 -14
  962. package/dist/blocks/controls/index.d.ts +0 -325
  963. package/dist/blocks/controls/index.js +0 -410
  964. package/dist/blocks/engagements/index.d.ts +0 -41
  965. package/dist/blocks/engagements/index.js +0 -414
  966. package/dist/blocks/entitlements/react/index.d.ts +0 -27
  967. package/dist/blocks/entitlements/react/index.js +0 -35
  968. package/dist/blocks/entitlements/react/server.d.ts +0 -9
  969. package/dist/blocks/entitlements/react/server.js +0 -10
  970. package/dist/blocks/entitlements/solid/index.d.ts +0 -13
  971. package/dist/blocks/entitlements/solid/index.js +0 -14
  972. package/dist/blocks/entitlements/svelte/index.d.ts +0 -13
  973. package/dist/blocks/entitlements/svelte/index.js +0 -14
  974. package/dist/blocks/entitlements/vue/index.d.ts +0 -13
  975. package/dist/blocks/entitlements/vue/index.js +0 -14
  976. package/dist/blocks/forms/react/index.d.ts +0 -19
  977. package/dist/blocks/forms/react/index.js +0 -28
  978. package/dist/blocks/forms/react/server.d.ts +0 -9
  979. package/dist/blocks/forms/react/server.js +0 -10
  980. package/dist/blocks/forms/solid/index.d.ts +0 -13
  981. package/dist/blocks/forms/solid/index.js +0 -14
  982. package/dist/blocks/forms/svelte/index.d.ts +0 -13
  983. package/dist/blocks/forms/svelte/index.js +0 -14
  984. package/dist/blocks/forms/vue/index.d.ts +0 -13
  985. package/dist/blocks/forms/vue/index.js +0 -14
  986. package/dist/blocks/inbox/react/index.d.ts +0 -3
  987. package/dist/blocks/inbox/react/index.js +0 -87
  988. package/dist/blocks/inbox/react/server.d.ts +0 -17
  989. package/dist/blocks/inbox/react/server.js +0 -18
  990. package/dist/blocks/inbox/solid/index.d.ts +0 -27
  991. package/dist/blocks/inbox/solid/index.js +0 -32
  992. package/dist/blocks/inbox/svelte/index.d.ts +0 -27
  993. package/dist/blocks/inbox/svelte/index.js +0 -32
  994. package/dist/blocks/inbox/vue/index.d.ts +0 -27
  995. package/dist/blocks/inbox/vue/index.js +0 -32
  996. package/dist/blocks/jobs/index.d.ts +0 -523
  997. package/dist/blocks/jobs/index.js +0 -1345
  998. package/dist/blocks/messaging/react/index.d.ts +0 -39
  999. package/dist/blocks/messaging/react/index.js +0 -80
  1000. package/dist/blocks/messaging/react/server.d.ts +0 -12
  1001. package/dist/blocks/messaging/react/server.js +0 -14
  1002. package/dist/blocks/messaging/solid/index.d.ts +0 -20
  1003. package/dist/blocks/messaging/solid/index.js +0 -23
  1004. package/dist/blocks/messaging/svelte/index.d.ts +0 -20
  1005. package/dist/blocks/messaging/svelte/index.js +0 -23
  1006. package/dist/blocks/messaging/vue/index.d.ts +0 -20
  1007. package/dist/blocks/messaging/vue/index.js +0 -23
  1008. package/dist/blocks/mfa/react/index.d.ts +0 -30
  1009. package/dist/blocks/mfa/react/index.js +0 -45
  1010. package/dist/blocks/mfa/react/server.d.ts +0 -9
  1011. package/dist/blocks/mfa/react/server.js +0 -12
  1012. package/dist/blocks/mfa/solid/index.d.ts +0 -20
  1013. package/dist/blocks/mfa/solid/index.js +0 -23
  1014. package/dist/blocks/mfa/svelte/index.d.ts +0 -20
  1015. package/dist/blocks/mfa/svelte/index.js +0 -23
  1016. package/dist/blocks/mfa/vue/index.d.ts +0 -20
  1017. package/dist/blocks/mfa/vue/index.js +0 -23
  1018. package/dist/blocks/notifications/react/index.d.ts +0 -19
  1019. package/dist/blocks/notifications/react/index.js +0 -41
  1020. package/dist/blocks/notifications/react/server.d.ts +0 -10
  1021. package/dist/blocks/notifications/react/server.js +0 -10
  1022. package/dist/blocks/notifications/solid/index.d.ts +0 -13
  1023. package/dist/blocks/notifications/solid/index.js +0 -14
  1024. package/dist/blocks/notifications/svelte/index.d.ts +0 -13
  1025. package/dist/blocks/notifications/svelte/index.js +0 -14
  1026. package/dist/blocks/notifications/vue/index.d.ts +0 -13
  1027. package/dist/blocks/notifications/vue/index.js +0 -14
  1028. package/dist/blocks/number-sequences/index.d.ts +0 -48
  1029. package/dist/blocks/number-sequences/index.js +0 -52
  1030. package/dist/blocks/onboarding/react/index.d.ts +0 -24
  1031. package/dist/blocks/onboarding/react/index.js +0 -38
  1032. package/dist/blocks/onboarding/react/server.d.ts +0 -10
  1033. package/dist/blocks/onboarding/react/server.js +0 -10
  1034. package/dist/blocks/onboarding/solid/index.d.ts +0 -13
  1035. package/dist/blocks/onboarding/solid/index.js +0 -14
  1036. package/dist/blocks/onboarding/svelte/index.d.ts +0 -13
  1037. package/dist/blocks/onboarding/svelte/index.js +0 -14
  1038. package/dist/blocks/onboarding/vue/index.d.ts +0 -13
  1039. package/dist/blocks/onboarding/vue/index.js +0 -14
  1040. package/dist/blocks/organizations/react/index.d.ts +0 -127
  1041. package/dist/blocks/organizations/react/index.js +0 -113
  1042. package/dist/blocks/organizations/react/server.d.ts +0 -20
  1043. package/dist/blocks/organizations/react/server.js +0 -24
  1044. package/dist/blocks/organizations/solid/index.d.ts +0 -34
  1045. package/dist/blocks/organizations/solid/index.js +0 -32
  1046. package/dist/blocks/organizations/svelte/index.d.ts +0 -34
  1047. package/dist/blocks/organizations/svelte/index.js +0 -32
  1048. package/dist/blocks/organizations/vue/index.d.ts +0 -34
  1049. package/dist/blocks/organizations/vue/index.js +0 -32
  1050. package/dist/blocks/parties/index.d.ts +0 -182
  1051. package/dist/blocks/parties/index.js +0 -358
  1052. package/dist/blocks/reactions/react/index.d.ts +0 -32
  1053. package/dist/blocks/reactions/react/index.js +0 -57
  1054. package/dist/blocks/reactions/react/server.d.ts +0 -9
  1055. package/dist/blocks/reactions/react/server.js +0 -10
  1056. package/dist/blocks/reactions/solid/index.d.ts +0 -13
  1057. package/dist/blocks/reactions/solid/index.js +0 -14
  1058. package/dist/blocks/reactions/svelte/index.d.ts +0 -13
  1059. package/dist/blocks/reactions/svelte/index.js +0 -14
  1060. package/dist/blocks/reactions/vue/index.d.ts +0 -13
  1061. package/dist/blocks/reactions/vue/index.js +0 -14
  1062. package/dist/blocks/rules/index.d.ts +0 -175
  1063. package/dist/blocks/rules/index.js +0 -163
  1064. package/dist/blocks/rules/react/index.d.ts +0 -38
  1065. package/dist/blocks/rules/react/index.js +0 -59
  1066. package/dist/blocks/rules/react/server.d.ts +0 -6
  1067. package/dist/blocks/rules/react/server.js +0 -7
  1068. package/dist/blocks/rules/solid/index.d.ts +0 -13
  1069. package/dist/blocks/rules/solid/index.js +0 -14
  1070. package/dist/blocks/rules/svelte/index.d.ts +0 -13
  1071. package/dist/blocks/rules/svelte/index.js +0 -14
  1072. package/dist/blocks/rules/vue/index.d.ts +0 -13
  1073. package/dist/blocks/rules/vue/index.js +0 -14
  1074. package/dist/blocks/saved-views/react/index.d.ts +0 -40
  1075. package/dist/blocks/saved-views/react/index.js +0 -60
  1076. package/dist/blocks/saved-views/react/server.d.ts +0 -10
  1077. package/dist/blocks/saved-views/react/server.js +0 -10
  1078. package/dist/blocks/saved-views/solid/index.d.ts +0 -13
  1079. package/dist/blocks/saved-views/solid/index.js +0 -14
  1080. package/dist/blocks/saved-views/svelte/index.d.ts +0 -13
  1081. package/dist/blocks/saved-views/svelte/index.js +0 -14
  1082. package/dist/blocks/saved-views/vue/index.d.ts +0 -13
  1083. package/dist/blocks/saved-views/vue/index.js +0 -14
  1084. package/dist/blocks/search/react/index.d.ts +0 -39
  1085. package/dist/blocks/search/react/index.js +0 -49
  1086. package/dist/blocks/search/react/server.d.ts +0 -10
  1087. package/dist/blocks/search/react/server.js +0 -11
  1088. package/dist/blocks/search/solid/index.d.ts +0 -13
  1089. package/dist/blocks/search/solid/index.js +0 -14
  1090. package/dist/blocks/search/svelte/index.d.ts +0 -13
  1091. package/dist/blocks/search/svelte/index.js +0 -14
  1092. package/dist/blocks/search/vue/index.d.ts +0 -13
  1093. package/dist/blocks/search/vue/index.js +0 -14
  1094. package/dist/blocks/service-principals/index.d.ts +0 -132
  1095. package/dist/blocks/service-principals/index.js +0 -109
  1096. package/dist/blocks/sessions/react/index.d.ts +0 -36
  1097. package/dist/blocks/sessions/react/index.js +0 -53
  1098. package/dist/blocks/sessions/react/server.d.ts +0 -15
  1099. package/dist/blocks/sessions/react/server.js +0 -17
  1100. package/dist/blocks/sessions/solid/index.d.ts +0 -20
  1101. package/dist/blocks/sessions/solid/index.js +0 -23
  1102. package/dist/blocks/sessions/svelte/index.d.ts +0 -20
  1103. package/dist/blocks/sessions/svelte/index.js +0 -23
  1104. package/dist/blocks/sessions/vue/index.d.ts +0 -20
  1105. package/dist/blocks/sessions/vue/index.js +0 -23
  1106. package/dist/blocks/settings/react/index.d.ts +0 -31
  1107. package/dist/blocks/settings/react/index.js +0 -37
  1108. package/dist/blocks/settings/react/server.d.ts +0 -10
  1109. package/dist/blocks/settings/react/server.js +0 -10
  1110. package/dist/blocks/settings/solid/index.d.ts +0 -13
  1111. package/dist/blocks/settings/solid/index.js +0 -14
  1112. package/dist/blocks/settings/svelte/index.d.ts +0 -13
  1113. package/dist/blocks/settings/svelte/index.js +0 -14
  1114. package/dist/blocks/settings/vue/index.d.ts +0 -13
  1115. package/dist/blocks/settings/vue/index.js +0 -14
  1116. package/dist/blocks/shared-signals/index.d.ts +0 -440
  1117. package/dist/blocks/shared-signals/index.js +0 -885
  1118. package/dist/blocks/subjects/react/index.d.ts +0 -31
  1119. package/dist/blocks/subjects/react/index.js +0 -60
  1120. package/dist/blocks/subjects/react/server.d.ts +0 -9
  1121. package/dist/blocks/subjects/react/server.js +0 -12
  1122. package/dist/blocks/subjects/solid/index.d.ts +0 -13
  1123. package/dist/blocks/subjects/solid/index.js +0 -14
  1124. package/dist/blocks/subjects/svelte/index.d.ts +0 -13
  1125. package/dist/blocks/subjects/svelte/index.js +0 -14
  1126. package/dist/blocks/subjects/vue/index.d.ts +0 -13
  1127. package/dist/blocks/subjects/vue/index.js +0 -14
  1128. package/dist/blocks/tags/react/index.d.ts +0 -29
  1129. package/dist/blocks/tags/react/index.js +0 -53
  1130. package/dist/blocks/tags/react/server.d.ts +0 -7
  1131. package/dist/blocks/tags/react/server.js +0 -7
  1132. package/dist/blocks/tags/solid/index.d.ts +0 -13
  1133. package/dist/blocks/tags/solid/index.js +0 -14
  1134. package/dist/blocks/tags/svelte/index.d.ts +0 -13
  1135. package/dist/blocks/tags/svelte/index.js +0 -14
  1136. package/dist/blocks/tags/vue/index.d.ts +0 -13
  1137. package/dist/blocks/tags/vue/index.js +0 -14
  1138. package/dist/blocks/targets/index.d.ts +0 -82
  1139. package/dist/blocks/targets/index.js +0 -72
  1140. package/dist/blocks/undo/react/index.d.ts +0 -17
  1141. package/dist/blocks/undo/react/index.js +0 -24
  1142. package/dist/blocks/undo/react/server.d.ts +0 -10
  1143. package/dist/blocks/undo/react/server.js +0 -10
  1144. package/dist/blocks/undo/solid/index.d.ts +0 -13
  1145. package/dist/blocks/undo/solid/index.js +0 -14
  1146. package/dist/blocks/undo/svelte/index.d.ts +0 -13
  1147. package/dist/blocks/undo/svelte/index.js +0 -14
  1148. package/dist/blocks/undo/vue/index.d.ts +0 -13
  1149. package/dist/blocks/undo/vue/index.js +0 -14
  1150. package/dist/blocks/usage/react/index.d.ts +0 -29
  1151. package/dist/blocks/usage/react/index.js +0 -38
  1152. package/dist/blocks/usage/react/server.d.ts +0 -7
  1153. package/dist/blocks/usage/react/server.js +0 -7
  1154. package/dist/blocks/usage/solid/index.d.ts +0 -13
  1155. package/dist/blocks/usage/solid/index.js +0 -14
  1156. package/dist/blocks/usage/svelte/index.d.ts +0 -13
  1157. package/dist/blocks/usage/svelte/index.js +0 -14
  1158. package/dist/blocks/usage/vue/index.d.ts +0 -13
  1159. package/dist/blocks/usage/vue/index.js +0 -14
  1160. package/dist/blocks/work-items/index.d.ts +0 -87
  1161. package/dist/blocks/work-items/index.js +0 -431
  1162. package/dist/blocks/workflow-builder/index.d.ts +0 -43
  1163. package/dist/blocks/workflow-builder/index.js +0 -33
  1164. package/dist/blocks/workflow-builder/react/index.d.ts +0 -32
  1165. package/dist/blocks/workflow-builder/react/index.js +0 -75
  1166. package/dist/blocks/workflow-builder/react/server.d.ts +0 -14
  1167. package/dist/blocks/workflow-builder/react/server.js +0 -17
  1168. package/dist/blocks/workflow-builder/solid/index.d.ts +0 -20
  1169. package/dist/blocks/workflow-builder/solid/index.js +0 -23
  1170. package/dist/blocks/workflow-builder/svelte/index.d.ts +0 -20
  1171. package/dist/blocks/workflow-builder/svelte/index.js +0 -23
  1172. package/dist/blocks/workflow-builder/vue/index.d.ts +0 -20
  1173. package/dist/blocks/workflow-builder/vue/index.js +0 -23
  1174. package/dist/blocks/workflows/react/index.d.ts +0 -39
  1175. package/dist/blocks/workflows/react/index.js +0 -65
  1176. package/dist/blocks/workflows/react/server.d.ts +0 -14
  1177. package/dist/blocks/workflows/react/server.js +0 -17
  1178. package/dist/blocks/workflows/solid/index.d.ts +0 -20
  1179. package/dist/blocks/workflows/solid/index.js +0 -23
  1180. package/dist/blocks/workflows/svelte/index.d.ts +0 -20
  1181. package/dist/blocks/workflows/svelte/index.js +0 -23
  1182. package/dist/blocks/workflows/vue/index.d.ts +0 -20
  1183. package/dist/blocks/workflows/vue/index.js +0 -23
  1184. package/dist/bookings-BB5lFlNO.js +0 -310
  1185. package/dist/bookings-CC7IeiRa.d.ts +0 -290
  1186. package/dist/bucket-TkB7_xv8.d.ts +0 -667
  1187. package/dist/build-DCfpwg78.js +0 -1839
  1188. package/dist/build-g9wTbQdp.js +0 -703
  1189. package/dist/calendar-T3Vdpq7E.js +0 -952
  1190. package/dist/carrier-C7Q_21Kd.d.ts +0 -169
  1191. package/dist/chat-sdk/react/index.d.ts +0 -3
  1192. package/dist/chat-sdk/react/index.js +0 -2
  1193. package/dist/chat-sdk/react/server.d.ts +0 -4
  1194. package/dist/chat-sdk/react/server.js +0 -1
  1195. package/dist/claims-T8TWZ53E.js +0 -63
  1196. package/dist/cli/add-Bf3kE6PY.js +0 -75
  1197. package/dist/cli/add-CYh6Sxk1.js +0 -674
  1198. package/dist/cli/add-Dg40eFKE.js +0 -1
  1199. package/dist/cli/adopt-B0vrj-4B.js +0 -421
  1200. package/dist/cli/adopt-DJR1k3lS.js +0 -1
  1201. package/dist/cli/apply-DUQ-5LC6.js +0 -329
  1202. package/dist/cli/blocks-DzgYfjVv.js +0 -124
  1203. package/dist/cli/blocks-gGupqvBH.js +0 -1
  1204. package/dist/cli/cache-C3K_wOE2.js +0 -536
  1205. package/dist/cli/catalog-CNM0ViIh.js +0 -199
  1206. package/dist/cli/codemod-Dz4R-tVY.js +0 -1127
  1207. package/dist/cli/command-33pu13LT.js +0 -963
  1208. package/dist/cli/completion-6M6Hr8TL.js +0 -211
  1209. package/dist/cli/completion-Bqu8yq0q.js +0 -1
  1210. package/dist/cli/completion-Ddr3yqd3.js +0 -30
  1211. package/dist/cli/config-B31tIvAl.js +0 -42
  1212. package/dist/cli/config-CjgXMZW2.js +0 -1522
  1213. package/dist/cli/config-D9k5ckqV.js +0 -1
  1214. package/dist/cli/config-edit-D46H0UHp.js +0 -613
  1215. package/dist/cli/db-CeagtENM.js +0 -473
  1216. package/dist/cli/design-edit-B40ljpGZ.js +0 -205
  1217. package/dist/cli/detect-RApSAA8v.js +0 -84
  1218. package/dist/cli/dist-DSwzLVAG.js +0 -129
  1219. package/dist/cli/doctor-COGJJ1gy.js +0 -3898
  1220. package/dist/cli/emit-DbQeLlHt.js +0 -1123
  1221. package/dist/cli/env-Ba-pOD3a.js +0 -1
  1222. package/dist/cli/env-DlgfvI8U.js +0 -143
  1223. package/dist/cli/files-C5JfVnj5.js +0 -972
  1224. package/dist/cli/gen-DHW1qENn.js +0 -307
  1225. package/dist/cli/init-CZifzAUD.js +0 -397
  1226. package/dist/cli/introspect-Dfwu5vAg.js +0 -51
  1227. package/dist/cli/keys-iJs_1WT8.js +0 -106
  1228. package/dist/cli/live-1eL2MIkS.js +0 -344
  1229. package/dist/cli/mcp-CaFW6uKU.js +0 -240
  1230. package/dist/cli/metadata-DkOQHZoH.js +0 -146
  1231. package/dist/cli/migration-safety-BsCKKxPf.js +0 -305
  1232. package/dist/cli/module-migration-CbX-jRhV.js +0 -606
  1233. package/dist/cli/moved-CdNtCf4t.js +0 -161
  1234. package/dist/cli/names-D6LrQnOv.js +0 -6
  1235. package/dist/cli/parse-CRZLku1b.js +0 -182
  1236. package/dist/cli/preset-C4fagbhZ.js +0 -130
  1237. package/dist/cli/run-CE2s5TDh.js +0 -711
  1238. package/dist/cli/run-Du5XPOCv.js +0 -63
  1239. package/dist/cli/run-KXjrgNCH.js +0 -2378
  1240. package/dist/cli/scaffold-CPH8sEhw.js +0 -901
  1241. package/dist/cli/scaffold-DS6g3INp.js +0 -1
  1242. package/dist/cli/seed-D6V-T5Af.js +0 -188
  1243. package/dist/cli/seed-DPQaA8aP.js +0 -1
  1244. package/dist/cli/shared-CCpxS5if.js +0 -151
  1245. package/dist/cli/skills-Bz4INB8f.js +0 -121
  1246. package/dist/cli/snapshot-Dkwxc1uV.js +0 -351
  1247. package/dist/cli/source-args-DZV4RnZL.js +0 -59
  1248. package/dist/cli/spec-B3Tbc7Dm.js +0 -7534
  1249. package/dist/cli/spec-Cv1GYrcW.js +0 -1
  1250. package/dist/cli/sql-C58MS9DI.js +0 -348
  1251. package/dist/cli/sql-DVPw5tvO.js +0 -2
  1252. package/dist/cli/stack-_F_JhllX.js +0 -135
  1253. package/dist/cli/sync-CjkKpI6d.js +0 -91
  1254. package/dist/cli/typegen-F9GEjpvD.js +0 -502
  1255. package/dist/cli/typegen-version-BNBPI4Eu.js +0 -9
  1256. package/dist/cli/version-CTqnp3HO.js +0 -4
  1257. package/dist/cli/write-3qdrpS1v.js +0 -201
  1258. package/dist/client--tyFmxDT.js +0 -52
  1259. package/dist/client-7_4Y21ue.d.ts +0 -122
  1260. package/dist/client-B1cjaIfv.js +0 -116
  1261. package/dist/client-B2GCMvfd.d.ts +0 -451
  1262. package/dist/client-B8cHiZfF.js +0 -67
  1263. package/dist/client-BIMg9IiF.d.ts +0 -349
  1264. package/dist/client-BKGVUgo7.js +0 -380
  1265. package/dist/client-BNaOcfeH.js +0 -58
  1266. package/dist/client-BQseXods.d.ts +0 -309
  1267. package/dist/client-BSnf6fn6.d.ts +0 -59
  1268. package/dist/client-BW3-RUbq.js +0 -235
  1269. package/dist/client-BYAY7lLs.d.ts +0 -137
  1270. package/dist/client-BcXmbm4f.js +0 -173
  1271. package/dist/client-BgmVu505.js +0 -167
  1272. package/dist/client-Bj0xrUzr.js +0 -437
  1273. package/dist/client-Bn0qqRBg.d.ts +0 -37
  1274. package/dist/client-Bni68sve.d.ts +0 -136
  1275. package/dist/client-BrtwaIBh.d.ts +0 -74
  1276. package/dist/client-BtRx0-kn.js +0 -82
  1277. package/dist/client-BteuBPIy.js +0 -337
  1278. package/dist/client-C1TxDBgX.js +0 -111
  1279. package/dist/client-C1zOmnS8.js +0 -89
  1280. package/dist/client-C56l0MnY.d.ts +0 -177
  1281. package/dist/client-CA6KuLDu.d.ts +0 -223
  1282. package/dist/client-CBcq7LBg.d.ts +0 -178
  1283. package/dist/client-CGJrSTMZ.js +0 -234
  1284. package/dist/client-CLIBcMzL.d.ts +0 -116
  1285. package/dist/client-COuIfjbB.d.ts +0 -46
  1286. package/dist/client-CVToJ4uI.js +0 -84
  1287. package/dist/client-C_0XZieg.js +0 -287
  1288. package/dist/client-CebKlRU7.js +0 -157
  1289. package/dist/client-ChOJ4v0D.js +0 -137
  1290. package/dist/client-CnENAa0E.d.ts +0 -69
  1291. package/dist/client-Cp79i2ZE.d.ts +0 -152
  1292. package/dist/client-CwKsEl6q.js +0 -99
  1293. package/dist/client-D-LPdEDQ.d.ts +0 -43
  1294. package/dist/client-D6gD9qt9.d.ts +0 -45
  1295. package/dist/client-DBwWXQKF.d.ts +0 -132
  1296. package/dist/client-DD3EcytK.js +0 -65
  1297. package/dist/client-DScMvaty.js +0 -38
  1298. package/dist/client-DT6Tvudr.d.ts +0 -54
  1299. package/dist/client-DU1_Jq4e.d.ts +0 -116
  1300. package/dist/client-Dd-a0tup.d.ts +0 -475
  1301. package/dist/client-Dh8zXgpq.js +0 -1060
  1302. package/dist/client-DkI0oyR7.js +0 -76
  1303. package/dist/client-DmjG9PHH.js +0 -211
  1304. package/dist/client-DnUFHmje.js +0 -129
  1305. package/dist/client-Do5hykMK.d.ts +0 -38
  1306. package/dist/client-DzOL3lsV.d.ts +0 -110
  1307. package/dist/client-DzukpHS1.d.ts +0 -165
  1308. package/dist/client-LngH55pZ.d.ts +0 -83
  1309. package/dist/client-PPSwiJaK.js +0 -291
  1310. package/dist/client-RoAuPQNB.d.ts +0 -103
  1311. package/dist/client-WzuQExHk.js +0 -253
  1312. package/dist/client-Y_HnZGF4.js +0 -51
  1313. package/dist/client-bDXsvSXp.d.ts +0 -90
  1314. package/dist/client-bx3Bk7c5.d.ts +0 -64
  1315. package/dist/client-jgDU7Roj.d.ts +0 -144
  1316. package/dist/client-kRvHKAKS.js +0 -60
  1317. package/dist/client-pxXoQOdC.js +0 -40
  1318. package/dist/client-yIxEJwTK.js +0 -121
  1319. package/dist/cloud-event-SPyXMdcd.d.ts +0 -64
  1320. package/dist/codecs-CQrX3ZW4.js +0 -358
  1321. package/dist/codecs-DAu2sYWn.d.ts +0 -222
  1322. package/dist/comments-CB8pFSV1.js +0 -142
  1323. package/dist/compiler-BCyHFI6n.d.ts +0 -14
  1324. package/dist/compose--4D1FoPN.js +0 -53
  1325. package/dist/composite-Dv6o2BSw.js +0 -130
  1326. package/dist/composite-KllwFim2.d.ts +0 -82
  1327. package/dist/config-BuOz_O-y.d.ts +0 -2152
  1328. package/dist/config-Dh4D8lBa.js +0 -13931
  1329. package/dist/config-Dn0cC3bM.js +0 -1093
  1330. package/dist/connector-BdCE4Efp.d.ts +0 -164
  1331. package/dist/connectors-DDiSNvkF.d.ts +0 -147
  1332. package/dist/context-9Q23weHu.d.ts +0 -524
  1333. package/dist/context-CMxVnPMY.js +0 -9
  1334. package/dist/context-CYquqpA6.js +0 -41
  1335. package/dist/controller-CSsC9s3s.js +0 -73
  1336. package/dist/controller-DAD4hbl4.d.ts +0 -52
  1337. package/dist/create-blocks-kPUhCvje.js +0 -217
  1338. package/dist/cron-_i5pBGkY.js +0 -148
  1339. package/dist/cron-route-Y0eJ-FNi.js +0 -24
  1340. package/dist/deal-forecast-CBlp20PY.js +0 -39
  1341. package/dist/define-DQznpZYl.js +0 -2023
  1342. package/dist/define-Dw7pRO4h.d.ts +0 -1123
  1343. package/dist/define-block-COpcS6aT.d.ts +0 -1338
  1344. package/dist/define-block-Dze77QTw.js +0 -56
  1345. package/dist/delegation-CeXm9AJ3.js +0 -146
  1346. package/dist/documents-kgDOHUfn.d.ts +0 -152
  1347. package/dist/embeddings-CcRP-cMN.d.ts +0 -78
  1348. package/dist/employees-Dwyvxs4r.d.ts +0 -180
  1349. package/dist/ended--Bd_Q6uL.d.ts +0 -76
  1350. package/dist/engagements-CsJhf2OM.d.ts +0 -179
  1351. package/dist/entitlements-B_ttRvI6.js +0 -45
  1352. package/dist/entitlements-DDevu4ZE.d.ts +0 -54
  1353. package/dist/entity-form-B67vq97h.d.ts +0 -82
  1354. package/dist/entity-naming-DLDhHTbK.js +0 -131
  1355. package/dist/entity-schema-BXXC1NnT.js +0 -39
  1356. package/dist/envelope-DCfHtVtZ.js +0 -90
  1357. package/dist/errors-03ysrOt4.js +0 -325
  1358. package/dist/errors-DZx8w-MH.js +0 -44
  1359. package/dist/escape-like-BfXS-iVe.d.ts +0 -30
  1360. package/dist/eve-BlJI8ZXL.d.ts +0 -157
  1361. package/dist/event-calendar-D3SVa3AE.d.ts +0 -65
  1362. package/dist/events-DbLjvxDX.d.ts +0 -852
  1363. package/dist/executor-BDAGTc_O.js +0 -207
  1364. package/dist/executor-BElVQpaB.d.ts +0 -188
  1365. package/dist/executor-CPyrQdjh.d.ts +0 -700
  1366. package/dist/executor-CsTaO3AT.d.ts +0 -37
  1367. package/dist/executor-DQoczQZJ.d.ts +0 -104
  1368. package/dist/executor-QtVn0axs.js +0 -147
  1369. package/dist/executor-o9HkOJ0m.js +0 -869
  1370. package/dist/expo-sqlite/index.d.ts +0 -61
  1371. package/dist/expo-sqlite/index.js +0 -110
  1372. package/dist/feature-BBLdbGu7.js +0 -224
  1373. package/dist/field-errors-vshYTVKr.d.ts +0 -166
  1374. package/dist/field-formats-DbjaDXoZ.d.ts +0 -39
  1375. package/dist/fields-CanaxA0U.d.ts +0 -75
  1376. package/dist/fields-DK30XCgc.js +0 -107
  1377. package/dist/filter-evaluate-C3i2bGfk.d.ts +0 -37
  1378. package/dist/filter-evaluate-CRDXv0Dl.js +0 -217
  1379. package/dist/filter-query-D4ZSwbcJ.js +0 -524
  1380. package/dist/filter-query-o3b_GuyC.d.ts +0 -133
  1381. package/dist/flags-BTDPaN11.d.ts +0 -246
  1382. package/dist/flags-BhYByvP1.js +0 -279
  1383. package/dist/flows/index.d.ts +0 -247
  1384. package/dist/flows/index.js +0 -229
  1385. package/dist/format-AYHceC2m.d.ts +0 -79
  1386. package/dist/framework-CXoyWGgd.js +0 -57
  1387. package/dist/framework-FxfJpyoF.d.ts +0 -41
  1388. package/dist/function-contract-vPqwt1j4.d.ts +0 -27
  1389. package/dist/gateway-DI8dbOml.d.ts +0 -115
  1390. package/dist/graph-B4eubUQG.js +0 -365
  1391. package/dist/groups-CxonH3u5.js +0 -16
  1392. package/dist/http-51t9xppD.js +0 -28
  1393. package/dist/impersonation-CZD9AOAk.js +0 -62
  1394. package/dist/inbox-BPBb6etH.d.ts +0 -321
  1395. package/dist/index-BSUX4dlB.d.ts +0 -305
  1396. package/dist/index-BgSuw4CC.d.ts +0 -151
  1397. package/dist/index-C7CrdGgz.d.ts +0 -562
  1398. package/dist/index-CvxK2BZS.d.ts +0 -847
  1399. package/dist/index-CxZQgNVE.d.ts +0 -62
  1400. package/dist/index-D4420jLW.d.ts +0 -66
  1401. package/dist/index-DK-YTWLd.d.ts +0 -443
  1402. package/dist/index-DbXWcrOI.d.ts +0 -577
  1403. package/dist/index-U0o7kU0s.d.ts +0 -69
  1404. package/dist/index-WEafENqH.d.ts +0 -149
  1405. package/dist/index-Yep7auV-.d.ts +0 -287
  1406. package/dist/index-eTY4kJzo.d.ts +0 -163
  1407. package/dist/invalidate-BLiBFbLy.d.ts +0 -19
  1408. package/dist/json-schema-DWDTfD8J.js +0 -888
  1409. package/dist/jwks-cache-CRymV-Dr.js +0 -49
  1410. package/dist/kit-Ct4Z6GIO.js +0 -127
  1411. package/dist/kit-DKfbNTAA.d.ts +0 -94
  1412. package/dist/knowledge-BKGrXdS_.js +0 -272
  1413. package/dist/knowledge-CFkCRxO9.d.ts +0 -202
  1414. package/dist/list-query-BtluNnYk.d.ts +0 -222
  1415. package/dist/list-query-CuS1w2Af.js +0 -559
  1416. package/dist/live-CZtRMh62.js +0 -246
  1417. package/dist/mentions-ByYnRNIG.js +0 -114
  1418. package/dist/messages-DNzIVvgN.js +0 -492
  1419. package/dist/messaging-BC-P-yAv.js +0 -329
  1420. package/dist/messaging-CZ6aWb10.d.ts +0 -297
  1421. package/dist/methods-7u6vSgz_.js +0 -11
  1422. package/dist/mfa-wrx1rqJT.d.ts +0 -36
  1423. package/dist/model-Btl8X9cs.d.ts +0 -326
  1424. package/dist/model-messages-D-jVOIOK.js +0 -206
  1425. package/dist/money-codec-jMP0PQLZ.js +0 -41
  1426. package/dist/onboarding-CGMuX7sP.js +0 -68
  1427. package/dist/openapi/index.d.ts +0 -5
  1428. package/dist/openapi/index.js +0 -36
  1429. package/dist/operations-nWYRexee.d.ts +0 -6
  1430. package/dist/options-289GJc2l.d.ts +0 -52
  1431. package/dist/options-70OsM-wK.js +0 -10
  1432. package/dist/options-B7EJaOX-.js +0 -5
  1433. package/dist/options-BkpqTGrJ.js +0 -8
  1434. package/dist/options-Blg8lAkz.js +0 -9
  1435. package/dist/options-Bn4cu0gt.js +0 -5
  1436. package/dist/options-BnoJOwXK.js +0 -8
  1437. package/dist/options-C2HesT4A.js +0 -9
  1438. package/dist/options-C3EzJATk.js +0 -10
  1439. package/dist/options-C3hZ1fbC.js +0 -10
  1440. package/dist/options-CAzVf-1T.js +0 -8
  1441. package/dist/options-CGKSUFUq.js +0 -5
  1442. package/dist/options-CGjGE8xS.js +0 -12
  1443. package/dist/options-CUqQ9pm7.js +0 -9
  1444. package/dist/options-CalPr6kN.d.ts +0 -12
  1445. package/dist/options-CfxBliP6.d.ts +0 -17
  1446. package/dist/options-ChD15QxJ.js +0 -9
  1447. package/dist/options-CmoJsd4V.d.ts +0 -8
  1448. package/dist/options-CyD7OObW.js +0 -17
  1449. package/dist/options-D1blDihM.js +0 -9
  1450. package/dist/options-D2Gd6VfS.js +0 -8
  1451. package/dist/options-D4aD9qwB.js +0 -5
  1452. package/dist/options-D65jzn7S.js +0 -5
  1453. package/dist/options-D7f2VKzj.js +0 -25
  1454. package/dist/options-D7sgG1bQ.js +0 -16
  1455. package/dist/options-DJm31rsi.d.ts +0 -16
  1456. package/dist/options-DXqcJyOP.js +0 -10
  1457. package/dist/options-DXuA4JVa.d.ts +0 -15
  1458. package/dist/options-DZupPoI0.d.ts +0 -10
  1459. package/dist/options-Dm-2crCx.d.ts +0 -273
  1460. package/dist/options-Dmg1Da9P.js +0 -25
  1461. package/dist/options-DsUgamiy.js +0 -5
  1462. package/dist/options-DujalSfR.js +0 -10
  1463. package/dist/options-Dz3hJxUw.d.ts +0 -10
  1464. package/dist/options-HSv8R6h5.js +0 -13
  1465. package/dist/options-I8zVkB_y.js +0 -8
  1466. package/dist/options-MHhjOoWz.js +0 -5
  1467. package/dist/options-MLxMkd5B.js +0 -11
  1468. package/dist/options-MQfTGMgP.d.ts +0 -14
  1469. package/dist/options-OJ5zmgr8.js +0 -10
  1470. package/dist/options-OMAUVcKK.d.ts +0 -10
  1471. package/dist/options-_9arpsX9.js +0 -11
  1472. package/dist/options-a-28mlYT.js +0 -9
  1473. package/dist/options-kLKILdIu.js +0 -10
  1474. package/dist/options-n22NK3PL.js +0 -8
  1475. package/dist/options-qU8vgxhO.js +0 -18
  1476. package/dist/options-te6d5-yz.d.ts +0 -19
  1477. package/dist/options-wFnK3qWl.js +0 -9
  1478. package/dist/options-xVAy3UsV.js +0 -9
  1479. package/dist/organizations-DtehZg3J.js +0 -401
  1480. package/dist/outbox-CsF_iKjx.d.ts +0 -199
  1481. package/dist/overlay/index.d.ts +0 -249
  1482. package/dist/overlay/index.js +0 -561
  1483. package/dist/payments-BtScsgPS.js +0 -16
  1484. package/dist/payments-CBzQIjoX.d.ts +0 -114
  1485. package/dist/permissions-BetA_Fo_.js +0 -34
  1486. package/dist/plugin-Ar5546xh.d.ts +0 -202
  1487. package/dist/plugin-D9bYbYli.js +0 -45
  1488. package/dist/plugins/actor/index.d.ts +0 -19
  1489. package/dist/plugins/actor/index.js +0 -57
  1490. package/dist/plugins/rules/index.d.ts +0 -96
  1491. package/dist/plugins/rules/index.js +0 -235
  1492. package/dist/plugins/soft-delete/index.d.ts +0 -39
  1493. package/dist/plugins/soft-delete/index.js +0 -90
  1494. package/dist/plugins/tenant/index.d.ts +0 -60
  1495. package/dist/plugins/tenant/index.js +0 -119
  1496. package/dist/plugins/timestamps/index.d.ts +0 -11
  1497. package/dist/plugins/timestamps/index.js +0 -47
  1498. package/dist/plugins/validation/index.d.ts +0 -24
  1499. package/dist/plugins/validation/index.js +0 -83
  1500. package/dist/pool-CRkU15dA.d.ts +0 -123
  1501. package/dist/pool-errors-B17BQRW-.js +0 -27
  1502. package/dist/ports-DsJicwI2.d.ts +0 -89
  1503. package/dist/ports-yajgT0t0.js +0 -139
  1504. package/dist/postgrest-DHLlN2nS.d.ts +0 -53
  1505. package/dist/powersync/react/index.d.ts +0 -93
  1506. package/dist/powersync/react/index.js +0 -120
  1507. package/dist/preset-DzcQ5CQM.js +0 -841
  1508. package/dist/problem-BWElIgIb.js +0 -162
  1509. package/dist/problem-DpHB7tWl.d.ts +0 -79
  1510. package/dist/provider-DmiaI1qt.d.ts +0 -112
  1511. package/dist/provider-EJ0-5GwJ.js +0 -57
  1512. package/dist/push-token-BxKmYhwk.d.ts +0 -24
  1513. package/dist/queries-Dw8y9bvz.js +0 -245
  1514. package/dist/rank-result-C_sHjkiz.js +0 -18
  1515. package/dist/rank-result-DwR0FawB.d.ts +0 -14
  1516. package/dist/rate-limit-B_U12PdL.js +0 -49
  1517. package/dist/rate-limit-CrOuXfjj.d.ts +0 -50
  1518. package/dist/rate-limit-DExDw3Cy.js +0 -327
  1519. package/dist/react-28VgUbm9.js +0 -852
  1520. package/dist/react-controller-CKSdtJ10.js +0 -43
  1521. package/dist/react-env-CfA3EdBH.js +0 -20
  1522. package/dist/read-set-BAR84kPC.js +0 -199
  1523. package/dist/recordings-DgDu7AOt.d.ts +0 -119
  1524. package/dist/refusal-DXydjgsS.js +0 -64
  1525. package/dist/refusal-efy5bZMd.d.ts +0 -32
  1526. package/dist/replicas-BvIL4_jL.js +0 -94
  1527. package/dist/resolve-CzUKTIMq.d.ts +0 -289
  1528. package/dist/resolve-DAYdcs22.js +0 -892
  1529. package/dist/resolved-names-Dr7brlLL.js +0 -133
  1530. package/dist/resource-BRRU-A7j.js +0 -91
  1531. package/dist/resource-DYDEnww-.d.ts +0 -115
  1532. package/dist/resource-Dk_JYsOt.js +0 -469
  1533. package/dist/resource-execute-bT9ltHVT.d.ts +0 -15
  1534. package/dist/resource-types-Bzt_bpR5.d.ts +0 -153
  1535. package/dist/resources-BV6j5TTD.js +0 -64
  1536. package/dist/resources-Du5wcL3f.d.ts +0 -7
  1537. package/dist/respond-CZYibxUx.d.ts +0 -101
  1538. package/dist/respond-z_yfyitp.js +0 -100
  1539. package/dist/result-B3m7xtRY.js +0 -146
  1540. package/dist/result-C6jDfedy.d.ts +0 -350
  1541. package/dist/rows-Bb0EPupt.js +0 -80
  1542. package/dist/rows-CtLWqdGQ.js +0 -39
  1543. package/dist/rrule-xDm2znty.js +0 -290
  1544. package/dist/rules-DcW5mj1r.js +0 -287
  1545. package/dist/run-state-CPo-1X2B.d.ts +0 -12
  1546. package/dist/sales-lines-9HsX89aO.d.ts +0 -28
  1547. package/dist/sales-lines-BhrIx2oK.js +0 -41
  1548. package/dist/sales-shared-C_u68eq2.js +0 -22
  1549. package/dist/sales-shared-DAAGwQwN.d.ts +0 -8
  1550. package/dist/schemas-9Ci3K0Hk.js +0 -103
  1551. package/dist/schemas-ypoQZ_6N.js +0 -157
  1552. package/dist/scores-CsURQDUB.d.ts +0 -172
  1553. package/dist/scores-DdPZVVt8.js +0 -177
  1554. package/dist/search-ToCOlCZ8.js +0 -106
  1555. package/dist/sections-DjxYmpu-.js +0 -26
  1556. package/dist/server-types-BOs-eFpo.d.ts +0 -809
  1557. package/dist/session-BgsOPGZs.d.ts +0 -97
  1558. package/dist/settings-mL-i7QUM.js +0 -93
  1559. package/dist/shared-LmlfYPv4.js +0 -60
  1560. package/dist/shared-eVrl39dX.js +0 -17
  1561. package/dist/sign-in-lAyf6Ohy.js +0 -386
  1562. package/dist/signatures-GUBuhLOB.js +0 -145
  1563. package/dist/signatures-zbu6KTNQ.d.ts +0 -43
  1564. package/dist/signers-D6ecZl22.d.ts +0 -390
  1565. package/dist/signing-keys-B3RHGMMu.d.ts +0 -119
  1566. package/dist/signing-keys-fWapUzi0.js +0 -164
  1567. package/dist/solid-bind-C1jeq4Qm.d.ts +0 -11
  1568. package/dist/solid-bind-iHGfGtBK.js +0 -38
  1569. package/dist/solid-controller-DGuv7V8a.js +0 -13
  1570. package/dist/spec-CoWHDoud.js +0 -119
  1571. package/dist/spec-pins-CZ2CL8YZ.d.ts +0 -120
  1572. package/dist/spec-pins-D3Tm6HJi.js +0 -60
  1573. package/dist/sql-CVYjOUyG.js +0 -421
  1574. package/dist/sql-rQDL6PIL.js +0 -122247
  1575. package/dist/sso-B744gHeS.d.ts +0 -161
  1576. package/dist/sso-Bt9HocgW.js +0 -217
  1577. package/dist/standard-DbQsD2xZ.d.ts +0 -7
  1578. package/dist/standard-DtkpFGkS.js +0 -25
  1579. package/dist/stats-qCEV5M3B.js +0 -1147
  1580. package/dist/store-o0HwYXl8.d.ts +0 -83
  1581. package/dist/subject-readers-CsTpx44c.js +0 -49
  1582. package/dist/subject-readers-DEZ45DQF.d.ts +0 -21
  1583. package/dist/subjects-B6p4oAZJ.d.ts +0 -78
  1584. package/dist/subjects-DXFmanh5.d.ts +0 -90
  1585. package/dist/subjects-DevU_atb.js +0 -107
  1586. package/dist/support-Ds1-UCN4.js +0 -534
  1587. package/dist/support-view-vwJbRMpV.d.ts +0 -17
  1588. package/dist/svelte-bind-BHN5a8VV.js +0 -46
  1589. package/dist/svelte-bind-Ja6CtQGp.d.ts +0 -13
  1590. package/dist/svelte-controller-oFKC9AYu.js +0 -19
  1591. package/dist/table-schema-BcB-VCQb.js +0 -293
  1592. package/dist/table-schema-Cb-IV_pZ.d.ts +0 -78
  1593. package/dist/tags-CLXi2c6O.d.ts +0 -30
  1594. package/dist/tags-C_ym1yDM.js +0 -39
  1595. package/dist/tags-EnvIccSJ.js +0 -86
  1596. package/dist/tanstack-db/supabase/index.d.ts +0 -66
  1597. package/dist/tanstack-db/supabase/index.js +0 -271
  1598. package/dist/tax-CIIxd8Zf.d.ts +0 -170
  1599. package/dist/tax-DmOMjrYc.js +0 -140
  1600. package/dist/tee-DwkUvJD_.js +0 -101
  1601. package/dist/template-BWP7IXZg.js +0 -126
  1602. package/dist/temporal-required-B8qQHYbI.js +0 -20
  1603. package/dist/tenant-Bg4PDLkG.d.ts +0 -17
  1604. package/dist/tenant-DnMqeNIM.js +0 -27
  1605. package/dist/timeline-0_hTBH0-.js +0 -52
  1606. package/dist/timeline-DUUsPLv5.d.ts +0 -152
  1607. package/dist/timing-C5NzaEgy.js +0 -95
  1608. package/dist/topic-CPOmMgkf.js +0 -643
  1609. package/dist/topic-D9j8G2dw.d.ts +0 -415
  1610. package/dist/types-BEDfwXL4.d.ts +0 -251
  1611. package/dist/types-BRJHGhSq.d.ts +0 -177
  1612. package/dist/types-BTK75521.js +0 -8
  1613. package/dist/types-CGUDoF5I.d.ts +0 -624
  1614. package/dist/types-DkPE7yd2.d.ts +0 -194
  1615. package/dist/types-QHeku_6b.d.ts +0 -217
  1616. package/dist/types-uHD9yANu.d.ts +0 -700
  1617. package/dist/undo-B696duxr.d.ts +0 -46
  1618. package/dist/undo-vutx78k8.js +0 -44
  1619. package/dist/upload-claim-D_wgDbi7.js +0 -33
  1620. package/dist/usage-BI1E2940.js +0 -264
  1621. package/dist/usage-DBcVGqnr.d.ts +0 -232
  1622. package/dist/user-change-CSR_prhd.js +0 -133
  1623. package/dist/variants-DL7NpFJ7.js +0 -53
  1624. package/dist/vault-BQTdu4eH.d.ts +0 -62
  1625. package/dist/verify-27w0I5C9.js +0 -130
  1626. package/dist/verify-BmuCB4PW.d.ts +0 -146
  1627. package/dist/view-2_I-2ukO.d.ts +0 -90
  1628. package/dist/view-BtgqxQLM.js +0 -108
  1629. package/dist/vue-bind-CFxon-Vs.js +0 -45
  1630. package/dist/vue-bind-TPkbLl4z.d.ts +0 -11
  1631. package/dist/vue-controller-WtbuT-Ux.js +0 -13
  1632. package/dist/watch-CfMT6vX7.js +0 -139
  1633. package/dist/watch-DziJudwj.d.ts +0 -93
  1634. package/dist/watch-topic-CIT3UlAh.d.ts +0 -31
  1635. package/dist/wire-Bizdxvp-.js +0 -66
  1636. package/dist/work-items-Cnntm8ij.d.ts +0 -238
  1637. package/dist/workflow-builder-2q1iqHYG.js +0 -699
  1638. package/dist/workflow-sdk-BTYWQQg9.d.ts +0 -163
  1639. package/dist/workflow-sdk-_pqDUwNK.js +0 -242
  1640. package/dist/workflow-sdk-world-BIwGVy6S.js +0 -2401
  1641. package/dist/workflows-D8U7KyXJ.d.ts +0 -258
  1642. package/dist/workflows-VJBSV-QR.js +0 -285
  1643. package/skills/better-supabase/references/plugins.md +0 -71
@@ -0,0 +1,2011 @@
1
+ import { r as isPlainObject, t as cloneValue } from "./clone-CkG0-hlI.js";
2
+ import { t as DbException } from "./db-exception-Lngc1W49.js";
3
+ import { n as dbError } from "./errors-BVFgt8BZ.js";
4
+ import { n as isRecord, t as isList } from "./guards-6F2bCtQR.js";
5
+ import { c as optionalTemporal, l as provideTemporal, s as nowInstant, u as providedTemporal } from "./temporal-DLZlWbOi.js";
6
+ import { a as decodeValue, i as decodeScalar, n as invalidRequest, o as encodeValue, t as builderFor } from "./build-BFC8nFiL.js";
7
+ import { t as lookupOf } from "./lookup-BaP5bI27.js";
8
+ import { i as or, n as column, r as not, t as and } from "./types-R6syp1el.js";
9
+ import { a as ok, c as withErrorMapper, r as err, s as toDbError, t as AsyncResult } from "./result-ntFBW2p2.js";
10
+ import { t as invalidationTargets } from "./tables-Cb-3_VWc.js";
11
+ import { t as blocksPrototype } from "./db-blocks-DJGbjIPz.js";
12
+ import { t as vectorLiteral } from "./search-Cn_DGluL.js";
13
+ import { t as consoleLogger } from "./logger-glM28NVN.js";
14
+ import { n as errorEvent, t as EventHub } from "./events-D6IZ5CE8.js";
15
+ import { i as orderPlugins } from "./plugin-AKwwe2gF.js";
16
+ import { t as simplify } from "./simplify-DDO0j0LI.js";
17
+ import { a as invalidTuning, i as deadline, n as postgrestExecutor, o as tuningOf, r as NO_TUNING } from "./postgrest-executor-BFW4oWte.js";
18
+ import { n as isQuerySpec, r as specTables, t as createSpecs } from "./spec-DTWkHzYZ.js";
19
+ import { n as checkParams, o as isReadSet, r as containsPlaceholder, t as bindParams } from "./read-set-BnKnofIj.js";
20
+ import { a as toBase64Url, t as base64ToText } from "./base64-B9Wlsdj7.js";
21
+ import { n as validate } from "./standard-BA3mLh6w.js";
22
+ import { n as StatsRecorder, r as recordStats } from "./stats-BHl1-zj9.js";
23
+ //#region src/core/batch.ts
24
+ /**
25
+ * A signal that aborts once every reader's signal has, so one reader giving up
26
+ * never cancels the operations of the others. `undefined` when a reader has no
27
+ * signal.
28
+ */
29
+ function allAborted(signals) {
30
+ const present = signals.filter((signal) => signal !== void 0);
31
+ if (present.length < signals.length) return;
32
+ if (present.length === 1) return present[0];
33
+ const controller = new AbortController();
34
+ const check = () => {
35
+ if (present.every((signal) => signal.aborted)) controller.abort();
36
+ };
37
+ for (const signal of present) signal.addEventListener("abort", check, { once: true });
38
+ check();
39
+ return controller.signal;
40
+ }
41
+ /**
42
+ * Holds operations until each of `readers` has either submitted one or
43
+ * finished, then runs the held ones through `batch` together. A reader that
44
+ * runs a second operation joins the next batch.
45
+ */
46
+ function batchingExecutor(base, readers) {
47
+ let running = readers;
48
+ const queue = [];
49
+ const flush = () => {
50
+ if (queue.length === 0 || queue.length < running) return;
51
+ const items = queue.splice(0);
52
+ const { signal: _first, ...shared } = items[0].context;
53
+ const signal = allAborted(items.map((item) => item.context.signal));
54
+ const context = signal ? {
55
+ ...shared,
56
+ signal
57
+ } : shared;
58
+ for (const item of items) item.context.signal?.addEventListener("abort", () => {
59
+ item.resolve(err(dbError("aborted", "The request was aborted")));
60
+ }, { once: true });
61
+ base.batch(items.map((item) => item.op), context).then((results) => {
62
+ for (const [index, item] of items.entries()) item.resolve(results[index] ?? err(toDbError(/* @__PURE__ */ new Error(`Executor "${base.name}" returned too few results`))));
63
+ }, (cause) => {
64
+ for (const item of items) item.resolve(err(toDbError(cause)));
65
+ });
66
+ };
67
+ return {
68
+ executor: {
69
+ name: base.name,
70
+ execute: (op, context) => new Promise((resolve) => {
71
+ queue.push({
72
+ op,
73
+ context,
74
+ resolve
75
+ });
76
+ flush();
77
+ }),
78
+ ...base.rpc ? { rpc: base.rpc.bind(base) } : {}
79
+ },
80
+ done: () => {
81
+ running -= 1;
82
+ flush();
83
+ }
84
+ };
85
+ }
86
+ //#endregion
87
+ //#region src/core/cache.ts
88
+ /** Primary key of a row as a string, or `undefined` when it isn't returned. */
89
+ function rowKey(table, row) {
90
+ if (table.primaryKey.length === 0) return;
91
+ const parts = table.primaryKey.map((column) => row[column]);
92
+ if (parts.some((part) => part === void 0 || part === null)) return;
93
+ return parts.map(String).join(",");
94
+ }
95
+ function cacheTargetOf(meta, notice) {
96
+ const table = meta.tables[notice.table];
97
+ const rows = notice.rows.length > 0 ? notice.rows : notice.keys ?? [];
98
+ const ids = table ? [...new Set(rows.flatMap((row) => rowKey(table, row) ?? []))] : [];
99
+ const tenant = notice.tenant ?? notice.context.tenant;
100
+ return {
101
+ table: notice.table,
102
+ tables: notice.kind === "delete" ? invalidationTargets(meta, notice.table) : [notice.table],
103
+ ids,
104
+ ...tenant === void 0 ? {} : { tenant }
105
+ };
106
+ }
107
+ /** One target per table an RPC changes; RPCs report no row ids. */
108
+ function rpcCacheTargets(meta, notice) {
109
+ const tenant = notice.context.tenant;
110
+ return notice.invalidates.map((table) => ({
111
+ table,
112
+ tables: invalidationTargets(meta, table),
113
+ ids: [],
114
+ ...tenant === void 0 ? {} : { tenant }
115
+ }));
116
+ }
117
+ /** Records invalidations. For tests and for checking what a mutation touches. */
118
+ function memoryCache() {
119
+ const invalidated = [];
120
+ return {
121
+ name: "memory",
122
+ invalidated,
123
+ invalidate: (target) => {
124
+ invalidated.push(target);
125
+ },
126
+ clear: () => {
127
+ invalidated.length = 0;
128
+ }
129
+ };
130
+ }
131
+ //#endregion
132
+ //#region src/core/db-search.ts
133
+ /**
134
+ * `db.$search({ score: true })`: the ranked ids and scores from
135
+ * `search_<table>_scores`, then those rows through the table (RLS and `where`
136
+ * apply), best first, each with `$score`.
137
+ */
138
+ async function scoredSearch(runner, table, fnArgs, args, hint) {
139
+ const [key, ...rest] = table.primaryKey;
140
+ if (key === void 0 || rest.length > 0) return err(dbError("invalid_request", "db.$search({ score: true }) needs a table with a one-column primary key", { table: table.key }));
141
+ const { builder } = runner.runtime;
142
+ const scoresTable = {
143
+ key: `${table.key}$scores`,
144
+ name: `search_${table.name}_scores`,
145
+ schema: table.schema,
146
+ kind: "view",
147
+ columns: {
148
+ id: {
149
+ db: "id",
150
+ type: "jsonb",
151
+ nullable: false,
152
+ hasDefault: false
153
+ },
154
+ score: {
155
+ db: "score",
156
+ type: "float8",
157
+ nullable: false,
158
+ hasDefault: false
159
+ }
160
+ },
161
+ primaryKey: [],
162
+ uniqueKeys: {},
163
+ relations: {},
164
+ flags: {}
165
+ };
166
+ const scored = await runner.runInternal({
167
+ kind: "select",
168
+ table: scoresTable,
169
+ selection: builder.selection(scoresTable, ["id", "score"], void 0),
170
+ where: void 0,
171
+ orderBy: [],
172
+ limit: void 0,
173
+ offset: void 0,
174
+ count: void 0,
175
+ head: false,
176
+ single: void 0,
177
+ source: {
178
+ schema: table.schema,
179
+ name: scoresTable.name,
180
+ args: fnArgs
181
+ }
182
+ }, table, args.signal);
183
+ if (!scored.ok) return err(hint(scored.error));
184
+ const ranked = scored.data.rows.flatMap((row) => row["score"] === void 0 || row["score"] === null ? [] : [{
185
+ id: row["id"],
186
+ score: Number(row["score"])
187
+ }]);
188
+ if (ranked.length === 0) return ok([]);
189
+ const byId = new Map(ranked.map((entry) => [String(entry.id), entry]));
190
+ const op = {
191
+ kind: "select",
192
+ table,
193
+ selection: builder.selection(table, args.select, args.include),
194
+ where: builder.where(table, { AND: [...args.where === void 0 ? [] : [args.where], { [key]: { in: ranked.map((entry) => entry.id) } }] }),
195
+ orderBy: [],
196
+ limit: ranked.length,
197
+ offset: void 0,
198
+ count: void 0,
199
+ head: false,
200
+ single: void 0
201
+ };
202
+ const result = await runner.run(op, {}, args.signal);
203
+ if (!result.ok) return result;
204
+ return ok(result.data.rows.flatMap((row) => {
205
+ const entry = byId.get(String(row[key]));
206
+ return entry ? [{
207
+ ...row,
208
+ $score: entry.score
209
+ }] : [];
210
+ }).toSorted((a, b) => b.$score - a.$score));
211
+ }
212
+ /**
213
+ * `db.$search(table, args)`: nearest rows from the table's `search_<table>`
214
+ * function.
215
+ */
216
+ function searchTable(runner, base, meta, name, args) {
217
+ return AsyncResult.from(async () => {
218
+ const table = Object.hasOwn(meta.tables, name) ? meta.tables[name] : void 0;
219
+ if (!table) return err(dbError("invalid_request", `db.$search(): unknown table "${name}"`));
220
+ if (!base.functionSources) return err(dbError("invalid_request", `db.$search() reads from a function; the ${base.name} executor doesn't support that`, { table: table.key }));
221
+ const query = (args.vector === void 0 || args.vector === null) && args.text !== void 0 ? null : vectorLiteral(args.vector ?? []);
222
+ const k = args.k ?? 10;
223
+ if (query === void 0 || !Number.isInteger(k) || k < 1) return err(dbError("invalid_input", "db.$search() needs a vector of finite numbers (or text alone on a hybrid entry) and a positive integer k", { table: table.key }));
224
+ const { builder } = runner.runtime;
225
+ const fnArgs = {
226
+ query,
227
+ k,
228
+ ...args.filter === void 0 ? {} : { filter: args.filter },
229
+ ...args.text === void 0 ? {} : { text_query: args.text }
230
+ };
231
+ const hint = (error) => error.code === "PGRST202" || error.code === "42883" ? {
232
+ ...error,
233
+ hint: `Add "${table.schema}.${table.name}" to vectorSearch in better-supabase.config.ts (with prefilter or hybrid for filter and text) and run \`better-supabase upgrade\`.`
234
+ } : error;
235
+ if (args.score) return scoredSearch(runner, table, fnArgs, args, hint);
236
+ const op = {
237
+ kind: "select",
238
+ table,
239
+ selection: builder.selection(table, args.select, args.include),
240
+ where: builder.where(table, args.where),
241
+ orderBy: [],
242
+ limit: k,
243
+ offset: void 0,
244
+ count: void 0,
245
+ head: false,
246
+ single: void 0,
247
+ source: {
248
+ schema: table.schema,
249
+ name: `search_${table.name}`,
250
+ args: fnArgs
251
+ }
252
+ };
253
+ const result = await runner.run(op, {}, args.signal);
254
+ if (result.ok) return ok(result.data.rows);
255
+ return err(hint(result.error));
256
+ });
257
+ }
258
+ //#endregion
259
+ //#region src/core/define-plugins.ts
260
+ function isExecutor(value) {
261
+ return typeof value === "object" && value !== null && typeof value.execute === "function" && typeof value.name === "string";
262
+ }
263
+ /** No plugins, one shared array so the caches keyed on a plugin list hit. */
264
+ const NO_PLUGINS = Object.freeze([]);
265
+ /**
266
+ * The kept lists per installed list and `keep` names, so each is one stable
267
+ * array.
268
+ */
269
+ const keptLists = /* @__PURE__ */ new WeakMap();
270
+ /**
271
+ * The installed plugins named in `keep`; a name that isn't installed throws, so
272
+ * a typo can't drop tracing silently.
273
+ */
274
+ function keptPlugins(plugins, keep) {
275
+ if (keep.length === 0) return NO_PLUGINS;
276
+ let byKeep = keptLists.get(plugins);
277
+ if (!byKeep) {
278
+ byKeep = /* @__PURE__ */ new Map();
279
+ keptLists.set(plugins, byKeep);
280
+ }
281
+ const key = keep.join("\0");
282
+ const cached = byKeep.get(key);
283
+ if (cached) return cached;
284
+ for (const name of keep) if (!plugins.some((plugin) => plugin.name === name)) throw new TypeError(`better-supabase: $withoutPlugins({ keep }) names "${name}", which is not installed. Installed: ${plugins.map((plugin) => plugin.name).join(", ") || "none"}`);
285
+ const kept = plugins.filter((plugin) => keep.includes(plugin.name));
286
+ byKeep.set(key, kept);
287
+ return kept;
288
+ }
289
+ //#endregion
290
+ //#region src/core/diagnostics.ts
291
+ /**
292
+ * Debug records for the `diagnostics` option, after the Supabase SDK capability
293
+ * `client.observability.diagnostic_logging`
294
+ * (`SPEC_PINS.supabaseSdkCapabilities`). Fields are names, kinds, counts and
295
+ * timings only: never tokens, keys, row values, filters, query strings, headers
296
+ * or database error messages, which can quote the data.
297
+ */
298
+ function logDiagnostics(events) {
299
+ const logger = { debug(message, fields) {
300
+ try {
301
+ events.logger.debug(message, fields);
302
+ } catch {}
303
+ } };
304
+ events.on("query", (event) => {
305
+ logger.debug(`${event.operation} ${event.table} ${event.ok ? "ok" : "failed"} in ${String(Math.round(event.durationMs))}ms`, {
306
+ table: event.table,
307
+ operation: event.operation,
308
+ ok: event.ok,
309
+ durationMs: event.durationMs,
310
+ rows: event.rows,
311
+ truncated: event.truncated
312
+ });
313
+ });
314
+ events.on("error", ({ table, error }) => {
315
+ logger.debug(`${error.kind} error${table ? ` on ${table}` : ""}`, {
316
+ ...table ? { table } : {},
317
+ kind: error.kind,
318
+ status: error.status,
319
+ ...error.code ? { code: error.code } : {}
320
+ });
321
+ });
322
+ events.on("refresh", (event) => {
323
+ logger.debug(`session refresh ${event.ok ? "ok" : "failed"} in ${String(Math.round(event.durationMs))}ms`, {
324
+ ok: event.ok,
325
+ shared: event.shared,
326
+ durationMs: event.durationMs
327
+ });
328
+ });
329
+ events.on("auth", (event) => {
330
+ logger.debug(`auth from ${event.source}: ${event.ok ? "user" : event.reason ?? "no user"}`, {
331
+ source: event.source,
332
+ ok: event.ok,
333
+ ...event.reason ? { reason: event.reason } : {}
334
+ });
335
+ });
336
+ }
337
+ /**
338
+ * The event hub of a new definition, with the diagnostic handlers when
339
+ * `diagnostics` is on.
340
+ */
341
+ function definitionEvents(options) {
342
+ const events = new EventHub(options.logger ?? consoleLogger, options.now);
343
+ if (options.diagnostics === true) logDiagnostics(events);
344
+ return events;
345
+ }
346
+ //#endregion
347
+ //#region src/ir/codec.ts
348
+ /** Whether decoding `selection` changes anything, so plain reads skip the walk. */
349
+ function needsDecoding(selection) {
350
+ let needs = decodes.get(selection);
351
+ if (needs === void 0) {
352
+ needs = computeNeedsDecoding(selection);
353
+ decodes.set(selection, needs);
354
+ }
355
+ return needs;
356
+ }
357
+ const decodes = /* @__PURE__ */ new WeakMap();
358
+ function computeNeedsDecoding(selection) {
359
+ return selection.aggregate !== void 0 || selection.columns.some((column) => column.codec !== void 0) || selection.includes.some((include) => include.count !== void 0 || include.aggregate !== void 0 || needsDecoding(include.selection));
360
+ }
361
+ /**
362
+ * PostgREST returns `[{ count }]` for a `(count)` embed; SQL returns the
363
+ * number.
364
+ */
365
+ function countOf$1(value) {
366
+ if (Array.isArray(value)) {
367
+ const first = value[0];
368
+ return Number(first?.count ?? 0);
369
+ }
370
+ return Number(value ?? 0);
371
+ }
372
+ function measureOf(measure, value) {
373
+ if (value === void 0 || value === null) return null;
374
+ return measure.codec ? decodeScalar(measure.codec, value) : value;
375
+ }
376
+ /** Adds `value` under `row[key][name]`, next to what is already there. */
377
+ function fold(row, folded, key, name, value) {
378
+ let target = folded.get(key);
379
+ if (!target) {
380
+ target = { ...row[key] };
381
+ folded.set(key, target);
382
+ row[key] = target;
383
+ }
384
+ target[name] = value;
385
+ }
386
+ const droppedKeys = /* @__PURE__ */ new WeakMap();
387
+ /** Wire keys that decoding folds into `_count`, `_sum` and the rest. */
388
+ function droppedOf(selection) {
389
+ let dropped = droppedKeys.get(selection);
390
+ if (!dropped) {
391
+ dropped = /* @__PURE__ */ new Set([...selection.aggregate?.measures.map((measure) => measure.key) ?? [], ...selection.includes.filter((include) => include.count !== void 0 || include.aggregate !== void 0).map((include) => include.alias)]);
392
+ droppedKeys.set(selection, dropped);
393
+ }
394
+ return dropped;
395
+ }
396
+ function decodeRow$1(selection, row) {
397
+ const dropped = droppedOf(selection);
398
+ const out = {};
399
+ for (const key in row) if (!dropped.has(key) && Object.hasOwn(row, key)) out[key] = row[key];
400
+ const folded = /* @__PURE__ */ new Map();
401
+ for (const column of selection.columns) {
402
+ if (!column.codec || !(column.alias in out)) continue;
403
+ try {
404
+ out[column.alias] = decodeValue(column.codec, out[column.alias]);
405
+ } catch (cause) {
406
+ if (!(cause instanceof DbException) || cause.error.kind !== "invalid_value") throw cause;
407
+ throw new DbException(dbError("invalid_value", `${column.alias}: ${cause.error.message}`, { column: column.alias }));
408
+ }
409
+ }
410
+ if (selection.aggregate) {
411
+ if (selection.aggregate.count) out["_count"] = countOf$1(out["_count"]);
412
+ for (const measure of selection.aggregate.measures) {
413
+ const value = row[measure.key];
414
+ fold(out, folded, `_${measure.fn}`, measure.alias, measureOf(measure, value));
415
+ }
416
+ }
417
+ for (const include of selection.includes) {
418
+ const value = row[include.alias];
419
+ if (include.count !== void 0) {
420
+ if (!(include.alias in row)) continue;
421
+ fold(out, folded, "_count", include.count, countOf$1(value));
422
+ continue;
423
+ }
424
+ if (include.aggregate !== void 0) {
425
+ if (!(include.alias in row)) continue;
426
+ const inner = Array.isArray(value) ? value[0] : value;
427
+ const measures = {};
428
+ for (const measure of include.selection.aggregate?.measures ?? []) measures[measure.alias] = measureOf(measure, inner?.[measure.key]);
429
+ fold(out, folded, `_${include.aggregate.fn}`, include.aggregate.name, measures);
430
+ continue;
431
+ }
432
+ if (Array.isArray(value)) out[include.alias] = value.map((item) => decodeRow$1(include.selection, item));
433
+ else if (value && typeof value === "object") out[include.alias] = decodeRow$1(include.selection, value);
434
+ }
435
+ return out;
436
+ }
437
+ /** Applies column codecs to returned rows, including embedded relations. */
438
+ function decodeRows(selection, rows, checked = false) {
439
+ if (!selection || !checked && !needsDecoding(selection)) return rows;
440
+ return rows.map((row) => decodeRow$1(selection, row));
441
+ }
442
+ //#endregion
443
+ //#region src/core/cursor.ts
444
+ function isBound(value) {
445
+ return typeof value === "object" && value !== null && "s" in value && typeof value.s === "string" && "v" in value && Array.isArray(value.v);
446
+ }
447
+ function parse(cursor) {
448
+ try {
449
+ return JSON.parse(base64ToText(cursor));
450
+ } catch {
451
+ return;
452
+ }
453
+ }
454
+ /** Opaque, URL-safe keyset cursor. */
455
+ function encodeCursor(values) {
456
+ return toBase64Url(JSON.stringify(values));
457
+ }
458
+ /** The values of a cursor from `encodeCursor` or from `page()`. */
459
+ function decodeCursor(cursor) {
460
+ const parsed = parse(cursor);
461
+ if (isList(parsed)) return [...parsed];
462
+ return isBound(parsed) ? parsed.v : void 0;
463
+ }
464
+ /** A short FNV-1a hash of `text`, enough to tell two sorts apart. */
465
+ function sortKey(text) {
466
+ let hash = 2166136261;
467
+ for (let index = 0; index < text.length; index += 1) {
468
+ hash ^= text.codePointAt(index) ?? 0;
469
+ hash = Math.imul(hash, 16777619);
470
+ }
471
+ return (hash >>> 0).toString(36);
472
+ }
473
+ /** A `page()` cursor that only continues the sort `key` names. */
474
+ function encodeBoundCursor(values, key) {
475
+ return toBase64Url(JSON.stringify({
476
+ s: key,
477
+ v: values
478
+ }));
479
+ }
480
+ /**
481
+ * The values of a `page()` cursor made for the sort `key`. `sort` means the
482
+ * cursor is valid but continues another sort or table.
483
+ */
484
+ function decodeBoundCursor(cursor, key) {
485
+ const parsed = parse(cursor);
486
+ if (!isBound(parsed)) return { invalid: "cursor" };
487
+ return parsed.s === key ? { values: parsed.v } : { invalid: "sort" };
488
+ }
489
+ //#endregion
490
+ //#region src/core/keyset.ts
491
+ /**
492
+ * The rows after the cursor `values` in `orderBy` order, as an OR of ANDs: `a >
493
+ * x or (a = x and b > y)`. The SQL compiler sends that shape as the row
494
+ * comparison `(a, b) > (x, y)`. Nulls sort where Postgres puts them: last for
495
+ * `asc`, first for `desc`, unless the term says otherwise.
496
+ */
497
+ function keysetCondition(orderBy, values, nullable) {
498
+ const isNull = (name) => column(name, "is", null);
499
+ const branches = orderBy.flatMap((term, index) => {
500
+ const value = values[index];
501
+ const nullsFirst = (term.nulls ?? (term.direction === "desc" ? "first" : "last")) === "first";
502
+ const after = column(term.column, term.direction === "asc" ? "gt" : "lt", value);
503
+ const step = value === null ? nullsFirst ? not(isNull(term.column)) : void 0 : nullsFirst || !nullable(term.column) ? after : or(after, isNull(term.column));
504
+ if (!step) return [];
505
+ const equal = orderBy.slice(0, index).map((prev, prevIndex) => values[prevIndex] === null ? isNull(prev.column) : column(prev.column, "eq", values[prevIndex]));
506
+ return [and(...equal, step) ?? step];
507
+ });
508
+ if (branches.length === 0) return column(orderBy[0]?.column ?? "", "in", []);
509
+ const after = or(...branches);
510
+ const [first] = orderBy;
511
+ if (orderBy.length < 2 || !first || values[0] === null || nullable(first.column)) return after;
512
+ const bound = column(first.column, first.direction === "asc" ? "gte" : "lte", values[0]);
513
+ return and(bound, after) ?? after;
514
+ }
515
+ //#endregion
516
+ //#region src/core/paginate.ts
517
+ /**
518
+ * The page size and row offset of a list call, or the reason its arguments are
519
+ * invalid.
520
+ */
521
+ function pageWindow(args) {
522
+ if (args["offset"] !== void 0 || args["limit"] !== void 0) {
523
+ if (args["page"] !== void 0 || args["size"] !== void 0) return { invalid: "Pass \"offset\" and \"limit\" or \"page\" and \"size\"" };
524
+ const limit = Number(args["limit"]);
525
+ if (!Number.isInteger(limit) || limit < 1) return { invalid: "\"limit\" must be a positive integer" };
526
+ const offset = Number(args["offset"]);
527
+ if (!Number.isInteger(offset) || offset < 0) return { invalid: "\"offset\" must be a non-negative integer" };
528
+ return {
529
+ size: limit,
530
+ offset
531
+ };
532
+ }
533
+ const size = Number(args["size"]);
534
+ if (!Number.isInteger(size) || size < 1) return { invalid: "\"size\" must be a positive integer" };
535
+ const number = args["page"] === void 0 ? 1 : Number(args["page"]);
536
+ if (!Number.isInteger(number) || number < 1) return { invalid: "\"page\" must be a positive integer" };
537
+ return {
538
+ size,
539
+ offset: (number - 1) * size
540
+ };
541
+ }
542
+ /**
543
+ * The `{ items, page }` answer of an offset page from the rows read with one
544
+ * extra row.
545
+ */
546
+ function offsetEnvelope(rows, total, size, offset) {
547
+ return {
548
+ items: rows.slice(0, size),
549
+ page: {
550
+ number: Math.floor(offset / size) + 1,
551
+ size,
552
+ total,
553
+ pages: total === null ? null : Math.max(1, Math.ceil(total / size)),
554
+ hasMore: rows.length > size
555
+ }
556
+ };
557
+ }
558
+ /** A copy of the row without the given keys. */
559
+ function strip(row, keys) {
560
+ const copy = {};
561
+ for (const key in row) if (!keys.includes(key) && Object.hasOwn(row, key)) copy[key] = row[key];
562
+ return copy;
563
+ }
564
+ //#endregion
565
+ //#region src/core/row-keys.ts
566
+ /** App-cased primary keys of `rows`, or of a `where` that pins the primary key. */
567
+ function keysOf(op, rows) {
568
+ const { primaryKey } = op.table;
569
+ if (primaryKey.length === 0) return;
570
+ const fromRows = rows.flatMap((row) => primaryKey.every((name) => row[name] !== void 0 && row[name] !== null) ? [Object.fromEntries(primaryKey.map((name) => [name, row[name]]))] : []);
571
+ if (fromRows.length > 0) return fromRows;
572
+ if (op.kind === "insert") return;
573
+ return keysFromWhere(op.table, op.where);
574
+ }
575
+ function keysFromWhere(table, where) {
576
+ if (!where) return;
577
+ const { byDb } = lookupOf(table);
578
+ const pinned = /* @__PURE__ */ new Map();
579
+ const items = [];
580
+ const flatten = (condition) => {
581
+ if (condition.kind === "and") for (const item of condition.items) flatten(item);
582
+ else items.push(condition);
583
+ };
584
+ flatten(where);
585
+ for (const item of items) {
586
+ if (item.kind !== "column" || item.path) continue;
587
+ const app = byDb.get(item.column)?.[0];
588
+ if (app === void 0 || !table.primaryKey.includes(app)) continue;
589
+ if (item.op === "eq") pinned.set(app, [item.value]);
590
+ else if (item.op === "in" && Array.isArray(item.value)) pinned.set(app, item.value);
591
+ }
592
+ if (pinned.size !== table.primaryKey.length) return;
593
+ const [first, ...rest] = table.primaryKey;
594
+ if (first === void 0) return;
595
+ if (rest.length === 0) return (pinned.get(first) ?? []).map((value) => ({ [first]: value }));
596
+ if ([...pinned.values()].some((values) => values.length !== 1)) return;
597
+ return [Object.fromEntries(table.primaryKey.map((name) => [name, pinned.get(name)?.[0]]))];
598
+ }
599
+ /**
600
+ * Rows in conflict-key order, so concurrent upserts lock the same rows in the
601
+ * same order instead of deadlocking.
602
+ */
603
+ function byKey(rows, columns) {
604
+ const compare = (left, right) => {
605
+ if (left === right) return 0;
606
+ if (left === null || left === void 0) return 1;
607
+ if (right === null || right === void 0) return -1;
608
+ if (typeof left === "number" && typeof right === "number") return left - right;
609
+ if (typeof left === "bigint" && typeof right === "bigint") return left < right ? -1 : 1;
610
+ const a = String(left);
611
+ const b = String(right);
612
+ return a < b ? -1 : a > b ? 1 : 0;
613
+ };
614
+ const keyed = rows.map((row) => ({
615
+ row,
616
+ key: columns.map((column) => {
617
+ const value = row[column];
618
+ return typeof value === "object" && value !== null ? String(value) : value;
619
+ })
620
+ }));
621
+ keyed.sort((left, right) => {
622
+ for (let index = 0; index < columns.length; index += 1) {
623
+ const order = compare(left.key[index], right.key[index]);
624
+ if (order !== 0) return order;
625
+ }
626
+ return 0;
627
+ });
628
+ return keyed.map((entry) => entry.row);
629
+ }
630
+ //#endregion
631
+ //#region src/core/runner.ts
632
+ const KNOWN_KEYS = /* @__PURE__ */ new Set([
633
+ "select",
634
+ "include",
635
+ "where",
636
+ "orderBy",
637
+ "limit",
638
+ "offset",
639
+ "signal",
640
+ "returning",
641
+ "expect",
642
+ "onConflict",
643
+ "ignoreDuplicates",
644
+ "page",
645
+ "size",
646
+ "count",
647
+ "after",
648
+ "mode",
649
+ "data",
650
+ "groupBy",
651
+ "_count",
652
+ "_sum",
653
+ "_avg",
654
+ "_min",
655
+ "_max",
656
+ "timeout",
657
+ "retry",
658
+ "maxAffected",
659
+ "defaultToNull"
660
+ ]);
661
+ const NO_OPTIONS = Object.freeze({});
662
+ function optionsOf(args) {
663
+ if (!args) return NO_OPTIONS;
664
+ let options;
665
+ for (const key in args) if (!KNOWN_KEYS.has(key) && Object.hasOwn(args, key)) (options ??= {})[key] = args[key];
666
+ return options ?? NO_OPTIONS;
667
+ }
668
+ const hooksByPlugins = /* @__PURE__ */ new WeakMap();
669
+ function hooksOf(plugins) {
670
+ let hooks = hooksByPlugins.get(plugins);
671
+ if (!hooks) {
672
+ hooks = {
673
+ transformQuery: plugins.filter((plugin) => plugin.transformQuery),
674
+ beforeMutation: plugins.filter((plugin) => plugin.beforeMutation),
675
+ afterMutation: plugins.filter((plugin) => plugin.afterMutation)
676
+ };
677
+ hooksByPlugins.set(plugins, hooks);
678
+ }
679
+ return hooks;
680
+ }
681
+ function isThenable(value) {
682
+ return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
683
+ }
684
+ function signalOf(args) {
685
+ const signal = args?.["signal"];
686
+ return signal instanceof AbortSignal ? signal : void 0;
687
+ }
688
+ function cloneRows(rows) {
689
+ return rows.map((row) => cloneValue(row));
690
+ }
691
+ function mutationKind(op) {
692
+ if (op.kind === "insert") return op.onConflict ? "upsert" : "insert";
693
+ return op.kind;
694
+ }
695
+ /** Runs operations through plugins, the executor and the event hub. */
696
+ var OperationRunner = class {
697
+ runtime;
698
+ #hooks;
699
+ constructor(runtime) {
700
+ this.runtime = runtime;
701
+ this.#hooks = hooksOf(runtime.plugins);
702
+ }
703
+ hookArgs(table, options, signal) {
704
+ return {
705
+ table,
706
+ schema: this.runtime.meta,
707
+ context: this.runtime.context,
708
+ options,
709
+ now: this.runtime.now,
710
+ ...signal ? { signal } : {}
711
+ };
712
+ }
713
+ async run(op, options, signal, tuning = NO_TUNING) {
714
+ const { runtime } = this;
715
+ const hooks = this.#hooks;
716
+ if ("invalid" in tuning) return this.fail(op.table, dbError("invalid_request", tuning.invalid));
717
+ const { timeout, retry } = {
718
+ ...runtime.tuning,
719
+ ...tuning
720
+ };
721
+ const invalid = invalidTuning({
722
+ timeout,
723
+ retry
724
+ });
725
+ if (invalid) return this.fail(op.table, dbError("invalid_request", invalid));
726
+ let current = op;
727
+ if (hooks.transformQuery.length > 0 || hooks.beforeMutation.length > 0) {
728
+ const hook = this.hookArgs(op.table, options, signal);
729
+ let active = "";
730
+ try {
731
+ for (const plugin of hooks.transformQuery) {
732
+ active = `plugin "${plugin.name}" transformQuery`;
733
+ current = plugin.transformQuery(current, hook);
734
+ }
735
+ if (current.kind !== "select") {
736
+ let mutation = current;
737
+ for (const plugin of hooks.beforeMutation) {
738
+ active = `plugin "${plugin.name}" beforeMutation`;
739
+ const next = plugin.beforeMutation(mutation, hook);
740
+ mutation = isThenable(next) ? await next : next;
741
+ }
742
+ current = mutation;
743
+ }
744
+ } catch (cause) {
745
+ if (cause instanceof DbException) return this.fail(op.table, cause.error);
746
+ return this.fail(op.table, {
747
+ ...toDbError(cause),
748
+ details: `${active} threw`
749
+ });
750
+ }
751
+ }
752
+ if (current.kind === "update" && Object.keys(current.set).length === 0) return this.fail(op.table, dbError("invalid_request", `The update on "${op.table.key}" sets no columns`));
753
+ const timed = runtime.events.has("query");
754
+ const started = timed ? performance.now() : 0;
755
+ const executed = await this.#execute(current, signal, timeout, retry);
756
+ const selection = current.kind === "select" ? current.selection : current.returning;
757
+ let result = executed;
758
+ if (executed.ok && selection && needsDecoding(selection)) try {
759
+ result = ok({
760
+ ...executed.data,
761
+ rows: decodeRows(selection, executed.data.rows, true)
762
+ });
763
+ } catch (cause) {
764
+ if (cause instanceof DbException) return this.fail(op.table, cause.error);
765
+ throw cause;
766
+ }
767
+ const rows = result.ok ? result.data.rows.length : 0;
768
+ const truncated = current.kind === "select" && current.limit === void 0 && current.single === void 0 && !current.head && rows >= runtime.maxRows;
769
+ if (truncated && !runtime.truncatedTables.has(op.table.key)) {
770
+ runtime.truncatedTables.add(op.table.key);
771
+ runtime.events.logger.warn(`a read on ${op.table.key} returned ${rows} rows, the maxRows cap; add a limit or use page()`, {
772
+ table: op.table.key,
773
+ maxRows: runtime.maxRows
774
+ });
775
+ }
776
+ if (timed) runtime.events.emit("query", {
777
+ table: op.table.key,
778
+ operation: current.kind,
779
+ ok: result.ok,
780
+ durationMs: performance.now() - started,
781
+ rows,
782
+ truncated
783
+ });
784
+ if (!result.ok) return this.fail(op.table, result.error);
785
+ if (current.kind !== "select") await this.afterMutation(current, result.data);
786
+ return result;
787
+ }
788
+ /**
789
+ * Runs `op` without plugins or decoding, with the connection's timeout and
790
+ * retry, and fails on `table`: for reads the library makes itself, such as
791
+ * the scores of `db.$search({ score: true })`.
792
+ */
793
+ async runInternal(op, table, signal) {
794
+ const { timeout, retry } = this.runtime.tuning ?? NO_TUNING;
795
+ const invalid = invalidTuning({
796
+ timeout,
797
+ retry
798
+ });
799
+ if (invalid) return this.fail(table, dbError("invalid_request", invalid));
800
+ const executed = await this.#execute(op, signal, timeout, retry);
801
+ return executed.ok ? executed : this.fail(table, {
802
+ ...executed.error,
803
+ table: table.key
804
+ });
805
+ }
806
+ async #execute(op, signal, timeout, retry) {
807
+ const limit = deadline(signal, timeout);
808
+ const context = {
809
+ errorMappers: this.runtime.errorMappers,
810
+ ...limit.signal ? { signal: limit.signal } : {},
811
+ ...retry === void 0 ? {} : { retry }
812
+ };
813
+ let executed;
814
+ try {
815
+ executed = await this.runtime.executor.execute(op, context);
816
+ } finally {
817
+ limit.clear();
818
+ }
819
+ if (!executed.ok && limit.timedOut()) return err(dbError("timeout", `The request timed out after ${timeout} ms`));
820
+ return executed;
821
+ }
822
+ async afterMutation(op, data) {
823
+ const { runtime } = this;
824
+ const plugins = this.#hooks.afterMutation;
825
+ const listening = runtime.events.has("mutation");
826
+ if (plugins.length === 0 && !listening) return;
827
+ const kind = mutationKind(op);
828
+ const rows = cloneRows(data.rows);
829
+ const keys = keysOf(op, rows);
830
+ const { tenant } = runtime.context;
831
+ const event = {
832
+ table: op.table,
833
+ kind,
834
+ intent: op.intent ?? kind,
835
+ rows,
836
+ ...keys ? { keys } : {},
837
+ ...tenant === void 0 ? {} : { tenant },
838
+ context: runtime.context
839
+ };
840
+ for (const plugin of plugins) try {
841
+ const pending = plugin.afterMutation(event);
842
+ if (isThenable(pending)) await pending;
843
+ } catch (cause) {
844
+ runtime.events.logger.error(`plugin "${plugin.name}" afterMutation threw`, { cause });
845
+ }
846
+ if (listening) runtime.events.emit("mutation", {
847
+ table: op.table.key,
848
+ kind: event.kind,
849
+ ...event.intent ? { intent: event.intent } : {},
850
+ rows: event.rows,
851
+ ...event.keys ? { keys: event.keys } : {},
852
+ ...event.tenant === void 0 ? {} : { tenant: event.tenant },
853
+ context: event.context
854
+ });
855
+ }
856
+ fail(table, error) {
857
+ const withTable = error.table ? error : {
858
+ ...error,
859
+ table: table.key
860
+ };
861
+ if (this.runtime.events.has("error")) this.runtime.events.emit("error", errorEvent(withTable, table.key));
862
+ return err(withTable);
863
+ }
864
+ };
865
+ //#endregion
866
+ //#region src/core/write-args.ts
867
+ const COUNT_MODES = /* @__PURE__ */ new Set([
868
+ "exact",
869
+ "planned",
870
+ "estimated"
871
+ ]);
872
+ function isCountMode(value) {
873
+ return COUNT_MODES.has(value);
874
+ }
875
+ /** `maxAffected` from a call, or a message when it isn't a non-negative integer. */
876
+ function maxAffectedOf(args) {
877
+ const value = args["maxAffected"];
878
+ if (value === void 0) return {};
879
+ return typeof value === "number" && Number.isInteger(value) && value >= 0 ? { maxAffected: value } : { invalid: `"maxAffected" must be a non-negative integer, got ${String(value)}` };
880
+ }
881
+ /** The `count` mode a mutation asks for, when it names a valid one. */
882
+ function countOf(args) {
883
+ const count = args?.["count"];
884
+ return isCountMode(count) ? { count } : {};
885
+ }
886
+ //#endregion
887
+ //#region src/core/repository.ts
888
+ const sensitiveByTable = /* @__PURE__ */ new WeakMap();
889
+ const primaryOrders = /* @__PURE__ */ new WeakMap();
890
+ const RELATED_MEASURES = [
891
+ "_count",
892
+ "_sum",
893
+ "_avg",
894
+ "_min",
895
+ "_max"
896
+ ];
897
+ /** Database names of the table's `config.sensitive` columns. */
898
+ function sensitiveColumnsOf(table) {
899
+ let sensitive = sensitiveByTable.get(table);
900
+ if (!sensitive) {
901
+ sensitive = new Set(lookupOf(table).entries.filter(([, column]) => column.sensitive).map(([, column]) => column.db));
902
+ sensitiveByTable.set(table, sensitive);
903
+ }
904
+ return sensitive;
905
+ }
906
+ /** Creates the runtime repository object for one table. */
907
+ function createRepository(runner, table) {
908
+ const { builder } = runner.runtime;
909
+ const sensitiveDb = sensitiveColumnsOf(table);
910
+ const mutationHooks = runner.runtime.plugins.some((plugin) => plugin.beforeMutation);
911
+ const selection = (args) => {
912
+ const misplaced = RELATED_MEASURES.find((key) => args?.[key] !== void 0);
913
+ if (misplaced !== void 0) invalidRequest(`${misplaced} belongs inside include: { ${misplaced}: { ... } } for related rows; aggregate() covers the table itself`, table.key);
914
+ return builder.selection(table, args?.["select"], args?.["include"]);
915
+ };
916
+ const rowCount = (args, name) => {
917
+ const value = args?.[name];
918
+ if (value === void 0) return;
919
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) invalidRequest(`"${name}" must be a non-negative integer, not ${String(value)}`, table.key);
920
+ return value;
921
+ };
922
+ const selectOp = (args, patch = {}) => ({
923
+ kind: "select",
924
+ table,
925
+ selection: selection(args),
926
+ where: builder.where(table, args?.["where"]),
927
+ orderBy: builder.orderBy(table, args?.["orderBy"]),
928
+ limit: rowCount(args, "limit"),
929
+ offset: rowCount(args, "offset"),
930
+ count: void 0,
931
+ head: false,
932
+ single: void 0,
933
+ ...patch
934
+ });
935
+ /**
936
+ * Writes return every column but the sensitive ones unless they are asked
937
+ * for.
938
+ */
939
+ const returning = (args) => {
940
+ if (args?.["returning"] === false) return;
941
+ const all = selection(args);
942
+ if (args?.["select"] !== void 0 || args?.["sensitive"] === true) return all;
943
+ const columns = all.columns.filter((entry) => !sensitiveDb.has(entry.column));
944
+ return columns.length === all.columns.length ? all : {
945
+ ...all,
946
+ columns
947
+ };
948
+ };
949
+ const run = (op, args) => runner.run(op, optionsOf(args), signalOf(args), tuningOf(args));
950
+ /** `primaryKey` holds app names; order terms take database names. */
951
+ const defaultOrder = () => {
952
+ let order = primaryOrders.get(table);
953
+ if (!order) {
954
+ order = table.primaryKey.map((name) => ({
955
+ column: builder.column(table, name),
956
+ direction: "asc",
957
+ implicit: true
958
+ }));
959
+ primaryOrders.set(table, order);
960
+ }
961
+ return order;
962
+ };
963
+ const notFound = () => runner.fail(table, dbError("not_found", `No ${table.key} row matched`));
964
+ /**
965
+ * Arguments the builder rejects fail like any other error: with the table and
966
+ * an `error` event.
967
+ */
968
+ const guarded = (work) => AsyncResult.from(async () => {
969
+ try {
970
+ return await work();
971
+ } catch (cause) {
972
+ return runner.fail(table, toDbError(cause));
973
+ }
974
+ });
975
+ const createOne = (data, args) => guarded(async () => {
976
+ const op = insertOp([data], args, void 0);
977
+ const result = await run(op, args);
978
+ if (!result.ok) return result;
979
+ return ok(args?.["returning"] === false ? null : result.data.rows[0] ?? null);
980
+ });
981
+ const createRows = (rows, args) => guarded(async () => {
982
+ if (rows.length === 0) return ok(args?.["returning"] === false ? { count: 0 } : []);
983
+ const result = await run(insertOp(rows, args, void 0), args);
984
+ if (!result.ok) return result;
985
+ return ok(args?.["returning"] === false ? { count: result.data.count ?? rows.length } : result.data.rows);
986
+ });
987
+ const updateOne = (id, patch, args) => guarded(async () => {
988
+ const key = and(builder.primaryKey(table, id), builder.where(table, args?.["where"]));
989
+ const expect = args?.["expect"] ? builder.where(table, args["expect"]) : void 0;
990
+ const set = builder.row(table, patch, "update");
991
+ const empty = !mutationHooks && Object.keys(set).length === 0;
992
+ const op = {
993
+ kind: "update",
994
+ table,
995
+ set,
996
+ where: and(key, expect),
997
+ returning: returning(args)
998
+ };
999
+ const result = empty ? await run(selectOp(args, {
1000
+ where: and(key, expect),
1001
+ selection: op.returning ?? {
1002
+ columns: [],
1003
+ includes: []
1004
+ },
1005
+ limit: 1,
1006
+ orderBy: [],
1007
+ offset: void 0
1008
+ }), args) : await run(op, args);
1009
+ if (!result.ok) return result;
1010
+ if ((op.returning || empty ? result.data.rows.length : result.data.count ?? 0) === 0) {
1011
+ if (!expect) return notFound();
1012
+ const exists = await run(selectOp(void 0, {
1013
+ where: key,
1014
+ selection: {
1015
+ columns: [],
1016
+ includes: []
1017
+ },
1018
+ count: "exact",
1019
+ head: true
1020
+ }), args);
1021
+ if (exists.ok && (exists.data.count ?? 0) > 0) return runner.fail(table, dbError("stale", `The ${table.key} row changed since it was read`));
1022
+ return notFound();
1023
+ }
1024
+ return ok(op.returning ? result.data.rows[0] ?? null : null);
1025
+ });
1026
+ const updateWhere = (args) => guarded(async () => {
1027
+ const where = builder.where(table, args["where"]);
1028
+ if (simplify(where) === true && args["allowAll"] !== true) return runner.fail(table, dbError("invalid_request", "update needs a \"where\" that filters rows; pass allowAll: true to update every row"));
1029
+ const rows = args["returning"] === true;
1030
+ const bound = maxAffectedOf(args);
1031
+ if ("invalid" in bound) return runner.fail(table, dbError("invalid_request", bound.invalid));
1032
+ const set = builder.row(table, args["data"], "update");
1033
+ const op = {
1034
+ kind: "update",
1035
+ table,
1036
+ set,
1037
+ where,
1038
+ returning: rows ? returning(args) : void 0,
1039
+ ...bound,
1040
+ ...countOf(args)
1041
+ };
1042
+ if (!mutationHooks && Object.keys(set).length === 0) {
1043
+ if (!rows) return ok({ count: 0 });
1044
+ const found = await run(selectOp(args, {
1045
+ where,
1046
+ selection: op.returning ?? selection(args)
1047
+ }), args);
1048
+ return found.ok ? ok(found.data.rows) : found;
1049
+ }
1050
+ const result = await run(op, args);
1051
+ if (!result.ok) return result;
1052
+ return ok(rows ? result.data.rows : { count: result.data.count ?? 0 });
1053
+ });
1054
+ const upsertOne = (data, args) => guarded(async () => {
1055
+ const op = insertOp([data], args, conflictColumns(args?.["onConflict"]));
1056
+ const result = await run(op, args);
1057
+ if (!result.ok) return result;
1058
+ return ok(args?.["returning"] === false ? null : result.data.rows[0] ?? null);
1059
+ });
1060
+ const upsertRows = (rows, args) => guarded(async () => {
1061
+ if (rows.length === 0) return ok(args?.["returning"] === false ? { count: 0 } : []);
1062
+ const op = insertOp(rows, args, conflictColumns(args?.["onConflict"]));
1063
+ const result = await run(op, args);
1064
+ if (!result.ok) return result;
1065
+ return ok(args?.["returning"] === false ? { count: result.data.count ?? rows.length } : result.data.rows);
1066
+ });
1067
+ const deleteOne = (id, args) => guarded(async () => {
1068
+ const op = {
1069
+ kind: "delete",
1070
+ table,
1071
+ where: builder.primaryKey(table, id),
1072
+ returning: builder.selection(table, table.primaryKey, void 0)
1073
+ };
1074
+ const result = await run(op, args);
1075
+ if (!result.ok) return result;
1076
+ return (result.data.count ?? result.data.rows.length) === 0 ? notFound() : ok(void 0);
1077
+ });
1078
+ const deleteWhere = (args) => guarded(async () => {
1079
+ const where = builder.where(table, args["where"]);
1080
+ if (!where || simplify(where) === true) return runner.fail(table, dbError("invalid_request", "delete needs a \"where\" that filters rows"));
1081
+ const rows = args["returning"] === true;
1082
+ const bound = maxAffectedOf(args);
1083
+ if ("invalid" in bound) return runner.fail(table, dbError("invalid_request", bound.invalid));
1084
+ const op = {
1085
+ kind: "delete",
1086
+ table,
1087
+ where,
1088
+ returning: rows ? returning(args) : void 0,
1089
+ ...bound,
1090
+ ...countOf(args)
1091
+ };
1092
+ const result = await runner.run(op, rows ? {
1093
+ ...optionsOf(args),
1094
+ returning: true
1095
+ } : optionsOf(args), signalOf(args), tuningOf(args));
1096
+ if (!result.ok) return result;
1097
+ return ok(rows ? result.data.rows : { count: result.data.count ?? 0 });
1098
+ });
1099
+ const base = {
1100
+ $tableName: table.key,
1101
+ $meta: table,
1102
+ list(args) {
1103
+ return guarded(async () => {
1104
+ const op = selectOp(args);
1105
+ const ordered = op.orderBy.length > 0 || table.primaryKey.length === 0 ? op : {
1106
+ ...op,
1107
+ orderBy: defaultOrder()
1108
+ };
1109
+ const result = await run(ordered, args);
1110
+ return result.ok ? ok(result.data.rows) : result;
1111
+ });
1112
+ },
1113
+ page(args) {
1114
+ return guarded(async () => "after" in args ? cursorPage(args) : offsetPage(args));
1115
+ },
1116
+ get(key, args) {
1117
+ return guarded(async () => {
1118
+ const filter = filterOf(key);
1119
+ const op = selectOp(args, {
1120
+ where: keyCondition(key, filter),
1121
+ limit: filter === void 0 ? 1 : 2,
1122
+ unpaged: filter !== void 0
1123
+ });
1124
+ const result = await run(op, args);
1125
+ if (!result.ok) return result;
1126
+ if (filter !== void 0 && result.data.rows.length > 1) return runner.fail(table, dbError("multiple_rows", `More than one ${table.key} row matched; get expects at most one`));
1127
+ const row = result.data.rows[0];
1128
+ if (row) return ok(row);
1129
+ return args?.["optional"] === true ? ok(null) : notFound();
1130
+ });
1131
+ },
1132
+ count(args) {
1133
+ return guarded(async () => {
1134
+ const mode = args?.["mode"];
1135
+ const op = selectOp({ where: args?.["where"] }, {
1136
+ selection: {
1137
+ columns: [],
1138
+ includes: []
1139
+ },
1140
+ count: mode === "planned" || mode === "estimated" ? mode : "exact",
1141
+ head: true
1142
+ });
1143
+ const result = await run(op, args);
1144
+ return result.ok ? ok(result.data.count ?? 0) : result;
1145
+ });
1146
+ },
1147
+ aggregate(args) {
1148
+ return guarded(async () => {
1149
+ const aggregation = builder.aggregation(table, args);
1150
+ const orderBy = builder.aggregateOrderBy(table, args["orderBy"], aggregation);
1151
+ const op = selectOp({
1152
+ where: args["where"],
1153
+ limit: args["limit"],
1154
+ offset: args["offset"]
1155
+ }, {
1156
+ selection: aggregation,
1157
+ orderBy
1158
+ });
1159
+ const result = await run(op, args);
1160
+ if (!result.ok) return result;
1161
+ if (args["groupBy"] !== void 0) return ok(result.data.rows);
1162
+ return ok(result.data.rows[0] ?? decodeRows(aggregation, [{}])[0] ?? {});
1163
+ });
1164
+ },
1165
+ create(data, args) {
1166
+ return Array.isArray(data) ? createRows(data, args) : createOne(data, args);
1167
+ },
1168
+ update(target, patch, args) {
1169
+ const filter = filterOf(target);
1170
+ return filter === void 0 ? updateOne(target, patch, args) : updateWhere({
1171
+ ...args,
1172
+ where: filter.where,
1173
+ data: patch
1174
+ });
1175
+ },
1176
+ upsert(data, args) {
1177
+ return Array.isArray(data) ? upsertRows(data, args) : upsertOne(data, args);
1178
+ },
1179
+ delete(target, args) {
1180
+ const filter = filterOf(target);
1181
+ return filter === void 0 ? deleteOne(target, args) : deleteWhere({
1182
+ ...args,
1183
+ where: filter.where
1184
+ });
1185
+ }
1186
+ };
1187
+ function insertOp(rows, args, conflict) {
1188
+ const built = rows.map((row) => builder.row(table, row));
1189
+ return {
1190
+ kind: "insert",
1191
+ table,
1192
+ rows: conflict && built.length > 1 ? byKey(built, conflict) : built,
1193
+ returning: returning(args),
1194
+ onConflict: conflict ? {
1195
+ columns: conflict,
1196
+ action: args?.["ignoreDuplicates"] === true ? "ignore" : "update"
1197
+ } : void 0,
1198
+ defaultToNull: args?.["defaultToNull"] === true,
1199
+ ...countOf(args)
1200
+ };
1201
+ }
1202
+ /** The `{ where }` of `get`, `update` and `delete` when given a filter. */
1203
+ function filterOf(target) {
1204
+ return isPlainObject(target) && Object.hasOwn(target, "where") && !Object.hasOwn(table.columns, "where") ? { where: target["where"] } : void 0;
1205
+ }
1206
+ function keyCondition(key, filter) {
1207
+ if (filter !== void 0) return builder.where(table, filter.where);
1208
+ return isPlainObject(key) ? builder.uniqueKey(table, key) : builder.primaryKey(table, key);
1209
+ }
1210
+ function conflictColumns(target) {
1211
+ if (target === void 0 || target === "primaryKey") return table.primaryKey.map((name) => builder.column(table, name));
1212
+ if (typeof target === "string") {
1213
+ const columns = table.uniqueKeys[target];
1214
+ if (!columns) invalidRequest(`Unknown unique key "${target}" on "${table.key}"`, table.key);
1215
+ return columns.map((name) => builder.column(table, name));
1216
+ }
1217
+ if (Array.isArray(target)) return target.map((name) => builder.column(table, String(name)));
1218
+ return invalidRequest(`Invalid onConflict on "${table.key}"`, table.key);
1219
+ }
1220
+ async function offsetPage(args) {
1221
+ const window = pageWindow(args);
1222
+ if ("invalid" in window) return runner.fail(table, dbError("invalid_request", window.invalid));
1223
+ const { size, offset } = window;
1224
+ const count = args["count"] ?? (args["withCount"] === true ? "exact" : void 0);
1225
+ const orderBy = builder.orderBy(table, args["orderBy"]);
1226
+ const op = selectOp(args, {
1227
+ orderBy: orderBy.length > 0 || table.primaryKey.length === 0 ? orderBy : defaultOrder(),
1228
+ limit: size + 1,
1229
+ lookAhead: true,
1230
+ offset,
1231
+ count: count === "exact" || count === "planned" || count === "estimated" ? count : void 0
1232
+ });
1233
+ const result = await run(op, args);
1234
+ if (!result.ok) return result;
1235
+ return ok(offsetEnvelope(result.data.rows, result.data.count, size, offset));
1236
+ }
1237
+ async function cursorPage(args) {
1238
+ const size = Number(args["size"]);
1239
+ if (!Number.isInteger(size) || size < 1) return runner.fail(table, dbError("invalid_request", "\"size\" must be a positive integer"));
1240
+ const requested = builder.orderBy(table, args["orderBy"]);
1241
+ const related = requested.find((term) => term.relation);
1242
+ if (related) return runner.fail(table, dbError("invalid_request", `Cursor pages can't sort by the relation "${related.relation?.name}"; use an offset page`));
1243
+ const orderBy = withTieBreaker(requested);
1244
+ const { selection: withSort, added } = ensureColumns(selection(args), orderBy);
1245
+ const sort = sortKey(`${table.key}|${orderBy.map((term) => `${term.column}.${term.direction}.${term.nulls ?? ""}`).join(",")}`);
1246
+ let after;
1247
+ if (typeof args["after"] === "string") {
1248
+ const decoded = decodeBoundCursor(args["after"], sort);
1249
+ if ("invalid" in decoded && decoded.invalid === "sort") return runner.fail(table, dbError("invalid_request", "The cursor continues another orderBy; pass after: null to start the new order"));
1250
+ const values = "values" in decoded ? decoded.values : void 0;
1251
+ if (!values || values.length !== orderBy.length) return runner.fail(table, dbError("invalid_request", "Invalid cursor"));
1252
+ const { byDb } = lookupOf(table);
1253
+ after = keysetCondition(orderBy, values, (name) => byDb.get(name)?.[1].nullable ?? true);
1254
+ }
1255
+ const op = selectOp(args, {
1256
+ selection: withSort,
1257
+ where: and(builder.where(table, args["where"]), after),
1258
+ orderBy,
1259
+ limit: size + 1,
1260
+ lookAhead: true,
1261
+ offset: void 0,
1262
+ count: args["withCount"] === true && after === void 0 ? "exact" : void 0
1263
+ });
1264
+ const result = await run(op, args);
1265
+ if (!result.ok) return result;
1266
+ let total = result.data.count;
1267
+ if (args["withCount"] === true && after !== void 0) {
1268
+ const counted = await run(selectOp(args, {
1269
+ selection: {
1270
+ columns: [],
1271
+ includes: []
1272
+ },
1273
+ orderBy: [],
1274
+ limit: void 0,
1275
+ offset: void 0,
1276
+ count: "exact",
1277
+ head: true
1278
+ }), args);
1279
+ if (!counted.ok) return counted;
1280
+ total = counted.data.count;
1281
+ }
1282
+ const rows = result.data.rows.slice(0, size);
1283
+ const hasMore = result.data.rows.length > size;
1284
+ const last = rows.at(-1);
1285
+ const aliases = new Map(withSort.columns.map((entry) => [entry.column, entry.alias]));
1286
+ const nextCursor = hasMore && last ? encodeBoundCursor(orderBy.map((term) => encodeValue(last[aliases.get(term.column) ?? term.column])), sort) : null;
1287
+ return ok({
1288
+ items: added.length > 0 ? rows.map((row) => strip(row, added)) : rows,
1289
+ nextCursor,
1290
+ hasMore,
1291
+ ...args["withCount"] === true ? { total: total ?? 0 } : {}
1292
+ });
1293
+ }
1294
+ function withTieBreaker(orderBy) {
1295
+ const terms = [...orderBy];
1296
+ for (const name of table.primaryKey) {
1297
+ const column = builder.column(table, name);
1298
+ if (!terms.some((term) => term.column === column)) terms.push({
1299
+ column,
1300
+ direction: terms[0]?.direction ?? "asc"
1301
+ });
1302
+ }
1303
+ return terms;
1304
+ }
1305
+ function ensureColumns(base, orderBy) {
1306
+ const columns = [...base.columns];
1307
+ const selected = new Set(columns.map((entry) => entry.column));
1308
+ const { byDb } = lookupOf(table);
1309
+ const added = [];
1310
+ for (const term of orderBy) {
1311
+ if (selected.has(term.column)) continue;
1312
+ const alias = byDb.get(term.column)?.[0];
1313
+ columns.push(alias === void 0 ? {
1314
+ alias: term.column,
1315
+ column: term.column
1316
+ } : builder.selectColumn(table, alias));
1317
+ selected.add(term.column);
1318
+ added.push(alias ?? term.column);
1319
+ }
1320
+ return {
1321
+ selection: {
1322
+ columns,
1323
+ includes: base.includes
1324
+ },
1325
+ added
1326
+ };
1327
+ }
1328
+ return base;
1329
+ }
1330
+ //#endregion
1331
+ //#region src/core/rpc-result.ts
1332
+ const columnsByFunction = /* @__PURE__ */ new WeakMap();
1333
+ function columnsOf(meta, fn) {
1334
+ const cached = columnsByFunction.get(fn);
1335
+ if (cached !== void 0) return cached;
1336
+ let columns = null;
1337
+ const { result } = fn;
1338
+ if (result && "table" in result) {
1339
+ const table = meta.tables[result.table];
1340
+ if (table) {
1341
+ columns = /* @__PURE__ */ new Map();
1342
+ for (const [db, [app, column]] of lookupOf(table).byDb) if (app !== db || column.codec) columns.set(db, [app, column.codec]);
1343
+ }
1344
+ } else if (result) columns = new Map(result.columns.map((column) => [column.db, [column.name ?? column.db, column.codec]]));
1345
+ columnsByFunction.set(fn, columns);
1346
+ return columns;
1347
+ }
1348
+ const selectByFunction = /* @__PURE__ */ new WeakMap();
1349
+ /**
1350
+ * The columns `$rpc` selects for a function whose result has a codec column,
1351
+ * with that column cast to text as repository reads do. Undefined when no
1352
+ * result column has a codec, so the call selects everything.
1353
+ */
1354
+ function rpcSelect(meta, fn) {
1355
+ if (!fn) return;
1356
+ let select = selectByFunction.get(fn);
1357
+ if (select === void 0) {
1358
+ const { result } = fn;
1359
+ const table = result && "table" in result ? meta.tables[result.table] : void 0;
1360
+ const columns = table ? [...lookupOf(table).byDb].map(([db, [, column]]) => [db, column.codec]) : result && "columns" in result ? result.columns.map((column) => [column.db, column.codec]) : [];
1361
+ select = columns.some(([, codec]) => codec) ? columns.map(([column, codec]) => codec ? {
1362
+ column,
1363
+ cast: "text"
1364
+ } : { column }) : null;
1365
+ selectByFunction.set(fn, select);
1366
+ }
1367
+ return select ?? void 0;
1368
+ }
1369
+ function decodeRow(columns, row) {
1370
+ if (!isPlainObject(row)) return row;
1371
+ const out = {};
1372
+ for (const key in row) {
1373
+ if (!Object.hasOwn(row, key)) continue;
1374
+ const column = columns.get(key);
1375
+ if (!column) {
1376
+ out[key] = row[key];
1377
+ continue;
1378
+ }
1379
+ const [app, codec] = column;
1380
+ out[app] = codec ? decodeValue(codec, row[key]) : row[key];
1381
+ }
1382
+ return out;
1383
+ }
1384
+ const overloadMeta = /* @__PURE__ */ new WeakMap();
1385
+ /**
1386
+ * The signature `$rpc` calls: PostgREST picks an overload by the argument
1387
+ * names, so a call matches the overload that has every name it passes and every
1388
+ * argument without a default. Undefined when the function is in another schema
1389
+ * or when no overload, or more than one, matches.
1390
+ */
1391
+ function rpcFunction(meta, name, schema, args) {
1392
+ const fn = meta.functions[name];
1393
+ if (!fn || fn.schema !== schema) return;
1394
+ if (!fn.overloads) return fn;
1395
+ const keys = Object.keys(args).filter((key) => args[key] !== void 0);
1396
+ const matches = fn.overloads.filter((overload) => keys.every((key) => overload.args.some((arg) => arg.name === key)) && overload.args.every((arg) => arg.optional === true || keys.includes(arg.name)));
1397
+ const [match] = matches;
1398
+ if (!match || matches.length > 1) return;
1399
+ let resolved = overloadMeta.get(match);
1400
+ if (!resolved) {
1401
+ resolved = {
1402
+ ...match,
1403
+ name: fn.name,
1404
+ schema: fn.schema
1405
+ };
1406
+ overloadMeta.set(match, resolved);
1407
+ }
1408
+ return resolved;
1409
+ }
1410
+ /**
1411
+ * The `$rpc` result in app form: rows of a table or a `returns table (...)`
1412
+ * record get the configured casing and codecs, like repository reads. Scalars,
1413
+ * json and calls without a known signature come back unchanged.
1414
+ */
1415
+ function decodeRpcResult(meta, fn, data) {
1416
+ if (!fn) return data;
1417
+ const columns = columnsOf(meta, fn);
1418
+ if (!columns || columns.size === 0) return data;
1419
+ return Array.isArray(data) ? data.map((row) => decodeRow(columns, row)) : decodeRow(columns, data);
1420
+ }
1421
+ //#endregion
1422
+ //#region src/core/define.ts
1423
+ const isStorageApi = (value) => isRecord(value) && typeof value["from"] === "function";
1424
+ /**
1425
+ * A supabase-js client builds a new storage client on each read of `storage`,
1426
+ * so it is read once per connection.
1427
+ */
1428
+ const clientStorage = /* @__PURE__ */ new WeakMap();
1429
+ function storageOf(source) {
1430
+ if (source.storage) return source.storage;
1431
+ const cached = clientStorage.get(source);
1432
+ if (cached) return cached;
1433
+ const client = source.client;
1434
+ const storage = isRecord(client) ? client["storage"] : void 0;
1435
+ if (isStorageApi(storage)) {
1436
+ clientStorage.set(source, storage);
1437
+ return storage;
1438
+ }
1439
+ throw new TypeError("better-supabase: db.$storage needs a client with storage, or connect(executor, context, { storage })");
1440
+ }
1441
+ /**
1442
+ * The isomorphic definition of your data layer: schema plus plugins. Holds no
1443
+ * secrets and no connection; `connect()` binds it to a client per request.
1444
+ */
1445
+ var BetterSupabase = class BetterSupabase {
1446
+ schema;
1447
+ plugins;
1448
+ events;
1449
+ options;
1450
+ constructor(schema, plugins = [], options = {}, events = definitionEvents(options)) {
1451
+ const names = /* @__PURE__ */ new Set();
1452
+ for (const plugin of plugins) {
1453
+ if (plugin.apiVersion !== 1) throw new TypeError(`better-supabase: plugin "${plugin.name}" targets plugin API v${String(plugin.apiVersion)}; this version supports v1`);
1454
+ if (names.has(plugin.name)) throw new TypeError(`better-supabase: plugin "${plugin.name}" is already installed`);
1455
+ names.add(plugin.name);
1456
+ }
1457
+ this.schema = schema;
1458
+ this.plugins = orderPlugins(plugins);
1459
+ this.options = options;
1460
+ this.events = events;
1461
+ const { temporal } = options;
1462
+ if (temporal !== void 0) {
1463
+ const previous = providedTemporal();
1464
+ if (previous !== void 0 && previous !== temporal) events.logger.warn("defineSupabase got a different `temporal` namespace than the one already provided; decoded rows, jobs and webhooks in this process now use the newer one. Pass the same namespace to every definition.");
1465
+ provideTemporal(temporal);
1466
+ }
1467
+ }
1468
+ get meta() {
1469
+ return this.schema.meta;
1470
+ }
1471
+ /** The `now` option, else this definition's own `Temporal` clock. */
1472
+ #now() {
1473
+ const { now, temporal } = this.options;
1474
+ if (now) return now;
1475
+ return temporal ? () => temporal.Now.instant() : nowInstant;
1476
+ }
1477
+ /**
1478
+ * The `Temporal` this definition uses: the `temporal` option, else the
1479
+ * global.
1480
+ */
1481
+ get temporal() {
1482
+ return this.options.temporal ?? optionalTemporal();
1483
+ }
1484
+ /** The schema set by `claims()`; its output types `session.claims`. */
1485
+ get claimsSchema() {
1486
+ return this.options.claims;
1487
+ }
1488
+ /** The schema set by `userMetadata()`; its output types `session.profile`. */
1489
+ get userMetadataSchema() {
1490
+ return this.options.userMetadata;
1491
+ }
1492
+ /**
1493
+ * Returns a new instance whose servers validate verified JWT claims (custom
1494
+ * access token hook output) with `schema`, and whose sessions are typed by
1495
+ * it. A token that fails it resolves to `{ kind: 'invalid', reason: 'claims'
1496
+ * }`.
1497
+ *
1498
+ * ```ts
1499
+ * const betterSupabase = defineSupabase(schema).claims(
1500
+ * z.object({ tenant_id: z.uuid() }),
1501
+ * );
1502
+ * ```
1503
+ */
1504
+ claims(schema) {
1505
+ return new BetterSupabase(this.schema, this.plugins, {
1506
+ ...this.options,
1507
+ claims: schema
1508
+ }, this.events);
1509
+ }
1510
+ /**
1511
+ * Returns a new instance whose sessions parse `user_metadata` with `schema`
1512
+ * into a typed `session.profile`. Users can change their metadata with
1513
+ * `auth.updateUser()`, so a failure only leaves `profile` undefined (with one
1514
+ * warning), and no authorization code reads it. It is for display only:
1515
+ * roles, memberships, the tenant and entitlements come from the verified
1516
+ * claims, never from `profile`.
1517
+ *
1518
+ * ```ts
1519
+ * const betterSupabase = defineSupabase(schema).userMetadata(
1520
+ * z.object({ display_name: z.string() }),
1521
+ * );
1522
+ * ```
1523
+ */
1524
+ userMetadata(schema) {
1525
+ return new BetterSupabase(this.schema, this.plugins, {
1526
+ ...this.options,
1527
+ userMetadata: schema
1528
+ }, this.events);
1529
+ }
1530
+ /**
1531
+ * Returns a new instance whose `.orThrow()` throws `mapper(error)` instead of
1532
+ * a `DbException`, and whose results `toBetterResult` maps the same way.
1533
+ * Results themselves keep their `DbError`.
1534
+ *
1535
+ * ```ts
1536
+ * const betterSupabase = defineSupabase(schema).mapError(
1537
+ * (error) => new AppError(error),
1538
+ * );
1539
+ * ```
1540
+ */
1541
+ mapError(mapper) {
1542
+ return new BetterSupabase(this.schema, this.plugins, {
1543
+ ...this.options,
1544
+ throwAs: mapper
1545
+ }, this.events);
1546
+ }
1547
+ /**
1548
+ * Returns a new instance whose `db.$buckets` has one client per bucket,
1549
+ * connected to `db.$storage` so Storage runs as the same caller.
1550
+ *
1551
+ * ```ts
1552
+ * const betterSupabase = defineSupabase(schema).buckets({ logos, avatars });
1553
+ * betterSupabase.connect(client).$buckets.logos.signedUrl({ ... });
1554
+ * ```
1555
+ */
1556
+ buckets(registered) {
1557
+ return new BetterSupabase(this.schema, this.plugins, {
1558
+ ...this.options,
1559
+ buckets: registered
1560
+ }, this.events);
1561
+ }
1562
+ /**
1563
+ * Returns a new instance whose every `Db` has the installed block instances
1564
+ * as properties, under their keys in camel case. Each client runs as the
1565
+ * `Db`'s caller and acts in its organization (`db.$context.tenant`), so app
1566
+ * code passes neither a transport nor an organization.
1567
+ *
1568
+ * ```ts
1569
+ * export const betterSupabase = defineSupabase(schema).blocks(
1570
+ * defineBlocks(blockConfig, blocks),
1571
+ * );
1572
+ * const db = await bsb.db();
1573
+ * await db.tags.list({ kind: "customer" });
1574
+ * ```
1575
+ */
1576
+ blocks(set) {
1577
+ return new BetterSupabase(this.schema, this.plugins, {
1578
+ ...this.options,
1579
+ blocks: set
1580
+ }, this.events);
1581
+ }
1582
+ #specs;
1583
+ #truncatedTables = /* @__PURE__ */ new Set();
1584
+ /** A hub without listeners, for decoding read-set results. */
1585
+ #decodeEvents;
1586
+ /** One getter per table, shared by every db this instance connects. */
1587
+ #tables;
1588
+ #errorMappers = /* @__PURE__ */ new WeakMap();
1589
+ /**
1590
+ * Builds serializable `QuerySpec`s with the same arguments and result types
1591
+ * as the repository: `betterSupabase.spec.customers.list({ select: ['id']
1592
+ * })`.
1593
+ */
1594
+ get spec() {
1595
+ this.#specs ??= createSpecs(this.meta);
1596
+ return this.#specs;
1597
+ }
1598
+ /**
1599
+ * App keys of every table a spec reads; mutations of any of them make it
1600
+ * stale.
1601
+ */
1602
+ tablesOf(spec) {
1603
+ return specTables(this.meta, spec);
1604
+ }
1605
+ /**
1606
+ * Returns a new instance with the plugin appended. A plugin with the name of
1607
+ * an extension the schema installed replaces it, so
1608
+ * `.use(membershipsExtension({ resolve }))` swaps the organization resolver.
1609
+ * Any other name installed twice throws.
1610
+ */
1611
+ use(plugin) {
1612
+ const fromSchema = new Set(this.schema.extensions);
1613
+ const replaces = this.plugins.some((installed) => installed.name === plugin.name && fromSchema.has(installed));
1614
+ return new BetterSupabase(this.schema, replaces ? this.plugins.map((installed) => installed.name === plugin.name && fromSchema.has(installed) ? plugin : installed) : [...this.plugins, plugin], this.options, this.events);
1615
+ }
1616
+ /**
1617
+ * Declares the tables an RPC writes, so cache adapters and live queries
1618
+ * invalidate them after it succeeds.
1619
+ *
1620
+ * ```ts
1621
+ * betterSupabase.defineRpc("archive_customer", {
1622
+ * invalidates: ["customers", "notes"],
1623
+ * });
1624
+ * ```
1625
+ */
1626
+ defineRpc(name, options) {
1627
+ for (const table of options.invalidates) if (!this.meta.tables[table]) throw new TypeError(`better-supabase: defineRpc("${name}") invalidates unknown table "${table}"`);
1628
+ return new BetterSupabase(this.schema, this.plugins, {
1629
+ ...this.options,
1630
+ rpc: {
1631
+ ...this.options.rpc,
1632
+ [name]: options
1633
+ }
1634
+ }, this.events);
1635
+ }
1636
+ /** Observes queries, mutations, errors, auth and refreshes. */
1637
+ on(name, handler) {
1638
+ return this.events.on(name, handler);
1639
+ }
1640
+ /**
1641
+ * Invalidates `adapter` after every mutation in this runtime. Returns a
1642
+ * function that detaches it. Adapter failures are logged, never thrown.
1643
+ */
1644
+ cache(adapter) {
1645
+ const report = (cause, table) => {
1646
+ this.events.logger.error(`cache adapter "${adapter.name}" failed`, {
1647
+ cause,
1648
+ table
1649
+ });
1650
+ };
1651
+ const invalidate = (target) => {
1652
+ try {
1653
+ const pending = adapter.invalidate(target);
1654
+ if (pending) pending.catch((cause) => {
1655
+ report(cause, target.table);
1656
+ });
1657
+ } catch (cause) {
1658
+ report(cause, target.table);
1659
+ }
1660
+ };
1661
+ const offMutation = this.on("mutation", (notice) => {
1662
+ invalidate(cacheTargetOf(this.meta, notice));
1663
+ });
1664
+ const offRpc = this.on("rpc", (notice) => {
1665
+ for (const target of rpcCacheTargets(this.meta, notice)) invalidate(target);
1666
+ });
1667
+ return () => {
1668
+ offMutation();
1669
+ offRpc();
1670
+ };
1671
+ }
1672
+ connect(source, context = {}, options = {}) {
1673
+ const client = isExecutor(source) ? void 0 : source;
1674
+ const base = options.executor ?? (isExecutor(source) ? source : postgrestExecutor(source, this.executorOptions()));
1675
+ const recorder = new StatsRecorder(options.stats);
1676
+ const tuning = {
1677
+ ...options.timeout === void 0 ? {} : { timeout: options.timeout },
1678
+ ...options.retry === void 0 ? {} : { retry: options.retry }
1679
+ };
1680
+ return this.#db({
1681
+ client,
1682
+ storage: options.storage
1683
+ }, base, context, this.plugins, recorder, tuning);
1684
+ }
1685
+ /**
1686
+ * The `postgrestExecutor` options this definition implies (`urlLengthLimit`,
1687
+ * `postgrestVersion`), for adapters that build their own executor and should
1688
+ * chunk reads the same way.
1689
+ */
1690
+ executorOptions() {
1691
+ const { urlLengthLimit, postgrestVersion } = this.options;
1692
+ return {
1693
+ ...urlLengthLimit === void 0 ? {} : { urlLengthLimit },
1694
+ ...postgrestVersion === void 0 ? {} : { postgrestVersion }
1695
+ };
1696
+ }
1697
+ /** The caller's context with every plugin's `context` hook applied. */
1698
+ #derive(given, plugins) {
1699
+ let context = given;
1700
+ for (const plugin of plugins) {
1701
+ if (!plugin.context) continue;
1702
+ try {
1703
+ context = plugin.context(context, { schema: this.meta });
1704
+ } catch (cause) {
1705
+ this.events.logger.error(`plugin "${plugin.name}" context threw`, { cause });
1706
+ }
1707
+ }
1708
+ return context;
1709
+ }
1710
+ #db(source, base, given, plugins, recorder, tuning = {}, events = this.events) {
1711
+ const context = this.#derive(given, plugins);
1712
+ let executor = base;
1713
+ for (const plugin of plugins) if (plugin.wrapExecutor) executor = plugin.wrapExecutor(executor);
1714
+ const wrapped = executor;
1715
+ executor = recordStats(executor, recorder);
1716
+ const errorMappers = this.#errorMappersFor(plugins);
1717
+ const runner = new OperationRunner({
1718
+ meta: this.meta,
1719
+ builder: builderFor(this.meta),
1720
+ executor,
1721
+ plugins,
1722
+ context,
1723
+ events,
1724
+ errorMappers,
1725
+ now: this.#now(),
1726
+ maxRows: this.options.maxRows ?? 1e3,
1727
+ truncatedTables: this.#truncatedTables,
1728
+ tuning
1729
+ });
1730
+ const db = Object.create(this.#tablePrototype());
1731
+ dbStates.set(db, {
1732
+ runner,
1733
+ plugins,
1734
+ repositories: /* @__PURE__ */ new Map()
1735
+ });
1736
+ const { client } = source;
1737
+ Object.defineProperty(db, "$storage", {
1738
+ get: () => storageOf(source),
1739
+ configurable: true
1740
+ });
1741
+ const { buckets } = this.options;
1742
+ if (buckets) {
1743
+ let connected;
1744
+ Object.defineProperty(db, "$buckets", {
1745
+ get: () => {
1746
+ connected ??= Object.fromEntries(Object.entries(buckets).map(([name, bucket]) => [name, bucket.connect(storageOf(source))]));
1747
+ return connected;
1748
+ },
1749
+ configurable: true
1750
+ });
1751
+ }
1752
+ Object.assign(db, {
1753
+ $client: client,
1754
+ $executor: executor,
1755
+ $context: context,
1756
+ $rpc: (name, ...rest) => rpc(this.schema.meta, executor, errorMappers, tuning, name, rest).map((data) => {
1757
+ const registered = this.options.rpc?.[name];
1758
+ if (registered) this.events.emit("rpc", {
1759
+ name,
1760
+ invalidates: registered.invalidates,
1761
+ context
1762
+ });
1763
+ return data;
1764
+ }).mapError((error) => {
1765
+ if (events.has("error")) events.emit("error", errorEvent(error));
1766
+ return error;
1767
+ }),
1768
+ $with: (extra) => this.#db(source, base, {
1769
+ ...given,
1770
+ ...extra
1771
+ }, plugins, recorder, tuning),
1772
+ $withoutPlugins: (options) => this.#db(source, base, given, keptPlugins(plugins, options?.keep ?? []), recorder, tuning),
1773
+ $stats: () => recorder.snapshot(),
1774
+ $table: (name) => {
1775
+ if (!Object.hasOwn(this.meta.tables, name)) throw new TypeError(`better-supabase: unknown table "${name}". Known: ${Object.keys(this.meta.tables).join(", ")}`);
1776
+ return db[name];
1777
+ },
1778
+ $run: (spec, options) => runSpec(db, spec, options?.signal),
1779
+ $many: (target, ...rest) => {
1780
+ if (isReadSet(target)) {
1781
+ const [values, options] = rest;
1782
+ return readSet(target, values, options?.signal);
1783
+ }
1784
+ const [options] = rest;
1785
+ if (!Array.isArray(target)) return AsyncResult.err(dbError("invalid_request", "db.$many() expects an array of specs or a read set"));
1786
+ return many(target, options?.signal, true);
1787
+ },
1788
+ $search: (name, args) => searchTable(runner, base, this.meta, name, args)
1789
+ });
1790
+ const many = (specs, signal, usePlugins) => AsyncResult.from(async () => {
1791
+ const invalid = specs.findIndex((spec) => !isQuerySpec(spec));
1792
+ if (invalid !== -1) return err(dbError("invalid_request", `db.$many() entry ${invalid} is not a QuerySpec from betterSupabase.spec`));
1793
+ const active = usePlugins ? plugins : [];
1794
+ const batchSource = usePlugins ? wrapped : base;
1795
+ const batch = batchSource.batch?.bind(batchSource);
1796
+ const batching = batch && specs.length > 1 ? batchingExecutor({
1797
+ ...base,
1798
+ batch
1799
+ }, specs.length) : void 0;
1800
+ const target = batching ? this.#db(source, batching.executor, given, active, recorder, tuning) : usePlugins ? db : this.#db(source, base, given, NO_PLUGINS, recorder, tuning);
1801
+ const results = await Promise.all(specs.map(async (spec) => {
1802
+ try {
1803
+ return await runSpec(target, spec, signal);
1804
+ } finally {
1805
+ batching?.done();
1806
+ }
1807
+ }));
1808
+ const data = [];
1809
+ for (const result of results) {
1810
+ if (!result.ok) return result;
1811
+ data.push(result.data);
1812
+ }
1813
+ return ok(data);
1814
+ });
1815
+ const readSet = (set, values, signal) => AsyncResult.from(async () => {
1816
+ const problems = checkParams(set, values);
1817
+ if (problems.length > 0) return err(dbError("invalid_request", `db.$many(${set.name}): ${problems.join(", ")}`));
1818
+ const keys = Object.keys(set.specs);
1819
+ const { specs: bound, noCaller } = bindParams(set, values, context);
1820
+ if (base.batch || !executor.rpc) {
1821
+ if (noCaller) return err(noCaller);
1822
+ const result = await many(keys.map((key) => bound[key]), signal, false);
1823
+ if (!result.ok) return result;
1824
+ return ok(Object.fromEntries(keys.map((key, i) => [key, result.data[i]])));
1825
+ }
1826
+ const called = await executor.rpc(set.functionName, { p: values ?? {} }, {
1827
+ schema: "public",
1828
+ get: true,
1829
+ errorMappers,
1830
+ ...signal ? { signal } : {}
1831
+ });
1832
+ if (!called.ok) return called;
1833
+ return this.#decodeReadSet(source, context, set, bound, called.data);
1834
+ });
1835
+ const throwAs = this.options.throwAs;
1836
+ if (throwAs) for (const name of [
1837
+ "$rpc",
1838
+ "$run",
1839
+ "$many",
1840
+ "$search"
1841
+ ]) db[name] = mapThrows(db[name], throwAs);
1842
+ return db;
1843
+ }
1844
+ /**
1845
+ * Decodes what a read-set function returned (`{ [key]: { rows, count } }`) by
1846
+ * running each spec against those rows, so casing, codecs and aggregates come
1847
+ * out exactly as from `db.$run`.
1848
+ */
1849
+ async #decodeReadSet(source, context, set, specs, data) {
1850
+ const payload = data ?? {};
1851
+ let rows = [];
1852
+ let count = null;
1853
+ const decoder = this.#db(source, {
1854
+ name: "read-set",
1855
+ execute: (op) => {
1856
+ if (op.kind === "select" && op.single) {
1857
+ if (rows.length > 1) return Promise.resolve(err(dbError("multiple_rows", `Expected one ${op.table.key} row`)));
1858
+ if (rows.length === 0 && op.single === "one") return Promise.resolve(err(dbError("not_found", `No ${op.table.key} row matched`)));
1859
+ }
1860
+ return Promise.resolve(ok({
1861
+ rows,
1862
+ count
1863
+ }));
1864
+ }
1865
+ }, context, NO_PLUGINS, new StatsRecorder(), {}, this.#decodeEvents ??= new EventHub(this.events.logger, this.events.now));
1866
+ const out = {};
1867
+ for (const [key, spec] of Object.entries(specs)) {
1868
+ const entry = payload[key];
1869
+ if (!entry) return err(dbError("unexpected", `${set.functionName}() returned no "${key}". Run \`better-supabase gen\` and migrate.`));
1870
+ rows = entry.rows ?? [];
1871
+ count = entry.count ?? null;
1872
+ const result = await runSpec(decoder, spec, void 0);
1873
+ if (!result.ok) return result;
1874
+ out[key] = result.data;
1875
+ }
1876
+ return ok(out);
1877
+ }
1878
+ #errorMappersFor(plugins) {
1879
+ let mappers = this.#errorMappers.get(plugins);
1880
+ if (!mappers) {
1881
+ mappers = [...this.options.errors ?? [], ...plugins.flatMap((plugin) => plugin.mapError ? [plugin.mapError] : [])];
1882
+ this.#errorMappers.set(plugins, mappers);
1883
+ }
1884
+ return mappers;
1885
+ }
1886
+ #tablePrototype() {
1887
+ if (this.#tables) return this.#tables;
1888
+ const tables = {};
1889
+ const throwAs = this.options.throwAs;
1890
+ const build = (state, key) => {
1891
+ let repository = state.repositories.get(key);
1892
+ if (repository) return repository;
1893
+ const table = this.meta.tables[key];
1894
+ repository = this.#repository(state.runner, key, table, state.plugins);
1895
+ if (throwAs) {
1896
+ for (const [name, method] of Object.entries(repository)) if (typeof method === "function" && name !== "extend") repository[name] = mapThrows(method, throwAs);
1897
+ }
1898
+ state.repositories.set(key, repository);
1899
+ return repository;
1900
+ };
1901
+ for (const key of Object.keys(this.meta.tables)) Object.defineProperty(tables, key, {
1902
+ enumerable: true,
1903
+ get() {
1904
+ const state = dbStates.get(this);
1905
+ return state ? build(state, key) : void 0;
1906
+ }
1907
+ });
1908
+ const { blocks } = this.options;
1909
+ this.#tables = blocks === void 0 ? tables : blocksPrototype(blocks, tables, Object.keys(this.meta.tables), this.events);
1910
+ return this.#tables;
1911
+ }
1912
+ #repository(runner, key, table, plugins) {
1913
+ const repository = createRepository(runner, table);
1914
+ for (const plugin of plugins) {
1915
+ const methods = plugin.repository?.({
1916
+ table,
1917
+ base: repository
1918
+ });
1919
+ if (!methods) continue;
1920
+ for (const [name, method] of Object.entries(methods)) {
1921
+ if (name in repository) throw new TypeError(`better-supabase: plugin "${plugin.name}" redefines "${key}.${name}"`);
1922
+ repository[name] = method;
1923
+ }
1924
+ }
1925
+ repository["extend"] = (build) => ({
1926
+ ...repository,
1927
+ ...build(repository)
1928
+ });
1929
+ return repository;
1930
+ }
1931
+ };
1932
+ const dbStates = /* @__PURE__ */ new WeakMap();
1933
+ function mapThrows(method, throwAs) {
1934
+ return function mapped(...args) {
1935
+ const value = method.apply(this, args);
1936
+ return value instanceof AsyncResult ? withErrorMapper(value, throwAs) : value;
1937
+ };
1938
+ }
1939
+ function runSpec(db, spec, signal) {
1940
+ if (!isQuerySpec(spec)) return AsyncResult.err(dbError("invalid_request", "db.$run() expects a QuerySpec from betterSupabase.spec"));
1941
+ const method = db[spec.table]?.[spec.method];
1942
+ if (!method) return AsyncResult.err(dbError("invalid_request", `Unknown table "${spec.table}" in QuerySpec`));
1943
+ if (containsPlaceholder(spec.args)) return AsyncResult.err(dbError("invalid_request", "This spec comes from a read set and still holds placeholders; run it with db.$many(readSet, params)"));
1944
+ const args = [...spec.args];
1945
+ if (signal) {
1946
+ const index = spec.method === "get" ? 1 : 0;
1947
+ args[index] = {
1948
+ ...args[index],
1949
+ signal
1950
+ };
1951
+ }
1952
+ return method(...args);
1953
+ }
1954
+ function rpc(meta, executor, errorMappers, defaults, name, rest) {
1955
+ const [given, options] = rest;
1956
+ const args = given === void 0 ? void 0 : Object.fromEntries(Object.entries(given).filter(([, value]) => value !== void 0));
1957
+ return AsyncResult.from(async () => {
1958
+ if (!executor.rpc) return err(dbError("unsupported", `Executor "${executor.name}" does not support rpc()`));
1959
+ const tuning = {
1960
+ ...defaults,
1961
+ ...options?.timeout === void 0 ? {} : { timeout: options.timeout },
1962
+ ...options?.retry === void 0 ? {} : { retry: options.retry }
1963
+ };
1964
+ const invalid = invalidTuning(tuning);
1965
+ if (invalid) return err(dbError("invalid_request", invalid));
1966
+ const limit = deadline(options?.signal, tuning.timeout);
1967
+ const schema = options?.schema ?? "public";
1968
+ const fn = rpcFunction(meta, name, schema, args ?? {});
1969
+ const select = options?.raw === true ? void 0 : rpcSelect(meta, fn);
1970
+ const context = {
1971
+ schema,
1972
+ errorMappers,
1973
+ ...limit.signal ? { signal: limit.signal } : {},
1974
+ ...tuning.retry === void 0 ? {} : { retry: tuning.retry },
1975
+ ...fn ? { function: fn } : {},
1976
+ ...select ? { select } : {}
1977
+ };
1978
+ let result;
1979
+ try {
1980
+ result = await executor.rpc(name, args ?? {}, context);
1981
+ } finally {
1982
+ limit.clear();
1983
+ }
1984
+ if (!result.ok && limit.timedOut()) return err(dbError("timeout", `The request timed out after ${tuning.timeout} ms`));
1985
+ if (!result.ok) return result;
1986
+ let data = result.data;
1987
+ if (options?.raw !== true) try {
1988
+ data = decodeRpcResult(meta, fn, data);
1989
+ } catch (cause) {
1990
+ if (cause instanceof DbException) return err(cause.error);
1991
+ throw cause;
1992
+ }
1993
+ if (!options?.returns) return ok(data);
1994
+ const checked = await validate(options.returns, data, `${name}() result`);
1995
+ return checked.ok ? ok(checked.data) : checked;
1996
+ });
1997
+ }
1998
+ /**
1999
+ * Creates the data-layer definition from the generated `schema`, with the
2000
+ * repository extensions of the installed blocks (organization scope, trash,
2001
+ * `created_by` and `updated_at` stamps, write validation) already in place.
2002
+ *
2003
+ * ```ts
2004
+ * export const betterSupabase = defineSupabase(schema).use(guards());
2005
+ * ```
2006
+ */
2007
+ function defineSupabase(schema, options) {
2008
+ return new BetterSupabase(schema, schema.extensions ?? [], options);
2009
+ }
2010
+ //#endregion
2011
+ export { decodeRows as a, rowKey as c, encodeCursor as i, rpcCacheTargets as l, defineSupabase as n, cacheTargetOf as o, decodeCursor as r, memoryCache as s, BetterSupabase as t };