better-supabase 0.14.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1643) hide show
  1. package/README.md +67 -377
  2. package/dist/access-sql-B-MkVARa.js +207 -0
  3. package/dist/actor-go7p9-CJ.js +150 -0
  4. package/dist/adapter-Dyks1lX1.js +2299 -0
  5. package/dist/agents-CMIB3802.d.ts +117 -0
  6. package/dist/ai-cache-2LGgaT7F.d.ts +82 -0
  7. package/dist/ai-cache-Cu8j6aQQ.js +87 -0
  8. package/dist/ai-chat-BCaKsvLW.d.ts +619 -0
  9. package/dist/ai-files-CgFCRsnU.js +339 -0
  10. package/dist/ai-schedules-D_Hz-ik5.d.ts +166 -0
  11. package/dist/ai-sdk/agents/index.d.ts +6 -6
  12. package/dist/ai-sdk/agents/index.js +2 -2
  13. package/dist/ai-sdk/batches/index.d.ts +5 -5
  14. package/dist/ai-sdk/batches/index.js +4 -4
  15. package/dist/ai-sdk/cache/index.d.ts +3 -3
  16. package/dist/ai-sdk/cache/index.js +2 -2
  17. package/dist/ai-sdk/chat/index.d.ts +1 -1
  18. package/dist/ai-sdk/chat/index.js +5 -5
  19. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  20. package/dist/ai-sdk/files/index.d.ts +2 -2
  21. package/dist/ai-sdk/files/index.js +5 -5
  22. package/dist/ai-sdk/index.d.ts +10 -10
  23. package/dist/ai-sdk/index.js +3 -3
  24. package/dist/ai-sdk/mcp/index.d.ts +4 -4
  25. package/dist/ai-sdk/mcp/index.js +6 -6
  26. package/dist/ai-sdk/memory/index.d.ts +3 -3
  27. package/dist/ai-sdk/memory/index.js +1 -1
  28. package/dist/ai-sdk/workflow/index.d.ts +4 -4
  29. package/dist/ai-sdk/workflow/index.js +7 -7
  30. package/dist/api-DxAPqMrE.d.ts +495 -0
  31. package/dist/api-keys-D5k63K6y.d.ts +213 -0
  32. package/dist/app-tables-CbCFSXLG.d.ts +28 -0
  33. package/dist/app-tables-D29Rahtg.js +16350 -0
  34. package/dist/approvals-Dh9dUXrN.d.ts +129 -0
  35. package/dist/assistant-ndGdOBax.d.ts +157 -0
  36. package/dist/astro/index.d.ts +12 -12
  37. package/dist/astro/index.js +8 -8
  38. package/dist/attachments-aJYgdYtB.js +369 -0
  39. package/dist/attributes-Bzf51_nc.js +47 -0
  40. package/dist/auth-reply-tlXB2FQ9.js +31 -0
  41. package/dist/authorization-HZdJCaVm.d.ts +3595 -0
  42. package/dist/authorization-hooks-D_pwXlBs.d.ts +221 -0
  43. package/dist/authorizer-B6X09otb.d.ts +118 -0
  44. package/dist/authorizer-BGhXaDmo.js +172 -0
  45. package/dist/automation-D41DXyvT.js +75 -0
  46. package/dist/automations-BYsz43AG.js +314 -0
  47. package/dist/automations-Bc2ue55V.js +26 -0
  48. package/dist/automations-CD1XlL2W.js +33 -0
  49. package/dist/automations-CIwRq7zm.js +30 -0
  50. package/dist/availability-vguUvEK2.d.ts +226 -0
  51. package/dist/better-result/index.d.ts +20 -30
  52. package/dist/better-result/index.js +2 -2
  53. package/dist/bind-h5jre2K0.d.ts +104 -0
  54. package/dist/block-authors-BDV3y1SP.js +14 -0
  55. package/dist/block-env-BrfRvPrj.d.ts +32 -0
  56. package/dist/block-fields-BE7pInWZ.d.ts +58 -0
  57. package/dist/block-fields-DE_FgpOU.js +139 -0
  58. package/dist/block-helpers-CRpAHrp_.d.ts +62 -0
  59. package/dist/block-helpers-CtBdjgO4.js +353 -0
  60. package/dist/block-hooks-BfxX3682.js +130 -0
  61. package/dist/block-hooks-DZN2w69m.d.ts +117 -0
  62. package/dist/block-method-C9hWdHom.js +21 -0
  63. package/dist/block-method-CiVa2G-J.d.ts +14 -0
  64. package/dist/block-subjects-BhDKK_j7.js +55 -0
  65. package/dist/block-subjects-CphkQPxp.d.ts +6 -0
  66. package/dist/block-tenant-DHp7subc.js +14 -0
  67. package/dist/block-transport-DWZSJrwN.d.ts +69 -0
  68. package/dist/blocks/access-requests/index.d.ts +8 -8
  69. package/dist/blocks/access-requests/index.js +6 -6
  70. package/dist/blocks/activities/index.d.ts +215 -0
  71. package/dist/blocks/activities/index.js +414 -0
  72. package/dist/blocks/agents/index.d.ts +4 -4
  73. package/dist/blocks/agents/index.js +5 -5
  74. package/dist/blocks/ai-cache/index.d.ts +3 -3
  75. package/dist/blocks/ai-cache/index.js +3 -3
  76. package/dist/blocks/ai-chat/index.d.ts +119 -6
  77. package/dist/blocks/ai-chat/index.js +1067 -5
  78. package/dist/blocks/ai-files/index.d.ts +5 -5
  79. package/dist/blocks/ai-files/index.js +3 -3
  80. package/dist/blocks/ai-keys/index.d.ts +22 -0
  81. package/dist/blocks/ai-keys/index.js +236 -0
  82. package/dist/blocks/ai-schedules/index.d.ts +10 -0
  83. package/dist/blocks/ai-schedules/index.js +258 -0
  84. package/dist/blocks/announcements/index.d.ts +134 -5
  85. package/dist/blocks/announcements/index.js +179 -4
  86. package/dist/blocks/api-keys/index.d.ts +69 -8
  87. package/dist/blocks/api-keys/index.js +417 -7
  88. package/dist/blocks/approvals/index.d.ts +4 -4
  89. package/dist/blocks/approvals/index.js +10 -10
  90. package/dist/blocks/assets/index.d.ts +11 -13
  91. package/dist/blocks/assets/index.js +10 -10
  92. package/dist/blocks/assignment/index.d.ts +8 -8
  93. package/dist/blocks/assignment/index.js +5 -5
  94. package/dist/blocks/attachments/index.d.ts +97 -12
  95. package/dist/blocks/attachments/index.js +279 -47
  96. package/dist/blocks/audit/index.d.ts +476 -7
  97. package/dist/blocks/audit/index.js +863 -6
  98. package/dist/blocks/automations/index.d.ts +524 -0
  99. package/dist/blocks/automations/index.js +553 -0
  100. package/dist/blocks/billable-time/index.d.ts +22 -24
  101. package/dist/blocks/billable-time/index.js +13 -13
  102. package/dist/blocks/billing/index.d.ts +82 -11
  103. package/dist/blocks/billing/index.js +93 -9
  104. package/dist/blocks/bookings/index.d.ts +49 -7
  105. package/dist/blocks/bookings/index.js +419 -4
  106. package/dist/blocks/bulk/index.d.ts +6 -6
  107. package/dist/blocks/bulk/index.js +4 -4
  108. package/dist/blocks/calendar/index.d.ts +180 -7
  109. package/dist/blocks/calendar/index.js +1073 -5
  110. package/dist/blocks/catalog/index.d.ts +128 -13
  111. package/dist/blocks/catalog/index.js +149 -13
  112. package/dist/blocks/channels/index.d.ts +15 -13
  113. package/dist/blocks/channels/index.js +12 -13
  114. package/dist/blocks/collections/index.d.ts +16 -16
  115. package/dist/blocks/collections/index.js +8 -8
  116. package/dist/blocks/comments/index.d.ts +231 -14
  117. package/dist/blocks/comments/index.js +260 -13
  118. package/dist/blocks/compliance/index.d.ts +325 -0
  119. package/dist/blocks/compliance/index.js +410 -0
  120. package/dist/blocks/connectors/index.d.ts +4 -4
  121. package/dist/blocks/connectors/index.js +8 -8
  122. package/dist/blocks/contacts/index.d.ts +182 -0
  123. package/dist/blocks/contacts/index.js +358 -0
  124. package/dist/blocks/content/index.d.ts +188 -0
  125. package/dist/blocks/content/index.js +219 -0
  126. package/dist/blocks/contracts/index.d.ts +16 -18
  127. package/dist/blocks/contracts/index.js +24 -24
  128. package/dist/blocks/courses/index.d.ts +17 -17
  129. package/dist/blocks/courses/index.js +13 -13
  130. package/dist/blocks/created-by/index.d.ts +27 -0
  131. package/dist/blocks/created-by/index.js +14 -0
  132. package/dist/blocks/custom-fields/index.d.ts +11 -11
  133. package/dist/blocks/custom-fields/index.js +7 -7
  134. package/dist/blocks/data-lifecycle/index.d.ts +9 -9
  135. package/dist/blocks/data-lifecycle/index.js +7 -7
  136. package/dist/blocks/deals/index.d.ts +10 -10
  137. package/dist/blocks/deals/index.js +11 -11
  138. package/dist/blocks/dispatch/index.d.ts +20 -22
  139. package/dist/blocks/dispatch/index.js +17 -17
  140. package/dist/blocks/documents/index.d.ts +4 -4
  141. package/dist/blocks/documents/index.js +4 -4
  142. package/dist/blocks/domains/index.d.ts +7 -7
  143. package/dist/blocks/domains/index.js +6 -6
  144. package/dist/blocks/donations/index.d.ts +27 -29
  145. package/dist/blocks/donations/index.js +36 -28
  146. package/dist/blocks/drive/index.d.ts +10 -10
  147. package/dist/blocks/drive/index.js +8 -8
  148. package/dist/blocks/employees/index.d.ts +204 -7
  149. package/dist/blocks/employees/index.js +36 -10
  150. package/dist/blocks/enrichment/index.d.ts +7 -7
  151. package/dist/blocks/enrichment/index.js +14 -6
  152. package/dist/blocks/enrollments/index.d.ts +14 -16
  153. package/dist/blocks/enrollments/index.js +10 -10
  154. package/dist/blocks/entitlements/index.d.ts +48 -8
  155. package/dist/blocks/entitlements/index.js +62 -4
  156. package/dist/blocks/expenses/index.d.ts +8 -8
  157. package/dist/blocks/expenses/index.js +11 -11
  158. package/dist/blocks/field-history/index.d.ts +5 -5
  159. package/dist/blocks/field-history/index.js +3 -5
  160. package/dist/blocks/flags/index.d.ts +17 -13
  161. package/dist/blocks/flags/index.js +7 -7
  162. package/dist/blocks/forecasts/index.d.ts +7 -7
  163. package/dist/blocks/forecasts/index.js +7 -7
  164. package/dist/blocks/forms/index.d.ts +144 -12
  165. package/dist/blocks/forms/index.js +385 -7
  166. package/dist/blocks/goals/index.d.ts +82 -0
  167. package/dist/blocks/goals/index.js +72 -0
  168. package/dist/blocks/guests/index.d.ts +19 -21
  169. package/dist/blocks/guests/index.js +12 -12
  170. package/dist/blocks/hiring/index.d.ts +20 -10
  171. package/dist/blocks/hiring/index.js +10 -9
  172. package/dist/blocks/identities/index.d.ts +7 -7
  173. package/dist/blocks/identities/index.js +4 -4
  174. package/dist/blocks/imports/index.d.ts +8 -8
  175. package/dist/blocks/imports/index.js +6 -6
  176. package/dist/blocks/inbox/index.d.ts +137 -8
  177. package/dist/blocks/inbox/index.js +290 -56
  178. package/dist/blocks/incidents/index.d.ts +8 -8
  179. package/dist/blocks/incidents/index.js +7 -7
  180. package/dist/blocks/index.d.ts +37 -18
  181. package/dist/blocks/index.js +40 -19
  182. package/dist/blocks/inventory/index.d.ts +10 -10
  183. package/dist/blocks/inventory/index.js +6 -6
  184. package/dist/blocks/invoices/index.d.ts +11 -11
  185. package/dist/blocks/invoices/index.js +8 -8
  186. package/dist/blocks/knowledge/index.d.ts +3 -3
  187. package/dist/blocks/knowledge/index.js +4 -4
  188. package/dist/blocks/lead-scoring/index.d.ts +11 -11
  189. package/dist/blocks/lead-scoring/index.js +7 -7
  190. package/dist/blocks/leases/index.d.ts +16 -73
  191. package/dist/blocks/leases/index.js +29 -104
  192. package/dist/blocks/leave/index.d.ts +8 -8
  193. package/dist/blocks/leave/index.js +5 -5
  194. package/dist/blocks/ledger/index.d.ts +11 -13
  195. package/dist/blocks/ledger/index.js +10 -10
  196. package/dist/blocks/mail-sync/index.d.ts +6 -6
  197. package/dist/blocks/mail-sync/index.js +18 -10
  198. package/dist/blocks/memberships/index.d.ts +67 -0
  199. package/dist/blocks/memberships/index.js +14 -0
  200. package/dist/blocks/memory/index.d.ts +4 -4
  201. package/dist/blocks/memory/index.js +8 -8
  202. package/dist/blocks/messaging/index.d.ts +113 -13
  203. package/dist/blocks/messaging/index.js +579 -8
  204. package/dist/blocks/metrics/index.d.ts +7 -7
  205. package/dist/blocks/metrics/index.js +6 -6
  206. package/dist/blocks/mfa/index.d.ts +145 -3
  207. package/dist/blocks/mfa/index.js +211 -2
  208. package/dist/blocks/moderation/index.d.ts +13 -15
  209. package/dist/blocks/moderation/index.js +10 -10
  210. package/dist/blocks/notifications/index.d.ts +67 -15
  211. package/dist/blocks/notifications/index.js +62 -13
  212. package/dist/blocks/numbering/index.d.ts +45 -0
  213. package/dist/blocks/numbering/index.js +49 -0
  214. package/dist/blocks/oauth-server/index.d.ts +6 -6
  215. package/dist/blocks/oauth-server/index.js +6 -6
  216. package/dist/blocks/onboarding/index.d.ts +112 -4
  217. package/dist/blocks/onboarding/index.js +107 -4
  218. package/dist/blocks/orders/index.d.ts +35 -14
  219. package/dist/blocks/orders/index.js +49 -12
  220. package/dist/blocks/organizations/index.d.ts +452 -6
  221. package/dist/blocks/organizations/index.js +689 -5
  222. package/dist/blocks/outbox/index.d.ts +4 -4
  223. package/dist/blocks/outbox/index.js +19 -6
  224. package/dist/blocks/passes/index.d.ts +19 -21
  225. package/dist/blocks/passes/index.js +17 -17
  226. package/dist/blocks/permissions/index.d.ts +92 -0
  227. package/dist/blocks/permissions/index.js +127 -0
  228. package/dist/blocks/pipelines/index.d.ts +15 -15
  229. package/dist/blocks/pipelines/index.js +12 -12
  230. package/dist/blocks/posts/index.d.ts +9 -9
  231. package/dist/blocks/posts/index.js +8 -8
  232. package/dist/blocks/profiles/index.d.ts +7 -7
  233. package/dist/blocks/profiles/index.js +5 -5
  234. package/dist/blocks/promotions/index.d.ts +9 -9
  235. package/dist/blocks/promotions/index.js +7 -7
  236. package/dist/blocks/push/index.d.ts +9 -9
  237. package/dist/blocks/push/index.js +4 -4
  238. package/dist/blocks/queue/index.d.ts +562 -0
  239. package/dist/blocks/queue/index.js +1407 -0
  240. package/dist/blocks/quotes/index.d.ts +29 -14
  241. package/dist/blocks/quotes/index.js +14 -13
  242. package/dist/blocks/rank/index.d.ts +7 -7
  243. package/dist/blocks/rank/index.js +4 -4
  244. package/dist/blocks/reactions/index.d.ts +154 -5
  245. package/dist/blocks/reactions/index.js +168 -4
  246. package/dist/blocks/relations/index.d.ts +36 -38
  247. package/dist/blocks/relations/index.js +18 -18
  248. package/dist/blocks/reminders/index.d.ts +16 -16
  249. package/dist/blocks/reminders/index.js +14 -14
  250. package/dist/blocks/reviews/index.d.ts +8 -8
  251. package/dist/blocks/reviews/index.js +6 -6
  252. package/dist/blocks/saved-views/index.d.ts +311 -4
  253. package/dist/blocks/saved-views/index.js +437 -2
  254. package/dist/blocks/scores/index.d.ts +8 -10
  255. package/dist/blocks/scores/index.js +10 -10
  256. package/dist/blocks/search/index.d.ts +168 -5
  257. package/dist/blocks/search/index.js +277 -5
  258. package/dist/blocks/security-events/index.d.ts +440 -0
  259. package/dist/blocks/security-events/index.js +885 -0
  260. package/dist/blocks/segments/index.d.ts +13 -13
  261. package/dist/blocks/segments/index.js +7 -7
  262. package/dist/blocks/sequences/index.d.ts +13 -13
  263. package/dist/blocks/sequences/index.js +16 -10
  264. package/dist/blocks/service-accounts/index.d.ts +132 -0
  265. package/dist/blocks/service-accounts/index.js +109 -0
  266. package/dist/blocks/sessions/index.d.ts +138 -3
  267. package/dist/blocks/sessions/index.js +173 -2
  268. package/dist/blocks/settings/index.d.ts +181 -5
  269. package/dist/blocks/settings/index.js +226 -4
  270. package/dist/blocks/share-links/index.d.ts +20 -22
  271. package/dist/blocks/share-links/index.js +16 -16
  272. package/dist/blocks/shipments/index.d.ts +23 -25
  273. package/dist/blocks/shipments/index.js +30 -22
  274. package/dist/blocks/signatures/index.d.ts +9 -9
  275. package/dist/blocks/signatures/index.js +5 -5
  276. package/dist/blocks/signing-keys/index.d.ts +4 -4
  277. package/dist/blocks/signing-keys/index.js +3 -3
  278. package/dist/blocks/sla/index.d.ts +20 -22
  279. package/dist/blocks/sla/index.js +22 -16
  280. package/dist/blocks/sso/index.d.ts +7 -7
  281. package/dist/blocks/sso/index.js +4 -4
  282. package/dist/blocks/state-machine/index.d.ts +14 -14
  283. package/dist/blocks/state-machine/index.js +4 -4
  284. package/dist/blocks/subjects/index.d.ts +41 -7
  285. package/dist/blocks/subjects/index.js +187 -5
  286. package/dist/blocks/tags/index.d.ts +146 -13
  287. package/dist/blocks/tags/index.js +229 -14
  288. package/dist/blocks/tasks/index.d.ts +346 -0
  289. package/dist/blocks/tasks/index.js +626 -0
  290. package/dist/blocks/teams/index.d.ts +7 -7
  291. package/dist/blocks/teams/index.js +4 -4
  292. package/dist/blocks/templates/index.d.ts +18 -18
  293. package/dist/blocks/templates/index.js +10 -10
  294. package/dist/blocks/time-tracking/index.d.ts +16 -16
  295. package/dist/blocks/time-tracking/index.js +13 -13
  296. package/dist/blocks/timeline/index.d.ts +116 -0
  297. package/dist/blocks/timeline/index.js +164 -0
  298. package/dist/blocks/trash/index.d.ts +47 -9
  299. package/dist/blocks/trash/index.js +9 -7
  300. package/dist/blocks/undo/index.d.ts +48 -5
  301. package/dist/blocks/undo/index.js +60 -4
  302. package/dist/blocks/updated-at/index.d.ts +20 -0
  303. package/dist/blocks/updated-at/index.js +14 -0
  304. package/dist/blocks/usage/index.d.ts +39 -5
  305. package/dist/blocks/usage/index.js +301 -4
  306. package/dist/blocks/vercel-marketplace/index.d.ts +7 -7
  307. package/dist/blocks/vercel-marketplace/index.js +8 -8
  308. package/dist/blocks/versions/index.d.ts +20 -22
  309. package/dist/blocks/versions/index.js +16 -16
  310. package/dist/blocks/waitlist/index.d.ts +9 -9
  311. package/dist/blocks/waitlist/index.js +5 -5
  312. package/dist/blocks/webhooks/index.d.ts +21 -21
  313. package/dist/blocks/webhooks/index.js +16 -16
  314. package/dist/blocks/workflow-editor/index.d.ts +99 -0
  315. package/dist/blocks/workflow-editor/index.js +744 -0
  316. package/dist/blocks/workflows/index.d.ts +72 -6
  317. package/dist/blocks/workflows/index.js +379 -4
  318. package/dist/bookings-Dox2rced.d.ts +290 -0
  319. package/dist/bucket-CiNi8sIw.d.ts +666 -0
  320. package/dist/build-BFC8nFiL.js +797 -0
  321. package/dist/build-QitPVzzO.js +2073 -0
  322. package/dist/carrier-KzeYXVrW.d.ts +169 -0
  323. package/dist/chat-sdk/index.d.ts +8 -8
  324. package/dist/chat-sdk/index.js +3 -3
  325. package/dist/claims-DTy6R6my.js +63 -0
  326. package/dist/cli/add-C04vkBk9.js +99 -0
  327. package/dist/cli/add-CUH0rORo.js +1 -0
  328. package/dist/cli/add-DNOL9PDu.js +1257 -0
  329. package/dist/cli/args-UEwg0l-N.js +27 -0
  330. package/dist/cli/backfill-VFzf-TJP.js +293 -0
  331. package/dist/cli/bin.js +1 -1
  332. package/dist/cli/blocks-Bn7WUca5.js +1 -0
  333. package/dist/cli/blocks-Cb7mILFU.js +156 -0
  334. package/dist/cli/cache-DkplpIGe.js +607 -0
  335. package/dist/cli/codemod-BbaE5dL_.js +2435 -0
  336. package/dist/cli/codemod-block-renames-BuSaTE_G.js +239 -0
  337. package/dist/cli/command-CQ61x6gN.js +941 -0
  338. package/dist/cli/completion-2Y3D_eNu.js +211 -0
  339. package/dist/cli/completion-BwI0_Ap5.js +30 -0
  340. package/dist/cli/completion-Dlu5AdUW.js +1 -0
  341. package/dist/cli/config-9t5ec_N7.js +1642 -0
  342. package/dist/cli/config-CBqkQjjN.js +1 -0
  343. package/dist/cli/config-CPux9Wa7.js +47 -0
  344. package/dist/cli/config-edit-CrWfk8s3.js +621 -0
  345. package/dist/cli/config-group-C8tjut39.js +391 -0
  346. package/dist/cli/content-mapper-Cdx6arxu.js +182 -0
  347. package/dist/cli/db-DrBI_HNv.js +223 -0
  348. package/dist/cli/detect-D9JaAX20.js +84 -0
  349. package/dist/cli/dist-D_VbPAMR.js +129 -0
  350. package/dist/cli/doctor-C-VO-QQ2.js +4576 -0
  351. package/dist/cli/env-BBl5L8Bf.js +143 -0
  352. package/dist/cli/env-CAU1nknN.js +1 -0
  353. package/dist/cli/files-CX71yBm8.js +1010 -0
  354. package/dist/cli/gen-yRHOHW1b.js +387 -0
  355. package/dist/cli/in-stack-diff-DQTW53Vf.js +257 -0
  356. package/dist/cli/index.d.ts +43 -8
  357. package/dist/cli/index.js +8 -8
  358. package/dist/cli/init-BOw0SX65.js +440 -0
  359. package/dist/cli/keys-DGEpMbeB.js +106 -0
  360. package/dist/cli/legacy-prefix-DkTA3Rhx.js +141 -0
  361. package/dist/cli/live-Lmg-hYyO.js +341 -0
  362. package/dist/cli/mcp-DQ1zR2eA.js +249 -0
  363. package/dist/cli/metadata-CZaxkv21.js +150 -0
  364. package/dist/cli/migration-safety-BbhLu2fo.js +928 -0
  365. package/dist/cli/module-migration-DOn6EmNz.js +523 -0
  366. package/dist/cli/moved-CsfDQcyk.js +254 -0
  367. package/dist/cli/orphans-BAboqyVM.js +28 -0
  368. package/dist/cli/parse-B9Iv_-Pf.js +182 -0
  369. package/dist/cli/preset-BwmIfFnh.js +101 -0
  370. package/dist/cli/print-D_xf8PPj.js +67 -0
  371. package/dist/cli/remove-BY_TOTRj.js +239 -0
  372. package/dist/cli/render-lJmHr0y9.js +2170 -0
  373. package/dist/cli/run-BJ6IMs_H.js +1440 -0
  374. package/dist/cli/run-BXx6D1aR.js +63 -0
  375. package/dist/cli/run-DkB0fhc9.js +702 -0
  376. package/dist/cli/seed-Cz8PcXeT.js +188 -0
  377. package/dist/cli/seed-D6XijwbR.js +1 -0
  378. package/dist/cli/shared-Bh-6IqJS.js +151 -0
  379. package/dist/cli/skills-toUan_OV.js +121 -0
  380. package/dist/cli/snapshot-Bzcigm7T.js +729 -0
  381. package/dist/cli/source-WoLdcQzN.js +320 -0
  382. package/dist/cli/source-args-IpJRJO5t.js +59 -0
  383. package/dist/cli/spec-BF_dpwzW.js +1 -0
  384. package/dist/cli/spec-CZMiLhv_.js +7530 -0
  385. package/dist/cli/sql-layout-rFP0oq1N.js +247 -0
  386. package/dist/cli/stack-CWEHdO0b.js +135 -0
  387. package/dist/cli/sync-mANmYYoL.js +320 -0
  388. package/dist/cli/upgrade-B0Q9wMs-.js +270 -0
  389. package/dist/cli/upgrade-BrNLt92u.js +41 -0
  390. package/dist/cli/version-CyavsyGA.js +4 -0
  391. package/dist/client/index.d.ts +8 -7
  392. package/dist/client/index.js +9 -7
  393. package/dist/client/native/index.d.ts +6 -6
  394. package/dist/client/native/index.js +3 -3
  395. package/dist/client-BAEbEA7t.js +287 -0
  396. package/dist/cloud-event-CzZTJkXv.d.ts +64 -0
  397. package/dist/codecs-CMWlhHZ0.d.ts +222 -0
  398. package/dist/codecs-TylXqU_I.js +358 -0
  399. package/dist/commerce/index.d.ts +3 -3
  400. package/dist/commerce/index.js +6 -6
  401. package/dist/compiler-D3UmE7ao.d.ts +14 -0
  402. package/dist/compose-DKW0Tr3e.js +53 -0
  403. package/dist/composite-B3TIjId4.js +130 -0
  404. package/dist/composite-BZYXlVBN.d.ts +82 -0
  405. package/dist/config/index.d.ts +6 -7
  406. package/dist/config/index.js +6 -6
  407. package/dist/config-CcehOvbz.js +1698 -0
  408. package/dist/config-DWGgUQCh.js +1108 -0
  409. package/dist/connectors-Fud4amxp.d.ts +147 -0
  410. package/dist/context-DBicfUNz.js +41 -0
  411. package/dist/context-TGX2eDS5.d.ts +4151 -0
  412. package/dist/controller-BNZKd6bJ.js +73 -0
  413. package/dist/controller-DyPPMFSw.d.ts +52 -0
  414. package/dist/conversion-Dq1S7xzE.js +77 -0
  415. package/dist/conversion-O-kyhXcC.d.ts +86 -0
  416. package/dist/create/index.d.ts +19 -21
  417. package/dist/create/index.js +21 -22
  418. package/dist/create/lite/index.d.ts +2 -2
  419. package/dist/create/supabase/index.d.ts +2 -2
  420. package/dist/create/supabase/index.js +2 -2
  421. package/dist/create-blocks-Bu4H5TXw.js +352 -0
  422. package/dist/credentials/index.d.ts +5 -5
  423. package/dist/credentials/index.js +6 -6
  424. package/dist/cron-CgHTKwYG.js +148 -0
  425. package/dist/cron-route-UU9i5i9J.js +24 -0
  426. package/dist/data-engine-BWoz9lED.d.ts +273 -0
  427. package/dist/data-engine-D1BkmBoR.js +173 -0
  428. package/dist/data-hooks-tgF1Ct0F.js +280 -0
  429. package/dist/db-blocks-DJGbjIPz.js +62 -0
  430. package/dist/deal-forecast-Bv52QMyX.js +39 -0
  431. package/dist/define-DFBnQyYg.d.ts +1255 -0
  432. package/dist/define-DlUeKHce.js +2011 -0
  433. package/dist/define-block-BGqOO8B3.js +64 -0
  434. package/dist/define-block-DvvcM54N.d.ts +1657 -0
  435. package/dist/delegation-C7eWP2r8.d.ts +14 -0
  436. package/dist/delegation-DGOIiT8k.js +153 -0
  437. package/dist/documents-Cup1rpjF.d.ts +152 -0
  438. package/dist/edge/index.d.ts +20 -20
  439. package/dist/edge/index.js +14 -14
  440. package/dist/elysia/index.d.ts +1 -1
  441. package/dist/elysia/index.js +1 -1
  442. package/dist/embeddings-D_RsS6ow.d.ts +78 -0
  443. package/dist/ended-gUsMZVNg.d.ts +26 -0
  444. package/dist/entitlements-BnhDBxLW.d.ts +54 -0
  445. package/dist/entitlements-NZAE_vLj.js +45 -0
  446. package/dist/entity-naming-Dtyq5sKE.js +131 -0
  447. package/dist/entity-schema-BDv6w-OQ.js +39 -0
  448. package/dist/envelope-DEI2iX-d.js +90 -0
  449. package/dist/errors-BVFgt8BZ.js +328 -0
  450. package/dist/errors-CyxMxzlu.js +44 -0
  451. package/dist/escape-like-PReMbEEU.d.ts +30 -0
  452. package/dist/eve/index.d.ts +5 -5
  453. package/dist/eve/index.js +3 -3
  454. package/dist/eve-B7jxYPCw.d.ts +157 -0
  455. package/dist/event-calendar-DCufbihU.d.ts +65 -0
  456. package/dist/events/index.d.ts +3 -4
  457. package/dist/events-vcqenSYU.d.ts +852 -0
  458. package/dist/executor-3qcMhg6R.js +207 -0
  459. package/dist/executor-BQ7dYw4E.js +843 -0
  460. package/dist/executor-Bi056Cnj.d.ts +104 -0
  461. package/dist/executor-CVIn6JHa.d.ts +174 -0
  462. package/dist/executor-D3gB-9si.js +486 -0
  463. package/dist/executor-hGjrop3A.d.ts +37 -0
  464. package/dist/expo/index.d.ts +12 -11
  465. package/dist/expo/index.js +11 -10
  466. package/dist/extension-B-lajjex.js +58 -0
  467. package/dist/extension-B0EjCYhO.js +61 -0
  468. package/dist/extension-DeAd_MqI.js +121 -0
  469. package/dist/extension-DzCc0IOd.js +103 -0
  470. package/dist/extension-shared-Djm8mGHD.js +60 -0
  471. package/dist/field-errors-DYtg1mwv.d.ts +216 -0
  472. package/dist/field-formats-CAFNkKSN.d.ts +38 -0
  473. package/dist/fields-B0zaJAO3.js +107 -0
  474. package/dist/fields-C3q2ypnO.d.ts +78 -0
  475. package/dist/filter-evaluate-CPxeae5X.d.ts +37 -0
  476. package/dist/filter-evaluate-w1XOIUOL.js +217 -0
  477. package/dist/filter-query-BXLs72G9.d.ts +133 -0
  478. package/dist/filter-query-DMoKo82_.js +566 -0
  479. package/dist/flags-BOdA_ETQ.js +279 -0
  480. package/dist/flags-C01PLMJ-.d.ts +246 -0
  481. package/dist/flags-sdk/index.d.ts +1 -1
  482. package/dist/flags-sdk/index.js +2 -2
  483. package/dist/format-u-65igKI.d.ts +79 -0
  484. package/dist/framework-BozTXRzt.js +58 -0
  485. package/dist/framework-h5lP_5yj.d.ts +47 -0
  486. package/dist/function-contract-DxFNOmsm.d.ts +27 -0
  487. package/dist/gateway-DzI687yd.d.ts +115 -0
  488. package/dist/h3/index.d.ts +2 -4
  489. package/dist/h3/index.js +2 -4
  490. package/dist/h3/v1/index.d.ts +2 -3
  491. package/dist/h3/v1/index.js +2 -3
  492. package/dist/hono/index.d.ts +27 -21
  493. package/dist/hono/index.js +22 -20
  494. package/dist/http-7-UvHjQe.js +28 -0
  495. package/dist/impersonation-DM3oWNoD.js +62 -0
  496. package/dist/inbox-NDKwSk_H.d.ts +321 -0
  497. package/dist/index-Ab4UeEn_.d.ts +633 -0
  498. package/dist/index-B4gcStOz.d.ts +158 -0
  499. package/dist/index-BAHGLvGD.d.ts +262 -0
  500. package/dist/index-BfK6olKm.d.ts +546 -0
  501. package/dist/index-BfkltrGJ.d.ts +588 -0
  502. package/dist/index-BxYOB1Oc.d.ts +149 -0
  503. package/dist/index-CG9rA8H8.d.ts +407 -0
  504. package/dist/index-DN9mfmhA.d.ts +188 -0
  505. package/dist/index-Do2ChN_y.d.ts +287 -0
  506. package/dist/index.d.ts +39 -17
  507. package/dist/index.js +94 -16
  508. package/dist/instances-BHjCZoF8.js +277 -0
  509. package/dist/invalidate-DMp4eqfF.d.ts +21 -0
  510. package/dist/json-schema-Ca6gYbEP.js +888 -0
  511. package/dist/jwks-cache-DEsKI0hJ.js +49 -0
  512. package/dist/kit-5l-o8RxL.js +133 -0
  513. package/dist/kit-DOwKpSkA.d.ts +94 -0
  514. package/dist/knowledge-BGbtxMP9.js +300 -0
  515. package/dist/knowledge-F1IhRI4Q.d.ts +217 -0
  516. package/dist/lint/index.d.ts +94 -11
  517. package/dist/lint/index.js +268 -26
  518. package/dist/list/index.d.ts +4 -4
  519. package/dist/list/index.js +3 -3
  520. package/dist/list-query-BDVutLFr.d.ts +222 -0
  521. package/dist/list-query-BKy2zBaT.js +559 -0
  522. package/dist/live-C21DgbsD.js +275 -0
  523. package/dist/mapper/bin.js +380 -0
  524. package/dist/mcp/index.d.ts +8 -8
  525. package/dist/mcp/index.js +11 -11
  526. package/dist/mcp/sdk/index.d.ts +10 -10
  527. package/dist/mcp/sdk/index.js +11 -11
  528. package/dist/messages-D4XWuRTj.js +492 -0
  529. package/dist/messaging-C_Pr9tGx.d.ts +297 -0
  530. package/dist/methods-B3o7BFOW.js +11 -0
  531. package/dist/mfa-oIOYTpvc.d.ts +36 -0
  532. package/dist/model-hwpvole9.d.ts +340 -0
  533. package/dist/model-messages-CKG0zwdF.js +206 -0
  534. package/dist/money-codec-BzddguAQ.js +41 -0
  535. package/dist/nestjs/index.d.ts +3 -3
  536. package/dist/nestjs/index.js +2 -2
  537. package/dist/next/index.d.ts +244 -205
  538. package/dist/next/index.js +288 -197
  539. package/dist/node/index.d.ts +2 -2
  540. package/dist/node/index.js +6 -8
  541. package/dist/operations-CSc_IsHO.d.ts +6 -0
  542. package/dist/options-0qvUckqt.js +9 -0
  543. package/dist/options-1GgseJq5.js +10 -0
  544. package/dist/options-21s0dpnX.js +9 -0
  545. package/dist/options-B-cxGmRA.js +5 -0
  546. package/dist/options-B0EJULm5.js +5 -0
  547. package/dist/options-B2swWnJW.js +9 -0
  548. package/dist/options-BMGClqoa.js +11 -0
  549. package/dist/options-BQIYfx9F.js +9 -0
  550. package/dist/options-BVg58avP.js +5 -0
  551. package/dist/options-BbnPv6p7.js +12 -0
  552. package/dist/options-BfLmA375.js +5 -0
  553. package/dist/options-BlncUmIc.js +9 -0
  554. package/dist/options-BlzSfWxC.d.ts +10 -0
  555. package/dist/options-BnZS7IK-.js +9 -0
  556. package/dist/options-Bt0bYMLl.js +24 -0
  557. package/dist/options-BvtnxHfK.js +24 -0
  558. package/dist/options-C-dQHH5-.js +8 -0
  559. package/dist/options-C3RgtOLo.js +5 -0
  560. package/dist/options-CE93HOYi.d.ts +7 -0
  561. package/dist/options-CM6-18FQ.d.ts +13 -0
  562. package/dist/options-CPK2nQER.js +5 -0
  563. package/dist/options-CRz8Ht_4.js +9 -0
  564. package/dist/options-CW9wTqOk.js +11 -0
  565. package/dist/options-Cl9Ag2Pt.js +8 -0
  566. package/dist/options-Cp0HyUEk.js +9 -0
  567. package/dist/options-Cqq2jUww.js +10 -0
  568. package/dist/options-CsGl5BLH.d.ts +52 -0
  569. package/dist/options-CtUUU71w.js +20 -0
  570. package/dist/options-CvD9vNvx.js +9 -0
  571. package/dist/options-CyAhRKKm.d.ts +14 -0
  572. package/dist/options-D0G06Zm9.js +8 -0
  573. package/dist/options-D6as77gU.d.ts +16 -0
  574. package/dist/options-DChZoVfs.d.ts +11 -0
  575. package/dist/options-DINdgVih.d.ts +9 -0
  576. package/dist/options-DPgdAXO5.js +11 -0
  577. package/dist/options-DWVYM8P0.d.ts +17 -0
  578. package/dist/options-DWbA9buW.js +9 -0
  579. package/dist/options-DXnBN2E7.js +8 -0
  580. package/dist/options-D_bBVCXg.js +5 -0
  581. package/dist/options-DcOx8_3X.d.ts +19 -0
  582. package/dist/options-DeNejBtq.js +8 -0
  583. package/dist/options-DgQo80Xh.js +5 -0
  584. package/dist/options-DplE18Ko.d.ts +12 -0
  585. package/dist/options-HLwOuF2H.js +10 -0
  586. package/dist/options-KV84gAxl.js +10 -0
  587. package/dist/options-Li1Dyu88.d.ts +10 -0
  588. package/dist/options-Q1Bzgqpr.js +5 -0
  589. package/dist/options-_F-enoBs.d.ts +26 -0
  590. package/dist/options-c5WCsky5.js +21 -0
  591. package/dist/options-nFzfgtA6.js +5 -0
  592. package/dist/options-pOVWwbAK.d.ts +10 -0
  593. package/dist/options-y_-AkVCs.d.ts +15 -0
  594. package/dist/orpc/index.d.ts +69 -71
  595. package/dist/orpc/index.js +161 -27
  596. package/dist/otel/index.d.ts +3 -3
  597. package/dist/otel/index.js +6 -6
  598. package/dist/outbox-HxjZTfF6.d.ts +199 -0
  599. package/dist/payments-BXvabJOw.js +16 -0
  600. package/dist/payments-BYcN34Fp.d.ts +114 -0
  601. package/dist/permissions-controller-BMsqIE5T.js +34 -0
  602. package/dist/plugin-AKwwe2gF.js +48 -0
  603. package/dist/pool-CrtT4dg-.d.ts +123 -0
  604. package/dist/pool-errors-JUBcGrre.js +27 -0
  605. package/dist/ports-CpdiQv1D.d.ts +89 -0
  606. package/dist/ports-DOhtuw3c.js +152 -0
  607. package/dist/postgres/index.d.ts +5 -5
  608. package/dist/postgres/index.js +3 -3
  609. package/dist/postgrest-executor-BFW4oWte.js +1064 -0
  610. package/dist/postgrest-z-T0l23T.d.ts +53 -0
  611. package/dist/powersync/index.d.ts +106 -7
  612. package/dist/powersync/index.js +123 -7
  613. package/dist/preset/index.d.ts +4 -4
  614. package/dist/preset/index.js +4 -4
  615. package/dist/preset-CsHnIBJF.js +875 -0
  616. package/dist/problem-Bf0cJ7tk.js +162 -0
  617. package/dist/problem-DNwN8iGz.d.ts +79 -0
  618. package/dist/provider-B6g7rBZX.js +57 -0
  619. package/dist/provider-CqwEOLCA.d.ts +112 -0
  620. package/dist/push-token-B3m3pWAv.d.ts +24 -0
  621. package/dist/queries-BWYYS9um.js +239 -0
  622. package/dist/query/index.d.ts +4 -4
  623. package/dist/query/index.js +114 -48
  624. package/dist/rank-result-BBJIK-k_.js +18 -0
  625. package/dist/rank-result-Bwe7igy-.d.ts +14 -0
  626. package/dist/rate-limit-BWKGlhTM.js +49 -0
  627. package/dist/rate-limit-Bztf32cl.d.ts +50 -0
  628. package/dist/rate-limit-o44SYkVY.js +327 -0
  629. package/dist/react/index.d.ts +10 -9
  630. package/dist/react/index.js +5 -5
  631. package/dist/react/native/index.d.ts +1 -1
  632. package/dist/react/native/index.js +2 -3
  633. package/dist/react/server.d.ts +47 -15
  634. package/dist/react/server.js +46 -11
  635. package/dist/react/session.d.ts +3 -3
  636. package/dist/react-BuDYI62C.js +979 -0
  637. package/dist/react-router/index.d.ts +13 -10
  638. package/dist/react-router/index.js +10 -10
  639. package/dist/read-set-BnKnofIj.js +199 -0
  640. package/dist/realtime/index.d.ts +7 -7
  641. package/dist/realtime/index.js +4 -4
  642. package/dist/record-bindings-DkBJpC5A.js +26 -0
  643. package/dist/record-form-DB_5Ue_B.d.ts +82 -0
  644. package/dist/record-type-DRbnlj5q.js +221 -0
  645. package/dist/recordings-BBSJt_YV.d.ts +119 -0
  646. package/dist/records/index.d.ts +28 -28
  647. package/dist/records/index.js +22 -23
  648. package/dist/refresh-DT_ICaK-.d.ts +54 -0
  649. package/dist/refusal-ByBZcm0V.js +64 -0
  650. package/dist/refusal-CSntB_x8.d.ts +32 -0
  651. package/dist/replicas-Dyoh3CEg.js +94 -0
  652. package/dist/resolve-B0mW2m7f.js +932 -0
  653. package/dist/resolve-CXX6DHv3.d.ts +288 -0
  654. package/dist/resource-D8pzB5Qf.d.ts +123 -0
  655. package/dist/resource-DV2GC2dB.js +520 -0
  656. package/dist/resource-DvgXqZB_.js +105 -0
  657. package/dist/resource-execute-CzHuDsil.d.ts +15 -0
  658. package/dist/resource-types-DnKiH4G2.d.ts +157 -0
  659. package/dist/resources-B9cQxhjw.d.ts +7 -0
  660. package/dist/resources-C02l_YBJ.js +64 -0
  661. package/dist/respond-C3CcOZlA.js +100 -0
  662. package/dist/respond-Dn1_YhC1.d.ts +106 -0
  663. package/dist/result-DZeA5KS6.d.ts +351 -0
  664. package/dist/result-ntFBW2p2.js +146 -0
  665. package/dist/rows-BDLZStp4.js +80 -0
  666. package/dist/rows-Bm6sskji.js +39 -0
  667. package/dist/rrule-79K2c3Nr.js +290 -0
  668. package/dist/run-state-BMCD_1Lt.d.ts +13 -0
  669. package/dist/sales-lines-Bk4mbLH1.d.ts +37 -0
  670. package/dist/sales-lines-D-sf9PIB.js +43 -0
  671. package/dist/sales-shared-DXGFJP4g.js +22 -0
  672. package/dist/schemas-l2aF78zQ.js +216 -0
  673. package/dist/scores-B2BiNuVJ.d.ts +174 -0
  674. package/dist/scores-CRp3vvQU.js +177 -0
  675. package/dist/server/index.d.ts +104 -42
  676. package/dist/server/index.js +99 -30
  677. package/dist/server-types-7QPzW2bF.d.ts +946 -0
  678. package/dist/session-CfBCJGgc.d.ts +99 -0
  679. package/dist/shared-C47zAh2A.js +17 -0
  680. package/dist/sign-in-B64114O4.js +608 -0
  681. package/dist/sign-in-BAjR49fq.d.ts +24 -0
  682. package/dist/sign-in-BsIaNx2C.js +392 -0
  683. package/dist/signatures-CNcoq392.js +145 -0
  684. package/dist/signatures-Dkx9OE8j.d.ts +43 -0
  685. package/dist/signers-BAEzvTJ0.d.ts +390 -0
  686. package/dist/signing-keys-BNDUxpQL.d.ts +119 -0
  687. package/dist/signing-keys-wGKh4vtt.js +164 -0
  688. package/dist/solid/index.d.ts +52 -18
  689. package/dist/solid/index.js +69 -11
  690. package/dist/solid-start/index.d.ts +11 -11
  691. package/dist/solid-start/index.js +8 -8
  692. package/dist/spec/index.d.ts +691 -10
  693. package/dist/spec/index.js +2487 -5
  694. package/dist/spec-DTWkHzYZ.js +124 -0
  695. package/dist/spec-pins-C1Vm8OBl.js +61 -0
  696. package/dist/spec-pins-DIx95afw.d.ts +125 -0
  697. package/dist/sql/index.d.ts +5 -5
  698. package/dist/sql/index.js +5 -5
  699. package/dist/sql-BPbbPzRJ.js +421 -0
  700. package/dist/sql-OLVW4t08.js +127258 -0
  701. package/dist/sqlite/index.d.ts +126 -0
  702. package/dist/sqlite/index.js +197 -0
  703. package/dist/sso-B0Txid2-.d.ts +161 -0
  704. package/dist/sso-d2S4x_f9.js +217 -0
  705. package/dist/ssr/index.d.ts +5 -4
  706. package/dist/ssr/index.js +3 -3
  707. package/dist/standard-BA3mLh6w.js +25 -0
  708. package/dist/standard-DBV730sF.d.ts +7 -0
  709. package/dist/stats-BHl1-zj9.js +83 -0
  710. package/dist/storage/index.d.ts +3 -3
  711. package/dist/storage/index.js +10 -10
  712. package/dist/store-CpheI-lN.d.ts +83 -0
  713. package/dist/streams/index.d.ts +3 -3
  714. package/dist/streams/index.js +2 -2
  715. package/dist/streams/redis/index.d.ts +2 -2
  716. package/dist/streams/redis/index.js +3 -3
  717. package/dist/subject-readers-8GySC9Z8.d.ts +21 -0
  718. package/dist/subject-readers-B-pQ9Mmo.js +49 -0
  719. package/dist/subjects-BpIEN1MS.d.ts +90 -0
  720. package/dist/subjects-DvmQeF_F.d.ts +79 -0
  721. package/dist/support-view-BYOgwXsJ.d.ts +17 -0
  722. package/dist/svelte/index.d.ts +52 -15
  723. package/dist/svelte/index.js +87 -11
  724. package/dist/sveltekit/index.d.ts +13 -13
  725. package/dist/sveltekit/index.js +13 -13
  726. package/dist/table-schema-BlF6k62Q.d.ts +81 -0
  727. package/dist/table-schema-CD8cJz_M.js +293 -0
  728. package/dist/tags-BjHflcHF.d.ts +30 -0
  729. package/dist/tags-CIZTqtlY.js +39 -0
  730. package/dist/tanstack-db/index.d.ts +50 -6
  731. package/dist/tanstack-db/index.js +43 -2
  732. package/dist/tanstack-start/index.d.ts +9 -9
  733. package/dist/tanstack-start/index.js +9 -9
  734. package/dist/tax-BkCNWWMc.js +140 -0
  735. package/dist/tax-DPShHual.d.ts +170 -0
  736. package/dist/tee-V97_v1ZS.js +101 -0
  737. package/dist/template-Drgg3v2J.js +126 -0
  738. package/dist/temporal-required-Dy0GGD8E.js +20 -0
  739. package/dist/tenant-BgIiMQpo.js +27 -0
  740. package/dist/tenant-DzFsg0Pc.d.ts +17 -0
  741. package/dist/testing/index.d.ts +77 -75
  742. package/dist/testing/index.js +89 -99
  743. package/dist/timeline--VU3A1e4.js +50 -0
  744. package/dist/timeline-WrFMgd3U.d.ts +151 -0
  745. package/dist/timing-dypS0nxW.js +95 -0
  746. package/dist/topic-DNFEFGKI.d.ts +415 -0
  747. package/dist/topic-ikV_pLTX.js +643 -0
  748. package/dist/types-A4yyKEsg.d.ts +217 -0
  749. package/dist/types-Czq9Xtpa.d.ts +618 -0
  750. package/dist/types-DFdg_4yN.d.ts +912 -0
  751. package/dist/types-Dp3UCr1e.d.ts +194 -0
  752. package/dist/types-Dr9wZgNy.d.ts +251 -0
  753. package/dist/types-DsRfiQ0v.d.ts +659 -0
  754. package/dist/types-EO2crSX_.d.ts +177 -0
  755. package/dist/undo-B1jwnVyN.d.ts +46 -0
  756. package/dist/undo-BjCChCmH.js +44 -0
  757. package/dist/upload-claim-B1ZU8ydB.js +33 -0
  758. package/dist/usage-Dp45V42p.d.ts +232 -0
  759. package/dist/user-change-DgWC6RRC.js +135 -0
  760. package/dist/variants-Cy--Ub-a.js +53 -0
  761. package/dist/vault-O-YlAyHb.d.ts +62 -0
  762. package/dist/vercel-connect/index.d.ts +1 -1
  763. package/dist/vercel-connect/index.js +3 -3
  764. package/dist/verify-CMou8dWZ.d.ts +146 -0
  765. package/dist/verify-ZLFUdlqE.js +130 -0
  766. package/dist/view-C8Ve14ja.js +247 -0
  767. package/dist/view-DyFdMCqg.d.ts +97 -0
  768. package/dist/vue/index.d.ts +52 -23
  769. package/dist/vue/index.js +77 -14
  770. package/dist/watch-topic-Bo9S2R4P.d.ts +31 -0
  771. package/dist/wiring-CDNuQoJJ.js +13 -0
  772. package/dist/workflow-sdk/builder/index.d.ts +12 -12
  773. package/dist/workflow-sdk/builder/index.js +16 -17
  774. package/dist/workflow-sdk/index.d.ts +18 -15
  775. package/dist/workflow-sdk/index.js +2 -2
  776. package/dist/workflow-sdk/world/index.d.ts +6 -6
  777. package/dist/workflow-sdk/world/index.js +12 -12
  778. package/dist/workflow-sdk-B3Ss55Fy.d.ts +163 -0
  779. package/dist/workflow-sdk-Bw6_u0ar.js +2446 -0
  780. package/dist/workflow-sdk-Cf0LAOFF.js +242 -0
  781. package/dist/workflows-B0ZPAQu0.d.ts +255 -0
  782. package/dist/yjs/index.d.ts +3 -3
  783. package/dist/yjs/index.js +2 -2
  784. package/package.json +75 -623
  785. package/schemas/config-v1.json +2082 -1754
  786. package/schemas/design-v1.json +141 -5
  787. package/schemas/doctor-report-v1.json +15 -0
  788. package/skills/better-supabase/SKILL.md +70 -28
  789. package/skills/better-supabase/references/block-extensions.md +64 -0
  790. package/skills/better-supabase/references/frontend.md +29 -26
  791. package/skills/better-supabase/references/troubleshooting.md +3 -3
  792. package/skills/better-supabase/references/ui-recipes.md +267 -134
  793. package/skills/better-supabase-api/SKILL.md +49 -38
  794. package/skills/better-supabase-api/references/adapters.md +42 -39
  795. package/skills/better-supabase-api/references/ai.md +4 -4
  796. package/skills/better-supabase-api/references/expo.md +8 -8
  797. package/skills/better-supabase-api/references/powersync.md +20 -13
  798. package/skills/better-supabase-api/references/streams-credentials.md +3 -3
  799. package/skills/better-supabase-auth/SKILL.md +17 -17
  800. package/skills/better-supabase-auth/references/authorization-providers.md +8 -6
  801. package/skills/better-supabase-testing/SKILL.md +8 -8
  802. package/dist/access-sql-CPoq9F86.js +0 -207
  803. package/dist/access-z7NwWtqx.js +0 -34
  804. package/dist/actor-hNajGNEK.js +0 -150
  805. package/dist/adapter-BCFAg58A.js +0 -2190
  806. package/dist/agents-CmZlLPXC.d.ts +0 -117
  807. package/dist/ai-cache-BxlOkc_M.d.ts +0 -82
  808. package/dist/ai-cache-DQikwXhJ.js +0 -87
  809. package/dist/ai-chat-DBxEz3o1.d.ts +0 -619
  810. package/dist/ai-files-t-kHmS5H.js +0 -339
  811. package/dist/ai-tasks-BDywBUgN.d.ts +0 -166
  812. package/dist/announcements-BeOD0zbc.js +0 -128
  813. package/dist/api-CWhpq24a.d.ts +0 -174
  814. package/dist/api-DKp2Ggz_.js +0 -685
  815. package/dist/api-keys-CboAenU8.d.ts +0 -213
  816. package/dist/api-keys-DT6Fi50R.js +0 -318
  817. package/dist/app-tables-BHrzAUFJ.d.ts +0 -27
  818. package/dist/app-tables-C5aoI5rZ.js +0 -959
  819. package/dist/approvals-bMb7dsBY.d.ts +0 -129
  820. package/dist/arazzo/index.d.ts +0 -278
  821. package/dist/arazzo/index.js +0 -630
  822. package/dist/assistant-D1yev_fR.d.ts +0 -157
  823. package/dist/asyncapi/index.d.ts +0 -110
  824. package/dist/asyncapi/index.js +0 -572
  825. package/dist/attachments-Cjdgarpa.js +0 -351
  826. package/dist/attributes-BOFl922R.js +0 -44
  827. package/dist/audit-log-C3rQxeHd.js +0 -788
  828. package/dist/auth-reply-jVKoAV6R.js +0 -31
  829. package/dist/authorization-BuT26_sR.d.ts +0 -3455
  830. package/dist/authorization-hooks-dLmUO_PZ.d.ts +0 -217
  831. package/dist/authorizer-DFP3gHv8.d.ts +0 -82
  832. package/dist/authorizer-DPTeL-7h.js +0 -125
  833. package/dist/availability-q3dZoZYM.d.ts +0 -226
  834. package/dist/bind-Dz8y3T5T.d.ts +0 -95
  835. package/dist/block-authors-BRTlT0qv.js +0 -14
  836. package/dist/block-controller-DTGuBemi.js +0 -112
  837. package/dist/block-env-DJiUu1fq.js +0 -35
  838. package/dist/block-env-kFcaaJLM.d.ts +0 -10
  839. package/dist/block-env-options-2e6IQrSw.js +0 -26
  840. package/dist/block-events-records-BGVyoz57.d.ts +0 -343
  841. package/dist/block-fields-3w4MZr8U.d.ts +0 -58
  842. package/dist/block-fields-DBSJSeaO.js +0 -139
  843. package/dist/block-helpers-BaugZlJV.d.ts +0 -62
  844. package/dist/block-helpers-CiKtrb6g.js +0 -353
  845. package/dist/block-hooks-BymdcD0V.js +0 -130
  846. package/dist/block-hooks-CmjPKqQ_.d.ts +0 -117
  847. package/dist/block-method-Bvsao626.js +0 -21
  848. package/dist/block-method-hsPAGFi5.d.ts +0 -19
  849. package/dist/block-names-Dbv_2wmE.js +0 -66
  850. package/dist/block-subjects-Dzq5Xn_0.js +0 -55
  851. package/dist/block-subjects-FHwLlIHU.d.ts +0 -6
  852. package/dist/block-tenant-C1sNV8_4.js +0 -14
  853. package/dist/block-transport-d53POsem.d.ts +0 -69
  854. package/dist/blocks/access/index.d.ts +0 -9
  855. package/dist/blocks/access/index.js +0 -18
  856. package/dist/blocks/access/react/index.d.ts +0 -52
  857. package/dist/blocks/access/react/index.js +0 -73
  858. package/dist/blocks/access/react/server.d.ts +0 -11
  859. package/dist/blocks/access/react/server.js +0 -16
  860. package/dist/blocks/access/solid/index.d.ts +0 -13
  861. package/dist/blocks/access/solid/index.js +0 -14
  862. package/dist/blocks/access/svelte/index.d.ts +0 -13
  863. package/dist/blocks/access/svelte/index.js +0 -14
  864. package/dist/blocks/access/vue/index.d.ts +0 -13
  865. package/dist/blocks/access/vue/index.js +0 -14
  866. package/dist/blocks/activity/index.d.ts +0 -116
  867. package/dist/blocks/activity/index.js +0 -164
  868. package/dist/blocks/ai-chat/react/index.d.ts +0 -52
  869. package/dist/blocks/ai-chat/react/index.js +0 -95
  870. package/dist/blocks/ai-chat/react/server.d.ts +0 -25
  871. package/dist/blocks/ai-chat/react/server.js +0 -23
  872. package/dist/blocks/ai-chat/solid/index.d.ts +0 -34
  873. package/dist/blocks/ai-chat/solid/index.js +0 -41
  874. package/dist/blocks/ai-chat/svelte/index.d.ts +0 -34
  875. package/dist/blocks/ai-chat/svelte/index.js +0 -41
  876. package/dist/blocks/ai-chat/vue/index.d.ts +0 -34
  877. package/dist/blocks/ai-chat/vue/index.js +0 -41
  878. package/dist/blocks/ai-providers/index.d.ts +0 -22
  879. package/dist/blocks/ai-providers/index.js +0 -236
  880. package/dist/blocks/ai-tasks/index.d.ts +0 -10
  881. package/dist/blocks/ai-tasks/index.js +0 -252
  882. package/dist/blocks/announcements/react/index.d.ts +0 -28
  883. package/dist/blocks/announcements/react/index.js +0 -38
  884. package/dist/blocks/announcements/react/server.d.ts +0 -9
  885. package/dist/blocks/announcements/react/server.js +0 -10
  886. package/dist/blocks/announcements/solid/index.d.ts +0 -13
  887. package/dist/blocks/announcements/solid/index.js +0 -14
  888. package/dist/blocks/announcements/svelte/index.d.ts +0 -13
  889. package/dist/blocks/announcements/svelte/index.js +0 -14
  890. package/dist/blocks/announcements/vue/index.d.ts +0 -13
  891. package/dist/blocks/announcements/vue/index.js +0 -14
  892. package/dist/blocks/api-keys/react/index.d.ts +0 -32
  893. package/dist/blocks/api-keys/react/index.js +0 -43
  894. package/dist/blocks/api-keys/react/server.d.ts +0 -7
  895. package/dist/blocks/api-keys/react/server.js +0 -7
  896. package/dist/blocks/api-keys/solid/index.d.ts +0 -13
  897. package/dist/blocks/api-keys/solid/index.js +0 -14
  898. package/dist/blocks/api-keys/svelte/index.d.ts +0 -13
  899. package/dist/blocks/api-keys/svelte/index.js +0 -14
  900. package/dist/blocks/api-keys/vue/index.d.ts +0 -13
  901. package/dist/blocks/api-keys/vue/index.js +0 -14
  902. package/dist/blocks/attachments/react/index.d.ts +0 -53
  903. package/dist/blocks/attachments/react/index.js +0 -78
  904. package/dist/blocks/attachments/react/server.d.ts +0 -9
  905. package/dist/blocks/attachments/react/server.js +0 -10
  906. package/dist/blocks/attachments/solid/index.d.ts +0 -13
  907. package/dist/blocks/attachments/solid/index.js +0 -14
  908. package/dist/blocks/attachments/svelte/index.d.ts +0 -13
  909. package/dist/blocks/attachments/svelte/index.js +0 -14
  910. package/dist/blocks/attachments/vue/index.d.ts +0 -13
  911. package/dist/blocks/attachments/vue/index.js +0 -14
  912. package/dist/blocks/audit/react/index.d.ts +0 -31
  913. package/dist/blocks/audit/react/index.js +0 -46
  914. package/dist/blocks/audit/react/server.d.ts +0 -7
  915. package/dist/blocks/audit/react/server.js +0 -7
  916. package/dist/blocks/audit/solid/index.d.ts +0 -13
  917. package/dist/blocks/audit/solid/index.js +0 -14
  918. package/dist/blocks/audit/svelte/index.d.ts +0 -13
  919. package/dist/blocks/audit/svelte/index.js +0 -14
  920. package/dist/blocks/audit/vue/index.d.ts +0 -13
  921. package/dist/blocks/audit/vue/index.js +0 -14
  922. package/dist/blocks/billing/react/index.d.ts +0 -44
  923. package/dist/blocks/billing/react/index.js +0 -40
  924. package/dist/blocks/billing/react/server.d.ts +0 -10
  925. package/dist/blocks/billing/react/server.js +0 -10
  926. package/dist/blocks/billing/solid/index.d.ts +0 -15
  927. package/dist/blocks/billing/solid/index.js +0 -14
  928. package/dist/blocks/billing/svelte/index.d.ts +0 -15
  929. package/dist/blocks/billing/svelte/index.js +0 -14
  930. package/dist/blocks/billing/vue/index.d.ts +0 -15
  931. package/dist/blocks/billing/vue/index.js +0 -14
  932. package/dist/blocks/bookings/react/index.d.ts +0 -36
  933. package/dist/blocks/bookings/react/index.js +0 -63
  934. package/dist/blocks/bookings/react/server.d.ts +0 -9
  935. package/dist/blocks/bookings/react/server.js +0 -10
  936. package/dist/blocks/bookings/solid/index.d.ts +0 -13
  937. package/dist/blocks/bookings/solid/index.js +0 -14
  938. package/dist/blocks/bookings/svelte/index.d.ts +0 -13
  939. package/dist/blocks/bookings/svelte/index.js +0 -14
  940. package/dist/blocks/bookings/vue/index.d.ts +0 -13
  941. package/dist/blocks/bookings/vue/index.js +0 -14
  942. package/dist/blocks/calendar/react/index.d.ts +0 -26
  943. package/dist/blocks/calendar/react/index.js +0 -58
  944. package/dist/blocks/calendar/react/server.d.ts +0 -9
  945. package/dist/blocks/calendar/react/server.js +0 -10
  946. package/dist/blocks/calendar/solid/index.d.ts +0 -13
  947. package/dist/blocks/calendar/solid/index.js +0 -14
  948. package/dist/blocks/calendar/svelte/index.d.ts +0 -13
  949. package/dist/blocks/calendar/svelte/index.js +0 -14
  950. package/dist/blocks/calendar/vue/index.d.ts +0 -13
  951. package/dist/blocks/calendar/vue/index.js +0 -14
  952. package/dist/blocks/comments/react/index.d.ts +0 -32
  953. package/dist/blocks/comments/react/index.js +0 -56
  954. package/dist/blocks/comments/react/server.d.ts +0 -7
  955. package/dist/blocks/comments/react/server.js +0 -7
  956. package/dist/blocks/comments/solid/index.d.ts +0 -13
  957. package/dist/blocks/comments/solid/index.js +0 -14
  958. package/dist/blocks/comments/svelte/index.d.ts +0 -13
  959. package/dist/blocks/comments/svelte/index.js +0 -14
  960. package/dist/blocks/comments/vue/index.d.ts +0 -13
  961. package/dist/blocks/comments/vue/index.js +0 -14
  962. package/dist/blocks/controls/index.d.ts +0 -325
  963. package/dist/blocks/controls/index.js +0 -410
  964. package/dist/blocks/engagements/index.d.ts +0 -41
  965. package/dist/blocks/engagements/index.js +0 -414
  966. package/dist/blocks/entitlements/react/index.d.ts +0 -27
  967. package/dist/blocks/entitlements/react/index.js +0 -35
  968. package/dist/blocks/entitlements/react/server.d.ts +0 -9
  969. package/dist/blocks/entitlements/react/server.js +0 -10
  970. package/dist/blocks/entitlements/solid/index.d.ts +0 -13
  971. package/dist/blocks/entitlements/solid/index.js +0 -14
  972. package/dist/blocks/entitlements/svelte/index.d.ts +0 -13
  973. package/dist/blocks/entitlements/svelte/index.js +0 -14
  974. package/dist/blocks/entitlements/vue/index.d.ts +0 -13
  975. package/dist/blocks/entitlements/vue/index.js +0 -14
  976. package/dist/blocks/forms/react/index.d.ts +0 -19
  977. package/dist/blocks/forms/react/index.js +0 -28
  978. package/dist/blocks/forms/react/server.d.ts +0 -9
  979. package/dist/blocks/forms/react/server.js +0 -10
  980. package/dist/blocks/forms/solid/index.d.ts +0 -13
  981. package/dist/blocks/forms/solid/index.js +0 -14
  982. package/dist/blocks/forms/svelte/index.d.ts +0 -13
  983. package/dist/blocks/forms/svelte/index.js +0 -14
  984. package/dist/blocks/forms/vue/index.d.ts +0 -13
  985. package/dist/blocks/forms/vue/index.js +0 -14
  986. package/dist/blocks/inbox/react/index.d.ts +0 -3
  987. package/dist/blocks/inbox/react/index.js +0 -87
  988. package/dist/blocks/inbox/react/server.d.ts +0 -17
  989. package/dist/blocks/inbox/react/server.js +0 -18
  990. package/dist/blocks/inbox/solid/index.d.ts +0 -27
  991. package/dist/blocks/inbox/solid/index.js +0 -32
  992. package/dist/blocks/inbox/svelte/index.d.ts +0 -27
  993. package/dist/blocks/inbox/svelte/index.js +0 -32
  994. package/dist/blocks/inbox/vue/index.d.ts +0 -27
  995. package/dist/blocks/inbox/vue/index.js +0 -32
  996. package/dist/blocks/jobs/index.d.ts +0 -523
  997. package/dist/blocks/jobs/index.js +0 -1345
  998. package/dist/blocks/messaging/react/index.d.ts +0 -39
  999. package/dist/blocks/messaging/react/index.js +0 -80
  1000. package/dist/blocks/messaging/react/server.d.ts +0 -12
  1001. package/dist/blocks/messaging/react/server.js +0 -14
  1002. package/dist/blocks/messaging/solid/index.d.ts +0 -20
  1003. package/dist/blocks/messaging/solid/index.js +0 -23
  1004. package/dist/blocks/messaging/svelte/index.d.ts +0 -20
  1005. package/dist/blocks/messaging/svelte/index.js +0 -23
  1006. package/dist/blocks/messaging/vue/index.d.ts +0 -20
  1007. package/dist/blocks/messaging/vue/index.js +0 -23
  1008. package/dist/blocks/mfa/react/index.d.ts +0 -30
  1009. package/dist/blocks/mfa/react/index.js +0 -45
  1010. package/dist/blocks/mfa/react/server.d.ts +0 -9
  1011. package/dist/blocks/mfa/react/server.js +0 -12
  1012. package/dist/blocks/mfa/solid/index.d.ts +0 -20
  1013. package/dist/blocks/mfa/solid/index.js +0 -23
  1014. package/dist/blocks/mfa/svelte/index.d.ts +0 -20
  1015. package/dist/blocks/mfa/svelte/index.js +0 -23
  1016. package/dist/blocks/mfa/vue/index.d.ts +0 -20
  1017. package/dist/blocks/mfa/vue/index.js +0 -23
  1018. package/dist/blocks/notifications/react/index.d.ts +0 -19
  1019. package/dist/blocks/notifications/react/index.js +0 -41
  1020. package/dist/blocks/notifications/react/server.d.ts +0 -10
  1021. package/dist/blocks/notifications/react/server.js +0 -10
  1022. package/dist/blocks/notifications/solid/index.d.ts +0 -13
  1023. package/dist/blocks/notifications/solid/index.js +0 -14
  1024. package/dist/blocks/notifications/svelte/index.d.ts +0 -13
  1025. package/dist/blocks/notifications/svelte/index.js +0 -14
  1026. package/dist/blocks/notifications/vue/index.d.ts +0 -13
  1027. package/dist/blocks/notifications/vue/index.js +0 -14
  1028. package/dist/blocks/number-sequences/index.d.ts +0 -48
  1029. package/dist/blocks/number-sequences/index.js +0 -52
  1030. package/dist/blocks/onboarding/react/index.d.ts +0 -24
  1031. package/dist/blocks/onboarding/react/index.js +0 -38
  1032. package/dist/blocks/onboarding/react/server.d.ts +0 -10
  1033. package/dist/blocks/onboarding/react/server.js +0 -10
  1034. package/dist/blocks/onboarding/solid/index.d.ts +0 -13
  1035. package/dist/blocks/onboarding/solid/index.js +0 -14
  1036. package/dist/blocks/onboarding/svelte/index.d.ts +0 -13
  1037. package/dist/blocks/onboarding/svelte/index.js +0 -14
  1038. package/dist/blocks/onboarding/vue/index.d.ts +0 -13
  1039. package/dist/blocks/onboarding/vue/index.js +0 -14
  1040. package/dist/blocks/organizations/react/index.d.ts +0 -127
  1041. package/dist/blocks/organizations/react/index.js +0 -113
  1042. package/dist/blocks/organizations/react/server.d.ts +0 -20
  1043. package/dist/blocks/organizations/react/server.js +0 -24
  1044. package/dist/blocks/organizations/solid/index.d.ts +0 -34
  1045. package/dist/blocks/organizations/solid/index.js +0 -32
  1046. package/dist/blocks/organizations/svelte/index.d.ts +0 -34
  1047. package/dist/blocks/organizations/svelte/index.js +0 -32
  1048. package/dist/blocks/organizations/vue/index.d.ts +0 -34
  1049. package/dist/blocks/organizations/vue/index.js +0 -32
  1050. package/dist/blocks/parties/index.d.ts +0 -182
  1051. package/dist/blocks/parties/index.js +0 -358
  1052. package/dist/blocks/reactions/react/index.d.ts +0 -32
  1053. package/dist/blocks/reactions/react/index.js +0 -57
  1054. package/dist/blocks/reactions/react/server.d.ts +0 -9
  1055. package/dist/blocks/reactions/react/server.js +0 -10
  1056. package/dist/blocks/reactions/solid/index.d.ts +0 -13
  1057. package/dist/blocks/reactions/solid/index.js +0 -14
  1058. package/dist/blocks/reactions/svelte/index.d.ts +0 -13
  1059. package/dist/blocks/reactions/svelte/index.js +0 -14
  1060. package/dist/blocks/reactions/vue/index.d.ts +0 -13
  1061. package/dist/blocks/reactions/vue/index.js +0 -14
  1062. package/dist/blocks/rules/index.d.ts +0 -175
  1063. package/dist/blocks/rules/index.js +0 -163
  1064. package/dist/blocks/rules/react/index.d.ts +0 -38
  1065. package/dist/blocks/rules/react/index.js +0 -59
  1066. package/dist/blocks/rules/react/server.d.ts +0 -6
  1067. package/dist/blocks/rules/react/server.js +0 -7
  1068. package/dist/blocks/rules/solid/index.d.ts +0 -13
  1069. package/dist/blocks/rules/solid/index.js +0 -14
  1070. package/dist/blocks/rules/svelte/index.d.ts +0 -13
  1071. package/dist/blocks/rules/svelte/index.js +0 -14
  1072. package/dist/blocks/rules/vue/index.d.ts +0 -13
  1073. package/dist/blocks/rules/vue/index.js +0 -14
  1074. package/dist/blocks/saved-views/react/index.d.ts +0 -40
  1075. package/dist/blocks/saved-views/react/index.js +0 -60
  1076. package/dist/blocks/saved-views/react/server.d.ts +0 -10
  1077. package/dist/blocks/saved-views/react/server.js +0 -10
  1078. package/dist/blocks/saved-views/solid/index.d.ts +0 -13
  1079. package/dist/blocks/saved-views/solid/index.js +0 -14
  1080. package/dist/blocks/saved-views/svelte/index.d.ts +0 -13
  1081. package/dist/blocks/saved-views/svelte/index.js +0 -14
  1082. package/dist/blocks/saved-views/vue/index.d.ts +0 -13
  1083. package/dist/blocks/saved-views/vue/index.js +0 -14
  1084. package/dist/blocks/search/react/index.d.ts +0 -39
  1085. package/dist/blocks/search/react/index.js +0 -49
  1086. package/dist/blocks/search/react/server.d.ts +0 -10
  1087. package/dist/blocks/search/react/server.js +0 -11
  1088. package/dist/blocks/search/solid/index.d.ts +0 -13
  1089. package/dist/blocks/search/solid/index.js +0 -14
  1090. package/dist/blocks/search/svelte/index.d.ts +0 -13
  1091. package/dist/blocks/search/svelte/index.js +0 -14
  1092. package/dist/blocks/search/vue/index.d.ts +0 -13
  1093. package/dist/blocks/search/vue/index.js +0 -14
  1094. package/dist/blocks/service-principals/index.d.ts +0 -132
  1095. package/dist/blocks/service-principals/index.js +0 -109
  1096. package/dist/blocks/sessions/react/index.d.ts +0 -36
  1097. package/dist/blocks/sessions/react/index.js +0 -53
  1098. package/dist/blocks/sessions/react/server.d.ts +0 -15
  1099. package/dist/blocks/sessions/react/server.js +0 -17
  1100. package/dist/blocks/sessions/solid/index.d.ts +0 -20
  1101. package/dist/blocks/sessions/solid/index.js +0 -23
  1102. package/dist/blocks/sessions/svelte/index.d.ts +0 -20
  1103. package/dist/blocks/sessions/svelte/index.js +0 -23
  1104. package/dist/blocks/sessions/vue/index.d.ts +0 -20
  1105. package/dist/blocks/sessions/vue/index.js +0 -23
  1106. package/dist/blocks/settings/react/index.d.ts +0 -31
  1107. package/dist/blocks/settings/react/index.js +0 -37
  1108. package/dist/blocks/settings/react/server.d.ts +0 -10
  1109. package/dist/blocks/settings/react/server.js +0 -10
  1110. package/dist/blocks/settings/solid/index.d.ts +0 -13
  1111. package/dist/blocks/settings/solid/index.js +0 -14
  1112. package/dist/blocks/settings/svelte/index.d.ts +0 -13
  1113. package/dist/blocks/settings/svelte/index.js +0 -14
  1114. package/dist/blocks/settings/vue/index.d.ts +0 -13
  1115. package/dist/blocks/settings/vue/index.js +0 -14
  1116. package/dist/blocks/shared-signals/index.d.ts +0 -440
  1117. package/dist/blocks/shared-signals/index.js +0 -885
  1118. package/dist/blocks/subjects/react/index.d.ts +0 -31
  1119. package/dist/blocks/subjects/react/index.js +0 -60
  1120. package/dist/blocks/subjects/react/server.d.ts +0 -9
  1121. package/dist/blocks/subjects/react/server.js +0 -12
  1122. package/dist/blocks/subjects/solid/index.d.ts +0 -13
  1123. package/dist/blocks/subjects/solid/index.js +0 -14
  1124. package/dist/blocks/subjects/svelte/index.d.ts +0 -13
  1125. package/dist/blocks/subjects/svelte/index.js +0 -14
  1126. package/dist/blocks/subjects/vue/index.d.ts +0 -13
  1127. package/dist/blocks/subjects/vue/index.js +0 -14
  1128. package/dist/blocks/tags/react/index.d.ts +0 -29
  1129. package/dist/blocks/tags/react/index.js +0 -53
  1130. package/dist/blocks/tags/react/server.d.ts +0 -7
  1131. package/dist/blocks/tags/react/server.js +0 -7
  1132. package/dist/blocks/tags/solid/index.d.ts +0 -13
  1133. package/dist/blocks/tags/solid/index.js +0 -14
  1134. package/dist/blocks/tags/svelte/index.d.ts +0 -13
  1135. package/dist/blocks/tags/svelte/index.js +0 -14
  1136. package/dist/blocks/tags/vue/index.d.ts +0 -13
  1137. package/dist/blocks/tags/vue/index.js +0 -14
  1138. package/dist/blocks/targets/index.d.ts +0 -82
  1139. package/dist/blocks/targets/index.js +0 -72
  1140. package/dist/blocks/undo/react/index.d.ts +0 -17
  1141. package/dist/blocks/undo/react/index.js +0 -24
  1142. package/dist/blocks/undo/react/server.d.ts +0 -10
  1143. package/dist/blocks/undo/react/server.js +0 -10
  1144. package/dist/blocks/undo/solid/index.d.ts +0 -13
  1145. package/dist/blocks/undo/solid/index.js +0 -14
  1146. package/dist/blocks/undo/svelte/index.d.ts +0 -13
  1147. package/dist/blocks/undo/svelte/index.js +0 -14
  1148. package/dist/blocks/undo/vue/index.d.ts +0 -13
  1149. package/dist/blocks/undo/vue/index.js +0 -14
  1150. package/dist/blocks/usage/react/index.d.ts +0 -29
  1151. package/dist/blocks/usage/react/index.js +0 -38
  1152. package/dist/blocks/usage/react/server.d.ts +0 -7
  1153. package/dist/blocks/usage/react/server.js +0 -7
  1154. package/dist/blocks/usage/solid/index.d.ts +0 -13
  1155. package/dist/blocks/usage/solid/index.js +0 -14
  1156. package/dist/blocks/usage/svelte/index.d.ts +0 -13
  1157. package/dist/blocks/usage/svelte/index.js +0 -14
  1158. package/dist/blocks/usage/vue/index.d.ts +0 -13
  1159. package/dist/blocks/usage/vue/index.js +0 -14
  1160. package/dist/blocks/work-items/index.d.ts +0 -87
  1161. package/dist/blocks/work-items/index.js +0 -431
  1162. package/dist/blocks/workflow-builder/index.d.ts +0 -43
  1163. package/dist/blocks/workflow-builder/index.js +0 -33
  1164. package/dist/blocks/workflow-builder/react/index.d.ts +0 -32
  1165. package/dist/blocks/workflow-builder/react/index.js +0 -75
  1166. package/dist/blocks/workflow-builder/react/server.d.ts +0 -14
  1167. package/dist/blocks/workflow-builder/react/server.js +0 -17
  1168. package/dist/blocks/workflow-builder/solid/index.d.ts +0 -20
  1169. package/dist/blocks/workflow-builder/solid/index.js +0 -23
  1170. package/dist/blocks/workflow-builder/svelte/index.d.ts +0 -20
  1171. package/dist/blocks/workflow-builder/svelte/index.js +0 -23
  1172. package/dist/blocks/workflow-builder/vue/index.d.ts +0 -20
  1173. package/dist/blocks/workflow-builder/vue/index.js +0 -23
  1174. package/dist/blocks/workflows/react/index.d.ts +0 -39
  1175. package/dist/blocks/workflows/react/index.js +0 -65
  1176. package/dist/blocks/workflows/react/server.d.ts +0 -14
  1177. package/dist/blocks/workflows/react/server.js +0 -17
  1178. package/dist/blocks/workflows/solid/index.d.ts +0 -20
  1179. package/dist/blocks/workflows/solid/index.js +0 -23
  1180. package/dist/blocks/workflows/svelte/index.d.ts +0 -20
  1181. package/dist/blocks/workflows/svelte/index.js +0 -23
  1182. package/dist/blocks/workflows/vue/index.d.ts +0 -20
  1183. package/dist/blocks/workflows/vue/index.js +0 -23
  1184. package/dist/bookings-BB5lFlNO.js +0 -310
  1185. package/dist/bookings-CC7IeiRa.d.ts +0 -290
  1186. package/dist/bucket-TkB7_xv8.d.ts +0 -667
  1187. package/dist/build-DCfpwg78.js +0 -1839
  1188. package/dist/build-g9wTbQdp.js +0 -703
  1189. package/dist/calendar-T3Vdpq7E.js +0 -952
  1190. package/dist/carrier-C7Q_21Kd.d.ts +0 -169
  1191. package/dist/chat-sdk/react/index.d.ts +0 -3
  1192. package/dist/chat-sdk/react/index.js +0 -2
  1193. package/dist/chat-sdk/react/server.d.ts +0 -4
  1194. package/dist/chat-sdk/react/server.js +0 -1
  1195. package/dist/claims-T8TWZ53E.js +0 -63
  1196. package/dist/cli/add-Bf3kE6PY.js +0 -75
  1197. package/dist/cli/add-CYh6Sxk1.js +0 -674
  1198. package/dist/cli/add-Dg40eFKE.js +0 -1
  1199. package/dist/cli/adopt-B0vrj-4B.js +0 -421
  1200. package/dist/cli/adopt-DJR1k3lS.js +0 -1
  1201. package/dist/cli/apply-DUQ-5LC6.js +0 -329
  1202. package/dist/cli/blocks-DzgYfjVv.js +0 -124
  1203. package/dist/cli/blocks-gGupqvBH.js +0 -1
  1204. package/dist/cli/cache-C3K_wOE2.js +0 -536
  1205. package/dist/cli/catalog-CNM0ViIh.js +0 -199
  1206. package/dist/cli/codemod-Dz4R-tVY.js +0 -1127
  1207. package/dist/cli/command-33pu13LT.js +0 -963
  1208. package/dist/cli/completion-6M6Hr8TL.js +0 -211
  1209. package/dist/cli/completion-Bqu8yq0q.js +0 -1
  1210. package/dist/cli/completion-Ddr3yqd3.js +0 -30
  1211. package/dist/cli/config-B31tIvAl.js +0 -42
  1212. package/dist/cli/config-CjgXMZW2.js +0 -1522
  1213. package/dist/cli/config-D9k5ckqV.js +0 -1
  1214. package/dist/cli/config-edit-D46H0UHp.js +0 -613
  1215. package/dist/cli/db-CeagtENM.js +0 -473
  1216. package/dist/cli/design-edit-B40ljpGZ.js +0 -205
  1217. package/dist/cli/detect-RApSAA8v.js +0 -84
  1218. package/dist/cli/dist-DSwzLVAG.js +0 -129
  1219. package/dist/cli/doctor-COGJJ1gy.js +0 -3898
  1220. package/dist/cli/emit-DbQeLlHt.js +0 -1123
  1221. package/dist/cli/env-Ba-pOD3a.js +0 -1
  1222. package/dist/cli/env-DlgfvI8U.js +0 -143
  1223. package/dist/cli/files-C5JfVnj5.js +0 -972
  1224. package/dist/cli/gen-DHW1qENn.js +0 -307
  1225. package/dist/cli/init-CZifzAUD.js +0 -397
  1226. package/dist/cli/introspect-Dfwu5vAg.js +0 -51
  1227. package/dist/cli/keys-iJs_1WT8.js +0 -106
  1228. package/dist/cli/live-1eL2MIkS.js +0 -344
  1229. package/dist/cli/mcp-CaFW6uKU.js +0 -240
  1230. package/dist/cli/metadata-DkOQHZoH.js +0 -146
  1231. package/dist/cli/migration-safety-BsCKKxPf.js +0 -305
  1232. package/dist/cli/module-migration-CbX-jRhV.js +0 -606
  1233. package/dist/cli/moved-CdNtCf4t.js +0 -161
  1234. package/dist/cli/names-D6LrQnOv.js +0 -6
  1235. package/dist/cli/parse-CRZLku1b.js +0 -182
  1236. package/dist/cli/preset-C4fagbhZ.js +0 -130
  1237. package/dist/cli/run-CE2s5TDh.js +0 -711
  1238. package/dist/cli/run-Du5XPOCv.js +0 -63
  1239. package/dist/cli/run-KXjrgNCH.js +0 -2378
  1240. package/dist/cli/scaffold-CPH8sEhw.js +0 -901
  1241. package/dist/cli/scaffold-DS6g3INp.js +0 -1
  1242. package/dist/cli/seed-D6V-T5Af.js +0 -188
  1243. package/dist/cli/seed-DPQaA8aP.js +0 -1
  1244. package/dist/cli/shared-CCpxS5if.js +0 -151
  1245. package/dist/cli/skills-Bz4INB8f.js +0 -121
  1246. package/dist/cli/snapshot-Dkwxc1uV.js +0 -351
  1247. package/dist/cli/source-args-DZV4RnZL.js +0 -59
  1248. package/dist/cli/spec-B3Tbc7Dm.js +0 -7534
  1249. package/dist/cli/spec-Cv1GYrcW.js +0 -1
  1250. package/dist/cli/sql-C58MS9DI.js +0 -348
  1251. package/dist/cli/sql-DVPw5tvO.js +0 -2
  1252. package/dist/cli/stack-_F_JhllX.js +0 -135
  1253. package/dist/cli/sync-CjkKpI6d.js +0 -91
  1254. package/dist/cli/typegen-F9GEjpvD.js +0 -502
  1255. package/dist/cli/typegen-version-BNBPI4Eu.js +0 -9
  1256. package/dist/cli/version-CTqnp3HO.js +0 -4
  1257. package/dist/cli/write-3qdrpS1v.js +0 -201
  1258. package/dist/client--tyFmxDT.js +0 -52
  1259. package/dist/client-7_4Y21ue.d.ts +0 -122
  1260. package/dist/client-B1cjaIfv.js +0 -116
  1261. package/dist/client-B2GCMvfd.d.ts +0 -451
  1262. package/dist/client-B8cHiZfF.js +0 -67
  1263. package/dist/client-BIMg9IiF.d.ts +0 -349
  1264. package/dist/client-BKGVUgo7.js +0 -380
  1265. package/dist/client-BNaOcfeH.js +0 -58
  1266. package/dist/client-BQseXods.d.ts +0 -309
  1267. package/dist/client-BSnf6fn6.d.ts +0 -59
  1268. package/dist/client-BW3-RUbq.js +0 -235
  1269. package/dist/client-BYAY7lLs.d.ts +0 -137
  1270. package/dist/client-BcXmbm4f.js +0 -173
  1271. package/dist/client-BgmVu505.js +0 -167
  1272. package/dist/client-Bj0xrUzr.js +0 -437
  1273. package/dist/client-Bn0qqRBg.d.ts +0 -37
  1274. package/dist/client-Bni68sve.d.ts +0 -136
  1275. package/dist/client-BrtwaIBh.d.ts +0 -74
  1276. package/dist/client-BtRx0-kn.js +0 -82
  1277. package/dist/client-BteuBPIy.js +0 -337
  1278. package/dist/client-C1TxDBgX.js +0 -111
  1279. package/dist/client-C1zOmnS8.js +0 -89
  1280. package/dist/client-C56l0MnY.d.ts +0 -177
  1281. package/dist/client-CA6KuLDu.d.ts +0 -223
  1282. package/dist/client-CBcq7LBg.d.ts +0 -178
  1283. package/dist/client-CGJrSTMZ.js +0 -234
  1284. package/dist/client-CLIBcMzL.d.ts +0 -116
  1285. package/dist/client-COuIfjbB.d.ts +0 -46
  1286. package/dist/client-CVToJ4uI.js +0 -84
  1287. package/dist/client-C_0XZieg.js +0 -287
  1288. package/dist/client-CebKlRU7.js +0 -157
  1289. package/dist/client-ChOJ4v0D.js +0 -137
  1290. package/dist/client-CnENAa0E.d.ts +0 -69
  1291. package/dist/client-Cp79i2ZE.d.ts +0 -152
  1292. package/dist/client-CwKsEl6q.js +0 -99
  1293. package/dist/client-D-LPdEDQ.d.ts +0 -43
  1294. package/dist/client-D6gD9qt9.d.ts +0 -45
  1295. package/dist/client-DBwWXQKF.d.ts +0 -132
  1296. package/dist/client-DD3EcytK.js +0 -65
  1297. package/dist/client-DScMvaty.js +0 -38
  1298. package/dist/client-DT6Tvudr.d.ts +0 -54
  1299. package/dist/client-DU1_Jq4e.d.ts +0 -116
  1300. package/dist/client-Dd-a0tup.d.ts +0 -475
  1301. package/dist/client-Dh8zXgpq.js +0 -1060
  1302. package/dist/client-DkI0oyR7.js +0 -76
  1303. package/dist/client-DmjG9PHH.js +0 -211
  1304. package/dist/client-DnUFHmje.js +0 -129
  1305. package/dist/client-Do5hykMK.d.ts +0 -38
  1306. package/dist/client-DzOL3lsV.d.ts +0 -110
  1307. package/dist/client-DzukpHS1.d.ts +0 -165
  1308. package/dist/client-LngH55pZ.d.ts +0 -83
  1309. package/dist/client-PPSwiJaK.js +0 -291
  1310. package/dist/client-RoAuPQNB.d.ts +0 -103
  1311. package/dist/client-WzuQExHk.js +0 -253
  1312. package/dist/client-Y_HnZGF4.js +0 -51
  1313. package/dist/client-bDXsvSXp.d.ts +0 -90
  1314. package/dist/client-bx3Bk7c5.d.ts +0 -64
  1315. package/dist/client-jgDU7Roj.d.ts +0 -144
  1316. package/dist/client-kRvHKAKS.js +0 -60
  1317. package/dist/client-pxXoQOdC.js +0 -40
  1318. package/dist/client-yIxEJwTK.js +0 -121
  1319. package/dist/cloud-event-SPyXMdcd.d.ts +0 -64
  1320. package/dist/codecs-CQrX3ZW4.js +0 -358
  1321. package/dist/codecs-DAu2sYWn.d.ts +0 -222
  1322. package/dist/comments-CB8pFSV1.js +0 -142
  1323. package/dist/compiler-BCyHFI6n.d.ts +0 -14
  1324. package/dist/compose--4D1FoPN.js +0 -53
  1325. package/dist/composite-Dv6o2BSw.js +0 -130
  1326. package/dist/composite-KllwFim2.d.ts +0 -82
  1327. package/dist/config-BuOz_O-y.d.ts +0 -2152
  1328. package/dist/config-Dh4D8lBa.js +0 -13931
  1329. package/dist/config-Dn0cC3bM.js +0 -1093
  1330. package/dist/connector-BdCE4Efp.d.ts +0 -164
  1331. package/dist/connectors-DDiSNvkF.d.ts +0 -147
  1332. package/dist/context-9Q23weHu.d.ts +0 -524
  1333. package/dist/context-CMxVnPMY.js +0 -9
  1334. package/dist/context-CYquqpA6.js +0 -41
  1335. package/dist/controller-CSsC9s3s.js +0 -73
  1336. package/dist/controller-DAD4hbl4.d.ts +0 -52
  1337. package/dist/create-blocks-kPUhCvje.js +0 -217
  1338. package/dist/cron-_i5pBGkY.js +0 -148
  1339. package/dist/cron-route-Y0eJ-FNi.js +0 -24
  1340. package/dist/deal-forecast-CBlp20PY.js +0 -39
  1341. package/dist/define-DQznpZYl.js +0 -2023
  1342. package/dist/define-Dw7pRO4h.d.ts +0 -1123
  1343. package/dist/define-block-COpcS6aT.d.ts +0 -1338
  1344. package/dist/define-block-Dze77QTw.js +0 -56
  1345. package/dist/delegation-CeXm9AJ3.js +0 -146
  1346. package/dist/documents-kgDOHUfn.d.ts +0 -152
  1347. package/dist/embeddings-CcRP-cMN.d.ts +0 -78
  1348. package/dist/employees-Dwyvxs4r.d.ts +0 -180
  1349. package/dist/ended--Bd_Q6uL.d.ts +0 -76
  1350. package/dist/engagements-CsJhf2OM.d.ts +0 -179
  1351. package/dist/entitlements-B_ttRvI6.js +0 -45
  1352. package/dist/entitlements-DDevu4ZE.d.ts +0 -54
  1353. package/dist/entity-form-B67vq97h.d.ts +0 -82
  1354. package/dist/entity-naming-DLDhHTbK.js +0 -131
  1355. package/dist/entity-schema-BXXC1NnT.js +0 -39
  1356. package/dist/envelope-DCfHtVtZ.js +0 -90
  1357. package/dist/errors-03ysrOt4.js +0 -325
  1358. package/dist/errors-DZx8w-MH.js +0 -44
  1359. package/dist/escape-like-BfXS-iVe.d.ts +0 -30
  1360. package/dist/eve-BlJI8ZXL.d.ts +0 -157
  1361. package/dist/event-calendar-D3SVa3AE.d.ts +0 -65
  1362. package/dist/events-DbLjvxDX.d.ts +0 -852
  1363. package/dist/executor-BDAGTc_O.js +0 -207
  1364. package/dist/executor-BElVQpaB.d.ts +0 -188
  1365. package/dist/executor-CPyrQdjh.d.ts +0 -700
  1366. package/dist/executor-CsTaO3AT.d.ts +0 -37
  1367. package/dist/executor-DQoczQZJ.d.ts +0 -104
  1368. package/dist/executor-QtVn0axs.js +0 -147
  1369. package/dist/executor-o9HkOJ0m.js +0 -869
  1370. package/dist/expo-sqlite/index.d.ts +0 -61
  1371. package/dist/expo-sqlite/index.js +0 -110
  1372. package/dist/feature-BBLdbGu7.js +0 -224
  1373. package/dist/field-errors-vshYTVKr.d.ts +0 -166
  1374. package/dist/field-formats-DbjaDXoZ.d.ts +0 -39
  1375. package/dist/fields-CanaxA0U.d.ts +0 -75
  1376. package/dist/fields-DK30XCgc.js +0 -107
  1377. package/dist/filter-evaluate-C3i2bGfk.d.ts +0 -37
  1378. package/dist/filter-evaluate-CRDXv0Dl.js +0 -217
  1379. package/dist/filter-query-D4ZSwbcJ.js +0 -524
  1380. package/dist/filter-query-o3b_GuyC.d.ts +0 -133
  1381. package/dist/flags-BTDPaN11.d.ts +0 -246
  1382. package/dist/flags-BhYByvP1.js +0 -279
  1383. package/dist/flows/index.d.ts +0 -247
  1384. package/dist/flows/index.js +0 -229
  1385. package/dist/format-AYHceC2m.d.ts +0 -79
  1386. package/dist/framework-CXoyWGgd.js +0 -57
  1387. package/dist/framework-FxfJpyoF.d.ts +0 -41
  1388. package/dist/function-contract-vPqwt1j4.d.ts +0 -27
  1389. package/dist/gateway-DI8dbOml.d.ts +0 -115
  1390. package/dist/graph-B4eubUQG.js +0 -365
  1391. package/dist/groups-CxonH3u5.js +0 -16
  1392. package/dist/http-51t9xppD.js +0 -28
  1393. package/dist/impersonation-CZD9AOAk.js +0 -62
  1394. package/dist/inbox-BPBb6etH.d.ts +0 -321
  1395. package/dist/index-BSUX4dlB.d.ts +0 -305
  1396. package/dist/index-BgSuw4CC.d.ts +0 -151
  1397. package/dist/index-C7CrdGgz.d.ts +0 -562
  1398. package/dist/index-CvxK2BZS.d.ts +0 -847
  1399. package/dist/index-CxZQgNVE.d.ts +0 -62
  1400. package/dist/index-D4420jLW.d.ts +0 -66
  1401. package/dist/index-DK-YTWLd.d.ts +0 -443
  1402. package/dist/index-DbXWcrOI.d.ts +0 -577
  1403. package/dist/index-U0o7kU0s.d.ts +0 -69
  1404. package/dist/index-WEafENqH.d.ts +0 -149
  1405. package/dist/index-Yep7auV-.d.ts +0 -287
  1406. package/dist/index-eTY4kJzo.d.ts +0 -163
  1407. package/dist/invalidate-BLiBFbLy.d.ts +0 -19
  1408. package/dist/json-schema-DWDTfD8J.js +0 -888
  1409. package/dist/jwks-cache-CRymV-Dr.js +0 -49
  1410. package/dist/kit-Ct4Z6GIO.js +0 -127
  1411. package/dist/kit-DKfbNTAA.d.ts +0 -94
  1412. package/dist/knowledge-BKGrXdS_.js +0 -272
  1413. package/dist/knowledge-CFkCRxO9.d.ts +0 -202
  1414. package/dist/list-query-BtluNnYk.d.ts +0 -222
  1415. package/dist/list-query-CuS1w2Af.js +0 -559
  1416. package/dist/live-CZtRMh62.js +0 -246
  1417. package/dist/mentions-ByYnRNIG.js +0 -114
  1418. package/dist/messages-DNzIVvgN.js +0 -492
  1419. package/dist/messaging-BC-P-yAv.js +0 -329
  1420. package/dist/messaging-CZ6aWb10.d.ts +0 -297
  1421. package/dist/methods-7u6vSgz_.js +0 -11
  1422. package/dist/mfa-wrx1rqJT.d.ts +0 -36
  1423. package/dist/model-Btl8X9cs.d.ts +0 -326
  1424. package/dist/model-messages-D-jVOIOK.js +0 -206
  1425. package/dist/money-codec-jMP0PQLZ.js +0 -41
  1426. package/dist/onboarding-CGMuX7sP.js +0 -68
  1427. package/dist/openapi/index.d.ts +0 -5
  1428. package/dist/openapi/index.js +0 -36
  1429. package/dist/operations-nWYRexee.d.ts +0 -6
  1430. package/dist/options-289GJc2l.d.ts +0 -52
  1431. package/dist/options-70OsM-wK.js +0 -10
  1432. package/dist/options-B7EJaOX-.js +0 -5
  1433. package/dist/options-BkpqTGrJ.js +0 -8
  1434. package/dist/options-Blg8lAkz.js +0 -9
  1435. package/dist/options-Bn4cu0gt.js +0 -5
  1436. package/dist/options-BnoJOwXK.js +0 -8
  1437. package/dist/options-C2HesT4A.js +0 -9
  1438. package/dist/options-C3EzJATk.js +0 -10
  1439. package/dist/options-C3hZ1fbC.js +0 -10
  1440. package/dist/options-CAzVf-1T.js +0 -8
  1441. package/dist/options-CGKSUFUq.js +0 -5
  1442. package/dist/options-CGjGE8xS.js +0 -12
  1443. package/dist/options-CUqQ9pm7.js +0 -9
  1444. package/dist/options-CalPr6kN.d.ts +0 -12
  1445. package/dist/options-CfxBliP6.d.ts +0 -17
  1446. package/dist/options-ChD15QxJ.js +0 -9
  1447. package/dist/options-CmoJsd4V.d.ts +0 -8
  1448. package/dist/options-CyD7OObW.js +0 -17
  1449. package/dist/options-D1blDihM.js +0 -9
  1450. package/dist/options-D2Gd6VfS.js +0 -8
  1451. package/dist/options-D4aD9qwB.js +0 -5
  1452. package/dist/options-D65jzn7S.js +0 -5
  1453. package/dist/options-D7f2VKzj.js +0 -25
  1454. package/dist/options-D7sgG1bQ.js +0 -16
  1455. package/dist/options-DJm31rsi.d.ts +0 -16
  1456. package/dist/options-DXqcJyOP.js +0 -10
  1457. package/dist/options-DXuA4JVa.d.ts +0 -15
  1458. package/dist/options-DZupPoI0.d.ts +0 -10
  1459. package/dist/options-Dm-2crCx.d.ts +0 -273
  1460. package/dist/options-Dmg1Da9P.js +0 -25
  1461. package/dist/options-DsUgamiy.js +0 -5
  1462. package/dist/options-DujalSfR.js +0 -10
  1463. package/dist/options-Dz3hJxUw.d.ts +0 -10
  1464. package/dist/options-HSv8R6h5.js +0 -13
  1465. package/dist/options-I8zVkB_y.js +0 -8
  1466. package/dist/options-MHhjOoWz.js +0 -5
  1467. package/dist/options-MLxMkd5B.js +0 -11
  1468. package/dist/options-MQfTGMgP.d.ts +0 -14
  1469. package/dist/options-OJ5zmgr8.js +0 -10
  1470. package/dist/options-OMAUVcKK.d.ts +0 -10
  1471. package/dist/options-_9arpsX9.js +0 -11
  1472. package/dist/options-a-28mlYT.js +0 -9
  1473. package/dist/options-kLKILdIu.js +0 -10
  1474. package/dist/options-n22NK3PL.js +0 -8
  1475. package/dist/options-qU8vgxhO.js +0 -18
  1476. package/dist/options-te6d5-yz.d.ts +0 -19
  1477. package/dist/options-wFnK3qWl.js +0 -9
  1478. package/dist/options-xVAy3UsV.js +0 -9
  1479. package/dist/organizations-DtehZg3J.js +0 -401
  1480. package/dist/outbox-CsF_iKjx.d.ts +0 -199
  1481. package/dist/overlay/index.d.ts +0 -249
  1482. package/dist/overlay/index.js +0 -561
  1483. package/dist/payments-BtScsgPS.js +0 -16
  1484. package/dist/payments-CBzQIjoX.d.ts +0 -114
  1485. package/dist/permissions-BetA_Fo_.js +0 -34
  1486. package/dist/plugin-Ar5546xh.d.ts +0 -202
  1487. package/dist/plugin-D9bYbYli.js +0 -45
  1488. package/dist/plugins/actor/index.d.ts +0 -19
  1489. package/dist/plugins/actor/index.js +0 -57
  1490. package/dist/plugins/rules/index.d.ts +0 -96
  1491. package/dist/plugins/rules/index.js +0 -235
  1492. package/dist/plugins/soft-delete/index.d.ts +0 -39
  1493. package/dist/plugins/soft-delete/index.js +0 -90
  1494. package/dist/plugins/tenant/index.d.ts +0 -60
  1495. package/dist/plugins/tenant/index.js +0 -119
  1496. package/dist/plugins/timestamps/index.d.ts +0 -11
  1497. package/dist/plugins/timestamps/index.js +0 -47
  1498. package/dist/plugins/validation/index.d.ts +0 -24
  1499. package/dist/plugins/validation/index.js +0 -83
  1500. package/dist/pool-CRkU15dA.d.ts +0 -123
  1501. package/dist/pool-errors-B17BQRW-.js +0 -27
  1502. package/dist/ports-DsJicwI2.d.ts +0 -89
  1503. package/dist/ports-yajgT0t0.js +0 -139
  1504. package/dist/postgrest-DHLlN2nS.d.ts +0 -53
  1505. package/dist/powersync/react/index.d.ts +0 -93
  1506. package/dist/powersync/react/index.js +0 -120
  1507. package/dist/preset-DzcQ5CQM.js +0 -841
  1508. package/dist/problem-BWElIgIb.js +0 -162
  1509. package/dist/problem-DpHB7tWl.d.ts +0 -79
  1510. package/dist/provider-DmiaI1qt.d.ts +0 -112
  1511. package/dist/provider-EJ0-5GwJ.js +0 -57
  1512. package/dist/push-token-BxKmYhwk.d.ts +0 -24
  1513. package/dist/queries-Dw8y9bvz.js +0 -245
  1514. package/dist/rank-result-C_sHjkiz.js +0 -18
  1515. package/dist/rank-result-DwR0FawB.d.ts +0 -14
  1516. package/dist/rate-limit-B_U12PdL.js +0 -49
  1517. package/dist/rate-limit-CrOuXfjj.d.ts +0 -50
  1518. package/dist/rate-limit-DExDw3Cy.js +0 -327
  1519. package/dist/react-28VgUbm9.js +0 -852
  1520. package/dist/react-controller-CKSdtJ10.js +0 -43
  1521. package/dist/react-env-CfA3EdBH.js +0 -20
  1522. package/dist/read-set-BAR84kPC.js +0 -199
  1523. package/dist/recordings-DgDu7AOt.d.ts +0 -119
  1524. package/dist/refusal-DXydjgsS.js +0 -64
  1525. package/dist/refusal-efy5bZMd.d.ts +0 -32
  1526. package/dist/replicas-BvIL4_jL.js +0 -94
  1527. package/dist/resolve-CzUKTIMq.d.ts +0 -289
  1528. package/dist/resolve-DAYdcs22.js +0 -892
  1529. package/dist/resolved-names-Dr7brlLL.js +0 -133
  1530. package/dist/resource-BRRU-A7j.js +0 -91
  1531. package/dist/resource-DYDEnww-.d.ts +0 -115
  1532. package/dist/resource-Dk_JYsOt.js +0 -469
  1533. package/dist/resource-execute-bT9ltHVT.d.ts +0 -15
  1534. package/dist/resource-types-Bzt_bpR5.d.ts +0 -153
  1535. package/dist/resources-BV6j5TTD.js +0 -64
  1536. package/dist/resources-Du5wcL3f.d.ts +0 -7
  1537. package/dist/respond-CZYibxUx.d.ts +0 -101
  1538. package/dist/respond-z_yfyitp.js +0 -100
  1539. package/dist/result-B3m7xtRY.js +0 -146
  1540. package/dist/result-C6jDfedy.d.ts +0 -350
  1541. package/dist/rows-Bb0EPupt.js +0 -80
  1542. package/dist/rows-CtLWqdGQ.js +0 -39
  1543. package/dist/rrule-xDm2znty.js +0 -290
  1544. package/dist/rules-DcW5mj1r.js +0 -287
  1545. package/dist/run-state-CPo-1X2B.d.ts +0 -12
  1546. package/dist/sales-lines-9HsX89aO.d.ts +0 -28
  1547. package/dist/sales-lines-BhrIx2oK.js +0 -41
  1548. package/dist/sales-shared-C_u68eq2.js +0 -22
  1549. package/dist/sales-shared-DAAGwQwN.d.ts +0 -8
  1550. package/dist/schemas-9Ci3K0Hk.js +0 -103
  1551. package/dist/schemas-ypoQZ_6N.js +0 -157
  1552. package/dist/scores-CsURQDUB.d.ts +0 -172
  1553. package/dist/scores-DdPZVVt8.js +0 -177
  1554. package/dist/search-ToCOlCZ8.js +0 -106
  1555. package/dist/sections-DjxYmpu-.js +0 -26
  1556. package/dist/server-types-BOs-eFpo.d.ts +0 -809
  1557. package/dist/session-BgsOPGZs.d.ts +0 -97
  1558. package/dist/settings-mL-i7QUM.js +0 -93
  1559. package/dist/shared-LmlfYPv4.js +0 -60
  1560. package/dist/shared-eVrl39dX.js +0 -17
  1561. package/dist/sign-in-lAyf6Ohy.js +0 -386
  1562. package/dist/signatures-GUBuhLOB.js +0 -145
  1563. package/dist/signatures-zbu6KTNQ.d.ts +0 -43
  1564. package/dist/signers-D6ecZl22.d.ts +0 -390
  1565. package/dist/signing-keys-B3RHGMMu.d.ts +0 -119
  1566. package/dist/signing-keys-fWapUzi0.js +0 -164
  1567. package/dist/solid-bind-C1jeq4Qm.d.ts +0 -11
  1568. package/dist/solid-bind-iHGfGtBK.js +0 -38
  1569. package/dist/solid-controller-DGuv7V8a.js +0 -13
  1570. package/dist/spec-CoWHDoud.js +0 -119
  1571. package/dist/spec-pins-CZ2CL8YZ.d.ts +0 -120
  1572. package/dist/spec-pins-D3Tm6HJi.js +0 -60
  1573. package/dist/sql-CVYjOUyG.js +0 -421
  1574. package/dist/sql-rQDL6PIL.js +0 -122247
  1575. package/dist/sso-B744gHeS.d.ts +0 -161
  1576. package/dist/sso-Bt9HocgW.js +0 -217
  1577. package/dist/standard-DbQsD2xZ.d.ts +0 -7
  1578. package/dist/standard-DtkpFGkS.js +0 -25
  1579. package/dist/stats-qCEV5M3B.js +0 -1147
  1580. package/dist/store-o0HwYXl8.d.ts +0 -83
  1581. package/dist/subject-readers-CsTpx44c.js +0 -49
  1582. package/dist/subject-readers-DEZ45DQF.d.ts +0 -21
  1583. package/dist/subjects-B6p4oAZJ.d.ts +0 -78
  1584. package/dist/subjects-DXFmanh5.d.ts +0 -90
  1585. package/dist/subjects-DevU_atb.js +0 -107
  1586. package/dist/support-Ds1-UCN4.js +0 -534
  1587. package/dist/support-view-vwJbRMpV.d.ts +0 -17
  1588. package/dist/svelte-bind-BHN5a8VV.js +0 -46
  1589. package/dist/svelte-bind-Ja6CtQGp.d.ts +0 -13
  1590. package/dist/svelte-controller-oFKC9AYu.js +0 -19
  1591. package/dist/table-schema-BcB-VCQb.js +0 -293
  1592. package/dist/table-schema-Cb-IV_pZ.d.ts +0 -78
  1593. package/dist/tags-CLXi2c6O.d.ts +0 -30
  1594. package/dist/tags-C_ym1yDM.js +0 -39
  1595. package/dist/tags-EnvIccSJ.js +0 -86
  1596. package/dist/tanstack-db/supabase/index.d.ts +0 -66
  1597. package/dist/tanstack-db/supabase/index.js +0 -271
  1598. package/dist/tax-CIIxd8Zf.d.ts +0 -170
  1599. package/dist/tax-DmOMjrYc.js +0 -140
  1600. package/dist/tee-DwkUvJD_.js +0 -101
  1601. package/dist/template-BWP7IXZg.js +0 -126
  1602. package/dist/temporal-required-B8qQHYbI.js +0 -20
  1603. package/dist/tenant-Bg4PDLkG.d.ts +0 -17
  1604. package/dist/tenant-DnMqeNIM.js +0 -27
  1605. package/dist/timeline-0_hTBH0-.js +0 -52
  1606. package/dist/timeline-DUUsPLv5.d.ts +0 -152
  1607. package/dist/timing-C5NzaEgy.js +0 -95
  1608. package/dist/topic-CPOmMgkf.js +0 -643
  1609. package/dist/topic-D9j8G2dw.d.ts +0 -415
  1610. package/dist/types-BEDfwXL4.d.ts +0 -251
  1611. package/dist/types-BRJHGhSq.d.ts +0 -177
  1612. package/dist/types-BTK75521.js +0 -8
  1613. package/dist/types-CGUDoF5I.d.ts +0 -624
  1614. package/dist/types-DkPE7yd2.d.ts +0 -194
  1615. package/dist/types-QHeku_6b.d.ts +0 -217
  1616. package/dist/types-uHD9yANu.d.ts +0 -700
  1617. package/dist/undo-B696duxr.d.ts +0 -46
  1618. package/dist/undo-vutx78k8.js +0 -44
  1619. package/dist/upload-claim-D_wgDbi7.js +0 -33
  1620. package/dist/usage-BI1E2940.js +0 -264
  1621. package/dist/usage-DBcVGqnr.d.ts +0 -232
  1622. package/dist/user-change-CSR_prhd.js +0 -133
  1623. package/dist/variants-DL7NpFJ7.js +0 -53
  1624. package/dist/vault-BQTdu4eH.d.ts +0 -62
  1625. package/dist/verify-27w0I5C9.js +0 -130
  1626. package/dist/verify-BmuCB4PW.d.ts +0 -146
  1627. package/dist/view-2_I-2ukO.d.ts +0 -90
  1628. package/dist/view-BtgqxQLM.js +0 -108
  1629. package/dist/vue-bind-CFxon-Vs.js +0 -45
  1630. package/dist/vue-bind-TPkbLl4z.d.ts +0 -11
  1631. package/dist/vue-controller-WtbuT-Ux.js +0 -13
  1632. package/dist/watch-CfMT6vX7.js +0 -139
  1633. package/dist/watch-DziJudwj.d.ts +0 -93
  1634. package/dist/watch-topic-CIT3UlAh.d.ts +0 -31
  1635. package/dist/wire-Bizdxvp-.js +0 -66
  1636. package/dist/work-items-Cnntm8ij.d.ts +0 -238
  1637. package/dist/workflow-builder-2q1iqHYG.js +0 -699
  1638. package/dist/workflow-sdk-BTYWQQg9.d.ts +0 -163
  1639. package/dist/workflow-sdk-_pqDUwNK.js +0 -242
  1640. package/dist/workflow-sdk-world-BIwGVy6S.js +0 -2401
  1641. package/dist/workflows-D8U7KyXJ.d.ts +0 -258
  1642. package/dist/workflows-VJBSV-QR.js +0 -285
  1643. package/skills/better-supabase/references/plugins.md +0 -71
@@ -0,0 +1,2073 @@
1
+ import { r as isPlainObject } from "./clone-CkG0-hlI.js";
2
+ import { n as isRecord } from "./guards-6F2bCtQR.js";
3
+ import { n as instanceProperty } from "./db-blocks-DJGbjIPz.js";
4
+ import { s as problemType, t as PROBLEM_CONTENT_TYPE } from "./problem-Bf0cJ7tk.js";
5
+ import { t as buildJsonSchema } from "./json-schema-Ca6gYbEP.js";
6
+ import { r as dataschemaOf } from "./cloud-event-XsM53POL.js";
7
+ import { r as planResource } from "./resource-DvgXqZB_.js";
8
+ import { n as pageQuery, r as pageSchema } from "./resource-schemas-up6bKOUi.js";
9
+ import { ROW_EVENT_TYPES } from "./events/index.js";
10
+ import { t as topicStatus } from "./realtime-status-asHvhiOh.js";
11
+ //#region src/spec/merge.ts
12
+ /** Escapes a key for a JSON Pointer (RFC 6901). */
13
+ function pointerToken(key) {
14
+ return key.replaceAll("~", "~0").replaceAll("/", "~1");
15
+ }
16
+ /**
17
+ * Deep merge: objects merge key by key, anything else (arrays included) is
18
+ * replaced by the patch. `onConflict` hears each replaced leaf whose value
19
+ * differs, with its JSON Pointer. Neither input is changed.
20
+ */
21
+ function mergeJson(base, patch, onConflict, pointer = "") {
22
+ if (!isPlainObject(base) || !isPlainObject(patch)) {
23
+ if (onConflict && base !== void 0 && JSON.stringify(base) !== JSON.stringify(patch)) onConflict(pointer);
24
+ return patch;
25
+ }
26
+ const out = { ...base };
27
+ for (const [key, value] of Object.entries(patch)) out[key] = Object.hasOwn(base, key) ? mergeJson(base[key], value, onConflict, `${pointer}/${pointerToken(key)}`) : value;
28
+ return out;
29
+ }
30
+ //#endregion
31
+ //#region src/spec/schemas.ts
32
+ /** `customer_tags` to `CustomerTags`. */
33
+ function pascal(value) {
34
+ return value.replaceAll(/(^|[_\-.\s])(\w)/g, (_, _sep, char) => char.toUpperCase());
35
+ }
36
+ const schemaRef = (name) => ({ $ref: `#/components/schemas/${name}` });
37
+ const tableDefs = /* @__PURE__ */ new WeakMap();
38
+ /**
39
+ * The 2020-12 `$defs` for every table (`customersRow`, `customersInsert`),
40
+ * built once per metadata object and JSON column config.
41
+ */
42
+ function tableSchemas(meta, json = {}) {
43
+ let byJson = tableDefs.get(meta);
44
+ if (!byJson) {
45
+ byJson = /* @__PURE__ */ new Map();
46
+ tableDefs.set(meta, byJson);
47
+ }
48
+ const key = JSON.stringify(json);
49
+ let defs = byJson.get(key);
50
+ if (!defs) {
51
+ defs = buildJsonSchema({
52
+ meta,
53
+ config: { json }
54
+ })["$defs"];
55
+ byJson.set(key, defs);
56
+ }
57
+ return defs;
58
+ }
59
+ const converted = /* @__PURE__ */ new WeakMap();
60
+ function nameOf(schema) {
61
+ const id = schema["$id"] ?? schema["id"];
62
+ if (typeof id !== "string" || id === "") return;
63
+ return (id.split(/[/#]/u).findLast((part) => part !== "") ?? id).replace(/\.(?:schema\.)?json$/u, "");
64
+ }
65
+ /**
66
+ * Converts a Standard Schema through Standard JSON Schema (2020-12), or
67
+ * `undefined` when the library does not implement it. The schema's `$id`, `id`
68
+ * and `$schema` are lifted out: the id becomes the component name.
69
+ */
70
+ function convertStandard(schema, direction) {
71
+ let cache = converted.get(schema);
72
+ if (!cache) {
73
+ cache = /* @__PURE__ */ new Map();
74
+ converted.set(schema, cache);
75
+ }
76
+ const hit = cache.get(direction);
77
+ if (hit !== void 0) return hit ?? void 0;
78
+ const convert = schema["~standard"].jsonSchema?.[direction];
79
+ if (typeof convert !== "function") {
80
+ cache.set(direction, null);
81
+ return;
82
+ }
83
+ const raw = convert({ target: "draft-2020-12" });
84
+ const name = nameOf(raw);
85
+ const { $schema: _schema, $id: _id, id: _plainId, ...rest } = raw;
86
+ const result = {
87
+ schema: rest,
88
+ ...name ? { name } : {}
89
+ };
90
+ cache.set(direction, result);
91
+ return result;
92
+ }
93
+ //#endregion
94
+ //#region src/spec/presets.ts
95
+ /** JSON Schema for RFC 9457 Problem Details as better-supabase sends them. */
96
+ const PROBLEM_SCHEMA = {
97
+ type: "object",
98
+ required: [
99
+ "type",
100
+ "title",
101
+ "status"
102
+ ],
103
+ properties: {
104
+ type: {
105
+ type: "string",
106
+ format: "uri-reference",
107
+ examples: [problemType("not_found").type]
108
+ },
109
+ title: { type: "string" },
110
+ status: {
111
+ type: "integer",
112
+ minimum: 100,
113
+ maximum: 599
114
+ },
115
+ detail: { type: "string" },
116
+ instance: { type: "string" },
117
+ kind: { type: "string" },
118
+ code: { type: "string" },
119
+ hint: { type: "string" },
120
+ constraint: { type: "string" },
121
+ column: { type: "string" },
122
+ columns: {
123
+ type: "array",
124
+ items: { type: "string" }
125
+ },
126
+ required: {
127
+ type: "string",
128
+ enum: ["aal1", "aal2"]
129
+ },
130
+ scopes: {
131
+ type: "array",
132
+ items: { type: "string" }
133
+ },
134
+ permission: { type: "string" },
135
+ approval: {
136
+ type: "object",
137
+ required: ["id"],
138
+ properties: { id: { type: "string" } }
139
+ },
140
+ issues: {
141
+ type: "array",
142
+ items: {
143
+ type: "object",
144
+ required: ["message"],
145
+ properties: {
146
+ message: { type: "string" },
147
+ path: {
148
+ type: "array",
149
+ items: { type: ["string", "integer"] }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ };
156
+ /** The default error responses: today's Problem Details answers, 400 to 422. */
157
+ const DEFAULT_ERRORS = [
158
+ {
159
+ name: "BadRequest",
160
+ status: 400,
161
+ description: "The request is invalid."
162
+ },
163
+ {
164
+ name: "Unauthorized",
165
+ status: 401,
166
+ description: "Missing or invalid credentials."
167
+ },
168
+ {
169
+ name: "Forbidden",
170
+ status: 403,
171
+ description: "Row-level security or a plugin denied the request."
172
+ },
173
+ {
174
+ name: "NotFound",
175
+ status: 404,
176
+ description: "No row matches."
177
+ },
178
+ {
179
+ name: "Conflict",
180
+ status: 409,
181
+ description: "A unique or foreign key constraint failed."
182
+ },
183
+ {
184
+ name: "Unprocessable",
185
+ status: 422,
186
+ description: "Validation or a check constraint failed."
187
+ }
188
+ ];
189
+ /** Name of the shared 403 response of operations that declare a permission. */
190
+ const PERMISSION_DENIED = "PermissionDenied";
191
+ const problem = (code, detail, extra = {}) => ({ value: {
192
+ ...problemType("forbidden"),
193
+ status: 403,
194
+ kind: "forbidden",
195
+ code,
196
+ detail,
197
+ ...extra
198
+ } });
199
+ /** The 403 of an operation with a permission, with one example per problem code. */
200
+ function permissionDeniedResponse() {
201
+ return {
202
+ description: "The authorizer denied the permission (`PERMISSION_DENIED`), the token lacks an OAuth scope (`INSUFFICIENT_SCOPE`), the action needs an approval (`APPROVAL_REQUIRED`), or row-level security denied the request.",
203
+ content: { [PROBLEM_CONTENT_TYPE]: {
204
+ schema: schemaRef("Problem"),
205
+ examples: {
206
+ permissionDenied: {
207
+ summary: "PERMISSION_DENIED",
208
+ ...problem("PERMISSION_DENIED", "Permission invoices.update is required", { permission: "invoices.update" })
209
+ },
210
+ insufficientScope: {
211
+ summary: "INSUFFICIENT_SCOPE",
212
+ ...problem("INSUFFICIENT_SCOPE", "The token lacks a required scope", { scopes: ["invoices.update"] })
213
+ },
214
+ approvalRequired: {
215
+ summary: "APPROVAL_REQUIRED",
216
+ ...problem("APPROVAL_REQUIRED", "invoices.update needs an approval", {
217
+ permission: "invoices.update",
218
+ approval: { id: "apr_123" }
219
+ })
220
+ }
221
+ }
222
+ } }
223
+ };
224
+ }
225
+ function errorResponse(error) {
226
+ return {
227
+ description: error.description,
228
+ content: { [PROBLEM_CONTENT_TYPE]: { schema: schemaRef("Problem") } }
229
+ };
230
+ }
231
+ /** The scheme name of the `oauth2` preset. */
232
+ const OAUTH_SCHEME = "supabaseOAuth";
233
+ /** Security schemes and top-level requirements for the presets. */
234
+ function resolveSecurity(presets, supabaseUrl, oauthScopes = {}) {
235
+ const schemes = {};
236
+ const requirements = [];
237
+ for (const preset of presets) {
238
+ if (typeof preset === "object") {
239
+ schemes[preset.name] = preset.scheme;
240
+ requirements.push({ [preset.name]: preset.scopes ?? [] });
241
+ continue;
242
+ }
243
+ switch (preset) {
244
+ case "bearer":
245
+ schemes["supabaseJwt"] = {
246
+ type: "http",
247
+ scheme: "bearer",
248
+ bearerFormat: "JWT",
249
+ description: "A Supabase access token. Requests run as that user under row-level security."
250
+ };
251
+ requirements.push({ supabaseJwt: [] });
252
+ break;
253
+ case "oauth2": {
254
+ if (!supabaseUrl) throw new TypeError("better-supabase/spec: oauth2 security needs supabaseUrl");
255
+ const origin = supabaseUrl.replace(/\/$/, "");
256
+ const auth = `${origin}/auth/v1`;
257
+ schemes[OAUTH_SCHEME] = {
258
+ type: "oauth2",
259
+ description: "The Supabase OAuth 2.1 server.",
260
+ flows: { authorizationCode: {
261
+ authorizationUrl: `${auth}/oauth/authorize`,
262
+ tokenUrl: `${auth}/oauth/token`,
263
+ scopes: oauthScopes
264
+ } },
265
+ metadataUrl: `${origin}/.well-known/oauth-authorization-server/auth/v1`
266
+ };
267
+ requirements.push({ [OAUTH_SCHEME]: [] });
268
+ break;
269
+ }
270
+ case "apiKey":
271
+ schemes["supabaseApiKey"] = {
272
+ type: "apiKey",
273
+ name: "apikey",
274
+ in: "header",
275
+ description: "The project's publishable key."
276
+ };
277
+ requirements.push({ supabaseApiKey: [] });
278
+ break;
279
+ default: throw new TypeError(`Unknown security preset "${String(preset)}"`);
280
+ }
281
+ }
282
+ return {
283
+ schemes,
284
+ requirements
285
+ };
286
+ }
287
+ //#endregion
288
+ //#region src/spec/build-resource.ts
289
+ const METHODS = /* @__PURE__ */ new Set([
290
+ "get",
291
+ "put",
292
+ "post",
293
+ "patch",
294
+ "delete",
295
+ "head",
296
+ "options",
297
+ "trace",
298
+ "query"
299
+ ]);
300
+ function isMethod(value) {
301
+ return METHODS.has(value);
302
+ }
303
+ /** The error statuses each operation can answer with. */
304
+ const OPERATION_STATUSES = {
305
+ list: [
306
+ 400,
307
+ 401,
308
+ 403
309
+ ],
310
+ create: [
311
+ 400,
312
+ 401,
313
+ 403,
314
+ 409,
315
+ 422
316
+ ],
317
+ get: [
318
+ 401,
319
+ 403,
320
+ 404
321
+ ],
322
+ update: [
323
+ 400,
324
+ 401,
325
+ 403,
326
+ 404,
327
+ 409,
328
+ 422
329
+ ],
330
+ delete: [
331
+ 401,
332
+ 403,
333
+ 404,
334
+ 409
335
+ ]
336
+ };
337
+ /** The error statuses each contract verb can answer with. */
338
+ const VERB_STATUSES$1 = {
339
+ page: [
340
+ 400,
341
+ 401,
342
+ 403
343
+ ],
344
+ count: [
345
+ 400,
346
+ 401,
347
+ 403
348
+ ],
349
+ aggregate: [
350
+ 400,
351
+ 401,
352
+ 403
353
+ ],
354
+ upsert: [
355
+ 400,
356
+ 401,
357
+ 403,
358
+ 409,
359
+ 422
360
+ ]
361
+ };
362
+ /**
363
+ * Statuses an operation only documents when it can answer with them; other
364
+ * errors apply everywhere.
365
+ */
366
+ const SCOPED_STATUSES = /* @__PURE__ */ new Set([
367
+ 400,
368
+ 401,
369
+ 403,
370
+ 404,
371
+ 409,
372
+ 422
373
+ ]);
374
+ const JSON_TYPE = "application/json";
375
+ function pageParameters(cursor, maxPageSize) {
376
+ return pageQuery(cursor, maxPageSize).map((p) => ({
377
+ name: p.name,
378
+ in: "query",
379
+ required: false,
380
+ description: p.description,
381
+ schema: p.schema
382
+ }));
383
+ }
384
+ function isParameter(value) {
385
+ return isPlainObject(value) && typeof value["name"] === "string" && typeof value["in"] === "string" && isPlainObject(value["schema"]);
386
+ }
387
+ function isPlanCarrier(input) {
388
+ return typeof input === "object" && "plan" in input;
389
+ }
390
+ /**
391
+ * `description` and `deprecated` from comments, read structurally so older
392
+ * metadata still works.
393
+ */
394
+ function docsOf(value) {
395
+ if (!value) return {};
396
+ const description = "description" in value ? value.description : void 0;
397
+ const deprecated = "deprecated" in value ? value.deprecated : void 0;
398
+ return {
399
+ ...typeof description === "string" && description !== "" ? { description } : {},
400
+ ...deprecated === true ? { deprecated: true } : {}
401
+ };
402
+ }
403
+ function jsonContent(schema) {
404
+ return { [JSON_TYPE]: { schema } };
405
+ }
406
+ function jsonResponse(schema, description) {
407
+ return {
408
+ description,
409
+ content: jsonContent(schema)
410
+ };
411
+ }
412
+ function mutableProperties(schema) {
413
+ const properties = schema["properties"];
414
+ if (!isPlainObject(properties)) return;
415
+ const copy = {};
416
+ for (const [key, value] of Object.entries(properties)) if (isPlainObject(value)) copy[key] = { ...value };
417
+ schema["properties"] = copy;
418
+ return copy;
419
+ }
420
+ function createBuildContext(meta, options) {
421
+ const prefix = options.extensionPrefix ?? "x-better-supabase-";
422
+ const diagnostics = [];
423
+ const report = (diagnostic) => {
424
+ diagnostics.push(diagnostic);
425
+ };
426
+ const base = (options.basePath ?? "").replace(/\/$/, "");
427
+ const globalErrors = options.errors ?? DEFAULT_ERRORS;
428
+ const schemas = { Problem: structuredClone(PROBLEM_SCHEMA) };
429
+ const responses = {};
430
+ for (const error of globalErrors) responses[error.name] = errorResponse(error);
431
+ const operations = [];
432
+ const tags = [...options.tags ?? []];
433
+ const served = /* @__PURE__ */ new Map();
434
+ const { authorizer } = options;
435
+ const addTag = (name, description) => {
436
+ if (tags.some((tag) => tag.name === name)) return;
437
+ tags.push({
438
+ name,
439
+ ...description ? { description } : {}
440
+ });
441
+ };
442
+ const addComponent = (name, schema) => {
443
+ const existing = schemas[name];
444
+ if (existing && JSON.stringify(existing) !== JSON.stringify(schema)) {
445
+ report({
446
+ code: "component-conflict",
447
+ severity: "error",
448
+ message: `Two different schemas are named "${name}"; the first one is kept`,
449
+ pointer: `/components/schemas/${pointerToken(name)}`
450
+ });
451
+ return;
452
+ }
453
+ schemas[name] = schema;
454
+ };
455
+ const keyOf = (ref, where) => {
456
+ if (authorizer) try {
457
+ return authorizer.key(ref);
458
+ } catch {
459
+ report({
460
+ code: "permission-unresolved",
461
+ severity: "error",
462
+ message: `${where}: the authorizer has no key for this permission`
463
+ });
464
+ return;
465
+ }
466
+ if (typeof ref === "string") return ref;
467
+ report({
468
+ code: "permission-unresolved",
469
+ severity: "error",
470
+ message: `${where}: a permission that is not a string needs an authorizer`
471
+ });
472
+ };
473
+ const converted = (standard, direction, where) => {
474
+ const result = convertStandard(standard, direction);
475
+ if (!result) report({
476
+ code: "schema-unconvertible",
477
+ severity: "warning",
478
+ message: `${where}: the schema does not implement Standard JSON Schema, so the spec allows any value`
479
+ });
480
+ return result;
481
+ };
482
+ const schemaOf = (standard, direction, role, operationId) => {
483
+ const result = converted(standard, direction, `${operationId} ${role}`);
484
+ if (!result) return {};
485
+ const name = options.componentName ? options.componentName({
486
+ kind: "schema",
487
+ id: result.name,
488
+ schema: result.schema,
489
+ role,
490
+ operationId
491
+ }) : result.name;
492
+ if (!name) return structuredClone(result.schema);
493
+ addComponent(name, structuredClone(result.schema));
494
+ return schemaRef(name);
495
+ };
496
+ const objectParameters = (standard, location, where) => {
497
+ const result = converted(standard, "input", where);
498
+ const properties = result?.schema["properties"];
499
+ if (!result || !isPlainObject(properties)) return [];
500
+ const required = result.schema["required"];
501
+ const requiredNames = Array.isArray(required) ? required : [];
502
+ return Object.entries(properties).flatMap(([name, schema]) => {
503
+ if (!isPlainObject(schema)) return [];
504
+ const description = schema["description"];
505
+ return [{
506
+ name,
507
+ in: location,
508
+ required: location === "path" || requiredNames.includes(name),
509
+ ...typeof description === "string" ? { description } : {},
510
+ schema: structuredClone(schema)
511
+ }];
512
+ });
513
+ };
514
+ const usedErrors = (errors, statuses, permission) => {
515
+ const out = {};
516
+ for (const error of errors) {
517
+ if (SCOPED_STATUSES.has(error.status) && !statuses.includes(error.status)) continue;
518
+ const status = String(error.status);
519
+ if (Object.hasOwn(out, status)) continue;
520
+ if (error.status === 403 && permission) continue;
521
+ responses[error.name] ??= errorResponse(error);
522
+ out[status] = { ref: error.name };
523
+ }
524
+ if (permission) {
525
+ responses[PERMISSION_DENIED] ??= permissionDeniedResponse();
526
+ out["403"] = { ref: PERMISSION_DENIED };
527
+ }
528
+ return out;
529
+ };
530
+ const extendFor = (extend, name) => {
531
+ if (!extend) return;
532
+ const all = extend["*"];
533
+ const own = extend[name];
534
+ if (!all && !own) return;
535
+ return mergeJson(all ?? {}, own ?? {});
536
+ };
537
+ return {
538
+ meta,
539
+ options,
540
+ prefix,
541
+ base,
542
+ globalErrors,
543
+ diagnostics,
544
+ schemas,
545
+ responses,
546
+ operations,
547
+ tags,
548
+ served,
549
+ report,
550
+ addTag,
551
+ addComponent,
552
+ keyOf,
553
+ schemaOf,
554
+ objectParameters,
555
+ usedErrors,
556
+ extendFor
557
+ };
558
+ }
559
+ function resourceScope(ctx, key, input) {
560
+ const { meta, options, prefix, base, globalErrors, operations, served, report, addTag, addComponent, keyOf, schemaOf, usedErrors, extendFor } = ctx;
561
+ const { authorizer } = options;
562
+ let plan;
563
+ if (isPlanCarrier(input)) plan = input.plan;
564
+ else {
565
+ if (!meta.tables[key]) throw new TypeError(`better-supabase/spec: unknown table "${key}"`);
566
+ plan = planResource(meta, key, input === true ? {} : input, authorizer);
567
+ }
568
+ const tableKey = plan.table;
569
+ const table = plan.meta;
570
+ const description = plan.description;
571
+ const name = pascal(tableKey);
572
+ const tableDocs = docsOf(table);
573
+ const defs = tableSchemas(meta, options.json ?? {});
574
+ const componentFor = (variant) => {
575
+ const defaultName = `${name}${variant}`;
576
+ return options.componentName?.({
577
+ kind: "table",
578
+ table: tableKey,
579
+ variant,
580
+ defaultName
581
+ }) ?? defaultName;
582
+ };
583
+ const components = {};
584
+ for (const variant of [
585
+ "Row",
586
+ "Insert",
587
+ "Update"
588
+ ]) {
589
+ const def = defs[`${tableKey}${variant}`];
590
+ if (!def) continue;
591
+ const schema = structuredClone(def);
592
+ if (tableDocs.description && schema["description"] === void 0) schema["description"] = tableDocs.description;
593
+ if (tableDocs.deprecated) schema["deprecated"] = true;
594
+ const properties = mutableProperties(schema);
595
+ for (const [column, property] of Object.entries(properties ?? {})) {
596
+ const docs = docsOf(table.columns[column]);
597
+ if (docs.description && property["description"] === void 0) property["description"] = docs.description;
598
+ if (docs.deprecated) property["deprecated"] = true;
599
+ }
600
+ const examples = options.examples?.[tableKey];
601
+ if (variant === "Row" && examples && examples.length > 0) schema["examples"] = structuredClone(examples);
602
+ const componentName = componentFor(variant);
603
+ components[variant] = componentName;
604
+ addComponent(componentName, schema);
605
+ }
606
+ const rowName = components.Row ?? componentFor("Row");
607
+ const cursor = plan.pagination === "cursor";
608
+ const pageName = componentFor("Page");
609
+ addComponent(pageName, pageSchema(schemaRef(rowName), cursor));
610
+ const tag = description.tag ?? tableKey;
611
+ addTag(tag, description.description ?? tableDocs.description);
612
+ const collection = `${base}${description.path ?? `/${tableKey}`}`;
613
+ const keyParam = plan.keyParam;
614
+ const rowProperties = defs[`${tableKey}Row`]?.["properties"];
615
+ const keySchema = keyParam && isPlainObject(rowProperties) ? rowProperties[keyParam] : void 0;
616
+ const idParameter = keyParam ? {
617
+ name: keyParam,
618
+ in: "path",
619
+ required: true,
620
+ schema: isPlainObject(keySchema) ? structuredClone(keySchema) : { type: "string" }
621
+ } : void 0;
622
+ const item = keyParam ? `${collection}/{${keyParam}}` : void 0;
623
+ const errors = description.errors ?? globalErrors;
624
+ const servedTable = {
625
+ table,
626
+ components,
627
+ operations: []
628
+ };
629
+ served.set(tableKey, servedTable);
630
+ const names = /* @__PURE__ */ new Set([
631
+ ...plan.operations,
632
+ ...plan.verbs,
633
+ ...plan.actions.map((action) => action.name)
634
+ ]);
635
+ for (const extendKey of Object.keys(description.extend ?? {})) if (extendKey !== "*" && !names.has(extendKey)) report({
636
+ code: "extend-unknown",
637
+ severity: "warning",
638
+ message: `${tableKey}.extend.${extendKey} names no operation or action of the resource`
639
+ });
640
+ const add = (opName, source, method, path, fields) => {
641
+ const defaultId = `${opName}${name}`;
642
+ const id = options.operationId?.({
643
+ source,
644
+ method,
645
+ path,
646
+ defaultId
647
+ }) ?? defaultId;
648
+ const ref = plan.permissions[opName];
649
+ const permission = ref === void 0 ? void 0 : keyOf(ref, `${tableKey}.${opName}`);
650
+ const extend = extendFor(description.extend, opName);
651
+ const { extensions, ...rest } = fields;
652
+ const operation = {
653
+ id,
654
+ method,
655
+ path,
656
+ tags: [tag],
657
+ source,
658
+ ...rest,
659
+ extensions: {
660
+ [`${prefix}table`]: `${table.schema}.${table.name}`,
661
+ ...extensions,
662
+ ...permission === void 0 ? {} : { [`${prefix}permission`]: permission }
663
+ },
664
+ ...permission === void 0 ? {} : { permission },
665
+ ...description.security ? { security: description.security } : {},
666
+ ...extend ? { extend } : {},
667
+ ...tableDocs.deprecated ? { deprecated: true } : {}
668
+ };
669
+ operations.push(operation);
670
+ servedTable.operations.push(operation);
671
+ };
672
+ const outputOf = (operation, fallback) => {
673
+ const output = description.output?.[operation];
674
+ return output ? schemaOf(output, "output", "output", `${operation}${name}`) : fallback;
675
+ };
676
+ const resourceOp = (operation) => ({
677
+ kind: "resource",
678
+ table: tableKey,
679
+ operation
680
+ });
681
+ const errorsFor = (operation) => usedErrors(errors, OPERATION_STATUSES[operation], plan.permissions[operation] !== void 0);
682
+ const opExtension = (operation) => ({ [`${prefix}operation`]: operation });
683
+ return {
684
+ ctx,
685
+ plan,
686
+ tableKey,
687
+ name,
688
+ description,
689
+ components,
690
+ componentFor,
691
+ rowName,
692
+ pageName,
693
+ cursor,
694
+ collection,
695
+ item,
696
+ idParameter,
697
+ errors,
698
+ add,
699
+ outputOf,
700
+ resourceOp,
701
+ errorsFor,
702
+ opExtension
703
+ };
704
+ }
705
+ function addTableOperation(scope, operation) {
706
+ const { plan, tableKey, name, description, components, componentFor, rowName, pageName, cursor, collection, item, idParameter, add, outputOf, resourceOp, errorsFor, opExtension } = scope;
707
+ const { schemaOf } = scope.ctx;
708
+ switch (operation) {
709
+ case "list": {
710
+ const listOutput = description.output?.list;
711
+ const pageRef = listOutput ? pageSchema(schemaOf(listOutput, "output", "item", `list${name}`), cursor) : schemaRef(pageName);
712
+ add("list", resourceOp("list"), "get", collection, {
713
+ summary: `List ${tableKey}`,
714
+ extensions: opExtension("list"),
715
+ parameters: description.list ? description.list.openapi.filter(isParameter) : pageParameters(cursor, plan.maxPageSize),
716
+ responses: {
717
+ "200": jsonResponse(pageRef, `A page of ${tableKey}.`),
718
+ ...errorsFor("list")
719
+ }
720
+ });
721
+ break;
722
+ }
723
+ case "create": {
724
+ const body = description.input?.create ? schemaOf(description.input.create, "input", "input", `create${name}`) : schemaRef(components.Insert ?? componentFor("Insert"));
725
+ add("create", resourceOp("create"), "post", collection, {
726
+ summary: `Create a ${tableKey} row`,
727
+ extensions: opExtension("create"),
728
+ parameters: [],
729
+ requestBody: {
730
+ required: true,
731
+ content: jsonContent(body)
732
+ },
733
+ responses: {
734
+ "201": jsonResponse(outputOf("create", schemaRef(rowName)), "Created."),
735
+ ...errorsFor("create")
736
+ }
737
+ });
738
+ break;
739
+ }
740
+ case "get":
741
+ if (!item || !idParameter) break;
742
+ add("get", resourceOp("get"), "get", item, {
743
+ summary: `Get a ${tableKey} row`,
744
+ extensions: opExtension("get"),
745
+ parameters: [idParameter],
746
+ responses: {
747
+ "200": jsonResponse(outputOf("get", schemaRef(rowName)), "The row."),
748
+ ...errorsFor("get")
749
+ }
750
+ });
751
+ break;
752
+ case "update": {
753
+ if (!item || !idParameter) break;
754
+ const body = description.input?.update ? schemaOf(description.input.update, "input", "input", `update${name}`) : schemaRef(components.Update ?? componentFor("Update"));
755
+ add("update", resourceOp("update"), "patch", item, {
756
+ summary: `Update a ${tableKey} row`,
757
+ extensions: opExtension("update"),
758
+ parameters: [idParameter],
759
+ requestBody: {
760
+ required: true,
761
+ content: jsonContent(body)
762
+ },
763
+ responses: {
764
+ "200": jsonResponse(outputOf("update", schemaRef(rowName)), "Updated."),
765
+ ...errorsFor("update")
766
+ }
767
+ });
768
+ break;
769
+ }
770
+ case "delete":
771
+ if (!item || !idParameter) break;
772
+ add("delete", resourceOp("delete"), "delete", item, {
773
+ summary: `Delete a ${tableKey} row`,
774
+ extensions: opExtension("delete"),
775
+ parameters: [idParameter],
776
+ responses: {
777
+ "204": { description: "Deleted." },
778
+ ...errorsFor("delete")
779
+ }
780
+ });
781
+ break;
782
+ default: throw new TypeError(`better-supabase/spec: unknown operation "${String(operation)}"`);
783
+ }
784
+ }
785
+ function addAction(scope, action) {
786
+ const { tableKey, name, idParameter, collection, errors, add } = scope;
787
+ const { prefix, schemaOf, objectParameters, usedErrors } = scope.ctx;
788
+ const method = action.method.toLowerCase();
789
+ if (!isMethod(method)) throw new TypeError(`${tableKey}.actions.${action.name}: unknown method`);
790
+ const operationId = `${action.name}${name}`;
791
+ const parameters = [...action.params.length > 0 && idParameter ? [idParameter] : [], ...action.query ? objectParameters(action.query, "query", `${operationId} query`) : []];
792
+ const status = String(action.status ?? (action.output ? 200 : 204));
793
+ const statuses = [
794
+ ...action.input || action.query ? [400] : [],
795
+ 401,
796
+ 403,
797
+ ...action.params.length > 0 ? [404] : [],
798
+ ...action.input ? [422] : []
799
+ ];
800
+ add(action.name, {
801
+ kind: "action",
802
+ table: tableKey,
803
+ action: action.name
804
+ }, method, `${collection}${action.path}`, {
805
+ ...action.summary ? { summary: action.summary } : {},
806
+ ...action.description ? { description: action.description } : {},
807
+ ...action.deprecated ? { deprecated: true } : {},
808
+ extensions: {
809
+ [`${prefix}action`]: action.name,
810
+ ...action.emits ? { [`${prefix}emits`]: [...action.emits] } : {}
811
+ },
812
+ parameters,
813
+ ...action.input ? { requestBody: {
814
+ required: true,
815
+ content: jsonContent(schemaOf(action.input, "input", "input", operationId))
816
+ } } : {},
817
+ responses: {
818
+ [status]: action.output ? jsonResponse(schemaOf(action.output, "output", "output", operationId), action.summary ?? "Done.") : { description: action.summary ?? "Done." },
819
+ ...usedErrors(errors, statuses, action.permission !== void 0)
820
+ }
821
+ });
822
+ }
823
+ const VERB_ARGUMENTS = {
824
+ page: "The page arguments of `db.<table>.page()`: `where`, `orderBy`, `size` with `page`, `offset` with `limit`, or `after`.",
825
+ count: "The arguments of `db.<table>.count()`, such as `where`.",
826
+ aggregate: "The arguments of `db.<table>.aggregate()`: the aggregates and `groupBy`.",
827
+ upsert: "A row to insert or update, or an array of rows."
828
+ };
829
+ function addVerb(scope, verb) {
830
+ const { plan, tableKey, components, componentFor, rowName, collection, errors, add } = scope;
831
+ const { prefix, usedErrors } = scope.ctx;
832
+ const row = schemaRef(rowName);
833
+ const insert = schemaRef(components.Insert ?? componentFor("Insert"));
834
+ const body = verb === "upsert" ? { oneOf: [insert, {
835
+ type: "array",
836
+ items: insert
837
+ }] } : { type: "object" };
838
+ const output = (() => {
839
+ switch (verb) {
840
+ case "page": return pageSchema(row, plan.pagination === "cursor");
841
+ case "count": return {
842
+ type: "integer",
843
+ minimum: 0
844
+ };
845
+ case "aggregate": return {};
846
+ case "upsert": return { oneOf: [row, {
847
+ type: "array",
848
+ items: row
849
+ }] };
850
+ default: throw new TypeError(`Unknown verb ${String(verb)}`);
851
+ }
852
+ })();
853
+ add(verb, {
854
+ kind: "verb",
855
+ owner: "table",
856
+ name: tableKey,
857
+ verb
858
+ }, "post", `${collection}/${verb}`, {
859
+ summary: `${verb[0].toUpperCase()}${verb.slice(1)} ${tableKey}`,
860
+ extensions: { [`${prefix}verb`]: verb },
861
+ parameters: [],
862
+ requestBody: {
863
+ required: verb === "upsert",
864
+ description: VERB_ARGUMENTS[verb],
865
+ content: jsonContent(body)
866
+ },
867
+ responses: {
868
+ "200": jsonResponse(output, "The result."),
869
+ ...usedErrors(errors, VERB_STATUSES$1[verb], plan.permissions[verb] !== void 0)
870
+ }
871
+ });
872
+ }
873
+ /** Adds one resource's components, tag and operations to the build. */
874
+ function buildResource(ctx, key, input) {
875
+ const scope = resourceScope(ctx, key, input);
876
+ for (const operation of scope.plan.operations) addTableOperation(scope, operation);
877
+ for (const verb of scope.plan.verbs) addVerb(scope, verb);
878
+ for (const action of scope.plan.actions) addAction(scope, action);
879
+ }
880
+ //#endregion
881
+ //#region src/spec/build-blocks.ts
882
+ /** The contract verbs that only read, so `requirePermissions` skips them. */
883
+ const READ_VERBS = /* @__PURE__ */ new Set([
884
+ "list",
885
+ "page",
886
+ "get",
887
+ "count",
888
+ "aggregate"
889
+ ]);
890
+ const VERB_STATUSES = [
891
+ 400,
892
+ 401,
893
+ 403,
894
+ 404,
895
+ 409,
896
+ 422
897
+ ];
898
+ function isStandard(value) {
899
+ return isPlainObject(value) && isPlainObject(value["~standard"]);
900
+ }
901
+ /** Every verb of an instance: its methods, then `member.method`. */
902
+ function instanceVerbs(surface) {
903
+ return [...surface.methods, ...Object.entries(surface.members).flatMap(([member, methods]) => methods.map((method) => `${member}.${method}`))];
904
+ }
905
+ /**
906
+ * The body schema of `create` and `list` when the block has one entity with
907
+ * that schema; any other verb takes its arguments as documented on the client.
908
+ */
909
+ function inputOf(surface, verb) {
910
+ const field = verb === "create" ? "input" : verb === "list" ? "listFilter" : void 0;
911
+ if (field === void 0) return;
912
+ const found = Object.values(surface.schemas).flatMap((entity) => {
913
+ const schema = entity[field];
914
+ return isStandard(schema) ? [schema] : [];
915
+ });
916
+ return found.length === 1 ? found[0] : void 0;
917
+ }
918
+ /** The block instances `options.blocks` publishes, with their descriptions. */
919
+ function publishedBlocks(source, input) {
920
+ if (input === false || source === void 0) return {};
921
+ if (input === void 0) return Object.fromEntries(source.instances.map((key) => [key, {}]));
922
+ return Object.fromEntries(Object.entries(input).map(([key, entry]) => [key, entry === true ? {} : entry]));
923
+ }
924
+ /** Adds `POST /<instance>/<verb>` for each published block instance. */
925
+ function buildBlocks(ctx, source, input) {
926
+ if (source === void 0) return;
927
+ for (const [key, description] of Object.entries(publishedBlocks(source, input))) {
928
+ if (!source.instances.includes(key)) {
929
+ ctx.report({
930
+ code: "block-unknown",
931
+ severity: "error",
932
+ message: `blocks.${key} names no block instance of betterSupabase.blocks()`
933
+ });
934
+ continue;
935
+ }
936
+ const surface = source.describe?.(key);
937
+ if (!surface) {
938
+ ctx.report({
939
+ code: "block-undescribed",
940
+ severity: "warning",
941
+ message: `The ${key} block instance can't list its methods, so the API leaves it out`
942
+ });
943
+ continue;
944
+ }
945
+ buildInstance(ctx, key, surface, description);
946
+ }
947
+ }
948
+ function buildInstance(ctx, key, surface, description) {
949
+ const { options, prefix, base, globalErrors, operations, report, addTag, keyOf, schemaOf, usedErrors } = ctx;
950
+ const available = instanceVerbs(surface);
951
+ const verbs = description.verbs ?? available;
952
+ const tag = description.tag ?? key;
953
+ const property = instanceProperty(key);
954
+ const collection = `${base}${description.path ?? `/${key}`}`;
955
+ addTag(tag, description.description);
956
+ for (const verb of verbs) {
957
+ if (!available.includes(verb)) {
958
+ report({
959
+ code: "block-verb-unknown",
960
+ severity: "error",
961
+ message: `blocks.${key}.verbs: the ${surface.block} client has no ${verb} method`
962
+ });
963
+ continue;
964
+ }
965
+ const [first, second] = verb.split(".");
966
+ const member = second === void 0 ? void 0 : first;
967
+ const method = second ?? first ?? verb;
968
+ const source = {
969
+ kind: "verb",
970
+ owner: "block",
971
+ name: key,
972
+ ...member === void 0 ? {} : { member },
973
+ verb: method
974
+ };
975
+ const path = `${collection}/${verb.replaceAll(".", "/")}`;
976
+ const defaultId = `${property}.${verb}`;
977
+ const id = options.operationId?.({
978
+ source,
979
+ method: "post",
980
+ path,
981
+ defaultId
982
+ }) ?? defaultId;
983
+ const ref = description.permissions?.[verb];
984
+ const permission = ref === void 0 ? void 0 : keyOf(ref, `blocks.${key}.${verb}`);
985
+ const standard = inputOf(surface, verb);
986
+ const body = standard ? schemaOf(standard, "input", "input", id) : {};
987
+ operations.push({
988
+ id,
989
+ method: "post",
990
+ path,
991
+ tags: [tag],
992
+ source,
993
+ summary: `${verb} (${key})`,
994
+ description: `Calls \`db.${property}.${verb}()\`. A method that takes more than one argument takes them as a JSON array.`,
995
+ parameters: [],
996
+ requestBody: {
997
+ required: false,
998
+ content: jsonContent(body)
999
+ },
1000
+ responses: {
1001
+ "200": jsonResponse({}, "What the method returns."),
1002
+ ...usedErrors(globalErrors, VERB_STATUSES, permission !== void 0)
1003
+ },
1004
+ extensions: {
1005
+ [`${prefix}block`]: surface.block,
1006
+ [`${prefix}instance`]: key,
1007
+ [`${prefix}verb`]: verb,
1008
+ ...permission === void 0 ? {} : { [`${prefix}permission`]: permission }
1009
+ },
1010
+ ...permission === void 0 ? {} : { permission },
1011
+ ...description.security ? { security: description.security } : {}
1012
+ });
1013
+ }
1014
+ }
1015
+ //#endregion
1016
+ //#region src/spec/data-api.ts
1017
+ const REST = "/rest/v1";
1018
+ const DEFAULT_TAG = "Data API";
1019
+ const ERROR = "DataApiError";
1020
+ /** The error body PostgREST answers with. */
1021
+ const ERROR_SCHEMA = {
1022
+ type: "object",
1023
+ required: ["message"],
1024
+ properties: {
1025
+ code: { type: "string" },
1026
+ message: { type: "string" },
1027
+ details: { type: ["string", "null"] },
1028
+ hint: { type: ["string", "null"] }
1029
+ }
1030
+ };
1031
+ /**
1032
+ * Query parameters PostgREST reserves, so a column with the name gets no
1033
+ * filter.
1034
+ */
1035
+ const RESERVED = /* @__PURE__ */ new Set([
1036
+ "select",
1037
+ "order",
1038
+ "limit",
1039
+ "offset",
1040
+ "columns",
1041
+ "on_conflict",
1042
+ "or",
1043
+ "and",
1044
+ "not"
1045
+ ]);
1046
+ const INTEGER = /* @__PURE__ */ new Set([
1047
+ "int2",
1048
+ "int4",
1049
+ "int8"
1050
+ ]);
1051
+ const NUMBER = /* @__PURE__ */ new Set([
1052
+ "float4",
1053
+ "float8",
1054
+ "numeric",
1055
+ "oid",
1056
+ "money"
1057
+ ]);
1058
+ /** The scheme names the `apiKey` and `bearer` presets register. */
1059
+ const DATA_API_SECURITY = [{
1060
+ supabaseApiKey: [],
1061
+ supabaseJwt: []
1062
+ }, { supabaseApiKey: [] }];
1063
+ /** JSON Schema for a Postgres type as PostgREST writes it. */
1064
+ function typeSchema(meta, type) {
1065
+ if (type.startsWith("_")) return {
1066
+ type: "array",
1067
+ items: typeSchema(meta, type.slice(1))
1068
+ };
1069
+ const values = meta.enums[type];
1070
+ if (values) return {
1071
+ type: "string",
1072
+ enum: [...values]
1073
+ };
1074
+ if (INTEGER.has(type)) return { type: "integer" };
1075
+ if (NUMBER.has(type)) return { type: "number" };
1076
+ switch (type) {
1077
+ case "bool": return { type: "boolean" };
1078
+ case "uuid": return {
1079
+ type: "string",
1080
+ format: "uuid"
1081
+ };
1082
+ case "timestamptz": return {
1083
+ type: "string",
1084
+ format: "date-time"
1085
+ };
1086
+ case "date": return {
1087
+ type: "string",
1088
+ format: "date"
1089
+ };
1090
+ case "json":
1091
+ case "jsonb":
1092
+ case "record":
1093
+ case "void": return {};
1094
+ default: return { type: "string" };
1095
+ }
1096
+ }
1097
+ /**
1098
+ * A table schema with database column names, as the Data API reads and writes
1099
+ * them.
1100
+ */
1101
+ function databaseCased(schema, table) {
1102
+ const dbName = (name) => table.columns[name]?.db ?? name;
1103
+ const properties = schema["properties"];
1104
+ const required = schema["required"];
1105
+ return {
1106
+ ...schema,
1107
+ ...isPlainObject(properties) ? { properties: Object.fromEntries(Object.entries(properties).map(([name, value]) => [dbName(name), value])) } : {},
1108
+ ...Array.isArray(required) ? { required: required.map((name) => typeof name === "string" ? dbName(name) : name) } : {}
1109
+ };
1110
+ }
1111
+ const qualified = (schema, name) => schema === "public" ? name : `${schema}.${name}`;
1112
+ const STRING = { type: "string" };
1113
+ const header = (name, description, schema, required = false) => ({
1114
+ name,
1115
+ in: "header",
1116
+ required,
1117
+ description,
1118
+ schema: schema ?? STRING
1119
+ });
1120
+ const query = (name, description, schema) => ({
1121
+ name,
1122
+ in: "query",
1123
+ required: false,
1124
+ description,
1125
+ schema: schema ?? STRING
1126
+ });
1127
+ /**
1128
+ * The `Accept-Profile` or `Content-Profile` header a table outside `public`
1129
+ * needs.
1130
+ */
1131
+ function profile(schema, write) {
1132
+ return schema === "public" ? [] : [header(write ? "Content-Profile" : "Accept-Profile", `The schema of the table, \`${schema}\`.`, {
1133
+ type: "string",
1134
+ enum: [schema]
1135
+ }, true)];
1136
+ }
1137
+ const PREFER_WRITE = header("Prefer", "`return=representation` answers with the written rows; `return=minimal` (the default) answers without a body.");
1138
+ /**
1139
+ * Documents the Data API: table operations under `/rest/v1/<table>` and RPCs
1140
+ * under `/rest/v1/rpc/<name>`.
1141
+ */
1142
+ function buildDataApi(ctx, dataApi) {
1143
+ const { meta, options, operations, report, addTag, addComponent, responses } = ctx;
1144
+ const tag = dataApi.tag ?? DEFAULT_TAG;
1145
+ const origin = options.supabaseUrl?.replace(/\/$/, "");
1146
+ if (!origin) report({
1147
+ code: "data-api-server-missing",
1148
+ severity: "warning",
1149
+ message: "dataApi needs supabaseUrl: without it the /rest/v1 paths resolve against the document's servers"
1150
+ });
1151
+ const servers = origin ? [{
1152
+ url: origin,
1153
+ description: "The Supabase project."
1154
+ }] : void 0;
1155
+ const defs = tableSchemas(meta, options.json ?? {});
1156
+ const tableKeys = /* @__PURE__ */ new Set();
1157
+ const unknownTable = (key, where) => {
1158
+ report({
1159
+ code: "data-api-table-unknown",
1160
+ severity: "error",
1161
+ message: `${where}: no table or view "${key}"`
1162
+ });
1163
+ };
1164
+ if (dataApi.tables === true) for (const key of Object.keys(meta.tables).toSorted()) tableKeys.add(key);
1165
+ else for (const key of dataApi.tables ?? []) if (meta.tables[key]) tableKeys.add(key);
1166
+ else unknownTable(key, "dataApi.tables");
1167
+ for (const key of Object.keys(dataApi.operations ?? {})) if (!meta.tables[key]) unknownTable(key, "dataApi.operations");
1168
+ else if (!tableKeys.has(key)) tableKeys.add(key);
1169
+ const functionKeys = [];
1170
+ if (dataApi.functions === true) functionKeys.push(...Object.keys(meta.functions).toSorted());
1171
+ else for (const key of dataApi.functions ?? []) if (meta.functions[key]) functionKeys.push(key);
1172
+ else report({
1173
+ code: "data-api-function-unknown",
1174
+ severity: "error",
1175
+ message: `dataApi.functions: no function "${key}"`
1176
+ });
1177
+ if (tableKeys.size === 0 && functionKeys.length === 0) return;
1178
+ addTag(tag, "The Supabase Data API (PostgREST). Every request runs under row-level security.");
1179
+ addComponent(ERROR, structuredClone(ERROR_SCHEMA));
1180
+ responses[ERROR] ??= {
1181
+ description: "PostgREST rejected the request.",
1182
+ content: jsonContent(schemaRef(ERROR))
1183
+ };
1184
+ const errors = { "4XX": { ref: ERROR } };
1185
+ /**
1186
+ * The database-cased component of a table variant, or `undefined` when the
1187
+ * table has none.
1188
+ */
1189
+ const component = (key, variant) => {
1190
+ const table = meta.tables[key];
1191
+ const schema = defs[`${key}${variant}`];
1192
+ if (!table || !schema) return;
1193
+ const name = `DataApi${pascal(table.schema === "public" ? "" : `${table.schema}_`)}${pascal(table.name)}${variant}`;
1194
+ addComponent(name, databaseCased(structuredClone(schema), table));
1195
+ return schemaRef(name);
1196
+ };
1197
+ const push = (draft) => {
1198
+ const { defaultId, ...rest } = draft;
1199
+ operations.push({
1200
+ ...rest,
1201
+ id: options.operationId?.({
1202
+ source: draft.source,
1203
+ method: draft.method,
1204
+ path: draft.path,
1205
+ defaultId
1206
+ }) ?? defaultId,
1207
+ tags: [tag],
1208
+ ...servers ? { servers } : {},
1209
+ security: DATA_API_SECURITY,
1210
+ extensions: {}
1211
+ });
1212
+ };
1213
+ for (const key of tableKeys) {
1214
+ const table = meta.tables[key];
1215
+ if (table) buildTable(key, table);
1216
+ }
1217
+ for (const key of functionKeys) {
1218
+ const fn = meta.functions[key];
1219
+ if (fn) buildFunction(key, fn);
1220
+ }
1221
+ function buildTable(key, table) {
1222
+ const row = component(key, "Row") ?? {};
1223
+ const insert = component(key, "Insert");
1224
+ const update = component(key, "Update");
1225
+ const rows = {
1226
+ type: "array",
1227
+ items: row
1228
+ };
1229
+ const path = `${REST}/${table.name}`;
1230
+ const name = pascal(table.schema === "public" ? table.name : `${table.schema}_${table.name}`);
1231
+ const label = qualified(table.schema, table.name);
1232
+ const filters = Object.values(table.columns).filter((column) => !RESERVED.has(column.db)).map((column) => query(column.db, `Filters on \`${column.db}\` with an operator and a value: \`eq.<value>\`, \`in.(a,b)\`, \`is.null\`.`));
1233
+ const viewOperations = ["select"];
1234
+ if (insert) viewOperations.push("insert");
1235
+ if (update) viewOperations.push("update", "delete");
1236
+ const allowed = dataApi.operations?.[key] ?? (table.kind === "view" ? viewOperations : [
1237
+ "select",
1238
+ "insert",
1239
+ "update",
1240
+ "delete"
1241
+ ]);
1242
+ const source = (operation) => ({
1243
+ kind: "data-api",
1244
+ table: key,
1245
+ operation
1246
+ });
1247
+ const written = (status, description) => ({ [status]: jsonResponse(rows, `${description} The body holds the rows with \`Prefer: return=representation\`.`) });
1248
+ for (const operation of allowed) switch (operation) {
1249
+ case "select":
1250
+ push({
1251
+ defaultId: `dataApiSelect${name}`,
1252
+ method: "get",
1253
+ path,
1254
+ summary: `Read rows of ${label}`,
1255
+ parameters: [
1256
+ query("select", "The columns to return, comma separated, and embedded relations as `relation(columns)`. Defaults to `*`."),
1257
+ query("order", "Sort order, such as `created_at.desc,id`."),
1258
+ query("limit", "The most rows to return.", {
1259
+ type: "integer",
1260
+ minimum: 0
1261
+ }),
1262
+ query("offset", "The rows to skip.", {
1263
+ type: "integer",
1264
+ minimum: 0
1265
+ }),
1266
+ ...filters,
1267
+ header("Range", "A row range, such as `0-24`."),
1268
+ header("Prefer", "`count=exact`, `count=planned` or `count=estimated` adds the total to `Content-Range`."),
1269
+ ...profile(table.schema, false)
1270
+ ],
1271
+ responses: {
1272
+ "200": {
1273
+ ...jsonResponse(rows, "The rows."),
1274
+ headers: { "Content-Range": {
1275
+ description: "The returned range and the total, such as `0-24/100`.",
1276
+ schema: { type: "string" }
1277
+ } }
1278
+ },
1279
+ "206": jsonResponse(rows, "Part of the rows, for a `Range` request."),
1280
+ ...errors
1281
+ },
1282
+ source: source("select")
1283
+ });
1284
+ break;
1285
+ case "insert":
1286
+ push({
1287
+ defaultId: `dataApiInsert${name}`,
1288
+ method: "post",
1289
+ path,
1290
+ summary: `Insert rows into ${label}`,
1291
+ parameters: [
1292
+ query("columns", "The columns to read from the body, comma separated."),
1293
+ query("on_conflict", "The unique columns an upsert matches on, comma separated."),
1294
+ PREFER_WRITE,
1295
+ ...profile(table.schema, true)
1296
+ ],
1297
+ requestBody: {
1298
+ required: true,
1299
+ content: jsonContent(insert ? { oneOf: [insert, {
1300
+ type: "array",
1301
+ items: insert
1302
+ }] } : {})
1303
+ },
1304
+ responses: {
1305
+ ...written("201", "Created."),
1306
+ ...errors
1307
+ },
1308
+ source: source("insert")
1309
+ });
1310
+ break;
1311
+ case "update":
1312
+ push({
1313
+ defaultId: `dataApiUpdate${name}`,
1314
+ method: "patch",
1315
+ path,
1316
+ summary: `Update rows of ${label}`,
1317
+ description: "Updates every row the filters match.",
1318
+ parameters: [
1319
+ ...filters,
1320
+ PREFER_WRITE,
1321
+ ...profile(table.schema, true)
1322
+ ],
1323
+ requestBody: {
1324
+ required: true,
1325
+ content: jsonContent(update ?? {})
1326
+ },
1327
+ responses: {
1328
+ ...written("200", "Updated."),
1329
+ "204": { description: "Updated, without a body." },
1330
+ ...errors
1331
+ },
1332
+ source: source("update")
1333
+ });
1334
+ break;
1335
+ case "delete":
1336
+ push({
1337
+ defaultId: `dataApiDelete${name}`,
1338
+ method: "delete",
1339
+ path,
1340
+ summary: `Delete rows of ${label}`,
1341
+ description: "Deletes every row the filters match.",
1342
+ parameters: [
1343
+ ...filters,
1344
+ PREFER_WRITE,
1345
+ ...profile(table.schema, true)
1346
+ ],
1347
+ responses: {
1348
+ ...written("200", "Deleted."),
1349
+ "204": { description: "Deleted, without a body." },
1350
+ ...errors
1351
+ },
1352
+ source: source("delete")
1353
+ });
1354
+ break;
1355
+ default: throw new TypeError(`Unknown Data API operation "${String(operation)}"`);
1356
+ }
1357
+ }
1358
+ function argumentsSchema(signature) {
1359
+ const required = signature.args.filter((arg) => arg.optional !== true).map((arg) => arg.name);
1360
+ return {
1361
+ type: "object",
1362
+ properties: Object.fromEntries(signature.args.map((arg) => [arg.name, typeSchema(meta, arg.type)])),
1363
+ ...required.length > 0 ? { required } : {},
1364
+ additionalProperties: false
1365
+ };
1366
+ }
1367
+ function resultSchema(fn) {
1368
+ const { result } = fn;
1369
+ let one;
1370
+ if (result && "table" in result) one = component(result.table, "Row") ?? {};
1371
+ else if (result) one = {
1372
+ type: "object",
1373
+ properties: Object.fromEntries(result.columns.map((column) => [column.db, {}])),
1374
+ required: result.columns.map((column) => column.db)
1375
+ };
1376
+ else {
1377
+ const rowTable = Object.entries(meta.tables).find(([, table]) => table.name === fn.returns && table.schema === fn.schema);
1378
+ one = rowTable ? component(rowTable[0], "Row") ?? {} : typeSchema(meta, fn.returns);
1379
+ }
1380
+ return fn.returnsSet ? {
1381
+ type: "array",
1382
+ items: one
1383
+ } : one;
1384
+ }
1385
+ function buildFunction(key, fn) {
1386
+ const signatures = fn.overloads ?? [fn];
1387
+ const bodies = signatures.map(argumentsSchema);
1388
+ const [only] = bodies;
1389
+ const body = bodies.length === 1 && only ? only : { oneOf: bodies };
1390
+ const takesArgs = signatures.some((signature) => signature.args.length > 0);
1391
+ push({
1392
+ defaultId: `dataApiRpc${pascal(fn.schema === "public" ? fn.name : `${fn.schema}_${fn.name}`)}`,
1393
+ method: "post",
1394
+ path: `${REST}/rpc/${fn.name}`,
1395
+ summary: `Call ${qualified(fn.schema, fn.name)}`,
1396
+ description: `A ${fn.volatility} function.${fn.volatility === "volatile" ? "" : " A GET with the arguments as query parameters calls it too."}`,
1397
+ parameters: profile(fn.schema, true),
1398
+ requestBody: {
1399
+ required: takesArgs,
1400
+ content: jsonContent(body)
1401
+ },
1402
+ responses: {
1403
+ ...fn.returns === "void" && !fn.returnsSet ? { "204": { description: "Done." } } : { "200": jsonResponse(resultSchema(fn), "The result.") },
1404
+ ...errors
1405
+ },
1406
+ source: {
1407
+ kind: "data-api",
1408
+ function: key,
1409
+ operation: "rpc"
1410
+ }
1411
+ });
1412
+ }
1413
+ }
1414
+ /** Adds the `apiKey` and `bearer` schemes the Data API operations require. */
1415
+ function withDataApiSchemes(security, operations, supabaseUrl) {
1416
+ if (!operations.some((operation) => operation.source.kind === "data-api")) return security;
1417
+ const { schemes } = resolveSecurity(["apiKey", "bearer"], supabaseUrl);
1418
+ return {
1419
+ schemes: {
1420
+ ...schemes,
1421
+ ...security.schemes
1422
+ },
1423
+ requirements: security.requirements
1424
+ };
1425
+ }
1426
+ //#endregion
1427
+ //#region src/spec/events.ts
1428
+ /**
1429
+ * Whether a value is a `defineTopic()` result: a template string and the `sql`,
1430
+ * `trigger` and `subscribe` methods. `better-supabase upgrade` and `spec` use
1431
+ * the same check.
1432
+ */
1433
+ function isTopicLike(value) {
1434
+ return isRecord(value) && typeof value["template"] === "string" && typeof value["sql"] === "function" && typeof value["trigger"] === "function" && typeof value["subscribe"] === "function";
1435
+ }
1436
+ /**
1437
+ * The `defineTopic()` results in modules or arrays, for `events.topics`. A
1438
+ * module's topics are keyed by export name; a topic in an array by its `name`.
1439
+ * Other values are skipped, and a topic reached twice is kept once.
1440
+ *
1441
+ * ```ts
1442
+ * import * as topics from "../realtime/topics";
1443
+ * defineApi(betterSupabase, {
1444
+ * info,
1445
+ * events: { topics: topicsFrom(topics) },
1446
+ * });
1447
+ * ```
1448
+ */
1449
+ function topicsFrom(...sources) {
1450
+ const topics = {};
1451
+ const seen = /* @__PURE__ */ new Set();
1452
+ for (const source of sources) {
1453
+ const entries = Array.isArray(source) ? source.map((value) => [void 0, value]) : Object.entries(source);
1454
+ for (const [key, value] of entries) {
1455
+ if (!isTopicLike(value) || seen.has(value)) continue;
1456
+ seen.add(value);
1457
+ topics[key ?? value.name ?? value.template] = value;
1458
+ }
1459
+ }
1460
+ return topics;
1461
+ }
1462
+ const OPEN = { type: "object" };
1463
+ const DEFAULT_INTENTS = [
1464
+ "insert",
1465
+ "update",
1466
+ "delete"
1467
+ ];
1468
+ /** An id safe for AsyncAPI channel, operation and component keys. */
1469
+ function safeKey(value) {
1470
+ return value.replaceAll(/[^A-Za-z0-9_-]/g, "_");
1471
+ }
1472
+ const keyPart = (value) => safeKey(pascal(value));
1473
+ /** The CloudEvents attributes in HTTP binary mode (`ce-*` headers). */
1474
+ const CLOUD_EVENT_TRAIT = {
1475
+ description: "CloudEvents 1.0 attributes in HTTP binary mode.",
1476
+ contentType: "application/json",
1477
+ headers: {
1478
+ type: "object",
1479
+ properties: {
1480
+ "ce-specversion": {
1481
+ type: "string",
1482
+ const: "1.0"
1483
+ },
1484
+ "ce-id": { type: "string" },
1485
+ "ce-source": {
1486
+ type: "string",
1487
+ format: "uri-reference"
1488
+ },
1489
+ "ce-type": { type: "string" },
1490
+ "ce-subject": { type: "string" },
1491
+ "ce-time": {
1492
+ type: "string",
1493
+ format: "date-time"
1494
+ },
1495
+ "ce-dataschema": {
1496
+ type: "string",
1497
+ format: "uri"
1498
+ },
1499
+ "ce-partitionkey": { type: "string" }
1500
+ }
1501
+ }
1502
+ };
1503
+ function cloudEventHeaders(type, dataschema) {
1504
+ return {
1505
+ type: "object",
1506
+ required: [
1507
+ "ce-specversion",
1508
+ "ce-id",
1509
+ "ce-source",
1510
+ "ce-type"
1511
+ ],
1512
+ properties: {
1513
+ "ce-type": {
1514
+ type: "string",
1515
+ const: type
1516
+ },
1517
+ ...dataschema ? { "ce-dataschema": {
1518
+ type: "string",
1519
+ const: dataschema
1520
+ } } : {}
1521
+ }
1522
+ };
1523
+ }
1524
+ function convert(schema, where, ctx) {
1525
+ if (schema === true) return OPEN;
1526
+ const converted = convertStandard(schema, "output");
1527
+ if (converted) return converted.schema;
1528
+ ctx.report({
1529
+ code: "asyncapi-schema-opaque",
1530
+ severity: "warning",
1531
+ message: `${where}: the schema does not implement Standard JSON Schema; the payload is left open`
1532
+ });
1533
+ return OPEN;
1534
+ }
1535
+ function tableChannels(ctx, selection, channels, messages) {
1536
+ if (selection === false) return;
1537
+ const realtime = ctx.meta.realtime ?? {};
1538
+ const keys = selection === true ? Object.keys(realtime) : selection;
1539
+ for (const key of keys) {
1540
+ const table = ctx.meta.tables[key];
1541
+ const config = realtime[key];
1542
+ if (!table || !config) {
1543
+ ctx.report({
1544
+ code: "asyncapi-table-unknown",
1545
+ severity: "error",
1546
+ message: `events.tables names "${key}", which is not in database.realtime.tables`
1547
+ });
1548
+ continue;
1549
+ }
1550
+ const id = `table${keyPart(key)}`;
1551
+ const base = `bsb:t:${table.schema}.${table.name}`;
1552
+ const address = config.user ? `${base}:u:{userId}` : config.tenant ? `${base}:{tenant}` : base;
1553
+ const messageId = `${id}Change`;
1554
+ messages[messageId] = {
1555
+ id: messageId,
1556
+ name: "change",
1557
+ title: `${key} changed`,
1558
+ summary: `A row of ${table.schema}.${table.name} was inserted, updated or deleted. Clients refetch through row-level security.`,
1559
+ contentType: "application/json",
1560
+ payload: {
1561
+ type: "object",
1562
+ required: [
1563
+ "schema",
1564
+ "table",
1565
+ "operation"
1566
+ ],
1567
+ properties: {
1568
+ schema: {
1569
+ type: "string",
1570
+ const: table.schema
1571
+ },
1572
+ table: {
1573
+ type: "string",
1574
+ const: table.name
1575
+ },
1576
+ operation: {
1577
+ type: "string",
1578
+ enum: [
1579
+ "INSERT",
1580
+ "UPDATE",
1581
+ "DELETE"
1582
+ ]
1583
+ }
1584
+ }
1585
+ },
1586
+ extensions: { [`${ctx.prefix}event`]: "change" }
1587
+ };
1588
+ channels.push({
1589
+ id,
1590
+ address,
1591
+ title: `${key} changes`,
1592
+ protocol: "ws",
1593
+ ...config.user ? { parameters: { userId: { description: "The signed-in user's id." } } } : config.tenant ? { parameters: { tenant: { description: `The row's \`${config.tenant}\` value.` } } } : {},
1594
+ messages: [messageId],
1595
+ operations: [{
1596
+ id: `receive${keyPart(key)}Changes`,
1597
+ action: "receive",
1598
+ summary: `Change signals for ${key}`
1599
+ }],
1600
+ extensions: {
1601
+ [`${ctx.prefix}table`]: `${table.schema}.${table.name}`,
1602
+ [`${ctx.prefix}realtime-status`]: topicStatus({ private: true })
1603
+ }
1604
+ });
1605
+ }
1606
+ }
1607
+ function topicChannels(ctx, topics, channels, messages) {
1608
+ for (const [key, topic] of Object.entries(topics)) {
1609
+ const id = `topic${keyPart(key)}`;
1610
+ const ids = [];
1611
+ const events = Object.entries(topic.events ?? {});
1612
+ if (events.length === 0) {
1613
+ ctx.report({
1614
+ code: "asyncapi-topic-open",
1615
+ severity: "info",
1616
+ message: `Topic "${key}" lists no events; it is documented with one open message`
1617
+ });
1618
+ events.push(["*", true]);
1619
+ }
1620
+ for (const [event, schema] of events) {
1621
+ const messageId = `${id}${event === "*" ? "Any" : keyPart(event)}`;
1622
+ ids.push(messageId);
1623
+ messages[messageId] = {
1624
+ id: messageId,
1625
+ ...event === "*" ? {} : { name: event },
1626
+ title: event === "*" ? `${key} broadcast` : `${key} ${event}`,
1627
+ contentType: "application/json",
1628
+ payload: convert(schema, `topics.${key}.events.${event}`, ctx),
1629
+ extensions: { [`${ctx.prefix}event`]: event }
1630
+ };
1631
+ }
1632
+ if (topic.presence) {
1633
+ const messageId = `${id}Presence`;
1634
+ ids.push(messageId);
1635
+ messages[messageId] = {
1636
+ id: messageId,
1637
+ name: "presence",
1638
+ title: `${key} presence`,
1639
+ contentType: "application/json",
1640
+ payload: topic.presenceSchema ? convert(topic.presenceSchema, `topics.${key}.presence`, ctx) : OPEN,
1641
+ extensions: { [`${ctx.prefix}event`]: "presence" }
1642
+ };
1643
+ }
1644
+ const permission = topic.permission === void 0 ? void 0 : ctx.keyOf(topic.permission, `topics.${key}`);
1645
+ const extra = permission === void 0 ? {} : { permission };
1646
+ const operations = [{
1647
+ id: `receive${keyPart(key)}`,
1648
+ action: "receive",
1649
+ ...topic.summary ? { summary: topic.summary } : {},
1650
+ ...extra
1651
+ }];
1652
+ if (topic.send === true || topic.clientSend === true || topic.presence) operations.push({
1653
+ id: `send${keyPart(key)}`,
1654
+ action: "send",
1655
+ ...extra
1656
+ });
1657
+ const params = [...topic.template.matchAll(/\{([^}]+)\}/g)].map((match) => match[1] ?? "");
1658
+ channels.push({
1659
+ id,
1660
+ address: topic.template,
1661
+ ...topic.summary ? { summary: topic.summary } : {},
1662
+ ...topic.description ? { description: topic.description } : {},
1663
+ title: topic.name ?? key,
1664
+ ...params.length > 0 ? { parameters: Object.fromEntries(params.map((name) => [name, {}])) } : {},
1665
+ protocol: "ws",
1666
+ messages: ids,
1667
+ operations,
1668
+ extensions: {
1669
+ [`${ctx.prefix}private`]: topic.private ?? true,
1670
+ [`${ctx.prefix}realtime-status`]: topic.status ?? topicStatus(topic)
1671
+ }
1672
+ });
1673
+ }
1674
+ }
1675
+ function withActor(schema) {
1676
+ const properties = schema["properties"];
1677
+ if (!isPlainObject(properties) || "actorId" in properties) return schema;
1678
+ return {
1679
+ ...schema,
1680
+ properties: {
1681
+ ...properties,
1682
+ actorId: {
1683
+ type: "string",
1684
+ description: "Who caused the event."
1685
+ }
1686
+ }
1687
+ };
1688
+ }
1689
+ function cloudEventChannel(ctx, input, channels, messages) {
1690
+ const ids = [];
1691
+ const add = (messageId, type, title, payload, table) => {
1692
+ const { dataschema } = dataschemaOf(input, {
1693
+ type,
1694
+ ...table ? { table } : {}
1695
+ });
1696
+ ids.push(messageId);
1697
+ messages[messageId] = {
1698
+ id: messageId,
1699
+ name: type,
1700
+ title,
1701
+ contentType: "application/json",
1702
+ headers: cloudEventHeaders(type, dataschema),
1703
+ payload,
1704
+ traits: ["cloudEvent"],
1705
+ extensions: {
1706
+ [`${ctx.prefix}cloudevent-type`]: type,
1707
+ ...dataschema ? { [`${ctx.prefix}dataschema`]: dataschema } : {}
1708
+ }
1709
+ };
1710
+ };
1711
+ const rows = input.rows ?? false;
1712
+ const rowTables = rows === true ? Object.keys(ctx.meta.tables) : rows === false ? [] : rows;
1713
+ const defs = rowTables.length > 0 ? tableSchemas(ctx.meta, ctx.json) : {};
1714
+ for (const table of rowTables) {
1715
+ if (!ctx.meta.tables[table]) {
1716
+ ctx.report({
1717
+ code: "asyncapi-table-unknown",
1718
+ severity: "error",
1719
+ message: `events.cloudEvents.rows names an unknown table "${table}"`
1720
+ });
1721
+ continue;
1722
+ }
1723
+ const component = ctx.served.get(table)?.components.Row;
1724
+ const row = component ? schemaRef(component) : defs[`${table}Row`] ?? OPEN;
1725
+ for (const intent of input.intents ?? DEFAULT_INTENTS) {
1726
+ const last = ROW_EVENT_TYPES[intent].split(".").at(-1) ?? intent;
1727
+ const type = input.typePrefix ? `${input.typePrefix}.row.${last}` : ROW_EVENT_TYPES[intent];
1728
+ add(`row${keyPart(table)}${keyPart(last)}`, type, `${table} ${last}`, {
1729
+ type: "object",
1730
+ required: ["table", "row"],
1731
+ properties: {
1732
+ table: {
1733
+ type: "string",
1734
+ const: table
1735
+ },
1736
+ row,
1737
+ actorId: { type: "string" }
1738
+ }
1739
+ }, table);
1740
+ }
1741
+ }
1742
+ for (const [event, schema] of Object.entries(input.blocks ?? {})) {
1743
+ if (schema === void 0) continue;
1744
+ const type = `${input.typePrefix ?? "dev.better-supabase"}.${event}`;
1745
+ add(`block${keyPart(event)}`, type, event, withActor(convert(schema, `events.cloudEvents.blocks.${event}`, ctx)));
1746
+ }
1747
+ if (ids.length === 0) return false;
1748
+ channels.push({
1749
+ id: "cloudEvents",
1750
+ address: input.address ?? "events",
1751
+ title: "CloudEvents",
1752
+ description: `CloudEvents from \`${input.source}\`, sent to the event sink.`,
1753
+ protocol: "http",
1754
+ messages: ids,
1755
+ operations: [{
1756
+ id: "sendCloudEvents",
1757
+ action: "send"
1758
+ }]
1759
+ });
1760
+ return true;
1761
+ }
1762
+ /**
1763
+ * The built channels and messages first, then the app's own (which win on an
1764
+ * id), and the workflows with every `WorkflowSource` run on `operations`.
1765
+ */
1766
+ function eventParts(options, ctx, operations) {
1767
+ const built = buildEvents(options.events, ctx);
1768
+ return {
1769
+ channels: [...built.channels, ...options.channels ?? []],
1770
+ messages: {
1771
+ ...built.messages,
1772
+ ...options.messages
1773
+ },
1774
+ ...Object.keys(built.messageTraits).length > 0 ? { messageTraits: built.messageTraits } : {},
1775
+ workflows: (options.workflows ?? []).flatMap((workflow) => typeof workflow === "function" ? workflow(operations) : [workflow])
1776
+ };
1777
+ }
1778
+ /** Channels and messages from the realtime tables, topics and CloudEvents. */
1779
+ function buildEvents(events, ctx) {
1780
+ const channels = [];
1781
+ const messages = {};
1782
+ const messageTraits = {};
1783
+ if (!events) return {
1784
+ channels,
1785
+ messages,
1786
+ messageTraits
1787
+ };
1788
+ tableChannels(ctx, events.tables ?? true, channels, messages);
1789
+ topicChannels(ctx, events.topics ?? {}, channels, messages);
1790
+ if (events.cloudEvents && cloudEventChannel(ctx, events.cloudEvents, channels, messages)) messageTraits["cloudEvent"] = CLOUD_EVENT_TRAIT;
1791
+ return {
1792
+ channels,
1793
+ messages,
1794
+ messageTraits
1795
+ };
1796
+ }
1797
+ //#endregion
1798
+ //#region src/spec/build.ts
1799
+ const READ_METHODS = /* @__PURE__ */ new Set([
1800
+ "get",
1801
+ "head",
1802
+ "options",
1803
+ "query"
1804
+ ]);
1805
+ const modelCache = /* @__PURE__ */ new WeakMap();
1806
+ const NO_PLUGINS = [];
1807
+ const NO_BLOCKS = {};
1808
+ /** One `WeakMap` level of the model cache, created on first use. */
1809
+ function level(map, key, empty) {
1810
+ let value = map.get(key);
1811
+ if (value === void 0) {
1812
+ value = empty();
1813
+ map.set(key, value);
1814
+ }
1815
+ return value;
1816
+ }
1817
+ /**
1818
+ * Builds the version-neutral API model once per metadata, plugin list, block
1819
+ * set and options object. Formats lower it to each version; `defineApi` wraps
1820
+ * it.
1821
+ */
1822
+ function buildApiModel(source, options) {
1823
+ const plugins = source.plugins ?? NO_PLUGINS;
1824
+ const blocks = source.options?.blocks;
1825
+ return level(level(level(level(modelCache, source.meta, () => /* @__PURE__ */ new WeakMap()), plugins, () => /* @__PURE__ */ new WeakMap()), blocks ?? NO_BLOCKS, () => /* @__PURE__ */ new WeakMap()), options, () => build(source.meta, plugins, blocks, options));
1826
+ }
1827
+ /** The tables `options.resources` publishes: every table unless it says so. */
1828
+ function publishedResources(meta, options) {
1829
+ if (options.resources === false) return {};
1830
+ return options.resources ?? Object.fromEntries(Object.keys(meta.tables).map((key) => [key, true]));
1831
+ }
1832
+ function build(meta, plugins, blocks, options) {
1833
+ const ctx = createBuildContext(meta, options);
1834
+ for (const [key, input] of Object.entries(publishedResources(meta, options))) buildResource(ctx, key, input);
1835
+ buildBlocks(ctx, blocks, options.blocks);
1836
+ for (const [index, route] of (options.routes ?? []).entries()) buildRoute(ctx, route, index);
1837
+ if (options.dataApi) buildDataApi(ctx, options.dataApi);
1838
+ const security = withDataApiSchemes(buildSecurity(ctx), ctx.operations, options.supabaseUrl);
1839
+ applyPlugins(ctx, plugins);
1840
+ validateOperations(ctx);
1841
+ return finalizeModel(ctx, security);
1842
+ }
1843
+ function buildRoute(ctx, route, index) {
1844
+ const { options, base, globalErrors, operations, prefix, addTag, keyOf, schemaOf, objectParameters, usedErrors } = ctx;
1845
+ const method = route.method.toLowerCase();
1846
+ if (!isMethod(method)) throw new TypeError(`better-supabase/spec: routes[${index}] has an unknown method "${route.method}"`);
1847
+ const path = `${base}${route.path}`;
1848
+ const defaultId = `${method}${route.path.split("/").filter(Boolean).map((segment) => segment.replaceAll(/[{}]/g, "")).map(pascal).join("")}`;
1849
+ const source = { kind: "route" };
1850
+ const id = route.operationId ?? options.operationId?.({
1851
+ source,
1852
+ method,
1853
+ path,
1854
+ defaultId
1855
+ }) ?? defaultId;
1856
+ const declared = route.params ? objectParameters(route.params, "path", `${id} params`) : [];
1857
+ const parameters = [];
1858
+ for (const [, param] of path.matchAll(/\{(\w+)\}/g)) parameters.push(declared.find((entry) => entry.name === param) ?? {
1859
+ name: param,
1860
+ in: "path",
1861
+ required: true,
1862
+ schema: { type: "string" }
1863
+ });
1864
+ if (route.query) parameters.push(...objectParameters(route.query, "query", `${id} query`));
1865
+ const permission = route.permission === void 0 ? void 0 : keyOf(route.permission, `routes[${index}]`);
1866
+ const secured = route.security === void 0 || route.security.length > 0;
1867
+ const status = String(route.status ?? (route.output || route.stream ? 200 : 204));
1868
+ const success = route.stream ? {
1869
+ description: route.summary ?? "A stream of events.",
1870
+ content: { [route.stream.contentType ?? "text/event-stream"]: { itemSchema: schemaOf(route.stream.item, "output", "item", id) } }
1871
+ } : route.output ? jsonResponse(schemaOf(route.output, "output", "output", id), route.summary ?? "OK.") : { description: route.summary ?? "Done." };
1872
+ const routeTags = [...route.tags ?? []];
1873
+ for (const tag of routeTags) addTag(tag);
1874
+ operations.push({
1875
+ id,
1876
+ method,
1877
+ path,
1878
+ tags: routeTags,
1879
+ source,
1880
+ ...route.summary ? { summary: route.summary } : {},
1881
+ ...route.description ? { description: route.description } : {},
1882
+ ...route.deprecated ? { deprecated: true } : {},
1883
+ parameters,
1884
+ ...route.input ? { requestBody: {
1885
+ required: true,
1886
+ content: jsonContent(schemaOf(route.input, "input", "input", id))
1887
+ } } : {},
1888
+ responses: {
1889
+ [status]: success,
1890
+ ...usedErrors(route.errors ?? globalErrors, [...route.input || route.query ? [400, 422] : [], ...secured ? [401, 403] : []], permission !== void 0)
1891
+ },
1892
+ ...route.security ? { security: route.security } : {},
1893
+ ...permission === void 0 ? {} : { permission },
1894
+ extensions: permission === void 0 ? {} : { [`${prefix}permission`]: permission },
1895
+ ...route.extend ? { extend: route.extend } : {}
1896
+ });
1897
+ }
1898
+ function buildSecurity(ctx) {
1899
+ const { options, operations } = ctx;
1900
+ const oauthScopes = {};
1901
+ if (options.permissionScopes === "keys") {
1902
+ for (const operation of operations) if (operation.permission) oauthScopes[operation.permission] = `Permission ${operation.permission}.`;
1903
+ }
1904
+ const security = resolveSecurity(options.security ?? ["bearer"], options.supabaseUrl, oauthScopes);
1905
+ if (options.permissionScopes === "keys") for (const operation of operations) {
1906
+ const key = operation.permission;
1907
+ if (!key || operation.security?.length === 0) continue;
1908
+ operation.security = (operation.security ?? security.requirements).map((requirement) => {
1909
+ const scopes = requirement[OAUTH_SCHEME];
1910
+ return scopes ? {
1911
+ ...requirement,
1912
+ [OAUTH_SCHEME]: [...scopes, key]
1913
+ } : requirement;
1914
+ });
1915
+ }
1916
+ return security;
1917
+ }
1918
+ function applyPlugins(ctx, plugins) {
1919
+ const { meta, prefix, served, schemas, report } = ctx;
1920
+ const describe = describeApi(meta, prefix, served, schemas);
1921
+ for (const plugin of plugins) {
1922
+ if (!plugin.describe) continue;
1923
+ try {
1924
+ plugin.describe(describe);
1925
+ } catch (error) {
1926
+ report({
1927
+ code: "plugin-describe-failed",
1928
+ severity: "warning",
1929
+ message: `The ${plugin.name} plugin's describe() threw: ${error instanceof Error ? error.message : String(error)}`
1930
+ });
1931
+ }
1932
+ }
1933
+ }
1934
+ /** Reports writes without a permission and duplicate operation ids. */
1935
+ function validateOperations(ctx) {
1936
+ const { options, operations, report } = ctx;
1937
+ if (options.requirePermissions) for (const operation of operations) {
1938
+ if (operation.source.kind === "data-api") continue;
1939
+ if ((operation.source.kind === "resource" ? operation.source.operation !== "list" && operation.source.operation !== "get" : operation.source.kind === "verb" ? !READ_VERBS.has(operation.source.verb) : !READ_METHODS.has(operation.method)) && operation.permission === void 0) report({
1940
+ code: "permission-missing",
1941
+ severity: "error",
1942
+ message: `${operation.id} writes but declares no permission`,
1943
+ pointer: `/operations/${pointerToken(operation.id)}`
1944
+ });
1945
+ }
1946
+ const seen = /* @__PURE__ */ new Set();
1947
+ for (const operation of operations) {
1948
+ if (seen.has(operation.id)) report({
1949
+ code: "operation-id-duplicate",
1950
+ severity: "error",
1951
+ message: `Two operations have the id "${operation.id}"`,
1952
+ pointer: `/operations/${pointerToken(operation.id)}`
1953
+ });
1954
+ seen.add(operation.id);
1955
+ }
1956
+ }
1957
+ function finalizeModel(ctx, security) {
1958
+ const { meta, options, prefix, served, keyOf, report, schemas, operations, tags, responses, diagnostics } = ctx;
1959
+ const { enrich } = options;
1960
+ const finalSchemas = {};
1961
+ for (const [name, schema] of Object.entries(schemas)) finalSchemas[name] = enrich?.schema?.(schema, { name }) ?? schema;
1962
+ const finalOperations = operations.map((operation) => enrich?.operation?.(operation) ?? operation);
1963
+ const { messageTraits, ...parts } = eventParts(options, {
1964
+ meta,
1965
+ json: options.json ?? {},
1966
+ prefix,
1967
+ served,
1968
+ keyOf,
1969
+ report
1970
+ }, finalOperations);
1971
+ const messages = {};
1972
+ for (const [id, message] of Object.entries(parts.messages)) messages[id] = enrich?.message?.(message, { id }) ?? message;
1973
+ return {
1974
+ model: {
1975
+ info: options.info,
1976
+ ...options.self ? { self: options.self } : {},
1977
+ servers: options.servers ?? [],
1978
+ tags,
1979
+ operations: finalOperations,
1980
+ schemas: finalSchemas,
1981
+ responses,
1982
+ securitySchemes: security.schemes,
1983
+ security: security.requirements,
1984
+ ...options.securityProfileRequirements ? { securityProfileRequirements: options.securityProfileRequirements } : {},
1985
+ channels: parts.channels.map((channel) => enrich?.channel?.(channel) ?? channel),
1986
+ messages,
1987
+ ...messageTraits ? { messageTraits } : {},
1988
+ webhooks: options.webhooks ?? [],
1989
+ workflows: parts.workflows.map((workflow) => enrich?.workflow?.(workflow) ?? workflow),
1990
+ fragments: options.fragments ?? [],
1991
+ ...options.realtimeUrl ? { realtimeUrl: options.realtimeUrl } : {},
1992
+ extensionPrefix: prefix
1993
+ },
1994
+ diagnostics
1995
+ };
1996
+ }
1997
+ /** An operation's name within its resource: the operation, verb or action. */
1998
+ function operationName(operation) {
1999
+ switch (operation.source.kind) {
2000
+ case "action": return operation.source.action;
2001
+ case "resource": return operation.source.operation;
2002
+ case "verb": return operation.source.verb;
2003
+ case "data-api":
2004
+ case "route":
2005
+ case "fragment": return operation.id;
2006
+ default: {
2007
+ const unknown = operation.source;
2008
+ throw new TypeError(`Unknown operation source ${String(unknown)}`);
2009
+ }
2010
+ }
2011
+ }
2012
+ function describeApi(meta, prefix, served, schemas) {
2013
+ const columnSchemas = (table, column) => {
2014
+ const entry = served.get(table);
2015
+ if (!entry) return [];
2016
+ return [
2017
+ "Row",
2018
+ "Insert",
2019
+ "Update"
2020
+ ].flatMap((variant) => {
2021
+ const name = entry.components[variant];
2022
+ const schema = name ? schemas[name] : void 0;
2023
+ const properties = schema?.["properties"];
2024
+ if (!schema || !isPlainObject(properties)) return [];
2025
+ const property = properties[column];
2026
+ if (!isPlainObject(property)) return [];
2027
+ return [{
2028
+ variant,
2029
+ schema,
2030
+ properties,
2031
+ property
2032
+ }];
2033
+ });
2034
+ };
2035
+ const replace = (schema, properties, column, property) => {
2036
+ schema["properties"] = {
2037
+ ...properties,
2038
+ [column]: property
2039
+ };
2040
+ };
2041
+ return {
2042
+ schema: meta,
2043
+ extensionPrefix: prefix,
2044
+ resources: [...served.values()].map((entry) => ({
2045
+ table: entry.table,
2046
+ operations: entry.operations.map(operationName)
2047
+ })),
2048
+ addParameter(table, parameter, names) {
2049
+ for (const operation of served.get(table)?.operations ?? []) {
2050
+ const name = operationName(operation);
2051
+ if (names && !names.includes(name)) continue;
2052
+ if (operation.parameters.some((entry) => entry.name === parameter.name && entry.in === parameter.in)) continue;
2053
+ operation.parameters.push({ ...parameter });
2054
+ }
2055
+ },
2056
+ markReadOnly(table, column, description) {
2057
+ for (const { variant, schema, properties, property } of columnSchemas(table, column)) {
2058
+ replace(schema, properties, column, {
2059
+ ...property,
2060
+ readOnly: true,
2061
+ ...description && property["description"] === void 0 ? { description } : {}
2062
+ });
2063
+ const required = schema["required"];
2064
+ if (variant !== "Row" && Array.isArray(required)) schema["required"] = required.filter((name) => name !== column);
2065
+ }
2066
+ },
2067
+ describeColumn(table, column, patch) {
2068
+ for (const { schema, properties, property } of columnSchemas(table, column)) replace(schema, properties, column, mergeJson(property, patch));
2069
+ }
2070
+ };
2071
+ }
2072
+ //#endregion
2073
+ export { topicsFrom as a, PROBLEM_SCHEMA as c, mergeJson as d, pointerToken as f, safeKey as i, convertStandard as l, publishedResources as n, publishedBlocks as o, CLOUD_EVENT_TRAIT as r, DEFAULT_ERRORS as s, buildApiModel as t, pascal as u };