better-supabase 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1452) hide show
  1. package/README.md +128 -96
  2. package/dist/access-sql-CPoq9F86.js +207 -0
  3. package/dist/access-z7NwWtqx.js +34 -0
  4. package/dist/actor-hNajGNEK.js +150 -0
  5. package/dist/adapter-BCFAg58A.js +2190 -0
  6. package/dist/agents-CmZlLPXC.d.ts +117 -0
  7. package/dist/ai-cache-BxlOkc_M.d.ts +82 -0
  8. package/dist/ai-cache-DQikwXhJ.js +87 -0
  9. package/dist/ai-chat-DBxEz3o1.d.ts +619 -0
  10. package/dist/ai-files-t-kHmS5H.js +339 -0
  11. package/dist/ai-sdk/agents/index.d.ts +6 -6
  12. package/dist/ai-sdk/agents/index.js +4 -4
  13. package/dist/ai-sdk/batches/index.d.ts +4 -4
  14. package/dist/ai-sdk/batches/index.js +4 -4
  15. package/dist/ai-sdk/cache/index.d.ts +2 -2
  16. package/dist/ai-sdk/cache/index.js +1 -1
  17. package/dist/ai-sdk/chat/index.d.ts +1 -1
  18. package/dist/ai-sdk/chat/index.js +5 -5
  19. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  20. package/dist/ai-sdk/embeddings/index.js +1 -1
  21. package/dist/ai-sdk/files/index.d.ts +2 -2
  22. package/dist/ai-sdk/files/index.js +4 -4
  23. package/dist/ai-sdk/index.d.ts +29 -8
  24. package/dist/ai-sdk/index.js +41 -3
  25. package/dist/ai-sdk/mcp/index.d.ts +4 -4
  26. package/dist/ai-sdk/mcp/index.js +5 -5
  27. package/dist/ai-sdk/memory/index.d.ts +3 -3
  28. package/dist/ai-sdk/memory/index.js +1 -1
  29. package/dist/ai-sdk/workflow/index.d.ts +4 -4
  30. package/dist/ai-sdk/workflow/index.js +6 -6
  31. package/dist/ai-tasks-BDywBUgN.d.ts +166 -0
  32. package/dist/anchors-7F34QyHa.d.ts +40 -0
  33. package/dist/announcements-BeOD0zbc.js +128 -0
  34. package/dist/api-CWhpq24a.d.ts +174 -0
  35. package/dist/api-DKp2Ggz_.js +685 -0
  36. package/dist/api-keys-CboAenU8.d.ts +213 -0
  37. package/dist/api-keys-DT6Fi50R.js +318 -0
  38. package/dist/app-tables-BHrzAUFJ.d.ts +27 -0
  39. package/dist/app-tables-C5aoI5rZ.js +959 -0
  40. package/dist/approvals-bMb7dsBY.d.ts +129 -0
  41. package/dist/arazzo/index.d.ts +3 -2
  42. package/dist/arazzo/index.js +2 -2
  43. package/dist/assistant-D1yev_fR.d.ts +157 -0
  44. package/dist/astro/index.d.ts +15 -12
  45. package/dist/astro/index.js +5 -5
  46. package/dist/asyncapi/index.d.ts +2 -1
  47. package/dist/asyncapi/index.js +2 -2
  48. package/dist/attachments-Cjdgarpa.js +351 -0
  49. package/dist/audit-log-C3rQxeHd.js +788 -0
  50. package/dist/auth-module-BEFESDC4.js +44 -0
  51. package/dist/auth-reply-jVKoAV6R.js +31 -0
  52. package/dist/authorization-BuT26_sR.d.ts +3455 -0
  53. package/dist/authorization-hooks-dLmUO_PZ.d.ts +217 -0
  54. package/dist/authorizer-DPTeL-7h.js +125 -0
  55. package/dist/availability-q3dZoZYM.d.ts +226 -0
  56. package/dist/better-result/index.d.ts +5 -5
  57. package/dist/better-result/index.js +1 -1
  58. package/dist/bind-Dz8y3T5T.d.ts +95 -0
  59. package/dist/block-authors-BRTlT0qv.js +14 -0
  60. package/dist/block-authors-DzXLUiIq.d.ts +12 -0
  61. package/dist/block-controller-DTGuBemi.js +112 -0
  62. package/dist/block-env-DJiUu1fq.js +35 -0
  63. package/dist/block-env-options-2e6IQrSw.js +26 -0
  64. package/dist/block-event-listener-Bu6G0TFH.js +16 -0
  65. package/dist/block-events-pBXPzwnW.js +83 -0
  66. package/dist/block-events-records-BGVyoz57.d.ts +343 -0
  67. package/dist/block-fields-3w4MZr8U.d.ts +58 -0
  68. package/dist/block-fields-DBSJSeaO.js +139 -0
  69. package/dist/block-helpers-BaugZlJV.d.ts +62 -0
  70. package/dist/block-helpers-CiKtrb6g.js +353 -0
  71. package/dist/block-hooks-BymdcD0V.js +130 -0
  72. package/dist/block-hooks-CmjPKqQ_.d.ts +117 -0
  73. package/dist/block-method-Bvsao626.js +21 -0
  74. package/dist/block-method-hsPAGFi5.d.ts +19 -0
  75. package/dist/block-names-Dbv_2wmE.js +66 -0
  76. package/dist/block-subjects-Dzq5Xn_0.js +55 -0
  77. package/dist/block-subjects-FHwLlIHU.d.ts +6 -0
  78. package/dist/block-tenant-C1sNV8_4.js +14 -0
  79. package/dist/block-transport-d53POsem.d.ts +69 -0
  80. package/dist/blocks/access/index.d.ts +9 -0
  81. package/dist/blocks/access/index.js +18 -0
  82. package/dist/blocks/access/react/index.d.ts +52 -0
  83. package/dist/blocks/access/react/index.js +73 -0
  84. package/dist/blocks/access/react/server.d.ts +11 -0
  85. package/dist/blocks/access/react/server.js +16 -0
  86. package/dist/blocks/access/solid/index.d.ts +13 -0
  87. package/dist/blocks/access/solid/index.js +14 -0
  88. package/dist/blocks/access/svelte/index.d.ts +13 -0
  89. package/dist/blocks/access/svelte/index.js +14 -0
  90. package/dist/blocks/access/vue/index.d.ts +13 -0
  91. package/dist/blocks/access/vue/index.js +14 -0
  92. package/dist/blocks/access-requests/index.d.ts +8 -8
  93. package/dist/blocks/access-requests/index.js +6 -7
  94. package/dist/blocks/activity/index.d.ts +116 -0
  95. package/dist/blocks/activity/index.js +164 -0
  96. package/dist/blocks/agents/index.d.ts +4 -4
  97. package/dist/blocks/agents/index.js +5 -6
  98. package/dist/blocks/ai-cache/index.d.ts +3 -3
  99. package/dist/blocks/ai-cache/index.js +3 -3
  100. package/dist/blocks/ai-chat/index.d.ts +5 -5
  101. package/dist/blocks/ai-chat/index.js +3 -3
  102. package/dist/blocks/ai-chat/react/index.d.ts +2 -2
  103. package/dist/blocks/ai-chat/react/index.js +3 -3
  104. package/dist/blocks/ai-chat/solid/index.d.ts +2 -2
  105. package/dist/blocks/ai-chat/solid/index.js +2 -2
  106. package/dist/blocks/ai-chat/svelte/index.d.ts +2 -2
  107. package/dist/blocks/ai-chat/svelte/index.js +2 -2
  108. package/dist/blocks/ai-chat/vue/index.d.ts +2 -2
  109. package/dist/blocks/ai-chat/vue/index.js +2 -2
  110. package/dist/blocks/ai-files/index.d.ts +5 -5
  111. package/dist/blocks/ai-files/index.js +3 -3
  112. package/dist/blocks/ai-providers/index.d.ts +4 -4
  113. package/dist/blocks/ai-providers/index.js +7 -8
  114. package/dist/blocks/ai-tasks/index.d.ts +3 -3
  115. package/dist/blocks/ai-tasks/index.js +8 -9
  116. package/dist/blocks/announcements/index.d.ts +4 -4
  117. package/dist/blocks/announcements/index.js +3 -3
  118. package/dist/blocks/announcements/react/index.d.ts +1 -1
  119. package/dist/blocks/announcements/react/index.js +3 -3
  120. package/dist/blocks/announcements/solid/index.d.ts +2 -2
  121. package/dist/blocks/announcements/solid/index.js +1 -1
  122. package/dist/blocks/announcements/svelte/index.d.ts +2 -2
  123. package/dist/blocks/announcements/svelte/index.js +1 -1
  124. package/dist/blocks/announcements/vue/index.d.ts +2 -2
  125. package/dist/blocks/announcements/vue/index.js +1 -1
  126. package/dist/blocks/api-keys/index.d.ts +7 -7
  127. package/dist/blocks/api-keys/index.js +6 -6
  128. package/dist/blocks/api-keys/react/index.d.ts +1 -1
  129. package/dist/blocks/api-keys/react/index.js +4 -4
  130. package/dist/blocks/api-keys/react/server.d.ts +1 -1
  131. package/dist/blocks/api-keys/solid/index.d.ts +2 -2
  132. package/dist/blocks/api-keys/solid/index.js +2 -2
  133. package/dist/blocks/api-keys/svelte/index.d.ts +2 -2
  134. package/dist/blocks/api-keys/svelte/index.js +2 -2
  135. package/dist/blocks/api-keys/vue/index.d.ts +2 -2
  136. package/dist/blocks/api-keys/vue/index.js +2 -2
  137. package/dist/blocks/approvals/index.d.ts +4 -4
  138. package/dist/blocks/approvals/index.js +24 -23
  139. package/dist/blocks/assets/index.d.ts +283 -0
  140. package/dist/blocks/assets/index.js +288 -0
  141. package/dist/blocks/assignment/index.d.ts +124 -0
  142. package/dist/blocks/assignment/index.js +141 -0
  143. package/dist/blocks/attachments/index.d.ts +45 -6
  144. package/dist/blocks/attachments/index.js +95 -6
  145. package/dist/blocks/attachments/react/index.d.ts +53 -0
  146. package/dist/blocks/attachments/react/index.js +78 -0
  147. package/dist/blocks/attachments/react/server.d.ts +9 -0
  148. package/dist/blocks/attachments/react/server.js +10 -0
  149. package/dist/blocks/attachments/solid/index.d.ts +13 -0
  150. package/dist/blocks/attachments/solid/index.js +14 -0
  151. package/dist/blocks/attachments/svelte/index.d.ts +13 -0
  152. package/dist/blocks/attachments/svelte/index.js +14 -0
  153. package/dist/blocks/attachments/vue/index.d.ts +13 -0
  154. package/dist/blocks/attachments/vue/index.js +14 -0
  155. package/dist/blocks/audit/index.d.ts +6 -6
  156. package/dist/blocks/audit/index.js +5 -6
  157. package/dist/blocks/audit/react/index.d.ts +1 -1
  158. package/dist/blocks/audit/react/index.js +4 -4
  159. package/dist/blocks/audit/react/server.d.ts +1 -1
  160. package/dist/blocks/audit/solid/index.d.ts +2 -2
  161. package/dist/blocks/audit/solid/index.js +1 -1
  162. package/dist/blocks/audit/svelte/index.d.ts +2 -2
  163. package/dist/blocks/audit/svelte/index.js +1 -1
  164. package/dist/blocks/audit/vue/index.d.ts +2 -2
  165. package/dist/blocks/audit/vue/index.js +1 -1
  166. package/dist/blocks/billable-time/index.d.ts +203 -0
  167. package/dist/blocks/billable-time/index.js +260 -0
  168. package/dist/blocks/billing/index.d.ts +75 -16
  169. package/dist/blocks/billing/index.js +146 -40
  170. package/dist/blocks/billing/react/index.d.ts +2 -2
  171. package/dist/blocks/billing/react/index.js +2 -2
  172. package/dist/blocks/billing/react/server.d.ts +1 -1
  173. package/dist/blocks/billing/solid/index.d.ts +2 -2
  174. package/dist/blocks/billing/solid/index.js +2 -2
  175. package/dist/blocks/billing/svelte/index.d.ts +2 -2
  176. package/dist/blocks/billing/svelte/index.js +2 -2
  177. package/dist/blocks/billing/vue/index.d.ts +2 -2
  178. package/dist/blocks/billing/vue/index.js +2 -2
  179. package/dist/blocks/bookings/index.d.ts +12 -5
  180. package/dist/blocks/bookings/index.js +8 -6
  181. package/dist/blocks/bookings/react/index.d.ts +2 -1
  182. package/dist/blocks/bookings/react/index.js +4 -4
  183. package/dist/blocks/bookings/solid/index.d.ts +2 -2
  184. package/dist/blocks/bookings/solid/index.js +2 -2
  185. package/dist/blocks/bookings/svelte/index.d.ts +2 -2
  186. package/dist/blocks/bookings/svelte/index.js +2 -2
  187. package/dist/blocks/bookings/vue/index.d.ts +2 -2
  188. package/dist/blocks/bookings/vue/index.js +2 -2
  189. package/dist/blocks/bulk/index.d.ts +5 -5
  190. package/dist/blocks/bulk/index.js +4 -4
  191. package/dist/blocks/calendar/index.d.ts +13 -5
  192. package/dist/blocks/calendar/index.js +112 -4
  193. package/dist/blocks/calendar/react/index.d.ts +2 -2
  194. package/dist/blocks/calendar/react/index.js +4 -4
  195. package/dist/blocks/calendar/solid/index.d.ts +2 -2
  196. package/dist/blocks/calendar/solid/index.js +2 -2
  197. package/dist/blocks/calendar/svelte/index.d.ts +2 -2
  198. package/dist/blocks/calendar/svelte/index.js +2 -2
  199. package/dist/blocks/calendar/vue/index.d.ts +2 -2
  200. package/dist/blocks/calendar/vue/index.js +2 -2
  201. package/dist/blocks/catalog/index.d.ts +18 -27
  202. package/dist/blocks/catalog/index.js +43 -50
  203. package/dist/blocks/channels/index.d.ts +111 -0
  204. package/dist/blocks/channels/index.js +190 -0
  205. package/dist/blocks/collections/index.d.ts +85 -12
  206. package/dist/blocks/collections/index.js +84 -9
  207. package/dist/blocks/comments/index.d.ts +48 -47
  208. package/dist/blocks/comments/index.js +113 -16
  209. package/dist/blocks/comments/react/index.d.ts +14 -16
  210. package/dist/blocks/comments/react/index.js +34 -27
  211. package/dist/blocks/comments/react/server.d.ts +1 -1
  212. package/dist/blocks/comments/solid/index.d.ts +2 -2
  213. package/dist/blocks/comments/solid/index.js +2 -2
  214. package/dist/blocks/comments/svelte/index.d.ts +2 -2
  215. package/dist/blocks/comments/svelte/index.js +2 -2
  216. package/dist/blocks/comments/vue/index.d.ts +2 -2
  217. package/dist/blocks/comments/vue/index.js +2 -2
  218. package/dist/blocks/connectors/index.d.ts +4 -4
  219. package/dist/blocks/connectors/index.js +7 -8
  220. package/dist/blocks/contracts/index.d.ts +241 -0
  221. package/dist/blocks/contracts/index.js +361 -0
  222. package/dist/blocks/controls/index.d.ts +325 -0
  223. package/dist/blocks/controls/index.js +410 -0
  224. package/dist/blocks/courses/index.d.ts +341 -0
  225. package/dist/blocks/courses/index.js +445 -0
  226. package/dist/blocks/custom-fields/index.d.ts +44 -13
  227. package/dist/blocks/custom-fields/index.js +25 -20
  228. package/dist/blocks/data-lifecycle/index.d.ts +9 -9
  229. package/dist/blocks/data-lifecycle/index.js +7 -8
  230. package/dist/blocks/deals/index.d.ts +19 -39
  231. package/dist/blocks/deals/index.js +156 -66
  232. package/dist/blocks/dispatch/index.d.ts +327 -0
  233. package/dist/blocks/dispatch/index.js +406 -0
  234. package/dist/blocks/documents/index.d.ts +8 -5
  235. package/dist/blocks/documents/index.js +65 -6
  236. package/dist/blocks/domains/index.d.ts +7 -7
  237. package/dist/blocks/domains/index.js +6 -7
  238. package/dist/blocks/donations/index.d.ts +352 -0
  239. package/dist/blocks/donations/index.js +602 -0
  240. package/dist/blocks/drive/index.d.ts +56 -11
  241. package/dist/blocks/drive/index.js +62 -11
  242. package/dist/blocks/employees/index.d.ts +16 -195
  243. package/dist/blocks/employees/index.js +99 -33
  244. package/dist/blocks/engagements/index.d.ts +27 -120
  245. package/dist/blocks/engagements/index.js +281 -10
  246. package/dist/blocks/enrichment/index.d.ts +176 -0
  247. package/dist/blocks/enrichment/index.js +243 -0
  248. package/dist/blocks/enrollments/index.d.ts +184 -0
  249. package/dist/blocks/enrollments/index.js +173 -0
  250. package/dist/blocks/entitlements/index.d.ts +7 -7
  251. package/dist/blocks/entitlements/index.js +3 -3
  252. package/dist/blocks/entitlements/react/index.d.ts +2 -2
  253. package/dist/blocks/entitlements/react/index.js +2 -2
  254. package/dist/blocks/entitlements/solid/index.d.ts +2 -2
  255. package/dist/blocks/entitlements/solid/index.js +1 -1
  256. package/dist/blocks/entitlements/svelte/index.d.ts +2 -2
  257. package/dist/blocks/entitlements/svelte/index.js +1 -1
  258. package/dist/blocks/entitlements/vue/index.d.ts +2 -2
  259. package/dist/blocks/entitlements/vue/index.js +1 -1
  260. package/dist/blocks/expenses/index.d.ts +214 -0
  261. package/dist/blocks/expenses/index.js +279 -0
  262. package/dist/blocks/field-history/index.d.ts +63 -0
  263. package/dist/blocks/field-history/index.js +48 -0
  264. package/dist/blocks/flags/index.d.ts +8 -8
  265. package/dist/blocks/flags/index.js +6 -7
  266. package/dist/blocks/forecasts/index.d.ts +119 -0
  267. package/dist/blocks/forecasts/index.js +129 -0
  268. package/dist/blocks/forms/index.d.ts +82 -146
  269. package/dist/blocks/forms/index.js +115 -154
  270. package/dist/blocks/forms/react/index.d.ts +1 -1
  271. package/dist/blocks/forms/solid/index.d.ts +2 -2
  272. package/dist/blocks/forms/solid/index.js +1 -1
  273. package/dist/blocks/forms/svelte/index.d.ts +2 -2
  274. package/dist/blocks/forms/svelte/index.js +1 -1
  275. package/dist/blocks/forms/vue/index.d.ts +2 -2
  276. package/dist/blocks/forms/vue/index.js +1 -1
  277. package/dist/blocks/guests/index.d.ts +200 -0
  278. package/dist/blocks/guests/index.js +224 -0
  279. package/dist/blocks/hiring/index.d.ts +9 -9
  280. package/dist/blocks/hiring/index.js +6 -7
  281. package/dist/blocks/identities/index.d.ts +6 -6
  282. package/dist/blocks/identities/index.js +3 -4
  283. package/dist/blocks/imports/index.d.ts +6 -6
  284. package/dist/blocks/imports/index.js +4 -4
  285. package/dist/blocks/inbox/index.d.ts +9 -6
  286. package/dist/blocks/inbox/index.js +115 -51
  287. package/dist/blocks/inbox/react/index.d.ts +2 -2
  288. package/dist/blocks/inbox/react/index.js +10 -4
  289. package/dist/blocks/inbox/react/server.d.ts +4 -4
  290. package/dist/blocks/inbox/solid/index.d.ts +5 -5
  291. package/dist/blocks/inbox/solid/index.js +2 -2
  292. package/dist/blocks/inbox/svelte/index.d.ts +5 -5
  293. package/dist/blocks/inbox/svelte/index.js +2 -2
  294. package/dist/blocks/inbox/vue/index.d.ts +5 -5
  295. package/dist/blocks/inbox/vue/index.js +2 -2
  296. package/dist/blocks/incidents/index.d.ts +337 -0
  297. package/dist/blocks/incidents/index.js +477 -0
  298. package/dist/blocks/index.d.ts +124 -9
  299. package/dist/blocks/index.js +170 -194
  300. package/dist/blocks/inventory/index.d.ts +9 -9
  301. package/dist/blocks/inventory/index.js +6 -7
  302. package/dist/blocks/invoices/index.d.ts +9 -9
  303. package/dist/blocks/invoices/index.js +8 -9
  304. package/dist/blocks/jobs/index.d.ts +10 -10
  305. package/dist/blocks/jobs/index.js +13 -14
  306. package/dist/blocks/knowledge/index.d.ts +3 -3
  307. package/dist/blocks/knowledge/index.js +3 -3
  308. package/dist/blocks/lead-scoring/index.d.ts +50 -0
  309. package/dist/blocks/lead-scoring/index.js +87 -0
  310. package/dist/blocks/leases/index.d.ts +278 -0
  311. package/dist/blocks/leases/index.js +319 -0
  312. package/dist/blocks/leave/index.d.ts +8 -8
  313. package/dist/blocks/leave/index.js +5 -6
  314. package/dist/blocks/ledger/index.d.ts +281 -0
  315. package/dist/blocks/ledger/index.js +229 -0
  316. package/dist/blocks/mail-sync/index.d.ts +37 -0
  317. package/dist/blocks/mail-sync/index.js +898 -0
  318. package/dist/blocks/memory/index.d.ts +4 -4
  319. package/dist/blocks/memory/index.js +6 -7
  320. package/dist/blocks/messaging/index.d.ts +86 -0
  321. package/dist/blocks/messaging/index.js +48 -0
  322. package/dist/blocks/messaging/react/index.d.ts +39 -0
  323. package/dist/blocks/messaging/react/index.js +80 -0
  324. package/dist/blocks/messaging/react/server.d.ts +12 -0
  325. package/dist/blocks/messaging/react/server.js +14 -0
  326. package/dist/blocks/messaging/solid/index.d.ts +20 -0
  327. package/dist/blocks/messaging/solid/index.js +23 -0
  328. package/dist/blocks/messaging/svelte/index.d.ts +20 -0
  329. package/dist/blocks/messaging/svelte/index.js +23 -0
  330. package/dist/blocks/messaging/vue/index.d.ts +20 -0
  331. package/dist/blocks/messaging/vue/index.js +23 -0
  332. package/dist/blocks/metrics/index.d.ts +7 -7
  333. package/dist/blocks/metrics/index.js +5 -6
  334. package/dist/blocks/mfa/index.d.ts +2 -2
  335. package/dist/blocks/mfa/index.js +2 -2
  336. package/dist/blocks/mfa/react/index.d.ts +1 -1
  337. package/dist/blocks/mfa/react/index.js +2 -2
  338. package/dist/blocks/mfa/react/server.d.ts +1 -1
  339. package/dist/blocks/mfa/react/server.js +1 -1
  340. package/dist/blocks/mfa/solid/index.d.ts +2 -2
  341. package/dist/blocks/mfa/solid/index.js +2 -2
  342. package/dist/blocks/mfa/svelte/index.d.ts +2 -2
  343. package/dist/blocks/mfa/svelte/index.js +2 -2
  344. package/dist/blocks/mfa/vue/index.d.ts +2 -2
  345. package/dist/blocks/mfa/vue/index.js +2 -2
  346. package/dist/blocks/moderation/index.d.ts +205 -0
  347. package/dist/blocks/moderation/index.js +199 -0
  348. package/dist/blocks/notifications/index.d.ts +13 -13
  349. package/dist/blocks/notifications/index.js +13 -14
  350. package/dist/blocks/notifications/react/index.d.ts +1 -1
  351. package/dist/blocks/notifications/react/index.js +2 -2
  352. package/dist/blocks/notifications/react/server.d.ts +1 -1
  353. package/dist/blocks/notifications/solid/index.d.ts +2 -2
  354. package/dist/blocks/notifications/solid/index.js +1 -1
  355. package/dist/blocks/notifications/svelte/index.d.ts +2 -2
  356. package/dist/blocks/notifications/svelte/index.js +1 -1
  357. package/dist/blocks/notifications/vue/index.d.ts +2 -2
  358. package/dist/blocks/notifications/vue/index.js +1 -1
  359. package/dist/blocks/number-sequences/index.d.ts +5 -5
  360. package/dist/blocks/number-sequences/index.js +3 -3
  361. package/dist/blocks/oauth-server/index.d.ts +6 -6
  362. package/dist/blocks/oauth-server/index.js +6 -7
  363. package/dist/blocks/onboarding/index.d.ts +3 -3
  364. package/dist/blocks/onboarding/index.js +3 -3
  365. package/dist/blocks/onboarding/react/index.d.ts +1 -1
  366. package/dist/blocks/onboarding/react/index.js +3 -3
  367. package/dist/blocks/onboarding/react/server.d.ts +1 -1
  368. package/dist/blocks/onboarding/solid/index.d.ts +2 -2
  369. package/dist/blocks/onboarding/solid/index.js +1 -1
  370. package/dist/blocks/onboarding/svelte/index.d.ts +2 -2
  371. package/dist/blocks/onboarding/svelte/index.js +1 -1
  372. package/dist/blocks/onboarding/vue/index.d.ts +2 -2
  373. package/dist/blocks/onboarding/vue/index.js +1 -1
  374. package/dist/blocks/orders/index.d.ts +131 -13
  375. package/dist/blocks/orders/index.js +151 -18
  376. package/dist/blocks/organizations/index.d.ts +5 -5
  377. package/dist/blocks/organizations/index.js +5 -5
  378. package/dist/blocks/organizations/react/index.d.ts +1 -1
  379. package/dist/blocks/organizations/react/index.js +4 -4
  380. package/dist/blocks/organizations/react/server.d.ts +1 -1
  381. package/dist/blocks/organizations/solid/index.d.ts +2 -2
  382. package/dist/blocks/organizations/solid/index.js +2 -2
  383. package/dist/blocks/organizations/svelte/index.d.ts +2 -2
  384. package/dist/blocks/organizations/svelte/index.js +2 -2
  385. package/dist/blocks/organizations/vue/index.d.ts +2 -2
  386. package/dist/blocks/organizations/vue/index.js +2 -2
  387. package/dist/blocks/outbox/index.d.ts +4 -4
  388. package/dist/blocks/outbox/index.js +6 -7
  389. package/dist/blocks/parties/index.d.ts +17 -25
  390. package/dist/blocks/parties/index.js +144 -47
  391. package/dist/blocks/passes/index.d.ts +308 -0
  392. package/dist/blocks/passes/index.js +411 -0
  393. package/dist/blocks/pipelines/index.d.ts +10 -10
  394. package/dist/blocks/pipelines/index.js +7 -8
  395. package/dist/blocks/posts/index.d.ts +190 -0
  396. package/dist/blocks/posts/index.js +230 -0
  397. package/dist/blocks/profiles/index.d.ts +7 -7
  398. package/dist/blocks/profiles/index.js +5 -6
  399. package/dist/blocks/promotions/index.d.ts +9 -9
  400. package/dist/blocks/promotions/index.js +7 -8
  401. package/dist/blocks/push/index.d.ts +9 -9
  402. package/dist/blocks/push/index.js +4 -5
  403. package/dist/blocks/quotes/index.d.ts +9 -9
  404. package/dist/blocks/quotes/index.js +8 -9
  405. package/dist/blocks/rank/index.d.ts +6 -6
  406. package/dist/blocks/rank/index.js +4 -4
  407. package/dist/blocks/reactions/index.d.ts +5 -5
  408. package/dist/blocks/reactions/index.js +3 -3
  409. package/dist/blocks/reactions/react/index.d.ts +16 -17
  410. package/dist/blocks/reactions/react/index.js +34 -27
  411. package/dist/blocks/reactions/solid/index.d.ts +2 -2
  412. package/dist/blocks/reactions/solid/index.js +2 -2
  413. package/dist/blocks/reactions/svelte/index.d.ts +2 -2
  414. package/dist/blocks/reactions/svelte/index.js +2 -2
  415. package/dist/blocks/reactions/vue/index.d.ts +2 -2
  416. package/dist/blocks/reactions/vue/index.js +2 -2
  417. package/dist/blocks/relations/index.d.ts +54 -35
  418. package/dist/blocks/relations/index.js +116 -58
  419. package/dist/blocks/reminders/index.d.ts +21 -17
  420. package/dist/blocks/reminders/index.js +26 -27
  421. package/dist/blocks/reviews/index.d.ts +8 -8
  422. package/dist/blocks/reviews/index.js +5 -6
  423. package/dist/blocks/rules/index.d.ts +15 -11
  424. package/dist/blocks/rules/index.js +11 -10
  425. package/dist/blocks/rules/react/index.d.ts +2 -2
  426. package/dist/blocks/rules/react/index.js +4 -4
  427. package/dist/blocks/rules/solid/index.d.ts +2 -2
  428. package/dist/blocks/rules/solid/index.js +2 -2
  429. package/dist/blocks/rules/svelte/index.d.ts +2 -2
  430. package/dist/blocks/rules/svelte/index.js +2 -2
  431. package/dist/blocks/rules/vue/index.d.ts +2 -2
  432. package/dist/blocks/rules/vue/index.js +2 -2
  433. package/dist/blocks/saved-views/index.d.ts +3 -3
  434. package/dist/blocks/saved-views/index.js +2 -2
  435. package/dist/blocks/saved-views/react/index.d.ts +1 -1
  436. package/dist/blocks/saved-views/react/index.js +1 -1
  437. package/dist/blocks/saved-views/react/server.d.ts +1 -1
  438. package/dist/blocks/saved-views/solid/index.d.ts +2 -2
  439. package/dist/blocks/saved-views/solid/index.js +2 -2
  440. package/dist/blocks/saved-views/svelte/index.d.ts +2 -2
  441. package/dist/blocks/saved-views/svelte/index.js +2 -2
  442. package/dist/blocks/saved-views/vue/index.d.ts +2 -2
  443. package/dist/blocks/saved-views/vue/index.js +2 -2
  444. package/dist/blocks/scores/index.d.ts +50 -0
  445. package/dist/blocks/scores/index.js +40 -0
  446. package/dist/blocks/search/index.d.ts +4 -4
  447. package/dist/blocks/search/index.js +3 -4
  448. package/dist/blocks/search/react/index.d.ts +1 -1
  449. package/dist/blocks/search/react/index.js +3 -3
  450. package/dist/blocks/search/react/server.d.ts +1 -1
  451. package/dist/blocks/search/solid/index.d.ts +2 -2
  452. package/dist/blocks/search/solid/index.js +1 -1
  453. package/dist/blocks/search/svelte/index.d.ts +2 -2
  454. package/dist/blocks/search/svelte/index.js +1 -1
  455. package/dist/blocks/search/vue/index.d.ts +2 -2
  456. package/dist/blocks/search/vue/index.js +1 -1
  457. package/dist/blocks/segments/index.d.ts +130 -0
  458. package/dist/blocks/segments/index.js +135 -0
  459. package/dist/blocks/sequences/index.d.ts +259 -0
  460. package/dist/blocks/sequences/index.js +370 -0
  461. package/dist/blocks/service-principals/index.d.ts +8 -8
  462. package/dist/blocks/service-principals/index.js +6 -7
  463. package/dist/blocks/sessions/index.d.ts +2 -2
  464. package/dist/blocks/sessions/index.js +2 -2
  465. package/dist/blocks/sessions/react/index.d.ts +1 -1
  466. package/dist/blocks/sessions/react/index.js +2 -2
  467. package/dist/blocks/sessions/react/server.d.ts +1 -1
  468. package/dist/blocks/sessions/solid/index.d.ts +2 -2
  469. package/dist/blocks/sessions/solid/index.js +2 -2
  470. package/dist/blocks/sessions/svelte/index.d.ts +2 -2
  471. package/dist/blocks/sessions/svelte/index.js +2 -2
  472. package/dist/blocks/sessions/vue/index.d.ts +2 -2
  473. package/dist/blocks/sessions/vue/index.js +2 -2
  474. package/dist/blocks/settings/index.d.ts +4 -4
  475. package/dist/blocks/settings/index.js +4 -4
  476. package/dist/blocks/settings/react/index.d.ts +1 -1
  477. package/dist/blocks/settings/react/index.js +4 -4
  478. package/dist/blocks/settings/react/server.d.ts +1 -1
  479. package/dist/blocks/settings/solid/index.d.ts +2 -2
  480. package/dist/blocks/settings/solid/index.js +2 -2
  481. package/dist/blocks/settings/svelte/index.d.ts +2 -2
  482. package/dist/blocks/settings/svelte/index.js +2 -2
  483. package/dist/blocks/settings/vue/index.d.ts +2 -2
  484. package/dist/blocks/settings/vue/index.js +2 -2
  485. package/dist/blocks/share-links/index.d.ts +48 -19
  486. package/dist/blocks/share-links/index.js +73 -22
  487. package/dist/blocks/shared-signals/index.d.ts +8 -8
  488. package/dist/blocks/shared-signals/index.js +6 -7
  489. package/dist/blocks/shipments/index.d.ts +238 -0
  490. package/dist/blocks/shipments/index.js +540 -0
  491. package/dist/blocks/signatures/index.d.ts +151 -0
  492. package/dist/blocks/signatures/index.js +149 -0
  493. package/dist/blocks/signing-keys/index.d.ts +4 -4
  494. package/dist/blocks/signing-keys/index.js +4 -165
  495. package/dist/blocks/sla/index.d.ts +39 -27
  496. package/dist/blocks/sla/index.js +41 -12
  497. package/dist/blocks/sso/index.d.ts +7 -7
  498. package/dist/blocks/sso/index.js +4 -5
  499. package/dist/blocks/state-machine/index.d.ts +14 -14
  500. package/dist/blocks/state-machine/index.js +26 -26
  501. package/dist/blocks/subjects/index.d.ts +11 -0
  502. package/dist/blocks/subjects/index.js +21 -0
  503. package/dist/blocks/subjects/react/index.d.ts +31 -0
  504. package/dist/blocks/subjects/react/index.js +60 -0
  505. package/dist/blocks/subjects/react/server.d.ts +9 -0
  506. package/dist/blocks/subjects/react/server.js +12 -0
  507. package/dist/blocks/subjects/solid/index.d.ts +13 -0
  508. package/dist/blocks/subjects/solid/index.js +14 -0
  509. package/dist/blocks/subjects/svelte/index.d.ts +13 -0
  510. package/dist/blocks/subjects/svelte/index.js +14 -0
  511. package/dist/blocks/subjects/vue/index.d.ts +13 -0
  512. package/dist/blocks/subjects/vue/index.js +14 -0
  513. package/dist/blocks/tags/index.d.ts +37 -5
  514. package/dist/blocks/tags/index.js +49 -4
  515. package/dist/blocks/tags/react/index.d.ts +8 -15
  516. package/dist/blocks/tags/react/index.js +24 -23
  517. package/dist/blocks/tags/react/server.d.ts +1 -1
  518. package/dist/blocks/tags/solid/index.d.ts +2 -2
  519. package/dist/blocks/tags/solid/index.js +2 -2
  520. package/dist/blocks/tags/svelte/index.d.ts +2 -2
  521. package/dist/blocks/tags/svelte/index.js +2 -2
  522. package/dist/blocks/tags/vue/index.d.ts +2 -2
  523. package/dist/blocks/tags/vue/index.js +2 -2
  524. package/dist/blocks/targets/index.d.ts +7 -7
  525. package/dist/blocks/targets/index.js +5 -6
  526. package/dist/blocks/teams/index.d.ts +7 -7
  527. package/dist/blocks/teams/index.js +4 -4
  528. package/dist/blocks/templates/index.d.ts +10 -10
  529. package/dist/blocks/templates/index.js +8 -9
  530. package/dist/blocks/time-tracking/index.d.ts +40 -32
  531. package/dist/blocks/time-tracking/index.js +38 -38
  532. package/dist/blocks/trash/index.d.ts +8 -8
  533. package/dist/blocks/trash/index.js +4 -5
  534. package/dist/blocks/undo/index.d.ts +4 -4
  535. package/dist/blocks/undo/index.js +3 -3
  536. package/dist/blocks/undo/react/index.d.ts +1 -1
  537. package/dist/blocks/undo/react/server.d.ts +1 -1
  538. package/dist/blocks/undo/solid/index.d.ts +2 -2
  539. package/dist/blocks/undo/solid/index.js +1 -1
  540. package/dist/blocks/undo/svelte/index.d.ts +2 -2
  541. package/dist/blocks/undo/svelte/index.js +1 -1
  542. package/dist/blocks/undo/vue/index.d.ts +2 -2
  543. package/dist/blocks/undo/vue/index.js +1 -1
  544. package/dist/blocks/usage/index.d.ts +5 -5
  545. package/dist/blocks/usage/index.js +3 -3
  546. package/dist/blocks/usage/react/index.d.ts +1 -1
  547. package/dist/blocks/usage/react/index.js +3 -3
  548. package/dist/blocks/usage/react/server.d.ts +1 -1
  549. package/dist/blocks/usage/solid/index.d.ts +2 -2
  550. package/dist/blocks/usage/solid/index.js +1 -1
  551. package/dist/blocks/usage/svelte/index.d.ts +2 -2
  552. package/dist/blocks/usage/svelte/index.js +1 -1
  553. package/dist/blocks/usage/vue/index.d.ts +2 -2
  554. package/dist/blocks/usage/vue/index.js +1 -1
  555. package/dist/blocks/vercel-marketplace/index.d.ts +7 -7
  556. package/dist/blocks/vercel-marketplace/index.js +8 -9
  557. package/dist/blocks/versions/index.d.ts +39 -18
  558. package/dist/blocks/versions/index.js +65 -18
  559. package/dist/blocks/waitlist/index.d.ts +9 -9
  560. package/dist/blocks/waitlist/index.js +5 -6
  561. package/dist/blocks/webhooks/index.d.ts +16 -16
  562. package/dist/blocks/webhooks/index.js +15 -16
  563. package/dist/blocks/work-items/index.d.ts +61 -184
  564. package/dist/blocks/work-items/index.js +159 -32
  565. package/dist/blocks/workflow-builder/index.d.ts +8 -8
  566. package/dist/blocks/workflow-builder/index.js +3 -3
  567. package/dist/blocks/workflow-builder/react/index.d.ts +2 -2
  568. package/dist/blocks/workflow-builder/react/index.js +4 -4
  569. package/dist/blocks/workflow-builder/solid/index.d.ts +2 -2
  570. package/dist/blocks/workflow-builder/solid/index.js +1 -1
  571. package/dist/blocks/workflow-builder/svelte/index.d.ts +2 -2
  572. package/dist/blocks/workflow-builder/svelte/index.js +1 -1
  573. package/dist/blocks/workflow-builder/vue/index.d.ts +2 -2
  574. package/dist/blocks/workflow-builder/vue/index.js +1 -1
  575. package/dist/blocks/workflows/index.d.ts +5 -5
  576. package/dist/blocks/workflows/index.js +3 -3
  577. package/dist/blocks/workflows/react/index.d.ts +2 -2
  578. package/dist/blocks/workflows/react/index.js +3 -3
  579. package/dist/blocks/workflows/solid/index.d.ts +2 -2
  580. package/dist/blocks/workflows/solid/index.js +1 -1
  581. package/dist/blocks/workflows/svelte/index.d.ts +2 -2
  582. package/dist/blocks/workflows/svelte/index.js +1 -1
  583. package/dist/blocks/workflows/vue/index.d.ts +2 -2
  584. package/dist/blocks/workflows/vue/index.js +1 -1
  585. package/dist/bookings-BB5lFlNO.js +310 -0
  586. package/dist/bookings-CC7IeiRa.d.ts +290 -0
  587. package/dist/bucket-TkB7_xv8.d.ts +667 -0
  588. package/dist/build-DCfpwg78.js +1839 -0
  589. package/dist/build-g9wTbQdp.js +703 -0
  590. package/dist/calendar-T3Vdpq7E.js +952 -0
  591. package/dist/carrier-C7Q_21Kd.d.ts +169 -0
  592. package/dist/chat-sdk/index.d.ts +43 -11
  593. package/dist/chat-sdk/index.js +50 -23
  594. package/dist/chat-sdk/react/index.d.ts +2 -2
  595. package/dist/chat-sdk/react/server.d.ts +2 -2
  596. package/dist/cli/add-Bf3kE6PY.js +75 -0
  597. package/dist/cli/add-CYh6Sxk1.js +674 -0
  598. package/dist/cli/add-Dg40eFKE.js +1 -0
  599. package/dist/cli/adopt-B0vrj-4B.js +421 -0
  600. package/dist/cli/adopt-DJR1k3lS.js +1 -0
  601. package/dist/cli/apply-DUQ-5LC6.js +329 -0
  602. package/dist/cli/bin.js +1 -1
  603. package/dist/cli/blocks-DzgYfjVv.js +124 -0
  604. package/dist/cli/blocks-gGupqvBH.js +1 -0
  605. package/dist/cli/cache-C3K_wOE2.js +536 -0
  606. package/dist/cli/catalog-CNM0ViIh.js +199 -0
  607. package/dist/cli/config-CjgXMZW2.js +1522 -0
  608. package/dist/cli/config-D9k5ckqV.js +1 -0
  609. package/dist/cli/db-CeagtENM.js +473 -0
  610. package/dist/cli/design-edit-B40ljpGZ.js +205 -0
  611. package/dist/cli/detect-RApSAA8v.js +84 -0
  612. package/dist/cli/dist-DSwzLVAG.js +129 -0
  613. package/dist/cli/doctor-COGJJ1gy.js +3898 -0
  614. package/dist/cli/emit-DbQeLlHt.js +1123 -0
  615. package/dist/cli/env-Ba-pOD3a.js +1 -0
  616. package/dist/cli/env-DlgfvI8U.js +143 -0
  617. package/dist/cli/gen-DHW1qENn.js +307 -0
  618. package/dist/cli/index.d.ts +16 -5
  619. package/dist/cli/index.js +7 -7
  620. package/dist/cli/init-CZifzAUD.js +397 -0
  621. package/dist/cli/introspect-Dfwu5vAg.js +51 -0
  622. package/dist/cli/live-1eL2MIkS.js +344 -0
  623. package/dist/cli/mcp-CaFW6uKU.js +240 -0
  624. package/dist/cli/metadata-DkOQHZoH.js +146 -0
  625. package/dist/cli/migration-safety-BsCKKxPf.js +305 -0
  626. package/dist/cli/preset-C4fagbhZ.js +130 -0
  627. package/dist/cli/run-CE2s5TDh.js +711 -0
  628. package/dist/cli/run-Du5XPOCv.js +63 -0
  629. package/dist/cli/run-KXjrgNCH.js +2378 -0
  630. package/dist/cli/scaffold-CPH8sEhw.js +901 -0
  631. package/dist/cli/scaffold-DS6g3INp.js +1 -0
  632. package/dist/cli/seed-D6V-T5Af.js +188 -0
  633. package/dist/cli/seed-DPQaA8aP.js +1 -0
  634. package/dist/cli/shared-CCpxS5if.js +151 -0
  635. package/dist/cli/snapshot-Dkwxc1uV.js +351 -0
  636. package/dist/cli/source-args-DZV4RnZL.js +59 -0
  637. package/dist/cli/spec-B3Tbc7Dm.js +7534 -0
  638. package/dist/cli/spec-Cv1GYrcW.js +1 -0
  639. package/dist/cli/sql-C58MS9DI.js +348 -0
  640. package/dist/cli/sql-DVPw5tvO.js +2 -0
  641. package/dist/cli/sync-CjkKpI6d.js +91 -0
  642. package/dist/cli/version-CTqnp3HO.js +4 -0
  643. package/dist/cli/write-3qdrpS1v.js +201 -0
  644. package/dist/client/index.d.ts +6 -6
  645. package/dist/client/index.js +7 -5
  646. package/dist/client/native/index.d.ts +6 -6
  647. package/dist/client/native/index.js +3 -3
  648. package/dist/client-7_4Y21ue.d.ts +122 -0
  649. package/dist/client-B1cjaIfv.js +116 -0
  650. package/dist/client-B2GCMvfd.d.ts +451 -0
  651. package/dist/client-B8cHiZfF.js +67 -0
  652. package/dist/client-BIMg9IiF.d.ts +349 -0
  653. package/dist/client-BQseXods.d.ts +309 -0
  654. package/dist/client-BSnf6fn6.d.ts +59 -0
  655. package/dist/client-BW3-RUbq.js +235 -0
  656. package/dist/client-BYAY7lLs.d.ts +137 -0
  657. package/dist/client-BcXmbm4f.js +173 -0
  658. package/dist/client-BgmVu505.js +167 -0
  659. package/dist/client-Bj0xrUzr.js +437 -0
  660. package/dist/client-Bn0qqRBg.d.ts +37 -0
  661. package/dist/client-Bni68sve.d.ts +136 -0
  662. package/dist/client-BrtwaIBh.d.ts +74 -0
  663. package/dist/client-BtRx0-kn.js +82 -0
  664. package/dist/client-BteuBPIy.js +337 -0
  665. package/dist/client-C1TxDBgX.js +111 -0
  666. package/dist/client-C56l0MnY.d.ts +177 -0
  667. package/dist/client-CA6KuLDu.d.ts +223 -0
  668. package/dist/client-CBcq7LBg.d.ts +178 -0
  669. package/dist/client-CGJrSTMZ.js +234 -0
  670. package/dist/client-CLIBcMzL.d.ts +116 -0
  671. package/dist/client-COuIfjbB.d.ts +46 -0
  672. package/dist/client-CVToJ4uI.js +84 -0
  673. package/dist/client-C_0XZieg.js +287 -0
  674. package/dist/client-ChOJ4v0D.js +137 -0
  675. package/dist/client-CnENAa0E.d.ts +69 -0
  676. package/dist/client-Cp79i2ZE.d.ts +152 -0
  677. package/dist/client-CwKsEl6q.js +99 -0
  678. package/dist/client-D-LPdEDQ.d.ts +43 -0
  679. package/dist/client-D6gD9qt9.d.ts +45 -0
  680. package/dist/client-DBwWXQKF.d.ts +132 -0
  681. package/dist/client-DT6Tvudr.d.ts +54 -0
  682. package/dist/client-DU1_Jq4e.d.ts +116 -0
  683. package/dist/client-Dd-a0tup.d.ts +475 -0
  684. package/dist/client-Dh8zXgpq.js +1060 -0
  685. package/dist/client-DmjG9PHH.js +211 -0
  686. package/dist/client-DnUFHmje.js +129 -0
  687. package/dist/client-Do5hykMK.d.ts +38 -0
  688. package/dist/client-DzOL3lsV.d.ts +110 -0
  689. package/dist/client-DzukpHS1.d.ts +165 -0
  690. package/dist/client-LngH55pZ.d.ts +83 -0
  691. package/dist/client-PPSwiJaK.js +291 -0
  692. package/dist/client-RoAuPQNB.d.ts +103 -0
  693. package/dist/client-WzuQExHk.js +253 -0
  694. package/dist/client-bDXsvSXp.d.ts +90 -0
  695. package/dist/client-bx3Bk7c5.d.ts +64 -0
  696. package/dist/client-jgDU7Roj.d.ts +144 -0
  697. package/dist/client-yIxEJwTK.js +121 -0
  698. package/dist/cloud-event-SPyXMdcd.d.ts +64 -0
  699. package/dist/codecs-CQrX3ZW4.js +358 -0
  700. package/dist/codecs-DAu2sYWn.d.ts +222 -0
  701. package/dist/comments-CB8pFSV1.js +142 -0
  702. package/dist/commerce/index.d.ts +4 -3
  703. package/dist/commerce/index.js +6 -6
  704. package/dist/compiler-BCyHFI6n.d.ts +14 -0
  705. package/dist/compose--4D1FoPN.js +53 -0
  706. package/dist/composite-Dv6o2BSw.js +130 -0
  707. package/dist/composite-KllwFim2.d.ts +82 -0
  708. package/dist/config/index.d.ts +7 -7
  709. package/dist/config/index.js +6 -6
  710. package/dist/config-BuOz_O-y.d.ts +2152 -0
  711. package/dist/config-Dh4D8lBa.js +13931 -0
  712. package/dist/config-Dn0cC3bM.js +1093 -0
  713. package/dist/connector-BdCE4Efp.d.ts +164 -0
  714. package/dist/connectors-DDiSNvkF.d.ts +147 -0
  715. package/dist/context-9Q23weHu.d.ts +524 -0
  716. package/dist/context-CYquqpA6.js +41 -0
  717. package/dist/controller-CSsC9s3s.js +73 -0
  718. package/dist/controller-DAD4hbl4.d.ts +52 -0
  719. package/dist/create/index.d.ts +18 -5
  720. package/dist/create/index.js +19 -10
  721. package/dist/create-blocks-kPUhCvje.js +217 -0
  722. package/dist/credentials/index.d.ts +5 -5
  723. package/dist/credentials/index.js +6 -7
  724. package/dist/cron-_i5pBGkY.js +148 -0
  725. package/dist/cron-route-Y0eJ-FNi.js +24 -0
  726. package/dist/db-exception-Lngc1W49.js +31 -0
  727. package/dist/deal-forecast-CBlp20PY.js +39 -0
  728. package/dist/deal-forecast-LwO-Z4_C.d.ts +23 -0
  729. package/dist/define-DQznpZYl.js +2023 -0
  730. package/dist/define-Dw7pRO4h.d.ts +1123 -0
  731. package/dist/define-block-COpcS6aT.d.ts +1338 -0
  732. package/dist/define-block-Dze77QTw.js +56 -0
  733. package/dist/delegation-CeXm9AJ3.js +146 -0
  734. package/dist/documents-kgDOHUfn.d.ts +152 -0
  735. package/dist/edge/index.d.ts +15 -15
  736. package/dist/edge/index.js +11 -11
  737. package/dist/elysia/index.d.ts +1 -1
  738. package/dist/elysia/index.js +1 -1
  739. package/dist/embeddings-CcRP-cMN.d.ts +78 -0
  740. package/dist/embeddings-vVzseUw0.js +128 -0
  741. package/dist/employees-Dwyvxs4r.d.ts +180 -0
  742. package/dist/ended--Bd_Q6uL.d.ts +76 -0
  743. package/dist/engagements-CsJhf2OM.d.ts +179 -0
  744. package/dist/entitlements-B_ttRvI6.js +45 -0
  745. package/dist/entitlements-DDevu4ZE.d.ts +54 -0
  746. package/dist/entity-form-B67vq97h.d.ts +82 -0
  747. package/dist/entity-naming-DLDhHTbK.js +131 -0
  748. package/dist/entity-schema-BXXC1NnT.js +39 -0
  749. package/dist/envelope-DCfHtVtZ.js +90 -0
  750. package/dist/errors-03ysrOt4.js +325 -0
  751. package/dist/errors-DZx8w-MH.js +44 -0
  752. package/dist/escape-like-BfXS-iVe.d.ts +30 -0
  753. package/dist/eve/index.d.ts +5 -5
  754. package/dist/eve/index.js +3 -3
  755. package/dist/eve-BlJI8ZXL.d.ts +157 -0
  756. package/dist/event-calendar-D3SVa3AE.d.ts +65 -0
  757. package/dist/events/index.d.ts +5 -4
  758. package/dist/events/index.js +2 -1
  759. package/dist/events-DbLjvxDX.d.ts +852 -0
  760. package/dist/executor-BDAGTc_O.js +207 -0
  761. package/dist/executor-BElVQpaB.d.ts +188 -0
  762. package/dist/executor-CPyrQdjh.d.ts +700 -0
  763. package/dist/executor-CsTaO3AT.d.ts +37 -0
  764. package/dist/executor-DQoczQZJ.d.ts +104 -0
  765. package/dist/executor-o9HkOJ0m.js +869 -0
  766. package/dist/expo/index.d.ts +4 -4
  767. package/dist/expo/index.js +6 -6
  768. package/dist/expo-sqlite/index.d.ts +3 -3
  769. package/dist/expo-sqlite/index.js +2 -2
  770. package/dist/feature-BBLdbGu7.js +224 -0
  771. package/dist/field-errors-vshYTVKr.d.ts +166 -0
  772. package/dist/field-formats-DbjaDXoZ.d.ts +39 -0
  773. package/dist/fields-CanaxA0U.d.ts +75 -0
  774. package/dist/fields-DK30XCgc.js +107 -0
  775. package/dist/filter-evaluate-C3i2bGfk.d.ts +37 -0
  776. package/dist/filter-query-o3b_GuyC.d.ts +133 -0
  777. package/dist/flags-BTDPaN11.d.ts +246 -0
  778. package/dist/flags-BhYByvP1.js +279 -0
  779. package/dist/flags-sdk/index.d.ts +1 -1
  780. package/dist/flags-sdk/index.js +2 -2
  781. package/dist/flows/index.d.ts +247 -0
  782. package/dist/flows/index.js +229 -0
  783. package/dist/form-definition-BTpM_tz1.js +363 -0
  784. package/dist/form-definition-BjEtH8BT.d.ts +119 -0
  785. package/dist/framework-CXoyWGgd.js +57 -0
  786. package/dist/framework-FxfJpyoF.d.ts +41 -0
  787. package/dist/function-contract-vPqwt1j4.d.ts +27 -0
  788. package/dist/gateway-DI8dbOml.d.ts +115 -0
  789. package/dist/guest-actions-1T1DeS5Y.d.ts +5 -0
  790. package/dist/guest-actions-B7zdhfnh.js +9 -0
  791. package/dist/h3/index.d.ts +1 -1
  792. package/dist/h3/index.js +1 -1
  793. package/dist/h3/v1/index.d.ts +1 -1
  794. package/dist/h3/v1/index.js +1 -1
  795. package/dist/hono/index.d.ts +10 -10
  796. package/dist/hono/index.js +10 -10
  797. package/dist/http-51t9xppD.js +28 -0
  798. package/dist/impersonation-CZD9AOAk.js +62 -0
  799. package/dist/inbox-BPBb6etH.d.ts +321 -0
  800. package/dist/index-BSUX4dlB.d.ts +305 -0
  801. package/dist/index-BgSuw4CC.d.ts +151 -0
  802. package/dist/index-C7CrdGgz.d.ts +562 -0
  803. package/dist/index-CvxK2BZS.d.ts +847 -0
  804. package/dist/index-CxZQgNVE.d.ts +62 -0
  805. package/dist/index-D4420jLW.d.ts +66 -0
  806. package/dist/index-DK-YTWLd.d.ts +443 -0
  807. package/dist/index-DbXWcrOI.d.ts +577 -0
  808. package/dist/index-U0o7kU0s.d.ts +69 -0
  809. package/dist/index-WEafENqH.d.ts +149 -0
  810. package/dist/index-Yep7auV-.d.ts +287 -0
  811. package/dist/index-eTY4kJzo.d.ts +163 -0
  812. package/dist/index.d.ts +13 -88
  813. package/dist/index.js +12 -11
  814. package/dist/json-schema-DWDTfD8J.js +888 -0
  815. package/dist/jwks-cache-CRymV-Dr.js +49 -0
  816. package/dist/kit-Ct4Z6GIO.js +127 -0
  817. package/dist/kit-DKfbNTAA.d.ts +94 -0
  818. package/dist/knowledge-BKGrXdS_.js +272 -0
  819. package/dist/knowledge-CFkCRxO9.d.ts +202 -0
  820. package/dist/list/index.d.ts +3 -3
  821. package/dist/list-query-BtluNnYk.d.ts +222 -0
  822. package/dist/mcp/index.d.ts +6 -6
  823. package/dist/mcp/index.js +10 -10
  824. package/dist/mcp/sdk/index.d.ts +6 -6
  825. package/dist/mcp/sdk/index.js +5 -5
  826. package/dist/mentions-ByYnRNIG.js +114 -0
  827. package/dist/messages-DNzIVvgN.js +492 -0
  828. package/dist/messaging-BC-P-yAv.js +329 -0
  829. package/dist/messaging-CZ6aWb10.d.ts +297 -0
  830. package/dist/mfa-wrx1rqJT.d.ts +36 -0
  831. package/dist/model-messages-D-jVOIOK.js +206 -0
  832. package/dist/money-codec-jMP0PQLZ.js +41 -0
  833. package/dist/my-work-kinds-BU3SlA-6.js +11 -0
  834. package/dist/nestjs/index.d.ts +2 -2
  835. package/dist/nestjs/index.js +1 -1
  836. package/dist/next/index.d.ts +218 -18
  837. package/dist/next/index.js +181 -16
  838. package/dist/node/index.d.ts +2 -2
  839. package/dist/node/index.js +1 -1
  840. package/dist/onboarding-CGMuX7sP.js +68 -0
  841. package/dist/openapi/index.d.ts +3 -2
  842. package/dist/openapi/index.js +2 -2
  843. package/dist/operations-nWYRexee.d.ts +6 -0
  844. package/dist/options-289GJc2l.d.ts +52 -0
  845. package/dist/options-2EMA_x6_.js +16 -0
  846. package/dist/options-63AKQNv0.js +5 -0
  847. package/dist/options-70OsM-wK.js +10 -0
  848. package/dist/options-9gvPo1BC.js +8 -0
  849. package/dist/options-B5VUf4IT.js +8 -0
  850. package/dist/options-BPDiwSa-.js +5 -0
  851. package/dist/options-BYOtaF7w.js +5 -0
  852. package/dist/options-BZOliZvb.js +9 -0
  853. package/dist/options-BjtrC7o6.js +8 -0
  854. package/dist/options-BkpqTGrJ.js +8 -0
  855. package/dist/options-Bpl-WFPk.js +15 -0
  856. package/dist/options-Br1Xi2Hw.js +9 -0
  857. package/dist/options-CF7nRWXS.js +5 -0
  858. package/dist/options-CSCXNYJO.d.ts +8 -0
  859. package/dist/options-CYV4iZiQ.js +5 -0
  860. package/dist/options-CalPr6kN.d.ts +12 -0
  861. package/dist/options-CfxBliP6.d.ts +17 -0
  862. package/dist/options-CmoJsd4V.d.ts +8 -0
  863. package/dist/options-Cyu0hgmN.js +9 -0
  864. package/dist/options-D0bzZx9a.d.ts +10 -0
  865. package/dist/options-D1hSuf50.d.ts +12 -0
  866. package/dist/options-D4aD9qwB.js +5 -0
  867. package/dist/options-D65jzn7S.js +5 -0
  868. package/dist/options-D7sgG1bQ.js +16 -0
  869. package/dist/options-DJ-aYPVN.js +5 -0
  870. package/dist/options-DJm31rsi.d.ts +16 -0
  871. package/dist/options-DWML05Cp.js +5 -0
  872. package/dist/options-DXuA4JVa.d.ts +15 -0
  873. package/dist/options-DZupPoI0.d.ts +10 -0
  874. package/dist/options-DlohRAYd.d.ts +13 -0
  875. package/dist/options-Dm-2crCx.d.ts +273 -0
  876. package/dist/options-DrSkIBCD.js +9 -0
  877. package/dist/options-DujalSfR.js +10 -0
  878. package/dist/options-Dz3hJxUw.d.ts +10 -0
  879. package/dist/options-E7KcmHQv.js +8 -0
  880. package/dist/options-IHPg8ZoA.js +5 -0
  881. package/dist/options-MQfTGMgP.d.ts +14 -0
  882. package/dist/options-OMAUVcKK.d.ts +10 -0
  883. package/dist/options-a-28mlYT.js +9 -0
  884. package/dist/options-o2kfYU2x.js +8 -0
  885. package/dist/options-t_O5ldT6.js +5 -0
  886. package/dist/options-te6d5-yz.d.ts +19 -0
  887. package/dist/options-xD4_FRUq.js +10 -0
  888. package/dist/options-zkyhM3qi.js +8 -0
  889. package/dist/organizations-DtehZg3J.js +401 -0
  890. package/dist/orpc/index.d.ts +68 -10
  891. package/dist/orpc/index.js +38 -7
  892. package/dist/otel/index.d.ts +2 -2
  893. package/dist/otel/index.js +5 -5
  894. package/dist/outbox-CsF_iKjx.d.ts +199 -0
  895. package/dist/payments-BtScsgPS.js +16 -0
  896. package/dist/payments-CBzQIjoX.d.ts +114 -0
  897. package/dist/permissions-BetA_Fo_.js +34 -0
  898. package/dist/plugin-Ar5546xh.d.ts +202 -0
  899. package/dist/plugins/actor/index.d.ts +1 -1
  900. package/dist/plugins/actor/index.js +1 -1
  901. package/dist/plugins/rules/index.d.ts +2 -2
  902. package/dist/plugins/rules/index.js +2 -2
  903. package/dist/plugins/soft-delete/index.d.ts +3 -3
  904. package/dist/plugins/soft-delete/index.js +2 -2
  905. package/dist/plugins/tenant/index.d.ts +2 -2
  906. package/dist/plugins/tenant/index.js +3 -3
  907. package/dist/plugins/timestamps/index.d.ts +1 -1
  908. package/dist/plugins/timestamps/index.js +1 -1
  909. package/dist/plugins/validation/index.d.ts +2 -2
  910. package/dist/plugins/validation/index.js +4 -4
  911. package/dist/pool-CRkU15dA.d.ts +123 -0
  912. package/dist/pool-errors-B17BQRW-.js +27 -0
  913. package/dist/ports-DsJicwI2.d.ts +89 -0
  914. package/dist/ports-yajgT0t0.js +139 -0
  915. package/dist/postgres/index.d.ts +5 -5
  916. package/dist/postgres/index.js +3 -3
  917. package/dist/postgrest-DHLlN2nS.d.ts +53 -0
  918. package/dist/powersync/index.d.ts +5 -5
  919. package/dist/powersync/index.js +51 -21
  920. package/dist/powersync/react/index.d.ts +3 -3
  921. package/dist/powersync/react/index.js +1 -1
  922. package/dist/preset/index.d.ts +4 -4
  923. package/dist/preset/index.js +3 -3
  924. package/dist/preset-DzcQ5CQM.js +841 -0
  925. package/dist/problem-BWElIgIb.js +162 -0
  926. package/dist/problem-DpHB7tWl.d.ts +79 -0
  927. package/dist/provider-DmiaI1qt.d.ts +112 -0
  928. package/dist/provider-EJ0-5GwJ.js +57 -0
  929. package/dist/push-token-BxKmYhwk.d.ts +24 -0
  930. package/dist/queries-Dw8y9bvz.js +245 -0
  931. package/dist/query/index.d.ts +3 -3
  932. package/dist/query/index.js +290 -2
  933. package/dist/rank-result-C_sHjkiz.js +18 -0
  934. package/dist/rank-result-DwR0FawB.d.ts +14 -0
  935. package/dist/rate-limit-B_U12PdL.js +49 -0
  936. package/dist/rate-limit-CrOuXfjj.d.ts +50 -0
  937. package/dist/rate-limit-DExDw3Cy.js +327 -0
  938. package/dist/react/index.d.ts +9 -9
  939. package/dist/react/index.js +4 -4
  940. package/dist/react/native/index.d.ts +1 -1
  941. package/dist/react/native/index.js +1 -1
  942. package/dist/react/server.d.ts +37 -10
  943. package/dist/react/server.js +31 -4
  944. package/dist/react/session.d.ts +2 -2
  945. package/dist/react-28VgUbm9.js +852 -0
  946. package/dist/react-env-CfA3EdBH.js +20 -0
  947. package/dist/react-router/index.d.ts +13 -10
  948. package/dist/react-router/index.js +6 -6
  949. package/dist/read-set-BAR84kPC.js +199 -0
  950. package/dist/realtime/index.d.ts +7 -7
  951. package/dist/realtime/index.js +35 -3
  952. package/dist/recordings-DgDu7AOt.d.ts +119 -0
  953. package/dist/records/index.d.ts +83 -0
  954. package/dist/records/index.js +315 -0
  955. package/dist/refusal-DXydjgsS.js +64 -0
  956. package/dist/refusal-efy5bZMd.d.ts +32 -0
  957. package/dist/resolve-CzUKTIMq.d.ts +289 -0
  958. package/dist/resolve-DAYdcs22.js +892 -0
  959. package/dist/resolved-names-Dr7brlLL.js +133 -0
  960. package/dist/resource-DYDEnww-.d.ts +115 -0
  961. package/dist/resource-Dk_JYsOt.js +469 -0
  962. package/dist/resource-execute-bT9ltHVT.d.ts +15 -0
  963. package/dist/resource-types-Bzt_bpR5.d.ts +153 -0
  964. package/dist/resources-BV6j5TTD.js +64 -0
  965. package/dist/resources-Du5wcL3f.d.ts +7 -0
  966. package/dist/respond-CZYibxUx.d.ts +101 -0
  967. package/dist/respond-z_yfyitp.js +100 -0
  968. package/dist/result-B3m7xtRY.js +146 -0
  969. package/dist/result-C6jDfedy.d.ts +350 -0
  970. package/dist/rows-Bb0EPupt.js +80 -0
  971. package/dist/rows-CtLWqdGQ.js +39 -0
  972. package/dist/rrule-xDm2znty.js +290 -0
  973. package/dist/rules-DcW5mj1r.js +287 -0
  974. package/dist/sales-lines-BhrIx2oK.js +41 -0
  975. package/dist/sales-shared-C_u68eq2.js +22 -0
  976. package/dist/schemas-9Ci3K0Hk.js +103 -0
  977. package/dist/schemas-ypoQZ_6N.js +157 -0
  978. package/dist/scores-CsURQDUB.d.ts +172 -0
  979. package/dist/scores-DdPZVVt8.js +177 -0
  980. package/dist/search-ToCOlCZ8.js +106 -0
  981. package/dist/sections-DjxYmpu-.js +26 -0
  982. package/dist/server/index.d.ts +23 -23
  983. package/dist/server/index.js +17 -17
  984. package/dist/server-types-BOs-eFpo.d.ts +809 -0
  985. package/dist/session-BgsOPGZs.d.ts +97 -0
  986. package/dist/settings-mL-i7QUM.js +93 -0
  987. package/dist/shared-LmlfYPv4.js +60 -0
  988. package/dist/shared-eVrl39dX.js +17 -0
  989. package/dist/sign-in-lAyf6Ohy.js +386 -0
  990. package/dist/signatures-GUBuhLOB.js +145 -0
  991. package/dist/signatures-zbu6KTNQ.d.ts +43 -0
  992. package/dist/signers-D6ecZl22.d.ts +390 -0
  993. package/dist/signing-keys-B3RHGMMu.d.ts +119 -0
  994. package/dist/signing-keys-fWapUzi0.js +164 -0
  995. package/dist/solid/index.d.ts +27 -9
  996. package/dist/solid/index.js +28 -4
  997. package/dist/solid-bind-C1jeq4Qm.d.ts +11 -0
  998. package/dist/solid-bind-iHGfGtBK.js +38 -0
  999. package/dist/solid-controller-DGuv7V8a.js +13 -0
  1000. package/dist/solid-start/index.d.ts +13 -10
  1001. package/dist/solid-start/index.js +5 -5
  1002. package/dist/spec/index.d.ts +4 -3
  1003. package/dist/spec/index.js +3 -3
  1004. package/dist/spec-CoWHDoud.js +119 -0
  1005. package/dist/sql/index.d.ts +5 -5
  1006. package/dist/sql/index.js +5 -5
  1007. package/dist/sql-CVYjOUyG.js +421 -0
  1008. package/dist/sql-rQDL6PIL.js +122247 -0
  1009. package/dist/sso-B744gHeS.d.ts +161 -0
  1010. package/dist/sso-Bt9HocgW.js +217 -0
  1011. package/dist/ssr/index.d.ts +4 -4
  1012. package/dist/ssr/index.js +3 -3
  1013. package/dist/standard-DbQsD2xZ.d.ts +7 -0
  1014. package/dist/standard-DtkpFGkS.js +25 -0
  1015. package/dist/stats-qCEV5M3B.js +1147 -0
  1016. package/dist/statuses-DMMDwXpZ.js +29 -0
  1017. package/dist/statuses-zRcc2TeZ.js +28 -0
  1018. package/dist/storage/index.d.ts +3 -3
  1019. package/dist/storage/index.js +8 -8
  1020. package/dist/store-o0HwYXl8.d.ts +83 -0
  1021. package/dist/streams/index.d.ts +3 -3
  1022. package/dist/streams/index.js +2 -3
  1023. package/dist/streams/redis/index.d.ts +1 -1
  1024. package/dist/streams/redis/index.js +2 -2
  1025. package/dist/stripe/index.d.ts +1 -1
  1026. package/dist/stripe-X22LjuH-.d.ts +156 -0
  1027. package/dist/subject-readers-CsTpx44c.js +49 -0
  1028. package/dist/subject-readers-DEZ45DQF.d.ts +21 -0
  1029. package/dist/subjects-B6p4oAZJ.d.ts +78 -0
  1030. package/dist/subjects-DXFmanh5.d.ts +90 -0
  1031. package/dist/subjects-DevU_atb.js +107 -0
  1032. package/dist/summaries-8jQTELIX.d.ts +69 -0
  1033. package/dist/support-Ds1-UCN4.js +534 -0
  1034. package/dist/support-view-vwJbRMpV.d.ts +17 -0
  1035. package/dist/svelte/index.d.ts +26 -8
  1036. package/dist/svelte/index.js +25 -4
  1037. package/dist/svelte-bind-BHN5a8VV.js +46 -0
  1038. package/dist/svelte-bind-Ja6CtQGp.d.ts +13 -0
  1039. package/dist/svelte-controller-oFKC9AYu.js +19 -0
  1040. package/dist/sveltekit/index.d.ts +14 -11
  1041. package/dist/sveltekit/index.js +8 -8
  1042. package/dist/table-schema-BcB-VCQb.js +293 -0
  1043. package/dist/table-schema-Cb-IV_pZ.d.ts +78 -0
  1044. package/dist/tags-CLXi2c6O.d.ts +30 -0
  1045. package/dist/tags-EnvIccSJ.js +86 -0
  1046. package/dist/tanstack-db/index.d.ts +2 -2
  1047. package/dist/tanstack-db/index.js +1 -1
  1048. package/dist/tanstack-db/supabase/index.d.ts +2 -2
  1049. package/dist/tanstack-db/supabase/index.js +1 -1
  1050. package/dist/tanstack-start/index.d.ts +13 -10
  1051. package/dist/tanstack-start/index.js +5 -5
  1052. package/dist/tax-CIIxd8Zf.d.ts +170 -0
  1053. package/dist/tax-DmOMjrYc.js +140 -0
  1054. package/dist/tee-DwkUvJD_.js +101 -0
  1055. package/dist/template-BWP7IXZg.js +126 -0
  1056. package/dist/temporal-required-B8qQHYbI.js +20 -0
  1057. package/dist/tenant-Bg4PDLkG.d.ts +17 -0
  1058. package/dist/tenant-source-bqWpSr86.js +8 -0
  1059. package/dist/testing/index.d.ts +152 -29
  1060. package/dist/testing/index.js +347 -29
  1061. package/dist/timeline-0_hTBH0-.js +52 -0
  1062. package/dist/timeline-DUUsPLv5.d.ts +152 -0
  1063. package/dist/topic-CPOmMgkf.js +643 -0
  1064. package/dist/topic-D9j8G2dw.d.ts +415 -0
  1065. package/dist/types-BEDfwXL4.d.ts +251 -0
  1066. package/dist/types-BRJHGhSq.d.ts +177 -0
  1067. package/dist/types-CGUDoF5I.d.ts +624 -0
  1068. package/dist/types-DkPE7yd2.d.ts +194 -0
  1069. package/dist/types-QHeku_6b.d.ts +217 -0
  1070. package/dist/types-uHD9yANu.d.ts +700 -0
  1071. package/dist/undo-B696duxr.d.ts +46 -0
  1072. package/dist/undo-vutx78k8.js +44 -0
  1073. package/dist/upload-claim-D_wgDbi7.js +33 -0
  1074. package/dist/usage-BI1E2940.js +264 -0
  1075. package/dist/usage-DBcVGqnr.d.ts +232 -0
  1076. package/dist/variants-DL7NpFJ7.js +53 -0
  1077. package/dist/vault-BQTdu4eH.d.ts +62 -0
  1078. package/dist/vercel-connect/index.d.ts +1 -1
  1079. package/dist/vercel-connect/index.js +2 -2
  1080. package/dist/verify-27w0I5C9.js +130 -0
  1081. package/dist/verify-BmuCB4PW.d.ts +146 -0
  1082. package/dist/view-2_I-2ukO.d.ts +90 -0
  1083. package/dist/view-BtgqxQLM.js +108 -0
  1084. package/dist/vue/index.d.ts +27 -9
  1085. package/dist/vue/index.js +29 -4
  1086. package/dist/vue-bind-CFxon-Vs.js +45 -0
  1087. package/dist/vue-bind-TPkbLl4z.d.ts +11 -0
  1088. package/dist/vue-controller-WtbuT-Ux.js +13 -0
  1089. package/dist/watch-CfMT6vX7.js +139 -0
  1090. package/dist/watch-DziJudwj.d.ts +93 -0
  1091. package/dist/watch-topic-CIT3UlAh.d.ts +31 -0
  1092. package/dist/wire-Bizdxvp-.js +66 -0
  1093. package/dist/work-items-Cnntm8ij.d.ts +238 -0
  1094. package/dist/workflow-builder-2q1iqHYG.js +699 -0
  1095. package/dist/workflow-sdk/builder/index.d.ts +3 -3
  1096. package/dist/workflow-sdk/builder/index.js +1 -1
  1097. package/dist/workflow-sdk/index.d.ts +1 -1
  1098. package/dist/workflow-sdk/index.js +1 -1
  1099. package/dist/workflow-sdk/world/index.d.ts +1 -1
  1100. package/dist/workflow-sdk/world/index.js +5 -5
  1101. package/dist/workflow-sdk-BTYWQQg9.d.ts +163 -0
  1102. package/dist/workflow-sdk-_pqDUwNK.js +242 -0
  1103. package/dist/workflow-sdk-world-BIwGVy6S.js +2401 -0
  1104. package/dist/workflows-D8U7KyXJ.d.ts +258 -0
  1105. package/dist/workflows-VJBSV-QR.js +285 -0
  1106. package/dist/yjs/index.d.ts +28 -4
  1107. package/dist/yjs/index.js +52 -10
  1108. package/package.json +210 -1
  1109. package/schemas/config-v1.json +731 -32
  1110. package/schemas/design-v1.json +7 -1
  1111. package/schemas/snapshot-v2.json +25 -0
  1112. package/skills/better-supabase/SKILL.md +2 -1
  1113. package/skills/better-supabase/references/troubleshooting.md +18 -18
  1114. package/skills/better-supabase/references/ui-recipes.md +12740 -8075
  1115. package/skills/better-supabase-api/SKILL.md +1 -1
  1116. package/skills/better-supabase-api/references/powersync.md +8 -1
  1117. package/dist/access-sql-BpOdJvfj.js +0 -205
  1118. package/dist/actor-C9pwyCVz.js +0 -150
  1119. package/dist/adapter-D8dW6p2A.js +0 -2190
  1120. package/dist/agents-CuxuXVWv.d.ts +0 -117
  1121. package/dist/ai-cache-BXMXRhkx.d.ts +0 -82
  1122. package/dist/ai-cache-Byy5q6EZ.js +0 -87
  1123. package/dist/ai-chat-B00sIOjY.d.ts +0 -619
  1124. package/dist/ai-files-DTbIJcxQ.js +0 -339
  1125. package/dist/ai-tasks-DN-AV7qB.d.ts +0 -166
  1126. package/dist/announcements-DqiLxtKK.js +0 -128
  1127. package/dist/api-CmcTYuFT.js +0 -685
  1128. package/dist/api-DwLhJS1j.d.ts +0 -444
  1129. package/dist/api-keys-Bade6Qtl.d.ts +0 -213
  1130. package/dist/api-keys-CO24Ffil.js +0 -318
  1131. package/dist/app-tables-0YZ9IskE.js +0 -831
  1132. package/dist/app-tables-CbWUI7h_.d.ts +0 -35
  1133. package/dist/approvals-C-4MOWdV.d.ts +0 -127
  1134. package/dist/assistant-CcP_kpu7.d.ts +0 -157
  1135. package/dist/attachments-CPkGJVfk.js +0 -270
  1136. package/dist/audit-log-5aTnl7W2.js +0 -788
  1137. package/dist/auth-module-CwCIY97x.js +0 -10
  1138. package/dist/auth-reply-D02x5NSv.js +0 -31
  1139. package/dist/authorization-CB69cvnA.d.ts +0 -1504
  1140. package/dist/authorization-hooks-HXVZXxUk.d.ts +0 -217
  1141. package/dist/authorizer-BVR2vPGA.js +0 -125
  1142. package/dist/bind-DcXLU1ul.d.ts +0 -76
  1143. package/dist/block-env-YfPmSNa1.js +0 -32
  1144. package/dist/block-events-BURaqwyp.js +0 -96
  1145. package/dist/block-fields-Cwd4c8m-.js +0 -139
  1146. package/dist/block-fields-DnXkMney.d.ts +0 -58
  1147. package/dist/block-helpers-DwE32_gT.js +0 -272
  1148. package/dist/block-helpers-DyA5BAW4.d.ts +0 -43
  1149. package/dist/block-hooks-BadAniNI.d.ts +0 -117
  1150. package/dist/block-hooks-C1r-R2r0.js +0 -130
  1151. package/dist/block-transport-DBPhgF3W.d.ts +0 -69
  1152. package/dist/block-transport-Ds0C2mUf.js +0 -84
  1153. package/dist/blocks-CR3vCYhj.js +0 -88
  1154. package/dist/bookings-DJflcGqs.js +0 -184
  1155. package/dist/bucket-DBay-ICp.d.ts +0 -667
  1156. package/dist/build-DxzJf79X.js +0 -1839
  1157. package/dist/build-UqJeGtsH.js +0 -703
  1158. package/dist/calendar-DvbYFkrh.js +0 -801
  1159. package/dist/cli/add-BRjL7LuG.js +0 -1
  1160. package/dist/cli/add-Cf0uxfZ2.js +0 -672
  1161. package/dist/cli/add-DPfdDRq7.js +0 -75
  1162. package/dist/cli/adopt-B28iUeGg.js +0 -1
  1163. package/dist/cli/adopt-C0VugVMu.js +0 -421
  1164. package/dist/cli/apply-BlxtZPxe.js +0 -329
  1165. package/dist/cli/blocks-CHQ7K8Yz.js +0 -1
  1166. package/dist/cli/blocks-D3tsq-mR.js +0 -124
  1167. package/dist/cli/cache-DdgzhoaL.js +0 -516
  1168. package/dist/cli/catalog-DwTUdJaQ.js +0 -188
  1169. package/dist/cli/config-2qlSTi2o.js +0 -1503
  1170. package/dist/cli/config-DVksOjSr.js +0 -1
  1171. package/dist/cli/db-D8iId4R8.js +0 -473
  1172. package/dist/cli/design-edit-B2aBiarJ.js +0 -205
  1173. package/dist/cli/detect-D9JaAX20.js +0 -84
  1174. package/dist/cli/dist-D_VbPAMR.js +0 -129
  1175. package/dist/cli/doctor-pIek4vIO.js +0 -3897
  1176. package/dist/cli/emit-CJKf47Bi.js +0 -1078
  1177. package/dist/cli/env-BrLZfqsL.js +0 -143
  1178. package/dist/cli/env-cbCEa79W.js +0 -1
  1179. package/dist/cli/gen-DquZzY5a.js +0 -307
  1180. package/dist/cli/init-Dd-UdrE0.js +0 -397
  1181. package/dist/cli/introspect-IMQCji2l.js +0 -51
  1182. package/dist/cli/live-BfAO5YRX.js +0 -344
  1183. package/dist/cli/mcp-D8Az0FNn.js +0 -240
  1184. package/dist/cli/metadata-CTStQPfV.js +0 -144
  1185. package/dist/cli/migration-safety-Dg1lxomi.js +0 -305
  1186. package/dist/cli/preset-DEvwDc7U.js +0 -129
  1187. package/dist/cli/run-BXhJoghZ.js +0 -1602
  1188. package/dist/cli/run-DdxNRTr0.js +0 -63
  1189. package/dist/cli/run-dTu_PD4I.js +0 -711
  1190. package/dist/cli/scaffold-Bx3bcy2R.js +0 -901
  1191. package/dist/cli/scaffold-mbNAQE19.js +0 -1
  1192. package/dist/cli/seed-CLseQdXQ.js +0 -188
  1193. package/dist/cli/seed-DSHSUsYy.js +0 -1
  1194. package/dist/cli/shared-CAdIkTR7.js +0 -151
  1195. package/dist/cli/snapshot-GfdB9Cjl.js +0 -350
  1196. package/dist/cli/source-args-Dy3j1-H-.js +0 -59
  1197. package/dist/cli/spec-BfEK0_04.js +0 -1
  1198. package/dist/cli/spec-DXTdodlO.js +0 -7534
  1199. package/dist/cli/sql-BUhpAvrW.js +0 -2
  1200. package/dist/cli/sql-CLbWk3Yb.js +0 -332
  1201. package/dist/cli/sync-BBzNO-v9.js +0 -91
  1202. package/dist/cli/version-DiwcIKOL.js +0 -4
  1203. package/dist/cli/write-DZKk5rSF.js +0 -201
  1204. package/dist/client-0qFNkNhT.js +0 -1060
  1205. package/dist/client-2z1aHG57.d.ts +0 -475
  1206. package/dist/client-5IVhjmtl.d.ts +0 -74
  1207. package/dist/client-B3WBilR2.d.ts +0 -69
  1208. package/dist/client-B4JPQgf-.d.ts +0 -165
  1209. package/dist/client-BAYh7P2h.js +0 -211
  1210. package/dist/client-BOuaQA0h.js +0 -173
  1211. package/dist/client-BP-8vn9G.d.ts +0 -37
  1212. package/dist/client-BU5Yd0yO.d.ts +0 -103
  1213. package/dist/client-Bb_Pj9wL.js +0 -137
  1214. package/dist/client-BkH-Vh3s.d.ts +0 -112
  1215. package/dist/client-BsfsRHae.d.ts +0 -136
  1216. package/dist/client-Bta7yl1C.d.ts +0 -451
  1217. package/dist/client-BwKXlohx.js +0 -121
  1218. package/dist/client-CMqO1gCn.d.ts +0 -64
  1219. package/dist/client-CPirbPPi.js +0 -85
  1220. package/dist/client-CQPB-VJx.d.ts +0 -110
  1221. package/dist/client-CXbP_p02.d.ts +0 -156
  1222. package/dist/client-C_S9avzV.d.ts +0 -420
  1223. package/dist/client-Cb1g45Hc.js +0 -99
  1224. package/dist/client-Ch-dDfTB.js +0 -437
  1225. package/dist/client-CuFD4o56.d.ts +0 -111
  1226. package/dist/client-D2y_CfhU.d.ts +0 -137
  1227. package/dist/client-DAcVF-YJ.js +0 -134
  1228. package/dist/client-DCuE1rFm.js +0 -441
  1229. package/dist/client-DD02cst6.d.ts +0 -245
  1230. package/dist/client-DEE57s9m.d.ts +0 -132
  1231. package/dist/client-DVRFa59w.d.ts +0 -309
  1232. package/dist/client-DXb1Nmr3.js +0 -111
  1233. package/dist/client-DkQcRKhm.js +0 -67
  1234. package/dist/client-DoXBX3vS.d.ts +0 -116
  1235. package/dist/client-Dsuy9wfA.d.ts +0 -59
  1236. package/dist/client-EQvEzUQg.d.ts +0 -276
  1237. package/dist/client-G7NGXZKe.d.ts +0 -43
  1238. package/dist/client-OhTiAol1.js +0 -213
  1239. package/dist/client-Wt19DaEb.js +0 -291
  1240. package/dist/client-Y-kaHabc.d.ts +0 -46
  1241. package/dist/client-YASsOslj.js +0 -321
  1242. package/dist/client-_mL998Gl.js +0 -129
  1243. package/dist/client-i_u1e0Kf.d.ts +0 -144
  1244. package/dist/client-nieeGXdg.d.ts +0 -178
  1245. package/dist/client-ysVOUgxM.d.ts +0 -54
  1246. package/dist/cloud-event-CidL9jiw.d.ts +0 -64
  1247. package/dist/codecs-Du_zE1xu.js +0 -358
  1248. package/dist/codecs-WHpM3Byy.d.ts +0 -221
  1249. package/dist/codegen-DGtOsqz9.d.ts +0 -1809
  1250. package/dist/comments-Ceqo9bwE.js +0 -230
  1251. package/dist/compiler-DCotQWcs.d.ts +0 -14
  1252. package/dist/compose-VBQL7zIO.js +0 -53
  1253. package/dist/composite-BgBzdYP-.d.ts +0 -82
  1254. package/dist/composite-BgSdL5tk.js +0 -130
  1255. package/dist/config-V6HMvce5.js +0 -3930
  1256. package/dist/config-xUf0dj0t.js +0 -562
  1257. package/dist/connector-CKcTPJRV.d.ts +0 -107
  1258. package/dist/connectors-CgWuPQks.d.ts +0 -147
  1259. package/dist/context-B8_p3MXo.js +0 -11
  1260. package/dist/context-C-bHOtoD.js +0 -5
  1261. package/dist/context-CCz6ZgyI.js +0 -19
  1262. package/dist/context-CrojkPNC.js +0 -41
  1263. package/dist/context-DvBEhsXX.d.ts +0 -403
  1264. package/dist/controller-lWRcKqCl.d.ts +0 -52
  1265. package/dist/cron-CI1kP-t5.js +0 -148
  1266. package/dist/cron-route-BbVtwXZz.js +0 -24
  1267. package/dist/db-exception-CnWcYPxL.js +0 -15
  1268. package/dist/define-D0LSXmUP.d.ts +0 -1117
  1269. package/dist/define-DwZ_LQVO.js +0 -2011
  1270. package/dist/define-block-B6Gjs57G.js +0 -52
  1271. package/dist/define-block-MyM4lH42.d.ts +0 -281
  1272. package/dist/delegation-DeAJehLk.js +0 -146
  1273. package/dist/documents-BijGGIjr.d.ts +0 -99
  1274. package/dist/embeddings-DRGIc8ti.js +0 -128
  1275. package/dist/embeddings-Deusi99x.d.ts +0 -78
  1276. package/dist/ended-D_Twxl8v.d.ts +0 -76
  1277. package/dist/entitlements-CMGsO4gL.d.ts +0 -54
  1278. package/dist/entitlements-_tw0V3BY.js +0 -45
  1279. package/dist/envelope-BDShQQ7-.js +0 -90
  1280. package/dist/errors-Cq72lONT.js +0 -44
  1281. package/dist/errors-D7u24ZJH.js +0 -321
  1282. package/dist/escape-like-DuKupGUV.d.ts +0 -15
  1283. package/dist/eve-dWNqpd9Z.d.ts +0 -157
  1284. package/dist/event-calendar-E6AI-dgg.d.ts +0 -217
  1285. package/dist/events-DhGgwqQA.d.ts +0 -842
  1286. package/dist/executor-C29668fO.d.ts +0 -281
  1287. package/dist/executor-C5uyGttm.js +0 -207
  1288. package/dist/executor-Cy1nk4MZ.d.ts +0 -104
  1289. package/dist/executor-DK2F9Zis.js +0 -746
  1290. package/dist/executor-DXfgDsKd.d.ts +0 -37
  1291. package/dist/executor-D_viYkhf.d.ts +0 -179
  1292. package/dist/field-errors-CKEqR38q.d.ts +0 -119
  1293. package/dist/field-errors-DZVRWRkf.js +0 -13
  1294. package/dist/field-formats-BX2FqLle.d.ts +0 -39
  1295. package/dist/filter-evaluate-CSWhzYWN.d.ts +0 -37
  1296. package/dist/filter-query-C7qgRYYv.d.ts +0 -133
  1297. package/dist/flags-C--SBMT9.js +0 -279
  1298. package/dist/flags-CJFDNAvL.d.ts +0 -246
  1299. package/dist/form-definition-BjeElHsB.js +0 -311
  1300. package/dist/form-definition-DcVnFzl4.d.ts +0 -95
  1301. package/dist/framework-BpEnOfAo.js +0 -57
  1302. package/dist/framework-CMeAuJts.d.ts +0 -41
  1303. package/dist/function-contract-4vfi93Y5.d.ts +0 -27
  1304. package/dist/gateway-Dar9C0uP.d.ts +0 -115
  1305. package/dist/http-AkLjqOuB.js +0 -28
  1306. package/dist/impersonation-DFfDVJHk.js +0 -62
  1307. package/dist/inbox-CLsIrPXs.d.ts +0 -417
  1308. package/dist/index-B5XcM3VY.d.ts +0 -230
  1309. package/dist/index-B5dVVZtW.d.ts +0 -142
  1310. package/dist/index-Brm8I8iZ.d.ts +0 -232
  1311. package/dist/index-C7-2ZS9f.d.ts +0 -127
  1312. package/dist/index-CE0p3st5.d.ts +0 -227
  1313. package/dist/index-CcpGT2GI.d.ts +0 -151
  1314. package/dist/index-CrAKHNJF.d.ts +0 -287
  1315. package/dist/index-DLjs7j_z.d.ts +0 -61
  1316. package/dist/index-DdZcWH6q.d.ts +0 -820
  1317. package/dist/index-Dh5ZFCtu.d.ts +0 -61
  1318. package/dist/index-PADpaDku.d.ts +0 -447
  1319. package/dist/index-eoAU_QaY.d.ts +0 -357
  1320. package/dist/json-schema-Bu4YCRbZ.js +0 -551
  1321. package/dist/jwks-cache-DbgNmSgV.js +0 -49
  1322. package/dist/kit-BeXTrlZn.js +0 -127
  1323. package/dist/kit-LeQGMzLH.d.ts +0 -94
  1324. package/dist/knowledge-Bx_qehoZ.js +0 -272
  1325. package/dist/knowledge-CYdNJasZ.d.ts +0 -202
  1326. package/dist/list-query-Dx5cAqG6.d.ts +0 -223
  1327. package/dist/messages-Bd5-5ZjP.js +0 -492
  1328. package/dist/mfa-Dt8AdWht.d.ts +0 -36
  1329. package/dist/model-messages-BWyXXA4s.js +0 -206
  1330. package/dist/money-codec-BdnIiFFX.js +0 -41
  1331. package/dist/onboarding-DjXV4rgO.js +0 -68
  1332. package/dist/operations-Cc27HkTG.d.ts +0 -6
  1333. package/dist/options-BAW2ZlZ8.js +0 -8
  1334. package/dist/options-C1HR4UZd.js +0 -13
  1335. package/dist/options-CIf3xni7.d.ts +0 -52
  1336. package/dist/options-Dh4wu9Ks.js +0 -15
  1337. package/dist/options-QKP9FFcK.js +0 -8
  1338. package/dist/options-XgfTctbI.js +0 -5
  1339. package/dist/options-vXMBEWSH.js +0 -5
  1340. package/dist/organizations-R98kfFwF.js +0 -401
  1341. package/dist/outbox-Bsk-HJnq.d.ts +0 -199
  1342. package/dist/payments-6uuergov.js +0 -16
  1343. package/dist/plugin-DouW0Kvg.d.ts +0 -203
  1344. package/dist/pool-Bu8zXGzI.d.ts +0 -123
  1345. package/dist/pool-errors-DOZ3oDeS.js +0 -27
  1346. package/dist/ports-BltcWsHf.d.ts +0 -312
  1347. package/dist/ports-CM3aG3zn.js +0 -137
  1348. package/dist/ports-n3ZWSS_I.d.ts +0 -89
  1349. package/dist/postgrest-DGjrW4sK.d.ts +0 -53
  1350. package/dist/preset-HNFqCWaD.js +0 -838
  1351. package/dist/problem-D0KDiYPk.js +0 -162
  1352. package/dist/problem-D_DEBfMn.d.ts +0 -79
  1353. package/dist/provider-BhIkKBOh.js +0 -57
  1354. package/dist/provider-Dmsbl8ug.d.ts +0 -112
  1355. package/dist/push-token-8lvtOEv4.d.ts +0 -24
  1356. package/dist/query-DgPYlU82.js +0 -311
  1357. package/dist/rank-result-C6vsw27N.js +0 -18
  1358. package/dist/rank-result-DHflCNwo.d.ts +0 -14
  1359. package/dist/rate-limit-B7N1ZGl6.d.ts +0 -50
  1360. package/dist/rate-limit-CXpPm4_l.js +0 -49
  1361. package/dist/rate-limit-CpTD_WHm.js +0 -328
  1362. package/dist/react-env-CodKZgPk.js +0 -16
  1363. package/dist/react-uvu_KcVY.js +0 -599
  1364. package/dist/read-set-DP6fm21F.js +0 -316
  1365. package/dist/refusal-BEyNVFy7.d.ts +0 -32
  1366. package/dist/refusal-Ce2p81VW.js +0 -64
  1367. package/dist/resolve-D57oDWNr.d.ts +0 -289
  1368. package/dist/resolve-sy3_Gz0i.js +0 -892
  1369. package/dist/resource-BVvIiuX_.js +0 -469
  1370. package/dist/resource-DxQOPkZ5.d.ts +0 -115
  1371. package/dist/resource-execute-BbjuiXwD.d.ts +0 -15
  1372. package/dist/resource-types-NXau9LJE.d.ts +0 -153
  1373. package/dist/resources-CIi7sw1T.js +0 -64
  1374. package/dist/resources-CZ60Vqwq.d.ts +0 -7
  1375. package/dist/respond-DjEmE_DN.js +0 -100
  1376. package/dist/respond-QW-f1yio.d.ts +0 -101
  1377. package/dist/result-DIT_qp4G.js +0 -146
  1378. package/dist/result-mijqfoJN.d.ts +0 -346
  1379. package/dist/rrule-CesB9Rxd.js +0 -290
  1380. package/dist/rules-D75V7dAE.js +0 -286
  1381. package/dist/sales-lines-DgXeOEar.js +0 -41
  1382. package/dist/sales-shared-CjXsy0NJ.js +0 -22
  1383. package/dist/search-9hoZ8rN1.js +0 -106
  1384. package/dist/server-types-D_cQ6OxZ.d.ts +0 -809
  1385. package/dist/session-DNRYXIOU.d.ts +0 -97
  1386. package/dist/settings-DzQtMwfl.js +0 -93
  1387. package/dist/shared-C80IHf4B.js +0 -60
  1388. package/dist/shared-D11SWNLx.js +0 -17
  1389. package/dist/sign-in-B_QJ2u62.js +0 -386
  1390. package/dist/signatures-CzqfLlfV.d.ts +0 -43
  1391. package/dist/signatures-D8IoN3Rw.js +0 -145
  1392. package/dist/signers-BuVQKDfK.d.ts +0 -390
  1393. package/dist/signing-keys-i2Rsll6L.d.ts +0 -119
  1394. package/dist/solid-controller-7TxGaJNy.js +0 -33
  1395. package/dist/solid-controller-BnF3ovwV.d.ts +0 -11
  1396. package/dist/sql-CQIikLnQ.js +0 -421
  1397. package/dist/sql-frpIs51D.js +0 -89308
  1398. package/dist/sso-C86TPpZr.js +0 -217
  1399. package/dist/sso-D_am-gBz.d.ts +0 -161
  1400. package/dist/standard-16AIDny5.d.ts +0 -7
  1401. package/dist/standard-l10kE0yS.js +0 -25
  1402. package/dist/stats-Bt1RyT-F.js +0 -1147
  1403. package/dist/store-DKqbuNvw.d.ts +0 -83
  1404. package/dist/stripe-BSEwKCni.d.ts +0 -140
  1405. package/dist/subject-readers-BJzh7WF7.js +0 -49
  1406. package/dist/subject-readers-Bbq1i0Ol.d.ts +0 -21
  1407. package/dist/subjects-DQ2SU4cA.d.ts +0 -77
  1408. package/dist/support-CWVTM2AB.js +0 -534
  1409. package/dist/support-view-BOJJSZKv.d.ts +0 -17
  1410. package/dist/svelte-controller-BmRhHvFz.js +0 -50
  1411. package/dist/svelte-controller-DXO7gsmS.d.ts +0 -13
  1412. package/dist/table-schema-xqSXrjCN.js +0 -284
  1413. package/dist/tags-Co-QIHeK.js +0 -84
  1414. package/dist/tags-tbiuHHMV.d.ts +0 -30
  1415. package/dist/tax-BHSCb5Rw.d.ts +0 -280
  1416. package/dist/tax-keSd-q_1.js +0 -140
  1417. package/dist/tee-1fsH3bEz.js +0 -101
  1418. package/dist/template-DXsGm_R0.js +0 -126
  1419. package/dist/temporal-required-Dt4mcPsi.js +0 -20
  1420. package/dist/tenant-l3H2ouv7.d.ts +0 -17
  1421. package/dist/tenant-naming-Bsj3Uvap.js +0 -27
  1422. package/dist/topic-CZvLXFND.d.ts +0 -415
  1423. package/dist/topic-Cr01EHZy.js +0 -643
  1424. package/dist/types-Bzm0OgJk.d.ts +0 -177
  1425. package/dist/types-CB5MvzuE.d.ts +0 -624
  1426. package/dist/types-DYXhFhmQ.d.ts +0 -251
  1427. package/dist/types-DmshMaXz.d.ts +0 -421
  1428. package/dist/types-EUrisY2U.d.ts +0 -217
  1429. package/dist/types-vVsLvOUJ.d.ts +0 -700
  1430. package/dist/undo-CClrTbm9.d.ts +0 -46
  1431. package/dist/undo-HHonvNeg.js +0 -44
  1432. package/dist/upload-claim-DCuklVyh.js +0 -33
  1433. package/dist/usage-BFwuH7GK.d.ts +0 -232
  1434. package/dist/usage-CJmmCGzd.js +0 -264
  1435. package/dist/variants-Bat9zU8l.js +0 -53
  1436. package/dist/vault-BQThkbws.d.ts +0 -62
  1437. package/dist/verify-BCmBaHlN.js +0 -130
  1438. package/dist/verify-BTAEsJbF.d.ts +0 -146
  1439. package/dist/view-CKzCp8FW.d.ts +0 -90
  1440. package/dist/view-CfUd5vI9.js +0 -108
  1441. package/dist/vue-controller-DCOtUOA_.d.ts +0 -11
  1442. package/dist/vue-controller-EzyTjqca.js +0 -32
  1443. package/dist/watch-CYeMXFtj.d.ts +0 -92
  1444. package/dist/watch-Cnd6XDnU.js +0 -139
  1445. package/dist/watch-topic-CloXeDTO.d.ts +0 -31
  1446. package/dist/wire-BJhepFbv.js +0 -66
  1447. package/dist/workflow-builder-DzZNlI45.js +0 -699
  1448. package/dist/workflow-sdk-BXwl1THQ.d.ts +0 -163
  1449. package/dist/workflow-sdk-CPGiFE1B.js +0 -242
  1450. package/dist/workflow-sdk-world-BOEsvWmx.js +0 -2123
  1451. package/dist/workflows-BHyYAR6c.d.ts +0 -258
  1452. package/dist/workflows-otOMN33L.js +0 -285
@@ -0,0 +1,1839 @@
1
+ import { r as isPlainObject } from "./clone-CkG0-hlI.js";
2
+ import { n as isRecord } from "./guards-6F2bCtQR.js";
3
+ import { s as problemType, t as PROBLEM_CONTENT_TYPE } from "./problem-BWElIgIb.js";
4
+ import { t as buildJsonSchema } from "./json-schema-DWDTfD8J.js";
5
+ import { r as dataschemaOf } from "./cloud-event-XsM53POL.js";
6
+ import { n as planResource } from "./resource-BRRU-A7j.js";
7
+ import { n as pageQuery, r as pageSchema } from "./resource-schemas-up6bKOUi.js";
8
+ import { ROW_EVENT_TYPES } from "./events/index.js";
9
+ import { t as topicStatus } from "./realtime-status-asHvhiOh.js";
10
+ //#region src/spec/merge.ts
11
+ /** Escapes a key for a JSON Pointer (RFC 6901). */
12
+ function pointerToken(key) {
13
+ return key.replaceAll("~", "~0").replaceAll("/", "~1");
14
+ }
15
+ /**
16
+ * Deep merge: objects merge key by key, anything else (arrays included) is
17
+ * replaced by the patch. `onConflict` hears each replaced leaf whose value
18
+ * differs, with its JSON Pointer. Neither input is changed.
19
+ */
20
+ function mergeJson(base, patch, onConflict, pointer = "") {
21
+ if (!isPlainObject(base) || !isPlainObject(patch)) {
22
+ if (onConflict && base !== void 0 && JSON.stringify(base) !== JSON.stringify(patch)) onConflict(pointer);
23
+ return patch;
24
+ }
25
+ const out = { ...base };
26
+ for (const [key, value] of Object.entries(patch)) out[key] = Object.hasOwn(base, key) ? mergeJson(base[key], value, onConflict, `${pointer}/${pointerToken(key)}`) : value;
27
+ return out;
28
+ }
29
+ //#endregion
30
+ //#region src/spec/schemas.ts
31
+ /** `customer_tags` to `CustomerTags`. */
32
+ function pascal(value) {
33
+ return value.replaceAll(/(^|[_\-.\s])(\w)/g, (_, _sep, char) => char.toUpperCase());
34
+ }
35
+ const schemaRef = (name) => ({ $ref: `#/components/schemas/${name}` });
36
+ const tableDefs = /* @__PURE__ */ new WeakMap();
37
+ /**
38
+ * The 2020-12 `$defs` for every table (`customersRow`, `customersInsert`),
39
+ * built once per metadata object and JSON column config.
40
+ */
41
+ function tableSchemas(meta, json = {}) {
42
+ let byJson = tableDefs.get(meta);
43
+ if (!byJson) {
44
+ byJson = /* @__PURE__ */ new Map();
45
+ tableDefs.set(meta, byJson);
46
+ }
47
+ const key = JSON.stringify(json);
48
+ let defs = byJson.get(key);
49
+ if (!defs) {
50
+ defs = buildJsonSchema({
51
+ meta,
52
+ config: { json }
53
+ })["$defs"];
54
+ byJson.set(key, defs);
55
+ }
56
+ return defs;
57
+ }
58
+ const converted = /* @__PURE__ */ new WeakMap();
59
+ function nameOf(schema) {
60
+ const id = schema["$id"] ?? schema["id"];
61
+ if (typeof id !== "string" || id === "") return;
62
+ return (id.split(/[/#]/u).findLast((part) => part !== "") ?? id).replace(/\.(?:schema\.)?json$/u, "");
63
+ }
64
+ /**
65
+ * Converts a Standard Schema through Standard JSON Schema (2020-12), or
66
+ * `undefined` when the library does not implement it. The schema's `$id`, `id`
67
+ * and `$schema` are lifted out: the id becomes the component name.
68
+ */
69
+ function convertStandard(schema, direction) {
70
+ let cache = converted.get(schema);
71
+ if (!cache) {
72
+ cache = /* @__PURE__ */ new Map();
73
+ converted.set(schema, cache);
74
+ }
75
+ const hit = cache.get(direction);
76
+ if (hit !== void 0) return hit ?? void 0;
77
+ const convert = schema["~standard"].jsonSchema?.[direction];
78
+ if (typeof convert !== "function") {
79
+ cache.set(direction, null);
80
+ return;
81
+ }
82
+ const raw = convert({ target: "draft-2020-12" });
83
+ const name = nameOf(raw);
84
+ const { $schema: _schema, $id: _id, id: _plainId, ...rest } = raw;
85
+ const result = {
86
+ schema: rest,
87
+ ...name ? { name } : {}
88
+ };
89
+ cache.set(direction, result);
90
+ return result;
91
+ }
92
+ //#endregion
93
+ //#region src/spec/presets.ts
94
+ /** JSON Schema for RFC 9457 Problem Details as better-supabase sends them. */
95
+ const PROBLEM_SCHEMA = {
96
+ type: "object",
97
+ required: [
98
+ "type",
99
+ "title",
100
+ "status"
101
+ ],
102
+ properties: {
103
+ type: {
104
+ type: "string",
105
+ format: "uri-reference",
106
+ examples: [problemType("not_found").type]
107
+ },
108
+ title: { type: "string" },
109
+ status: {
110
+ type: "integer",
111
+ minimum: 100,
112
+ maximum: 599
113
+ },
114
+ detail: { type: "string" },
115
+ instance: { type: "string" },
116
+ kind: { type: "string" },
117
+ code: { type: "string" },
118
+ hint: { type: "string" },
119
+ constraint: { type: "string" },
120
+ column: { type: "string" },
121
+ columns: {
122
+ type: "array",
123
+ items: { type: "string" }
124
+ },
125
+ required: {
126
+ type: "string",
127
+ enum: ["aal1", "aal2"]
128
+ },
129
+ scopes: {
130
+ type: "array",
131
+ items: { type: "string" }
132
+ },
133
+ permission: { type: "string" },
134
+ approval: {
135
+ type: "object",
136
+ required: ["id"],
137
+ properties: { id: { type: "string" } }
138
+ },
139
+ issues: {
140
+ type: "array",
141
+ items: {
142
+ type: "object",
143
+ required: ["message"],
144
+ properties: {
145
+ message: { type: "string" },
146
+ path: {
147
+ type: "array",
148
+ items: { type: ["string", "integer"] }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ };
155
+ /** The default error responses: today's Problem Details answers, 400 to 422. */
156
+ const DEFAULT_ERRORS = [
157
+ {
158
+ name: "BadRequest",
159
+ status: 400,
160
+ description: "The request is invalid."
161
+ },
162
+ {
163
+ name: "Unauthorized",
164
+ status: 401,
165
+ description: "Missing or invalid credentials."
166
+ },
167
+ {
168
+ name: "Forbidden",
169
+ status: 403,
170
+ description: "Row-level security or a plugin denied the request."
171
+ },
172
+ {
173
+ name: "NotFound",
174
+ status: 404,
175
+ description: "No row matches."
176
+ },
177
+ {
178
+ name: "Conflict",
179
+ status: 409,
180
+ description: "A unique or foreign key constraint failed."
181
+ },
182
+ {
183
+ name: "Unprocessable",
184
+ status: 422,
185
+ description: "Validation or a check constraint failed."
186
+ }
187
+ ];
188
+ /** Name of the shared 403 response of operations that declare a permission. */
189
+ const PERMISSION_DENIED = "PermissionDenied";
190
+ const problem = (code, detail, extra = {}) => ({ value: {
191
+ ...problemType("forbidden"),
192
+ status: 403,
193
+ kind: "forbidden",
194
+ code,
195
+ detail,
196
+ ...extra
197
+ } });
198
+ /** The 403 of an operation with a permission, with one example per problem code. */
199
+ function permissionDeniedResponse() {
200
+ return {
201
+ 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.",
202
+ content: { [PROBLEM_CONTENT_TYPE]: {
203
+ schema: schemaRef("Problem"),
204
+ examples: {
205
+ permissionDenied: {
206
+ summary: "PERMISSION_DENIED",
207
+ ...problem("PERMISSION_DENIED", "Permission invoices.update is required", { permission: "invoices.update" })
208
+ },
209
+ insufficientScope: {
210
+ summary: "INSUFFICIENT_SCOPE",
211
+ ...problem("INSUFFICIENT_SCOPE", "The token lacks a required scope", { scopes: ["invoices.update"] })
212
+ },
213
+ approvalRequired: {
214
+ summary: "APPROVAL_REQUIRED",
215
+ ...problem("APPROVAL_REQUIRED", "invoices.update needs an approval", {
216
+ permission: "invoices.update",
217
+ approval: { id: "apr_123" }
218
+ })
219
+ }
220
+ }
221
+ } }
222
+ };
223
+ }
224
+ function errorResponse(error) {
225
+ return {
226
+ description: error.description,
227
+ content: { [PROBLEM_CONTENT_TYPE]: { schema: schemaRef("Problem") } }
228
+ };
229
+ }
230
+ /** The scheme name of the `oauth2` preset. */
231
+ const OAUTH_SCHEME = "supabaseOAuth";
232
+ /** Security schemes and top-level requirements for the presets. */
233
+ function resolveSecurity(presets, supabaseUrl, oauthScopes = {}) {
234
+ const schemes = {};
235
+ const requirements = [];
236
+ for (const preset of presets) {
237
+ if (typeof preset === "object") {
238
+ schemes[preset.name] = preset.scheme;
239
+ requirements.push({ [preset.name]: preset.scopes ?? [] });
240
+ continue;
241
+ }
242
+ switch (preset) {
243
+ case "bearer":
244
+ schemes["supabaseJwt"] = {
245
+ type: "http",
246
+ scheme: "bearer",
247
+ bearerFormat: "JWT",
248
+ description: "A Supabase access token. Requests run as that user under row-level security."
249
+ };
250
+ requirements.push({ supabaseJwt: [] });
251
+ break;
252
+ case "oauth2": {
253
+ if (!supabaseUrl) throw new TypeError("better-supabase/spec: oauth2 security needs supabaseUrl");
254
+ const origin = supabaseUrl.replace(/\/$/, "");
255
+ const auth = `${origin}/auth/v1`;
256
+ schemes[OAUTH_SCHEME] = {
257
+ type: "oauth2",
258
+ description: "The Supabase OAuth 2.1 server.",
259
+ flows: { authorizationCode: {
260
+ authorizationUrl: `${auth}/oauth/authorize`,
261
+ tokenUrl: `${auth}/oauth/token`,
262
+ scopes: oauthScopes
263
+ } },
264
+ metadataUrl: `${origin}/.well-known/oauth-authorization-server/auth/v1`
265
+ };
266
+ requirements.push({ [OAUTH_SCHEME]: [] });
267
+ break;
268
+ }
269
+ case "apiKey":
270
+ schemes["supabaseApiKey"] = {
271
+ type: "apiKey",
272
+ name: "apikey",
273
+ in: "header",
274
+ description: "The project's publishable key."
275
+ };
276
+ requirements.push({ supabaseApiKey: [] });
277
+ break;
278
+ default: throw new TypeError(`Unknown security preset "${String(preset)}"`);
279
+ }
280
+ }
281
+ return {
282
+ schemes,
283
+ requirements
284
+ };
285
+ }
286
+ //#endregion
287
+ //#region src/spec/build-resource.ts
288
+ const METHODS = /* @__PURE__ */ new Set([
289
+ "get",
290
+ "put",
291
+ "post",
292
+ "patch",
293
+ "delete",
294
+ "head",
295
+ "options",
296
+ "trace",
297
+ "query"
298
+ ]);
299
+ function isMethod(value) {
300
+ return METHODS.has(value);
301
+ }
302
+ /** The error statuses each operation can answer with. */
303
+ const OPERATION_STATUSES = {
304
+ list: [
305
+ 400,
306
+ 401,
307
+ 403
308
+ ],
309
+ create: [
310
+ 400,
311
+ 401,
312
+ 403,
313
+ 409,
314
+ 422
315
+ ],
316
+ get: [
317
+ 401,
318
+ 403,
319
+ 404
320
+ ],
321
+ update: [
322
+ 400,
323
+ 401,
324
+ 403,
325
+ 404,
326
+ 409,
327
+ 422
328
+ ],
329
+ delete: [
330
+ 401,
331
+ 403,
332
+ 404,
333
+ 409
334
+ ]
335
+ };
336
+ /**
337
+ * Statuses an operation only documents when it can answer with them; other
338
+ * errors apply everywhere.
339
+ */
340
+ const SCOPED_STATUSES = /* @__PURE__ */ new Set([
341
+ 400,
342
+ 401,
343
+ 403,
344
+ 404,
345
+ 409,
346
+ 422
347
+ ]);
348
+ const JSON_TYPE = "application/json";
349
+ function pageParameters(cursor, maxPageSize) {
350
+ return pageQuery(cursor, maxPageSize).map((p) => ({
351
+ name: p.name,
352
+ in: "query",
353
+ required: false,
354
+ description: p.description,
355
+ schema: p.schema
356
+ }));
357
+ }
358
+ function isParameter(value) {
359
+ return isPlainObject(value) && typeof value["name"] === "string" && typeof value["in"] === "string" && isPlainObject(value["schema"]);
360
+ }
361
+ function isPlanCarrier(input) {
362
+ return typeof input === "object" && "plan" in input;
363
+ }
364
+ /**
365
+ * `description` and `deprecated` from comments, read structurally so older
366
+ * metadata still works.
367
+ */
368
+ function docsOf(value) {
369
+ if (!value) return {};
370
+ const description = "description" in value ? value.description : void 0;
371
+ const deprecated = "deprecated" in value ? value.deprecated : void 0;
372
+ return {
373
+ ...typeof description === "string" && description !== "" ? { description } : {},
374
+ ...deprecated === true ? { deprecated: true } : {}
375
+ };
376
+ }
377
+ function jsonContent(schema) {
378
+ return { [JSON_TYPE]: { schema } };
379
+ }
380
+ function jsonResponse(schema, description) {
381
+ return {
382
+ description,
383
+ content: jsonContent(schema)
384
+ };
385
+ }
386
+ function mutableProperties(schema) {
387
+ const properties = schema["properties"];
388
+ if (!isPlainObject(properties)) return;
389
+ const copy = {};
390
+ for (const [key, value] of Object.entries(properties)) if (isPlainObject(value)) copy[key] = { ...value };
391
+ schema["properties"] = copy;
392
+ return copy;
393
+ }
394
+ function createBuildContext(meta, options) {
395
+ const prefix = options.extensionPrefix ?? "x-better-supabase-";
396
+ const diagnostics = [];
397
+ const report = (diagnostic) => {
398
+ diagnostics.push(diagnostic);
399
+ };
400
+ const base = (options.basePath ?? "").replace(/\/$/, "");
401
+ const globalErrors = options.errors ?? DEFAULT_ERRORS;
402
+ const schemas = { Problem: structuredClone(PROBLEM_SCHEMA) };
403
+ const responses = {};
404
+ for (const error of globalErrors) responses[error.name] = errorResponse(error);
405
+ const operations = [];
406
+ const tags = [...options.tags ?? []];
407
+ const served = /* @__PURE__ */ new Map();
408
+ const { authorizer } = options;
409
+ const addTag = (name, description) => {
410
+ if (tags.some((tag) => tag.name === name)) return;
411
+ tags.push({
412
+ name,
413
+ ...description ? { description } : {}
414
+ });
415
+ };
416
+ const addComponent = (name, schema) => {
417
+ const existing = schemas[name];
418
+ if (existing && JSON.stringify(existing) !== JSON.stringify(schema)) {
419
+ report({
420
+ code: "component-conflict",
421
+ severity: "error",
422
+ message: `Two different schemas are named "${name}"; the first one is kept`,
423
+ pointer: `/components/schemas/${pointerToken(name)}`
424
+ });
425
+ return;
426
+ }
427
+ schemas[name] = schema;
428
+ };
429
+ const keyOf = (ref, where) => {
430
+ if (authorizer) try {
431
+ return authorizer.key(ref);
432
+ } catch {
433
+ report({
434
+ code: "permission-unresolved",
435
+ severity: "error",
436
+ message: `${where}: the authorizer has no key for this permission`
437
+ });
438
+ return;
439
+ }
440
+ if (typeof ref === "string") return ref;
441
+ report({
442
+ code: "permission-unresolved",
443
+ severity: "error",
444
+ message: `${where}: a permission that is not a string needs an authorizer`
445
+ });
446
+ };
447
+ const converted = (standard, direction, where) => {
448
+ const result = convertStandard(standard, direction);
449
+ if (!result) report({
450
+ code: "schema-unconvertible",
451
+ severity: "warning",
452
+ message: `${where}: the schema does not implement Standard JSON Schema, so the spec allows any value`
453
+ });
454
+ return result;
455
+ };
456
+ const schemaOf = (standard, direction, role, operationId) => {
457
+ const result = converted(standard, direction, `${operationId} ${role}`);
458
+ if (!result) return {};
459
+ const name = options.componentName ? options.componentName({
460
+ kind: "schema",
461
+ id: result.name,
462
+ schema: result.schema,
463
+ role,
464
+ operationId
465
+ }) : result.name;
466
+ if (!name) return structuredClone(result.schema);
467
+ addComponent(name, structuredClone(result.schema));
468
+ return schemaRef(name);
469
+ };
470
+ const objectParameters = (standard, location, where) => {
471
+ const result = converted(standard, "input", where);
472
+ const properties = result?.schema["properties"];
473
+ if (!result || !isPlainObject(properties)) return [];
474
+ const required = result.schema["required"];
475
+ const requiredNames = Array.isArray(required) ? required : [];
476
+ return Object.entries(properties).flatMap(([name, schema]) => {
477
+ if (!isPlainObject(schema)) return [];
478
+ const description = schema["description"];
479
+ return [{
480
+ name,
481
+ in: location,
482
+ required: location === "path" || requiredNames.includes(name),
483
+ ...typeof description === "string" ? { description } : {},
484
+ schema: structuredClone(schema)
485
+ }];
486
+ });
487
+ };
488
+ const usedErrors = (errors, statuses, permission) => {
489
+ const out = {};
490
+ for (const error of errors) {
491
+ if (SCOPED_STATUSES.has(error.status) && !statuses.includes(error.status)) continue;
492
+ const status = String(error.status);
493
+ if (Object.hasOwn(out, status)) continue;
494
+ if (error.status === 403 && permission) continue;
495
+ responses[error.name] ??= errorResponse(error);
496
+ out[status] = { ref: error.name };
497
+ }
498
+ if (permission) {
499
+ responses[PERMISSION_DENIED] ??= permissionDeniedResponse();
500
+ out["403"] = { ref: PERMISSION_DENIED };
501
+ }
502
+ return out;
503
+ };
504
+ const extendFor = (extend, name) => {
505
+ if (!extend) return;
506
+ const all = extend["*"];
507
+ const own = extend[name];
508
+ if (!all && !own) return;
509
+ return mergeJson(all ?? {}, own ?? {});
510
+ };
511
+ return {
512
+ meta,
513
+ options,
514
+ prefix,
515
+ base,
516
+ globalErrors,
517
+ diagnostics,
518
+ schemas,
519
+ responses,
520
+ operations,
521
+ tags,
522
+ served,
523
+ report,
524
+ addTag,
525
+ addComponent,
526
+ keyOf,
527
+ schemaOf,
528
+ objectParameters,
529
+ usedErrors,
530
+ extendFor
531
+ };
532
+ }
533
+ function resourceScope(ctx, key, input) {
534
+ const { meta, options, prefix, base, globalErrors, operations, served, report, addTag, addComponent, keyOf, schemaOf, usedErrors, extendFor } = ctx;
535
+ const { authorizer } = options;
536
+ let plan;
537
+ if (isPlanCarrier(input)) plan = input.plan;
538
+ else {
539
+ if (!meta.tables[key]) throw new TypeError(`better-supabase/spec: unknown table "${key}"`);
540
+ plan = planResource(meta, key, input === true ? {} : input, authorizer);
541
+ }
542
+ const tableKey = plan.table;
543
+ const table = plan.meta;
544
+ const description = plan.description;
545
+ const name = pascal(tableKey);
546
+ const tableDocs = docsOf(table);
547
+ const defs = tableSchemas(meta, options.json ?? {});
548
+ const componentFor = (variant) => {
549
+ const defaultName = `${name}${variant}`;
550
+ return options.componentName?.({
551
+ kind: "table",
552
+ table: tableKey,
553
+ variant,
554
+ defaultName
555
+ }) ?? defaultName;
556
+ };
557
+ const components = {};
558
+ for (const variant of [
559
+ "Row",
560
+ "Insert",
561
+ "Update"
562
+ ]) {
563
+ const def = defs[`${tableKey}${variant}`];
564
+ if (!def) continue;
565
+ const schema = structuredClone(def);
566
+ if (tableDocs.description && schema["description"] === void 0) schema["description"] = tableDocs.description;
567
+ if (tableDocs.deprecated) schema["deprecated"] = true;
568
+ const properties = mutableProperties(schema);
569
+ for (const [column, property] of Object.entries(properties ?? {})) {
570
+ const docs = docsOf(table.columns[column]);
571
+ if (docs.description && property["description"] === void 0) property["description"] = docs.description;
572
+ if (docs.deprecated) property["deprecated"] = true;
573
+ }
574
+ const examples = options.examples?.[tableKey];
575
+ if (variant === "Row" && examples && examples.length > 0) schema["examples"] = structuredClone(examples);
576
+ const componentName = componentFor(variant);
577
+ components[variant] = componentName;
578
+ addComponent(componentName, schema);
579
+ }
580
+ const rowName = components.Row ?? componentFor("Row");
581
+ const cursor = plan.pagination === "cursor";
582
+ const pageName = componentFor("Page");
583
+ addComponent(pageName, pageSchema(schemaRef(rowName), cursor));
584
+ const tag = description.tag ?? tableKey;
585
+ addTag(tag, description.description ?? tableDocs.description);
586
+ const collection = `${base}${description.path ?? `/${tableKey}`}`;
587
+ const keyParam = plan.keyParam;
588
+ const rowProperties = defs[`${tableKey}Row`]?.["properties"];
589
+ const keySchema = keyParam && isPlainObject(rowProperties) ? rowProperties[keyParam] : void 0;
590
+ const idParameter = keyParam ? {
591
+ name: keyParam,
592
+ in: "path",
593
+ required: true,
594
+ schema: isPlainObject(keySchema) ? structuredClone(keySchema) : { type: "string" }
595
+ } : void 0;
596
+ const item = keyParam ? `${collection}/{${keyParam}}` : void 0;
597
+ const errors = description.errors ?? globalErrors;
598
+ const servedTable = {
599
+ table,
600
+ components,
601
+ operations: []
602
+ };
603
+ served.set(tableKey, servedTable);
604
+ const names = /* @__PURE__ */ new Set([...plan.operations, ...plan.actions.map((action) => action.name)]);
605
+ for (const extendKey of Object.keys(description.extend ?? {})) if (extendKey !== "*" && !names.has(extendKey)) report({
606
+ code: "extend-unknown",
607
+ severity: "warning",
608
+ message: `${tableKey}.extend.${extendKey} names no operation or action of the resource`
609
+ });
610
+ const add = (opName, source, method, path, fields) => {
611
+ const defaultId = `${opName}${name}`;
612
+ const id = options.operationId?.({
613
+ source,
614
+ method,
615
+ path,
616
+ defaultId
617
+ }) ?? defaultId;
618
+ const ref = plan.permissions[opName];
619
+ const permission = ref === void 0 ? void 0 : keyOf(ref, `${tableKey}.${opName}`);
620
+ const extend = extendFor(description.extend, opName);
621
+ const { extensions, ...rest } = fields;
622
+ const operation = {
623
+ id,
624
+ method,
625
+ path,
626
+ tags: [tag],
627
+ source,
628
+ ...rest,
629
+ extensions: {
630
+ [`${prefix}table`]: `${table.schema}.${table.name}`,
631
+ ...extensions,
632
+ ...permission === void 0 ? {} : { [`${prefix}permission`]: permission }
633
+ },
634
+ ...permission === void 0 ? {} : { permission },
635
+ ...description.security ? { security: description.security } : {},
636
+ ...extend ? { extend } : {},
637
+ ...tableDocs.deprecated ? { deprecated: true } : {}
638
+ };
639
+ operations.push(operation);
640
+ servedTable.operations.push(operation);
641
+ };
642
+ const outputOf = (operation, fallback) => {
643
+ const output = description.output?.[operation];
644
+ return output ? schemaOf(output, "output", "output", `${operation}${name}`) : fallback;
645
+ };
646
+ const resourceOp = (operation) => ({
647
+ kind: "resource",
648
+ table: tableKey,
649
+ operation
650
+ });
651
+ const errorsFor = (operation) => usedErrors(errors, OPERATION_STATUSES[operation], plan.permissions[operation] !== void 0);
652
+ const opExtension = (operation) => ({ [`${prefix}operation`]: operation });
653
+ return {
654
+ ctx,
655
+ plan,
656
+ tableKey,
657
+ name,
658
+ description,
659
+ components,
660
+ componentFor,
661
+ rowName,
662
+ pageName,
663
+ cursor,
664
+ collection,
665
+ item,
666
+ idParameter,
667
+ errors,
668
+ add,
669
+ outputOf,
670
+ resourceOp,
671
+ errorsFor,
672
+ opExtension
673
+ };
674
+ }
675
+ function addTableOperation(scope, operation) {
676
+ const { plan, tableKey, name, description, components, componentFor, rowName, pageName, cursor, collection, item, idParameter, add, outputOf, resourceOp, errorsFor, opExtension } = scope;
677
+ const { schemaOf } = scope.ctx;
678
+ switch (operation) {
679
+ case "list": {
680
+ const listOutput = description.output?.list;
681
+ const pageRef = listOutput ? pageSchema(schemaOf(listOutput, "output", "item", `list${name}`), cursor) : schemaRef(pageName);
682
+ add("list", resourceOp("list"), "get", collection, {
683
+ summary: `List ${tableKey}`,
684
+ extensions: opExtension("list"),
685
+ parameters: description.list ? description.list.openapi.filter(isParameter) : pageParameters(cursor, plan.maxPageSize),
686
+ responses: {
687
+ "200": jsonResponse(pageRef, `A page of ${tableKey}.`),
688
+ ...errorsFor("list")
689
+ }
690
+ });
691
+ break;
692
+ }
693
+ case "create": {
694
+ const body = description.input?.create ? schemaOf(description.input.create, "input", "input", `create${name}`) : schemaRef(components.Insert ?? componentFor("Insert"));
695
+ add("create", resourceOp("create"), "post", collection, {
696
+ summary: `Create a ${tableKey} row`,
697
+ extensions: opExtension("create"),
698
+ parameters: [],
699
+ requestBody: {
700
+ required: true,
701
+ content: jsonContent(body)
702
+ },
703
+ responses: {
704
+ "201": jsonResponse(outputOf("create", schemaRef(rowName)), "Created."),
705
+ ...errorsFor("create")
706
+ }
707
+ });
708
+ break;
709
+ }
710
+ case "get":
711
+ if (!item || !idParameter) break;
712
+ add("get", resourceOp("get"), "get", item, {
713
+ summary: `Get a ${tableKey} row`,
714
+ extensions: opExtension("get"),
715
+ parameters: [idParameter],
716
+ responses: {
717
+ "200": jsonResponse(outputOf("get", schemaRef(rowName)), "The row."),
718
+ ...errorsFor("get")
719
+ }
720
+ });
721
+ break;
722
+ case "update": {
723
+ if (!item || !idParameter) break;
724
+ const body = description.input?.update ? schemaOf(description.input.update, "input", "input", `update${name}`) : schemaRef(components.Update ?? componentFor("Update"));
725
+ add("update", resourceOp("update"), "patch", item, {
726
+ summary: `Update a ${tableKey} row`,
727
+ extensions: opExtension("update"),
728
+ parameters: [idParameter],
729
+ requestBody: {
730
+ required: true,
731
+ content: jsonContent(body)
732
+ },
733
+ responses: {
734
+ "200": jsonResponse(outputOf("update", schemaRef(rowName)), "Updated."),
735
+ ...errorsFor("update")
736
+ }
737
+ });
738
+ break;
739
+ }
740
+ case "delete":
741
+ if (!item || !idParameter) break;
742
+ add("delete", resourceOp("delete"), "delete", item, {
743
+ summary: `Delete a ${tableKey} row`,
744
+ extensions: opExtension("delete"),
745
+ parameters: [idParameter],
746
+ responses: {
747
+ "204": { description: "Deleted." },
748
+ ...errorsFor("delete")
749
+ }
750
+ });
751
+ break;
752
+ default: throw new TypeError(`better-supabase/spec: unknown operation "${String(operation)}"`);
753
+ }
754
+ }
755
+ function addAction(scope, action) {
756
+ const { tableKey, name, idParameter, collection, errors, add } = scope;
757
+ const { prefix, schemaOf, objectParameters, usedErrors } = scope.ctx;
758
+ const method = action.method.toLowerCase();
759
+ if (!isMethod(method)) throw new TypeError(`${tableKey}.actions.${action.name}: unknown method`);
760
+ const operationId = `${action.name}${name}`;
761
+ const parameters = [...action.params.length > 0 && idParameter ? [idParameter] : [], ...action.query ? objectParameters(action.query, "query", `${operationId} query`) : []];
762
+ const status = String(action.status ?? (action.output ? 200 : 204));
763
+ const statuses = [
764
+ ...action.input || action.query ? [400] : [],
765
+ 401,
766
+ 403,
767
+ ...action.params.length > 0 ? [404] : [],
768
+ ...action.input ? [422] : []
769
+ ];
770
+ add(action.name, {
771
+ kind: "action",
772
+ table: tableKey,
773
+ action: action.name
774
+ }, method, `${collection}${action.path}`, {
775
+ ...action.summary ? { summary: action.summary } : {},
776
+ ...action.description ? { description: action.description } : {},
777
+ ...action.deprecated ? { deprecated: true } : {},
778
+ extensions: {
779
+ [`${prefix}action`]: action.name,
780
+ ...action.emits ? { [`${prefix}emits`]: [...action.emits] } : {}
781
+ },
782
+ parameters,
783
+ ...action.input ? { requestBody: {
784
+ required: true,
785
+ content: jsonContent(schemaOf(action.input, "input", "input", operationId))
786
+ } } : {},
787
+ responses: {
788
+ [status]: action.output ? jsonResponse(schemaOf(action.output, "output", "output", operationId), action.summary ?? "Done.") : { description: action.summary ?? "Done." },
789
+ ...usedErrors(errors, statuses, action.permission !== void 0)
790
+ }
791
+ });
792
+ }
793
+ /** Adds one resource's components, tag and operations to the build. */
794
+ function buildResource(ctx, key, input) {
795
+ const scope = resourceScope(ctx, key, input);
796
+ for (const operation of scope.plan.operations) addTableOperation(scope, operation);
797
+ for (const action of scope.plan.actions) addAction(scope, action);
798
+ }
799
+ //#endregion
800
+ //#region src/spec/data-api.ts
801
+ const REST = "/rest/v1";
802
+ const DEFAULT_TAG = "Data API";
803
+ const ERROR = "DataApiError";
804
+ /** The error body PostgREST answers with. */
805
+ const ERROR_SCHEMA = {
806
+ type: "object",
807
+ required: ["message"],
808
+ properties: {
809
+ code: { type: "string" },
810
+ message: { type: "string" },
811
+ details: { type: ["string", "null"] },
812
+ hint: { type: ["string", "null"] }
813
+ }
814
+ };
815
+ /**
816
+ * Query parameters PostgREST reserves, so a column with the name gets no
817
+ * filter.
818
+ */
819
+ const RESERVED = /* @__PURE__ */ new Set([
820
+ "select",
821
+ "order",
822
+ "limit",
823
+ "offset",
824
+ "columns",
825
+ "on_conflict",
826
+ "or",
827
+ "and",
828
+ "not"
829
+ ]);
830
+ const INTEGER = /* @__PURE__ */ new Set([
831
+ "int2",
832
+ "int4",
833
+ "int8"
834
+ ]);
835
+ const NUMBER = /* @__PURE__ */ new Set([
836
+ "float4",
837
+ "float8",
838
+ "numeric",
839
+ "oid",
840
+ "money"
841
+ ]);
842
+ /** The scheme names the `apiKey` and `bearer` presets register. */
843
+ const DATA_API_SECURITY = [{
844
+ supabaseApiKey: [],
845
+ supabaseJwt: []
846
+ }, { supabaseApiKey: [] }];
847
+ /** JSON Schema for a Postgres type as PostgREST writes it. */
848
+ function typeSchema(meta, type) {
849
+ if (type.startsWith("_")) return {
850
+ type: "array",
851
+ items: typeSchema(meta, type.slice(1))
852
+ };
853
+ const values = meta.enums[type];
854
+ if (values) return {
855
+ type: "string",
856
+ enum: [...values]
857
+ };
858
+ if (INTEGER.has(type)) return { type: "integer" };
859
+ if (NUMBER.has(type)) return { type: "number" };
860
+ switch (type) {
861
+ case "bool": return { type: "boolean" };
862
+ case "uuid": return {
863
+ type: "string",
864
+ format: "uuid"
865
+ };
866
+ case "timestamptz": return {
867
+ type: "string",
868
+ format: "date-time"
869
+ };
870
+ case "date": return {
871
+ type: "string",
872
+ format: "date"
873
+ };
874
+ case "json":
875
+ case "jsonb":
876
+ case "record":
877
+ case "void": return {};
878
+ default: return { type: "string" };
879
+ }
880
+ }
881
+ /**
882
+ * A table schema with database column names, as the Data API reads and writes
883
+ * them.
884
+ */
885
+ function databaseCased(schema, table) {
886
+ const dbName = (name) => table.columns[name]?.db ?? name;
887
+ const properties = schema["properties"];
888
+ const required = schema["required"];
889
+ return {
890
+ ...schema,
891
+ ...isPlainObject(properties) ? { properties: Object.fromEntries(Object.entries(properties).map(([name, value]) => [dbName(name), value])) } : {},
892
+ ...Array.isArray(required) ? { required: required.map((name) => typeof name === "string" ? dbName(name) : name) } : {}
893
+ };
894
+ }
895
+ const qualified = (schema, name) => schema === "public" ? name : `${schema}.${name}`;
896
+ const STRING = { type: "string" };
897
+ const header = (name, description, schema, required = false) => ({
898
+ name,
899
+ in: "header",
900
+ required,
901
+ description,
902
+ schema: schema ?? STRING
903
+ });
904
+ const query = (name, description, schema) => ({
905
+ name,
906
+ in: "query",
907
+ required: false,
908
+ description,
909
+ schema: schema ?? STRING
910
+ });
911
+ /**
912
+ * The `Accept-Profile` or `Content-Profile` header a table outside `public`
913
+ * needs.
914
+ */
915
+ function profile(schema, write) {
916
+ return schema === "public" ? [] : [header(write ? "Content-Profile" : "Accept-Profile", `The schema of the table, \`${schema}\`.`, {
917
+ type: "string",
918
+ enum: [schema]
919
+ }, true)];
920
+ }
921
+ const PREFER_WRITE = header("Prefer", "`return=representation` answers with the written rows; `return=minimal` (the default) answers without a body.");
922
+ /**
923
+ * Documents the Data API: table operations under `/rest/v1/<table>` and RPCs
924
+ * under `/rest/v1/rpc/<name>`.
925
+ */
926
+ function buildDataApi(ctx, dataApi) {
927
+ const { meta, options, operations, report, addTag, addComponent, responses } = ctx;
928
+ const tag = dataApi.tag ?? DEFAULT_TAG;
929
+ const origin = options.supabaseUrl?.replace(/\/$/, "");
930
+ if (!origin) report({
931
+ code: "data-api-server-missing",
932
+ severity: "warning",
933
+ message: "dataApi needs supabaseUrl: without it the /rest/v1 paths resolve against the document's servers"
934
+ });
935
+ const servers = origin ? [{
936
+ url: origin,
937
+ description: "The Supabase project."
938
+ }] : void 0;
939
+ const defs = tableSchemas(meta, options.json ?? {});
940
+ const tableKeys = /* @__PURE__ */ new Set();
941
+ const unknownTable = (key, where) => {
942
+ report({
943
+ code: "data-api-table-unknown",
944
+ severity: "error",
945
+ message: `${where}: no table or view "${key}"`
946
+ });
947
+ };
948
+ if (dataApi.tables === true) for (const key of Object.keys(meta.tables).toSorted()) tableKeys.add(key);
949
+ else for (const key of dataApi.tables ?? []) if (meta.tables[key]) tableKeys.add(key);
950
+ else unknownTable(key, "dataApi.tables");
951
+ for (const key of Object.keys(dataApi.operations ?? {})) if (!meta.tables[key]) unknownTable(key, "dataApi.operations");
952
+ else if (!tableKeys.has(key)) tableKeys.add(key);
953
+ const functionKeys = [];
954
+ if (dataApi.functions === true) functionKeys.push(...Object.keys(meta.functions).toSorted());
955
+ else for (const key of dataApi.functions ?? []) if (meta.functions[key]) functionKeys.push(key);
956
+ else report({
957
+ code: "data-api-function-unknown",
958
+ severity: "error",
959
+ message: `dataApi.functions: no function "${key}"`
960
+ });
961
+ if (tableKeys.size === 0 && functionKeys.length === 0) return;
962
+ addTag(tag, "The Supabase Data API (PostgREST). Every request runs under row-level security.");
963
+ addComponent(ERROR, structuredClone(ERROR_SCHEMA));
964
+ responses[ERROR] ??= {
965
+ description: "PostgREST rejected the request.",
966
+ content: jsonContent(schemaRef(ERROR))
967
+ };
968
+ const errors = { "4XX": { ref: ERROR } };
969
+ /**
970
+ * The database-cased component of a table variant, or `undefined` when the
971
+ * table has none.
972
+ */
973
+ const component = (key, variant) => {
974
+ const table = meta.tables[key];
975
+ const schema = defs[`${key}${variant}`];
976
+ if (!table || !schema) return;
977
+ const name = `DataApi${pascal(table.schema === "public" ? "" : `${table.schema}_`)}${pascal(table.name)}${variant}`;
978
+ addComponent(name, databaseCased(structuredClone(schema), table));
979
+ return schemaRef(name);
980
+ };
981
+ const push = (draft) => {
982
+ const { defaultId, ...rest } = draft;
983
+ operations.push({
984
+ ...rest,
985
+ id: options.operationId?.({
986
+ source: draft.source,
987
+ method: draft.method,
988
+ path: draft.path,
989
+ defaultId
990
+ }) ?? defaultId,
991
+ tags: [tag],
992
+ ...servers ? { servers } : {},
993
+ security: DATA_API_SECURITY,
994
+ extensions: {}
995
+ });
996
+ };
997
+ for (const key of tableKeys) {
998
+ const table = meta.tables[key];
999
+ if (table) buildTable(key, table);
1000
+ }
1001
+ for (const key of functionKeys) {
1002
+ const fn = meta.functions[key];
1003
+ if (fn) buildFunction(key, fn);
1004
+ }
1005
+ function buildTable(key, table) {
1006
+ const row = component(key, "Row") ?? {};
1007
+ const insert = component(key, "Insert");
1008
+ const update = component(key, "Update");
1009
+ const rows = {
1010
+ type: "array",
1011
+ items: row
1012
+ };
1013
+ const path = `${REST}/${table.name}`;
1014
+ const name = pascal(table.schema === "public" ? table.name : `${table.schema}_${table.name}`);
1015
+ const label = qualified(table.schema, table.name);
1016
+ 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\`.`));
1017
+ const viewOperations = ["select"];
1018
+ if (insert) viewOperations.push("insert");
1019
+ if (update) viewOperations.push("update", "delete");
1020
+ const allowed = dataApi.operations?.[key] ?? (table.kind === "view" ? viewOperations : [
1021
+ "select",
1022
+ "insert",
1023
+ "update",
1024
+ "delete"
1025
+ ]);
1026
+ const source = (operation) => ({
1027
+ kind: "data-api",
1028
+ table: key,
1029
+ operation
1030
+ });
1031
+ const written = (status, description) => ({ [status]: jsonResponse(rows, `${description} The body holds the rows with \`Prefer: return=representation\`.`) });
1032
+ for (const operation of allowed) switch (operation) {
1033
+ case "select":
1034
+ push({
1035
+ defaultId: `dataApiSelect${name}`,
1036
+ method: "get",
1037
+ path,
1038
+ summary: `Read rows of ${label}`,
1039
+ parameters: [
1040
+ query("select", "The columns to return, comma separated, and embedded relations as `relation(columns)`. Defaults to `*`."),
1041
+ query("order", "Sort order, such as `created_at.desc,id`."),
1042
+ query("limit", "The most rows to return.", {
1043
+ type: "integer",
1044
+ minimum: 0
1045
+ }),
1046
+ query("offset", "The rows to skip.", {
1047
+ type: "integer",
1048
+ minimum: 0
1049
+ }),
1050
+ ...filters,
1051
+ header("Range", "A row range, such as `0-24`."),
1052
+ header("Prefer", "`count=exact`, `count=planned` or `count=estimated` adds the total to `Content-Range`."),
1053
+ ...profile(table.schema, false)
1054
+ ],
1055
+ responses: {
1056
+ "200": {
1057
+ ...jsonResponse(rows, "The rows."),
1058
+ headers: { "Content-Range": {
1059
+ description: "The returned range and the total, such as `0-24/100`.",
1060
+ schema: { type: "string" }
1061
+ } }
1062
+ },
1063
+ "206": jsonResponse(rows, "Part of the rows, for a `Range` request."),
1064
+ ...errors
1065
+ },
1066
+ source: source("select")
1067
+ });
1068
+ break;
1069
+ case "insert":
1070
+ push({
1071
+ defaultId: `dataApiInsert${name}`,
1072
+ method: "post",
1073
+ path,
1074
+ summary: `Insert rows into ${label}`,
1075
+ parameters: [
1076
+ query("columns", "The columns to read from the body, comma separated."),
1077
+ query("on_conflict", "The unique columns an upsert matches on, comma separated."),
1078
+ PREFER_WRITE,
1079
+ ...profile(table.schema, true)
1080
+ ],
1081
+ requestBody: {
1082
+ required: true,
1083
+ content: jsonContent(insert ? { oneOf: [insert, {
1084
+ type: "array",
1085
+ items: insert
1086
+ }] } : {})
1087
+ },
1088
+ responses: {
1089
+ ...written("201", "Created."),
1090
+ ...errors
1091
+ },
1092
+ source: source("insert")
1093
+ });
1094
+ break;
1095
+ case "update":
1096
+ push({
1097
+ defaultId: `dataApiUpdate${name}`,
1098
+ method: "patch",
1099
+ path,
1100
+ summary: `Update rows of ${label}`,
1101
+ description: "Updates every row the filters match.",
1102
+ parameters: [
1103
+ ...filters,
1104
+ PREFER_WRITE,
1105
+ ...profile(table.schema, true)
1106
+ ],
1107
+ requestBody: {
1108
+ required: true,
1109
+ content: jsonContent(update ?? {})
1110
+ },
1111
+ responses: {
1112
+ ...written("200", "Updated."),
1113
+ "204": { description: "Updated, without a body." },
1114
+ ...errors
1115
+ },
1116
+ source: source("update")
1117
+ });
1118
+ break;
1119
+ case "delete":
1120
+ push({
1121
+ defaultId: `dataApiDelete${name}`,
1122
+ method: "delete",
1123
+ path,
1124
+ summary: `Delete rows of ${label}`,
1125
+ description: "Deletes every row the filters match.",
1126
+ parameters: [
1127
+ ...filters,
1128
+ PREFER_WRITE,
1129
+ ...profile(table.schema, true)
1130
+ ],
1131
+ responses: {
1132
+ ...written("200", "Deleted."),
1133
+ "204": { description: "Deleted, without a body." },
1134
+ ...errors
1135
+ },
1136
+ source: source("delete")
1137
+ });
1138
+ break;
1139
+ default: throw new TypeError(`Unknown Data API operation "${String(operation)}"`);
1140
+ }
1141
+ }
1142
+ function argumentsSchema(signature) {
1143
+ const required = signature.args.filter((arg) => arg.optional !== true).map((arg) => arg.name);
1144
+ return {
1145
+ type: "object",
1146
+ properties: Object.fromEntries(signature.args.map((arg) => [arg.name, typeSchema(meta, arg.type)])),
1147
+ ...required.length > 0 ? { required } : {},
1148
+ additionalProperties: false
1149
+ };
1150
+ }
1151
+ function resultSchema(fn) {
1152
+ const { result } = fn;
1153
+ let one;
1154
+ if (result && "table" in result) one = component(result.table, "Row") ?? {};
1155
+ else if (result) one = {
1156
+ type: "object",
1157
+ properties: Object.fromEntries(result.columns.map((column) => [column.db, {}])),
1158
+ required: result.columns.map((column) => column.db)
1159
+ };
1160
+ else {
1161
+ const rowTable = Object.entries(meta.tables).find(([, table]) => table.name === fn.returns && table.schema === fn.schema);
1162
+ one = rowTable ? component(rowTable[0], "Row") ?? {} : typeSchema(meta, fn.returns);
1163
+ }
1164
+ return fn.returnsSet ? {
1165
+ type: "array",
1166
+ items: one
1167
+ } : one;
1168
+ }
1169
+ function buildFunction(key, fn) {
1170
+ const signatures = fn.overloads ?? [fn];
1171
+ const bodies = signatures.map(argumentsSchema);
1172
+ const [only] = bodies;
1173
+ const body = bodies.length === 1 && only ? only : { oneOf: bodies };
1174
+ const takesArgs = signatures.some((signature) => signature.args.length > 0);
1175
+ push({
1176
+ defaultId: `dataApiRpc${pascal(fn.schema === "public" ? fn.name : `${fn.schema}_${fn.name}`)}`,
1177
+ method: "post",
1178
+ path: `${REST}/rpc/${fn.name}`,
1179
+ summary: `Call ${qualified(fn.schema, fn.name)}`,
1180
+ description: `A ${fn.volatility} function.${fn.volatility === "volatile" ? "" : " A GET with the arguments as query parameters calls it too."}`,
1181
+ parameters: profile(fn.schema, true),
1182
+ requestBody: {
1183
+ required: takesArgs,
1184
+ content: jsonContent(body)
1185
+ },
1186
+ responses: {
1187
+ ...fn.returns === "void" && !fn.returnsSet ? { "204": { description: "Done." } } : { "200": jsonResponse(resultSchema(fn), "The result.") },
1188
+ ...errors
1189
+ },
1190
+ source: {
1191
+ kind: "data-api",
1192
+ function: key,
1193
+ operation: "rpc"
1194
+ }
1195
+ });
1196
+ }
1197
+ }
1198
+ /** Adds the `apiKey` and `bearer` schemes the Data API operations require. */
1199
+ function withDataApiSchemes(security, operations, supabaseUrl) {
1200
+ if (!operations.some((operation) => operation.source.kind === "data-api")) return security;
1201
+ const { schemes } = resolveSecurity(["apiKey", "bearer"], supabaseUrl);
1202
+ return {
1203
+ schemes: {
1204
+ ...schemes,
1205
+ ...security.schemes
1206
+ },
1207
+ requirements: security.requirements
1208
+ };
1209
+ }
1210
+ //#endregion
1211
+ //#region src/spec/events.ts
1212
+ /**
1213
+ * Whether a value is a `defineTopic()` result: a template string and the `sql`,
1214
+ * `trigger` and `subscribe` methods. `better-supabase sql sync` and `spec` use
1215
+ * the same check.
1216
+ */
1217
+ function isTopicLike(value) {
1218
+ return isRecord(value) && typeof value["template"] === "string" && typeof value["sql"] === "function" && typeof value["trigger"] === "function" && typeof value["subscribe"] === "function";
1219
+ }
1220
+ /**
1221
+ * The `defineTopic()` results in modules or arrays, for `events.topics`. A
1222
+ * module's topics are keyed by export name; a topic in an array by its `name`.
1223
+ * Other values are skipped, and a topic reached twice is kept once.
1224
+ *
1225
+ * ```ts
1226
+ * import * as topics from "../realtime/topics";
1227
+ * defineApi(betterSupabase, {
1228
+ * info,
1229
+ * events: { topics: topicsFrom(topics) },
1230
+ * });
1231
+ * ```
1232
+ */
1233
+ function topicsFrom(...sources) {
1234
+ const topics = {};
1235
+ const seen = /* @__PURE__ */ new Set();
1236
+ for (const source of sources) {
1237
+ const entries = Array.isArray(source) ? source.map((value) => [void 0, value]) : Object.entries(source);
1238
+ for (const [key, value] of entries) {
1239
+ if (!isTopicLike(value) || seen.has(value)) continue;
1240
+ seen.add(value);
1241
+ topics[key ?? value.name ?? value.template] = value;
1242
+ }
1243
+ }
1244
+ return topics;
1245
+ }
1246
+ const OPEN = { type: "object" };
1247
+ const DEFAULT_INTENTS = [
1248
+ "insert",
1249
+ "update",
1250
+ "delete"
1251
+ ];
1252
+ /** An id safe for AsyncAPI channel, operation and component keys. */
1253
+ function safeKey(value) {
1254
+ return value.replaceAll(/[^A-Za-z0-9_-]/g, "_");
1255
+ }
1256
+ const keyPart = (value) => safeKey(pascal(value));
1257
+ /** The CloudEvents attributes in HTTP binary mode (`ce-*` headers). */
1258
+ const CLOUD_EVENT_TRAIT = {
1259
+ description: "CloudEvents 1.0 attributes in HTTP binary mode.",
1260
+ contentType: "application/json",
1261
+ headers: {
1262
+ type: "object",
1263
+ properties: {
1264
+ "ce-specversion": {
1265
+ type: "string",
1266
+ const: "1.0"
1267
+ },
1268
+ "ce-id": { type: "string" },
1269
+ "ce-source": {
1270
+ type: "string",
1271
+ format: "uri-reference"
1272
+ },
1273
+ "ce-type": { type: "string" },
1274
+ "ce-subject": { type: "string" },
1275
+ "ce-time": {
1276
+ type: "string",
1277
+ format: "date-time"
1278
+ },
1279
+ "ce-dataschema": {
1280
+ type: "string",
1281
+ format: "uri"
1282
+ },
1283
+ "ce-partitionkey": { type: "string" }
1284
+ }
1285
+ }
1286
+ };
1287
+ function cloudEventHeaders(type, dataschema) {
1288
+ return {
1289
+ type: "object",
1290
+ required: [
1291
+ "ce-specversion",
1292
+ "ce-id",
1293
+ "ce-source",
1294
+ "ce-type"
1295
+ ],
1296
+ properties: {
1297
+ "ce-type": {
1298
+ type: "string",
1299
+ const: type
1300
+ },
1301
+ ...dataschema ? { "ce-dataschema": {
1302
+ type: "string",
1303
+ const: dataschema
1304
+ } } : {}
1305
+ }
1306
+ };
1307
+ }
1308
+ function convert(schema, where, ctx) {
1309
+ if (schema === true) return OPEN;
1310
+ const converted = convertStandard(schema, "output");
1311
+ if (converted) return converted.schema;
1312
+ ctx.report({
1313
+ code: "asyncapi-schema-opaque",
1314
+ severity: "warning",
1315
+ message: `${where}: the schema does not implement Standard JSON Schema; the payload is left open`
1316
+ });
1317
+ return OPEN;
1318
+ }
1319
+ function tableChannels(ctx, selection, channels, messages) {
1320
+ if (selection === false) return;
1321
+ const realtime = ctx.meta.realtime ?? {};
1322
+ const keys = selection === true ? Object.keys(realtime) : selection;
1323
+ for (const key of keys) {
1324
+ const table = ctx.meta.tables[key];
1325
+ const config = realtime[key];
1326
+ if (!table || !config) {
1327
+ ctx.report({
1328
+ code: "asyncapi-table-unknown",
1329
+ severity: "error",
1330
+ message: `events.tables names "${key}", which is not in realtime.tables`
1331
+ });
1332
+ continue;
1333
+ }
1334
+ const id = `table${keyPart(key)}`;
1335
+ const base = `bs:t:${table.schema}.${table.name}`;
1336
+ const address = config.user ? `${base}:u:{userId}` : config.tenant ? `${base}:{tenant}` : base;
1337
+ const messageId = `${id}Change`;
1338
+ messages[messageId] = {
1339
+ id: messageId,
1340
+ name: "change",
1341
+ title: `${key} changed`,
1342
+ summary: `A row of ${table.schema}.${table.name} was inserted, updated or deleted. Clients refetch through row-level security.`,
1343
+ contentType: "application/json",
1344
+ payload: {
1345
+ type: "object",
1346
+ required: [
1347
+ "schema",
1348
+ "table",
1349
+ "operation"
1350
+ ],
1351
+ properties: {
1352
+ schema: {
1353
+ type: "string",
1354
+ const: table.schema
1355
+ },
1356
+ table: {
1357
+ type: "string",
1358
+ const: table.name
1359
+ },
1360
+ operation: {
1361
+ type: "string",
1362
+ enum: [
1363
+ "INSERT",
1364
+ "UPDATE",
1365
+ "DELETE"
1366
+ ]
1367
+ }
1368
+ }
1369
+ },
1370
+ extensions: { [`${ctx.prefix}event`]: "change" }
1371
+ };
1372
+ channels.push({
1373
+ id,
1374
+ address,
1375
+ title: `${key} changes`,
1376
+ protocol: "ws",
1377
+ ...config.user ? { parameters: { userId: { description: "The signed-in user's id." } } } : config.tenant ? { parameters: { tenant: { description: `The row's \`${config.tenant}\` value.` } } } : {},
1378
+ messages: [messageId],
1379
+ operations: [{
1380
+ id: `receive${keyPart(key)}Changes`,
1381
+ action: "receive",
1382
+ summary: `Change signals for ${key}`
1383
+ }],
1384
+ extensions: {
1385
+ [`${ctx.prefix}table`]: `${table.schema}.${table.name}`,
1386
+ [`${ctx.prefix}realtime-status`]: topicStatus({ private: true })
1387
+ }
1388
+ });
1389
+ }
1390
+ }
1391
+ function topicChannels(ctx, topics, channels, messages) {
1392
+ for (const [key, topic] of Object.entries(topics)) {
1393
+ const id = `topic${keyPart(key)}`;
1394
+ const ids = [];
1395
+ const events = Object.entries(topic.events ?? {});
1396
+ if (events.length === 0) {
1397
+ ctx.report({
1398
+ code: "asyncapi-topic-open",
1399
+ severity: "info",
1400
+ message: `Topic "${key}" lists no events; it is documented with one open message`
1401
+ });
1402
+ events.push(["*", true]);
1403
+ }
1404
+ for (const [event, schema] of events) {
1405
+ const messageId = `${id}${event === "*" ? "Any" : keyPart(event)}`;
1406
+ ids.push(messageId);
1407
+ messages[messageId] = {
1408
+ id: messageId,
1409
+ ...event === "*" ? {} : { name: event },
1410
+ title: event === "*" ? `${key} broadcast` : `${key} ${event}`,
1411
+ contentType: "application/json",
1412
+ payload: convert(schema, `topics.${key}.events.${event}`, ctx),
1413
+ extensions: { [`${ctx.prefix}event`]: event }
1414
+ };
1415
+ }
1416
+ if (topic.presence) {
1417
+ const messageId = `${id}Presence`;
1418
+ ids.push(messageId);
1419
+ messages[messageId] = {
1420
+ id: messageId,
1421
+ name: "presence",
1422
+ title: `${key} presence`,
1423
+ contentType: "application/json",
1424
+ payload: topic.presenceSchema ? convert(topic.presenceSchema, `topics.${key}.presence`, ctx) : OPEN,
1425
+ extensions: { [`${ctx.prefix}event`]: "presence" }
1426
+ };
1427
+ }
1428
+ const permission = topic.permission === void 0 ? void 0 : ctx.keyOf(topic.permission, `topics.${key}`);
1429
+ const extra = permission === void 0 ? {} : { permission };
1430
+ const operations = [{
1431
+ id: `receive${keyPart(key)}`,
1432
+ action: "receive",
1433
+ ...topic.summary ? { summary: topic.summary } : {},
1434
+ ...extra
1435
+ }];
1436
+ if (topic.send === true || topic.clientSend === true || topic.presence) operations.push({
1437
+ id: `send${keyPart(key)}`,
1438
+ action: "send",
1439
+ ...extra
1440
+ });
1441
+ const params = [...topic.template.matchAll(/\{([^}]+)\}/g)].map((match) => match[1] ?? "");
1442
+ channels.push({
1443
+ id,
1444
+ address: topic.template,
1445
+ ...topic.summary ? { summary: topic.summary } : {},
1446
+ ...topic.description ? { description: topic.description } : {},
1447
+ title: topic.name ?? key,
1448
+ ...params.length > 0 ? { parameters: Object.fromEntries(params.map((name) => [name, {}])) } : {},
1449
+ protocol: "ws",
1450
+ messages: ids,
1451
+ operations,
1452
+ extensions: {
1453
+ [`${ctx.prefix}private`]: topic.private ?? true,
1454
+ [`${ctx.prefix}realtime-status`]: topic.status ?? topicStatus(topic)
1455
+ }
1456
+ });
1457
+ }
1458
+ }
1459
+ function withActor(schema) {
1460
+ const properties = schema["properties"];
1461
+ if (!isPlainObject(properties) || "actorId" in properties) return schema;
1462
+ return {
1463
+ ...schema,
1464
+ properties: {
1465
+ ...properties,
1466
+ actorId: {
1467
+ type: "string",
1468
+ description: "Who caused the event."
1469
+ }
1470
+ }
1471
+ };
1472
+ }
1473
+ function cloudEventChannel(ctx, input, channels, messages) {
1474
+ const ids = [];
1475
+ const add = (messageId, type, title, payload, table) => {
1476
+ const { dataschema } = dataschemaOf(input, {
1477
+ type,
1478
+ ...table ? { table } : {}
1479
+ });
1480
+ ids.push(messageId);
1481
+ messages[messageId] = {
1482
+ id: messageId,
1483
+ name: type,
1484
+ title,
1485
+ contentType: "application/json",
1486
+ headers: cloudEventHeaders(type, dataschema),
1487
+ payload,
1488
+ traits: ["cloudEvent"],
1489
+ extensions: {
1490
+ [`${ctx.prefix}cloudevent-type`]: type,
1491
+ ...dataschema ? { [`${ctx.prefix}dataschema`]: dataschema } : {}
1492
+ }
1493
+ };
1494
+ };
1495
+ const rows = input.rows ?? false;
1496
+ const rowTables = rows === true ? Object.keys(ctx.meta.tables) : rows === false ? [] : rows;
1497
+ const defs = rowTables.length > 0 ? tableSchemas(ctx.meta, ctx.json) : {};
1498
+ for (const table of rowTables) {
1499
+ if (!ctx.meta.tables[table]) {
1500
+ ctx.report({
1501
+ code: "asyncapi-table-unknown",
1502
+ severity: "error",
1503
+ message: `events.cloudEvents.rows names an unknown table "${table}"`
1504
+ });
1505
+ continue;
1506
+ }
1507
+ const component = ctx.served.get(table)?.components.Row;
1508
+ const row = component ? schemaRef(component) : defs[`${table}Row`] ?? OPEN;
1509
+ for (const intent of input.intents ?? DEFAULT_INTENTS) {
1510
+ const last = ROW_EVENT_TYPES[intent].split(".").at(-1) ?? intent;
1511
+ const type = input.typePrefix ? `${input.typePrefix}.row.${last}` : ROW_EVENT_TYPES[intent];
1512
+ add(`row${keyPart(table)}${keyPart(last)}`, type, `${table} ${last}`, {
1513
+ type: "object",
1514
+ required: ["table", "row"],
1515
+ properties: {
1516
+ table: {
1517
+ type: "string",
1518
+ const: table
1519
+ },
1520
+ row,
1521
+ actorId: { type: "string" }
1522
+ }
1523
+ }, table);
1524
+ }
1525
+ }
1526
+ for (const [event, schema] of Object.entries(input.blocks ?? {})) {
1527
+ if (schema === void 0) continue;
1528
+ const type = `${input.typePrefix ?? "dev.better-supabase"}.${event}`;
1529
+ add(`block${keyPart(event)}`, type, event, withActor(convert(schema, `events.cloudEvents.blocks.${event}`, ctx)));
1530
+ }
1531
+ if (ids.length === 0) return false;
1532
+ channels.push({
1533
+ id: "cloudEvents",
1534
+ address: input.address ?? "events",
1535
+ title: "CloudEvents",
1536
+ description: `CloudEvents from \`${input.source}\`, sent to the event sink.`,
1537
+ protocol: "http",
1538
+ messages: ids,
1539
+ operations: [{
1540
+ id: "sendCloudEvents",
1541
+ action: "send"
1542
+ }]
1543
+ });
1544
+ return true;
1545
+ }
1546
+ /**
1547
+ * The built channels and messages first, then the app's own (which win on an
1548
+ * id), and the workflows with every `WorkflowSource` run on `operations`.
1549
+ */
1550
+ function eventParts(options, ctx, operations) {
1551
+ const built = buildEvents(options.events, ctx);
1552
+ return {
1553
+ channels: [...built.channels, ...options.channels ?? []],
1554
+ messages: {
1555
+ ...built.messages,
1556
+ ...options.messages
1557
+ },
1558
+ ...Object.keys(built.messageTraits).length > 0 ? { messageTraits: built.messageTraits } : {},
1559
+ workflows: (options.workflows ?? []).flatMap((workflow) => typeof workflow === "function" ? workflow(operations) : [workflow])
1560
+ };
1561
+ }
1562
+ /** Channels and messages from the realtime tables, topics and CloudEvents. */
1563
+ function buildEvents(events, ctx) {
1564
+ const channels = [];
1565
+ const messages = {};
1566
+ const messageTraits = {};
1567
+ if (!events) return {
1568
+ channels,
1569
+ messages,
1570
+ messageTraits
1571
+ };
1572
+ tableChannels(ctx, events.tables ?? true, channels, messages);
1573
+ topicChannels(ctx, events.topics ?? {}, channels, messages);
1574
+ if (events.cloudEvents && cloudEventChannel(ctx, events.cloudEvents, channels, messages)) messageTraits["cloudEvent"] = CLOUD_EVENT_TRAIT;
1575
+ return {
1576
+ channels,
1577
+ messages,
1578
+ messageTraits
1579
+ };
1580
+ }
1581
+ //#endregion
1582
+ //#region src/spec/build.ts
1583
+ const READ_METHODS = /* @__PURE__ */ new Set([
1584
+ "get",
1585
+ "head",
1586
+ "options",
1587
+ "query"
1588
+ ]);
1589
+ const modelCache = /* @__PURE__ */ new WeakMap();
1590
+ const NO_PLUGINS = [];
1591
+ /**
1592
+ * Builds the version-neutral API model once per metadata, plugin list and
1593
+ * options object. Formats lower it to each version; `defineApi` wraps it.
1594
+ */
1595
+ function buildApiModel(source, options) {
1596
+ const plugins = source.plugins ?? NO_PLUGINS;
1597
+ let byPlugins = modelCache.get(source.meta);
1598
+ if (!byPlugins) {
1599
+ byPlugins = /* @__PURE__ */ new WeakMap();
1600
+ modelCache.set(source.meta, byPlugins);
1601
+ }
1602
+ let byOptions = byPlugins.get(plugins);
1603
+ if (!byOptions) {
1604
+ byOptions = /* @__PURE__ */ new WeakMap();
1605
+ byPlugins.set(plugins, byOptions);
1606
+ }
1607
+ let built = byOptions.get(options);
1608
+ if (!built) {
1609
+ built = build(source.meta, plugins, options);
1610
+ byOptions.set(options, built);
1611
+ }
1612
+ return built;
1613
+ }
1614
+ function build(meta, plugins, options) {
1615
+ const ctx = createBuildContext(meta, options);
1616
+ for (const [key, input] of Object.entries(options.resources ?? {})) buildResource(ctx, key, input);
1617
+ for (const [index, route] of (options.routes ?? []).entries()) buildRoute(ctx, route, index);
1618
+ if (options.dataApi) buildDataApi(ctx, options.dataApi);
1619
+ const security = withDataApiSchemes(buildSecurity(ctx), ctx.operations, options.supabaseUrl);
1620
+ applyPlugins(ctx, plugins);
1621
+ validateOperations(ctx);
1622
+ return finalizeModel(ctx, security);
1623
+ }
1624
+ function buildRoute(ctx, route, index) {
1625
+ const { options, base, globalErrors, operations, prefix, addTag, keyOf, schemaOf, objectParameters, usedErrors } = ctx;
1626
+ const method = route.method.toLowerCase();
1627
+ if (!isMethod(method)) throw new TypeError(`better-supabase/spec: routes[${index}] has an unknown method "${route.method}"`);
1628
+ const path = `${base}${route.path}`;
1629
+ const defaultId = `${method}${route.path.split("/").filter(Boolean).map((segment) => segment.replaceAll(/[{}]/g, "")).map(pascal).join("")}`;
1630
+ const source = { kind: "route" };
1631
+ const id = route.operationId ?? options.operationId?.({
1632
+ source,
1633
+ method,
1634
+ path,
1635
+ defaultId
1636
+ }) ?? defaultId;
1637
+ const declared = route.params ? objectParameters(route.params, "path", `${id} params`) : [];
1638
+ const parameters = [];
1639
+ for (const [, param] of path.matchAll(/\{(\w+)\}/g)) parameters.push(declared.find((entry) => entry.name === param) ?? {
1640
+ name: param,
1641
+ in: "path",
1642
+ required: true,
1643
+ schema: { type: "string" }
1644
+ });
1645
+ if (route.query) parameters.push(...objectParameters(route.query, "query", `${id} query`));
1646
+ const permission = route.permission === void 0 ? void 0 : keyOf(route.permission, `routes[${index}]`);
1647
+ const secured = route.security === void 0 || route.security.length > 0;
1648
+ const status = String(route.status ?? (route.output || route.stream ? 200 : 204));
1649
+ const success = route.stream ? {
1650
+ description: route.summary ?? "A stream of events.",
1651
+ content: { [route.stream.contentType ?? "text/event-stream"]: { itemSchema: schemaOf(route.stream.item, "output", "item", id) } }
1652
+ } : route.output ? jsonResponse(schemaOf(route.output, "output", "output", id), route.summary ?? "OK.") : { description: route.summary ?? "Done." };
1653
+ const routeTags = [...route.tags ?? []];
1654
+ for (const tag of routeTags) addTag(tag);
1655
+ operations.push({
1656
+ id,
1657
+ method,
1658
+ path,
1659
+ tags: routeTags,
1660
+ source,
1661
+ ...route.summary ? { summary: route.summary } : {},
1662
+ ...route.description ? { description: route.description } : {},
1663
+ ...route.deprecated ? { deprecated: true } : {},
1664
+ parameters,
1665
+ ...route.input ? { requestBody: {
1666
+ required: true,
1667
+ content: jsonContent(schemaOf(route.input, "input", "input", id))
1668
+ } } : {},
1669
+ responses: {
1670
+ [status]: success,
1671
+ ...usedErrors(route.errors ?? globalErrors, [...route.input || route.query ? [400, 422] : [], ...secured ? [401, 403] : []], permission !== void 0)
1672
+ },
1673
+ ...route.security ? { security: route.security } : {},
1674
+ ...permission === void 0 ? {} : { permission },
1675
+ extensions: permission === void 0 ? {} : { [`${prefix}permission`]: permission },
1676
+ ...route.extend ? { extend: route.extend } : {}
1677
+ });
1678
+ }
1679
+ function buildSecurity(ctx) {
1680
+ const { options, operations } = ctx;
1681
+ const oauthScopes = {};
1682
+ if (options.permissionScopes === "keys") {
1683
+ for (const operation of operations) if (operation.permission) oauthScopes[operation.permission] = `Permission ${operation.permission}.`;
1684
+ }
1685
+ const security = resolveSecurity(options.security ?? ["bearer"], options.supabaseUrl, oauthScopes);
1686
+ if (options.permissionScopes === "keys") for (const operation of operations) {
1687
+ const key = operation.permission;
1688
+ if (!key || operation.security?.length === 0) continue;
1689
+ operation.security = (operation.security ?? security.requirements).map((requirement) => {
1690
+ const scopes = requirement[OAUTH_SCHEME];
1691
+ return scopes ? {
1692
+ ...requirement,
1693
+ [OAUTH_SCHEME]: [...scopes, key]
1694
+ } : requirement;
1695
+ });
1696
+ }
1697
+ return security;
1698
+ }
1699
+ function applyPlugins(ctx, plugins) {
1700
+ const { meta, prefix, served, schemas, report } = ctx;
1701
+ const describe = describeApi(meta, prefix, served, schemas);
1702
+ for (const plugin of plugins) {
1703
+ if (!plugin.describe) continue;
1704
+ try {
1705
+ plugin.describe(describe);
1706
+ } catch (error) {
1707
+ report({
1708
+ code: "plugin-describe-failed",
1709
+ severity: "warning",
1710
+ message: `The ${plugin.name} plugin's describe() threw: ${error instanceof Error ? error.message : String(error)}`
1711
+ });
1712
+ }
1713
+ }
1714
+ }
1715
+ /** Reports writes without a permission and duplicate operation ids. */
1716
+ function validateOperations(ctx) {
1717
+ const { options, operations, report } = ctx;
1718
+ if (options.requirePermissions) for (const operation of operations) {
1719
+ if (operation.source.kind === "data-api") continue;
1720
+ if ((operation.source.kind === "resource" ? operation.source.operation !== "list" && operation.source.operation !== "get" : !READ_METHODS.has(operation.method)) && operation.permission === void 0) report({
1721
+ code: "permission-missing",
1722
+ severity: "error",
1723
+ message: `${operation.id} writes but declares no permission`,
1724
+ pointer: `/operations/${pointerToken(operation.id)}`
1725
+ });
1726
+ }
1727
+ const seen = /* @__PURE__ */ new Set();
1728
+ for (const operation of operations) {
1729
+ if (seen.has(operation.id)) report({
1730
+ code: "operation-id-duplicate",
1731
+ severity: "error",
1732
+ message: `Two operations have the id "${operation.id}"`,
1733
+ pointer: `/operations/${pointerToken(operation.id)}`
1734
+ });
1735
+ seen.add(operation.id);
1736
+ }
1737
+ }
1738
+ function finalizeModel(ctx, security) {
1739
+ const { meta, options, prefix, served, keyOf, report, schemas, operations, tags, responses, diagnostics } = ctx;
1740
+ const { enrich } = options;
1741
+ const finalSchemas = {};
1742
+ for (const [name, schema] of Object.entries(schemas)) finalSchemas[name] = enrich?.schema?.(schema, { name }) ?? schema;
1743
+ const finalOperations = operations.map((operation) => enrich?.operation?.(operation) ?? operation);
1744
+ const { messageTraits, ...parts } = eventParts(options, {
1745
+ meta,
1746
+ json: options.json ?? {},
1747
+ prefix,
1748
+ served,
1749
+ keyOf,
1750
+ report
1751
+ }, finalOperations);
1752
+ const messages = {};
1753
+ for (const [id, message] of Object.entries(parts.messages)) messages[id] = enrich?.message?.(message, { id }) ?? message;
1754
+ return {
1755
+ model: {
1756
+ info: options.info,
1757
+ ...options.self ? { self: options.self } : {},
1758
+ servers: options.servers ?? [],
1759
+ tags,
1760
+ operations: finalOperations,
1761
+ schemas: finalSchemas,
1762
+ responses,
1763
+ securitySchemes: security.schemes,
1764
+ security: security.requirements,
1765
+ ...options.securityProfileRequirements ? { securityProfileRequirements: options.securityProfileRequirements } : {},
1766
+ channels: parts.channels.map((channel) => enrich?.channel?.(channel) ?? channel),
1767
+ messages,
1768
+ ...messageTraits ? { messageTraits } : {},
1769
+ webhooks: options.webhooks ?? [],
1770
+ workflows: parts.workflows.map((workflow) => enrich?.workflow?.(workflow) ?? workflow),
1771
+ fragments: options.fragments ?? [],
1772
+ ...options.realtimeUrl ? { realtimeUrl: options.realtimeUrl } : {},
1773
+ extensionPrefix: prefix
1774
+ },
1775
+ diagnostics
1776
+ };
1777
+ }
1778
+ function describeApi(meta, prefix, served, schemas) {
1779
+ const columnSchemas = (table, column) => {
1780
+ const entry = served.get(table);
1781
+ if (!entry) return [];
1782
+ return [
1783
+ "Row",
1784
+ "Insert",
1785
+ "Update"
1786
+ ].flatMap((variant) => {
1787
+ const name = entry.components[variant];
1788
+ const schema = name ? schemas[name] : void 0;
1789
+ const properties = schema?.["properties"];
1790
+ if (!schema || !isPlainObject(properties)) return [];
1791
+ const property = properties[column];
1792
+ if (!isPlainObject(property)) return [];
1793
+ return [{
1794
+ variant,
1795
+ schema,
1796
+ properties,
1797
+ property
1798
+ }];
1799
+ });
1800
+ };
1801
+ const replace = (schema, properties, column, property) => {
1802
+ schema["properties"] = {
1803
+ ...properties,
1804
+ [column]: property
1805
+ };
1806
+ };
1807
+ return {
1808
+ schema: meta,
1809
+ extensionPrefix: prefix,
1810
+ resources: [...served.values()].map((entry) => ({
1811
+ table: entry.table,
1812
+ operations: entry.operations.map((operation) => operation.source.kind === "action" ? operation.source.action : operation.source.kind === "resource" ? operation.source.operation : operation.id)
1813
+ })),
1814
+ addParameter(table, parameter, names) {
1815
+ for (const operation of served.get(table)?.operations ?? []) {
1816
+ const name = operation.source.kind === "action" ? operation.source.action : operation.source.kind === "resource" ? operation.source.operation : operation.id;
1817
+ if (names && !names.includes(name)) continue;
1818
+ if (operation.parameters.some((entry) => entry.name === parameter.name && entry.in === parameter.in)) continue;
1819
+ operation.parameters.push({ ...parameter });
1820
+ }
1821
+ },
1822
+ markReadOnly(table, column, description) {
1823
+ for (const { variant, schema, properties, property } of columnSchemas(table, column)) {
1824
+ replace(schema, properties, column, {
1825
+ ...property,
1826
+ readOnly: true,
1827
+ ...description && property["description"] === void 0 ? { description } : {}
1828
+ });
1829
+ const required = schema["required"];
1830
+ if (variant !== "Row" && Array.isArray(required)) schema["required"] = required.filter((name) => name !== column);
1831
+ }
1832
+ },
1833
+ describeColumn(table, column, patch) {
1834
+ for (const { schema, properties, property } of columnSchemas(table, column)) replace(schema, properties, column, mergeJson(property, patch));
1835
+ }
1836
+ };
1837
+ }
1838
+ //#endregion
1839
+ export { DEFAULT_ERRORS as a, pascal as c, topicsFrom as i, mergeJson as l, CLOUD_EVENT_TRAIT as n, PROBLEM_SCHEMA as o, safeKey as r, convertStandard as s, buildApiModel as t, pointerToken as u };