better-supabase 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1581) hide show
  1. package/README.md +67 -345
  2. package/dist/access-sql-B-MkVARa.js +207 -0
  3. package/dist/actor-go7p9-CJ.js +150 -0
  4. package/dist/adapter-B0b6MXYS.js +2299 -0
  5. package/dist/agents-5n8DWRfP.d.ts +117 -0
  6. package/dist/ai-cache-Cu8j6aQQ.js +87 -0
  7. package/dist/ai-cache-DyHohbFP.d.ts +82 -0
  8. package/dist/ai-chat-D1GuRnke.d.ts +619 -0
  9. package/dist/ai-files-CgFCRsnU.js +339 -0
  10. package/dist/ai-schedules-CAquecT_.d.ts +166 -0
  11. package/dist/ai-sdk/agents/index.d.ts +6 -6
  12. package/dist/ai-sdk/agents/index.js +4 -4
  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/embeddings/index.js +1 -1
  21. package/dist/ai-sdk/files/index.d.ts +2 -2
  22. package/dist/ai-sdk/files/index.js +5 -5
  23. package/dist/ai-sdk/index.d.ts +30 -9
  24. package/dist/ai-sdk/index.js +42 -4
  25. package/dist/ai-sdk/mcp/index.d.ts +4 -4
  26. package/dist/ai-sdk/mcp/index.js +7 -7
  27. package/dist/ai-sdk/memory/index.d.ts +3 -3
  28. package/dist/ai-sdk/memory/index.js +2 -2
  29. package/dist/ai-sdk/workflow/index.d.ts +4 -4
  30. package/dist/ai-sdk/workflow/index.js +7 -7
  31. package/dist/anchors-7F34QyHa.d.ts +40 -0
  32. package/dist/api-DxAPqMrE.d.ts +495 -0
  33. package/dist/api-keys-D5k63K6y.d.ts +213 -0
  34. package/dist/app-tables-CF2DD-Mu.d.ts +28 -0
  35. package/dist/app-tables-D29Rahtg.js +16350 -0
  36. package/dist/approvals-Crutd4-o.d.ts +129 -0
  37. package/dist/assistant-CD_h8Vxx.d.ts +157 -0
  38. package/dist/astro/index.d.ts +19 -16
  39. package/dist/astro/index.js +8 -8
  40. package/dist/attachments-aJYgdYtB.js +369 -0
  41. package/dist/attributes-Bzf51_nc.js +47 -0
  42. package/dist/auth-module-BEFESDC4.js +44 -0
  43. package/dist/auth-reply-tlXB2FQ9.js +31 -0
  44. package/dist/authorization-HZdJCaVm.d.ts +3595 -0
  45. package/dist/authorization-hooks-Cs1vP_ej.d.ts +217 -0
  46. package/dist/authorizer-B6X09otb.d.ts +118 -0
  47. package/dist/authorizer-BGhXaDmo.js +172 -0
  48. package/dist/automation-D41DXyvT.js +75 -0
  49. package/dist/automations-BYsz43AG.js +314 -0
  50. package/dist/automations-Bc2ue55V.js +26 -0
  51. package/dist/automations-CD1XlL2W.js +33 -0
  52. package/dist/automations-CIwRq7zm.js +30 -0
  53. package/dist/availability-vguUvEK2.d.ts +226 -0
  54. package/dist/better-result/index.d.ts +20 -30
  55. package/dist/better-result/index.js +2 -2
  56. package/dist/bind-CrMBwrPN.d.ts +104 -0
  57. package/dist/block-authors-BDV3y1SP.js +14 -0
  58. package/dist/block-authors-DzXLUiIq.d.ts +12 -0
  59. package/dist/block-env-B_uEM2xz.d.ts +32 -0
  60. package/dist/block-event-listener-Bu6G0TFH.js +16 -0
  61. package/dist/block-events-pBXPzwnW.js +83 -0
  62. package/dist/block-fields-BE7pInWZ.d.ts +58 -0
  63. package/dist/block-fields-DE_FgpOU.js +139 -0
  64. package/dist/block-helpers-CRpAHrp_.d.ts +62 -0
  65. package/dist/block-helpers-CtBdjgO4.js +353 -0
  66. package/dist/block-hooks-BfxX3682.js +130 -0
  67. package/dist/block-hooks-DZN2w69m.d.ts +117 -0
  68. package/dist/block-method-C9hWdHom.js +21 -0
  69. package/dist/block-method-CiVa2G-J.d.ts +14 -0
  70. package/dist/block-subjects-BhDKK_j7.js +55 -0
  71. package/dist/block-subjects-CphkQPxp.d.ts +6 -0
  72. package/dist/block-tenant-DHp7subc.js +14 -0
  73. package/dist/block-transport-DWZSJrwN.d.ts +69 -0
  74. package/dist/blocks/access-requests/index.d.ts +8 -8
  75. package/dist/blocks/access-requests/index.js +6 -7
  76. package/dist/blocks/activities/index.d.ts +215 -0
  77. package/dist/blocks/activities/index.js +414 -0
  78. package/dist/blocks/agents/index.d.ts +4 -4
  79. package/dist/blocks/agents/index.js +5 -6
  80. package/dist/blocks/ai-cache/index.d.ts +3 -3
  81. package/dist/blocks/ai-cache/index.js +3 -3
  82. package/dist/blocks/ai-chat/index.d.ts +119 -6
  83. package/dist/blocks/ai-chat/index.js +1067 -5
  84. package/dist/blocks/ai-files/index.d.ts +5 -5
  85. package/dist/blocks/ai-files/index.js +3 -3
  86. package/dist/blocks/ai-keys/index.d.ts +22 -0
  87. package/dist/blocks/ai-keys/index.js +236 -0
  88. package/dist/blocks/ai-schedules/index.d.ts +10 -0
  89. package/dist/blocks/ai-schedules/index.js +258 -0
  90. package/dist/blocks/announcements/index.d.ts +134 -5
  91. package/dist/blocks/announcements/index.js +179 -4
  92. package/dist/blocks/api-keys/index.d.ts +69 -8
  93. package/dist/blocks/api-keys/index.js +417 -7
  94. package/dist/blocks/approvals/index.d.ts +4 -4
  95. package/dist/blocks/approvals/index.js +25 -24
  96. package/dist/blocks/assets/index.d.ts +281 -0
  97. package/dist/blocks/assets/index.js +288 -0
  98. package/dist/blocks/assignment/index.d.ts +124 -0
  99. package/dist/blocks/assignment/index.js +141 -0
  100. package/dist/blocks/attachments/index.d.ts +130 -6
  101. package/dist/blocks/attachments/index.js +328 -7
  102. package/dist/blocks/audit/index.d.ts +476 -7
  103. package/dist/blocks/audit/index.js +863 -7
  104. package/dist/blocks/automations/index.d.ts +524 -0
  105. package/dist/blocks/automations/index.js +553 -0
  106. package/dist/blocks/billable-time/index.d.ts +201 -0
  107. package/dist/blocks/billable-time/index.js +260 -0
  108. package/dist/blocks/billing/index.d.ts +146 -16
  109. package/dist/blocks/billing/index.js +231 -41
  110. package/dist/blocks/bookings/index.d.ts +54 -5
  111. package/dist/blocks/bookings/index.js +423 -6
  112. package/dist/blocks/bulk/index.d.ts +6 -6
  113. package/dist/blocks/bulk/index.js +4 -4
  114. package/dist/blocks/calendar/index.d.ts +186 -5
  115. package/dist/blocks/calendar/index.js +1180 -4
  116. package/dist/blocks/catalog/index.d.ts +134 -28
  117. package/dist/blocks/catalog/index.js +183 -54
  118. package/dist/blocks/channels/index.d.ts +113 -0
  119. package/dist/blocks/channels/index.js +189 -0
  120. package/dist/blocks/collections/index.d.ts +90 -17
  121. package/dist/blocks/collections/index.js +85 -10
  122. package/dist/blocks/comments/index.d.ts +263 -45
  123. package/dist/blocks/comments/index.js +360 -16
  124. package/dist/blocks/compliance/index.d.ts +325 -0
  125. package/dist/blocks/compliance/index.js +410 -0
  126. package/dist/blocks/connectors/index.d.ts +4 -4
  127. package/dist/blocks/connectors/index.js +8 -9
  128. package/dist/blocks/contacts/index.d.ts +182 -0
  129. package/dist/blocks/contacts/index.js +358 -0
  130. package/dist/blocks/content/index.d.ts +188 -0
  131. package/dist/blocks/content/index.js +219 -0
  132. package/dist/blocks/contracts/index.d.ts +239 -0
  133. package/dist/blocks/contracts/index.js +361 -0
  134. package/dist/blocks/courses/index.d.ts +341 -0
  135. package/dist/blocks/courses/index.js +445 -0
  136. package/dist/blocks/created-by/index.d.ts +27 -0
  137. package/dist/blocks/created-by/index.js +14 -0
  138. package/dist/blocks/custom-fields/index.d.ts +44 -13
  139. package/dist/blocks/custom-fields/index.js +25 -20
  140. package/dist/blocks/data-lifecycle/index.d.ts +9 -9
  141. package/dist/blocks/data-lifecycle/index.js +7 -8
  142. package/dist/blocks/deals/index.d.ts +20 -40
  143. package/dist/blocks/deals/index.js +156 -66
  144. package/dist/blocks/dispatch/index.d.ts +325 -0
  145. package/dist/blocks/dispatch/index.js +406 -0
  146. package/dist/blocks/documents/index.d.ts +8 -5
  147. package/dist/blocks/documents/index.js +66 -7
  148. package/dist/blocks/domains/index.d.ts +7 -7
  149. package/dist/blocks/domains/index.js +6 -7
  150. package/dist/blocks/donations/index.d.ts +350 -0
  151. package/dist/blocks/donations/index.js +610 -0
  152. package/dist/blocks/drive/index.d.ts +56 -11
  153. package/dist/blocks/drive/index.js +62 -11
  154. package/dist/blocks/employees/index.d.ts +41 -23
  155. package/dist/blocks/employees/index.js +125 -33
  156. package/dist/blocks/enrichment/index.d.ts +176 -0
  157. package/dist/blocks/enrichment/index.js +251 -0
  158. package/dist/blocks/enrollments/index.d.ts +182 -0
  159. package/dist/blocks/enrollments/index.js +173 -0
  160. package/dist/blocks/entitlements/index.d.ts +48 -8
  161. package/dist/blocks/entitlements/index.js +62 -4
  162. package/dist/blocks/expenses/index.d.ts +214 -0
  163. package/dist/blocks/expenses/index.js +279 -0
  164. package/dist/blocks/field-history/index.d.ts +63 -0
  165. package/dist/blocks/field-history/index.js +46 -0
  166. package/dist/blocks/flags/index.d.ts +17 -13
  167. package/dist/blocks/flags/index.js +7 -8
  168. package/dist/blocks/forecasts/index.d.ts +119 -0
  169. package/dist/blocks/forecasts/index.js +129 -0
  170. package/dist/blocks/forms/index.d.ts +208 -140
  171. package/dist/blocks/forms/index.js +488 -149
  172. package/dist/blocks/goals/index.d.ts +82 -0
  173. package/dist/blocks/goals/index.js +72 -0
  174. package/dist/blocks/guests/index.d.ts +198 -0
  175. package/dist/blocks/guests/index.js +224 -0
  176. package/dist/blocks/hiring/index.d.ts +20 -10
  177. package/dist/blocks/hiring/index.js +10 -10
  178. package/dist/blocks/identities/index.d.ts +7 -7
  179. package/dist/blocks/identities/index.js +4 -5
  180. package/dist/blocks/imports/index.d.ts +8 -8
  181. package/dist/blocks/imports/index.js +6 -6
  182. package/dist/blocks/inbox/index.d.ts +138 -6
  183. package/dist/blocks/inbox/index.js +383 -85
  184. package/dist/blocks/incidents/index.d.ts +337 -0
  185. package/dist/blocks/incidents/index.js +477 -0
  186. package/dist/blocks/index.d.ts +145 -11
  187. package/dist/blocks/index.js +184 -187
  188. package/dist/blocks/inventory/index.d.ts +10 -10
  189. package/dist/blocks/inventory/index.js +6 -7
  190. package/dist/blocks/invoices/index.d.ts +11 -11
  191. package/dist/blocks/invoices/index.js +8 -9
  192. package/dist/blocks/knowledge/index.d.ts +3 -3
  193. package/dist/blocks/knowledge/index.js +4 -4
  194. package/dist/blocks/lead-scoring/index.d.ts +50 -0
  195. package/dist/blocks/lead-scoring/index.js +87 -0
  196. package/dist/blocks/leases/index.d.ts +221 -0
  197. package/dist/blocks/leases/index.js +244 -0
  198. package/dist/blocks/leave/index.d.ts +8 -8
  199. package/dist/blocks/leave/index.js +5 -6
  200. package/dist/blocks/ledger/index.d.ts +279 -0
  201. package/dist/blocks/ledger/index.js +229 -0
  202. package/dist/blocks/mail-sync/index.d.ts +37 -0
  203. package/dist/blocks/mail-sync/index.js +906 -0
  204. package/dist/blocks/memberships/index.d.ts +67 -0
  205. package/dist/blocks/memberships/index.js +14 -0
  206. package/dist/blocks/memory/index.d.ts +4 -4
  207. package/dist/blocks/memory/index.js +8 -9
  208. package/dist/blocks/messaging/index.d.ts +186 -0
  209. package/dist/blocks/messaging/index.js +619 -0
  210. package/dist/blocks/metrics/index.d.ts +7 -7
  211. package/dist/blocks/metrics/index.js +6 -7
  212. package/dist/blocks/mfa/index.d.ts +145 -3
  213. package/dist/blocks/mfa/index.js +211 -2
  214. package/dist/blocks/moderation/index.d.ts +203 -0
  215. package/dist/blocks/moderation/index.js +199 -0
  216. package/dist/blocks/notifications/index.d.ts +67 -15
  217. package/dist/blocks/notifications/index.js +64 -16
  218. package/dist/blocks/numbering/index.d.ts +45 -0
  219. package/dist/blocks/numbering/index.js +49 -0
  220. package/dist/blocks/oauth-server/index.d.ts +6 -6
  221. package/dist/blocks/oauth-server/index.js +6 -7
  222. package/dist/blocks/onboarding/index.d.ts +112 -4
  223. package/dist/blocks/onboarding/index.js +107 -4
  224. package/dist/blocks/orders/index.d.ts +152 -13
  225. package/dist/blocks/orders/index.js +188 -18
  226. package/dist/blocks/organizations/index.d.ts +452 -6
  227. package/dist/blocks/organizations/index.js +689 -5
  228. package/dist/blocks/outbox/index.d.ts +4 -4
  229. package/dist/blocks/outbox/index.js +20 -8
  230. package/dist/blocks/passes/index.d.ts +306 -0
  231. package/dist/blocks/passes/index.js +411 -0
  232. package/dist/blocks/permissions/index.d.ts +92 -0
  233. package/dist/blocks/permissions/index.js +127 -0
  234. package/dist/blocks/pipelines/index.d.ts +15 -15
  235. package/dist/blocks/pipelines/index.js +12 -13
  236. package/dist/blocks/posts/index.d.ts +190 -0
  237. package/dist/blocks/posts/index.js +230 -0
  238. package/dist/blocks/profiles/index.d.ts +7 -7
  239. package/dist/blocks/profiles/index.js +5 -6
  240. package/dist/blocks/promotions/index.d.ts +9 -9
  241. package/dist/blocks/promotions/index.js +7 -8
  242. package/dist/blocks/push/index.d.ts +9 -9
  243. package/dist/blocks/push/index.js +4 -5
  244. package/dist/blocks/queue/index.d.ts +562 -0
  245. package/dist/blocks/queue/index.js +1407 -0
  246. package/dist/blocks/quotes/index.d.ts +29 -14
  247. package/dist/blocks/quotes/index.js +14 -14
  248. package/dist/blocks/rank/index.d.ts +7 -7
  249. package/dist/blocks/rank/index.js +4 -4
  250. package/dist/blocks/reactions/index.d.ts +154 -5
  251. package/dist/blocks/reactions/index.js +168 -4
  252. package/dist/blocks/relations/index.d.ts +59 -42
  253. package/dist/blocks/relations/index.js +117 -59
  254. package/dist/blocks/reminders/index.d.ts +21 -17
  255. package/dist/blocks/reminders/index.js +26 -27
  256. package/dist/blocks/reviews/index.d.ts +8 -8
  257. package/dist/blocks/reviews/index.js +6 -7
  258. package/dist/blocks/saved-views/index.d.ts +311 -4
  259. package/dist/blocks/saved-views/index.js +437 -2
  260. package/dist/blocks/scores/index.d.ts +48 -0
  261. package/dist/blocks/scores/index.js +40 -0
  262. package/dist/blocks/search/index.d.ts +168 -5
  263. package/dist/blocks/search/index.js +277 -6
  264. package/dist/blocks/security-events/index.d.ts +440 -0
  265. package/dist/blocks/security-events/index.js +885 -0
  266. package/dist/blocks/segments/index.d.ts +130 -0
  267. package/dist/blocks/segments/index.js +135 -0
  268. package/dist/blocks/sequences/index.d.ts +259 -0
  269. package/dist/blocks/sequences/index.js +376 -0
  270. package/dist/blocks/service-accounts/index.d.ts +132 -0
  271. package/dist/blocks/service-accounts/index.js +109 -0
  272. package/dist/blocks/sessions/index.d.ts +138 -3
  273. package/dist/blocks/sessions/index.js +173 -2
  274. package/dist/blocks/settings/index.d.ts +181 -5
  275. package/dist/blocks/settings/index.js +226 -4
  276. package/dist/blocks/share-links/index.d.ts +46 -19
  277. package/dist/blocks/share-links/index.js +74 -23
  278. package/dist/blocks/shipments/index.d.ts +236 -0
  279. package/dist/blocks/shipments/index.js +548 -0
  280. package/dist/blocks/signatures/index.d.ts +151 -0
  281. package/dist/blocks/signatures/index.js +149 -0
  282. package/dist/blocks/signing-keys/index.d.ts +4 -4
  283. package/dist/blocks/signing-keys/index.js +4 -165
  284. package/dist/blocks/sla/index.d.ts +37 -27
  285. package/dist/blocks/sla/index.js +48 -13
  286. package/dist/blocks/sso/index.d.ts +7 -7
  287. package/dist/blocks/sso/index.js +4 -5
  288. package/dist/blocks/state-machine/index.d.ts +14 -14
  289. package/dist/blocks/state-machine/index.js +26 -26
  290. package/dist/blocks/subjects/index.d.ts +45 -0
  291. package/dist/blocks/subjects/index.js +203 -0
  292. package/dist/blocks/tags/index.d.ts +170 -5
  293. package/dist/blocks/tags/index.js +265 -5
  294. package/dist/blocks/tasks/index.d.ts +346 -0
  295. package/dist/blocks/tasks/index.js +626 -0
  296. package/dist/blocks/teams/index.d.ts +7 -7
  297. package/dist/blocks/teams/index.js +4 -4
  298. package/dist/blocks/templates/index.d.ts +18 -18
  299. package/dist/blocks/templates/index.js +11 -12
  300. package/dist/blocks/time-tracking/index.d.ts +40 -32
  301. package/dist/blocks/time-tracking/index.js +40 -40
  302. package/dist/blocks/timeline/index.d.ts +116 -0
  303. package/dist/blocks/timeline/index.js +164 -0
  304. package/dist/blocks/trash/index.d.ts +47 -9
  305. package/dist/blocks/trash/index.js +9 -8
  306. package/dist/blocks/undo/index.d.ts +48 -5
  307. package/dist/blocks/undo/index.js +60 -4
  308. package/dist/blocks/updated-at/index.d.ts +20 -0
  309. package/dist/blocks/updated-at/index.js +14 -0
  310. package/dist/blocks/usage/index.d.ts +40 -6
  311. package/dist/blocks/usage/index.js +301 -4
  312. package/dist/blocks/vercel-marketplace/index.d.ts +7 -7
  313. package/dist/blocks/vercel-marketplace/index.js +8 -9
  314. package/dist/blocks/versions/index.d.ts +38 -19
  315. package/dist/blocks/versions/index.js +66 -19
  316. package/dist/blocks/waitlist/index.d.ts +9 -9
  317. package/dist/blocks/waitlist/index.js +5 -6
  318. package/dist/blocks/webhooks/index.d.ts +21 -21
  319. package/dist/blocks/webhooks/index.js +18 -19
  320. package/dist/blocks/workflow-editor/index.d.ts +99 -0
  321. package/dist/blocks/workflow-editor/index.js +733 -0
  322. package/dist/blocks/workflows/index.d.ts +72 -6
  323. package/dist/blocks/workflows/index.js +379 -4
  324. package/dist/bookings-D4dvGXiR.d.ts +290 -0
  325. package/dist/bucket-CiNi8sIw.d.ts +666 -0
  326. package/dist/build-BFC8nFiL.js +797 -0
  327. package/dist/build-QitPVzzO.js +2073 -0
  328. package/dist/carrier-KzeYXVrW.d.ts +169 -0
  329. package/dist/chat-sdk/index.d.ts +43 -11
  330. package/dist/chat-sdk/index.js +51 -24
  331. package/dist/claims-DTy6R6my.js +63 -0
  332. package/dist/cli/add-BgsUjCan.js +1252 -0
  333. package/dist/cli/add-DCI5JKjA.js +99 -0
  334. package/dist/cli/add-DWjlVwvP.js +1 -0
  335. package/dist/cli/args-UEwg0l-N.js +27 -0
  336. package/dist/cli/backfill-nxPbcsns.js +293 -0
  337. package/dist/cli/bin.js +1 -1
  338. package/dist/cli/blocks-BZHI8mRC.js +156 -0
  339. package/dist/cli/blocks-Cr4HGePW.js +1 -0
  340. package/dist/cli/cache-CXgR_Ahi.js +607 -0
  341. package/dist/cli/codemod-DSN7iAdg.js +2343 -0
  342. package/dist/cli/codemod-block-renames-BuSaTE_G.js +239 -0
  343. package/dist/cli/command-CQ61x6gN.js +941 -0
  344. package/dist/cli/completion-2Y3D_eNu.js +211 -0
  345. package/dist/cli/completion-BwI0_Ap5.js +30 -0
  346. package/dist/cli/completion-Dlu5AdUW.js +1 -0
  347. package/dist/cli/config-9t5ec_N7.js +1642 -0
  348. package/dist/cli/config-CBqkQjjN.js +1 -0
  349. package/dist/cli/config-CPux9Wa7.js +47 -0
  350. package/dist/cli/config-edit-CrWfk8s3.js +621 -0
  351. package/dist/cli/config-group-C8tjut39.js +391 -0
  352. package/dist/cli/content-mapper-DNs7lTu7.js +182 -0
  353. package/dist/cli/db-DrBI_HNv.js +223 -0
  354. package/dist/cli/doctor-DDrEM6S1.js +4561 -0
  355. package/dist/cli/env-BBl5L8Bf.js +143 -0
  356. package/dist/cli/env-CAU1nknN.js +1 -0
  357. package/dist/cli/files-CX71yBm8.js +1010 -0
  358. package/dist/cli/gen-MtijJQ9r.js +387 -0
  359. package/dist/cli/in-stack-diff-DQTW53Vf.js +257 -0
  360. package/dist/cli/index.d.ts +51 -5
  361. package/dist/cli/index.js +8 -8
  362. package/dist/cli/init-D-aDv9r5.js +440 -0
  363. package/dist/cli/keys-DGEpMbeB.js +106 -0
  364. package/dist/cli/live-iEeH15ck.js +341 -0
  365. package/dist/cli/mcp-BAPyaQ62.js +249 -0
  366. package/dist/cli/metadata-DVx9Zgbj.js +150 -0
  367. package/dist/cli/migration-safety-D7PhzFxm.js +928 -0
  368. package/dist/cli/module-migration-aPCckev6.js +734 -0
  369. package/dist/cli/moved-CsfDQcyk.js +254 -0
  370. package/dist/cli/orphans-BAboqyVM.js +28 -0
  371. package/dist/cli/parse-B9Iv_-Pf.js +182 -0
  372. package/dist/cli/preset-BwmIfFnh.js +101 -0
  373. package/dist/cli/print-BeWO7OJY.js +67 -0
  374. package/dist/cli/remove-B46Dmd2M.js +238 -0
  375. package/dist/cli/render-ucJmUyuM.js +2170 -0
  376. package/dist/cli/run-BXx6D1aR.js +63 -0
  377. package/dist/cli/run-CvYVAztY.js +1427 -0
  378. package/dist/cli/run-DYhLBcFW.js +702 -0
  379. package/dist/cli/seed-Cz8PcXeT.js +188 -0
  380. package/dist/cli/seed-D6XijwbR.js +1 -0
  381. package/dist/cli/shared-LZroULBe.js +151 -0
  382. package/dist/cli/skills-toUan_OV.js +121 -0
  383. package/dist/cli/snapshot-C8MVPyO8.js +729 -0
  384. package/dist/cli/source-DANaJJVc.js +320 -0
  385. package/dist/cli/source-args-IpJRJO5t.js +59 -0
  386. package/dist/cli/spec-DGVNMSSB.js +7530 -0
  387. package/dist/cli/spec-g8_G5K7o.js +1 -0
  388. package/dist/cli/stack-CWEHdO0b.js +135 -0
  389. package/dist/cli/sync-btj01bcM.js +319 -0
  390. package/dist/cli/upgrade-B596d4t8.js +403 -0
  391. package/dist/cli/upgrade-Dw3TMQzn.js +41 -0
  392. package/dist/cli/version-Du4CgONY.js +4 -0
  393. package/dist/client/index.d.ts +8 -7
  394. package/dist/client/index.js +11 -7
  395. package/dist/client/native/index.d.ts +6 -6
  396. package/dist/client/native/index.js +3 -3
  397. package/dist/client-BAEbEA7t.js +287 -0
  398. package/dist/cloud-event-CzZTJkXv.d.ts +64 -0
  399. package/dist/codecs-CMWlhHZ0.d.ts +222 -0
  400. package/dist/codecs-TylXqU_I.js +358 -0
  401. package/dist/commerce/index.d.ts +4 -3
  402. package/dist/commerce/index.js +6 -6
  403. package/dist/compiler-D3UmE7ao.d.ts +14 -0
  404. package/dist/compose-DKW0Tr3e.js +53 -0
  405. package/dist/composite-BARuBEDE.js +130 -0
  406. package/dist/composite-Dsxj7T5K.d.ts +82 -0
  407. package/dist/config/index.d.ts +6 -7
  408. package/dist/config/index.js +6 -6
  409. package/dist/config-CcehOvbz.js +1698 -0
  410. package/dist/config-DWGgUQCh.js +1108 -0
  411. package/dist/connectors-Fud4amxp.d.ts +147 -0
  412. package/dist/context-CEuTKrkz.d.ts +4129 -0
  413. package/dist/context-DBicfUNz.js +41 -0
  414. package/dist/controller-BNZKd6bJ.js +73 -0
  415. package/dist/controller-BrP0gn47.d.ts +52 -0
  416. package/dist/conversion-BAbucuXq.d.ts +86 -0
  417. package/dist/conversion-Dq1S7xzE.js +77 -0
  418. package/dist/create/index.d.ts +34 -23
  419. package/dist/create/index.js +35 -27
  420. package/dist/create/lite/index.d.ts +2 -2
  421. package/dist/create/supabase/index.d.ts +2 -2
  422. package/dist/create/supabase/index.js +2 -2
  423. package/dist/create-blocks-Bu4H5TXw.js +352 -0
  424. package/dist/credentials/index.d.ts +5 -5
  425. package/dist/credentials/index.js +6 -7
  426. package/dist/cron-CgHTKwYG.js +148 -0
  427. package/dist/cron-route-UU9i5i9J.js +24 -0
  428. package/dist/data-engine-BWoz9lED.d.ts +273 -0
  429. package/dist/data-engine-D1BkmBoR.js +173 -0
  430. package/dist/data-hooks-tgF1Ct0F.js +280 -0
  431. package/dist/db-blocks-DJGbjIPz.js +62 -0
  432. package/dist/db-exception-Lngc1W49.js +31 -0
  433. package/dist/deal-forecast-Bv52QMyX.js +39 -0
  434. package/dist/deal-forecast-LwO-Z4_C.d.ts +23 -0
  435. package/dist/define-DFBnQyYg.d.ts +1255 -0
  436. package/dist/define-DlUeKHce.js +2011 -0
  437. package/dist/define-block-BGqOO8B3.js +64 -0
  438. package/dist/define-block-BVcLQ3DF.d.ts +1657 -0
  439. package/dist/delegation--93jRsVO.js +146 -0
  440. package/dist/documents-Cup1rpjF.d.ts +152 -0
  441. package/dist/edge/index.d.ts +23 -23
  442. package/dist/edge/index.js +14 -14
  443. package/dist/elysia/index.d.ts +1 -1
  444. package/dist/elysia/index.js +1 -1
  445. package/dist/embeddings-kFbRvuic.d.ts +78 -0
  446. package/dist/embeddings-vVzseUw0.js +128 -0
  447. package/dist/ended-gUsMZVNg.d.ts +26 -0
  448. package/dist/entitlements-CJpYQXeE.d.ts +54 -0
  449. package/dist/entitlements-NZAE_vLj.js +45 -0
  450. package/dist/entity-naming-Dtyq5sKE.js +131 -0
  451. package/dist/entity-schema-BDv6w-OQ.js +39 -0
  452. package/dist/envelope-Bzu0JnY2.js +90 -0
  453. package/dist/errors-BVFgt8BZ.js +328 -0
  454. package/dist/errors-CyxMxzlu.js +44 -0
  455. package/dist/escape-like-PReMbEEU.d.ts +30 -0
  456. package/dist/eve/index.d.ts +5 -5
  457. package/dist/eve/index.js +4 -4
  458. package/dist/eve-BFSwTu1z.d.ts +157 -0
  459. package/dist/event-calendar-DCufbihU.d.ts +65 -0
  460. package/dist/events/index.d.ts +4 -4
  461. package/dist/events/index.js +2 -1
  462. package/dist/events-vcqenSYU.d.ts +852 -0
  463. package/dist/executor-3qcMhg6R.js +207 -0
  464. package/dist/executor-BQ7dYw4E.js +843 -0
  465. package/dist/executor-CVIn6JHa.d.ts +174 -0
  466. package/dist/executor-D3gB-9si.js +486 -0
  467. package/dist/executor-_2ekNofh.d.ts +104 -0
  468. package/dist/executor-hGjrop3A.d.ts +37 -0
  469. package/dist/expo/index.d.ts +12 -11
  470. package/dist/expo/index.js +12 -11
  471. package/dist/extension-B-lajjex.js +58 -0
  472. package/dist/extension-B0EjCYhO.js +61 -0
  473. package/dist/extension-DeAd_MqI.js +121 -0
  474. package/dist/extension-DzCc0IOd.js +103 -0
  475. package/dist/extension-shared-Djm8mGHD.js +60 -0
  476. package/dist/field-errors-fsbFktYF.d.ts +216 -0
  477. package/dist/field-formats-CAFNkKSN.d.ts +38 -0
  478. package/dist/fields-B0zaJAO3.js +107 -0
  479. package/dist/fields-C3q2ypnO.d.ts +78 -0
  480. package/dist/filter-evaluate-CPxeae5X.d.ts +37 -0
  481. package/dist/filter-evaluate-w1XOIUOL.js +217 -0
  482. package/dist/filter-query-BXLs72G9.d.ts +133 -0
  483. package/dist/filter-query-DMoKo82_.js +566 -0
  484. package/dist/flags-BOdA_ETQ.js +279 -0
  485. package/dist/flags-C01PLMJ-.d.ts +246 -0
  486. package/dist/flags-sdk/index.d.ts +1 -1
  487. package/dist/flags-sdk/index.js +2 -2
  488. package/dist/form-definition-BTpM_tz1.js +363 -0
  489. package/dist/form-definition-BjEtH8BT.d.ts +119 -0
  490. package/dist/format-u-65igKI.d.ts +79 -0
  491. package/dist/framework-BKyTeS-j.d.ts +47 -0
  492. package/dist/framework-DDdkR7FX.js +58 -0
  493. package/dist/function-contract-DxFNOmsm.d.ts +27 -0
  494. package/dist/gateway-TD1pRfTP.d.ts +115 -0
  495. package/dist/guest-actions-1T1DeS5Y.d.ts +5 -0
  496. package/dist/guest-actions-B7zdhfnh.js +9 -0
  497. package/dist/h3/index.d.ts +2 -4
  498. package/dist/h3/index.js +2 -4
  499. package/dist/h3/v1/index.d.ts +2 -3
  500. package/dist/h3/v1/index.js +2 -3
  501. package/dist/hono/index.d.ts +27 -21
  502. package/dist/hono/index.js +22 -20
  503. package/dist/http-7-UvHjQe.js +28 -0
  504. package/dist/impersonation-DM3oWNoD.js +62 -0
  505. package/dist/inbox-NDKwSk_H.d.ts +321 -0
  506. package/dist/index-B938YqY-.d.ts +188 -0
  507. package/dist/index-BUuVq1co.d.ts +158 -0
  508. package/dist/index-BnH4Gomw.d.ts +633 -0
  509. package/dist/index-BxYOB1Oc.d.ts +149 -0
  510. package/dist/index-C-qpk8EQ.d.ts +262 -0
  511. package/dist/index-CG9rA8H8.d.ts +407 -0
  512. package/dist/index-CguFm716.d.ts +518 -0
  513. package/dist/index-DLq69k3F.d.ts +588 -0
  514. package/dist/index-Do2ChN_y.d.ts +287 -0
  515. package/dist/index.d.ts +39 -92
  516. package/dist/index.js +95 -16
  517. package/dist/instances-BHjCZoF8.js +277 -0
  518. package/dist/invalidate-DMp4eqfF.d.ts +21 -0
  519. package/dist/json-schema-Ca6gYbEP.js +888 -0
  520. package/dist/jwks-cache-DEsKI0hJ.js +49 -0
  521. package/dist/kit-5l-o8RxL.js +133 -0
  522. package/dist/kit-DOwKpSkA.d.ts +94 -0
  523. package/dist/knowledge-BGbtxMP9.js +300 -0
  524. package/dist/knowledge-CtL-Vfgy.d.ts +217 -0
  525. package/dist/lint/index.d.ts +94 -11
  526. package/dist/lint/index.js +268 -26
  527. package/dist/list/index.d.ts +4 -4
  528. package/dist/list/index.js +3 -3
  529. package/dist/list-query-BDVutLFr.d.ts +222 -0
  530. package/dist/list-query-BKy2zBaT.js +559 -0
  531. package/dist/live-C21DgbsD.js +275 -0
  532. package/dist/mapper/bin.js +380 -0
  533. package/dist/mcp/index.d.ts +8 -8
  534. package/dist/mcp/index.js +11 -11
  535. package/dist/mcp/sdk/index.d.ts +10 -10
  536. package/dist/mcp/sdk/index.js +11 -11
  537. package/dist/messages-D4XWuRTj.js +492 -0
  538. package/dist/messaging-C_Pr9tGx.d.ts +297 -0
  539. package/dist/methods-B3o7BFOW.js +11 -0
  540. package/dist/mfa-oIOYTpvc.d.ts +36 -0
  541. package/dist/model-hwpvole9.d.ts +340 -0
  542. package/dist/model-messages-CKG0zwdF.js +206 -0
  543. package/dist/money-codec-BzddguAQ.js +41 -0
  544. package/dist/my-work-kinds-BU3SlA-6.js +11 -0
  545. package/dist/nestjs/index.d.ts +3 -3
  546. package/dist/nestjs/index.js +2 -2
  547. package/dist/next/index.d.ts +296 -57
  548. package/dist/next/index.js +310 -54
  549. package/dist/node/index.d.ts +2 -2
  550. package/dist/node/index.js +6 -8
  551. package/dist/operations-CSc_IsHO.d.ts +6 -0
  552. package/dist/options-0qvUckqt.js +9 -0
  553. package/dist/options-1GgseJq5.js +10 -0
  554. package/dist/options-21s0dpnX.js +9 -0
  555. package/dist/options-2EMA_x6_.js +16 -0
  556. package/dist/options-63AKQNv0.js +5 -0
  557. package/dist/options-9gvPo1BC.js +8 -0
  558. package/dist/options-B-cxGmRA.js +5 -0
  559. package/dist/options-B0EJULm5.js +5 -0
  560. package/dist/options-B2swWnJW.js +9 -0
  561. package/dist/options-B5VUf4IT.js +8 -0
  562. package/dist/options-BMGClqoa.js +11 -0
  563. package/dist/options-BPDiwSa-.js +5 -0
  564. package/dist/options-BQIYfx9F.js +9 -0
  565. package/dist/options-BVg58avP.js +5 -0
  566. package/dist/options-BYOtaF7w.js +5 -0
  567. package/dist/options-BZOliZvb.js +9 -0
  568. package/dist/options-BbnPv6p7.js +12 -0
  569. package/dist/options-BfLmA375.js +5 -0
  570. package/dist/options-BjtrC7o6.js +8 -0
  571. package/dist/options-BlncUmIc.js +9 -0
  572. package/dist/options-BlzSfWxC.d.ts +10 -0
  573. package/dist/options-BnZS7IK-.js +9 -0
  574. package/dist/options-Bpl-WFPk.js +15 -0
  575. package/dist/options-Br1Xi2Hw.js +9 -0
  576. package/dist/options-Bt0bYMLl.js +24 -0
  577. package/dist/options-BvtnxHfK.js +24 -0
  578. package/dist/options-C-dQHH5-.js +8 -0
  579. package/dist/options-C3RgtOLo.js +5 -0
  580. package/dist/options-CE93HOYi.d.ts +7 -0
  581. package/dist/options-CF7nRWXS.js +5 -0
  582. package/dist/options-CM6-18FQ.d.ts +13 -0
  583. package/dist/options-CPK2nQER.js +5 -0
  584. package/dist/options-CRz8Ht_4.js +9 -0
  585. package/dist/options-CSCXNYJO.d.ts +8 -0
  586. package/dist/options-CW9wTqOk.js +11 -0
  587. package/dist/options-CYV4iZiQ.js +5 -0
  588. package/dist/options-Cl9Ag2Pt.js +8 -0
  589. package/dist/options-Cp0HyUEk.js +9 -0
  590. package/dist/options-Cqq2jUww.js +10 -0
  591. package/dist/options-CsGl5BLH.d.ts +52 -0
  592. package/dist/options-CtUUU71w.js +20 -0
  593. package/dist/options-CvD9vNvx.js +9 -0
  594. package/dist/options-CyAhRKKm.d.ts +14 -0
  595. package/dist/options-Cyu0hgmN.js +9 -0
  596. package/dist/options-D0G06Zm9.js +8 -0
  597. package/dist/options-D0bzZx9a.d.ts +10 -0
  598. package/dist/options-D1hSuf50.d.ts +12 -0
  599. package/dist/options-D6as77gU.d.ts +16 -0
  600. package/dist/options-DChZoVfs.d.ts +11 -0
  601. package/dist/options-DINdgVih.d.ts +9 -0
  602. package/dist/options-DJ-aYPVN.js +5 -0
  603. package/dist/options-DPgdAXO5.js +11 -0
  604. package/dist/options-DWML05Cp.js +5 -0
  605. package/dist/options-DWVYM8P0.d.ts +17 -0
  606. package/dist/options-DWbA9buW.js +9 -0
  607. package/dist/options-DXnBN2E7.js +8 -0
  608. package/dist/options-D_bBVCXg.js +5 -0
  609. package/dist/options-DcOx8_3X.d.ts +19 -0
  610. package/dist/options-DeNejBtq.js +8 -0
  611. package/dist/options-DgQo80Xh.js +5 -0
  612. package/dist/options-DlohRAYd.d.ts +13 -0
  613. package/dist/options-DplE18Ko.d.ts +12 -0
  614. package/dist/options-DrSkIBCD.js +9 -0
  615. package/dist/options-E7KcmHQv.js +8 -0
  616. package/dist/options-HLwOuF2H.js +10 -0
  617. package/dist/options-IHPg8ZoA.js +5 -0
  618. package/dist/options-KV84gAxl.js +10 -0
  619. package/dist/options-Li1Dyu88.d.ts +10 -0
  620. package/dist/options-Q1Bzgqpr.js +5 -0
  621. package/dist/options-_F-enoBs.d.ts +26 -0
  622. package/dist/options-c5WCsky5.js +21 -0
  623. package/dist/options-nFzfgtA6.js +5 -0
  624. package/dist/options-o2kfYU2x.js +8 -0
  625. package/dist/options-pOVWwbAK.d.ts +10 -0
  626. package/dist/options-t_O5ldT6.js +5 -0
  627. package/dist/options-xD4_FRUq.js +10 -0
  628. package/dist/options-y_-AkVCs.d.ts +15 -0
  629. package/dist/options-zkyhM3qi.js +8 -0
  630. package/dist/orpc/index.d.ts +76 -20
  631. package/dist/orpc/index.js +174 -9
  632. package/dist/otel/index.d.ts +3 -3
  633. package/dist/otel/index.js +7 -7
  634. package/dist/outbox-HvGAJuBe.d.ts +199 -0
  635. package/dist/payments-BXvabJOw.js +16 -0
  636. package/dist/payments-BYcN34Fp.d.ts +114 -0
  637. package/dist/permissions-controller-BMsqIE5T.js +34 -0
  638. package/dist/plugin-AKwwe2gF.js +48 -0
  639. package/dist/pool-CrtT4dg-.d.ts +123 -0
  640. package/dist/pool-errors-JUBcGrre.js +27 -0
  641. package/dist/ports-DOhtuw3c.js +152 -0
  642. package/dist/ports-sx226JUL.d.ts +89 -0
  643. package/dist/postgres/index.d.ts +5 -5
  644. package/dist/postgres/index.js +3 -3
  645. package/dist/postgrest-executor-BFW4oWte.js +1064 -0
  646. package/dist/postgrest-z-T0l23T.d.ts +53 -0
  647. package/dist/powersync/index.d.ts +106 -7
  648. package/dist/powersync/index.js +169 -23
  649. package/dist/preset/index.d.ts +4 -4
  650. package/dist/preset/index.js +4 -4
  651. package/dist/preset-CsHnIBJF.js +875 -0
  652. package/dist/problem-Bf0cJ7tk.js +162 -0
  653. package/dist/problem-DNwN8iGz.d.ts +79 -0
  654. package/dist/provider-B6g7rBZX.js +57 -0
  655. package/dist/provider-CqwEOLCA.d.ts +112 -0
  656. package/dist/push-token-D3Vcf0Pf.d.ts +24 -0
  657. package/dist/queries-BWYYS9um.js +239 -0
  658. package/dist/query/index.d.ts +4 -4
  659. package/dist/query/index.js +357 -3
  660. package/dist/rank-result-BBJIK-k_.js +18 -0
  661. package/dist/rank-result-Bwe7igy-.d.ts +14 -0
  662. package/dist/rate-limit-BWKGlhTM.js +49 -0
  663. package/dist/rate-limit-Bztf32cl.d.ts +50 -0
  664. package/dist/rate-limit-o44SYkVY.js +327 -0
  665. package/dist/react/index.d.ts +10 -9
  666. package/dist/react/index.js +5 -5
  667. package/dist/react/native/index.d.ts +1 -1
  668. package/dist/react/native/index.js +2 -3
  669. package/dist/react/server.d.ts +72 -13
  670. package/dist/react/server.js +71 -9
  671. package/dist/react/session.d.ts +3 -3
  672. package/dist/react-BuDYI62C.js +979 -0
  673. package/dist/react-router/index.d.ts +19 -13
  674. package/dist/react-router/index.js +10 -10
  675. package/dist/read-set-BnKnofIj.js +199 -0
  676. package/dist/realtime/index.d.ts +7 -7
  677. package/dist/realtime/index.js +36 -4
  678. package/dist/record-bindings-DkBJpC5A.js +26 -0
  679. package/dist/record-form-BYs9xv_N.d.ts +82 -0
  680. package/dist/record-type-DRbnlj5q.js +221 -0
  681. package/dist/recordings-BBSJt_YV.d.ts +119 -0
  682. package/dist/records/index.d.ts +83 -0
  683. package/dist/records/index.js +314 -0
  684. package/dist/refresh-DT_ICaK-.d.ts +54 -0
  685. package/dist/refusal-ByBZcm0V.js +64 -0
  686. package/dist/refusal-CSntB_x8.d.ts +32 -0
  687. package/dist/replicas-Dyoh3CEg.js +94 -0
  688. package/dist/resolve-B0mW2m7f.js +932 -0
  689. package/dist/resolve-CXX6DHv3.d.ts +288 -0
  690. package/dist/resource-D8pzB5Qf.d.ts +123 -0
  691. package/dist/resource-DV2GC2dB.js +520 -0
  692. package/dist/resource-DvgXqZB_.js +105 -0
  693. package/dist/resource-execute-CzHuDsil.d.ts +15 -0
  694. package/dist/resource-types-DnKiH4G2.d.ts +157 -0
  695. package/dist/resources-B9cQxhjw.d.ts +7 -0
  696. package/dist/resources-C02l_YBJ.js +64 -0
  697. package/dist/respond-C3CcOZlA.js +100 -0
  698. package/dist/respond-Dn1_YhC1.d.ts +106 -0
  699. package/dist/result-DZeA5KS6.d.ts +351 -0
  700. package/dist/result-ntFBW2p2.js +146 -0
  701. package/dist/rows-BDLZStp4.js +80 -0
  702. package/dist/rows-Bm6sskji.js +39 -0
  703. package/dist/rrule-79K2c3Nr.js +290 -0
  704. package/dist/run-state-BMCD_1Lt.d.ts +13 -0
  705. package/dist/sales-lines-Bk4mbLH1.d.ts +37 -0
  706. package/dist/sales-lines-D-sf9PIB.js +43 -0
  707. package/dist/sales-shared-DXGFJP4g.js +22 -0
  708. package/dist/schemas-l2aF78zQ.js +216 -0
  709. package/dist/scores-B2BiNuVJ.d.ts +174 -0
  710. package/dist/scores-CRp3vvQU.js +177 -0
  711. package/dist/server/index.d.ts +103 -42
  712. package/dist/server/index.js +98 -30
  713. package/dist/server-types-CFtehAsr.d.ts +946 -0
  714. package/dist/session-CH0SKgIz.d.ts +99 -0
  715. package/dist/shared-C47zAh2A.js +17 -0
  716. package/dist/sign-in-BAjR49fq.d.ts +24 -0
  717. package/dist/sign-in-BsIaNx2C.js +392 -0
  718. package/dist/sign-in-DNCdrk05.js +608 -0
  719. package/dist/signatures-CNcoq392.js +145 -0
  720. package/dist/signatures-Dkx9OE8j.d.ts +43 -0
  721. package/dist/signers-BAEzvTJ0.d.ts +390 -0
  722. package/dist/signing-keys-BNDUxpQL.d.ts +119 -0
  723. package/dist/signing-keys-wGKh4vtt.js +164 -0
  724. package/dist/solid/index.d.ts +67 -15
  725. package/dist/solid/index.js +93 -11
  726. package/dist/solid-start/index.d.ts +17 -14
  727. package/dist/solid-start/index.js +8 -8
  728. package/dist/spec/index.d.ts +691 -9
  729. package/dist/spec/index.js +2487 -5
  730. package/dist/spec-DTWkHzYZ.js +124 -0
  731. package/dist/spec-pins-C1Vm8OBl.js +61 -0
  732. package/dist/spec-pins-DIx95afw.d.ts +125 -0
  733. package/dist/sql/index.d.ts +5 -5
  734. package/dist/sql/index.js +5 -5
  735. package/dist/sql-BPbbPzRJ.js +421 -0
  736. package/dist/sql-ClHIdgKS.js +126996 -0
  737. package/dist/sqlite/index.d.ts +126 -0
  738. package/dist/sqlite/index.js +197 -0
  739. package/dist/sso-B0Txid2-.d.ts +161 -0
  740. package/dist/sso-d2S4x_f9.js +217 -0
  741. package/dist/ssr/index.d.ts +5 -4
  742. package/dist/ssr/index.js +3 -3
  743. package/dist/standard-BA3mLh6w.js +25 -0
  744. package/dist/standard-DBV730sF.d.ts +7 -0
  745. package/dist/stats-BHl1-zj9.js +83 -0
  746. package/dist/statuses-DMMDwXpZ.js +29 -0
  747. package/dist/statuses-zRcc2TeZ.js +28 -0
  748. package/dist/storage/index.d.ts +3 -3
  749. package/dist/storage/index.js +11 -11
  750. package/dist/store-CpheI-lN.d.ts +83 -0
  751. package/dist/streams/index.d.ts +3 -3
  752. package/dist/streams/index.js +2 -3
  753. package/dist/streams/redis/index.d.ts +2 -2
  754. package/dist/streams/redis/index.js +3 -3
  755. package/dist/stripe/index.d.ts +1 -1
  756. package/dist/stripe-X22LjuH-.d.ts +156 -0
  757. package/dist/subject-readers-B-pQ9Mmo.js +49 -0
  758. package/dist/subject-readers-BNSzkqw_.d.ts +21 -0
  759. package/dist/subjects-BpIEN1MS.d.ts +90 -0
  760. package/dist/subjects-DvmQeF_F.d.ts +79 -0
  761. package/dist/summaries-8jQTELIX.d.ts +69 -0
  762. package/dist/support-view-BYOgwXsJ.d.ts +17 -0
  763. package/dist/svelte/index.d.ts +67 -12
  764. package/dist/svelte/index.js +108 -11
  765. package/dist/sveltekit/index.d.ts +19 -16
  766. package/dist/sveltekit/index.js +14 -14
  767. package/dist/table-schema-BlF6k62Q.d.ts +81 -0
  768. package/dist/table-schema-CD8cJz_M.js +293 -0
  769. package/dist/tags-BjHflcHF.d.ts +30 -0
  770. package/dist/tags-CIZTqtlY.js +39 -0
  771. package/dist/tanstack-db/index.d.ts +50 -6
  772. package/dist/tanstack-db/index.js +44 -3
  773. package/dist/tanstack-start/index.d.ts +15 -12
  774. package/dist/tanstack-start/index.js +9 -9
  775. package/dist/tax-BkCNWWMc.js +140 -0
  776. package/dist/tax-DPShHual.d.ts +170 -0
  777. package/dist/tee-V97_v1ZS.js +101 -0
  778. package/dist/template-Drgg3v2J.js +126 -0
  779. package/dist/temporal-required-Dy0GGD8E.js +20 -0
  780. package/dist/tenant-BgIiMQpo.js +27 -0
  781. package/dist/tenant-source-bqWpSr86.js +8 -0
  782. package/dist/tenant-yYg0E2-n.d.ts +17 -0
  783. package/dist/testing/index.d.ts +183 -58
  784. package/dist/testing/index.js +405 -97
  785. package/dist/timeline--VU3A1e4.js +50 -0
  786. package/dist/timeline-CtG0sehj.d.ts +151 -0
  787. package/dist/timing-dypS0nxW.js +95 -0
  788. package/dist/topic-CJrQZQaa.d.ts +415 -0
  789. package/dist/topic-ikV_pLTX.js +643 -0
  790. package/dist/types-BBQLbui9.d.ts +659 -0
  791. package/dist/types-CAQBmpDx.d.ts +217 -0
  792. package/dist/types-DFdg_4yN.d.ts +912 -0
  793. package/dist/types-Dp3UCr1e.d.ts +194 -0
  794. package/dist/types-Dr9wZgNy.d.ts +251 -0
  795. package/dist/types-EO2crSX_.d.ts +177 -0
  796. package/dist/types-SFRomQF7.d.ts +624 -0
  797. package/dist/undo-B1jwnVyN.d.ts +46 -0
  798. package/dist/undo-BjCChCmH.js +44 -0
  799. package/dist/upload-claim-B1ZU8ydB.js +33 -0
  800. package/dist/usage-D7QkrwzV.d.ts +232 -0
  801. package/dist/user-change-DgWC6RRC.js +135 -0
  802. package/dist/variants-Cy--Ub-a.js +53 -0
  803. package/dist/vault-O-YlAyHb.d.ts +62 -0
  804. package/dist/vercel-connect/index.d.ts +1 -1
  805. package/dist/vercel-connect/index.js +3 -3
  806. package/dist/verify-CMou8dWZ.d.ts +146 -0
  807. package/dist/verify-ZLFUdlqE.js +130 -0
  808. package/dist/view-C8Ve14ja.js +247 -0
  809. package/dist/view-DyFdMCqg.d.ts +97 -0
  810. package/dist/vue/index.d.ts +67 -20
  811. package/dist/vue/index.js +102 -14
  812. package/dist/watch-topic-BcGfvZOE.d.ts +31 -0
  813. package/dist/wiring-CDNuQoJJ.js +13 -0
  814. package/dist/workflow-sdk/builder/index.d.ts +12 -12
  815. package/dist/workflow-sdk/builder/index.js +16 -17
  816. package/dist/workflow-sdk/index.d.ts +18 -15
  817. package/dist/workflow-sdk/index.js +2 -2
  818. package/dist/workflow-sdk/world/index.d.ts +6 -6
  819. package/dist/workflow-sdk/world/index.js +12 -12
  820. package/dist/workflow-sdk-BFHu4sci.d.ts +163 -0
  821. package/dist/workflow-sdk-BVlFEB5Q.js +242 -0
  822. package/dist/workflow-sdk-Bw6_u0ar.js +2446 -0
  823. package/dist/workflows-B0ZPAQu0.d.ts +255 -0
  824. package/dist/yjs/index.d.ts +28 -4
  825. package/dist/yjs/index.js +52 -10
  826. package/package.json +201 -540
  827. package/schemas/config-v1.json +2720 -1693
  828. package/schemas/design-v1.json +147 -5
  829. package/schemas/doctor-report-v1.json +14 -0
  830. package/schemas/snapshot-v2.json +25 -0
  831. package/skills/better-supabase/SKILL.md +71 -28
  832. package/skills/better-supabase/references/block-extensions.md +64 -0
  833. package/skills/better-supabase/references/frontend.md +29 -26
  834. package/skills/better-supabase/references/troubleshooting.md +19 -19
  835. package/skills/better-supabase/references/ui-recipes.md +12837 -8039
  836. package/skills/better-supabase-api/SKILL.md +49 -38
  837. package/skills/better-supabase-api/references/adapters.md +42 -39
  838. package/skills/better-supabase-api/references/ai.md +4 -4
  839. package/skills/better-supabase-api/references/expo.md +8 -8
  840. package/skills/better-supabase-api/references/powersync.md +25 -11
  841. package/skills/better-supabase-api/references/streams-credentials.md +3 -3
  842. package/skills/better-supabase-auth/SKILL.md +17 -17
  843. package/skills/better-supabase-auth/references/authorization-providers.md +8 -6
  844. package/skills/better-supabase-testing/SKILL.md +8 -8
  845. package/dist/access-sql-BpOdJvfj.js +0 -205
  846. package/dist/actor-C9pwyCVz.js +0 -150
  847. package/dist/adapter-D8dW6p2A.js +0 -2190
  848. package/dist/agents-CuxuXVWv.d.ts +0 -117
  849. package/dist/ai-cache-BXMXRhkx.d.ts +0 -82
  850. package/dist/ai-cache-Byy5q6EZ.js +0 -87
  851. package/dist/ai-chat-B00sIOjY.d.ts +0 -619
  852. package/dist/ai-files-DTbIJcxQ.js +0 -339
  853. package/dist/ai-tasks-DN-AV7qB.d.ts +0 -166
  854. package/dist/announcements-DqiLxtKK.js +0 -128
  855. package/dist/api-CmcTYuFT.js +0 -685
  856. package/dist/api-DwLhJS1j.d.ts +0 -444
  857. package/dist/api-keys-Bade6Qtl.d.ts +0 -213
  858. package/dist/api-keys-CO24Ffil.js +0 -318
  859. package/dist/app-tables-0YZ9IskE.js +0 -831
  860. package/dist/app-tables-CbWUI7h_.d.ts +0 -35
  861. package/dist/approvals-C-4MOWdV.d.ts +0 -127
  862. package/dist/arazzo/index.d.ts +0 -277
  863. package/dist/arazzo/index.js +0 -630
  864. package/dist/assistant-CcP_kpu7.d.ts +0 -157
  865. package/dist/asyncapi/index.d.ts +0 -109
  866. package/dist/asyncapi/index.js +0 -572
  867. package/dist/attachments-CPkGJVfk.js +0 -270
  868. package/dist/attributes-BOFl922R.js +0 -44
  869. package/dist/audit-log-5aTnl7W2.js +0 -788
  870. package/dist/auth-module-CwCIY97x.js +0 -10
  871. package/dist/auth-reply-D02x5NSv.js +0 -31
  872. package/dist/authorization-CB69cvnA.d.ts +0 -1504
  873. package/dist/authorization-hooks-HXVZXxUk.d.ts +0 -217
  874. package/dist/authorizer-BVR2vPGA.js +0 -125
  875. package/dist/authorizer-DFP3gHv8.d.ts +0 -82
  876. package/dist/bind-DcXLU1ul.d.ts +0 -76
  877. package/dist/block-env-YfPmSNa1.js +0 -32
  878. package/dist/block-env-kFcaaJLM.d.ts +0 -10
  879. package/dist/block-events-BURaqwyp.js +0 -96
  880. package/dist/block-fields-Cwd4c8m-.js +0 -139
  881. package/dist/block-fields-DnXkMney.d.ts +0 -58
  882. package/dist/block-helpers-DwE32_gT.js +0 -272
  883. package/dist/block-helpers-DyA5BAW4.d.ts +0 -43
  884. package/dist/block-hooks-BadAniNI.d.ts +0 -117
  885. package/dist/block-hooks-C1r-R2r0.js +0 -130
  886. package/dist/block-transport-DBPhgF3W.d.ts +0 -69
  887. package/dist/block-transport-Ds0C2mUf.js +0 -84
  888. package/dist/blocks/ai-chat/react/index.d.ts +0 -52
  889. package/dist/blocks/ai-chat/react/index.js +0 -95
  890. package/dist/blocks/ai-chat/react/server.d.ts +0 -25
  891. package/dist/blocks/ai-chat/react/server.js +0 -23
  892. package/dist/blocks/ai-chat/solid/index.d.ts +0 -34
  893. package/dist/blocks/ai-chat/solid/index.js +0 -41
  894. package/dist/blocks/ai-chat/svelte/index.d.ts +0 -34
  895. package/dist/blocks/ai-chat/svelte/index.js +0 -41
  896. package/dist/blocks/ai-chat/vue/index.d.ts +0 -34
  897. package/dist/blocks/ai-chat/vue/index.js +0 -41
  898. package/dist/blocks/ai-providers/index.d.ts +0 -22
  899. package/dist/blocks/ai-providers/index.js +0 -237
  900. package/dist/blocks/ai-tasks/index.d.ts +0 -10
  901. package/dist/blocks/ai-tasks/index.js +0 -253
  902. package/dist/blocks/announcements/react/index.d.ts +0 -28
  903. package/dist/blocks/announcements/react/index.js +0 -38
  904. package/dist/blocks/announcements/react/server.d.ts +0 -9
  905. package/dist/blocks/announcements/react/server.js +0 -10
  906. package/dist/blocks/announcements/solid/index.d.ts +0 -13
  907. package/dist/blocks/announcements/solid/index.js +0 -14
  908. package/dist/blocks/announcements/svelte/index.d.ts +0 -13
  909. package/dist/blocks/announcements/svelte/index.js +0 -14
  910. package/dist/blocks/announcements/vue/index.d.ts +0 -13
  911. package/dist/blocks/announcements/vue/index.js +0 -14
  912. package/dist/blocks/api-keys/react/index.d.ts +0 -32
  913. package/dist/blocks/api-keys/react/index.js +0 -43
  914. package/dist/blocks/api-keys/react/server.d.ts +0 -7
  915. package/dist/blocks/api-keys/react/server.js +0 -7
  916. package/dist/blocks/api-keys/solid/index.d.ts +0 -13
  917. package/dist/blocks/api-keys/solid/index.js +0 -14
  918. package/dist/blocks/api-keys/svelte/index.d.ts +0 -13
  919. package/dist/blocks/api-keys/svelte/index.js +0 -14
  920. package/dist/blocks/api-keys/vue/index.d.ts +0 -13
  921. package/dist/blocks/api-keys/vue/index.js +0 -14
  922. package/dist/blocks/audit/react/index.d.ts +0 -31
  923. package/dist/blocks/audit/react/index.js +0 -46
  924. package/dist/blocks/audit/react/server.d.ts +0 -7
  925. package/dist/blocks/audit/react/server.js +0 -7
  926. package/dist/blocks/audit/solid/index.d.ts +0 -13
  927. package/dist/blocks/audit/solid/index.js +0 -14
  928. package/dist/blocks/audit/svelte/index.d.ts +0 -13
  929. package/dist/blocks/audit/svelte/index.js +0 -14
  930. package/dist/blocks/audit/vue/index.d.ts +0 -13
  931. package/dist/blocks/audit/vue/index.js +0 -14
  932. package/dist/blocks/billing/react/index.d.ts +0 -44
  933. package/dist/blocks/billing/react/index.js +0 -40
  934. package/dist/blocks/billing/react/server.d.ts +0 -10
  935. package/dist/blocks/billing/react/server.js +0 -10
  936. package/dist/blocks/billing/solid/index.d.ts +0 -15
  937. package/dist/blocks/billing/solid/index.js +0 -14
  938. package/dist/blocks/billing/svelte/index.d.ts +0 -15
  939. package/dist/blocks/billing/svelte/index.js +0 -14
  940. package/dist/blocks/billing/vue/index.d.ts +0 -15
  941. package/dist/blocks/billing/vue/index.js +0 -14
  942. package/dist/blocks/bookings/react/index.d.ts +0 -35
  943. package/dist/blocks/bookings/react/index.js +0 -63
  944. package/dist/blocks/bookings/react/server.d.ts +0 -9
  945. package/dist/blocks/bookings/react/server.js +0 -10
  946. package/dist/blocks/bookings/solid/index.d.ts +0 -13
  947. package/dist/blocks/bookings/solid/index.js +0 -14
  948. package/dist/blocks/bookings/svelte/index.d.ts +0 -13
  949. package/dist/blocks/bookings/svelte/index.js +0 -14
  950. package/dist/blocks/bookings/vue/index.d.ts +0 -13
  951. package/dist/blocks/bookings/vue/index.js +0 -14
  952. package/dist/blocks/calendar/react/index.d.ts +0 -26
  953. package/dist/blocks/calendar/react/index.js +0 -58
  954. package/dist/blocks/calendar/react/server.d.ts +0 -9
  955. package/dist/blocks/calendar/react/server.js +0 -10
  956. package/dist/blocks/calendar/solid/index.d.ts +0 -13
  957. package/dist/blocks/calendar/solid/index.js +0 -14
  958. package/dist/blocks/calendar/svelte/index.d.ts +0 -13
  959. package/dist/blocks/calendar/svelte/index.js +0 -14
  960. package/dist/blocks/calendar/vue/index.d.ts +0 -13
  961. package/dist/blocks/calendar/vue/index.js +0 -14
  962. package/dist/blocks/comments/react/index.d.ts +0 -34
  963. package/dist/blocks/comments/react/index.js +0 -49
  964. package/dist/blocks/comments/react/server.d.ts +0 -7
  965. package/dist/blocks/comments/react/server.js +0 -7
  966. package/dist/blocks/comments/solid/index.d.ts +0 -13
  967. package/dist/blocks/comments/solid/index.js +0 -14
  968. package/dist/blocks/comments/svelte/index.d.ts +0 -13
  969. package/dist/blocks/comments/svelte/index.js +0 -14
  970. package/dist/blocks/comments/vue/index.d.ts +0 -13
  971. package/dist/blocks/comments/vue/index.js +0 -14
  972. package/dist/blocks/engagements/index.d.ts +0 -134
  973. package/dist/blocks/engagements/index.js +0 -143
  974. package/dist/blocks/entitlements/react/index.d.ts +0 -27
  975. package/dist/blocks/entitlements/react/index.js +0 -35
  976. package/dist/blocks/entitlements/react/server.d.ts +0 -9
  977. package/dist/blocks/entitlements/react/server.js +0 -10
  978. package/dist/blocks/entitlements/solid/index.d.ts +0 -13
  979. package/dist/blocks/entitlements/solid/index.js +0 -14
  980. package/dist/blocks/entitlements/svelte/index.d.ts +0 -13
  981. package/dist/blocks/entitlements/svelte/index.js +0 -14
  982. package/dist/blocks/entitlements/vue/index.d.ts +0 -13
  983. package/dist/blocks/entitlements/vue/index.js +0 -14
  984. package/dist/blocks/forms/react/index.d.ts +0 -19
  985. package/dist/blocks/forms/react/index.js +0 -28
  986. package/dist/blocks/forms/react/server.d.ts +0 -9
  987. package/dist/blocks/forms/react/server.js +0 -10
  988. package/dist/blocks/forms/solid/index.d.ts +0 -13
  989. package/dist/blocks/forms/solid/index.js +0 -14
  990. package/dist/blocks/forms/svelte/index.d.ts +0 -13
  991. package/dist/blocks/forms/svelte/index.js +0 -14
  992. package/dist/blocks/forms/vue/index.d.ts +0 -13
  993. package/dist/blocks/forms/vue/index.js +0 -14
  994. package/dist/blocks/inbox/react/index.d.ts +0 -3
  995. package/dist/blocks/inbox/react/index.js +0 -81
  996. package/dist/blocks/inbox/react/server.d.ts +0 -17
  997. package/dist/blocks/inbox/react/server.js +0 -18
  998. package/dist/blocks/inbox/solid/index.d.ts +0 -27
  999. package/dist/blocks/inbox/solid/index.js +0 -32
  1000. package/dist/blocks/inbox/svelte/index.d.ts +0 -27
  1001. package/dist/blocks/inbox/svelte/index.js +0 -32
  1002. package/dist/blocks/inbox/vue/index.d.ts +0 -27
  1003. package/dist/blocks/inbox/vue/index.js +0 -32
  1004. package/dist/blocks/jobs/index.d.ts +0 -523
  1005. package/dist/blocks/jobs/index.js +0 -1346
  1006. package/dist/blocks/mfa/react/index.d.ts +0 -30
  1007. package/dist/blocks/mfa/react/index.js +0 -45
  1008. package/dist/blocks/mfa/react/server.d.ts +0 -9
  1009. package/dist/blocks/mfa/react/server.js +0 -12
  1010. package/dist/blocks/mfa/solid/index.d.ts +0 -20
  1011. package/dist/blocks/mfa/solid/index.js +0 -23
  1012. package/dist/blocks/mfa/svelte/index.d.ts +0 -20
  1013. package/dist/blocks/mfa/svelte/index.js +0 -23
  1014. package/dist/blocks/mfa/vue/index.d.ts +0 -20
  1015. package/dist/blocks/mfa/vue/index.js +0 -23
  1016. package/dist/blocks/notifications/react/index.d.ts +0 -19
  1017. package/dist/blocks/notifications/react/index.js +0 -41
  1018. package/dist/blocks/notifications/react/server.d.ts +0 -10
  1019. package/dist/blocks/notifications/react/server.js +0 -10
  1020. package/dist/blocks/notifications/solid/index.d.ts +0 -13
  1021. package/dist/blocks/notifications/solid/index.js +0 -14
  1022. package/dist/blocks/notifications/svelte/index.d.ts +0 -13
  1023. package/dist/blocks/notifications/svelte/index.js +0 -14
  1024. package/dist/blocks/notifications/vue/index.d.ts +0 -13
  1025. package/dist/blocks/notifications/vue/index.js +0 -14
  1026. package/dist/blocks/number-sequences/index.d.ts +0 -48
  1027. package/dist/blocks/number-sequences/index.js +0 -52
  1028. package/dist/blocks/onboarding/react/index.d.ts +0 -24
  1029. package/dist/blocks/onboarding/react/index.js +0 -38
  1030. package/dist/blocks/onboarding/react/server.d.ts +0 -10
  1031. package/dist/blocks/onboarding/react/server.js +0 -10
  1032. package/dist/blocks/onboarding/solid/index.d.ts +0 -13
  1033. package/dist/blocks/onboarding/solid/index.js +0 -14
  1034. package/dist/blocks/onboarding/svelte/index.d.ts +0 -13
  1035. package/dist/blocks/onboarding/svelte/index.js +0 -14
  1036. package/dist/blocks/onboarding/vue/index.d.ts +0 -13
  1037. package/dist/blocks/onboarding/vue/index.js +0 -14
  1038. package/dist/blocks/organizations/react/index.d.ts +0 -127
  1039. package/dist/blocks/organizations/react/index.js +0 -113
  1040. package/dist/blocks/organizations/react/server.d.ts +0 -20
  1041. package/dist/blocks/organizations/react/server.js +0 -24
  1042. package/dist/blocks/organizations/solid/index.d.ts +0 -34
  1043. package/dist/blocks/organizations/solid/index.js +0 -32
  1044. package/dist/blocks/organizations/svelte/index.d.ts +0 -34
  1045. package/dist/blocks/organizations/svelte/index.js +0 -32
  1046. package/dist/blocks/organizations/vue/index.d.ts +0 -34
  1047. package/dist/blocks/organizations/vue/index.js +0 -32
  1048. package/dist/blocks/parties/index.d.ts +0 -190
  1049. package/dist/blocks/parties/index.js +0 -261
  1050. package/dist/blocks/reactions/react/index.d.ts +0 -33
  1051. package/dist/blocks/reactions/react/index.js +0 -50
  1052. package/dist/blocks/reactions/react/server.d.ts +0 -9
  1053. package/dist/blocks/reactions/react/server.js +0 -10
  1054. package/dist/blocks/reactions/solid/index.d.ts +0 -13
  1055. package/dist/blocks/reactions/solid/index.js +0 -14
  1056. package/dist/blocks/reactions/svelte/index.d.ts +0 -13
  1057. package/dist/blocks/reactions/svelte/index.js +0 -14
  1058. package/dist/blocks/reactions/vue/index.d.ts +0 -13
  1059. package/dist/blocks/reactions/vue/index.js +0 -14
  1060. package/dist/blocks/rules/index.d.ts +0 -171
  1061. package/dist/blocks/rules/index.js +0 -162
  1062. package/dist/blocks/rules/react/index.d.ts +0 -38
  1063. package/dist/blocks/rules/react/index.js +0 -59
  1064. package/dist/blocks/rules/react/server.d.ts +0 -6
  1065. package/dist/blocks/rules/react/server.js +0 -7
  1066. package/dist/blocks/rules/solid/index.d.ts +0 -13
  1067. package/dist/blocks/rules/solid/index.js +0 -14
  1068. package/dist/blocks/rules/svelte/index.d.ts +0 -13
  1069. package/dist/blocks/rules/svelte/index.js +0 -14
  1070. package/dist/blocks/rules/vue/index.d.ts +0 -13
  1071. package/dist/blocks/rules/vue/index.js +0 -14
  1072. package/dist/blocks/saved-views/react/index.d.ts +0 -40
  1073. package/dist/blocks/saved-views/react/index.js +0 -60
  1074. package/dist/blocks/saved-views/react/server.d.ts +0 -10
  1075. package/dist/blocks/saved-views/react/server.js +0 -10
  1076. package/dist/blocks/saved-views/solid/index.d.ts +0 -13
  1077. package/dist/blocks/saved-views/solid/index.js +0 -14
  1078. package/dist/blocks/saved-views/svelte/index.d.ts +0 -13
  1079. package/dist/blocks/saved-views/svelte/index.js +0 -14
  1080. package/dist/blocks/saved-views/vue/index.d.ts +0 -13
  1081. package/dist/blocks/saved-views/vue/index.js +0 -14
  1082. package/dist/blocks/search/react/index.d.ts +0 -39
  1083. package/dist/blocks/search/react/index.js +0 -49
  1084. package/dist/blocks/search/react/server.d.ts +0 -10
  1085. package/dist/blocks/search/react/server.js +0 -11
  1086. package/dist/blocks/search/solid/index.d.ts +0 -13
  1087. package/dist/blocks/search/solid/index.js +0 -14
  1088. package/dist/blocks/search/svelte/index.d.ts +0 -13
  1089. package/dist/blocks/search/svelte/index.js +0 -14
  1090. package/dist/blocks/search/vue/index.d.ts +0 -13
  1091. package/dist/blocks/search/vue/index.js +0 -14
  1092. package/dist/blocks/service-principals/index.d.ts +0 -132
  1093. package/dist/blocks/service-principals/index.js +0 -110
  1094. package/dist/blocks/sessions/react/index.d.ts +0 -36
  1095. package/dist/blocks/sessions/react/index.js +0 -53
  1096. package/dist/blocks/sessions/react/server.d.ts +0 -15
  1097. package/dist/blocks/sessions/react/server.js +0 -17
  1098. package/dist/blocks/sessions/solid/index.d.ts +0 -20
  1099. package/dist/blocks/sessions/solid/index.js +0 -23
  1100. package/dist/blocks/sessions/svelte/index.d.ts +0 -20
  1101. package/dist/blocks/sessions/svelte/index.js +0 -23
  1102. package/dist/blocks/sessions/vue/index.d.ts +0 -20
  1103. package/dist/blocks/sessions/vue/index.js +0 -23
  1104. package/dist/blocks/settings/react/index.d.ts +0 -31
  1105. package/dist/blocks/settings/react/index.js +0 -37
  1106. package/dist/blocks/settings/react/server.d.ts +0 -10
  1107. package/dist/blocks/settings/react/server.js +0 -10
  1108. package/dist/blocks/settings/solid/index.d.ts +0 -13
  1109. package/dist/blocks/settings/solid/index.js +0 -14
  1110. package/dist/blocks/settings/svelte/index.d.ts +0 -13
  1111. package/dist/blocks/settings/svelte/index.js +0 -14
  1112. package/dist/blocks/settings/vue/index.d.ts +0 -13
  1113. package/dist/blocks/settings/vue/index.js +0 -14
  1114. package/dist/blocks/shared-signals/index.d.ts +0 -440
  1115. package/dist/blocks/shared-signals/index.js +0 -886
  1116. package/dist/blocks/tags/react/index.d.ts +0 -36
  1117. package/dist/blocks/tags/react/index.js +0 -52
  1118. package/dist/blocks/tags/react/server.d.ts +0 -7
  1119. package/dist/blocks/tags/react/server.js +0 -7
  1120. package/dist/blocks/tags/solid/index.d.ts +0 -13
  1121. package/dist/blocks/tags/solid/index.js +0 -14
  1122. package/dist/blocks/tags/svelte/index.d.ts +0 -13
  1123. package/dist/blocks/tags/svelte/index.js +0 -14
  1124. package/dist/blocks/tags/vue/index.d.ts +0 -13
  1125. package/dist/blocks/tags/vue/index.js +0 -14
  1126. package/dist/blocks/targets/index.d.ts +0 -82
  1127. package/dist/blocks/targets/index.js +0 -73
  1128. package/dist/blocks/undo/react/index.d.ts +0 -17
  1129. package/dist/blocks/undo/react/index.js +0 -24
  1130. package/dist/blocks/undo/react/server.d.ts +0 -10
  1131. package/dist/blocks/undo/react/server.js +0 -10
  1132. package/dist/blocks/undo/solid/index.d.ts +0 -13
  1133. package/dist/blocks/undo/solid/index.js +0 -14
  1134. package/dist/blocks/undo/svelte/index.d.ts +0 -13
  1135. package/dist/blocks/undo/svelte/index.js +0 -14
  1136. package/dist/blocks/undo/vue/index.d.ts +0 -13
  1137. package/dist/blocks/undo/vue/index.js +0 -14
  1138. package/dist/blocks/usage/react/index.d.ts +0 -29
  1139. package/dist/blocks/usage/react/index.js +0 -38
  1140. package/dist/blocks/usage/react/server.d.ts +0 -7
  1141. package/dist/blocks/usage/react/server.js +0 -7
  1142. package/dist/blocks/usage/solid/index.d.ts +0 -13
  1143. package/dist/blocks/usage/solid/index.js +0 -14
  1144. package/dist/blocks/usage/svelte/index.d.ts +0 -13
  1145. package/dist/blocks/usage/svelte/index.js +0 -14
  1146. package/dist/blocks/usage/vue/index.d.ts +0 -13
  1147. package/dist/blocks/usage/vue/index.js +0 -14
  1148. package/dist/blocks/work-items/index.d.ts +0 -210
  1149. package/dist/blocks/work-items/index.js +0 -304
  1150. package/dist/blocks/workflow-builder/index.d.ts +0 -43
  1151. package/dist/blocks/workflow-builder/index.js +0 -33
  1152. package/dist/blocks/workflow-builder/react/index.d.ts +0 -32
  1153. package/dist/blocks/workflow-builder/react/index.js +0 -75
  1154. package/dist/blocks/workflow-builder/react/server.d.ts +0 -14
  1155. package/dist/blocks/workflow-builder/react/server.js +0 -17
  1156. package/dist/blocks/workflow-builder/solid/index.d.ts +0 -20
  1157. package/dist/blocks/workflow-builder/solid/index.js +0 -23
  1158. package/dist/blocks/workflow-builder/svelte/index.d.ts +0 -20
  1159. package/dist/blocks/workflow-builder/svelte/index.js +0 -23
  1160. package/dist/blocks/workflow-builder/vue/index.d.ts +0 -20
  1161. package/dist/blocks/workflow-builder/vue/index.js +0 -23
  1162. package/dist/blocks/workflows/react/index.d.ts +0 -39
  1163. package/dist/blocks/workflows/react/index.js +0 -65
  1164. package/dist/blocks/workflows/react/server.d.ts +0 -14
  1165. package/dist/blocks/workflows/react/server.js +0 -17
  1166. package/dist/blocks/workflows/solid/index.d.ts +0 -20
  1167. package/dist/blocks/workflows/solid/index.js +0 -23
  1168. package/dist/blocks/workflows/svelte/index.d.ts +0 -20
  1169. package/dist/blocks/workflows/svelte/index.js +0 -23
  1170. package/dist/blocks/workflows/vue/index.d.ts +0 -20
  1171. package/dist/blocks/workflows/vue/index.js +0 -23
  1172. package/dist/blocks-CR3vCYhj.js +0 -88
  1173. package/dist/bookings-DJflcGqs.js +0 -184
  1174. package/dist/bucket-DBay-ICp.d.ts +0 -667
  1175. package/dist/build-DxzJf79X.js +0 -1839
  1176. package/dist/build-UqJeGtsH.js +0 -703
  1177. package/dist/calendar-DvbYFkrh.js +0 -801
  1178. package/dist/chat-sdk/react/index.d.ts +0 -3
  1179. package/dist/chat-sdk/react/index.js +0 -2
  1180. package/dist/chat-sdk/react/server.d.ts +0 -4
  1181. package/dist/chat-sdk/react/server.js +0 -1
  1182. package/dist/claims-T8TWZ53E.js +0 -63
  1183. package/dist/cli/add-BRjL7LuG.js +0 -1
  1184. package/dist/cli/add-Cf0uxfZ2.js +0 -672
  1185. package/dist/cli/add-DPfdDRq7.js +0 -75
  1186. package/dist/cli/adopt-B28iUeGg.js +0 -1
  1187. package/dist/cli/adopt-C0VugVMu.js +0 -421
  1188. package/dist/cli/apply-BlxtZPxe.js +0 -329
  1189. package/dist/cli/blocks-CHQ7K8Yz.js +0 -1
  1190. package/dist/cli/blocks-D3tsq-mR.js +0 -124
  1191. package/dist/cli/cache-DdgzhoaL.js +0 -516
  1192. package/dist/cli/catalog-DwTUdJaQ.js +0 -188
  1193. package/dist/cli/codemod-Dz4R-tVY.js +0 -1127
  1194. package/dist/cli/command-33pu13LT.js +0 -963
  1195. package/dist/cli/completion-6M6Hr8TL.js +0 -211
  1196. package/dist/cli/completion-Bqu8yq0q.js +0 -1
  1197. package/dist/cli/completion-Ddr3yqd3.js +0 -30
  1198. package/dist/cli/config-2qlSTi2o.js +0 -1503
  1199. package/dist/cli/config-B31tIvAl.js +0 -42
  1200. package/dist/cli/config-DVksOjSr.js +0 -1
  1201. package/dist/cli/config-edit-D46H0UHp.js +0 -613
  1202. package/dist/cli/db-D8iId4R8.js +0 -473
  1203. package/dist/cli/design-edit-B2aBiarJ.js +0 -205
  1204. package/dist/cli/doctor-pIek4vIO.js +0 -3897
  1205. package/dist/cli/emit-CJKf47Bi.js +0 -1078
  1206. package/dist/cli/env-BrLZfqsL.js +0 -143
  1207. package/dist/cli/env-cbCEa79W.js +0 -1
  1208. package/dist/cli/files-C5JfVnj5.js +0 -972
  1209. package/dist/cli/gen-DquZzY5a.js +0 -307
  1210. package/dist/cli/init-Dd-UdrE0.js +0 -397
  1211. package/dist/cli/introspect-IMQCji2l.js +0 -51
  1212. package/dist/cli/keys-iJs_1WT8.js +0 -106
  1213. package/dist/cli/live-BfAO5YRX.js +0 -344
  1214. package/dist/cli/mcp-D8Az0FNn.js +0 -240
  1215. package/dist/cli/metadata-CTStQPfV.js +0 -144
  1216. package/dist/cli/migration-safety-Dg1lxomi.js +0 -305
  1217. package/dist/cli/module-migration-CbX-jRhV.js +0 -606
  1218. package/dist/cli/moved-CdNtCf4t.js +0 -161
  1219. package/dist/cli/names-D6LrQnOv.js +0 -6
  1220. package/dist/cli/parse-CRZLku1b.js +0 -182
  1221. package/dist/cli/preset-DEvwDc7U.js +0 -129
  1222. package/dist/cli/run-BXhJoghZ.js +0 -1602
  1223. package/dist/cli/run-DdxNRTr0.js +0 -63
  1224. package/dist/cli/run-dTu_PD4I.js +0 -711
  1225. package/dist/cli/scaffold-Bx3bcy2R.js +0 -901
  1226. package/dist/cli/scaffold-mbNAQE19.js +0 -1
  1227. package/dist/cli/seed-CLseQdXQ.js +0 -188
  1228. package/dist/cli/seed-DSHSUsYy.js +0 -1
  1229. package/dist/cli/shared-CAdIkTR7.js +0 -151
  1230. package/dist/cli/skills-Bz4INB8f.js +0 -121
  1231. package/dist/cli/snapshot-GfdB9Cjl.js +0 -350
  1232. package/dist/cli/source-args-Dy3j1-H-.js +0 -59
  1233. package/dist/cli/spec-BfEK0_04.js +0 -1
  1234. package/dist/cli/spec-DXTdodlO.js +0 -7534
  1235. package/dist/cli/sql-BUhpAvrW.js +0 -2
  1236. package/dist/cli/sql-CLbWk3Yb.js +0 -332
  1237. package/dist/cli/stack-_F_JhllX.js +0 -135
  1238. package/dist/cli/sync-BBzNO-v9.js +0 -91
  1239. package/dist/cli/typegen-F9GEjpvD.js +0 -502
  1240. package/dist/cli/typegen-version-BNBPI4Eu.js +0 -9
  1241. package/dist/cli/version-DiwcIKOL.js +0 -4
  1242. package/dist/cli/write-DZKk5rSF.js +0 -201
  1243. package/dist/client--tyFmxDT.js +0 -52
  1244. package/dist/client-0qFNkNhT.js +0 -1060
  1245. package/dist/client-2z1aHG57.d.ts +0 -475
  1246. package/dist/client-5IVhjmtl.d.ts +0 -74
  1247. package/dist/client-B3WBilR2.d.ts +0 -69
  1248. package/dist/client-B4JPQgf-.d.ts +0 -165
  1249. package/dist/client-BAYh7P2h.js +0 -211
  1250. package/dist/client-BKGVUgo7.js +0 -380
  1251. package/dist/client-BNaOcfeH.js +0 -58
  1252. package/dist/client-BOuaQA0h.js +0 -173
  1253. package/dist/client-BP-8vn9G.d.ts +0 -37
  1254. package/dist/client-BU5Yd0yO.d.ts +0 -103
  1255. package/dist/client-Bb_Pj9wL.js +0 -137
  1256. package/dist/client-BkH-Vh3s.d.ts +0 -112
  1257. package/dist/client-BsfsRHae.d.ts +0 -136
  1258. package/dist/client-Bta7yl1C.d.ts +0 -451
  1259. package/dist/client-BwKXlohx.js +0 -121
  1260. package/dist/client-C1zOmnS8.js +0 -89
  1261. package/dist/client-CMqO1gCn.d.ts +0 -64
  1262. package/dist/client-CPirbPPi.js +0 -85
  1263. package/dist/client-CQPB-VJx.d.ts +0 -110
  1264. package/dist/client-CXbP_p02.d.ts +0 -156
  1265. package/dist/client-C_S9avzV.d.ts +0 -420
  1266. package/dist/client-Cb1g45Hc.js +0 -99
  1267. package/dist/client-CebKlRU7.js +0 -157
  1268. package/dist/client-Ch-dDfTB.js +0 -437
  1269. package/dist/client-CuFD4o56.d.ts +0 -111
  1270. package/dist/client-D2y_CfhU.d.ts +0 -137
  1271. package/dist/client-DAcVF-YJ.js +0 -134
  1272. package/dist/client-DCuE1rFm.js +0 -441
  1273. package/dist/client-DD02cst6.d.ts +0 -245
  1274. package/dist/client-DD3EcytK.js +0 -65
  1275. package/dist/client-DEE57s9m.d.ts +0 -132
  1276. package/dist/client-DScMvaty.js +0 -38
  1277. package/dist/client-DVRFa59w.d.ts +0 -309
  1278. package/dist/client-DXb1Nmr3.js +0 -111
  1279. package/dist/client-DkI0oyR7.js +0 -76
  1280. package/dist/client-DkQcRKhm.js +0 -67
  1281. package/dist/client-DoXBX3vS.d.ts +0 -116
  1282. package/dist/client-Dsuy9wfA.d.ts +0 -59
  1283. package/dist/client-EQvEzUQg.d.ts +0 -276
  1284. package/dist/client-G7NGXZKe.d.ts +0 -43
  1285. package/dist/client-OhTiAol1.js +0 -213
  1286. package/dist/client-Wt19DaEb.js +0 -291
  1287. package/dist/client-Y-kaHabc.d.ts +0 -46
  1288. package/dist/client-YASsOslj.js +0 -321
  1289. package/dist/client-Y_HnZGF4.js +0 -51
  1290. package/dist/client-_mL998Gl.js +0 -129
  1291. package/dist/client-i_u1e0Kf.d.ts +0 -144
  1292. package/dist/client-kRvHKAKS.js +0 -60
  1293. package/dist/client-nieeGXdg.d.ts +0 -178
  1294. package/dist/client-pxXoQOdC.js +0 -40
  1295. package/dist/client-ysVOUgxM.d.ts +0 -54
  1296. package/dist/cloud-event-CidL9jiw.d.ts +0 -64
  1297. package/dist/codecs-Du_zE1xu.js +0 -358
  1298. package/dist/codecs-WHpM3Byy.d.ts +0 -221
  1299. package/dist/codegen-DGtOsqz9.d.ts +0 -1809
  1300. package/dist/comments-Ceqo9bwE.js +0 -230
  1301. package/dist/compiler-DCotQWcs.d.ts +0 -14
  1302. package/dist/compose-VBQL7zIO.js +0 -53
  1303. package/dist/composite-BgBzdYP-.d.ts +0 -82
  1304. package/dist/composite-BgSdL5tk.js +0 -130
  1305. package/dist/config-V6HMvce5.js +0 -3930
  1306. package/dist/config-xUf0dj0t.js +0 -562
  1307. package/dist/connector-CKcTPJRV.d.ts +0 -107
  1308. package/dist/connectors-CgWuPQks.d.ts +0 -147
  1309. package/dist/context-B8_p3MXo.js +0 -11
  1310. package/dist/context-C-bHOtoD.js +0 -5
  1311. package/dist/context-CCz6ZgyI.js +0 -19
  1312. package/dist/context-CMxVnPMY.js +0 -9
  1313. package/dist/context-CrojkPNC.js +0 -41
  1314. package/dist/context-DvBEhsXX.d.ts +0 -403
  1315. package/dist/controller-lWRcKqCl.d.ts +0 -52
  1316. package/dist/cron-CI1kP-t5.js +0 -148
  1317. package/dist/cron-route-BbVtwXZz.js +0 -24
  1318. package/dist/db-exception-CnWcYPxL.js +0 -15
  1319. package/dist/define-D0LSXmUP.d.ts +0 -1117
  1320. package/dist/define-DwZ_LQVO.js +0 -2011
  1321. package/dist/define-block-B6Gjs57G.js +0 -52
  1322. package/dist/define-block-MyM4lH42.d.ts +0 -281
  1323. package/dist/delegation-DeAJehLk.js +0 -146
  1324. package/dist/documents-BijGGIjr.d.ts +0 -99
  1325. package/dist/embeddings-DRGIc8ti.js +0 -128
  1326. package/dist/embeddings-Deusi99x.d.ts +0 -78
  1327. package/dist/ended-D_Twxl8v.d.ts +0 -76
  1328. package/dist/entitlements-CMGsO4gL.d.ts +0 -54
  1329. package/dist/entitlements-_tw0V3BY.js +0 -45
  1330. package/dist/envelope-BDShQQ7-.js +0 -90
  1331. package/dist/errors-Cq72lONT.js +0 -44
  1332. package/dist/errors-D7u24ZJH.js +0 -321
  1333. package/dist/escape-like-DuKupGUV.d.ts +0 -15
  1334. package/dist/eve-dWNqpd9Z.d.ts +0 -157
  1335. package/dist/event-calendar-E6AI-dgg.d.ts +0 -217
  1336. package/dist/events-DhGgwqQA.d.ts +0 -842
  1337. package/dist/executor-C29668fO.d.ts +0 -281
  1338. package/dist/executor-C5uyGttm.js +0 -207
  1339. package/dist/executor-Cy1nk4MZ.d.ts +0 -104
  1340. package/dist/executor-DK2F9Zis.js +0 -746
  1341. package/dist/executor-DXfgDsKd.d.ts +0 -37
  1342. package/dist/executor-D_viYkhf.d.ts +0 -179
  1343. package/dist/executor-QtVn0axs.js +0 -147
  1344. package/dist/expo-sqlite/index.d.ts +0 -61
  1345. package/dist/expo-sqlite/index.js +0 -110
  1346. package/dist/field-errors-CKEqR38q.d.ts +0 -119
  1347. package/dist/field-errors-DZVRWRkf.js +0 -13
  1348. package/dist/field-formats-BX2FqLle.d.ts +0 -39
  1349. package/dist/filter-evaluate-CRDXv0Dl.js +0 -217
  1350. package/dist/filter-evaluate-CSWhzYWN.d.ts +0 -37
  1351. package/dist/filter-query-C7qgRYYv.d.ts +0 -133
  1352. package/dist/filter-query-D4ZSwbcJ.js +0 -524
  1353. package/dist/flags-C--SBMT9.js +0 -279
  1354. package/dist/flags-CJFDNAvL.d.ts +0 -246
  1355. package/dist/form-definition-BjeElHsB.js +0 -311
  1356. package/dist/form-definition-DcVnFzl4.d.ts +0 -95
  1357. package/dist/format-AYHceC2m.d.ts +0 -79
  1358. package/dist/framework-BpEnOfAo.js +0 -57
  1359. package/dist/framework-CMeAuJts.d.ts +0 -41
  1360. package/dist/function-contract-4vfi93Y5.d.ts +0 -27
  1361. package/dist/gateway-Dar9C0uP.d.ts +0 -115
  1362. package/dist/graph-B4eubUQG.js +0 -365
  1363. package/dist/groups-CxonH3u5.js +0 -16
  1364. package/dist/http-AkLjqOuB.js +0 -28
  1365. package/dist/impersonation-DFfDVJHk.js +0 -62
  1366. package/dist/inbox-CLsIrPXs.d.ts +0 -417
  1367. package/dist/index-B5XcM3VY.d.ts +0 -230
  1368. package/dist/index-B5dVVZtW.d.ts +0 -142
  1369. package/dist/index-Brm8I8iZ.d.ts +0 -232
  1370. package/dist/index-C7-2ZS9f.d.ts +0 -127
  1371. package/dist/index-CE0p3st5.d.ts +0 -227
  1372. package/dist/index-CcpGT2GI.d.ts +0 -151
  1373. package/dist/index-CrAKHNJF.d.ts +0 -287
  1374. package/dist/index-DLjs7j_z.d.ts +0 -61
  1375. package/dist/index-DdZcWH6q.d.ts +0 -820
  1376. package/dist/index-Dh5ZFCtu.d.ts +0 -61
  1377. package/dist/index-PADpaDku.d.ts +0 -447
  1378. package/dist/index-eoAU_QaY.d.ts +0 -357
  1379. package/dist/invalidate-BLiBFbLy.d.ts +0 -19
  1380. package/dist/json-schema-Bu4YCRbZ.js +0 -551
  1381. package/dist/jwks-cache-DbgNmSgV.js +0 -49
  1382. package/dist/kit-BeXTrlZn.js +0 -127
  1383. package/dist/kit-LeQGMzLH.d.ts +0 -94
  1384. package/dist/knowledge-Bx_qehoZ.js +0 -272
  1385. package/dist/knowledge-CYdNJasZ.d.ts +0 -202
  1386. package/dist/list-query-CuS1w2Af.js +0 -559
  1387. package/dist/list-query-Dx5cAqG6.d.ts +0 -223
  1388. package/dist/live-CZtRMh62.js +0 -246
  1389. package/dist/messages-Bd5-5ZjP.js +0 -492
  1390. package/dist/methods-7u6vSgz_.js +0 -11
  1391. package/dist/mfa-Dt8AdWht.d.ts +0 -36
  1392. package/dist/model-Btl8X9cs.d.ts +0 -326
  1393. package/dist/model-messages-BWyXXA4s.js +0 -206
  1394. package/dist/money-codec-BdnIiFFX.js +0 -41
  1395. package/dist/onboarding-DjXV4rgO.js +0 -68
  1396. package/dist/openapi/index.d.ts +0 -4
  1397. package/dist/openapi/index.js +0 -36
  1398. package/dist/operations-Cc27HkTG.d.ts +0 -6
  1399. package/dist/options-B7EJaOX-.js +0 -5
  1400. package/dist/options-BAW2ZlZ8.js +0 -8
  1401. package/dist/options-Blg8lAkz.js +0 -9
  1402. package/dist/options-Bn4cu0gt.js +0 -5
  1403. package/dist/options-BnoJOwXK.js +0 -8
  1404. package/dist/options-C1HR4UZd.js +0 -13
  1405. package/dist/options-C2HesT4A.js +0 -9
  1406. package/dist/options-C3EzJATk.js +0 -10
  1407. package/dist/options-C3hZ1fbC.js +0 -10
  1408. package/dist/options-CAzVf-1T.js +0 -8
  1409. package/dist/options-CGKSUFUq.js +0 -5
  1410. package/dist/options-CGjGE8xS.js +0 -12
  1411. package/dist/options-CIf3xni7.d.ts +0 -52
  1412. package/dist/options-CUqQ9pm7.js +0 -9
  1413. package/dist/options-ChD15QxJ.js +0 -9
  1414. package/dist/options-CyD7OObW.js +0 -17
  1415. package/dist/options-D1blDihM.js +0 -9
  1416. package/dist/options-D2Gd6VfS.js +0 -8
  1417. package/dist/options-D7f2VKzj.js +0 -25
  1418. package/dist/options-DXqcJyOP.js +0 -10
  1419. package/dist/options-Dh4wu9Ks.js +0 -15
  1420. package/dist/options-Dmg1Da9P.js +0 -25
  1421. package/dist/options-DsUgamiy.js +0 -5
  1422. package/dist/options-HSv8R6h5.js +0 -13
  1423. package/dist/options-I8zVkB_y.js +0 -8
  1424. package/dist/options-MHhjOoWz.js +0 -5
  1425. package/dist/options-MLxMkd5B.js +0 -11
  1426. package/dist/options-OJ5zmgr8.js +0 -10
  1427. package/dist/options-QKP9FFcK.js +0 -8
  1428. package/dist/options-XgfTctbI.js +0 -5
  1429. package/dist/options-_9arpsX9.js +0 -11
  1430. package/dist/options-kLKILdIu.js +0 -10
  1431. package/dist/options-n22NK3PL.js +0 -8
  1432. package/dist/options-qU8vgxhO.js +0 -18
  1433. package/dist/options-vXMBEWSH.js +0 -5
  1434. package/dist/options-wFnK3qWl.js +0 -9
  1435. package/dist/options-xVAy3UsV.js +0 -9
  1436. package/dist/organizations-R98kfFwF.js +0 -401
  1437. package/dist/outbox-Bsk-HJnq.d.ts +0 -199
  1438. package/dist/overlay/index.d.ts +0 -249
  1439. package/dist/overlay/index.js +0 -561
  1440. package/dist/payments-6uuergov.js +0 -16
  1441. package/dist/plugin-D9bYbYli.js +0 -45
  1442. package/dist/plugin-DouW0Kvg.d.ts +0 -203
  1443. package/dist/plugins/actor/index.d.ts +0 -19
  1444. package/dist/plugins/actor/index.js +0 -57
  1445. package/dist/plugins/rules/index.d.ts +0 -96
  1446. package/dist/plugins/rules/index.js +0 -235
  1447. package/dist/plugins/soft-delete/index.d.ts +0 -39
  1448. package/dist/plugins/soft-delete/index.js +0 -90
  1449. package/dist/plugins/tenant/index.d.ts +0 -60
  1450. package/dist/plugins/tenant/index.js +0 -119
  1451. package/dist/plugins/timestamps/index.d.ts +0 -11
  1452. package/dist/plugins/timestamps/index.js +0 -47
  1453. package/dist/plugins/validation/index.d.ts +0 -24
  1454. package/dist/plugins/validation/index.js +0 -83
  1455. package/dist/pool-Bu8zXGzI.d.ts +0 -123
  1456. package/dist/pool-errors-DOZ3oDeS.js +0 -27
  1457. package/dist/ports-BltcWsHf.d.ts +0 -312
  1458. package/dist/ports-CM3aG3zn.js +0 -137
  1459. package/dist/ports-n3ZWSS_I.d.ts +0 -89
  1460. package/dist/postgrest-DGjrW4sK.d.ts +0 -53
  1461. package/dist/powersync/react/index.d.ts +0 -93
  1462. package/dist/powersync/react/index.js +0 -120
  1463. package/dist/preset-HNFqCWaD.js +0 -838
  1464. package/dist/problem-D0KDiYPk.js +0 -162
  1465. package/dist/problem-D_DEBfMn.d.ts +0 -79
  1466. package/dist/provider-BhIkKBOh.js +0 -57
  1467. package/dist/provider-Dmsbl8ug.d.ts +0 -112
  1468. package/dist/push-token-8lvtOEv4.d.ts +0 -24
  1469. package/dist/query-DgPYlU82.js +0 -311
  1470. package/dist/rank-result-C6vsw27N.js +0 -18
  1471. package/dist/rank-result-DHflCNwo.d.ts +0 -14
  1472. package/dist/rate-limit-B7N1ZGl6.d.ts +0 -50
  1473. package/dist/rate-limit-CXpPm4_l.js +0 -49
  1474. package/dist/rate-limit-CpTD_WHm.js +0 -328
  1475. package/dist/react-controller-CKSdtJ10.js +0 -43
  1476. package/dist/react-env-CodKZgPk.js +0 -16
  1477. package/dist/react-uvu_KcVY.js +0 -599
  1478. package/dist/read-set-DP6fm21F.js +0 -316
  1479. package/dist/refusal-BEyNVFy7.d.ts +0 -32
  1480. package/dist/refusal-Ce2p81VW.js +0 -64
  1481. package/dist/replicas-BvIL4_jL.js +0 -94
  1482. package/dist/resolve-D57oDWNr.d.ts +0 -289
  1483. package/dist/resolve-sy3_Gz0i.js +0 -892
  1484. package/dist/resource-BRRU-A7j.js +0 -91
  1485. package/dist/resource-BVvIiuX_.js +0 -469
  1486. package/dist/resource-DxQOPkZ5.d.ts +0 -115
  1487. package/dist/resource-execute-BbjuiXwD.d.ts +0 -15
  1488. package/dist/resource-types-NXau9LJE.d.ts +0 -153
  1489. package/dist/resources-CIi7sw1T.js +0 -64
  1490. package/dist/resources-CZ60Vqwq.d.ts +0 -7
  1491. package/dist/respond-DjEmE_DN.js +0 -100
  1492. package/dist/respond-QW-f1yio.d.ts +0 -101
  1493. package/dist/result-DIT_qp4G.js +0 -146
  1494. package/dist/result-mijqfoJN.d.ts +0 -346
  1495. package/dist/rrule-CesB9Rxd.js +0 -290
  1496. package/dist/rules-D75V7dAE.js +0 -286
  1497. package/dist/run-state-CPo-1X2B.d.ts +0 -12
  1498. package/dist/sales-lines-9HsX89aO.d.ts +0 -28
  1499. package/dist/sales-lines-DgXeOEar.js +0 -41
  1500. package/dist/sales-shared-CjXsy0NJ.js +0 -22
  1501. package/dist/sales-shared-DAAGwQwN.d.ts +0 -8
  1502. package/dist/search-9hoZ8rN1.js +0 -106
  1503. package/dist/server-types-D_cQ6OxZ.d.ts +0 -809
  1504. package/dist/session-DNRYXIOU.d.ts +0 -97
  1505. package/dist/settings-DzQtMwfl.js +0 -93
  1506. package/dist/shared-C80IHf4B.js +0 -60
  1507. package/dist/shared-D11SWNLx.js +0 -17
  1508. package/dist/sign-in-B_QJ2u62.js +0 -386
  1509. package/dist/signatures-CzqfLlfV.d.ts +0 -43
  1510. package/dist/signatures-D8IoN3Rw.js +0 -145
  1511. package/dist/signers-BuVQKDfK.d.ts +0 -390
  1512. package/dist/signing-keys-i2Rsll6L.d.ts +0 -119
  1513. package/dist/solid-controller-7TxGaJNy.js +0 -33
  1514. package/dist/solid-controller-BnF3ovwV.d.ts +0 -11
  1515. package/dist/spec-pins-CZ2CL8YZ.d.ts +0 -120
  1516. package/dist/spec-pins-D3Tm6HJi.js +0 -60
  1517. package/dist/sql-CQIikLnQ.js +0 -421
  1518. package/dist/sql-frpIs51D.js +0 -89308
  1519. package/dist/sso-C86TPpZr.js +0 -217
  1520. package/dist/sso-D_am-gBz.d.ts +0 -161
  1521. package/dist/standard-16AIDny5.d.ts +0 -7
  1522. package/dist/standard-l10kE0yS.js +0 -25
  1523. package/dist/stats-Bt1RyT-F.js +0 -1147
  1524. package/dist/store-DKqbuNvw.d.ts +0 -83
  1525. package/dist/stripe-BSEwKCni.d.ts +0 -140
  1526. package/dist/subject-readers-BJzh7WF7.js +0 -49
  1527. package/dist/subject-readers-Bbq1i0Ol.d.ts +0 -21
  1528. package/dist/subjects-DQ2SU4cA.d.ts +0 -77
  1529. package/dist/support-CWVTM2AB.js +0 -534
  1530. package/dist/support-view-BOJJSZKv.d.ts +0 -17
  1531. package/dist/svelte-controller-BmRhHvFz.js +0 -50
  1532. package/dist/svelte-controller-DXO7gsmS.d.ts +0 -13
  1533. package/dist/table-schema-xqSXrjCN.js +0 -284
  1534. package/dist/tags-C_ym1yDM.js +0 -39
  1535. package/dist/tags-Co-QIHeK.js +0 -84
  1536. package/dist/tags-tbiuHHMV.d.ts +0 -30
  1537. package/dist/tanstack-db/supabase/index.d.ts +0 -66
  1538. package/dist/tanstack-db/supabase/index.js +0 -271
  1539. package/dist/tax-BHSCb5Rw.d.ts +0 -280
  1540. package/dist/tax-keSd-q_1.js +0 -140
  1541. package/dist/tee-1fsH3bEz.js +0 -101
  1542. package/dist/template-DXsGm_R0.js +0 -126
  1543. package/dist/temporal-required-Dt4mcPsi.js +0 -20
  1544. package/dist/tenant-DnMqeNIM.js +0 -27
  1545. package/dist/tenant-l3H2ouv7.d.ts +0 -17
  1546. package/dist/tenant-naming-Bsj3Uvap.js +0 -27
  1547. package/dist/timing-C5NzaEgy.js +0 -95
  1548. package/dist/topic-CZvLXFND.d.ts +0 -415
  1549. package/dist/topic-Cr01EHZy.js +0 -643
  1550. package/dist/types-BTK75521.js +0 -8
  1551. package/dist/types-Bzm0OgJk.d.ts +0 -177
  1552. package/dist/types-CB5MvzuE.d.ts +0 -624
  1553. package/dist/types-DYXhFhmQ.d.ts +0 -251
  1554. package/dist/types-DmshMaXz.d.ts +0 -421
  1555. package/dist/types-EUrisY2U.d.ts +0 -217
  1556. package/dist/types-vVsLvOUJ.d.ts +0 -700
  1557. package/dist/undo-CClrTbm9.d.ts +0 -46
  1558. package/dist/undo-HHonvNeg.js +0 -44
  1559. package/dist/upload-claim-DCuklVyh.js +0 -33
  1560. package/dist/usage-BFwuH7GK.d.ts +0 -232
  1561. package/dist/usage-CJmmCGzd.js +0 -264
  1562. package/dist/user-change-CSR_prhd.js +0 -133
  1563. package/dist/variants-Bat9zU8l.js +0 -53
  1564. package/dist/vault-BQThkbws.d.ts +0 -62
  1565. package/dist/verify-BCmBaHlN.js +0 -130
  1566. package/dist/verify-BTAEsJbF.d.ts +0 -146
  1567. package/dist/view-CKzCp8FW.d.ts +0 -90
  1568. package/dist/view-CfUd5vI9.js +0 -108
  1569. package/dist/vue-controller-DCOtUOA_.d.ts +0 -11
  1570. package/dist/vue-controller-EzyTjqca.js +0 -32
  1571. package/dist/watch-CYeMXFtj.d.ts +0 -92
  1572. package/dist/watch-Cnd6XDnU.js +0 -139
  1573. package/dist/watch-topic-CloXeDTO.d.ts +0 -31
  1574. package/dist/wire-BJhepFbv.js +0 -66
  1575. package/dist/workflow-builder-DzZNlI45.js +0 -699
  1576. package/dist/workflow-sdk-BXwl1THQ.d.ts +0 -163
  1577. package/dist/workflow-sdk-CPGiFE1B.js +0 -242
  1578. package/dist/workflow-sdk-world-BOEsvWmx.js +0 -2123
  1579. package/dist/workflows-BHyYAR6c.d.ts +0 -258
  1580. package/dist/workflows-otOMN33L.js +0 -285
  1581. package/skills/better-supabase/references/plugins.md +0 -71
@@ -0,0 +1,1657 @@
1
+ /// <reference lib="esnext.temporal" />
2
+ import { T as ErrorMapper, b as DbError, f as Result, t as AsyncResult } from "./result-DZeA5KS6.js";
3
+ import { t as StandardSchemaV1$1 } from "./standard-DBV730sF.js";
4
+ import { r as FieldsOf } from "./block-fields-BE7pInWZ.js";
5
+ import { $ as RecordRef } from "./types-DFdg_4yN.js";
6
+ import { Ct as Events, D as BlockEventPattern, T as BlockEvent, bt as EventMap, k as BlockEventsMatching, o as EventHub, wt as MergedEventMap, xt as EventMapOf } from "./events-vcqenSYU.js";
7
+ import { n as Logger } from "./logger-DWVYUmwi.js";
8
+ import { i as CredentialRef, o as CredentialToken, r as CredentialProvider } from "./provider-CqwEOLCA.js";
9
+ import { a as BlockTenantOptions, n as BlockOptions, r as BlockTemporalOptions } from "./block-helpers-CRpAHrp_.js";
10
+ import { r as DbTransportSource, t as BlockTransport } from "./block-transport-DWZSJrwN.js";
11
+ import { a as BlockTransportMiddleware, n as BlockHooks } from "./block-hooks-DZN2w69m.js";
12
+ import { f as AiFiles, y as UploadClaimStorage } from "./types-Dr9wZgNy.js";
13
+ import { g as JobHandler } from "./types-SFRomQF7.js";
14
+ import { t as BlockOptionsSchema } from "./options-CsGl5BLH.js";
15
+ import { t as Author } from "./block-authors-DzXLUiIq.js";
16
+ import { u as BlockInstanceSurface } from "./define-DFBnQyYg.js";
17
+ import { O as TtlPreset, l as ImageTransform, x as TransformOptions } from "./bucket-CiNi8sIw.js";
18
+ import { i as FieldSpec, n as TableSchema, o as TableSchemaSpec } from "./table-schema-BlF6k62Q.js";
19
+ import { i as EventSink } from "./cloud-event-CzZTJkXv.js";
20
+ import { g as Workflows } from "./workflows-B0ZPAQu0.js";
21
+ import { StandardSchemaV1 } from "@standard-schema/spec";
22
+ //#region src/core/entity-naming.d.ts
23
+ /** A noun in its singular and plural snake_case forms, e.g. `work_item`. */
24
+ interface EntityNoun {
25
+ readonly singular: string;
26
+ readonly plural: string;
27
+ }
28
+ /** The case forms a rename covers. */
29
+ type EntityCase = "snake" | "kebab" | "camel" | "pascal";
30
+ /** One noun renamed: every case form of `from` becomes the same form of `to`. */
31
+ interface EntityRename {
32
+ readonly from: EntityNoun;
33
+ readonly to: EntityNoun;
34
+ /** Defaults to every case. */
35
+ readonly cases?: readonly EntityCase[];
36
+ /**
37
+ * Match only whole identifier segments, so `deal` leaves `ideal` and `dealer`
38
+ * alone. Defaults to true. The tenant rename sets false, so it renames
39
+ * `organization` inside any identifier, as it always has.
40
+ */
41
+ readonly bounded?: boolean;
42
+ }
43
+ /** Renames for a set of nouns, applied in one pass so no rename feeds another. */
44
+ interface EntityNames {
45
+ readonly renames: readonly EntityRename[];
46
+ /** Whether any noun gets a new name. */
47
+ readonly renamed: boolean;
48
+ /** An identifier with every default noun renamed. */
49
+ rename(identifier: string): string;
50
+ /** An identifier with every new noun renamed back to its default. */
51
+ reverse(identifier: string): string;
52
+ }
53
+ /** Renames for `renames`, longest form first, in one pass. */
54
+ declare function entityNames(renames?: readonly EntityRename[]): EntityNames;
55
+ //#endregion
56
+ //#region src/core/block-names.d.ts
57
+ /**
58
+ * How the SQL names a block's functions and payload keys: the tenant's name
59
+ * (`blocks.memberships.names.organization`), the block's renamed entities
60
+ * (`blocks.<name>.entities`) and the `blocks.<name>.functions` maps, merged.
61
+ * `better-supabase gen` writes it to each block's `names` in
62
+ * `blocks.generated.ts`.
63
+ */
64
+ interface BlockNaming {
65
+ /** `blocks.memberships.names.organization`, such as `workspace`. */
66
+ readonly tenant?: string;
67
+ /** Function name to the name the SQL writes it under. */
68
+ readonly functions?: Readonly<Record<string, string>>;
69
+ /** The block's own entities the config renames, such as `work_item` to `task`. */
70
+ readonly entities?: readonly EntityRename[];
71
+ }
72
+ /**
73
+ * Transport middleware that calls each block function by the name the SQL wrote
74
+ * it under and translates the payload keys: `create_organization` becomes
75
+ * `create_workspace` with `tenant: "workspace"`, `list_work_items` becomes
76
+ * `list_tasks` with `work_item` renamed to `task`, then `functions` renames
77
+ * single functions. Keys inside the arguments (`projectId`) go out renamed, and
78
+ * the keys of the result come back by their default names, so the block's
79
+ * client reads what it always has. Wrap a block's transport with it when the
80
+ * config sets `blocks.<name>.entities` or `blocks.<name>.functions`;
81
+ * `defineBlocks` does it from `blocks.generated.ts`.
82
+ */
83
+ declare function blockNames(naming: BlockNaming): BlockTransportMiddleware;
84
+ //#endregion
85
+ //#region src/blocks/block-config.d.ts
86
+ /**
87
+ * One block's entry in `blocks.generated.ts`, which `better-supabase gen`
88
+ * writes from the `blocks` config, so the SQL and TypeScript halves of a block
89
+ * read the same settings.
90
+ */
91
+ interface GeneratedBlock {
92
+ /** The module schema (`blocks.<module>.schema`, then `sql.schema`). */
93
+ readonly schema: string;
94
+ /**
95
+ * The schema of the module's API wrappers (`blocks.<module>.api`, then
96
+ * `sql.api`).
97
+ */
98
+ readonly api?: string;
99
+ /**
100
+ * The options both halves read, with the module's defaults applied, such as
101
+ * `attachments.requireScan` or the notifications `topic`.
102
+ */
103
+ readonly options: Readonly<Record<string, unknown>>;
104
+ /**
105
+ * The names the SQL gives the block's functions when `blocks.<name>.names` or
106
+ * `blocks.<module>.functions` renames them. `defineBlocks` wraps the block's
107
+ * transport with `blockNames(names)`.
108
+ */
109
+ readonly names?: BlockNaming;
110
+ /**
111
+ * The block an instance installs when its key names another
112
+ * (`blocks.labels.block: "tags"`). `createBlocks` checks that the block
113
+ * passed under the key is this one.
114
+ */
115
+ readonly block?: string;
116
+ /**
117
+ * Dependency block to the instance key it uses (`blocks.<instance>.uses`).
118
+ * `createBlocks` takes a port from that instance when more than one block
119
+ * provides it.
120
+ */
121
+ readonly uses?: Readonly<Record<string, string>>;
122
+ }
123
+ /**
124
+ * `blocks.generated.ts`: the installed blocks' generated config, keyed by
125
+ * instance: the block's name, or the key that installs it again.
126
+ */
127
+ type GeneratedBlocks = Readonly<Record<string, GeneratedBlock>>;
128
+ /**
129
+ * The options a block's creator gets from its generated entry: the schema it
130
+ * calls (the API schema when there is one, since the wrappers there are what
131
+ * the caller may run) and the shared options. `defineBlocks` passes them;
132
+ * spread them into a creator you call yourself: `createAiChat({
133
+ * ...generatedOptions(blockConfig["ai-chat"]), transport })`.
134
+ */
135
+ declare function generatedOptions<const E extends GeneratedBlock>(entry: E): E["options"] & {
136
+ readonly schema: string;
137
+ };
138
+ /**
139
+ * A realtime topic template from `blocks.generated.ts` with its placeholders
140
+ * filled in, such as the notifications topic `notifications:{userId}`.
141
+ */
142
+ declare function fillTopic(template: string, values: Readonly<Record<string, string>>): string;
143
+ //#endregion
144
+ //#region src/blocks/entity-schema.d.ts
145
+ type Nothing$1 = Record<never, never>;
146
+ type OptionalFlag<T, K extends keyof T> = Nothing$1 extends Pick<T, K> ? {
147
+ readonly optional: true;
148
+ } : {
149
+ readonly optional?: false;
150
+ };
151
+ type ArrayFlag<V> = unknown extends V ? Nothing$1 : [Exclude<V, undefined>] extends [readonly unknown[]] ? {
152
+ readonly array: true;
153
+ } : {
154
+ readonly array?: false;
155
+ };
156
+ /**
157
+ * The fields of `entitySchema<T>`: one per key of `T`, marked `optional` when
158
+ * the key is and `array` when its value is a list, so the schema can't drift
159
+ * from the type.
160
+ */
161
+ type EntityFieldSpecs<T> = { readonly [K in keyof T & string]-?: FieldSpec & OptionalFlag<T, K> & ArrayFlag<T[K]>; };
162
+ interface EntitySchemaSpec<T> {
163
+ readonly title?: string;
164
+ readonly description?: string;
165
+ readonly fields: EntityFieldSpecs<T>;
166
+ }
167
+ /**
168
+ * A Standard Schema that also converts to JSON Schema (Standard JSON Schema),
169
+ * for one of a block's inputs, with the spec it was built from.
170
+ */
171
+ interface EntitySchema<T> extends TableSchema<T> {
172
+ readonly spec: TableSchemaSpec;
173
+ }
174
+ /** What a block's client takes for one entity. */
175
+ interface EntitySchemas {
176
+ /** Creating one (`WorkItemInput`). */
177
+ readonly input?: EntitySchema<unknown>;
178
+ /** Updating one (`WorkItemChange`). */
179
+ readonly change?: EntitySchema<unknown>;
180
+ /** Listing them (`WorkItemListOptions`). */
181
+ readonly listFilter?: EntitySchema<unknown>;
182
+ }
183
+ /** A block's input schemas, by entity key (its default singular noun). */
184
+ type BlockSchemas = Readonly<Record<string, EntitySchemas>>;
185
+ /**
186
+ * The Standard Schema for one of a block's input types, without a validation
187
+ * library: it validates like `tableSchema`, drops unknown keys, and converts to
188
+ * JSON Schema. The spec names every key of `T`.
189
+ */
190
+ declare function entitySchema<T>(spec: EntitySchemaSpec<T>): EntitySchema<T>;
191
+ //#endregion
192
+ //#region src/blocks/record-bindings.d.ts
193
+ /**
194
+ * The module actions a binding needs, such as `{ read: "read", write: "create"
195
+ * }`: the keys of `permissions.<module>` in `blocks.generated.ts`, so a renamed
196
+ * permission key still matches.
197
+ */
198
+ interface RecordBindingPermissions {
199
+ readonly read: string;
200
+ readonly write?: string;
201
+ }
202
+ /**
203
+ * One write a binding takes on its record, such as adding a comment. Generated
204
+ * record types turn each one into a Server Action or a mutation.
205
+ */
206
+ interface RecordBindingWrite<Client, Input, Output = unknown> {
207
+ /**
208
+ * The `permissions.<module>` action the write needs, for the `can*` flags.
209
+ * Default: the binding's `permissions.write`. The SQL function checks the key
210
+ * again.
211
+ */
212
+ readonly permission?: string;
213
+ /** What the write takes besides the record, as a Standard Schema. */
214
+ readonly input: StandardSchemaV1<unknown, Input>;
215
+ readonly run: (client: Client, subject: RecordRef, input: Input) => AsyncResult<Output>;
216
+ }
217
+ /** Any binding write, for constraints. */
218
+ interface AnyRecordBindingWrite {
219
+ readonly permission?: string;
220
+ readonly input: StandardSchemaV1;
221
+ readonly run: (client: never, subject: RecordRef, input: never) => AsyncResult<unknown>;
222
+ }
223
+ /** A binding's writes, by name. */
224
+ type RecordBindingWrites = Readonly<Record<string, AnyRecordBindingWrite>>;
225
+ /**
226
+ * One event of a record's history that a binding's rows hold, such as a comment
227
+ * or a saved version, for `loadTimeline`.
228
+ */
229
+ interface TimelineItem<Row = unknown> {
230
+ /** Unique within its binding. */
231
+ readonly id: string;
232
+ /** What happened, such as `comment` or `version`. */
233
+ readonly kind: string;
234
+ readonly at: Temporal.Instant;
235
+ /** The user who did it, when the row says. */
236
+ readonly actor?: string;
237
+ readonly row: Row;
238
+ }
239
+ /** What `defineRecordBinding` takes. */
240
+ interface RecordBindingDefinition<Client, Data, Options, Action, W extends RecordBindingWrites = Record<never, never>> {
241
+ readonly permissions: RecordBindingPermissions;
242
+ /**
243
+ * The SQL module whose permission keys `permissions` names. Default: the
244
+ * block's first SQL module.
245
+ */
246
+ readonly module?: string;
247
+ /** The binding's rows for one subject. */
248
+ readonly load: (client: Client, subject: RecordRef, options: Options | undefined) => AsyncResult<Data>;
249
+ /**
250
+ * How many rows each subject has, keyed by `subjectKey` (`type:id`), for a
251
+ * badge on each row of a list.
252
+ */
253
+ readonly count?: (client: Client, subjects: readonly RecordRef[]) => AsyncResult<Readonly<Record<string, number>>>;
254
+ /**
255
+ * The binding's value for each of many subjects, keyed by `subjectKey`
256
+ * (`type:id`), for a column of a record list (`defineRecordList`). Default:
257
+ * `count`, or else one `load` per subject.
258
+ */
259
+ readonly column?: (client: Client, subjects: readonly RecordRef[]) => AsyncResult<Readonly<Record<string, unknown>>>;
260
+ /** The binding's rows as timeline entries, for `loadTimeline`. */
261
+ readonly timeline?: (data: Data) => readonly TimelineItem[];
262
+ /** The block events that make the binding stale; `*` ends a prefix. */
263
+ readonly events?: readonly string[];
264
+ /** A reducer for `useOptimistic`, applying a pending write to the rows. */
265
+ readonly optimistic?: (state: Data, action: Action) => Data;
266
+ /** The writes the binding takes on its record, by name (`add`, `remove`). */
267
+ readonly writes?: W;
268
+ }
269
+ /**
270
+ * A part of a record page a block owns, such as a comment thread (an extension
271
+ * interface: `apiVersion: 1`). `loadBindings` loads it,
272
+ * `createRecordController` keeps it current.
273
+ */
274
+ interface RecordBinding<Client = never, Data = unknown, Options = never, Action = never, W extends RecordBindingWrites = Record<never, never>> extends RecordBindingDefinition<Client, Data, Options, Action, W> {
275
+ readonly apiVersion: 1;
276
+ readonly events: readonly string[];
277
+ readonly writes: W;
278
+ }
279
+ /** Any binding, for constraints. */
280
+ interface AnyRecordBinding {
281
+ readonly apiVersion: 1;
282
+ readonly permissions: RecordBindingPermissions;
283
+ readonly module?: string;
284
+ readonly load: (client: never, subject: RecordRef, options: never) => AsyncResult<unknown>;
285
+ readonly count?: (client: never, subjects: readonly RecordRef[]) => AsyncResult<Readonly<Record<string, number>>>;
286
+ readonly column?: (client: never, subjects: readonly RecordRef[]) => AsyncResult<Readonly<Record<string, unknown>>>;
287
+ readonly timeline?: (data: never) => readonly TimelineItem[];
288
+ readonly events: readonly string[];
289
+ readonly optimistic?: (state: never, action: never) => unknown;
290
+ readonly writes?: RecordBindingWrites;
291
+ }
292
+ /** The rows a binding loads. */
293
+ type RecordBindingData<S> = S extends {
294
+ readonly load: (...args: never) => AsyncResult<infer Data>;
295
+ } ? Data : never;
296
+ /** The options a binding's `load` takes. */
297
+ type RecordBindingOptions<S> = S extends {
298
+ readonly load: (client: never, subject: never, options: infer O) => unknown;
299
+ } ? Exclude<O, undefined> : never;
300
+ /** The names of a binding's writes. */
301
+ type RecordBindingWriteName<S> = S extends {
302
+ readonly writes: infer W extends RecordBindingWrites;
303
+ } ? keyof W & string : never;
304
+ /** What one of a binding's writes resolves to. */
305
+ type RecordBindingWriteOutput<S, N extends string> = S extends {
306
+ readonly writes: infer W extends RecordBindingWrites;
307
+ } ? N extends keyof W ? W[N]["run"] extends ((...args: never) => AsyncResult<infer O>) ? O : never : never : never;
308
+ /** What one of a binding's writes takes besides the record. */
309
+ type RecordBindingWriteInput<S, N extends string> = S extends {
310
+ readonly writes: infer W extends RecordBindingWrites;
311
+ } ? N extends keyof W ? StandardSchemaV1.InferOutput<W[N]["input"]> : never : never;
312
+ /** A binding once loaded: its rows, its error, or hidden from the caller. */
313
+ type RecordBindingResult<Data> = {
314
+ readonly kind: "ok";
315
+ readonly data: Data;
316
+ } | {
317
+ readonly kind: "error";
318
+ readonly error: DbError;
319
+ } | {
320
+ readonly kind: "hidden";
321
+ };
322
+ /** Describes a binding of a block's record page (`apiVersion: 1`). */
323
+ declare function defineRecordBinding<Client, Data, Options = never, Action = never, const W extends RecordBindingWrites = Record<never, never>>(definition: RecordBindingDefinition<Client, Data, Options, Action, W>): RecordBinding<Client, Data, Options, Action, W>;
324
+ /** Describes one write of a binding, typed by its client and input. */
325
+ declare function recordBindingWrite<Client, Input, Output>(write: RecordBindingWrite<Client, Input, Output>): RecordBindingWrite<Client, Input, Output>;
326
+ /** What a write on one row of a binding takes: the row's id. */
327
+ interface RecordRowInput {
328
+ readonly id: string;
329
+ }
330
+ /** The input schema of a write on one row, such as removing a comment. */
331
+ declare const recordRowInput: EntitySchema<RecordRowInput>;
332
+ /** Whether a block event type matches a binding's `events` entry. */
333
+ declare function recordEventMatches(pattern: string, type: string): boolean;
334
+ //#endregion
335
+ //#region src/core/automation.d.ts
336
+ /**
337
+ * A reference to an action (ADR 0046): a kind a registered action handles and
338
+ * its settings, such as `{ kind: "notify", config: { type: "task.assigned" }
339
+ * }`. Automations, workflows and sequences store actions in this shape.
340
+ */
341
+ interface ActionRef {
342
+ /** Such as `notify`, `approvals.request` or `tasks.from_conversation`. */
343
+ readonly kind: string;
344
+ readonly config?: Readonly<Record<string, unknown>>;
345
+ }
346
+ /** What started an action: an automation, a workflow step or a sequence step. */
347
+ interface ActionOrigin {
348
+ readonly type: "automation" | "workflow" | "sequence";
349
+ /** The automation, workflow run or sequence enrollment id. */
350
+ readonly id: string;
351
+ /** Its name, for messages and notification data. */
352
+ readonly name: string;
353
+ /** The outbox event type that started it, when one did. */
354
+ readonly trigger?: string;
355
+ }
356
+ /** The record an action works on, and the event it runs for. */
357
+ interface ActionContext {
358
+ readonly organizationId: string;
359
+ readonly subjectType: string;
360
+ readonly subjectId: string;
361
+ /** The event's payload or the record, such as the expense row. */
362
+ readonly payload?: Readonly<Record<string, unknown>>;
363
+ /** The outbox event the action runs for; it keys retries of the action. */
364
+ readonly eventId?: string;
365
+ }
366
+ /** What an action's `run` receives. */
367
+ interface ActionCall {
368
+ readonly action: ActionRef;
369
+ readonly origin: ActionOrigin;
370
+ readonly context: ActionContext;
371
+ /**
372
+ * The same for every retry of this action for this event, such as
373
+ * `rule:<automation id>:notify:<event id>`. Pass it on as an idempotency
374
+ * key.
375
+ */
376
+ readonly key: string;
377
+ }
378
+ /** Runs one action. Return a `Result`; a throw becomes an `unexpected` error. */
379
+ type ActionHandler = (call: ActionCall) => Result<unknown> | PromiseLike<Result<unknown>>;
380
+ /** What `defineAction` takes. */
381
+ interface ActionSpec {
382
+ /** Unique in a registry, such as `notify` or `tasks.from_conversation`. */
383
+ readonly kind: string;
384
+ /** A short label for the automation editor. */
385
+ readonly title: string;
386
+ readonly description?: string;
387
+ /**
388
+ * Checks `config` before `run`: a failing config is a `validation` error and
389
+ * `run` doesn't run.
390
+ */
391
+ readonly config?: StandardSchemaV1;
392
+ readonly run: ActionHandler;
393
+ }
394
+ /** An action from `defineAction` (`apiVersion: 1`). */
395
+ interface Action extends ActionSpec {
396
+ readonly apiVersion: 1;
397
+ }
398
+ /** What a registry lists for the automation editor. */
399
+ interface ActionInfo {
400
+ readonly kind: string;
401
+ readonly title: string;
402
+ readonly description?: string;
403
+ }
404
+ /**
405
+ * A block's catalog entry for an action it ships (`defineBlock({ actions })`):
406
+ * the kind and its label. The block's TypeScript side exports the factory that
407
+ * builds the runnable action.
408
+ */
409
+ type ActionDescriptor = ActionInfo;
410
+ /**
411
+ * Declares an action the action registry runs for automations, workflow steps
412
+ * and sequence steps.
413
+ */
414
+ declare function defineAction(spec: ActionSpec): Action;
415
+ /** The actions automations, workflows and sequences run, by kind. */
416
+ interface ActionRegistry {
417
+ /** The registered actions, for the automation editor. */
418
+ kinds(): readonly ActionInfo[];
419
+ has(kind: string): boolean;
420
+ /**
421
+ * Runs the action the call names. A kind with no action is an
422
+ * `invalid_request` error with the hint `ACTION_UNKNOWN`.
423
+ */
424
+ run(call: ActionCall): Promise<Result<unknown>>;
425
+ }
426
+ /**
427
+ * One registry over the actions of every installed block, for the automation
428
+ * dispatcher, the workflow editor's action steps and sequence action steps.
429
+ *
430
+ * ```ts
431
+ * const actions = createActionRegistry([
432
+ * notifyAction(blocks.notifications),
433
+ * taskFromConversationAction({ clients }),
434
+ * ]);
435
+ * ```
436
+ */
437
+ declare function createActionRegistry(actions: readonly Action[]): ActionRegistry;
438
+ /**
439
+ * An automation a block ships (`defineBlock({ automations })`). Its SQL module
440
+ * writes the row to `rule_defaults`, and every organization gets its own copy
441
+ * the first time its rules run or are listed, which it may turn off or edit.
442
+ */
443
+ interface DefaultAutomation {
444
+ /** Unique across blocks, such as `inbox.conversation_to_task`. */
445
+ readonly key: string;
446
+ readonly name: string;
447
+ readonly description?: string;
448
+ /** The outbox event type that starts it, with the default names. */
449
+ readonly trigger: string;
450
+ /** The record type the trigger event is about, with the default names. */
451
+ readonly subjectType: string;
452
+ readonly actions: readonly ActionRef[];
453
+ /** Default true. An automation that needs app code ships turned off. */
454
+ readonly enabled?: boolean;
455
+ /** Blocks that must be installed for the block to ship it. */
456
+ readonly requires?: readonly string[];
457
+ }
458
+ /**
459
+ * A timer a block runs on the queue (`defineBlock({ schedules })`): the queue
460
+ * block's `blockSchedules` enqueues a `block_ticks` job at each `cron` time,
461
+ * and the handler the app registers for `<block>.<name>` does the due work,
462
+ * such as `sla.check()` or `sequences.runDue()`.
463
+ */
464
+ interface BlockSchedule {
465
+ /** Unique within the block, such as `check`. */
466
+ readonly name: string;
467
+ /** Five cron fields, a macro such as `@hourly` or an interval (`1 minute`). */
468
+ readonly cron: string;
469
+ /** The client method the handler calls, for the checklist and the docs. */
470
+ readonly runs: string;
471
+ readonly description: string;
472
+ }
473
+ /**
474
+ * A key for one action of one origin for one event, the same on every retry of
475
+ * the event.
476
+ */
477
+ declare function actionKey(origin: ActionOrigin, kind: string, context: ActionContext): string;
478
+ //#endregion
479
+ //#region src/blocks/attachments/attachments.d.ts
480
+ interface StorageReply<T> {
481
+ readonly data: T | null;
482
+ readonly error: unknown;
483
+ }
484
+ /** The `supabase.storage.from(bucket)` methods attachments use. */
485
+ interface AttachmentBucket {
486
+ createSignedUploadUrl(path: string): PromiseLike<StorageReply<{
487
+ readonly signedUrl: string;
488
+ readonly token: string;
489
+ }>>;
490
+ createSignedUrl(path: string, expiresIn: number, options?: {
491
+ download?: string | boolean;
492
+ transform?: TransformOptions;
493
+ }): PromiseLike<StorageReply<{
494
+ readonly signedUrl: string;
495
+ }>>;
496
+ download(path: string): PromiseLike<StorageReply<Blob>>;
497
+ /** Used by `publicUrl`, for files in `options.publicBuckets`. */
498
+ getPublicUrl?(path: string, options?: {
499
+ download?: string | boolean;
500
+ transform?: TransformOptions;
501
+ }): {
502
+ readonly data: {
503
+ readonly publicUrl: string;
504
+ };
505
+ };
506
+ remove(paths: string[]): PromiseLike<StorageReply<unknown>>;
507
+ /** Used by `put`, which uploads from the server. */
508
+ upload?(path: string, body: Blob | ArrayBuffer | Uint8Array, options?: {
509
+ readonly contentType?: string;
510
+ readonly upsert?: boolean;
511
+ }): PromiseLike<StorageReply<unknown>>;
512
+ }
513
+ /** `supabase.storage`, typed structurally. */
514
+ interface AttachmentStorage extends UploadClaimStorage {
515
+ from(bucket: string): AttachmentBucket;
516
+ }
517
+ interface AttachmentsOptions<S extends StandardSchemaV1$1 | undefined = undefined> extends BlockTemporalOptions, BlockTenantOptions {
518
+ /**
519
+ * The subject types configured with `tenant: false`. Their files have no
520
+ * organization, so `upload`, `put` and `list` on such a subject send no
521
+ * tenant and need none.
522
+ */
523
+ readonly tenantless?: readonly string[];
524
+ /**
525
+ * A Standard Schema for the attachment columns the app adds
526
+ * (`blocks.attachments.options.extraColumns`), keyed by column name. It types
527
+ * and parses them on every read, and validates them on `upload` and `put`,
528
+ * which return a `validation` error for a bad value.
529
+ */
530
+ readonly fields?: S;
531
+ /** `withBlockHooks` hooks around the client's methods. */
532
+ readonly hooks?: NoInfer<BlockHooks<Attachments<FieldsOf<S>>>>;
533
+ /** Receives the errors `after` hooks throw. Default: `console`. */
534
+ readonly logger?: Logger;
535
+ /** The caller's transport (`rpcTransport(supabase)`). */
536
+ readonly transport: BlockTransport;
537
+ /** The caller's `supabase.storage`, so the bucket policies apply. */
538
+ readonly storage: AttachmentStorage;
539
+ /**
540
+ * The module schema, or its API schema: `defineBlocks` passes it from
541
+ * `blocks.generated.ts`. Default `better_supabase`.
542
+ */
543
+ readonly schema?: string;
544
+ readonly mappers?: readonly ErrorMapper[];
545
+ /**
546
+ * `blocks.attachments.options.requireScan`, which `defineBlocks` passes from
547
+ * `blocks.generated.ts`. Default `true`.
548
+ */
549
+ readonly requireScan?: boolean;
550
+ /**
551
+ * `blocks.attachments.options.publicBuckets`, which `defineBlocks` passes
552
+ * from `blocks.generated.ts`: the buckets `publicUrl` serves. Default none.
553
+ */
554
+ readonly publicBuckets?: readonly string[];
555
+ /** Lifetime of a signed download URL in seconds. Default 300. */
556
+ readonly downloadTtl?: number;
557
+ }
558
+ type AttachmentStatus = "pending" | "clean" | "infected" | "failed";
559
+ interface Attachment {
560
+ readonly id: string;
561
+ /** `undefined` for a file of a subject without a tenant (`tenant: false`). */
562
+ readonly organizationId: string | undefined;
563
+ /** `undefined` for a file uploaded without a subject. */
564
+ readonly subject: RecordRef | undefined;
565
+ readonly bucket: string;
566
+ /**
567
+ * The current version's object path in the bucket:
568
+ * `{organizationId}/attachments/{id}` unless `options.path` says otherwise,
569
+ * with `-v<version>` from version 2 on.
570
+ */
571
+ readonly path: string;
572
+ readonly name: string;
573
+ readonly mimeType: string;
574
+ readonly size: number;
575
+ /** Starts at 1; `replace` adds one, `restore` goes back to an earlier one. */
576
+ readonly version: number;
577
+ /** The image's width in pixels, as the uploader measured it. */
578
+ readonly width: number | undefined;
579
+ /** The image's height in pixels, as the uploader measured it. */
580
+ readonly height: number | undefined;
581
+ /** The document's page count, as the uploader counted it. */
582
+ readonly pages: number | undefined;
583
+ readonly status: AttachmentStatus;
584
+ /** What the scanner reported, such as the signature it matched. */
585
+ readonly scanDetail: string | undefined;
586
+ /** What `upload` stored with the file; `{}` without any. */
587
+ readonly metadata: Readonly<Record<string, unknown>>;
588
+ readonly uploadedBy: string | undefined;
589
+ /**
590
+ * The uploader's name and avatar from `profiles`, on `list()`; `undefined`
591
+ * without the `profiles` module or once the account is deleted.
592
+ */
593
+ readonly author: Author | undefined;
594
+ readonly createdAt: Temporal.Instant;
595
+ /** Set by `confirm()` once the object exists. */
596
+ readonly uploadedAt: Temporal.Instant | undefined;
597
+ readonly scannedAt: Temporal.Instant | undefined;
598
+ }
599
+ interface NewAttachment {
600
+ readonly name: string;
601
+ readonly mimeType: string;
602
+ /** Bytes; `confirm()` replaces it with the stored size. */
603
+ readonly size: number;
604
+ /**
605
+ * App data about the file, such as a caption or its source, kept with the
606
+ * record.
607
+ */
608
+ readonly metadata?: Readonly<Record<string, unknown>>;
609
+ /** The image's width in pixels, for previews and layout before loading. */
610
+ readonly width?: number;
611
+ /** The image's height in pixels. */
612
+ readonly height?: number;
613
+ /** The document's page count. */
614
+ readonly pages?: number;
615
+ }
616
+ /** A new version of a file for `replace`: what changes with the bytes. */
617
+ type AttachmentReplacement = Omit<NewAttachment, "metadata">;
618
+ /** An earlier version of a file, kept when it was replaced. */
619
+ interface AttachmentVersion {
620
+ readonly attachmentId: string;
621
+ readonly version: number;
622
+ readonly bucket: string;
623
+ readonly path: string;
624
+ readonly name: string;
625
+ readonly mimeType: string;
626
+ readonly size: number;
627
+ readonly width: number | undefined;
628
+ readonly height: number | undefined;
629
+ readonly pages: number | undefined;
630
+ readonly status: AttachmentStatus;
631
+ readonly scanDetail: string | undefined;
632
+ readonly uploadedBy: string | undefined;
633
+ readonly uploadedAt: Temporal.Instant | undefined;
634
+ readonly scannedAt: Temporal.Instant | undefined;
635
+ /** When the version stopped being the current one. */
636
+ readonly archivedAt: Temporal.Instant;
637
+ }
638
+ /** What `images().signedUrl` takes: `useImage` passes its options here. */
639
+ interface AttachmentImageUrlOptions<V extends string = never> {
640
+ /** Seconds or a preset. Defaults to the client's `downloadTtl`. */
641
+ readonly ttl?: number | TtlPreset;
642
+ readonly transform?: ImageTransform<V>;
643
+ }
644
+ /**
645
+ * Image previews of attachments, shaped for `useImage(source, attachment,
646
+ * transform)` from `better-supabase/react`: a signed, resized URL per pixel
647
+ * density, behind the same scan gate as `download`.
648
+ */
649
+ interface AttachmentImages<V extends string = never> {
650
+ readonly bucket: {
651
+ readonly id: string;
652
+ readonly public: false;
653
+ readonly variants: Readonly<Record<V, TransformOptions>>;
654
+ };
655
+ /**
656
+ * The public URL of an image in one of `options.publicBuckets`, resized by
657
+ * `transform`. Any other file, or a target given by id, is an
658
+ * `invalid_request` error with hint `ATTACHMENT_PRIVATE`.
659
+ */
660
+ publicUrl(target: Attachment | string, options?: {
661
+ readonly transform?: ImageTransform<V>;
662
+ }): Result<string>;
663
+ /**
664
+ * A signed URL of the image resized by `transform`. `ATTACHMENT_NOT_SCANNED`
665
+ * until the scan passes, `ATTACHMENT_NOT_IMAGE` for a file that is not
666
+ * `image/*`. A target given by id is read first.
667
+ */
668
+ signedUrl(target: Attachment | string, options?: AttachmentImageUrlOptions<V>): AsyncResult<string>;
669
+ }
670
+ interface AttachmentUpload<F extends object = Record<never, never>> {
671
+ readonly attachment: Attachment & F;
672
+ /**
673
+ * PUT the file here, or pass `token` to `uploadToSignedUrl(path, token,
674
+ * file)`.
675
+ */
676
+ readonly signedUrl: string;
677
+ readonly token: string;
678
+ }
679
+ interface AttachmentDownload<F extends object = Record<never, never>> {
680
+ readonly attachment: Attachment & F;
681
+ readonly signedUrl: string;
682
+ }
683
+ /**
684
+ * `F` is the extra attachment fields `options.fields` describes. The methods
685
+ * that create or list files act in the block's `tenant`, except on a subject
686
+ * type in `options.tenantless`.
687
+ */
688
+ interface Attachments<F extends object = Record<never, never>> {
689
+ /**
690
+ * Creates the pending record on `subject` (`null` for a file without one) and
691
+ * a signed upload URL for its path. When Storage refuses the URL, the record
692
+ * is deleted again.
693
+ */
694
+ upload(subject: RecordRef | null, attachment: NewAttachment & Partial<F>): AsyncResult<AttachmentUpload<F>>;
695
+ /**
696
+ * Marks the upload done after the file is stored; emits
697
+ * `attachment.uploaded`.
698
+ */
699
+ confirm(id: string): AsyncResult<Attachment & F>;
700
+ get(id: string): AsyncResult<Attachment & F>;
701
+ /** The files of `subject`, or every file of the tenant without one. */
702
+ list(subject?: RecordRef | null): AsyncResult<readonly (Attachment & F)[]>;
703
+ /**
704
+ * A signed URL for a file the scanner passed. `invalid_request` with hint
705
+ * `ATTACHMENT_NOT_SCANNED` until then, and for an infected file.
706
+ */
707
+ download(id: string, options?: {
708
+ readonly as?: string | boolean;
709
+ /** An earlier version from `versions(id)`; default the current one. */
710
+ readonly version?: number;
711
+ }): AsyncResult<AttachmentDownload<F>>;
712
+ /**
713
+ * The public URL of a file in one of `options.publicBuckets`, which Storage
714
+ * serves without a signed URL. A file in a private bucket is an
715
+ * `invalid_request` error with hint `ATTACHMENT_PRIVATE`.
716
+ */
717
+ publicUrl(attachment: Attachment, options?: {
718
+ readonly as?: string | boolean;
719
+ }): Result<string>;
720
+ /**
721
+ * Deletes every version's file, then the record (the uploader, or
722
+ * `attachments.manage`).
723
+ */
724
+ remove(id: string): AsyncResult<boolean>;
725
+ /**
726
+ * Starts a new version of the file (its uploader with `attachments.upload`,
727
+ * or `attachments.manage`): the current one becomes an earlier version, and
728
+ * the new one waits for its upload to the signed URL, `confirm` and the scan.
729
+ * Emits `attachment.replaced`.
730
+ */
731
+ replace(id: string, file: AttachmentReplacement): AsyncResult<AttachmentUpload<F>>;
732
+ /** The file's earlier versions, newest first. */
733
+ versions(id: string): AsyncResult<readonly AttachmentVersion[]>;
734
+ /**
735
+ * Makes an earlier version current again; the current one becomes an earlier
736
+ * version. Emits `attachment.restored`.
737
+ */
738
+ restore(id: string, version: number): AsyncResult<Attachment & F>;
739
+ /**
740
+ * Image previews for `useImage`, with the app's named variants (`{ thumb: {
741
+ * width: 160, height: 160, resize: "cover" } }`).
742
+ */
743
+ images<V extends string = never>(variants?: Readonly<Record<V, TransformOptions>>): AttachmentImages<V>;
744
+ /**
745
+ * Creates the record on `subject` (`null` for none), uploads `file` from the
746
+ * server and confirms it, for files the server makes or fetches (an export, a
747
+ * generated PDF, an import). Returns the confirmed attachment, which still
748
+ * waits for the scan when the module requires one. When Storage refuses the
749
+ * upload, the record is deleted again, so no pending record is left behind.
750
+ */
751
+ put(subject: RecordRef | null, attachment: NewAttachment & Partial<F>, file: Blob | ArrayBuffer | Uint8Array): AsyncResult<Attachment & F>;
752
+ /**
753
+ * The file's bytes, for server-side processing, behind the same scan gate as
754
+ * `download`: `ATTACHMENT_NOT_SCANNED` until the scan passes.
755
+ */
756
+ read(id: string): AsyncResult<{
757
+ readonly attachment: Attachment & F;
758
+ readonly file: Blob;
759
+ }>;
760
+ }
761
+ /** An `attachment_versions` row, as `list_attachment_versions` returns it. */
762
+ declare function attachmentVersionOf(value: unknown): AttachmentVersion;
763
+ declare function createAttachments<S extends StandardSchemaV1$1 | undefined = undefined>(options: AttachmentsOptions<S>): Attachments<FieldsOf<S>>;
764
+ /** A scanner's verdict on one file. */
765
+ interface ScanVerdict {
766
+ readonly status: "clean" | "infected";
767
+ /** Stored as `scan_detail`, such as the matched signature. */
768
+ readonly detail?: string;
769
+ }
770
+ interface AttachmentScannerOptions extends BlockTemporalOptions {
771
+ /**
772
+ * A service-role transport: `set_attachment_status()` is granted to
773
+ * `service_role` only.
774
+ */
775
+ readonly transport: BlockTransport;
776
+ /** A service-role `supabase.storage`, to read pending files. */
777
+ readonly storage: AttachmentStorage;
778
+ readonly schema?: string;
779
+ /**
780
+ * Scans the file (ClamAV, a scanning API). A throw records `failed` and
781
+ * rethrows.
782
+ */
783
+ readonly scan: (file: Blob, attachment: Attachment, signal?: AbortSignal) => ScanVerdict | Promise<ScanVerdict>;
784
+ /** The outbox `typePrefix`. Default `dev.better-supabase`. */
785
+ readonly typePrefix?: string;
786
+ }
787
+ /** The payload `job` expects. */
788
+ interface AttachmentScanJob {
789
+ readonly attachmentId: string;
790
+ }
791
+ interface AttachmentScanner {
792
+ /** Scans one uploaded file and records the verdict. */
793
+ scan(id: string, signal?: AbortSignal): AsyncResult<Attachment>;
794
+ /**
795
+ * A jobs handler: `queue.work('attachment-scans', scanner.job)`. A deleted
796
+ * attachment completes the job; other errors throw so the queue retries.
797
+ */
798
+ readonly job: JobHandler<AttachmentScanJob>;
799
+ /**
800
+ * An outbox sink that scans each `attachment.uploaded` event's file. An event
801
+ * for a deleted attachment is skipped, so it never holds up the events behind
802
+ * it; other errors throw so the relay retries the batch.
803
+ */
804
+ sink(): EventSink;
805
+ }
806
+ /**
807
+ * Scans uploaded files with the app's `scan` function and records `clean`,
808
+ * `infected` or `failed`. A file already clean or infected is not scanned
809
+ * again, so replayed events and retried jobs are safe.
810
+ */
811
+ declare function createAttachmentScanner(options: AttachmentScannerOptions): AttachmentScanner;
812
+ /** A scanned object in any bucket (`scanned_objects`). */
813
+ interface ScannedObject {
814
+ readonly bucket: string;
815
+ readonly path: string;
816
+ readonly status: AttachmentStatus;
817
+ readonly detail: string | undefined;
818
+ readonly scannedAt: Temporal.Instant | undefined;
819
+ }
820
+ interface ObjectScannerOptions extends BlockTemporalOptions {
821
+ /**
822
+ * A service-role transport: `set_object_scan()` is granted to `service_role`
823
+ * only.
824
+ */
825
+ readonly transport: BlockTransport;
826
+ /** A service-role `supabase.storage`, to read the objects. */
827
+ readonly storage: AttachmentStorage;
828
+ readonly schema?: string;
829
+ /** Scans the file. A throw records `failed` and rethrows. */
830
+ readonly scan: (file: Blob, object: {
831
+ readonly bucket: string;
832
+ readonly path: string;
833
+ }, signal?: AbortSignal) => ScanVerdict | Promise<ScanVerdict>;
834
+ /** The outbox `typePrefix`. Default `dev.better-supabase`. */
835
+ readonly typePrefix?: string;
836
+ }
837
+ /** The payload `ObjectScanner.job` expects. */
838
+ interface ObjectScanJob {
839
+ readonly bucket: string;
840
+ readonly path: string;
841
+ }
842
+ interface ObjectScanner {
843
+ /**
844
+ * Scans one object and records the verdict; a clean or infected object is not
845
+ * scanned again.
846
+ */
847
+ scan(bucket: string, path: string, signal?: AbortSignal): AsyncResult<ScannedObject>;
848
+ /**
849
+ * A jobs handler: `queue.work('object-scans', scanner.job)`. An object
850
+ * deleted from storage completes the job; other errors throw.
851
+ */
852
+ readonly job: JobHandler<ObjectScanJob>;
853
+ /**
854
+ * An outbox sink that scans each `object.uploaded` event's object. An event
855
+ * for an object deleted from storage is skipped; other errors throw so the
856
+ * relay retries the batch.
857
+ */
858
+ sink(): EventSink;
859
+ }
860
+ /**
861
+ * The scan gate for objects outside the attachments table, such as a file drive
862
+ * or avatars: scans an object with the app's `scan` function and records the
863
+ * verdict in `scanned_objects`, which storage policies read with
864
+ * `object_clean(bucket_id, name)`. With `options.scanBuckets`, new objects in
865
+ * those buckets get a pending row and an `object.uploaded` event.
866
+ */
867
+ declare function createObjectScanner(options: ObjectScannerOptions): ObjectScanner;
868
+ //#endregion
869
+ //#region src/blocks/mail-sync/providers.d.ts
870
+ /** An address on a message, with the display name when the provider has one. */
871
+ interface MailAddress {
872
+ readonly address: string;
873
+ readonly name?: string;
874
+ }
875
+ /** A message as a provider returns it, before it is stored. */
876
+ interface MailProviderMessage {
877
+ /** The provider's id for the message. */
878
+ readonly externalId: string;
879
+ /** The provider's id for the thread or conversation. */
880
+ readonly threadId: string;
881
+ /** The RFC 5322 `Message-ID`, which matches a sent message to its copy. */
882
+ readonly messageId?: string;
883
+ /** Left out, it is `outbound` when `from` is the mailbox's own address. */
884
+ readonly direction?: "inbound" | "outbound";
885
+ readonly from?: MailAddress;
886
+ readonly to: readonly MailAddress[];
887
+ readonly cc: readonly MailAddress[];
888
+ readonly subject?: string;
889
+ readonly snippet?: string;
890
+ readonly text?: string;
891
+ readonly html?: string;
892
+ readonly sentAt: Temporal.Instant;
893
+ }
894
+ /** One page of a mailbox's changes since `cursor`. */
895
+ interface MailPage {
896
+ readonly messages: readonly MailProviderMessage[];
897
+ /** Where the next page starts; the sync stores it on the mailbox. */
898
+ readonly cursor: string;
899
+ /** More changes wait behind `cursor` right now. */
900
+ readonly more: boolean;
901
+ }
902
+ /** What the block sends: the provider builds the message from it. */
903
+ interface MailDraft {
904
+ readonly to: readonly MailAddress[];
905
+ readonly cc?: readonly MailAddress[];
906
+ readonly bcc?: readonly MailAddress[];
907
+ readonly subject: string;
908
+ readonly text?: string;
909
+ readonly html?: string;
910
+ }
911
+ /** The message a reply answers, in the provider's ids. */
912
+ interface MailReplyTarget {
913
+ readonly threadId: string;
914
+ readonly externalId: string;
915
+ readonly messageId?: string;
916
+ }
917
+ /** What a provider returns for a sent message. */
918
+ interface MailSent {
919
+ readonly externalId: string;
920
+ readonly threadId: string;
921
+ readonly messageId?: string;
922
+ }
923
+ interface MailListInput {
924
+ readonly token: CredentialToken;
925
+ /** Unset on a mailbox's first sync. */
926
+ readonly cursor?: string;
927
+ /** At most this many messages per page. */
928
+ readonly limit: number;
929
+ readonly signal?: AbortSignal;
930
+ }
931
+ interface MailSendInput {
932
+ readonly token: CredentialToken;
933
+ readonly from: MailAddress;
934
+ readonly draft: MailDraft;
935
+ readonly reply?: MailReplyTarget;
936
+ readonly signal?: AbortSignal;
937
+ }
938
+ /**
939
+ * Reads and sends a member's mail with a token from their OAuth grant.
940
+ * Versioned: a breaking change to this contract ships a new `apiVersion`.
941
+ * Errors are `DbError`s: `unauthorized` for a token the provider refuses,
942
+ * `rate_limited` with `retryAfter`, `network` for a provider outage.
943
+ */
944
+ interface MailProvider {
945
+ readonly apiVersion: 1;
946
+ /** The name a mailbox's `provider` column holds, such as `gmail`. */
947
+ readonly name: string;
948
+ /** The OAuth scopes the token needs, passed to `getToken`. */
949
+ readonly scopes?: readonly string[];
950
+ list(input: MailListInput): AsyncResult<MailPage>;
951
+ send(input: MailSendInput): AsyncResult<MailSent>;
952
+ }
953
+ /** Checks the provider's `apiVersion` before the block uses it. */
954
+ declare function mailProviderOf(provider: MailProvider): MailProvider;
955
+ interface HttpMailOptions {
956
+ /** Defaults to the global `fetch`. */
957
+ readonly fetch?: typeof fetch;
958
+ /** The API origin, for a proxy or a test server. */
959
+ readonly baseUrl?: string;
960
+ /** How many days of mail the first sync of a mailbox reads. Default: 30. */
961
+ readonly initialDays?: number;
962
+ }
963
+ /** Splits `Name <a@b>, "Last, First" <c@d>` into addresses. */
964
+ declare function parseAddresses(header: string | undefined): MailAddress[];
965
+ /**
966
+ * The RFC 5322 message for a draft: a `multipart/alternative` with the text and
967
+ * HTML parts, base64 encoded, and the reply headers when it answers one.
968
+ */
969
+ declare function buildMime(input: {
970
+ readonly from: MailAddress;
971
+ readonly draft: MailDraft;
972
+ readonly messageId: string;
973
+ readonly reply?: MailReplyTarget;
974
+ }): string;
975
+ /** A `Message-ID` on the sender's domain. */
976
+ declare function newMessageId(from: MailAddress): string;
977
+ /** A Gmail API message (`format=full`) as a provider message. */
978
+ declare function gmailMessage(value: unknown): MailProviderMessage | undefined;
979
+ /**
980
+ * Gmail through its REST API with the member's OAuth token: the first sync
981
+ * reads the last `initialDays` of mail, later ones the history since the stored
982
+ * `historyId`. No Google SDK is needed.
983
+ */
984
+ declare function gmailMail(options?: HttpMailOptions): MailProvider;
985
+ /** A Microsoft Graph message as a provider message. */
986
+ declare function outlookMessage(value: unknown, folder: string): MailProviderMessage | undefined;
987
+ /**
988
+ * Outlook and Microsoft 365 through Microsoft Graph with the member's OAuth
989
+ * token: the inbox and sent items through delta queries, whose links are the
990
+ * cursor. No Microsoft SDK is needed.
991
+ */
992
+ declare function outlookMail(options?: HttpMailOptions): MailProvider;
993
+ //#endregion
994
+ //#region src/blocks/mail-sync/mail-sync.d.ts
995
+ /** A record a thread is linked to. */
996
+ interface MailSubject {
997
+ readonly type: string;
998
+ readonly id: string;
999
+ }
1000
+ /** A member's connected mailbox. */
1001
+ interface MailAccount {
1002
+ readonly id: string;
1003
+ readonly organizationId: string;
1004
+ /** The member whose mailbox it is. */
1005
+ readonly userId: string;
1006
+ /** `gmail`, `outlook` or a custom provider's name. */
1007
+ readonly provider: string;
1008
+ readonly address: string;
1009
+ /** The member's OAuth grant, resolved by the `credentials` provider. */
1010
+ readonly credentialRef: CredentialRef;
1011
+ /**
1012
+ * `records`: members who can read a linked record see the thread, and it is
1013
+ * logged as an engagement. `private`: only the member sees it.
1014
+ */
1015
+ readonly share: "records" | "private";
1016
+ readonly status: "active" | "paused" | "error" | "disconnected";
1017
+ readonly cursor?: string;
1018
+ readonly lastSyncedAt?: Temporal.Instant;
1019
+ readonly lastError?: string;
1020
+ readonly createdAt: Temporal.Instant;
1021
+ }
1022
+ /** A conversation in one mailbox. */
1023
+ interface MailThread {
1024
+ readonly id: string;
1025
+ readonly organizationId: string;
1026
+ readonly accountId: string;
1027
+ /** The mailbox's address. */
1028
+ readonly address: string;
1029
+ readonly externalId: string;
1030
+ readonly subject?: string;
1031
+ readonly snippet?: string;
1032
+ readonly lastMessageAt?: Temporal.Instant;
1033
+ readonly messageCount: number;
1034
+ /** The engagement the thread is logged as, with `engagements` installed. */
1035
+ readonly engagementId?: string;
1036
+ readonly subjects: readonly MailSubject[];
1037
+ }
1038
+ /** A stored message. */
1039
+ interface MailMessage {
1040
+ readonly id: string;
1041
+ readonly threadId: string;
1042
+ readonly accountId: string;
1043
+ readonly externalId: string;
1044
+ /** The RFC 5322 `Message-ID`. */
1045
+ readonly messageId?: string;
1046
+ readonly direction: "inbound" | "outbound";
1047
+ readonly from?: MailAddress;
1048
+ readonly to: readonly string[];
1049
+ readonly cc: readonly string[];
1050
+ readonly subject?: string;
1051
+ readonly snippet?: string;
1052
+ readonly text?: string;
1053
+ readonly html?: string;
1054
+ readonly sentAt: Temporal.Instant;
1055
+ /** The template version a sent message was written from. */
1056
+ readonly templateVersionId?: string;
1057
+ /** Whether opens and clicks of a sent message are tracked. */
1058
+ readonly tracked: boolean;
1059
+ readonly openCount: number;
1060
+ readonly clickCount: number;
1061
+ /** The first open; a click counts as one. */
1062
+ readonly openedAt?: Temporal.Instant;
1063
+ readonly clickedAt?: Temporal.Instant;
1064
+ }
1065
+ /** How the messages sent from one template version did. */
1066
+ interface MailTemplateStats {
1067
+ readonly templateVersionId: string;
1068
+ readonly sent: number;
1069
+ readonly opened: number;
1070
+ readonly clicked: number;
1071
+ /** Messages whose thread got an inbound message after them. */
1072
+ readonly replied: number;
1073
+ }
1074
+ /** A thread with its messages, oldest first. */
1075
+ interface MailThreadDetail extends MailThread {
1076
+ readonly messages: readonly MailMessage[];
1077
+ }
1078
+ /** What one sync run did. */
1079
+ interface MailSyncReport {
1080
+ readonly accounts: number;
1081
+ readonly stored: number;
1082
+ /** The mailboxes that failed, marked `error` with the message. */
1083
+ readonly failed: readonly {
1084
+ readonly accountId: string;
1085
+ readonly message: string;
1086
+ }[];
1087
+ }
1088
+ interface MailSendDraft extends MailDraft {
1089
+ /** Replies on this thread, to its latest message. */
1090
+ readonly threadId?: string;
1091
+ /**
1092
+ * The template version the draft was written from, such as a `templates`
1093
+ * version, for `templateStats`.
1094
+ */
1095
+ readonly templateVersionId?: string;
1096
+ /**
1097
+ * Tracks opens and clicks of the HTML body. Default: on when `createMailSync`
1098
+ * has `tracking`; `true` without it is an error.
1099
+ */
1100
+ readonly track?: boolean;
1101
+ }
1102
+ interface MailSync {
1103
+ /**
1104
+ * Connects the caller's mailbox. `credentialRef` names the OAuth grant the
1105
+ * app stored for them, with the organization as its `tenant`.
1106
+ */
1107
+ connect(organizationId: string, input: {
1108
+ readonly provider: string;
1109
+ readonly address: string;
1110
+ readonly credentialRef: CredentialRef;
1111
+ readonly share?: "records" | "private";
1112
+ }): AsyncResult<MailAccount>;
1113
+ /** Changes who sees the mailbox's threads, or pauses its sync. */
1114
+ update(accountId: string, input: {
1115
+ readonly share?: "records" | "private";
1116
+ readonly paused?: boolean;
1117
+ }): AsyncResult<MailAccount>;
1118
+ /** Stops syncing; `purge` deletes its threads and messages too. */
1119
+ disconnect(accountId: string, options?: {
1120
+ readonly purge?: boolean;
1121
+ }): AsyncResult<boolean>;
1122
+ /** The caller's mailboxes; every member's with `mail.manage`. */
1123
+ accounts(organizationId: string): AsyncResult<MailAccount[]>;
1124
+ /** The threads the caller can see, the latest first (25, at most 100). */
1125
+ threads(organizationId: string, options?: {
1126
+ readonly accountId?: string;
1127
+ readonly before?: Temporal.Instant;
1128
+ readonly limit?: number;
1129
+ }): AsyncResult<MailThread[]>;
1130
+ /** A record's threads the caller can see, the latest first. */
1131
+ threadsOf(subject: MailSubject, options?: {
1132
+ readonly before?: Temporal.Instant;
1133
+ readonly limit?: number;
1134
+ }): AsyncResult<MailThread[]>;
1135
+ /** A thread with its messages, or `undefined` when the caller can't see it. */
1136
+ thread(id: string): AsyncResult<MailThreadDetail | undefined>;
1137
+ /** Links a thread of the caller's mailbox to records by hand. */
1138
+ link(threadId: string, subjects: readonly MailSubject[]): AsyncResult<MailThread>;
1139
+ unlink(threadId: string, subject: MailSubject): AsyncResult<boolean>;
1140
+ /**
1141
+ * Sends from the caller's mailbox through its provider and stores the message
1142
+ * on its thread. Needs `credentials` and the provider.
1143
+ */
1144
+ send(accountId: string, draft: MailSendDraft): AsyncResult<MailMessage>;
1145
+ /**
1146
+ * Pulls one mailbox's new mail into the database, page by page. Runs as the
1147
+ * service role (a job or a cron route).
1148
+ */
1149
+ sync(account: MailAccount, options?: {
1150
+ readonly pages?: number;
1151
+ readonly limit?: number;
1152
+ }): AsyncResult<number>;
1153
+ /**
1154
+ * Answers a request to the tracking route: records the open or click and
1155
+ * returns the pixel, or a redirect to the link the message had. Service
1156
+ * role.
1157
+ */
1158
+ track(request: Request): AsyncResult<Response>;
1159
+ /** Opens, clicks and replies per template version, since a time. */
1160
+ templateStats(organizationId: string, options?: {
1161
+ readonly since?: Temporal.Instant;
1162
+ }): AsyncResult<MailTemplateStats[]>;
1163
+ /** Syncs the mailboxes not synced within `staleAfter`. Service role. */
1164
+ syncDue(options?: {
1165
+ /** At most this many mailboxes. Default: 25. */
1166
+ readonly accounts?: number;
1167
+ /** A Postgres interval. Default: `5 minutes`. */
1168
+ readonly staleAfter?: string;
1169
+ readonly pages?: number;
1170
+ readonly limit?: number;
1171
+ }): AsyncResult<MailSyncReport>;
1172
+ }
1173
+ interface MailSyncOptions extends BlockTemporalOptions {
1174
+ readonly transport: BlockTransport;
1175
+ /**
1176
+ * The module schema, or its API schema: `defineBlocks` passes it from
1177
+ * `blocks.generated.ts`.
1178
+ */
1179
+ readonly schema?: string;
1180
+ /** Resolves each mailbox's grant to a token, for `send` and `sync`. */
1181
+ readonly credentials?: CredentialProvider;
1182
+ /** The mail providers, such as `gmailMail()` and `outlookMail()`. */
1183
+ readonly providers?: readonly MailProvider[];
1184
+ /**
1185
+ * Tracks opens and clicks: `url` is the public route that calls `track`, such
1186
+ * as `https://app.example.com/api/mail/t`.
1187
+ */
1188
+ readonly tracking?: {
1189
+ readonly url: string;
1190
+ };
1191
+ readonly hooks?: NoInfer<BlockHooks<MailSync>>;
1192
+ readonly logger?: Logger;
1193
+ readonly mappers?: readonly ErrorMapper[];
1194
+ }
1195
+ /** A provider message as `ingest_mail` and `record_sent_mail` take it. */
1196
+ declare function messageArg(message: MailProviderMessage): Record<string, unknown>;
1197
+ /**
1198
+ * The mail-sync block: members connect Gmail, Outlook or another provider with
1199
+ * their own OAuth grant; a job pulls their mail into threads linked to the
1200
+ * people and companies on them, logged as email engagements; `send` sends from
1201
+ * the member's mailbox and stores the message.
1202
+ */
1203
+ declare function createMailSync(options: MailSyncOptions): MailSync;
1204
+ //#endregion
1205
+ //#region src/blocks/ports.d.ts
1206
+ /** What a `notifier` port sends: one notification to its recipients. */
1207
+ interface NotifierInput {
1208
+ readonly recipients: readonly string[];
1209
+ readonly tenant: string;
1210
+ /** Deduplicates retries of the same send. */
1211
+ readonly key: string;
1212
+ readonly subject?: {
1213
+ readonly type: string;
1214
+ readonly id: string;
1215
+ };
1216
+ readonly data: Readonly<Record<string, unknown>>;
1217
+ }
1218
+ /** Sends notifications for a block that consumes `notifier`. */
1219
+ interface Notifier {
1220
+ send(type: string, input: NotifierInput): unknown;
1221
+ }
1222
+ /**
1223
+ * The ports blocks provide and consume, by name. A manifest's `provides` builds
1224
+ * a port from its client, and `createBlocks` hands it to the blocks whose
1225
+ * `consumes` name it. Every port has one provider in a set of blocks, except
1226
+ * `sink`: each block that provides one adds an outbox sink.
1227
+ */
1228
+ interface BlockPorts {
1229
+ /** The `notifications` block. */
1230
+ readonly notifier: Notifier;
1231
+ /** The `ai-files` block, for knowledge. */
1232
+ readonly files: AiFiles;
1233
+ /** The `attachments` block, for the drive's files. */
1234
+ readonly attachments: Attachments;
1235
+ /** The `workflows` block, for the workflow builder's schedules. */
1236
+ readonly workflows: Workflows;
1237
+ /** The `mail-sync` block, for the sequences block's email steps. */
1238
+ readonly mailer: Pick<MailSync, "send">;
1239
+ /** An outbox sink, for `outbox.relayRoute({ consumers: blocks.sinks })`. */
1240
+ readonly sink: EventSink;
1241
+ }
1242
+ type PortName = keyof BlockPorts;
1243
+ //#endregion
1244
+ //#region src/blocks/create-blocks.d.ts
1245
+ /** The CloudEvents `source` of block events that `createBlocks` forwards. */
1246
+ declare const BLOCK_EVENT_SOURCE = "/better-supabase/blocks";
1247
+ /**
1248
+ * What every block's creator receives from `createBlocks`, before its ports and
1249
+ * `with` settings.
1250
+ */
1251
+ interface BlockContext extends BlockOptions {
1252
+ /** Connectors, ai-keys and the workflow builder store their secrets here. */
1253
+ readonly credentials?: CredentialProvider;
1254
+ /** `betterSupabase.events`, for the block events of the blocks that emit them. */
1255
+ readonly events?: EventHub;
1256
+ }
1257
+ interface CreateBlocksOptions extends Omit<BlockContext, "schema"> {
1258
+ /**
1259
+ * `blockConfig` from `blocks.generated.ts`: each block gets its schema (the
1260
+ * API schema when the module has one) and the options its SQL half shares,
1261
+ * such as `attachments.requireScan`, from the entry under its key, else the
1262
+ * entry under its block's name. Blocks without an entry use the module
1263
+ * defaults.
1264
+ */
1265
+ readonly config?: GeneratedBlocks;
1266
+ /**
1267
+ * The key of the block that provides a port (`notifier`, `files`,
1268
+ * `attachments`, `workflows`, `mailer`) when more than one block in the set
1269
+ * provides it and the consumer's `blocks.<instance>.uses` names none of
1270
+ * them.
1271
+ */
1272
+ readonly ports?: Readonly<Partial<Record<UniquePort, string>>>;
1273
+ /**
1274
+ * Where block events go, such as `auditLog.sink()`. Needs `events`; the
1275
+ * forwarding lasts until `close()`, so build these blocks once rather than
1276
+ * per request.
1277
+ */
1278
+ readonly audit?: EventSink;
1279
+ }
1280
+ /** The part of a `Db` that `createBlockClient` reads. */
1281
+ interface BlockClientSource extends DbTransportSource {
1282
+ readonly $context?: {
1283
+ readonly tenant?: string | undefined;
1284
+ };
1285
+ }
1286
+ /** Options for `createBlockClient` and `BlockSet.client`. */
1287
+ interface BlockClientOptions extends Omit<CreateBlocksOptions, "transport" | "audit" | "config"> {
1288
+ /** Default `dbTransport(db)`. */
1289
+ readonly transport?: BlockContext["transport"];
1290
+ /** `blockConfig` from `blocks.generated.ts`; `BlockSet.client` passes it. */
1291
+ readonly config?: GeneratedBlocks;
1292
+ /**
1293
+ * The instance in `config` to call when the block is installed under another
1294
+ * key (`blocks.labels.block: "tags"`). Defaults to the block's name.
1295
+ */
1296
+ readonly instance?: string;
1297
+ }
1298
+ /** Blocks keyed by the name the app gives each one. */
1299
+ type BlockMap = Readonly<Record<string, AnyBlock>>;
1300
+ type CreatedKeys<B extends BlockMap> = { readonly [K in keyof B]: B[K]["create"] extends undefined ? never : K; }[keyof B];
1301
+ type BuiltBlocks<B extends BlockMap> = { readonly [K in CreatedKeys<B>]: ClientOf<B[K]>; };
1302
+ type UnionToIntersection<U> = (U extends unknown ? (value: U) => void : never) extends ((value: infer I) => void) ? I : never;
1303
+ /** The events of every block in `B`. */
1304
+ type BlocksEventMap<B extends BlockMap> = UnionToIntersection<EventMapOf<B[keyof B]["events"]>> extends (infer M extends EventMap) ? M : never;
1305
+ type SinkKeys<B extends BlockMap> = { readonly [K in keyof B]: "sink" extends keyof B[K]["provides"] ? K : never; }[keyof B];
1306
+ /**
1307
+ * Outbox sinks of the blocks that provide one (`search`, `metrics`), keyed like
1308
+ * the blocks, for `outbox.relayRoute({ consumers: { ...app.sinks } })`.
1309
+ */
1310
+ type BlockSinks<B extends BlockMap = BlockMap> = { readonly [K in SinkKeys<B>]?: EventSink; };
1311
+ /** `withBlockHooks` hooks for each block, keyed like the blocks. */
1312
+ type BlocksHooks<B extends BlockMap> = { readonly [K in CreatedKeys<B>]?: BlockHooks<ClientOf<B[K]>>; };
1313
+ type Blocks<B extends BlockMap> = BuiltBlocks<B> & {
1314
+ /** The outbox sinks of the blocks that provide one. */
1315
+ readonly sinks: BlockSinks<B>;
1316
+ /** Stops forwarding block events to `audit`. */
1317
+ close(): void;
1318
+ };
1319
+ /** `lead-scoring` as `leadScoring`, as `instanceProperty` does at runtime. */
1320
+ type InstanceProperty<S extends string> = S extends `${infer H}-${infer T}` ? `${H}${Capitalize<InstanceProperty<T>>}` : S extends `${infer H}_${infer T}` ? `${H}${Capitalize<InstanceProperty<T>>}` : S;
1321
+ /** The clients a `BlockSet` puts on every `Db`, by property. */
1322
+ type BlockSetClientMap<B extends BlockMap> = { readonly [K in CreatedKeys<B> & string as InstanceProperty<K>]: ClientOf<B[K]>; };
1323
+ /** A set of blocks and the app's own events, from `defineBlocks`. */
1324
+ interface BlockSet<B extends BlockMap, M extends EventMap> {
1325
+ readonly blocks: B;
1326
+ /** The keys of the blocks that have a client. */
1327
+ readonly instances: readonly (CreatedKeys<B> & string)[];
1328
+ /**
1329
+ * Types only, never set: the clients `betterSupabase.blocks(set)` puts on
1330
+ * every `Db`.
1331
+ */
1332
+ readonly $clients?: BlockSetClientMap<B>;
1333
+ /** The generated config the blocks are built with. */
1334
+ readonly config: GeneratedBlocks;
1335
+ /** Every block's events and the app's, typed. */
1336
+ readonly events: Events<M>;
1337
+ /**
1338
+ * Builds the blocks with the generated config: `createBlocks({ ...options,
1339
+ * config }, blocks)`.
1340
+ */
1341
+ create(options: Omit<CreateBlocksOptions, "config"> & {
1342
+ readonly hooks?: BlocksHooks<B>;
1343
+ }): Blocks<B>;
1344
+ /**
1345
+ * One block's client over a `Db`, built with the generated config: its calls
1346
+ * run through `dbTransport(db)` and act in the `Db`'s tenant
1347
+ * (`db.$context.tenant`) unless `options.tenant` names one. The blocks it
1348
+ * consumes ports from are built on demand.
1349
+ *
1350
+ * ```ts
1351
+ * const comments = blockSet.client(ctx.db, "comments");
1352
+ * await comments.list({ type: "customer", id });
1353
+ * ```
1354
+ */
1355
+ client<const K extends CreatedKeys<B>>(db: BlockClientSource, key: K, options?: BlockClientOptions & {
1356
+ readonly hooks?: BlockHooks<ClientOf<B[K]>>;
1357
+ }): ClientOf<B[K]>;
1358
+ /**
1359
+ * Calls `fn` in the API schema the blocks are wrapped in (`sql.api`), as
1360
+ * `db`'s caller. Rejects with the raw database error.
1361
+ */
1362
+ call(db: BlockClientSource, fn: string, args: Readonly<Record<string, unknown>>): Promise<unknown>;
1363
+ /**
1364
+ * One instance's methods and input schemas, for `defineApi`; `undefined` when
1365
+ * its client can't be built without a database.
1366
+ */
1367
+ describe(key: string): BlockInstanceSurface | undefined;
1368
+ /** `onBlockEvent` typed by these blocks' events and the app's. */
1369
+ on<const P extends BlockEventPattern<M>>(betterSupabase: {
1370
+ readonly events: EventHub;
1371
+ }, pattern: P, handler: (event: BlockEvent<M, BlockEventsMatching<M, P>>) => void): () => void;
1372
+ }
1373
+ /**
1374
+ * The blocks an app uses, built with `blockConfig` from `blocks.generated.ts`
1375
+ * (`better-supabase gen`), so each block's schema and the options its SQL half
1376
+ * shares come from the `blocks` config, and the app's own events
1377
+ * (`defineEvents`). The event types are the union of every block's events, so
1378
+ * `on` and `events` type each one's data without `declare module` (invariant
1379
+ * 2).
1380
+ */
1381
+ declare function defineBlocks<const B extends BlockMap, const E extends readonly Events[] = []>(config: GeneratedBlocks, blocks: B, ...appEvents: E): BlockSet<B, BlocksEventMap<B> & MergedEventMap<E>>;
1382
+ /**
1383
+ * Builds `blocks` with one set of options and wires them on their ports. Each
1384
+ * block gets its schema and shared options from its entry in `config`
1385
+ * (`blocks.generated.ts`), keyed by the block's name. Each block that consumes
1386
+ * a port (`notifier`, `files`, `attachments`, `workflows`) gets it from the one
1387
+ * block in the set that provides it, and `sinks` holds the outbox sinks the
1388
+ * blocks provide. `credentials` reaches every block, and block events go to
1389
+ * `audit`. Only the blocks you pass are imported, so the rest stay out of the
1390
+ * bundle. `hooks` wraps each block's methods with `withBlockHooks`, and the
1391
+ * ports are built from the wrapped clients, so a sibling's calls (ai-schedules
1392
+ * sending notifications) go through the hooks too.
1393
+ */
1394
+ declare function createBlocks<const B extends BlockMap>(options: CreateBlocksOptions & {
1395
+ readonly hooks?: NoInfer<BlocksHooks<B>>;
1396
+ }, blocks: B): Blocks<B>;
1397
+ /**
1398
+ * One block's client over a `Db`: its calls run through `dbTransport(db)` and
1399
+ * act in the `Db`'s tenant (`db.$context.tenant`) unless `options.tenant` names
1400
+ * one. Pass `config: blockConfig` so it calls the schema and function names
1401
+ * `gen` wrote; `BlockSet.client(db, key)` does that for you.
1402
+ *
1403
+ * ```ts
1404
+ * const comments = createBlockClient(ctx.db, commentsBlock, {
1405
+ * config: blockConfig,
1406
+ * });
1407
+ * ```
1408
+ */
1409
+ declare function createBlockClient<const B extends AnyBlock>(db: BlockClientSource, block: B, options?: BlockClientOptions & {
1410
+ readonly hooks?: NoInfer<BlockHooks<ClientOf<B>>>;
1411
+ }): ClientOf<B>;
1412
+ /** A port a consumer takes from one provider. */
1413
+ type UniquePort = Exclude<PortName, "sink">;
1414
+ //#endregion
1415
+ //#region src/blocks/wiring.d.ts
1416
+ /**
1417
+ * One environment variable a block reads at runtime. `init` and `add` list it
1418
+ * in `.env.example`, and doctor's BS504 fails when a required one is missing
1419
+ * from every env file and the shell.
1420
+ */
1421
+ interface BlockEnvKey {
1422
+ readonly key: string;
1423
+ /** What it is for, written above the key in `.env.example`. */
1424
+ readonly description: string;
1425
+ /** Without it the block's routes or workers fail. Default: true. */
1426
+ readonly required?: boolean;
1427
+ }
1428
+ /**
1429
+ * One versioned interface the app implements for a block, passed as one of the
1430
+ * block's options (`blocks.enrichment.with({ provider })`). `init` and `add`
1431
+ * write a commented stub to `providers.ts`, and doctor's BS505 fails while a
1432
+ * required one is not set.
1433
+ */
1434
+ interface BlockProvider {
1435
+ /** The option of the block's creator that takes it. */
1436
+ readonly option: string;
1437
+ /** The interface, such as `EnrichmentProvider`. */
1438
+ readonly type: string;
1439
+ /** The subpath that exports the interface and its built-in implementations. */
1440
+ readonly from: string;
1441
+ /** Without it the block can't do its job. */
1442
+ readonly required: boolean;
1443
+ readonly description: string;
1444
+ /** An expression that sets it, such as `peopleDataLabsEnrichment({ apiKey })`. */
1445
+ readonly example: string;
1446
+ }
1447
+ /**
1448
+ * Work the block needs run outside a request: a cron calling one of its routes,
1449
+ * or a long-running process.
1450
+ */
1451
+ interface BlockWorker {
1452
+ readonly name: string;
1453
+ readonly description: string;
1454
+ /** The path its cron calls, such as `/api/outbox`. */
1455
+ readonly path?: string;
1456
+ /** A cron expression, such as `* * * * *` for every minute. */
1457
+ readonly schedule?: string;
1458
+ }
1459
+ /** What a block needs from the app besides its SQL and client (phase 21). */
1460
+ interface BlockWiring {
1461
+ readonly env?: readonly BlockEnvKey[];
1462
+ readonly providers?: readonly BlockProvider[];
1463
+ /**
1464
+ * The registry items that hold its routes, without the framework suffix:
1465
+ * `outbox-relay` installs `outbox-relay-next` in a Next.js app.
1466
+ */
1467
+ readonly routes?: readonly string[];
1468
+ readonly workers?: readonly BlockWorker[];
1469
+ }
1470
+ //#endregion
1471
+ //#region src/blocks/define-block.d.ts
1472
+ /** Where a block sits in the catalog and in presets, in catalog order. */
1473
+ declare const BLOCK_CATEGORIES: readonly ["identity", "tenancy", "collaboration", "messaging", "growth", "crm", "work", "people", "commerce", "scheduling", "content", "ai", "automation", "developer", "admin", "database"];
1474
+ type BlockCategory = (typeof BLOCK_CATEGORIES)[number];
1475
+ /**
1476
+ * The ports a block consumes: `required` fails `createBlocks` without a
1477
+ * provider.
1478
+ */
1479
+ type BlockConsumes = { readonly [P in PortName]?: "optional" | "required"; };
1480
+ /** The consumed ports, as the creator receives them. */
1481
+ type ConsumedPorts<C extends BlockConsumes> = { readonly [P in keyof C & PortName]?: BlockPorts[P]; };
1482
+ /** How a block builds each port it provides from its client and options. */
1483
+ type BlockProvides<Client, Options> = { readonly [P in PortName]?: (client: Client, options: Options) => BlockPorts[P] | undefined; };
1484
+ /**
1485
+ * The ports a built block provides, by name. `createBlocks` calls each with the
1486
+ * block's client and options.
1487
+ */
1488
+ type ProvidedPorts<P extends PortName> = { readonly [K in P]: (client: never, options: never) => BlockPorts[K] | undefined; };
1489
+ /** An options schema per SQL module, keyed by module name (`blockOptions`). */
1490
+ type BlockOptionSchemas = Readonly<Record<string, BlockOptionsSchema>>;
1491
+ type Nothing = Record<never, never>;
1492
+ /** Event pattern to the read methods it makes stale. */
1493
+ type BlockInvalidates = Readonly<Record<string, readonly string[]>>;
1494
+ /** What `defineBlock` takes. */
1495
+ interface BlockDefinition<Name extends string, Options, Client, M extends EventMap, C extends BlockConsumes, P extends PortName, R extends AnyRecordBinding | undefined = undefined> extends BlockWiring {
1496
+ readonly name: Name;
1497
+ /** The SQL modules (`BlockSql` keys) this block installs. */
1498
+ readonly sql?: readonly string[];
1499
+ /** The options of each SQL module, for `blocks.<module>.options`. */
1500
+ readonly options?: BlockOptionSchemas;
1501
+ /** The block's own events. */
1502
+ readonly events?: Events<M>;
1503
+ readonly consumes?: C;
1504
+ readonly provides?: Pick<Required<BlockProvides<Client, Options>>, P>;
1505
+ /** The creator, `create<Name>(options)`; absent for a block with only SQL. */
1506
+ readonly create?: (options: Options) => Client;
1507
+ /** The headless controller's name (ADR 0030), when the block has one. */
1508
+ readonly client?: string;
1509
+ readonly category: BlockCategory;
1510
+ /** UI recipe slugs on `/recipes`. */
1511
+ readonly recipes?: readonly string[];
1512
+ /**
1513
+ * Standard Schemas for what the client takes, by entity key: the create
1514
+ * input, update change and list filter (`entitySchema`).
1515
+ */
1516
+ readonly schemas?: BlockSchemas;
1517
+ /**
1518
+ * The read methods each event pattern (`"work_item.*"`) makes stale, for
1519
+ * `invalidateOnBlockEvents`. An event no pattern matches makes every read
1520
+ * method of the block stale.
1521
+ */
1522
+ readonly invalidates?: BlockInvalidates;
1523
+ /**
1524
+ * What the block shows and does on one record (`defineRecordBinding`), for
1525
+ * `loadBindings`, `createRecordController` and the generated
1526
+ * `records/<type>.ts`.
1527
+ */
1528
+ readonly record?: R;
1529
+ /**
1530
+ * The export of `better-supabase/blocks/<name>` that builds the block's
1531
+ * repository extension (`trashExtension`). `gen` passes it to the schema when
1532
+ * the block is installed, so it scopes queries and fills columns on the
1533
+ * tables the block serves.
1534
+ */
1535
+ readonly extension?: string;
1536
+ /**
1537
+ * The action kinds the block's TypeScript side ships for the action registry
1538
+ * (ADR 0046), for the automation editor's catalog.
1539
+ */
1540
+ readonly actions?: readonly ActionDescriptor[];
1541
+ /**
1542
+ * The automations the block ships. Its SQL module writes them as default
1543
+ * rows, which each organization may turn off or edit.
1544
+ */
1545
+ readonly automations?: readonly DefaultAutomation[];
1546
+ /** The timers the block runs on the queue. */
1547
+ readonly schedules?: readonly BlockSchedule[];
1548
+ }
1549
+ /**
1550
+ * What `using` passes its creator: the shared block options and the consumed
1551
+ * ports.
1552
+ */
1553
+ type UsingOptions<C extends BlockConsumes> = BlockContext & ConsumedPorts<C>;
1554
+ /**
1555
+ * One block (ADR 0029): its SQL modules, options, events, the ports it provides
1556
+ * and consumes, and its creator. `createBlocks` wires blocks on their ports,
1557
+ * never on their names.
1558
+ */
1559
+ interface Block<Name extends string = string, Options = BlockContext, Client = unknown, M extends EventMap = Nothing, C extends BlockConsumes = Nothing, P extends PortName = never, R extends AnyRecordBinding | undefined = undefined> {
1560
+ readonly apiVersion: 1;
1561
+ readonly name: Name;
1562
+ readonly sql: readonly string[];
1563
+ readonly options: BlockOptionSchemas;
1564
+ readonly events: Events<M>;
1565
+ readonly consumes: C;
1566
+ readonly provides: ProvidedPorts<P>;
1567
+ readonly create: ((options: Options) => Client) | undefined;
1568
+ readonly client: string | undefined;
1569
+ readonly category: BlockCategory;
1570
+ readonly recipes: readonly string[];
1571
+ /** Standard Schemas for what the client takes, by entity key. */
1572
+ readonly schemas: BlockSchemas;
1573
+ /**
1574
+ * The read methods each event pattern (`"work_item.*"`) makes stale, for
1575
+ * `invalidateOnBlockEvents`. An event no pattern matches makes every read
1576
+ * method of the block stale.
1577
+ */
1578
+ readonly invalidates: BlockInvalidates;
1579
+ /** What the block shows and does on one record, if anything. */
1580
+ readonly record: R;
1581
+ /** The export that builds the block's repository extension, if any. */
1582
+ readonly extension: string | undefined;
1583
+ /** The action kinds the block ships. */
1584
+ readonly actions: readonly ActionDescriptor[];
1585
+ /** The automations the block ships as default rows. */
1586
+ readonly automations: readonly DefaultAutomation[];
1587
+ /** The timers the block runs on the queue. */
1588
+ readonly schedules: readonly BlockSchedule[];
1589
+ /** The env keys it reads, for `.env.example` and doctor's BS504. */
1590
+ readonly env: readonly BlockEnvKey[];
1591
+ /** The interfaces the app implements for it, for `providers.ts` and BS505. */
1592
+ readonly providers: readonly BlockProvider[];
1593
+ /** The registry items that hold its routes, without the framework suffix. */
1594
+ readonly routes: readonly string[];
1595
+ /** The crons or processes it needs. */
1596
+ readonly workers: readonly BlockWorker[];
1597
+ /**
1598
+ * The options `with` set, passed to `create` and the providers over the
1599
+ * shared ones.
1600
+ */
1601
+ readonly settings: object;
1602
+ /**
1603
+ * This block with `settings` merged into the options `createBlocks` passes
1604
+ * it.
1605
+ */
1606
+ with(settings: Partial<Options>): Block<Name, Options, Client, M, C, P, R>;
1607
+ /**
1608
+ * This block built by `create` instead, keeping its SQL, events and ports:
1609
+ * for a creator's type parameters (`notificationsBlock.using((options) =>
1610
+ * createNotifications({ ...options, types }))`) or a definition the creator
1611
+ * needs (`settingsBlock.using((options) => createSettings({ ...options,
1612
+ * settings }))`). The ports it provides receive the new client. Settings from
1613
+ * an earlier `with` still reach `create` and the providers.
1614
+ */
1615
+ using<Next>(create: (options: UsingOptions<C>) => Next): Block<Name, UsingOptions<C>, Next, M, C, P, R>;
1616
+ }
1617
+ /** Any block, for constraints. */
1618
+ interface AnyBlock {
1619
+ readonly apiVersion: 1;
1620
+ readonly name: string;
1621
+ readonly sql: readonly string[];
1622
+ readonly options: BlockOptionSchemas;
1623
+ readonly events: Events;
1624
+ readonly consumes: BlockConsumes;
1625
+ readonly provides: Partial<ProvidedPorts<PortName>>;
1626
+ readonly create: ((options: never) => unknown) | undefined;
1627
+ readonly client: string | undefined;
1628
+ readonly category: BlockCategory;
1629
+ readonly recipes: readonly string[];
1630
+ readonly schemas?: BlockSchemas;
1631
+ readonly invalidates?: BlockInvalidates;
1632
+ readonly record?: AnyRecordBinding | undefined;
1633
+ readonly extension?: string | undefined;
1634
+ readonly actions?: readonly ActionDescriptor[];
1635
+ readonly automations?: readonly DefaultAutomation[];
1636
+ readonly schedules?: readonly BlockSchedule[];
1637
+ readonly env?: readonly BlockEnvKey[];
1638
+ readonly providers?: readonly BlockProvider[];
1639
+ readonly routes?: readonly string[];
1640
+ readonly workers?: readonly BlockWorker[];
1641
+ readonly settings: object;
1642
+ with(settings: never): AnyBlock;
1643
+ using(create: never): AnyBlock;
1644
+ }
1645
+ /**
1646
+ * The block a creator makes, with its event map, consumed ports and provided
1647
+ * ports.
1648
+ */
1649
+ type BlockOf<Name extends string, Create extends (options: never) => unknown, M extends EventMap = Nothing, C extends BlockConsumes = Nothing, P extends PortName = never, R extends AnyRecordBinding | undefined = undefined> = Block<Name, Parameters<Create>[0], ReturnType<Create>, M, C, P, R>;
1650
+ /** The client a block's creator returns. */
1651
+ type ClientOf<B> = B extends {
1652
+ readonly create: ((options: never) => infer Client) | undefined;
1653
+ } ? Client : never;
1654
+ /** Describes a block with one manifest (ADR 0029). */
1655
+ declare function defineBlock<const Name extends string, Options = BlockContext, Client = unknown, M extends EventMap = Nothing, const C extends BlockConsumes = Nothing, P extends PortName = never, const R extends AnyRecordBinding | undefined = undefined>(definition: BlockDefinition<Name, Options, Client, M, C, P, R>): Block<Name, Options, Client, M, C, P, R>;
1656
+ //#endregion
1657
+ export { MailDraft as $, createActionRegistry as $t, CreateBlocksOptions as A, BlockNaming as An, NewAttachment as At, MailMessage as B, Action as Bt, BlockContext as C, EntitySchemaSpec as Cn, AttachmentScannerOptions as Ct, Blocks as D, GeneratedBlocks as Dn, AttachmentVersion as Dt, BlockSinks as E, GeneratedBlock as En, AttachmentUpload as Et, BlockPorts as F, entityNames as Fn, ScannedObject as Ft, MailSyncReport as G, ActionInfo as Gt, MailSubject as H, ActionContext as Ht, Notifier as I, attachmentVersionOf as It, MailThreadDetail as J, ActionRegistry as Jt, MailTemplateStats as K, ActionOrigin as Kt, NotifierInput as L, createAttachmentScanner as Lt, createBlockClient as M, EntityNames as Mn, ObjectScanner as Mt, createBlocks as N, EntityNoun as Nn, ObjectScannerOptions as Nt, BlocksEventMap as O, fillTopic as On, Attachments as Ot, defineBlocks as P, EntityRename as Pn, ScanVerdict as Pt, MailAddress as Q, actionKey as Qt, PortName as R, createAttachments as Rt, BlockClientSource as S, EntitySchema as Sn, AttachmentScanner as St, BlockSet as T, entitySchema as Tn, AttachmentStorage as Tt, MailSync as U, ActionDescriptor as Ut, MailSendDraft as V, ActionCall as Vt, MailSyncOptions as W, ActionHandler as Wt, messageArg as X, BlockSchedule as Xt, createMailSync as Y, ActionSpec as Yt, HttpMailOptions as Z, DefaultAutomation as Zt, BlockProvider as _, recordBindingWrite as _n, AttachmentDownload as _t, BlockConsumes as a, RecordBindingDefinition as an, MailSendInput as at, BLOCK_EVENT_SOURCE as b, BlockSchemas as bn, AttachmentReplacement as bt, BlockOf as c, RecordBindingResult as cn, gmailMail as ct, ClientOf as d, RecordBindingWriteName as dn, newMessageId as dt, defineAction as en, MailListInput as et, ConsumedPorts as f, RecordBindingWriteOutput as fn, outlookMail as ft, BlockEnvKey as g, defineRecordBinding as gn, AttachmentBucket as gt, defineBlock as h, TimelineItem as hn, Attachment as ht, BlockCategory as i, RecordBindingData as in, MailReplyTarget as it, UniquePort as j, blockNames as jn, ObjectScanJob as jt, BlocksHooks as k, generatedOptions as kn, AttachmentsOptions as kt, BlockOptionSchemas as l, RecordBindingWrite as ln, gmailMessage as lt, UsingOptions as m, RecordRowInput as mn, parseAddresses as mt, BLOCK_CATEGORIES as n, AnyRecordBindingWrite as nn, MailProvider as nt, BlockDefinition as o, RecordBindingOptions as on, MailSent as ot, ProvidedPorts as p, RecordBindingWrites as pn, outlookMessage as pt, MailThread as q, ActionRef as qt, Block as r, RecordBinding as rn, MailProviderMessage as rt, BlockInvalidates as s, RecordBindingPermissions as sn, buildMime as st, AnyBlock as t, AnyRecordBinding as tn, MailPage as tt, BlockProvides as u, RecordBindingWriteInput as un, mailProviderOf as ut, BlockWiring as v, recordEventMatches as vn, AttachmentImageUrlOptions as vt, BlockMap as w, EntitySchemas as wn, AttachmentStatus as wt, BlockClientOptions as x, EntityFieldSpecs as xn, AttachmentScanJob as xt, BlockWorker as y, recordRowInput as yn, AttachmentImages as yt, MailAccount as z, createObjectScanner as zt };