better-supabase 0.8.0 → 0.9.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 (1374) hide show
  1. package/README.md +144 -83
  2. package/bin/better-supabase.js +14 -2
  3. package/dist/access-sql-DUSSMaC3.js +201 -0
  4. package/dist/actor-BAhb-d1S.d.ts +104 -0
  5. package/dist/actor-KHDOKGb1.js +151 -0
  6. package/dist/adapter-CEjmtazZ.js +1984 -0
  7. package/dist/agents-BCNhIxVZ.d.ts +111 -0
  8. package/dist/ai-cache-Dps7aRu1.d.ts +70 -0
  9. package/dist/ai-cache-zeUL94pB.js +84 -0
  10. package/dist/ai-chat-3GBSlFR4.d.ts +608 -0
  11. package/dist/ai-files-D2_9YLjF.js +331 -0
  12. package/dist/ai-sdk/agents/index.d.ts +154 -10
  13. package/dist/ai-sdk/agents/index.js +172 -17
  14. package/dist/ai-sdk/batches/index.d.ts +4 -4
  15. package/dist/ai-sdk/batches/index.js +5 -5
  16. package/dist/ai-sdk/cache/index.d.ts +2 -2
  17. package/dist/ai-sdk/cache/index.js +1 -1
  18. package/dist/ai-sdk/chat/index.d.ts +1 -1
  19. package/dist/ai-sdk/chat/index.js +7 -6
  20. package/dist/ai-sdk/embeddings/index.d.ts +3 -3
  21. package/dist/ai-sdk/embeddings/index.js +1 -2
  22. package/dist/ai-sdk/files/index.d.ts +2 -2
  23. package/dist/ai-sdk/files/index.js +4 -4
  24. package/dist/ai-sdk/index.d.ts +7 -6
  25. package/dist/ai-sdk/index.js +4 -3
  26. package/dist/ai-sdk/mcp/index.d.ts +4 -4
  27. package/dist/ai-sdk/mcp/index.js +6 -6
  28. package/dist/ai-sdk/memory/index.d.ts +5 -2
  29. package/dist/ai-sdk/memory/index.js +2 -2
  30. package/dist/ai-sdk/react/index.js +1 -2
  31. package/dist/ai-sdk/workflow/index.d.ts +5 -4
  32. package/dist/ai-sdk/workflow/index.js +8 -8
  33. package/dist/ai-tasks-Ih5oHfyj.d.ts +157 -0
  34. package/dist/announcements-BHCzraR6.js +128 -0
  35. package/dist/api-CFjuYKFY.js +680 -0
  36. package/dist/api-TG3jE5aO.d.ts +411 -0
  37. package/dist/api-keys-BEQatEUW.js +318 -0
  38. package/dist/api-keys-BYoGCM9p.d.ts +205 -0
  39. package/dist/app-tables-BGl5_U2x.js +584 -0
  40. package/dist/approvals-a2KmioBh.d.ts +124 -0
  41. package/dist/arazzo/index.d.ts +5 -5
  42. package/dist/arazzo/index.js +6 -6
  43. package/dist/assistant-Bf2cA6RO.d.ts +148 -0
  44. package/dist/astro/index.d.ts +9 -8
  45. package/dist/astro/index.js +10 -7
  46. package/dist/asyncapi/index.d.ts +4 -4
  47. package/dist/asyncapi/index.js +6 -6
  48. package/dist/attachments-DAj2Yp95.js +264 -0
  49. package/dist/attributes-D4mA7WhI.js +38 -0
  50. package/dist/audit-log-BMMuGPdP.js +786 -0
  51. package/dist/auth-CdBKt0CS.js +20 -0
  52. package/dist/auth-reply-DUCwb8YO.js +31 -0
  53. package/dist/auth-reply-Dj124sbX.d.ts +11 -0
  54. package/dist/authorization-DpRfs6Wx.d.ts +1412 -0
  55. package/dist/authorization-hooks-DkmrnDX7.d.ts +214 -0
  56. package/dist/authorizer-DH7DjkL3.js +126 -0
  57. package/dist/base64-BmeCBgGo.js +42 -0
  58. package/dist/batch-limit-DKVQDz4o.js +5 -0
  59. package/dist/before-route-B98js9m_.js +30 -0
  60. package/dist/better-result/index.d.ts +5 -5
  61. package/dist/better-result/index.js +1 -1
  62. package/dist/bind-a7sUgvf4.d.ts +70 -0
  63. package/dist/block-env-CBd_SoL5.js +29 -0
  64. package/dist/block-env-Dxl7rsI0.d.ts +10 -0
  65. package/dist/block-events-DD9Q_NUz.js +96 -0
  66. package/dist/block-fields-5UA84ZUg.d.ts +55 -0
  67. package/dist/block-fields-ffD6Gxe4.js +139 -0
  68. package/dist/block-helpers-C86hPEjI.d.ts +37 -0
  69. package/dist/block-helpers-CfG_MvDR.js +264 -0
  70. package/dist/block-hooks-BLPWD3Jt.d.ts +107 -0
  71. package/dist/block-hooks-BsXncUlZ.js +114 -0
  72. package/dist/block-transport-DaGGXjIw.d.ts +70 -0
  73. package/dist/block-transport-G4t1umrR.js +85 -0
  74. package/dist/blocks/access-requests/index.d.ts +98 -0
  75. package/dist/blocks/access-requests/index.js +99 -0
  76. package/dist/blocks/agents/index.d.ts +21 -3
  77. package/dist/blocks/agents/index.js +64 -18
  78. package/dist/blocks/ai-cache/index.d.ts +7 -2
  79. package/dist/blocks/ai-cache/index.js +15 -3
  80. package/dist/blocks/ai-chat/index.d.ts +22 -3
  81. package/dist/blocks/ai-chat/index.js +29 -3
  82. package/dist/blocks/ai-chat/react/index.d.ts +12 -46
  83. package/dist/blocks/ai-chat/react/index.js +43 -335
  84. package/dist/blocks/ai-chat/solid/index.d.ts +34 -0
  85. package/dist/blocks/ai-chat/solid/index.js +41 -0
  86. package/dist/blocks/ai-chat/svelte/index.d.ts +34 -0
  87. package/dist/blocks/ai-chat/svelte/index.js +41 -0
  88. package/dist/blocks/ai-chat/vue/index.d.ts +34 -0
  89. package/dist/blocks/ai-chat/vue/index.js +41 -0
  90. package/dist/blocks/ai-files/index.d.ts +10 -3
  91. package/dist/blocks/ai-files/index.js +16 -3
  92. package/dist/blocks/ai-providers/index.d.ts +18 -3
  93. package/dist/blocks/ai-providers/index.js +40 -15
  94. package/dist/blocks/ai-tasks/index.d.ts +9 -2
  95. package/dist/blocks/ai-tasks/index.js +70 -21
  96. package/dist/blocks/announcements/index.d.ts +18 -3
  97. package/dist/blocks/announcements/index.js +27 -3
  98. package/dist/blocks/announcements/react/index.d.ts +4 -14
  99. package/dist/blocks/announcements/react/index.js +22 -70
  100. package/dist/blocks/announcements/solid/index.d.ts +13 -0
  101. package/dist/blocks/announcements/solid/index.js +14 -0
  102. package/dist/blocks/announcements/svelte/index.d.ts +13 -0
  103. package/dist/blocks/announcements/svelte/index.js +14 -0
  104. package/dist/blocks/announcements/vue/index.d.ts +13 -0
  105. package/dist/blocks/announcements/vue/index.js +14 -0
  106. package/dist/blocks/api-keys/index.d.ts +24 -7
  107. package/dist/blocks/api-keys/index.js +29 -294
  108. package/dist/blocks/api-keys/react/index.d.ts +29 -0
  109. package/dist/blocks/api-keys/react/index.js +43 -0
  110. package/dist/blocks/api-keys/react/server.d.ts +7 -0
  111. package/dist/blocks/api-keys/react/server.js +7 -0
  112. package/dist/blocks/api-keys/solid/index.d.ts +13 -0
  113. package/dist/blocks/api-keys/solid/index.js +14 -0
  114. package/dist/blocks/api-keys/svelte/index.d.ts +13 -0
  115. package/dist/blocks/api-keys/svelte/index.js +14 -0
  116. package/dist/blocks/api-keys/vue/index.d.ts +13 -0
  117. package/dist/blocks/api-keys/vue/index.js +14 -0
  118. package/dist/blocks/approvals/index.d.ts +22 -0
  119. package/dist/blocks/approvals/index.js +189 -0
  120. package/dist/blocks/attachments/index.d.ts +18 -227
  121. package/dist/blocks/attachments/index.js +26 -242
  122. package/dist/blocks/audit/index.d.ts +72 -365
  123. package/dist/blocks/audit/index.js +91 -714
  124. package/dist/blocks/audit/react/index.d.ts +26 -0
  125. package/dist/blocks/audit/react/index.js +44 -0
  126. package/dist/blocks/audit/react/server.d.ts +7 -0
  127. package/dist/blocks/audit/react/server.js +7 -0
  128. package/dist/blocks/audit/solid/index.d.ts +13 -0
  129. package/dist/blocks/audit/solid/index.js +14 -0
  130. package/dist/blocks/audit/svelte/index.d.ts +13 -0
  131. package/dist/blocks/audit/svelte/index.js +14 -0
  132. package/dist/blocks/audit/vue/index.d.ts +13 -0
  133. package/dist/blocks/audit/vue/index.js +14 -0
  134. package/dist/blocks/billing/index.d.ts +37 -12
  135. package/dist/blocks/billing/index.js +43 -12
  136. package/dist/blocks/billing/react/index.d.ts +34 -0
  137. package/dist/blocks/billing/react/index.js +36 -0
  138. package/dist/blocks/billing/react/server.d.ts +7 -0
  139. package/dist/blocks/billing/react/server.js +7 -0
  140. package/dist/blocks/billing/solid/index.d.ts +15 -0
  141. package/dist/blocks/billing/solid/index.js +14 -0
  142. package/dist/blocks/billing/svelte/index.d.ts +15 -0
  143. package/dist/blocks/billing/svelte/index.js +14 -0
  144. package/dist/blocks/billing/vue/index.d.ts +15 -0
  145. package/dist/blocks/billing/vue/index.js +14 -0
  146. package/dist/blocks/bookings/index.d.ts +36 -0
  147. package/dist/blocks/bookings/index.js +28 -0
  148. package/dist/blocks/bookings/react/index.d.ts +31 -0
  149. package/dist/blocks/bookings/react/index.js +59 -0
  150. package/dist/blocks/bookings/react/server.d.ts +6 -0
  151. package/dist/blocks/bookings/react/server.js +7 -0
  152. package/dist/blocks/bookings/solid/index.d.ts +13 -0
  153. package/dist/blocks/bookings/solid/index.js +14 -0
  154. package/dist/blocks/bookings/svelte/index.d.ts +13 -0
  155. package/dist/blocks/bookings/svelte/index.js +14 -0
  156. package/dist/blocks/bookings/vue/index.d.ts +13 -0
  157. package/dist/blocks/bookings/vue/index.js +14 -0
  158. package/dist/blocks/bulk/index.d.ts +142 -0
  159. package/dist/blocks/bulk/index.js +154 -0
  160. package/dist/blocks/calendar/index.d.ts +20 -0
  161. package/dist/blocks/calendar/index.js +33 -0
  162. package/dist/blocks/calendar/react/index.d.ts +26 -0
  163. package/dist/blocks/calendar/react/index.js +58 -0
  164. package/dist/blocks/calendar/react/server.d.ts +6 -0
  165. package/dist/blocks/calendar/react/server.js +7 -0
  166. package/dist/blocks/calendar/solid/index.d.ts +13 -0
  167. package/dist/blocks/calendar/solid/index.js +14 -0
  168. package/dist/blocks/calendar/svelte/index.d.ts +13 -0
  169. package/dist/blocks/calendar/svelte/index.js +14 -0
  170. package/dist/blocks/calendar/vue/index.d.ts +13 -0
  171. package/dist/blocks/calendar/vue/index.js +14 -0
  172. package/dist/blocks/catalog/index.d.ts +224 -0
  173. package/dist/blocks/catalog/index.js +292 -0
  174. package/dist/blocks/collections/index.d.ts +184 -0
  175. package/dist/blocks/collections/index.js +208 -0
  176. package/dist/blocks/comments/index.d.ts +19 -166
  177. package/dist/blocks/comments/index.js +26 -207
  178. package/dist/blocks/comments/react/index.d.ts +27 -0
  179. package/dist/blocks/comments/react/index.js +45 -0
  180. package/dist/blocks/comments/react/server.d.ts +7 -0
  181. package/dist/blocks/comments/react/server.js +7 -0
  182. package/dist/blocks/comments/solid/index.d.ts +13 -0
  183. package/dist/blocks/comments/solid/index.js +14 -0
  184. package/dist/blocks/comments/svelte/index.d.ts +13 -0
  185. package/dist/blocks/comments/svelte/index.js +14 -0
  186. package/dist/blocks/comments/vue/index.d.ts +13 -0
  187. package/dist/blocks/comments/vue/index.js +14 -0
  188. package/dist/blocks/connectors/index.d.ts +21 -3
  189. package/dist/blocks/connectors/index.js +53 -18
  190. package/dist/blocks/custom-fields/index.d.ts +62 -0
  191. package/dist/blocks/custom-fields/index.js +85 -0
  192. package/dist/blocks/data-lifecycle/index.d.ts +114 -9
  193. package/dist/blocks/data-lifecycle/index.js +98 -12
  194. package/dist/blocks/deals/index.d.ts +262 -0
  195. package/dist/blocks/deals/index.js +380 -0
  196. package/dist/blocks/documents/index.d.ts +17 -0
  197. package/dist/blocks/documents/index.js +118 -0
  198. package/dist/blocks/domains/index.d.ts +117 -0
  199. package/dist/blocks/domains/index.js +118 -0
  200. package/dist/blocks/drive/index.d.ts +296 -0
  201. package/dist/blocks/drive/index.js +483 -0
  202. package/dist/blocks/employees/index.d.ts +205 -0
  203. package/dist/blocks/employees/index.js +289 -0
  204. package/dist/blocks/engagements/index.d.ts +125 -0
  205. package/dist/blocks/engagements/index.js +143 -0
  206. package/dist/blocks/entitlements/index.d.ts +40 -4
  207. package/dist/blocks/entitlements/index.js +14 -24
  208. package/dist/blocks/entitlements/react/index.d.ts +24 -0
  209. package/dist/blocks/entitlements/react/index.js +35 -0
  210. package/dist/blocks/entitlements/react/server.d.ts +6 -0
  211. package/dist/blocks/entitlements/react/server.js +7 -0
  212. package/dist/blocks/entitlements/solid/index.d.ts +13 -0
  213. package/dist/blocks/entitlements/solid/index.js +14 -0
  214. package/dist/blocks/entitlements/svelte/index.d.ts +13 -0
  215. package/dist/blocks/entitlements/svelte/index.js +14 -0
  216. package/dist/blocks/entitlements/vue/index.d.ts +13 -0
  217. package/dist/blocks/entitlements/vue/index.js +14 -0
  218. package/dist/blocks/flags/index.d.ts +61 -187
  219. package/dist/blocks/flags/index.js +65 -253
  220. package/dist/blocks/forms/index.d.ts +302 -0
  221. package/dist/blocks/forms/index.js +341 -0
  222. package/dist/blocks/forms/react/index.d.ts +16 -0
  223. package/dist/blocks/forms/react/index.js +25 -0
  224. package/dist/blocks/forms/react/server.d.ts +6 -0
  225. package/dist/blocks/forms/react/server.js +7 -0
  226. package/dist/blocks/forms/solid/index.d.ts +13 -0
  227. package/dist/blocks/forms/solid/index.js +14 -0
  228. package/dist/blocks/forms/svelte/index.d.ts +13 -0
  229. package/dist/blocks/forms/svelte/index.js +14 -0
  230. package/dist/blocks/forms/vue/index.d.ts +13 -0
  231. package/dist/blocks/forms/vue/index.js +14 -0
  232. package/dist/blocks/hiring/index.d.ts +154 -0
  233. package/dist/blocks/hiring/index.js +180 -0
  234. package/dist/blocks/identities/index.d.ts +83 -0
  235. package/dist/blocks/identities/index.js +103 -0
  236. package/dist/blocks/imports/index.d.ts +91 -0
  237. package/dist/blocks/imports/index.js +123 -0
  238. package/dist/blocks/inbox/index.d.ts +22 -3
  239. package/dist/blocks/inbox/index.js +77 -4
  240. package/dist/blocks/inbox/react/index.d.ts +3 -2
  241. package/dist/blocks/inbox/react/index.js +55 -199
  242. package/dist/blocks/inbox/react/server.d.ts +2 -1
  243. package/dist/blocks/inbox/solid/index.d.ts +27 -0
  244. package/dist/blocks/inbox/solid/index.js +32 -0
  245. package/dist/blocks/inbox/svelte/index.d.ts +27 -0
  246. package/dist/blocks/inbox/svelte/index.js +32 -0
  247. package/dist/blocks/inbox/vue/index.d.ts +27 -0
  248. package/dist/blocks/inbox/vue/index.js +32 -0
  249. package/dist/blocks/index.d.ts +9 -64
  250. package/dist/blocks/index.js +191 -55
  251. package/dist/blocks/inventory/index.d.ts +181 -0
  252. package/dist/blocks/inventory/index.js +219 -0
  253. package/dist/blocks/invoices/index.d.ts +154 -0
  254. package/dist/blocks/invoices/index.js +216 -0
  255. package/dist/blocks/jobs/index.d.ts +156 -33
  256. package/dist/blocks/jobs/index.js +675 -261
  257. package/dist/blocks/knowledge/index.d.ts +10 -3
  258. package/dist/blocks/knowledge/index.js +17 -3
  259. package/dist/blocks/leave/index.d.ts +241 -0
  260. package/dist/blocks/leave/index.js +209 -0
  261. package/dist/blocks/memory/index.d.ts +9 -4
  262. package/dist/blocks/memory/index.js +48 -12
  263. package/dist/blocks/metrics/index.d.ts +174 -0
  264. package/dist/blocks/metrics/index.js +217 -0
  265. package/dist/blocks/mfa/index.d.ts +7 -0
  266. package/dist/blocks/mfa/index.js +12 -0
  267. package/dist/blocks/mfa/react/index.d.ts +30 -0
  268. package/dist/blocks/mfa/react/index.js +45 -0
  269. package/dist/blocks/mfa/react/server.d.ts +9 -0
  270. package/dist/blocks/mfa/react/server.js +12 -0
  271. package/dist/blocks/mfa/solid/index.d.ts +20 -0
  272. package/dist/blocks/mfa/solid/index.js +23 -0
  273. package/dist/blocks/mfa/svelte/index.d.ts +20 -0
  274. package/dist/blocks/mfa/svelte/index.js +23 -0
  275. package/dist/blocks/mfa/vue/index.d.ts +20 -0
  276. package/dist/blocks/mfa/vue/index.js +23 -0
  277. package/dist/blocks/notifications/index.d.ts +342 -25
  278. package/dist/blocks/notifications/index.js +733 -104
  279. package/dist/blocks/notifications/react/index.d.ts +7 -32
  280. package/dist/blocks/notifications/react/index.js +23 -49
  281. package/dist/blocks/notifications/react/server.d.ts +2 -1
  282. package/dist/blocks/notifications/solid/index.d.ts +13 -0
  283. package/dist/blocks/notifications/solid/index.js +14 -0
  284. package/dist/blocks/notifications/svelte/index.d.ts +13 -0
  285. package/dist/blocks/notifications/svelte/index.js +14 -0
  286. package/dist/blocks/notifications/vue/index.d.ts +13 -0
  287. package/dist/blocks/notifications/vue/index.js +14 -0
  288. package/dist/blocks/number-sequences/index.d.ts +39 -0
  289. package/dist/blocks/number-sequences/index.js +38 -0
  290. package/dist/blocks/oauth-server/index.d.ts +228 -0
  291. package/dist/blocks/oauth-server/index.js +309 -0
  292. package/dist/blocks/onboarding/index.d.ts +8 -3
  293. package/dist/blocks/onboarding/index.js +17 -63
  294. package/dist/blocks/onboarding/react/index.d.ts +3 -12
  295. package/dist/blocks/onboarding/react/index.js +18 -60
  296. package/dist/blocks/onboarding/react/server.d.ts +2 -2
  297. package/dist/blocks/onboarding/react/server.js +2 -2
  298. package/dist/blocks/onboarding/solid/index.d.ts +13 -0
  299. package/dist/blocks/onboarding/solid/index.js +14 -0
  300. package/dist/blocks/onboarding/svelte/index.d.ts +13 -0
  301. package/dist/blocks/onboarding/svelte/index.js +14 -0
  302. package/dist/blocks/onboarding/vue/index.d.ts +13 -0
  303. package/dist/blocks/onboarding/vue/index.js +14 -0
  304. package/dist/blocks/orders/index.d.ts +264 -0
  305. package/dist/blocks/orders/index.js +589 -0
  306. package/dist/blocks/organizations/index.d.ts +31 -238
  307. package/dist/blocks/organizations/index.js +49 -392
  308. package/dist/blocks/organizations/react/index.d.ts +108 -0
  309. package/dist/blocks/organizations/react/index.js +113 -0
  310. package/dist/blocks/organizations/react/server.d.ts +11 -0
  311. package/dist/blocks/organizations/react/server.js +15 -0
  312. package/dist/blocks/organizations/solid/index.d.ts +34 -0
  313. package/dist/blocks/organizations/solid/index.js +32 -0
  314. package/dist/blocks/organizations/svelte/index.d.ts +34 -0
  315. package/dist/blocks/organizations/svelte/index.js +32 -0
  316. package/dist/blocks/organizations/vue/index.d.ts +34 -0
  317. package/dist/blocks/organizations/vue/index.js +32 -0
  318. package/dist/blocks/outbox/index.d.ts +12 -3
  319. package/dist/blocks/outbox/index.js +85 -46
  320. package/dist/blocks/parties/index.d.ts +181 -0
  321. package/dist/blocks/parties/index.js +258 -0
  322. package/dist/blocks/pipelines/index.d.ts +189 -0
  323. package/dist/blocks/pipelines/index.js +204 -0
  324. package/dist/blocks/profiles/index.d.ts +13 -8
  325. package/dist/blocks/profiles/index.js +19 -6
  326. package/dist/blocks/promotions/index.d.ts +125 -0
  327. package/dist/blocks/promotions/index.js +123 -0
  328. package/dist/blocks/push/index.d.ts +48 -28
  329. package/dist/blocks/push/index.js +45 -16
  330. package/dist/blocks/quotes/index.d.ts +152 -0
  331. package/dist/blocks/quotes/index.js +209 -0
  332. package/dist/blocks/rank/index.d.ts +71 -0
  333. package/dist/blocks/rank/index.js +53 -0
  334. package/dist/blocks/reactions/index.d.ts +18 -0
  335. package/dist/blocks/reactions/index.js +26 -0
  336. package/dist/blocks/reactions/react/index.d.ts +23 -0
  337. package/dist/blocks/reactions/react/index.js +46 -0
  338. package/dist/blocks/reactions/react/server.d.ts +6 -0
  339. package/dist/blocks/reactions/react/server.js +7 -0
  340. package/dist/blocks/reactions/solid/index.d.ts +13 -0
  341. package/dist/blocks/reactions/solid/index.js +14 -0
  342. package/dist/blocks/reactions/svelte/index.d.ts +13 -0
  343. package/dist/blocks/reactions/svelte/index.js +14 -0
  344. package/dist/blocks/reactions/vue/index.d.ts +13 -0
  345. package/dist/blocks/reactions/vue/index.js +14 -0
  346. package/dist/blocks/relations/index.d.ts +180 -0
  347. package/dist/blocks/relations/index.js +254 -0
  348. package/dist/blocks/reminders/index.d.ts +177 -0
  349. package/dist/blocks/reminders/index.js +171 -0
  350. package/dist/blocks/reviews/index.d.ts +148 -0
  351. package/dist/blocks/reviews/index.js +139 -0
  352. package/dist/blocks/rules/index.d.ts +103 -0
  353. package/dist/blocks/rules/index.js +54 -0
  354. package/dist/blocks/rules/react/index.d.ts +34 -0
  355. package/dist/blocks/rules/react/index.js +55 -0
  356. package/dist/blocks/rules/react/server.d.ts +6 -0
  357. package/dist/blocks/rules/react/server.js +7 -0
  358. package/dist/blocks/rules/solid/index.d.ts +13 -0
  359. package/dist/blocks/rules/solid/index.js +14 -0
  360. package/dist/blocks/rules/svelte/index.d.ts +13 -0
  361. package/dist/blocks/rules/svelte/index.js +14 -0
  362. package/dist/blocks/rules/vue/index.d.ts +13 -0
  363. package/dist/blocks/rules/vue/index.js +14 -0
  364. package/dist/blocks/saved-views/index.d.ts +17 -0
  365. package/dist/blocks/saved-views/index.js +29 -0
  366. package/dist/blocks/saved-views/react/index.d.ts +34 -0
  367. package/dist/blocks/saved-views/react/index.js +57 -0
  368. package/dist/blocks/saved-views/react/server.d.ts +7 -0
  369. package/dist/blocks/saved-views/react/server.js +7 -0
  370. package/dist/blocks/saved-views/solid/index.d.ts +13 -0
  371. package/dist/blocks/saved-views/solid/index.js +14 -0
  372. package/dist/blocks/saved-views/svelte/index.d.ts +13 -0
  373. package/dist/blocks/saved-views/svelte/index.js +14 -0
  374. package/dist/blocks/saved-views/vue/index.d.ts +13 -0
  375. package/dist/blocks/saved-views/vue/index.js +14 -0
  376. package/dist/blocks/search/index.d.ts +31 -0
  377. package/dist/blocks/search/index.js +61 -0
  378. package/dist/blocks/search/react/index.d.ts +36 -0
  379. package/dist/blocks/search/react/index.js +49 -0
  380. package/dist/blocks/search/react/server.d.ts +7 -0
  381. package/dist/blocks/search/react/server.js +8 -0
  382. package/dist/blocks/search/solid/index.d.ts +13 -0
  383. package/dist/blocks/search/solid/index.js +14 -0
  384. package/dist/blocks/search/svelte/index.d.ts +13 -0
  385. package/dist/blocks/search/svelte/index.js +14 -0
  386. package/dist/blocks/search/vue/index.d.ts +13 -0
  387. package/dist/blocks/search/vue/index.js +14 -0
  388. package/dist/blocks/service-principals/index.d.ts +126 -0
  389. package/dist/blocks/service-principals/index.js +107 -0
  390. package/dist/blocks/sessions/index.d.ts +7 -0
  391. package/dist/blocks/sessions/index.js +14 -0
  392. package/dist/blocks/sessions/react/index.d.ts +31 -0
  393. package/dist/blocks/sessions/react/index.js +51 -0
  394. package/dist/blocks/sessions/react/server.d.ts +9 -0
  395. package/dist/blocks/sessions/react/server.js +11 -0
  396. package/dist/blocks/sessions/solid/index.d.ts +20 -0
  397. package/dist/blocks/sessions/solid/index.js +23 -0
  398. package/dist/blocks/sessions/svelte/index.d.ts +20 -0
  399. package/dist/blocks/sessions/svelte/index.js +23 -0
  400. package/dist/blocks/sessions/vue/index.d.ts +20 -0
  401. package/dist/blocks/sessions/vue/index.js +23 -0
  402. package/dist/blocks/settings/index.d.ts +20 -86
  403. package/dist/blocks/settings/index.js +28 -102
  404. package/dist/blocks/settings/react/index.d.ts +25 -0
  405. package/dist/blocks/settings/react/index.js +37 -0
  406. package/dist/blocks/settings/react/server.d.ts +7 -0
  407. package/dist/blocks/settings/react/server.js +7 -0
  408. package/dist/blocks/settings/solid/index.d.ts +13 -0
  409. package/dist/blocks/settings/solid/index.js +14 -0
  410. package/dist/blocks/settings/svelte/index.d.ts +13 -0
  411. package/dist/blocks/settings/svelte/index.js +14 -0
  412. package/dist/blocks/settings/vue/index.d.ts +13 -0
  413. package/dist/blocks/settings/vue/index.js +14 -0
  414. package/dist/blocks/share-links/index.d.ts +99 -0
  415. package/dist/blocks/share-links/index.js +99 -0
  416. package/dist/blocks/shared-signals/index.d.ts +395 -0
  417. package/dist/blocks/shared-signals/index.js +880 -0
  418. package/dist/blocks/signing-keys/index.d.ts +29 -0
  419. package/dist/blocks/signing-keys/index.js +161 -0
  420. package/dist/blocks/sla/index.d.ts +114 -0
  421. package/dist/blocks/sla/index.js +122 -0
  422. package/dist/blocks/sso/index.d.ts +169 -147
  423. package/dist/blocks/sso/index.js +258 -321
  424. package/dist/blocks/state-machine/index.d.ts +105 -0
  425. package/dist/blocks/state-machine/index.js +116 -0
  426. package/dist/blocks/tags/index.d.ts +20 -0
  427. package/dist/blocks/tags/index.js +28 -0
  428. package/dist/blocks/tags/react/index.d.ts +28 -0
  429. package/dist/blocks/tags/react/index.js +47 -0
  430. package/dist/blocks/tags/react/server.d.ts +7 -0
  431. package/dist/blocks/tags/react/server.js +7 -0
  432. package/dist/blocks/tags/solid/index.d.ts +13 -0
  433. package/dist/blocks/tags/solid/index.js +14 -0
  434. package/dist/blocks/tags/svelte/index.d.ts +13 -0
  435. package/dist/blocks/tags/svelte/index.js +14 -0
  436. package/dist/blocks/tags/vue/index.d.ts +13 -0
  437. package/dist/blocks/tags/vue/index.js +14 -0
  438. package/dist/blocks/targets/index.d.ts +82 -0
  439. package/dist/blocks/targets/index.js +73 -0
  440. package/dist/blocks/teams/index.d.ts +61 -0
  441. package/dist/blocks/teams/index.js +83 -0
  442. package/dist/blocks/templates/index.d.ts +362 -0
  443. package/dist/blocks/templates/index.js +483 -0
  444. package/dist/blocks/time-tracking/index.d.ts +250 -0
  445. package/dist/blocks/time-tracking/index.js +317 -0
  446. package/dist/blocks/trash/index.d.ts +78 -0
  447. package/dist/blocks/trash/index.js +79 -0
  448. package/dist/blocks/undo/index.d.ts +9 -0
  449. package/dist/blocks/undo/index.js +14 -0
  450. package/dist/blocks/undo/react/index.d.ts +17 -0
  451. package/dist/blocks/undo/react/index.js +24 -0
  452. package/dist/blocks/undo/react/server.d.ts +7 -0
  453. package/dist/blocks/undo/react/server.js +7 -0
  454. package/dist/blocks/undo/solid/index.d.ts +13 -0
  455. package/dist/blocks/undo/solid/index.js +14 -0
  456. package/dist/blocks/undo/svelte/index.d.ts +13 -0
  457. package/dist/blocks/undo/svelte/index.js +14 -0
  458. package/dist/blocks/undo/vue/index.d.ts +13 -0
  459. package/dist/blocks/undo/vue/index.js +14 -0
  460. package/dist/blocks/usage/index.d.ts +10 -4
  461. package/dist/blocks/usage/index.js +16 -233
  462. package/dist/blocks/usage/react/index.d.ts +23 -0
  463. package/dist/blocks/usage/react/index.js +38 -0
  464. package/dist/blocks/usage/react/server.d.ts +7 -0
  465. package/dist/blocks/usage/react/server.js +7 -0
  466. package/dist/blocks/usage/solid/index.d.ts +13 -0
  467. package/dist/blocks/usage/solid/index.js +14 -0
  468. package/dist/blocks/usage/svelte/index.d.ts +13 -0
  469. package/dist/blocks/usage/svelte/index.js +14 -0
  470. package/dist/blocks/usage/vue/index.d.ts +13 -0
  471. package/dist/blocks/usage/vue/index.js +14 -0
  472. package/dist/blocks/versions/index.d.ts +165 -0
  473. package/dist/blocks/versions/index.js +283 -0
  474. package/dist/blocks/waitlist/index.d.ts +57 -19
  475. package/dist/blocks/waitlist/index.js +46 -12
  476. package/dist/blocks/webhooks/index.d.ts +269 -137
  477. package/dist/blocks/webhooks/index.js +752 -179
  478. package/dist/blocks/work-items/index.d.ts +208 -0
  479. package/dist/blocks/work-items/index.js +305 -0
  480. package/dist/blocks/workflow-builder/index.d.ts +26 -6
  481. package/dist/blocks/workflow-builder/index.js +30 -5
  482. package/dist/blocks/workflow-builder/react/index.d.ts +4 -19
  483. package/dist/blocks/workflow-builder/react/index.js +45 -89
  484. package/dist/blocks/workflow-builder/solid/index.d.ts +20 -0
  485. package/dist/blocks/workflow-builder/solid/index.js +23 -0
  486. package/dist/blocks/workflow-builder/svelte/index.d.ts +20 -0
  487. package/dist/blocks/workflow-builder/svelte/index.js +23 -0
  488. package/dist/blocks/workflow-builder/vue/index.d.ts +20 -0
  489. package/dist/blocks/workflow-builder/vue/index.js +23 -0
  490. package/dist/blocks/workflows/index.d.ts +20 -3
  491. package/dist/blocks/workflows/index.js +27 -3
  492. package/dist/blocks/workflows/react/index.d.ts +5 -20
  493. package/dist/blocks/workflows/react/index.js +41 -113
  494. package/dist/blocks/workflows/solid/index.d.ts +20 -0
  495. package/dist/blocks/workflows/solid/index.js +23 -0
  496. package/dist/blocks/workflows/svelte/index.d.ts +20 -0
  497. package/dist/blocks/workflows/svelte/index.js +23 -0
  498. package/dist/blocks/workflows/vue/index.d.ts +20 -0
  499. package/dist/blocks/workflows/vue/index.js +23 -0
  500. package/dist/blocks-D2WQ63PI.js +84 -0
  501. package/dist/bookings-0XnhHNLM.js +181 -0
  502. package/dist/build-Cm0T5MVG.js +1815 -0
  503. package/dist/build-Cx08LOT7.js +689 -0
  504. package/dist/calendar-DcFrpSOy.js +801 -0
  505. package/dist/channel-D-LHCY11.d.ts +78 -0
  506. package/dist/channels-C-GCoNLd.js +114 -0
  507. package/dist/chat-sdk/index.d.ts +131 -7
  508. package/dist/chat-sdk/index.js +154 -6
  509. package/dist/chat-sdk/react/index.d.ts +2 -1
  510. package/dist/chat-sdk/react/index.js +1 -2
  511. package/dist/chat-sdk/react/server.d.ts +2 -1
  512. package/dist/chat-sdk/react/server.js +1 -2
  513. package/dist/cli/add-B0zoJUYX.js +651 -0
  514. package/dist/cli/add-Bd5M6uEZ.js +75 -0
  515. package/dist/cli/add-CT6p5psO.js +1 -0
  516. package/dist/cli/adopt-C9jl8z0h.js +1 -0
  517. package/dist/cli/adopt-CebmlHL-.js +393 -0
  518. package/dist/cli/agent-CCt_aXpJ.js +176 -0
  519. package/dist/cli/apply-Dxk8AUNU.js +302 -0
  520. package/dist/cli/bin.js +40 -20
  521. package/dist/cli/blocks-Bzz326nn.js +1 -0
  522. package/dist/cli/blocks-Dq25D80b.js +124 -0
  523. package/dist/cli/cache-Cx6qlRDR.js +502 -0
  524. package/dist/cli/catalog-Di15TkM2.js +187 -0
  525. package/dist/cli/codemod-woL4cVe0.js +985 -0
  526. package/dist/cli/command-CK9Cn8HV.js +836 -0
  527. package/dist/cli/completion-BO5UK6bG.js +1 -0
  528. package/dist/cli/completion-CWoDmFZr.js +205 -0
  529. package/dist/cli/completion-J3dqnNoW.js +30 -0
  530. package/dist/cli/config-C1d-mbUA.js +1 -0
  531. package/dist/cli/config-CLHpTk9Y.js +1421 -0
  532. package/dist/cli/config-MuKY9kUj.js +39 -0
  533. package/dist/cli/config-edit-Ct1lXe8a.js +603 -0
  534. package/dist/cli/db-DT1bGB02.js +78 -0
  535. package/dist/cli/design-edit-B-WsnhUF.js +175 -0
  536. package/dist/cli/detect-DYDUBLU4.js +84 -0
  537. package/dist/cli/dist-D_VbPAMR.js +129 -0
  538. package/dist/cli/dist-DuiMMRbJ.js +1112 -0
  539. package/dist/cli/doctor-SGw36h1D.js +3806 -0
  540. package/dist/cli/emit-ZAYeh4Yn.js +1042 -0
  541. package/dist/cli/env-CVXvJoLP.js +142 -0
  542. package/dist/cli/env-D3gZ-OHj.js +1 -0
  543. package/dist/cli/env-DJ4ZaJpe.js +1 -0
  544. package/dist/cli/env-DMw_MBe5.js +996 -0
  545. package/dist/cli/errors-Caiz_0so.js +98 -0
  546. package/dist/cli/fastest-levenshtein-dhRRvrM2.js +120 -0
  547. package/dist/cli/files-DDvAwTko.js +963 -0
  548. package/dist/cli/gen-B344S1Oy.js +304 -0
  549. package/dist/cli/guards-CUlDNYZs.js +8 -0
  550. package/dist/cli/index.d.ts +258 -129
  551. package/dist/cli/index.js +13 -10
  552. package/dist/cli/init-B1dL-RZL.js +393 -0
  553. package/dist/cli/introspect-BPcFi8ow.js +51 -0
  554. package/dist/cli/io-BiPX-_J1.js +37 -0
  555. package/dist/cli/jsonc-C8M0EhHB.js +1 -0
  556. package/dist/cli/keys-jsxCNJdz.js +106 -0
  557. package/dist/cli/metadata-CxBZo4KM.js +138 -0
  558. package/dist/cli/module-migration-YFFdWC5X.js +592 -0
  559. package/dist/cli/moved-D9OT_Uyy.js +152 -0
  560. package/dist/cli/parse-DE59XyWt.js +170 -0
  561. package/dist/cli/preset-DmcC4nWE.js +129 -0
  562. package/dist/cli/prompts-Bvg_DBpe.js +1137 -0
  563. package/dist/cli/redact-PjNswZOs.js +35 -0
  564. package/dist/cli/rolldown-runtime-kJ_i4yPo.js +26 -0
  565. package/dist/cli/run-CM_2g6KQ.js +684 -0
  566. package/dist/cli/run-DaHfUUO9.js +1539 -0
  567. package/dist/cli/scaffold-CFdDq36-.js +898 -0
  568. package/dist/cli/scaffold-Dsjr7sOT.js +1 -0
  569. package/dist/cli/seed-DldDdXWO.js +113 -0
  570. package/dist/cli/seed-DtRFysBe.js +1 -0
  571. package/dist/cli/shell-Btv_4Yhe.js +10 -0
  572. package/dist/cli/skills-v34NDb2D.js +121 -0
  573. package/dist/cli/snapshot-DAxLi4hO.js +347 -0
  574. package/dist/cli/source-args-0I9zylYy.js +47 -0
  575. package/dist/cli/spec-CaaSOYZS.js +7501 -0
  576. package/dist/cli/spec-De0cfceR.js +1 -0
  577. package/dist/cli/sql-0I1EQ3JG.js +2 -0
  578. package/dist/cli/sql-DDLWwzh9.js +326 -0
  579. package/dist/cli/stack-status-CRanl-CN.js +456 -0
  580. package/dist/cli/style-2JfIPVMQ.js +29 -0
  581. package/dist/cli/supabase-toml-DjLgBYEo.js +1153 -0
  582. package/dist/cli/sync-DFx-6t5n.js +88 -0
  583. package/dist/cli/topics-GJuIDwlY.js +30 -0
  584. package/dist/cli/trace-VbdO6bcN.js +7 -0
  585. package/dist/cli/typegen--TfvOPLh.js +494 -0
  586. package/dist/cli/typegen-version-BNBPI4Eu.js +9 -0
  587. package/dist/cli/validate-BfWNKvxy.js +7522 -0
  588. package/dist/cli/version-DNRW4DAP.js +4 -0
  589. package/dist/cli/write-BS6F3Yvz.js +180 -0
  590. package/dist/client/index.d.ts +7 -4
  591. package/dist/client/index.js +152 -6
  592. package/dist/client/native/index.d.ts +71 -4
  593. package/dist/client/native/index.js +65 -6
  594. package/dist/client-01MAuqzW.js +137 -0
  595. package/dist/client-B7QVIrJS.d.ts +263 -0
  596. package/dist/client-B9CqzgPO.js +75 -0
  597. package/dist/client-BAcILZOf.d.ts +122 -0
  598. package/dist/client-BOT2KVIp.js +128 -0
  599. package/dist/client-BUGIS__1.js +1051 -0
  600. package/dist/client-BVZtq_rQ.d.ts +34 -0
  601. package/dist/client-BYaOGCOG.js +84 -0
  602. package/dist/client-BfgwocyT.js +155 -0
  603. package/dist/client-BpS8a6Fm.js +51 -0
  604. package/dist/client-BxnLb9bz.d.ts +58 -0
  605. package/dist/client-BzCv4kKE.js +65 -0
  606. package/dist/client-C-2ajnhM.js +89 -0
  607. package/dist/client-C5mUEb2n.js +55 -0
  608. package/dist/client-C9QrWrnt.js +209 -0
  609. package/dist/client-CFdMJ1h9.d.ts +277 -0
  610. package/dist/client-CHmjaI0j.d.ts +103 -0
  611. package/dist/client-CWs3X4g1.js +120 -0
  612. package/dist/client-Cdedx_lw.js +438 -0
  613. package/dist/client-CiGjS6us.js +169 -0
  614. package/dist/client-CilSKXNu.js +288 -0
  615. package/dist/client-ClZ0D-if.d.ts +162 -0
  616. package/dist/client-Cmensu7l.d.ts +419 -0
  617. package/dist/client-Co6BPmvr.d.ts +108 -0
  618. package/dist/client-CoVGPi0c.js +133 -0
  619. package/dist/client-CvITjt-9.js +310 -0
  620. package/dist/client-CzI4QpG3.d.ts +131 -0
  621. package/dist/client-D5CZ2a34.d.ts +455 -0
  622. package/dist/client-DAHsEOVV.d.ts +155 -0
  623. package/dist/client-DG7FwgZD.js +104 -0
  624. package/dist/client-DIrCmOXz.d.ts +157 -0
  625. package/dist/client-DNq8xYb-.js +52 -0
  626. package/dist/client-DdfSIZ3M.d.ts +107 -0
  627. package/dist/client-DjTRlN3a.d.ts +68 -0
  628. package/dist/client-Ezlbskjq.js +60 -0
  629. package/dist/client-LLmgiCwJ.d.ts +135 -0
  630. package/dist/client-Lx3mlvKO.d.ts +100 -0
  631. package/dist/client-PGRk3DGz.js +98 -0
  632. package/dist/client-Tc47rlSe.d.ts +350 -0
  633. package/dist/client-VvY0K3wr.d.ts +59 -0
  634. package/dist/client-WAdEBBrH.d.ts +65 -0
  635. package/dist/client-WHeWTNVL.d.ts +130 -0
  636. package/dist/client-WgrPIHH-.js +213 -0
  637. package/dist/client-ZTtSV3l8.js +40 -0
  638. package/dist/client-b2_GjzzD.js +438 -0
  639. package/dist/client-ckXfdy1k.js +38 -0
  640. package/dist/client-e-hFkLUf.d.ts +34 -0
  641. package/dist/client-hyP_nS5R.d.ts +218 -0
  642. package/dist/client-i8glKhxh.js +67 -0
  643. package/dist/client-iDLLvGR4.d.ts +52 -0
  644. package/dist/client-pxjbgOz6.js +376 -0
  645. package/dist/client-xkSCp9hN.d.ts +101 -0
  646. package/dist/client-ysNShuJZ.d.ts +39 -0
  647. package/dist/cloud-event-5rCEzIgK.d.ts +64 -0
  648. package/dist/codecs-Bm46sVxr.d.ts +215 -0
  649. package/dist/codecs-YAekuQ08.js +358 -0
  650. package/dist/codegen-DeoSt1mi.d.ts +1571 -0
  651. package/dist/comments-D7sbd0xG.js +230 -0
  652. package/dist/commerce/index.d.ts +211 -0
  653. package/dist/commerce/index.js +517 -0
  654. package/dist/compiler-BVxepAY0.d.ts +14 -0
  655. package/dist/compose-Djntdacs.js +53 -0
  656. package/dist/composite-M6zPs1Xm.js +130 -0
  657. package/dist/composite-djtGy6bz.d.ts +67 -0
  658. package/dist/config/index.d.ts +7 -5
  659. package/dist/config/index.js +7 -4
  660. package/dist/config-BA1K4OPk.js +557 -0
  661. package/dist/config-C4MozTD7.js +3892 -0
  662. package/dist/connector-Cp8CqssJ.d.ts +107 -0
  663. package/dist/connectors-CjD-R2ks.d.ts +141 -0
  664. package/dist/context-1sSWcd7_.d.ts +365 -0
  665. package/dist/context-B8_p3MXo.js +11 -0
  666. package/dist/context-BDDgjoxz.js +41 -0
  667. package/dist/context-C-bHOtoD.js +5 -0
  668. package/dist/context-D6ZMKc2L.js +19 -0
  669. package/dist/context-wDKxSl9x.js +9 -0
  670. package/dist/controller-D6NyNrlZ.js +79 -0
  671. package/dist/controller-D845qKh2.d.ts +46 -0
  672. package/dist/credentials/index.d.ts +15 -5
  673. package/dist/credentials/index.js +16 -8
  674. package/dist/cron-CUaKTjWC.js +145 -0
  675. package/dist/cron-route-CoL-By8Z.js +24 -0
  676. package/dist/csv-CVfXqaAu.js +89 -0
  677. package/dist/csv-D3eKxV1T.d.ts +28 -0
  678. package/dist/define-B2ln373W.js +1896 -0
  679. package/dist/define-DxHHbNEb.d.ts +1005 -0
  680. package/dist/define-block-B6Gjs57G.js +52 -0
  681. package/dist/define-block-CLZMEFeK.d.ts +256 -0
  682. package/dist/delegation-Dt8hMJWu.js +140 -0
  683. package/dist/delivery-B1mKaOen.js +30 -0
  684. package/dist/delivery-BeHgwS3k.d.ts +69 -0
  685. package/dist/documents-CWn2mtYf.d.ts +96 -0
  686. package/dist/edge/index.d.ts +16 -14
  687. package/dist/edge/index.js +24 -18
  688. package/dist/elysia/index.d.ts +1 -1
  689. package/dist/elysia/index.js +2 -2
  690. package/dist/email-BcmbIWOX.d.ts +42 -0
  691. package/dist/embeddings-C2S14foD.d.ts +78 -0
  692. package/dist/embeddings-CVeOoufZ.js +128 -0
  693. package/dist/ended-nIdGCHxk.d.ts +70 -0
  694. package/dist/entitlements-BvU5dLpW.js +45 -0
  695. package/dist/entitlements-CbzCKalR.d.ts +53 -0
  696. package/dist/env/index.d.ts +1 -1
  697. package/dist/env/index.js +3 -3
  698. package/dist/envelope-CHYk5MXU.js +90 -0
  699. package/dist/errors-8i6tSICm.js +301 -0
  700. package/dist/errors-PIpcoe4z.js +44 -0
  701. package/dist/escape-like-AUEPn-C5.d.ts +15 -0
  702. package/dist/eve/index.d.ts +5 -5
  703. package/dist/eve/index.js +9 -9
  704. package/dist/eve-DUF70Vgi.d.ts +151 -0
  705. package/dist/event-calendar-DJXXMJ3x.d.ts +217 -0
  706. package/dist/event-map-Dy2vKHai.js +19 -0
  707. package/dist/events/index.d.ts +4 -4
  708. package/dist/events/index.js +10 -7
  709. package/dist/events-CTreRrgP.d.ts +800 -0
  710. package/dist/events-xbpHkcK9.js +82 -0
  711. package/dist/executor-BBHgjUJu.d.ts +39 -0
  712. package/dist/executor-BINiCFNp.d.ts +95 -0
  713. package/dist/executor-BXSHYyW2.js +735 -0
  714. package/dist/executor-D1kYY5BA.js +206 -0
  715. package/dist/executor-D3K3tycZ.js +147 -0
  716. package/dist/executor-DKrZr3AC.d.ts +174 -0
  717. package/dist/executor-DoE-5iM8.d.ts +272 -0
  718. package/dist/expo/index.d.ts +4 -4
  719. package/dist/expo/index.js +6 -6
  720. package/dist/expo-sqlite/index.d.ts +3 -3
  721. package/dist/expo-sqlite/index.js +2 -2
  722. package/dist/field-errors-CWXN_h_E.d.ts +113 -0
  723. package/dist/field-formats-Cif5gr7c.js +102 -0
  724. package/dist/field-formats-DCvOQlOy.d.ts +39 -0
  725. package/dist/filter-evaluate-C0ULNfS7.js +214 -0
  726. package/dist/filter-evaluate-CjcFq0RT.d.ts +34 -0
  727. package/dist/filter-query-B3lhckKX.js +518 -0
  728. package/dist/filter-query-BKmRYrTE.d.ts +121 -0
  729. package/dist/flags-D_D1jAHB.d.ts +230 -0
  730. package/dist/flags-XAOsdNAc.js +279 -0
  731. package/dist/flags-sdk/index.d.ts +143 -0
  732. package/dist/flags-sdk/index.js +175 -0
  733. package/dist/form-definition-sagoefQr.d.ts +95 -0
  734. package/dist/format-CNwSjXUU.d.ts +70 -0
  735. package/dist/framework-DG5Bv39u.d.ts +26 -0
  736. package/dist/framework-INbjMZX1.js +51 -0
  737. package/dist/function-contract-B4c0XuTU.d.ts +21 -0
  738. package/dist/function-contract-DmkBg19r.js +5 -0
  739. package/dist/gateway-Cup00l0w.d.ts +109 -0
  740. package/dist/gateway-options-ClvvfuuU.d.ts +29 -0
  741. package/dist/gateway-options-DcLcWL5_.js +27 -0
  742. package/dist/graph-Cs28bOlK.js +360 -0
  743. package/dist/groups-CxonH3u5.js +16 -0
  744. package/dist/h3/index.d.ts +7 -3
  745. package/dist/h3/index.js +3 -3
  746. package/dist/h3/v1/index.d.ts +1 -1
  747. package/dist/h3/v1/index.js +2 -2
  748. package/dist/hono/index.d.ts +24 -10
  749. package/dist/hono/index.js +50 -22
  750. package/dist/http-BF-V0CUF.js +25 -0
  751. package/dist/impersonation-CDeCzZP6.js +62 -0
  752. package/dist/impersonation-D5chOkrO.d.ts +25 -0
  753. package/dist/inbox-3ql4phyr.d.ts +400 -0
  754. package/dist/index-BIi8i6BO.d.ts +97 -0
  755. package/dist/index-BkzNUPId.d.ts +131 -0
  756. package/dist/index-BlqrGvb3.d.ts +227 -0
  757. package/dist/index-Brhm22eL.d.ts +138 -0
  758. package/dist/index-Bvw9r94Q.d.ts +245 -0
  759. package/dist/index-CETRk4YO.d.ts +82 -0
  760. package/dist/index-CrZitvSC.d.ts +258 -0
  761. package/dist/index-DfVXx4Ia.d.ts +202 -0
  762. package/dist/index-DygICr8c.d.ts +206 -0
  763. package/dist/index-Ej8XQ9w9.d.ts +58 -0
  764. package/dist/index-jhqhynmh.d.ts +58 -0
  765. package/dist/index.d.ts +15 -15
  766. package/dist/index.js +15 -14
  767. package/dist/iso4217-A8ev-CNW.js +176 -0
  768. package/dist/json-schema-CpYINXG8.js +548 -0
  769. package/dist/jws-35a8VhFV.d.ts +60 -0
  770. package/dist/jws-milwSg7E.js +191 -0
  771. package/dist/kit-D5S7KNFe.d.ts +66 -0
  772. package/dist/kit-MUK34-ZG.js +104 -0
  773. package/dist/knowledge-BXQ2-V0a.d.ts +187 -0
  774. package/dist/knowledge-CJ_Mm3ic.js +272 -0
  775. package/dist/lint/index.js +9 -9
  776. package/dist/list/index.d.ts +4 -2
  777. package/dist/list/index.js +4 -2
  778. package/dist/list-query-CBXNfJt4.js +549 -0
  779. package/dist/list-query-PvP3pPGQ.d.ts +194 -0
  780. package/dist/live-DwDreq1n.js +239 -0
  781. package/dist/mcp/index.d.ts +24 -7
  782. package/dist/mcp/index.js +76 -55
  783. package/dist/mcp/sdk/index.d.ts +6 -6
  784. package/dist/mcp/sdk/index.js +7 -7
  785. package/dist/messages-Cx4ttLJJ.js +493 -0
  786. package/dist/metric-definition-95HFoW1V.d.ts +70 -0
  787. package/dist/metric-definition-BjxVn4R5.js +117 -0
  788. package/dist/mfa-DtflCXEt.d.ts +30 -0
  789. package/dist/model-lUafmeBQ.d.ts +311 -0
  790. package/dist/model-messages-CTu-6kBu.js +206 -0
  791. package/dist/money-95Rff2vT.js +185 -0
  792. package/dist/money-DFpWzQvk.d.ts +76 -0
  793. package/dist/money-codec-C_-K5ZUU.js +41 -0
  794. package/dist/nestjs/index.d.ts +2 -2
  795. package/dist/nestjs/index.js +2 -2
  796. package/dist/next/index.d.ts +26 -16
  797. package/dist/next/index.js +17 -16
  798. package/dist/node/index.d.ts +2 -2
  799. package/dist/node/index.js +3 -3
  800. package/dist/nuxt/index.d.ts +2 -2
  801. package/dist/nuxt/index.js +3 -2
  802. package/dist/onboarding-BZvLLPaY.js +68 -0
  803. package/dist/openapi/index.d.ts +3 -3
  804. package/dist/openapi/index.js +2 -2
  805. package/dist/operations-C9-UcReN.d.ts +6 -0
  806. package/dist/operations-CsIfMED7.js +29 -0
  807. package/dist/optional-peer-Dx8TaYXw.js +29 -0
  808. package/dist/options-B0FcEKtH.js +5 -0
  809. package/dist/options-B5BU2Yg7.js +11 -0
  810. package/dist/options-B5woz53h.js +5 -0
  811. package/dist/options-B7EJaOX-.js +5 -0
  812. package/dist/options-B9q8CROT.js +9 -0
  813. package/dist/options-BA6jV6py.js +10 -0
  814. package/dist/options-BAW2ZlZ8.js +8 -0
  815. package/dist/options-BMjcVuaI.js +82 -0
  816. package/dist/options-BOOEzor9.js +5 -0
  817. package/dist/options-BQ07tTYr.js +11 -0
  818. package/dist/options-BZsoPJGX.js +5 -0
  819. package/dist/options-BesyRBnM.js +16 -0
  820. package/dist/options-Bf96aVk5.js +10 -0
  821. package/dist/options-BlOPivzq.js +8 -0
  822. package/dist/options-Blg8lAkz.js +9 -0
  823. package/dist/options-Bn4cu0gt.js +5 -0
  824. package/dist/options-BnoJOwXK.js +8 -0
  825. package/dist/options-Bp7sgKvl.js +30 -0
  826. package/dist/options-BqO9GYig.js +311 -0
  827. package/dist/options-BxcFLL1G.js +8 -0
  828. package/dist/options-C1HR4UZd.js +13 -0
  829. package/dist/options-C239TLRF.js +14 -0
  830. package/dist/options-C2HesT4A.js +9 -0
  831. package/dist/options-C3EzJATk.js +10 -0
  832. package/dist/options-C3hZ1fbC.js +10 -0
  833. package/dist/options-C6rEL6U5.js +8 -0
  834. package/dist/options-CAzVf-1T.js +8 -0
  835. package/dist/options-CGKSUFUq.js +5 -0
  836. package/dist/options-CGjGE8xS.js +12 -0
  837. package/dist/options-CK5WiFwG.js +11 -0
  838. package/dist/options-CN7PHkhU.js +8 -0
  839. package/dist/options-CTZNpb2n.js +5 -0
  840. package/dist/options-CUqQ9pm7.js +9 -0
  841. package/dist/options-CVSWgZpY.js +8 -0
  842. package/dist/options-CXFz0xxS.js +8 -0
  843. package/dist/options-CZk_fbbg.js +9 -0
  844. package/dist/options-C_pb1Nd3.js +5 -0
  845. package/dist/options-CbSOj53r.d.ts +52 -0
  846. package/dist/options-ChD15QxJ.js +9 -0
  847. package/dist/options-CkScQRJR.js +12 -0
  848. package/dist/options-CljDnQt2.js +25 -0
  849. package/dist/options-CmraJhd9.js +5 -0
  850. package/dist/options-CoX6VKGb.js +8 -0
  851. package/dist/options-CrC78Tee.js +5 -0
  852. package/dist/options-Ctac2R0Q.js +11 -0
  853. package/dist/options-CyD7OObW.js +17 -0
  854. package/dist/options-D1blDihM.js +9 -0
  855. package/dist/options-D2Gd6VfS.js +8 -0
  856. package/dist/options-D2d1fFuw.js +11 -0
  857. package/dist/options-D40CQzji.js +8 -0
  858. package/dist/options-D7f2VKzj.js +25 -0
  859. package/dist/options-DARkpk2P.js +8 -0
  860. package/dist/options-DCduTMST.js +17 -0
  861. package/dist/options-DDzggjN7.js +8 -0
  862. package/dist/options-DMR68VAC.js +5 -0
  863. package/dist/options-DNKyN5uq.js +20 -0
  864. package/dist/options-DTDxFT6J.js +13 -0
  865. package/dist/options-DWpz3V3F.js +8 -0
  866. package/dist/options-DXqcJyOP.js +10 -0
  867. package/dist/options-DYBQ973I.js +8 -0
  868. package/dist/options-Dh4wu9Ks.js +15 -0
  869. package/dist/options-Dmg1Da9P.js +25 -0
  870. package/dist/options-DsUgamiy.js +5 -0
  871. package/dist/options-EsUh744F.js +13 -0
  872. package/dist/options-Fz6xqu-b.js +5 -0
  873. package/dist/options-HSv8R6h5.js +13 -0
  874. package/dist/options-I8zVkB_y.js +8 -0
  875. package/dist/options-MHhjOoWz.js +5 -0
  876. package/dist/options-MLxMkd5B.js +11 -0
  877. package/dist/options-OJ5zmgr8.js +10 -0
  878. package/dist/options-QKP9FFcK.js +8 -0
  879. package/dist/options-SViK_2x2.js +12 -0
  880. package/dist/options-XgfTctbI.js +5 -0
  881. package/dist/options-_9arpsX9.js +11 -0
  882. package/dist/options-eBPsk4WI.js +11 -0
  883. package/dist/options-kLKILdIu.js +10 -0
  884. package/dist/options-n22NK3PL.js +8 -0
  885. package/dist/options-oeAq4Ho5.js +12 -0
  886. package/dist/options-qU8vgxhO.js +18 -0
  887. package/dist/options-vXMBEWSH.js +5 -0
  888. package/dist/options-wFnK3qWl.js +9 -0
  889. package/dist/options-xVAy3UsV.js +9 -0
  890. package/dist/organizations-Cw7om8uk.js +398 -0
  891. package/dist/orpc/index.d.ts +26 -10
  892. package/dist/orpc/index.js +54 -33
  893. package/dist/otel/index.d.ts +3 -3
  894. package/dist/otel/index.js +42 -7
  895. package/dist/outbox-BTeqjbum.d.ts +181 -0
  896. package/dist/overlay/index.d.ts +1 -1
  897. package/dist/overlay/index.js +3 -3
  898. package/dist/payments-h45bswA-.js +16 -0
  899. package/dist/pg-error-BV_X8Isq.js +26 -0
  900. package/dist/plugin-CDLJRFFg.d.ts +190 -0
  901. package/dist/plugins/actor/index.d.ts +1 -1
  902. package/dist/plugins/actor/index.js +1 -1
  903. package/dist/plugins/rules/index.d.ts +2 -2
  904. package/dist/plugins/rules/index.js +2 -2
  905. package/dist/plugins/soft-delete/index.d.ts +3 -3
  906. package/dist/plugins/soft-delete/index.js +4 -4
  907. package/dist/plugins/tenant/index.d.ts +4 -3
  908. package/dist/plugins/tenant/index.js +3 -3
  909. package/dist/plugins/timestamps/index.d.ts +1 -1
  910. package/dist/plugins/timestamps/index.js +1 -1
  911. package/dist/plugins/validation/index.d.ts +2 -2
  912. package/dist/plugins/validation/index.js +3 -3
  913. package/dist/pool-CwOCsX9e.d.ts +114 -0
  914. package/dist/pool-errors-GMjlCN0d.js +27 -0
  915. package/dist/ports-Ca63W4cW.d.ts +285 -0
  916. package/dist/ports-DAdQyjZz.d.ts +86 -0
  917. package/dist/ports-DGK3KTDH.js +133 -0
  918. package/dist/postgres/index.d.ts +28 -6
  919. package/dist/postgres/index.js +54 -23
  920. package/dist/postgrest-Cw9Bs5gm.d.ts +53 -0
  921. package/dist/powersync/index.d.ts +4 -4
  922. package/dist/powersync/index.js +4 -4
  923. package/dist/powersync/react/index.d.ts +8 -3
  924. package/dist/powersync/react/index.js +11 -3
  925. package/dist/preset/index.d.ts +352 -0
  926. package/dist/preset/index.js +564 -0
  927. package/dist/problem-CEjyhV5T.d.ts +76 -0
  928. package/dist/problem-pIiL3WbE.js +159 -0
  929. package/dist/provider-9gBq9W6k.d.ts +113 -0
  930. package/dist/provider-DKh2xFZb.js +57 -0
  931. package/dist/push-token-D6REHMMw.js +16 -0
  932. package/dist/push-token-asrmi7-6.d.ts +24 -0
  933. package/dist/query/index.d.ts +2 -2
  934. package/dist/range-DwpWe8e7.js +7 -0
  935. package/dist/range-p5V4rBhZ.d.ts +8 -0
  936. package/dist/rank-keys-DcPMt_Jk.js +60 -0
  937. package/dist/rank-result-DS8IoLup.js +18 -0
  938. package/dist/rank-result-Dngpt2n5.d.ts +14 -0
  939. package/dist/rate-limit--QSiFA6D.js +325 -0
  940. package/dist/rate-limit-BtbddDnE.js +49 -0
  941. package/dist/rate-limit-C88MEAOm.d.ts +41 -0
  942. package/dist/ratelimit-headers-Bsxx0Tj2.js +62 -0
  943. package/dist/react/index.d.ts +9 -9
  944. package/dist/react/index.js +3 -4
  945. package/dist/react/native/index.d.ts +1 -1
  946. package/dist/react/native/index.js +2 -2
  947. package/dist/react/server.d.ts +10 -10
  948. package/dist/react/server.js +3 -3
  949. package/dist/react/session.d.ts +2 -2
  950. package/dist/react-CKXUkwPx.js +410 -0
  951. package/dist/react-controller-Xn-IU44p.js +40 -0
  952. package/dist/react-env-Cc7Vf6eb.js +13 -0
  953. package/dist/react-router/index.d.ts +6 -6
  954. package/dist/react-router/index.js +7 -7
  955. package/dist/read-set-GEb-i0On.js +314 -0
  956. package/dist/realtime/index.d.ts +8 -4
  957. package/dist/realtime/index.js +5 -327
  958. package/dist/realtime-status-D2dw1hOE.js +12 -0
  959. package/dist/realtime-status-DcsO00Gw.d.ts +8 -0
  960. package/dist/refusal-br4Ma9Cf.js +61 -0
  961. package/dist/refusal-oD3ISM9h.d.ts +18 -0
  962. package/dist/replicas-BvIL4_jL.js +94 -0
  963. package/dist/resolve-CAR9oaKW.js +869 -0
  964. package/dist/resolve-w9EpHzuM.d.ts +266 -0
  965. package/dist/resource-B4ka8dDH.d.ts +106 -0
  966. package/dist/resource-C8r5xGqY.js +463 -0
  967. package/dist/resource-DO4gbVi5.js +91 -0
  968. package/dist/resource-execute-D0yQ-8WR.d.ts +12 -0
  969. package/dist/resource-types-D2vEQVXI.d.ts +141 -0
  970. package/dist/resources-BklF-rjz.d.ts +7 -0
  971. package/dist/resources-BlZdLsWQ.js +64 -0
  972. package/dist/respond-C7I8kLK_.d.ts +93 -0
  973. package/dist/respond-DdhZ9Wbn.js +95 -0
  974. package/dist/result-BlgnMB0H.js +128 -0
  975. package/dist/result-Cj3yWhjH.d.ts +298 -0
  976. package/dist/rrule-zBh3CA1r.js +290 -0
  977. package/dist/rules-B0-3Iosu.js +261 -0
  978. package/dist/run-watch-CQRdpy-f.js +53 -0
  979. package/dist/sales-lines-BAk8In-Z.js +41 -0
  980. package/dist/sales-lines-C6gafAwg.d.ts +28 -0
  981. package/dist/sales-shared-DAAGwQwN.d.ts +8 -0
  982. package/dist/sales-shared-SblIgCgI.js +22 -0
  983. package/dist/scope-DgWjuXUw.js +90 -0
  984. package/dist/search-B6h03cAx.js +106 -0
  985. package/dist/search-BtoWY6n_.js +9 -0
  986. package/dist/server/index.d.ts +157 -51
  987. package/dist/server/index.js +295 -20
  988. package/dist/server-types-OohhIQb2.d.ts +737 -0
  989. package/dist/session-DiWHtYrO.d.ts +95 -0
  990. package/dist/settings-BXFn9zpS.js +90 -0
  991. package/dist/shared-BmMcMoW9.js +89 -0
  992. package/dist/shared-DbO3Dfms.js +14 -0
  993. package/dist/shared-as0EG51f.js +60 -0
  994. package/dist/sign-in-D0xN6E_l.js +360 -0
  995. package/dist/signatures-B41ApWXA.js +145 -0
  996. package/dist/signatures-BMdJ7neI.d.ts +43 -0
  997. package/dist/signers-CXt_wA9S.d.ts +385 -0
  998. package/dist/signing-keys-Bq9mMCTh.d.ts +90 -0
  999. package/dist/solid/index.d.ts +8 -8
  1000. package/dist/solid/index.js +3 -8
  1001. package/dist/solid-controller-DLsmrczT.js +33 -0
  1002. package/dist/solid-controller-DqlvYFZa.d.ts +11 -0
  1003. package/dist/solid-start/index.d.ts +8 -12
  1004. package/dist/solid-start/index.js +8 -7
  1005. package/dist/spec/index.d.ts +25 -5
  1006. package/dist/spec/index.js +37 -4
  1007. package/dist/spec-pins-Dqpml2dZ.d.ts +84 -0
  1008. package/dist/spec-pins-S4PymRxp.js +60 -0
  1009. package/dist/sql/index.d.ts +189 -28
  1010. package/dist/sql/index.js +74328 -26488
  1011. package/dist/sql-DJrXG-3Z.js +422 -0
  1012. package/dist/sso-BDva_-4y.js +217 -0
  1013. package/dist/sso-BN0LnMqE.d.ts +131 -0
  1014. package/dist/ssr/index.d.ts +5 -6
  1015. package/dist/ssr/index.js +4 -4
  1016. package/dist/standard-B5fe2gnW.js +25 -0
  1017. package/dist/standard-C3_AAF3g.d.ts +7 -0
  1018. package/dist/stats-D6vkb89f.js +1128 -0
  1019. package/dist/storage/index.d.ts +3 -3
  1020. package/dist/storage/index.js +14 -10
  1021. package/dist/storage-api-Cx-1iWBd.d.ts +582 -0
  1022. package/dist/store-B5qYKsTh.d.ts +68 -0
  1023. package/dist/streams/index.d.ts +4 -4
  1024. package/dist/streams/index.js +4 -4
  1025. package/dist/streams/redis/index.d.ts +1 -1
  1026. package/dist/streams/redis/index.js +4 -4
  1027. package/dist/stripe/index.d.ts +16 -0
  1028. package/dist/stripe/index.js +14 -0
  1029. package/dist/stripe-NVcNOhHy.d.ts +140 -0
  1030. package/dist/stripe-XZrSmDTf.js +32 -0
  1031. package/dist/subject-readers-DiePmaYP.js +46 -0
  1032. package/dist/subject-readers-fxP5wu0s.d.ts +21 -0
  1033. package/dist/subjects-z8VWA_lF.d.ts +69 -0
  1034. package/dist/subscribers-Cq--DL1E.js +34 -0
  1035. package/dist/supabase-mcp-DomZ-amK.js +28 -0
  1036. package/dist/support-BsKkvA92.js +522 -0
  1037. package/dist/support-view-BbcZR7Io.d.ts +17 -0
  1038. package/dist/svelte/index.d.ts +7 -7
  1039. package/dist/svelte/index.js +2 -2
  1040. package/dist/svelte-controller-CDAujo-_.js +50 -0
  1041. package/dist/svelte-controller-DxxHEHxD.d.ts +10 -0
  1042. package/dist/sveltekit/index.d.ts +11 -13
  1043. package/dist/sveltekit/index.js +9 -9
  1044. package/dist/table-schema-pQlER3jj.js +283 -0
  1045. package/dist/tags-Dw8vKkcI.d.ts +30 -0
  1046. package/dist/tags-PaG0Ns_9.js +84 -0
  1047. package/dist/tanstack-db/index.d.ts +2 -2
  1048. package/dist/tanstack-db/index.js +1 -1
  1049. package/dist/tanstack-db/supabase/index.d.ts +5 -6
  1050. package/dist/tanstack-db/supabase/index.js +180 -9
  1051. package/dist/tanstack-start/index.d.ts +7 -7
  1052. package/dist/tanstack-start/index.js +6 -6
  1053. package/dist/tax-DDZUB_oc.d.ts +273 -0
  1054. package/dist/tax-D_kSCdWU.js +140 -0
  1055. package/dist/tee-Bsisfd7t.js +101 -0
  1056. package/dist/template-DdgYjIZ5.js +123 -0
  1057. package/dist/temporal-CB5Fpo5d.js +79 -0
  1058. package/dist/temporal-required-DqRzr7i0.js +20 -0
  1059. package/dist/tenant-B-fiItlJ.js +27 -0
  1060. package/dist/tenant-DdmVhsff.d.ts +17 -0
  1061. package/dist/tenant-naming-Bsj3Uvap.js +27 -0
  1062. package/dist/testing/index.d.ts +235 -32
  1063. package/dist/testing/index.js +1132 -32
  1064. package/dist/timing-BMCWgpdZ.js +92 -0
  1065. package/dist/topic-ByDz9edV.js +542 -0
  1066. package/dist/topic-cMS7UtM1.d.ts +359 -0
  1067. package/dist/types-6oiy6rIa.d.ts +205 -0
  1068. package/dist/types-CdP0z5tS.d.ts +564 -0
  1069. package/dist/types-D0W4fnsc.d.ts +162 -0
  1070. package/dist/types-R6syp1el.js +29 -0
  1071. package/dist/types-YfwpIE-d.d.ts +357 -0
  1072. package/dist/types-pNY_UpDs.d.ts +240 -0
  1073. package/dist/types-vaoP9S9_.d.ts +635 -0
  1074. package/dist/undo-CEGIRkPA.js +44 -0
  1075. package/dist/undo-DGo0skyO.d.ts +43 -0
  1076. package/dist/usage-CdlfuS3i.js +250 -0
  1077. package/dist/usage-DM2rzczj.d.ts +202 -0
  1078. package/dist/vault-tOkPLnMB.d.ts +50 -0
  1079. package/dist/vercel-connect/index.d.ts +1 -1
  1080. package/dist/vercel-connect/index.js +4 -4
  1081. package/dist/verify-D63A2ALE.d.ts +142 -0
  1082. package/dist/verify-EQcC3Khp.js +126 -0
  1083. package/dist/version-D87ZteKy.js +4 -0
  1084. package/dist/view-DZ63nqwt.js +105 -0
  1085. package/dist/view-Dv0A949a.d.ts +90 -0
  1086. package/dist/vue/index.d.ts +8 -8
  1087. package/dist/vue/index.js +3 -16
  1088. package/dist/vue-controller-C9tFzqAc.js +32 -0
  1089. package/dist/vue-controller-HPfMTDa2.d.ts +11 -0
  1090. package/dist/watch-DDuWYv0Y.d.ts +84 -0
  1091. package/dist/watch-DT_B3CnJ.js +139 -0
  1092. package/dist/watch-topic-EFpOIIDE.d.ts +28 -0
  1093. package/dist/watch-topic-miuymrli.js +57 -0
  1094. package/dist/wire-DEY0ajW9.js +45 -0
  1095. package/dist/workflow-builder-OrglbXUh.js +681 -0
  1096. package/dist/workflow-sdk/builder/index.d.ts +46 -15
  1097. package/dist/workflow-sdk/builder/index.js +69 -21
  1098. package/dist/workflow-sdk/index.d.ts +75 -2
  1099. package/dist/workflow-sdk/index.js +83 -3
  1100. package/dist/workflow-sdk/world/index.d.ts +29 -4
  1101. package/dist/workflow-sdk/world/index.js +137 -59
  1102. package/dist/workflow-sdk-BZ6qsRlY.js +243 -0
  1103. package/dist/workflow-sdk-q8cLwW1K.d.ts +161 -0
  1104. package/dist/workflow-sdk-world-DPMdBfzn.js +2103 -0
  1105. package/dist/workflows-C-OvZpeg.js +282 -0
  1106. package/dist/workflows-DFQeXDAI.d.ts +243 -0
  1107. package/dist/yjs/index.d.ts +67 -0
  1108. package/dist/yjs/index.js +212 -0
  1109. package/package.json +788 -46
  1110. package/schemas/cli-commands-v1.json +220 -0
  1111. package/schemas/cli-result-v1.json +138 -0
  1112. package/schemas/config-v1.json +4147 -726
  1113. package/schemas/doctor-report-v1.json +23 -0
  1114. package/schemas/snapshot-v2.json +271 -0
  1115. package/skills/better-supabase/SKILL.md +11 -4
  1116. package/skills/better-supabase/references/plugins.md +2 -2
  1117. package/skills/better-supabase/references/ui-recipes.md +18652 -0
  1118. package/skills/better-supabase-api/SKILL.md +14 -14
  1119. package/skills/better-supabase-api/references/adapters.md +12 -2
  1120. package/skills/better-supabase-api/references/ai.md +4 -4
  1121. package/skills/better-supabase-api/references/expo.md +1 -1
  1122. package/skills/better-supabase-api/references/powersync.md +1 -1
  1123. package/skills/better-supabase-api/references/streams-credentials.md +8 -5
  1124. package/skills/better-supabase-auth/SKILL.md +18 -11
  1125. package/skills/better-supabase-auth/references/authorization-providers.md +5 -5
  1126. package/skills/better-supabase-testing/SKILL.md +2 -2
  1127. package/testing/act-cases.json +370 -0
  1128. package/dist/access-sql-CrSbK1q-.js +0 -181
  1129. package/dist/actor-CQTlc1Hh.d.ts +0 -43
  1130. package/dist/adapter-CN45ibbV.js +0 -1691
  1131. package/dist/agents-BY_LQXtQ.d.ts +0 -94
  1132. package/dist/ai-cache-Dfgk8nBT.js +0 -81
  1133. package/dist/ai-cache-DrUMMgp6.d.ts +0 -64
  1134. package/dist/ai-chat-CVLRWbtS.js +0 -744
  1135. package/dist/ai-chat-DXkMy74O.d.ts +0 -590
  1136. package/dist/ai-files-CioLu5du.js +0 -320
  1137. package/dist/ai-tasks-BRQ6iQLc.d.ts +0 -131
  1138. package/dist/announcements-Bouy0Ski.d.ts +0 -72
  1139. package/dist/announcements-p_BFofiR.js +0 -107
  1140. package/dist/api-Dnf2q-Ht.d.ts +0 -370
  1141. package/dist/api-DtHFC037.js +0 -676
  1142. package/dist/api-keys-C8BlF3L2.d.ts +0 -156
  1143. package/dist/assistant-DBlFDZsi.d.ts +0 -147
  1144. package/dist/attributes-5dYul0u0.js +0 -13
  1145. package/dist/authorization-BFCqamMs.d.ts +0 -172
  1146. package/dist/authorizer-ayxUDXXP.js +0 -126
  1147. package/dist/base64-D2gsioCY.js +0 -42
  1148. package/dist/before-route-CnR0C0Jr.js +0 -30
  1149. package/dist/bind-ButSzrHe.js +0 -97
  1150. package/dist/bind-CQ5mPyX1.d.ts +0 -62
  1151. package/dist/block-events-DTxU5tfr.js +0 -91
  1152. package/dist/block-fields-CroxUuF2.js +0 -49
  1153. package/dist/block-fields-D1pfrcIY.d.ts +0 -31
  1154. package/dist/block-helpers-C0Xj8War.d.ts +0 -37
  1155. package/dist/block-helpers-Cy3pB96I.js +0 -222
  1156. package/dist/block-hooks-BPNMIlLl.js +0 -114
  1157. package/dist/block-hooks-DaOVC7SC.d.ts +0 -107
  1158. package/dist/block-transport-bAKh-dGc.js +0 -85
  1159. package/dist/block-transport-inD4fFq-.d.ts +0 -70
  1160. package/dist/build-hPwk3_X5.js +0 -1296
  1161. package/dist/build-meLuYGri.js +0 -689
  1162. package/dist/channel-_2Mx1Oyu.d.ts +0 -70
  1163. package/dist/channels-CkgQ_X60.js +0 -114
  1164. package/dist/cli/add-1dc5wM5k.js +0 -69
  1165. package/dist/cli/bin.d.ts +0 -1
  1166. package/dist/cli/cache-CIfA-jBV.js +0 -483
  1167. package/dist/cli/codemod-JVlTQQG2.js +0 -491
  1168. package/dist/cli/command-DV-StG1x.js +0 -507
  1169. package/dist/cli/config-C2Pz2_4A.js +0 -52
  1170. package/dist/cli/config-DpbF8ML3.js +0 -2
  1171. package/dist/cli/config-M-WzL9O2.js +0 -1175
  1172. package/dist/cli/db-BkcfOlyB.js +0 -53
  1173. package/dist/cli/diff-D1jGdb3Y.js +0 -752
  1174. package/dist/cli/dist-DBPdlPYK.js +0 -1112
  1175. package/dist/cli/dist-DRAVaE6w.js +0 -842
  1176. package/dist/cli/dist-DreZ24Sz.js +0 -129
  1177. package/dist/cli/doctor-VcDtuusV.js +0 -3686
  1178. package/dist/cli/emit-BHHfwUoT.js +0 -1136
  1179. package/dist/cli/env-B--LMhEe.js +0 -514
  1180. package/dist/cli/env-vzBG90Um.js +0 -2
  1181. package/dist/cli/env-zHJtMIBo.js +0 -116
  1182. package/dist/cli/errors-CqTLXe2M.js +0 -72
  1183. package/dist/cli/fastest-levenshtein-CF7BCi9l.js +0 -120
  1184. package/dist/cli/files-BVupXPIC.js +0 -34
  1185. package/dist/cli/gen-DmVj3u4L.js +0 -322
  1186. package/dist/cli/glue-C1UE8gQN.js +0 -468
  1187. package/dist/cli/init-CVZ3s5kl.js +0 -258
  1188. package/dist/cli/introspect-BToGNfm-.js +0 -81
  1189. package/dist/cli/io-CFzJVJ68.js +0 -37
  1190. package/dist/cli/jsonc-BUniUpOk.js +0 -2
  1191. package/dist/cli/keys-CJhtIxJ3.js +0 -85
  1192. package/dist/cli/metadata-DSRKCaf-.js +0 -133
  1193. package/dist/cli/openapi-DWa4Ir1q.js +0 -60
  1194. package/dist/cli/project-DZRaBaY7.js +0 -75
  1195. package/dist/cli/prompts-BdeVmVpg.js +0 -2
  1196. package/dist/cli/prompts-DZJB1nTw.js +0 -1142
  1197. package/dist/cli/read-sets-DjJrm8Wj.js +0 -223
  1198. package/dist/cli/rolldown-runtime-CMFfr-1z.js +0 -26
  1199. package/dist/cli/run-DA6_lg3w.js +0 -389
  1200. package/dist/cli/run-DuN1MX-7.js +0 -705
  1201. package/dist/cli/scaffold-5DenHSxF.js +0 -292
  1202. package/dist/cli/scaffold-CwQUMFRb.js +0 -2
  1203. package/dist/cli/seed-CzBmrGON.js +0 -96
  1204. package/dist/cli/seed-DOmit9Hq.js +0 -2
  1205. package/dist/cli/skills-CnO8QFS7.js +0 -139
  1206. package/dist/cli/snapshot-Bstk6ulj.js +0 -287
  1207. package/dist/cli/source-args-BYfq6imV.js +0 -31
  1208. package/dist/cli/spec-CzosTYm3.js +0 -7438
  1209. package/dist/cli/spec-T_0Bcyw7.js +0 -2
  1210. package/dist/cli/sql-BKOOQAX3.js +0 -517
  1211. package/dist/cli/sql-DJrNDxQm.js +0 -3
  1212. package/dist/cli/sql-layout-D6cphHT3.js +0 -69
  1213. package/dist/cli/style-CB3vxgh0.js +0 -29
  1214. package/dist/cli/supabase-toml-B-bIukQF.js +0 -1095
  1215. package/dist/cli/typegen-Demi5-VQ.js +0 -486
  1216. package/dist/cli/typegen-version-DeFbtzYI.js +0 -8
  1217. package/dist/cli/validate-Ca13ktgz.js +0 -7522
  1218. package/dist/cli/version-B4k0aUxS.js +0 -4
  1219. package/dist/client-wxeTQFtB.js +0 -310
  1220. package/dist/cloud-event-Dune0KI7.d.ts +0 -64
  1221. package/dist/compiler-V1qvcST1.d.ts +0 -14
  1222. package/dist/compose-BHej1acw.js +0 -53
  1223. package/dist/composite-CWAJTRBF.d.ts +0 -146
  1224. package/dist/composite-zTe0TCqj.js +0 -130
  1225. package/dist/config-DlKvtt95.js +0 -540
  1226. package/dist/connector-CySQEFcW.d.ts +0 -107
  1227. package/dist/connectors--PGhmiu0.d.ts +0 -120
  1228. package/dist/context-DsV2SueA.d.ts +0 -246
  1229. package/dist/context-nPDvQ-Zl.js +0 -41
  1230. package/dist/cron-D25Ukpxy.js +0 -145
  1231. package/dist/cron-route-D2AN9SA1.js +0 -24
  1232. package/dist/csv-BZnHA1Py.js +0 -25
  1233. package/dist/define-CFQcvM20.js +0 -1949
  1234. package/dist/define-DmcfoNXB.d.ts +0 -1005
  1235. package/dist/embeddings-4ZvFzjsU.js +0 -127
  1236. package/dist/embeddings-B4vhS-dY.d.ts +0 -68
  1237. package/dist/ended-CcvcRqEd.d.ts +0 -69
  1238. package/dist/entitlements-BYFf0Cdh.js +0 -24
  1239. package/dist/entitlements-Ds8qoYZ-.d.ts +0 -51
  1240. package/dist/envelope-DqnYGRw7.js +0 -47
  1241. package/dist/errors-2M6CKMP4.js +0 -271
  1242. package/dist/errors-rZ7VIqp6.js +0 -44
  1243. package/dist/escape-like-DDWoHzh_.d.ts +0 -15
  1244. package/dist/eve-CoAIcCkq.d.ts +0 -151
  1245. package/dist/events-D1BOCll8.d.ts +0 -551
  1246. package/dist/executor-B-fD7DLt.js +0 -735
  1247. package/dist/executor-B_Hfobee.js +0 -162
  1248. package/dist/executor-C-R4pucm.js +0 -83
  1249. package/dist/executor-CpxLPCiz.d.ts +0 -36
  1250. package/dist/executor-DfEtf0cq.d.ts +0 -164
  1251. package/dist/executor-Drzu3dBK.d.ts +0 -261
  1252. package/dist/executor-ngjKL_Pe.d.ts +0 -30
  1253. package/dist/field-errors-DIe9XYWL.d.ts +0 -109
  1254. package/dist/format-DTXdu8ya.d.ts +0 -70
  1255. package/dist/framework-148t1m3C.d.ts +0 -25
  1256. package/dist/framework-3ey3QmrO.js +0 -51
  1257. package/dist/function-contract-BcZenXMO.d.ts +0 -8
  1258. package/dist/gateway-S9vicgeo.d.ts +0 -130
  1259. package/dist/graph-BGyLLFLX.js +0 -265
  1260. package/dist/hooks-Bhza9Hnr.js +0 -277
  1261. package/dist/http-sbmBe5d2.js +0 -25
  1262. package/dist/impersonation-DcqaTBHx.js +0 -148
  1263. package/dist/inbox-Cd1KCEBL.d.ts +0 -384
  1264. package/dist/index-B72Rvv_j.d.ts +0 -89
  1265. package/dist/index-BCHR4Ucl.d.ts +0 -300
  1266. package/dist/index-BUK7jUzR.d.ts +0 -82
  1267. package/dist/index-Ba1SI-uO.d.ts +0 -1331
  1268. package/dist/index-BfxOaOYs.d.ts +0 -245
  1269. package/dist/index-CicIyqOe.d.ts +0 -55
  1270. package/dist/index-D69h4QqD.d.ts +0 -74
  1271. package/dist/index-DG2SUXDQ.d.ts +0 -58
  1272. package/dist/index-DoNVLHOU.d.ts +0 -206
  1273. package/dist/index-R274XFlg.d.ts +0 -138
  1274. package/dist/index-_4R4b01v.d.ts +0 -257
  1275. package/dist/json-schema-CT4tvrkA.js +0 -548
  1276. package/dist/kit-BhHr9T9v.js +0 -104
  1277. package/dist/kit-W99LCPBS.d.ts +0 -66
  1278. package/dist/knowledge-CAReFpRA.d.ts +0 -176
  1279. package/dist/knowledge-DnHtb64A.js +0 -256
  1280. package/dist/list-query-D3JQeEL7.d.ts +0 -164
  1281. package/dist/list-query-gl808ac1.js +0 -459
  1282. package/dist/live-CTAZQkwl.js +0 -257
  1283. package/dist/messages-CJoHHCWT.js +0 -514
  1284. package/dist/mfa-SZc9YYyb.d.ts +0 -54
  1285. package/dist/model-OgBxvk3N.d.ts +0 -300
  1286. package/dist/model-messages-Cxw_Up4f.js +0 -206
  1287. package/dist/modules-DksjZyMW.js +0 -77
  1288. package/dist/modules-DpPwzC7E.d.ts +0 -192
  1289. package/dist/onboarding-LZvlK1P4.d.ts +0 -62
  1290. package/dist/optional-peer-D1pi-skw.js +0 -24
  1291. package/dist/outbox-DZfAvfzC.d.ts +0 -161
  1292. package/dist/plugin-CPK2HsbY.d.ts +0 -190
  1293. package/dist/pool-gkhbGp2E.d.ts +0 -89
  1294. package/dist/postgrest-BUqLag2Q.d.ts +0 -53
  1295. package/dist/problem-CJvFeGu7.js +0 -126
  1296. package/dist/problem-TvGdxO1t.d.ts +0 -73
  1297. package/dist/provider-DxRTex4x.js +0 -57
  1298. package/dist/provider-ib9wzUDz.d.ts +0 -113
  1299. package/dist/rate-limit-Bw7HgmFj.js +0 -260
  1300. package/dist/react-Bmpo59D7.js +0 -409
  1301. package/dist/react-topic-seAWjL3_.js +0 -38
  1302. package/dist/read-set-DAeWhqPf.js +0 -314
  1303. package/dist/refusal-CFI8-5nf.d.ts +0 -18
  1304. package/dist/refusal-K78A1Vmq.js +0 -61
  1305. package/dist/replicas-CwrYp5Zj.js +0 -94
  1306. package/dist/resolve-Bvgf3ut_.js +0 -786
  1307. package/dist/resolve-MxXVWyhd.d.ts +0 -173
  1308. package/dist/resource--vTrBe6I.d.ts +0 -103
  1309. package/dist/resource-BqNqlYg9.js +0 -91
  1310. package/dist/resource-DA811u_4.js +0 -463
  1311. package/dist/resource-execute-rbKvuCsY.d.ts +0 -12
  1312. package/dist/resource-types-CqB6GWGT.d.ts +0 -141
  1313. package/dist/resources-BVYPnuLo.js +0 -56
  1314. package/dist/resources-DZSk8tXJ.d.ts +0 -7
  1315. package/dist/respond-Cw-zanCm.d.ts +0 -93
  1316. package/dist/respond-volM3ByS.js +0 -91
  1317. package/dist/result-BchM1XZn.d.ts +0 -288
  1318. package/dist/result-DEqHCMKP.js +0 -128
  1319. package/dist/scope-CDHcS7dE.js +0 -90
  1320. package/dist/search-CUWCRYKL.js +0 -9
  1321. package/dist/server-types-CrAmZ8jv.d.ts +0 -614
  1322. package/dist/session-ChiXDZdZ.d.ts +0 -72
  1323. package/dist/shared-CBxosKK3.js +0 -75
  1324. package/dist/shared-DHjhfRdV.js +0 -60
  1325. package/dist/shared-DTneRoxi.js +0 -14
  1326. package/dist/sign-in-D_yoP0PF.js +0 -86
  1327. package/dist/signatures-BRS_p3WD.d.ts +0 -34
  1328. package/dist/signatures-DsWv_bYR.js +0 -103
  1329. package/dist/signers-cpdmZYrv.d.ts +0 -166
  1330. package/dist/spec-pins-CwzDY25w.d.ts +0 -44
  1331. package/dist/spec-pins-DsLfUH7l.js +0 -40
  1332. package/dist/sql-CwuqaQ4Y.js +0 -388
  1333. package/dist/standard-DkzZUneg.js +0 -25
  1334. package/dist/standard-lmkbOtPB.d.ts +0 -7
  1335. package/dist/stats-DhU78Ctf.js +0 -1127
  1336. package/dist/storage-api-CB7Zl1Ci.d.ts +0 -582
  1337. package/dist/store-DsIYEBnv.d.ts +0 -68
  1338. package/dist/stripe-D04h-QBT.d.ts +0 -136
  1339. package/dist/stripe-v-Y2lmop.js +0 -32
  1340. package/dist/supabase-mcp-Cpn5A4i-.js +0 -28
  1341. package/dist/support-D1pFFouF.js +0 -350
  1342. package/dist/support-view-scqMgtOo.d.ts +0 -17
  1343. package/dist/table-schema-htM_SbCW.js +0 -286
  1344. package/dist/tags-BO9LjtWG.d.ts +0 -30
  1345. package/dist/tee-Cb98Vn3b.js +0 -101
  1346. package/dist/template-lPVh-EwW.js +0 -123
  1347. package/dist/temporal-BJGitm-h.js +0 -79
  1348. package/dist/temporal-required-BtynQtM-.js +0 -20
  1349. package/dist/tenant-CM368LXb.d.ts +0 -17
  1350. package/dist/tenant-I1TEZ_BX.js +0 -27
  1351. package/dist/timing-CyTQPubY.js +0 -92
  1352. package/dist/types-6cYK9pbJ.js +0 -29
  1353. package/dist/types-Bb_4-vdW.d.ts +0 -220
  1354. package/dist/types-CD6yCDx3.d.ts +0 -359
  1355. package/dist/types-CbOUc5IH.d.ts +0 -156
  1356. package/dist/types-CoE5Zwy4.d.ts +0 -348
  1357. package/dist/types-DSJ3-m9X.d.ts +0 -192
  1358. package/dist/types-D__3EN0q.d.ts +0 -425
  1359. package/dist/usage-D0NNUFfr.d.ts +0 -177
  1360. package/dist/vault-BpmApxxW.d.ts +0 -50
  1361. package/dist/verify-C91Wyp40.d.ts +0 -142
  1362. package/dist/verify-CJbYfADA.js +0 -124
  1363. package/dist/version-Cq8gfDbd.js +0 -4
  1364. package/dist/view-D5ryq3gz.js +0 -99
  1365. package/dist/view-TpXEUcVN.d.ts +0 -87
  1366. package/dist/watch-BcvtAHOd.js +0 -122
  1367. package/dist/watch-COzRWvVN.d.ts +0 -74
  1368. package/dist/wire-Df3EWkG8.js +0 -45
  1369. package/dist/workflow-builder-CHqHpAVt.js +0 -399
  1370. package/dist/workflow-sdk-C2WJ_G2O.js +0 -173
  1371. package/dist/workflow-sdk-DTZyrvNo.d.ts +0 -98
  1372. package/dist/workflow-sdk-world-CMV1ahFW.js +0 -1399
  1373. package/dist/workflows-CcpCBfIe.d.ts +0 -185
  1374. package/dist/workflows-IvxzG2cl.js +0 -217
@@ -1,22 +1,26 @@
1
1
  import { t as DbException } from "../db-exception-CnWcYPxL.js";
2
- import { n as dbError } from "../errors-2M6CKMP4.js";
3
- import { d as temporalText } from "../temporal-BJGitm-h.js";
4
- import { t as temporal } from "../temporal-required-BtynQtM-.js";
5
- import { a as ok } from "../result-DEqHCMKP.js";
6
- import { t as BetterSupabase } from "../define-CFQcvM20.js";
2
+ import { n as dbError } from "../errors-8i6tSICm.js";
3
+ import { d as temporalText } from "../temporal-CB5Fpo5d.js";
4
+ import { t as temporal } from "../temporal-required-DqRzr7i0.js";
5
+ import { a as ok } from "../result-BlgnMB0H.js";
6
+ import { t as BetterSupabase } from "../define-B2ln373W.js";
7
7
  import { t as isList } from "../guards-6F2bCtQR.js";
8
- import { a as toBase64Url, r as fromBase64, t as base64ToText } from "../base64-D2gsioCY.js";
9
- import { o as resolveConfig } from "../config-DlKvtt95.js";
8
+ import { a as toBase64Url, r as fromBase64, t as base64ToText } from "../base64-BmeCBgGo.js";
9
+ import { o as resolveConfig } from "../config-BA1K4OPk.js";
10
10
  import { ENV_VARIABLES } from "../env/index.js";
11
- import { n as postgresExecutor } from "../executor-B_Hfobee.js";
12
- import "../replicas-CwrYp5Zj.js";
13
- import { a as tenantCredentialRef } from "../provider-DxRTex4x.js";
14
- import { i as requestOf, n as checkPermission, r as defineAuthorizer } from "../authorizer-ayxUDXXP.js";
15
- import { n as parseDbStats } from "../timing-CyTQPubY.js";
16
- import { n as rawError } from "../block-transport-bAKh-dGc.js";
17
- import { a as isScopeName, c as templateFunctions, l as templatePlaceholders, n as TEMPLATE_PLACEHOLDERS, s as scopeProblems, u as templateProblems } from "../access-sql-CrSbK1q-.js";
11
+ import { t as defineController } from "../controller-D6NyNrlZ.js";
12
+ import "../replicas-BvIL4_jL.js";
13
+ import { a as tenantCredentialRef } from "../provider-DKh2xFZb.js";
14
+ import { n as rawError } from "../block-transport-G4t1umrR.js";
15
+ import { t as postgresExecutor } from "../executor-D1kYY5BA.js";
16
+ import { i as requestOf, n as checkPermission, r as defineAuthorizer } from "../authorizer-DH7DjkL3.js";
17
+ import { n as parseDbStats } from "../timing-BMCWgpdZ.js";
18
+ import { t as mailHeaders } from "../delivery-B1mKaOen.js";
18
19
  import { toCloudEvents } from "../events/index.js";
19
- import { t as buildApiModel } from "../build-hPwk3_X5.js";
20
+ import { d as money, l as isRate } from "../money-95Rff2vT.js";
21
+ import { t as SHIPPING_LINE } from "../tax-D_kSCdWU.js";
22
+ import { a as isScopeName, c as templateFunctions, l as templatePlaceholders, n as TEMPLATE_PLACEHOLDERS, s as scopeProblems, u as templateProblems } from "../access-sql-DUSSMaC3.js";
23
+ import { t as buildApiModel } from "../build-Cm0T5MVG.js";
20
24
  import { timestamps } from "../plugins/timestamps/index.js";
21
25
  import { softDelete } from "../plugins/soft-delete/index.js";
22
26
  import { tenant } from "../plugins/tenant/index.js";
@@ -151,11 +155,11 @@ async function findSigningKeys(from) {
151
155
  const supabase = join(dir, "supabase");
152
156
  const toml = join(supabase, "config.toml");
153
157
  if (existsSync(toml)) {
154
- const configured = SIGNING_KEYS_PATH.exec(await readFile(toml, "utf8"))?.[1];
158
+ const configured = SIGNING_KEYS_PATH.exec(await readFile(toml, "utf-8"))?.[1];
155
159
  const path = resolve(supabase, configured ?? "signing_keys.json");
156
160
  if (existsSync(path)) return path;
157
161
  }
158
- if (dirname(dir) === dir) return void 0;
162
+ if (dirname(dir) === dir) return;
159
163
  }
160
164
  }
161
165
  const isSigningKey = (value) => typeof value === "object" && value !== null && "kid" in value && typeof value.kid === "string" && "d" in value && typeof value.d === "string";
@@ -167,7 +171,7 @@ const isSigningKey = (value) => typeof value === "object" && value !== null && "
167
171
  async function localSigningKey(path) {
168
172
  const file = path ?? process.env["SUPABASE_SIGNING_KEYS_PATH"] ?? await findSigningKeys(process.cwd());
169
173
  if (!file || !existsSync(file)) throw new TypeError("No local signing key. Run `better-supabase keys`, set `signing_keys_path` in supabase/config.toml and restart the stack, or pass { alg: \"HS256\" } to sign with the local JWT secret.");
170
- const keys = JSON.parse(await readFile(file, "utf8"));
174
+ const keys = JSON.parse(await readFile(file, "utf-8"));
171
175
  const first = Array.isArray(keys) ? keys[0] : void 0;
172
176
  if (!isSigningKey(first)) throw new TypeError(`${file} has no private ES256 key first.`);
173
177
  return first;
@@ -181,7 +185,7 @@ async function signLocalJwt(claims, path) {
181
185
  /** The local CLI stack's default JWT secret. */
182
186
  const LOCAL_JWT_SECRET = "super-secret-jwt-token-with-at-least-32-characters-long";
183
187
  function env$1(...names) {
184
- if (typeof process === "undefined") return void 0;
188
+ if (typeof process === "undefined") return;
185
189
  for (const name of names) {
186
190
  const value = process.env[name];
187
191
  if (value) return value;
@@ -601,7 +605,7 @@ async function rowsOf(outcome) {
601
605
  return Array.isArray(result.data) ? result.data : [result.data];
602
606
  }
603
607
  function env(names) {
604
- if (typeof process === "undefined") return void 0;
608
+ if (typeof process === "undefined") return;
605
609
  for (const name of names) {
606
610
  const value = process.env[name];
607
611
  if (value) return value;
@@ -718,11 +722,27 @@ const chain = {
718
722
  sub: "agent-runner",
719
723
  act: { sub: "mcp-client-42" }
720
724
  };
725
+ const agentAct = {
726
+ kind: "agent",
727
+ sub: "agent-7",
728
+ tools: ["search_knowledge"],
729
+ act: chain
730
+ };
731
+ const agentActReadOnly = {
732
+ kind: "agent",
733
+ sub: "agent-7",
734
+ tools: ["search_knowledge"],
735
+ read_only: true,
736
+ act: chain
737
+ };
721
738
  /**
722
739
  * `supportSession` and `supportSessionReadOnly` are what `supportClaims`
723
740
  * mints (`act.kind: "support"`), `impersonation` what `actingAs` mints
724
- * (`act.kind: "impersonation"`), `oauthClient` a Supabase OAuth server token
725
- * and `agentChain` an RFC 8693 chain without `kind`.
741
+ * (`act.kind: "impersonation"`), `oauthClient` a Supabase OAuth server
742
+ * token (its identity scopes `openid` and `email` are left out of the
743
+ * delegation), `agentChain` an RFC 8693 chain without `kind`, and
744
+ * `agentRun` and `agentRunReadOnly` what `agentClaims` mints over that
745
+ * chain (`act.kind: "agent"`, with `readOnly: true` for the second).
726
746
  */
727
747
  const supabaseClaimFixtures = {
728
748
  supportSession: {
@@ -814,11 +834,7 @@ const supabaseClaimFixtures = {
814
834
  kind: "oauth-client",
815
835
  id: client
816
836
  },
817
- delegation: { scopes: [
818
- "openid",
819
- "email",
820
- "posts:read"
821
- ] }
837
+ delegation: { scopes: ["posts:read"] }
822
838
  }
823
839
  },
824
840
  agentChain: {
@@ -838,6 +854,149 @@ const supabaseClaimFixtures = {
838
854
  chain
839
855
  }
840
856
  }
857
+ },
858
+ agentRun: {
859
+ claims: {
860
+ ...base,
861
+ scope: "posts:read",
862
+ act: agentAct
863
+ },
864
+ expect: {
865
+ actor: {
866
+ kind: "agent",
867
+ id: "agent-7",
868
+ tools: ["search_knowledge"],
869
+ readOnly: false,
870
+ chain: agentAct
871
+ },
872
+ delegation: {
873
+ scopes: ["posts:read"],
874
+ chain: agentAct
875
+ }
876
+ }
877
+ },
878
+ agentRunReadOnly: {
879
+ claims: {
880
+ ...base,
881
+ scope: "posts:read",
882
+ act: agentActReadOnly
883
+ },
884
+ expect: {
885
+ actor: {
886
+ kind: "agent",
887
+ id: "agent-7",
888
+ tools: ["search_knowledge"],
889
+ readOnly: true,
890
+ chain: agentActReadOnly
891
+ },
892
+ delegation: {
893
+ scopes: ["posts:read"],
894
+ chain: agentActReadOnly
895
+ }
896
+ }
897
+ }
898
+ };
899
+ const refused = {
900
+ kind: "invalid",
901
+ reason: "actor",
902
+ code: "ACTOR_INVALID"
903
+ };
904
+ /**
905
+ * `legacySupportSession` is a 0.5.0 support token: `session_id` without
906
+ * `kind`. better-supabase refuses it instead of reading it as a support
907
+ * session; mint a new one with `supportClaims`. The others are malformed
908
+ * levels: a support or agent `read_only` that is not a boolean, an agent
909
+ * with a `session_id`, an empty tool name or `tools` that is not a list, a
910
+ * `kind` better-supabase does not know, and a nested level without `sub`.
911
+ */
912
+ const supabaseInvalidClaimFixtures = {
913
+ legacySupportSession: {
914
+ claims: {
915
+ ...base,
916
+ act: {
917
+ sub: admin,
918
+ session_id: supportSessionId,
919
+ reason: "ticket 42"
920
+ }
921
+ },
922
+ expect: refused
923
+ },
924
+ supportReadOnlyNotBoolean: {
925
+ claims: {
926
+ ...base,
927
+ act: {
928
+ kind: "support",
929
+ sub: admin,
930
+ session_id: supportSessionId,
931
+ read_only: "false"
932
+ }
933
+ },
934
+ expect: refused
935
+ },
936
+ agentWithSessionId: {
937
+ claims: {
938
+ ...base,
939
+ act: {
940
+ kind: "agent",
941
+ sub: "agent-7",
942
+ session_id: supportSessionId
943
+ }
944
+ },
945
+ expect: refused
946
+ },
947
+ agentEmptyToolName: {
948
+ claims: {
949
+ ...base,
950
+ act: {
951
+ kind: "agent",
952
+ sub: "agent-7",
953
+ tools: ["search_knowledge", ""]
954
+ }
955
+ },
956
+ expect: refused
957
+ },
958
+ agentToolsNotArray: {
959
+ claims: {
960
+ ...base,
961
+ act: {
962
+ kind: "agent",
963
+ sub: "agent-7",
964
+ tools: "search_knowledge"
965
+ }
966
+ },
967
+ expect: refused
968
+ },
969
+ agentReadOnlyNotBoolean: {
970
+ claims: {
971
+ ...base,
972
+ act: {
973
+ kind: "agent",
974
+ sub: "agent-7",
975
+ read_only: "true"
976
+ }
977
+ },
978
+ expect: refused
979
+ },
980
+ unknownKind: {
981
+ claims: {
982
+ ...base,
983
+ act: {
984
+ kind: "delegate",
985
+ sub: "agent-7"
986
+ }
987
+ },
988
+ expect: refused
989
+ },
990
+ levelWithoutSub: {
991
+ claims: {
992
+ ...base,
993
+ act: {
994
+ kind: "agent",
995
+ sub: "agent-7",
996
+ act: { client_id: client }
997
+ }
998
+ },
999
+ expect: refused
841
1000
  }
842
1001
  };
843
1002
  //#endregion
@@ -892,7 +1051,7 @@ function order(meta, keys) {
892
1051
  }
893
1052
  function statement(table, rows) {
894
1053
  const entries = Object.entries(rows);
895
- if (entries.length === 0) return void 0;
1054
+ if (entries.length === 0) return;
896
1055
  const columns = [];
897
1056
  for (const [, row] of entries) for (const [key, value] of Object.entries(row)) {
898
1057
  if (value === void 0 || columns.includes(key)) continue;
@@ -1220,6 +1379,319 @@ function testEventSink(sink, options = {}) {
1220
1379
  ]);
1221
1380
  }
1222
1381
  //#endregion
1382
+ //#region src/testing/kits/payment-provider.ts
1383
+ const kindOf$2 = (result) => result.ok ? "ok" : result.error.kind;
1384
+ const half = (value) => ({
1385
+ amount: value.amount / 2n,
1386
+ currency: value.currency
1387
+ });
1388
+ /**
1389
+ * Runs the `PaymentProvider` contract against `provider`: the API version,
1390
+ * refused amounts, a created payment and its fields, an idempotency key
1391
+ * that pays once, `not_found` for an unknown payment, and, with the
1392
+ * options that drive them, capture and refunds of an authorized payment
1393
+ * and webhook verification. Every call carries a fresh reference, so the
1394
+ * kit runs against a test account without cleanup.
1395
+ */
1396
+ function testPaymentProvider(provider, options = {}) {
1397
+ const amount = options.amount ?? money(1000n, "EUR");
1398
+ const reference = () => `conformance-${crypto.randomUUID()}`;
1399
+ const { authorize, webhook } = options;
1400
+ const authorized = async () => {
1401
+ const created = await provider.createPayment({
1402
+ amount,
1403
+ reference: reference(),
1404
+ capture: "manual"
1405
+ }).orThrow();
1406
+ await authorize?.(created);
1407
+ return created;
1408
+ };
1409
+ return conform(`PaymentProvider "${provider.name}"`, [
1410
+ ["has apiVersion 1 and a name", () => {
1411
+ const version = provider.apiVersion;
1412
+ expect(version === 1, `apiVersion is ${String(version)}`);
1413
+ expect(provider.name.length > 0, "name is empty");
1414
+ }],
1415
+ ["refuses a zero amount and a number instead of Money", async () => {
1416
+ const zero = await provider.createPayment({
1417
+ amount: {
1418
+ amount: 0n,
1419
+ currency: amount.currency
1420
+ },
1421
+ reference: reference()
1422
+ });
1423
+ expect(kindOf$2(zero) === "invalid_input", `zero gave ${kindOf$2(zero)}`);
1424
+ const plain = await provider.createPayment({
1425
+ amount: 1e3,
1426
+ reference: reference()
1427
+ });
1428
+ expect(kindOf$2(plain) === "invalid_input", `a number gave ${kindOf$2(plain)}`);
1429
+ }],
1430
+ ["creates a payment with its amount, reference and provider", async () => {
1431
+ const ref = reference();
1432
+ const payment = await provider.createPayment({
1433
+ amount,
1434
+ reference: ref
1435
+ }).orThrow();
1436
+ expect(payment.id.length > 0, "the payment has no id");
1437
+ expect(payment.provider === provider.name, `provider is ${payment.provider}`);
1438
+ expect(payment.reference === ref, `reference is ${payment.reference}`);
1439
+ expect(payment.amount.amount === amount.amount && payment.amount.currency === amount.currency, `amount is ${String(payment.amount.amount)} ${payment.amount.currency}`);
1440
+ expect(payment.refunded.amount === 0n, "a new payment has refunds");
1441
+ expect(typeof payment.amount.amount === "bigint", "the amount is not a bigint");
1442
+ }],
1443
+ ["pays once for one idempotency key", async () => {
1444
+ const key = crypto.randomUUID();
1445
+ const input = {
1446
+ amount,
1447
+ reference: reference()
1448
+ };
1449
+ const first = await provider.createPayment(input, { idempotencyKey: key }).orThrow();
1450
+ const again = await provider.createPayment(input, { idempotencyKey: key }).orThrow();
1451
+ expect(first.id === again.id, "the same key created a second payment");
1452
+ }],
1453
+ ["returns not_found for an unknown payment", async () => {
1454
+ const id = `conformance_missing_${crypto.randomUUID()}`;
1455
+ const captured = await provider.capture(id);
1456
+ expect(kindOf$2(captured) === "not_found", `capture gave ${kindOf$2(captured)}`);
1457
+ const refunded = await provider.refund(id);
1458
+ expect(kindOf$2(refunded) === "not_found", `refund gave ${kindOf$2(refunded)}`);
1459
+ }],
1460
+ provider.get !== void 0 && ["reads a payment back", async () => {
1461
+ const created = await provider.createPayment({
1462
+ amount,
1463
+ reference: reference()
1464
+ }).orThrow();
1465
+ const read = await provider.get?.(created.id).orThrow();
1466
+ expect(read?.id === created.id, "get returned another payment");
1467
+ expect(read.reference === created.reference, "get lost the reference");
1468
+ }],
1469
+ authorize !== void 0 && ["captures an authorized payment", async () => {
1470
+ const payment = await authorized();
1471
+ const captured = await provider.capture(payment.id).orThrow();
1472
+ expect(captured.status === "succeeded", `status is ${captured.status}`);
1473
+ expect(captured.captured.amount === amount.amount, `captured ${String(captured.captured.amount)}`);
1474
+ }],
1475
+ authorize !== void 0 && ["refunds part of a payment and refuses more than is left", async () => {
1476
+ const payment = await authorized();
1477
+ await provider.capture(payment.id).orThrow();
1478
+ const part = half(amount);
1479
+ const refund = await provider.refund(payment.id, { amount: part }).orThrow();
1480
+ expect(refund.paymentId === payment.id, "the refund names another payment");
1481
+ expect(refund.amount.amount === part.amount, `refunded ${String(refund.amount.amount)}`);
1482
+ expect(refund.status === "succeeded" || refund.status === "pending", `refund status is ${refund.status}`);
1483
+ const tooMuch = await provider.refund(payment.id, { amount });
1484
+ expect(kindOf$2(tooMuch) === "invalid_input", `refunding more than is left gave ${kindOf$2(tooMuch)}`);
1485
+ }],
1486
+ provider.cancel !== void 0 && ["cancels a payment that was not captured", async () => {
1487
+ const created = await provider.createPayment({
1488
+ amount,
1489
+ reference: reference(),
1490
+ capture: "manual"
1491
+ }).orThrow();
1492
+ const canceled = await provider.cancel?.(created.id).orThrow();
1493
+ expect(canceled?.status === "canceled", `status is ${String(canceled?.status)}`);
1494
+ }],
1495
+ webhook !== void 0 && ["parses a signed webhook and refuses a tampered one", async () => {
1496
+ const payment = await provider.createPayment({
1497
+ amount,
1498
+ reference: reference()
1499
+ }).orThrow();
1500
+ const { valid, tampered } = await webhook(payment);
1501
+ const events = await provider.parseWebhook(valid).orThrow();
1502
+ expect(events.length > 0, "a signed delivery gave no events");
1503
+ for (const event of events) {
1504
+ expect(event.id.length > 0, "an event has no id");
1505
+ expect(event.paymentId === payment.id, `an event names payment ${event.paymentId}`);
1506
+ }
1507
+ const refused = await provider.parseWebhook(tampered);
1508
+ expect(kindOf$2(refused) === "unauthorized", `a tampered delivery gave ${kindOf$2(refused)}`);
1509
+ }]
1510
+ ]);
1511
+ }
1512
+ //#endregion
1513
+ //#region src/testing/kits/tax-provider.ts
1514
+ const kindOf$1 = (result) => result.ok ? "ok" : result.error.kind;
1515
+ const sum = (values) => values.reduce((total, value) => total + value.amount, 0n);
1516
+ /**
1517
+ * Runs the `TaxProvider` contract against `provider`: the API version,
1518
+ * refused carts, a quote with one line per cart line in order and a total
1519
+ * that adds up, inclusive prices, shipping, exempt customers, commit, and
1520
+ * full and partial reversals with their limits. Every commit carries a
1521
+ * fresh reference, so the kit runs against a test account without cleanup.
1522
+ */
1523
+ function testTaxProvider(provider, options) {
1524
+ const currency = options.currency ?? "EUR";
1525
+ const { address, taxCategory } = options;
1526
+ const expectTax = options.expectTax ?? true;
1527
+ const line = (id, minor, inclusive = false) => ({
1528
+ id,
1529
+ amount: money(minor, currency),
1530
+ inclusive,
1531
+ ...taxCategory === void 0 ? {} : { taxCategory }
1532
+ });
1533
+ const cart = (overrides = {}) => ({
1534
+ currency,
1535
+ address,
1536
+ lines: [line("a", 10000n), line("b", 2500n)],
1537
+ ...overrides
1538
+ });
1539
+ const reference = () => `conformance-${crypto.randomUUID()}`;
1540
+ const committed = async () => {
1541
+ const quote = await provider.quote(cart()).orThrow();
1542
+ return provider.commit({
1543
+ quote,
1544
+ reference: reference()
1545
+ }).orThrow();
1546
+ };
1547
+ const addsUp = (quote) => {
1548
+ expect(quote.totalTax.amount === sum(quote.lines.map((each) => each.tax)), "totalTax is not the sum of the lines' tax");
1549
+ for (const each of quote.lines) {
1550
+ expect(isRate(each.rate), `line ${each.lineId} has rate "${each.rate}"`);
1551
+ expect(each.tax.currency === currency && each.taxable.currency === currency, `line ${each.lineId} is not in ${currency}`);
1552
+ }
1553
+ };
1554
+ return conform(`TaxProvider "${provider.name}"`, [
1555
+ ["has apiVersion 1 and a name", () => {
1556
+ const version = provider.apiVersion;
1557
+ expect(version === 1, `apiVersion is ${String(version)}`);
1558
+ expect(provider.name.length > 0, "name is empty");
1559
+ }],
1560
+ ["refuses a cart that mixes currencies or has no country", async () => {
1561
+ const other = currency === "USD" ? "EUR" : "USD";
1562
+ const mixed = await provider.quote(cart({ lines: [{
1563
+ id: "a",
1564
+ amount: money(100n, other)
1565
+ }] }));
1566
+ expect(kindOf$1(mixed) === "invalid_input", `mixed currencies gave ${kindOf$1(mixed)}`);
1567
+ const nowhere = await provider.quote(cart({ address: {
1568
+ ...address,
1569
+ country: ""
1570
+ } }));
1571
+ expect(kindOf$1(nowhere) === "invalid_input", `no country gave ${kindOf$1(nowhere)}`);
1572
+ }],
1573
+ ["quotes one line per cart line, in order, with a total that adds up", async () => {
1574
+ const quote = await provider.quote(cart()).orThrow();
1575
+ expect(quote.provider === provider.name, `provider is ${quote.provider}`);
1576
+ expect(quote.lines.map((each) => each.lineId).join(",") === "a,b", `lines are ${quote.lines.map((each) => each.lineId).join(",")}`);
1577
+ expect(quote.lines[0]?.taxable.amount === 10000n, "line a lost its amount");
1578
+ addsUp(quote);
1579
+ expect(expectTax ? quote.totalTax.amount > 0n : quote.totalTax.amount === 0n, `totalTax is ${String(quote.totalTax.amount)}`);
1580
+ }],
1581
+ ["splits an inclusive price into taxable and tax", async () => {
1582
+ const only = (await provider.quote(cart({ lines: [line("a", 12100n, true)] })).orThrow()).lines[0];
1583
+ expect(only?.inclusive === true, "the line is not inclusive");
1584
+ expect(only.taxable.amount + only.tax.amount === 12100n, "taxable and tax don't add up to the price");
1585
+ }],
1586
+ ["quotes shipping as the last line", async () => {
1587
+ const quote = await provider.quote(cart({ shipping: { amount: money(500n, currency) } })).orThrow();
1588
+ expect(quote.lines.at(-1)?.lineId === SHIPPING_LINE, "the last line is not shipping");
1589
+ addsUp(quote);
1590
+ }],
1591
+ ["charges an exempt customer no tax", async () => {
1592
+ const quote = await provider.quote(cart({ customer: { exempt: true } })).orThrow();
1593
+ expect(quote.totalTax.amount === 0n, `totalTax is ${String(quote.totalTax.amount)}`);
1594
+ }],
1595
+ ["commits a quote as a transaction", async () => {
1596
+ const quote = await provider.quote(cart()).orThrow();
1597
+ const ref = reference();
1598
+ const transaction = await provider.commit({
1599
+ quote,
1600
+ reference: ref
1601
+ }).orThrow();
1602
+ expect(transaction.id.length > 0, "the transaction has no id");
1603
+ expect(transaction.reference === ref, "the reference changed");
1604
+ expect(transaction.totalTax.amount === quote.totalTax.amount, "the transaction's tax differs from the quote");
1605
+ }],
1606
+ ["reverses a whole sale", async () => {
1607
+ const sale = await committed();
1608
+ const reversal = await provider.reverse({
1609
+ transaction: sale,
1610
+ reference: reference()
1611
+ }).orThrow();
1612
+ expect(reversal.totalTax.amount === -sale.totalTax.amount, `reversed ${String(reversal.totalTax.amount)} of ${String(sale.totalTax.amount)}`);
1613
+ }],
1614
+ ["reverses part of a line and refuses more than was sold", async () => {
1615
+ const sale = await committed();
1616
+ const sold = sale.lines[0];
1617
+ expect(sold !== void 0, "the sale has no lines");
1618
+ const part = {
1619
+ lineId: sold.lineId,
1620
+ amount: money(sold.taxable.amount / 2n, currency),
1621
+ tax: money(sold.tax.amount / 2n, currency)
1622
+ };
1623
+ const reversal = await provider.reverse({
1624
+ transaction: sale,
1625
+ reference: reference(),
1626
+ lines: [part]
1627
+ }).orThrow();
1628
+ expect(reversal.totalTax.amount === -part.tax.amount, `reversed ${String(reversal.totalTax.amount)}`);
1629
+ const tooMuch = await provider.reverse({
1630
+ transaction: sale,
1631
+ reference: reference(),
1632
+ lines: [{
1633
+ ...part,
1634
+ amount: money(sold.taxable.amount + 1n, currency)
1635
+ }]
1636
+ });
1637
+ expect(kindOf$1(tooMuch) === "invalid_input", `reversing more than was sold gave ${kindOf$1(tooMuch)}`);
1638
+ const unknown = await provider.reverse({
1639
+ transaction: sale,
1640
+ reference: reference(),
1641
+ lines: [{
1642
+ ...part,
1643
+ lineId: "conformance-unknown"
1644
+ }]
1645
+ });
1646
+ expect(kindOf$1(unknown) === "invalid_input", `an unknown line gave ${kindOf$1(unknown)}`);
1647
+ }]
1648
+ ]);
1649
+ }
1650
+ //#endregion
1651
+ //#region src/testing/kits/incoming-destination.ts
1652
+ /**
1653
+ * Proves an `IncomingDestination` accepts a delivery once per endpoint and
1654
+ * message id: a repeat reports the first id as a duplicate, while another
1655
+ * message id or another endpoint is new.
1656
+ * It delivers four messages with random endpoint ids; the destination keeps them.
1657
+ */
1658
+ function testIncomingDestination(destination, options) {
1659
+ const endpoint = crypto.randomUUID();
1660
+ const delivery = (messageId, endpointId = endpoint) => ({
1661
+ endpoint: {
1662
+ id: endpointId,
1663
+ tenant: options.tenant,
1664
+ metadata: {}
1665
+ },
1666
+ source: options.source ?? "conformance",
1667
+ messageId,
1668
+ type: "conformance.test",
1669
+ payload: {
1670
+ type: "conformance.test",
1671
+ messageId
1672
+ },
1673
+ headers: {}
1674
+ });
1675
+ return conform(`IncomingDestination "${destination.name}"`, [
1676
+ hasName(destination),
1677
+ ["has apiVersion 1", () => {
1678
+ const version = destination.apiVersion;
1679
+ expect(version === 1, "apiVersion must be 1");
1680
+ }],
1681
+ ["reports a repeated endpoint and message id as a duplicate of the first", async () => {
1682
+ const first = await destination.deliver(delivery("m1"));
1683
+ expect(!first.duplicate, "the first delivery must not be a duplicate");
1684
+ const again = await destination.deliver(delivery("m1"));
1685
+ expect(again.duplicate, "a repeated delivery must be a duplicate");
1686
+ expect(String(again.id) === String(first.id), "a duplicate must return the first delivery's id");
1687
+ }],
1688
+ ["treats another message id or another endpoint as a new delivery", async () => {
1689
+ expect(!(await destination.deliver(delivery("m2"))).duplicate, "another message id must be new");
1690
+ expect(!(await destination.deliver(delivery("m1", crypto.randomUUID()))).duplicate, "the same id on another endpoint must be new");
1691
+ }]
1692
+ ]);
1693
+ }
1694
+ //#endregion
1223
1695
  //#region src/testing/kits/plugin.ts
1224
1696
  /**
1225
1697
  * Proves a `Plugin` targets API v1, installs cleanly on its own and next to
@@ -1429,6 +1901,16 @@ function testQueueBackend(backend, options) {
1429
1901
  const job = await claimOne();
1430
1902
  expect(job, "read must return the sent message");
1431
1903
  await backend.complete(job);
1904
+ }],
1905
+ backend.sendOnce && ["sends once per key, counting completed messages, when it has sendOnce", async () => {
1906
+ const key = `once-${Date.now()}`;
1907
+ const first = await backend.sendOnce?.(queue, { n: 5 }, 0, 3, key);
1908
+ expect(first && !first.duplicate, "the first sendOnce must send");
1909
+ const job = await claimOne();
1910
+ expect(job?.id === first.id, "read must return the sent message");
1911
+ await backend.complete(job);
1912
+ const again = await backend.sendOnce?.(queue, { n: 5 }, 0, 3, key);
1913
+ expect(again?.duplicate === true && again.id === first.id, "sendOnce after completion must return the first id as a duplicate");
1432
1914
  }]
1433
1915
  ]);
1434
1916
  }
@@ -1517,6 +1999,113 @@ function testSupportSessionStore(store, options) {
1517
1999
  ]);
1518
2000
  }
1519
2001
  //#endregion
2002
+ //#region src/testing/kits/controller-binding.ts
2003
+ const PROBE_INITIAL = {
2004
+ count: 0,
2005
+ label: "initial"
2006
+ };
2007
+ function probe() {
2008
+ let starts = 0;
2009
+ let stops = 0;
2010
+ let disposed = false;
2011
+ let made;
2012
+ const idle = () => void 0;
2013
+ let emit = idle;
2014
+ return {
2015
+ create: () => {
2016
+ const controller = defineController(PROBE_INITIAL, (state) => ({
2017
+ actions: {
2018
+ increment: () => {
2019
+ state.set((current) => ({ count: current.count + 1 }));
2020
+ },
2021
+ rename: (label) => {
2022
+ state.set({ label });
2023
+ }
2024
+ },
2025
+ start: () => {
2026
+ starts += 1;
2027
+ emit = (patch) => {
2028
+ state.set(patch);
2029
+ };
2030
+ return () => {
2031
+ stops += 1;
2032
+ emit = idle;
2033
+ };
2034
+ }
2035
+ }));
2036
+ made = {
2037
+ ...controller,
2038
+ dispose: () => {
2039
+ disposed = true;
2040
+ controller.dispose();
2041
+ }
2042
+ };
2043
+ return made;
2044
+ },
2045
+ emit: (patch) => {
2046
+ emit(patch);
2047
+ },
2048
+ starts: () => starts,
2049
+ stops: () => stops,
2050
+ disposed: () => disposed,
2051
+ controller: () => made
2052
+ };
2053
+ }
2054
+ /**
2055
+ * Proves a framework binding over a block controller renders the initial
2056
+ * snapshot, follows each change, passes the actions through and stops the
2057
+ * controller's work (and disposes it) on unmount.
2058
+ */
2059
+ function testControllerBinding(name, harness) {
2060
+ const settle = async () => {
2061
+ await harness.settle?.();
2062
+ };
2063
+ const mounted = async (run) => {
2064
+ const current = probe();
2065
+ const binding = await harness.mount(current.create);
2066
+ try {
2067
+ await settle();
2068
+ await run(binding, current);
2069
+ } finally {
2070
+ await binding.unmount();
2071
+ }
2072
+ };
2073
+ return conform(`ControllerBinding "${name}"`, [
2074
+ ["renders the initial snapshot", () => mounted((binding, current) => {
2075
+ const state = binding.read();
2076
+ expect(state.count === PROBE_INITIAL.count && state.label === PROBE_INITIAL.label, `rendered ${JSON.stringify(state)} instead of the initial snapshot`);
2077
+ expect(current.starts() === 1, `the controller started ${current.starts()} times on mount, not once`);
2078
+ })],
2079
+ ["renders a change from the controller", () => mounted(async (binding, current) => {
2080
+ current.emit({ label: "changed" });
2081
+ await settle();
2082
+ expect(binding.read().label === "changed", `rendered label ${JSON.stringify(binding.read().label)} after the controller changed it`);
2083
+ current.emit({ count: 5 });
2084
+ await settle();
2085
+ expect(binding.read().count === 5, `rendered count ${binding.read().count} after a second change`);
2086
+ })],
2087
+ ["passes the controller's actions through", () => mounted(async (binding, current) => {
2088
+ expect(binding.actions.increment === current.controller()?.actions.increment, "the binding's actions are not the controller's");
2089
+ binding.actions.increment();
2090
+ binding.actions.rename("renamed");
2091
+ await settle();
2092
+ const state = binding.read();
2093
+ expect(state.count === 1 && state.label === "renamed", `rendered ${JSON.stringify(state)} after the actions ran`);
2094
+ })],
2095
+ ["stops the controller on unmount", async () => {
2096
+ const current = probe();
2097
+ const binding = await harness.mount(current.create);
2098
+ await settle();
2099
+ await binding.unmount();
2100
+ await settle();
2101
+ expect(current.stops() === current.starts() && current.starts() > 0, `the controller started ${current.starts()} times and stopped ${current.stops()} times`);
2102
+ if (harness.disposes ?? true) expect(current.disposed(), "unmount didn't dispose the controller");
2103
+ current.emit({ count: 9 });
2104
+ await settle();
2105
+ }]
2106
+ ]);
2107
+ }
2108
+ //#endregion
1520
2109
  //#region src/testing/adapter.ts
1521
2110
  const MODULE_SERVER = {
1522
2111
  env: {
@@ -1726,6 +2315,14 @@ function testAuthorizationProvider(provider) {
1726
2315
  for (const scope of permission.scopes ?? []) expect(scopes.has(scope), `permission "${permission.key}" names unknown scope "${scope}"`);
1727
2316
  }
1728
2317
  }],
2318
+ provider.operations && ["operations name listed permissions", () => {
2319
+ const keys = provider.permissions === void 0 ? void 0 : new Set(provider.permissions.map((entry) => entry.key));
2320
+ for (const [name, operation] of Object.entries(provider.operations)) {
2321
+ expect(name !== "", "an operation name is empty");
2322
+ expect(operation.permission !== "", `operation "${name}" names no permission`);
2323
+ if (keys) expect(keys.has(operation.permission), `operation "${name}" needs "${operation.permission}", which permissions doesn't list`);
2324
+ }
2325
+ }],
1729
2326
  provider.memberships && ["memberships name known scopes", () => {
1730
2327
  for (const membership of provider.memberships) {
1731
2328
  expect(TABLE.test(membership.table), `membership table "${membership.table}" is not schema.table`);
@@ -1770,6 +2367,185 @@ function testAuthorizationProvider(provider) {
1770
2367
  ]);
1771
2368
  }
1772
2369
  //#endregion
2370
+ //#region src/testing/authorization-hooks.ts
2371
+ /**
2372
+ * Proves `AuthorizationHooks` target API v1 and fail closed for strangers:
2373
+ * fan-out returns only subscribers it was given, an identity nobody linked
2374
+ * and a forged ticket resolve to `null`, a requester never approves their
2375
+ * own request, an unknown publisher can neither publish nor run, an
2376
+ * unlinked chat author gets nothing, an admin with no claims cannot start
2377
+ * a support session and never approves their own, and a delegated token
2378
+ * with no scopes maps to no permissions.
2379
+ */
2380
+ function testAuthorizationHooks(hooks) {
2381
+ const stranger = crypto.randomUUID();
2382
+ const event = {
2383
+ type: "conformance.checked",
2384
+ tenant: crypto.randomUUID(),
2385
+ actorId: stranger,
2386
+ payload: {}
2387
+ };
2388
+ const subscribers = [{
2389
+ principal: crypto.randomUUID(),
2390
+ kind: "user"
2391
+ }, {
2392
+ principal: crypto.randomUUID(),
2393
+ kind: "service"
2394
+ }];
2395
+ const subset = async (policy, where) => {
2396
+ const kept = await policy(event, subscribers);
2397
+ for (const entry of kept) expect(subscribers.includes(entry), `${where} returned a subscriber it was not given`);
2398
+ expect((await policy(event, [])).length === 0, `${where} returned subscribers from an empty list`);
2399
+ };
2400
+ const supportStart = (extra) => {
2401
+ const now = Math.floor(Date.now() / 1e3);
2402
+ const claims = {
2403
+ sub: stranger,
2404
+ role: "authenticated",
2405
+ aud: "authenticated",
2406
+ iss: "conformance",
2407
+ exp: now + 60,
2408
+ iat: now,
2409
+ ...extra
2410
+ };
2411
+ return {
2412
+ admin: {
2413
+ kind: "user",
2414
+ token: "",
2415
+ claims,
2416
+ user: {
2417
+ id: stranger,
2418
+ role: "authenticated"
2419
+ },
2420
+ source: "conformance",
2421
+ expiresAt: claims.exp
2422
+ },
2423
+ targetUserId: crypto.randomUUID(),
2424
+ reason: "conformance",
2425
+ readOnly: true,
2426
+ metadata: {}
2427
+ };
2428
+ };
2429
+ const { delivery, identities, approverOf, tickets, automation, chat, delegation } = hooks;
2430
+ return conform(`AuthorizationHooks "${hooks.name}"`, [
2431
+ ["targets API v1 and has a name", () => {
2432
+ expect(hooks.apiVersion === 1, `apiVersion is ${String(hooks.apiVersion)}`);
2433
+ expect(hooks.name !== "", "name is empty");
2434
+ }],
2435
+ delivery?.subscribers && ["subscribers returns a subset", () => subset(delivery.subscribers, "delivery.subscribers")],
2436
+ delivery?.audience && ["audience returns a subset", () => subset(delivery.audience, "delivery.audience")],
2437
+ identities && ["an unlinked identity is null", async () => {
2438
+ expect(await identities.principalByIdentity({
2439
+ kind: "email",
2440
+ value: `${stranger}@conformance.invalid`
2441
+ }) === null, "an address nobody linked resolved to someone");
2442
+ }],
2443
+ approverOf && ["a requester never approves their own request", async () => {
2444
+ expect(!await approverOf({
2445
+ userId: stranger,
2446
+ claims: { sub: stranger }
2447
+ }, {
2448
+ kind: "tool",
2449
+ subject: crypto.randomUUID(),
2450
+ tenant: event.tenant,
2451
+ requester: stranger
2452
+ }), "approverOf allowed the requester");
2453
+ }],
2454
+ tickets && ["a forged ticket is null", async () => {
2455
+ expect(await tickets.subject(`forged.${stranger}.ticket`) === null, "a forged ticket resolved to a context");
2456
+ }],
2457
+ automation?.mayPublish && ["an unknown publisher may not publish", async () => {
2458
+ expect(!await automation.mayPublish({
2459
+ publisher: stranger,
2460
+ tenant: event.tenant,
2461
+ permissions: ["conformance.write"],
2462
+ claims: {
2463
+ sub: stranger,
2464
+ role: "authenticated"
2465
+ }
2466
+ }), "mayPublish allowed a publisher nobody knows");
2467
+ }],
2468
+ automation?.runAs && ["an unknown publisher runs as no one", async () => {
2469
+ expect(await automation.runAs({
2470
+ publisher: stranger,
2471
+ tenant: event.tenant,
2472
+ permissions: ["conformance.read"]
2473
+ }) === null, "runAs returned claims for an unknown publisher");
2474
+ }],
2475
+ chat?.onAction && ["an unlinked chat author is refused", async () => {
2476
+ const decided = await chat.onAction({
2477
+ id: "approve",
2478
+ author: {
2479
+ kind: "chat",
2480
+ provider: "conformance",
2481
+ value: stranger
2482
+ }
2483
+ }, null);
2484
+ expect(decided === void 0 || !decided.allowed, "onAction allowed an author with no identity link");
2485
+ }],
2486
+ hooks.support && ["an admin with no claims cannot start a support session", async () => {
2487
+ expect(await hooks.support.authorize(supportStart({})) === false, "support.authorize allowed an admin with no claims");
2488
+ }],
2489
+ hooks.support && ["an admin never approves their own support session", async () => {
2490
+ const decision = await hooks.support.authorize(supportStart({
2491
+ user_role: "admin",
2492
+ app_role: "admin"
2493
+ }));
2494
+ expect(typeof decision !== "object" || decision.approvedBy !== stranger, "support.authorize named the admin as their own approver");
2495
+ }],
2496
+ delegation && ["a delegation with no scopes grants no permissions", async () => {
2497
+ expect((await delegation.permissions({
2498
+ userId: stranger,
2499
+ tenant: event.tenant,
2500
+ clientId: "conformance",
2501
+ scopes: []
2502
+ })).length === 0, "delegation.permissions granted keys to a token with no scopes");
2503
+ }]
2504
+ ]);
2505
+ }
2506
+ //#endregion
2507
+ //#region src/testing/delivery-transport.ts
2508
+ const KEY = "00000000-0000-4000-8000-00000000d0f0";
2509
+ /**
2510
+ * Runs the `DeliveryTransport` contract against `transport`: API version 1,
2511
+ * the `email` channel, a provider name, and one frozen sample message it
2512
+ * sends without mutating, with the delivery id as its idempotency key.
2513
+ * Throws a `ConformanceError` listing every failed check.
2514
+ */
2515
+ function testDeliveryTransport(transport, options = {}) {
2516
+ const message = deepFreeze({
2517
+ from: "Conformance <conformance@example.test>",
2518
+ to: options.to ?? "delivered@example.test",
2519
+ subject: "Conformance check",
2520
+ text: "Conformance check",
2521
+ category: "notification",
2522
+ headers: mailHeaders("notification", { url: "https://example.test/unsubscribe" })
2523
+ });
2524
+ return conform(`DeliveryTransport "${transport.provider}"`, [
2525
+ ["has apiVersion 1", () => {
2526
+ const version = transport.apiVersion;
2527
+ expect(version === 1, "apiVersion must be 1");
2528
+ }],
2529
+ ["sends on the email channel", () => {
2530
+ const channel = transport.channel;
2531
+ expect(channel === "email", `channel must be "email", got ${String(channel)}`);
2532
+ }],
2533
+ ["has a provider name", () => {
2534
+ expect(typeof transport.provider === "string" && transport.provider !== "", "provider must be a non-empty string");
2535
+ }],
2536
+ ["sends a message without mutating it and returns a valid receipt", async () => {
2537
+ const receipt = await transport.send(message, { idempotencyKey: KEY });
2538
+ if (receipt === void 0) return;
2539
+ expect(receipt.providerMessageId === void 0 || typeof receipt.providerMessageId === "string", "providerMessageId must be a string");
2540
+ }],
2541
+ options.received && ["passes the idempotency key and the headers to the provider", async () => {
2542
+ const found = (await options.received()).find((entry) => entry.idempotencyKey === KEY);
2543
+ expect(found, `no message arrived with idempotency key ${KEY}`);
2544
+ for (const [name, value] of Object.entries(message.headers)) expect(found.headers[name] === value, `header ${name} must be "${value}", got ${String(found.headers[name])}`);
2545
+ }]
2546
+ ]);
2547
+ }
2548
+ //#endregion
1773
2549
  //#region src/testing/authorizer.ts
1774
2550
  const OUTCOMES = /* @__PURE__ */ new Set([
1775
2551
  "granted",
@@ -1900,7 +2676,7 @@ function testAuthorizer(authorizer, options) {
1900
2676
  * context, and it ignores `subject.properties.claims`.
1901
2677
  */
1902
2678
  function staticAuthorizer(options) {
1903
- const approvals = new Set(options.approvals ?? []);
2679
+ const approvals = new Set(options.approvals);
1904
2680
  const evaluate = (request) => {
1905
2681
  const { subject, action } = request;
1906
2682
  if (approvals.has(action)) return {
@@ -2390,7 +3166,8 @@ function sample(channel, email) {
2390
3166
  priority: null,
2391
3167
  createdAt,
2392
3168
  readAt: null,
2393
- resolvedAt: null
3169
+ resolvedAt: null,
3170
+ fields: Object.freeze({})
2394
3171
  }),
2395
3172
  text: Object.freeze({ title: "Conformance check" })
2396
3173
  });
@@ -2626,7 +3403,7 @@ function testChatState(state, options) {
2626
3403
  "d"
2627
3404
  ]) await state.appendToList(key, value, { maxLength: 3 });
2628
3405
  const list = await state.getList(key);
2629
- expect(list.join() === "b,c,d", `list is ${list.join()}`);
3406
+ expect(list.join(",") === "b,c,d", `list is ${list.join(",")}`);
2630
3407
  expect((await state.getList(fresh())).length === 0, "missing list is not empty");
2631
3408
  }],
2632
3409
  ["queues per thread, keeps the newest maxSize and reports the depth", async () => {
@@ -2898,4 +3675,327 @@ function testCredentialProvider(provider, options) {
2898
3675
  ]);
2899
3676
  }
2900
3677
  //#endregion
2901
- export { ConformanceError, LOCAL_JWT_SECRET, asUser, createTestSigner, defineSeed, expectDbBudget, expectInstant, expectTenantIsolation, isSeed, liteStack, localAuth, localSigningKey, signLocalJwt, signTestJwt, signTestJwtWithKey, staticAuthorizer, supabaseClaimFixtures, testAdapter, testAiTaskRunner, testAuthResolver, testAuthorizationProvider, testAuthorizer, testBlockTransportMiddleware, testBuilderStarter, testCacheAdapter, testChatState, testCredentialProvider, testDocumentFormat, testEmbedder, testEveDocumentBackend, testEventSink, testExecutor, testGenerator, testGraphCompiler, testNotificationChannel, testPlugin, testQueueBackend, testStreamStore, testSupportSessionStore, testWebhookSecretStore, testWebhookSigner, testWebhookTransport };
3678
+ //#region src/testing/act-cases.ts
3679
+ /**
3680
+ * The RFC 8693 `act` chains better-supabase accepts and refuses, as plain
3681
+ * JSON (`better-supabase/testing/act-cases.json`), so another library that
3682
+ * reads the same claims can run the same cases.
3683
+ */
3684
+ const actCases = {
3685
+ version: 1,
3686
+ cases: [
3687
+ {
3688
+ "name": "no actor",
3689
+ "claims": {},
3690
+ "valid": true,
3691
+ "kind": null,
3692
+ "readOnly": null,
3693
+ "tools": null,
3694
+ "mayWrite": true
3695
+ },
3696
+ {
3697
+ "name": "oauth client_id",
3698
+ "claims": { "client_id": "client-1" },
3699
+ "valid": true,
3700
+ "kind": "oauth-client",
3701
+ "readOnly": null,
3702
+ "tools": null,
3703
+ "mayWrite": true
3704
+ },
3705
+ {
3706
+ "name": "chain without kind",
3707
+ "claims": { "act": {
3708
+ "sub": "agent-runner",
3709
+ "act": { "sub": "mcp-client-42" }
3710
+ } },
3711
+ "valid": true,
3712
+ "kind": "oauth-client",
3713
+ "readOnly": null,
3714
+ "tools": null,
3715
+ "mayWrite": true
3716
+ },
3717
+ {
3718
+ "name": "support, read_only missing",
3719
+ "claims": { "act": {
3720
+ "kind": "support",
3721
+ "sub": "admin-1",
3722
+ "session_id": "session-1"
3723
+ } },
3724
+ "valid": true,
3725
+ "kind": "support",
3726
+ "readOnly": true,
3727
+ "tools": null,
3728
+ "mayWrite": false
3729
+ },
3730
+ {
3731
+ "name": "support, read_only true",
3732
+ "claims": { "act": {
3733
+ "kind": "support",
3734
+ "sub": "admin-1",
3735
+ "session_id": "session-1",
3736
+ "read_only": true
3737
+ } },
3738
+ "valid": true,
3739
+ "kind": "support",
3740
+ "readOnly": true,
3741
+ "tools": null,
3742
+ "mayWrite": false
3743
+ },
3744
+ {
3745
+ "name": "support, read_only false",
3746
+ "claims": { "act": {
3747
+ "kind": "support",
3748
+ "sub": "admin-1",
3749
+ "session_id": "session-1",
3750
+ "read_only": false
3751
+ } },
3752
+ "valid": true,
3753
+ "kind": "support",
3754
+ "readOnly": false,
3755
+ "tools": null,
3756
+ "mayWrite": true
3757
+ },
3758
+ {
3759
+ "name": "support, read_only as a string",
3760
+ "claims": { "act": {
3761
+ "kind": "support",
3762
+ "sub": "admin-1",
3763
+ "session_id": "session-1",
3764
+ "read_only": "false"
3765
+ } },
3766
+ "valid": false,
3767
+ "kind": null,
3768
+ "readOnly": null,
3769
+ "tools": null,
3770
+ "mayWrite": false
3771
+ },
3772
+ {
3773
+ "name": "support without session_id",
3774
+ "claims": { "act": {
3775
+ "kind": "support",
3776
+ "sub": "admin-1",
3777
+ "read_only": false
3778
+ } },
3779
+ "valid": false,
3780
+ "kind": null,
3781
+ "readOnly": null,
3782
+ "tools": null,
3783
+ "mayWrite": true
3784
+ },
3785
+ {
3786
+ "name": "session_id without kind (0.5.0 support)",
3787
+ "claims": { "act": {
3788
+ "sub": "admin-1",
3789
+ "session_id": "session-1"
3790
+ } },
3791
+ "valid": false,
3792
+ "kind": null,
3793
+ "readOnly": null,
3794
+ "tools": null,
3795
+ "mayWrite": false
3796
+ },
3797
+ {
3798
+ "name": "impersonation",
3799
+ "claims": { "act": {
3800
+ "kind": "impersonation",
3801
+ "sub": "admin-1",
3802
+ "reason": "ticket 42"
3803
+ } },
3804
+ "valid": true,
3805
+ "kind": "impersonation",
3806
+ "readOnly": null,
3807
+ "tools": null,
3808
+ "mayWrite": false
3809
+ },
3810
+ {
3811
+ "name": "impersonation, read_only false",
3812
+ "claims": { "act": {
3813
+ "kind": "impersonation",
3814
+ "sub": "admin-1",
3815
+ "read_only": false
3816
+ } },
3817
+ "valid": true,
3818
+ "kind": "impersonation",
3819
+ "readOnly": null,
3820
+ "tools": null,
3821
+ "mayWrite": false
3822
+ },
3823
+ {
3824
+ "name": "agent, every tool",
3825
+ "claims": { "act": {
3826
+ "kind": "agent",
3827
+ "sub": "agent-7"
3828
+ } },
3829
+ "valid": true,
3830
+ "kind": "agent",
3831
+ "readOnly": false,
3832
+ "tools": null,
3833
+ "mayWrite": true
3834
+ },
3835
+ {
3836
+ "name": "agent, listed tools",
3837
+ "claims": { "act": {
3838
+ "kind": "agent",
3839
+ "sub": "agent-7",
3840
+ "tools": ["search_knowledge"]
3841
+ } },
3842
+ "valid": true,
3843
+ "kind": "agent",
3844
+ "readOnly": false,
3845
+ "tools": ["search_knowledge"],
3846
+ "mayWrite": true
3847
+ },
3848
+ {
3849
+ "name": "agent, no tools",
3850
+ "claims": { "act": {
3851
+ "kind": "agent",
3852
+ "sub": "agent-7",
3853
+ "tools": []
3854
+ } },
3855
+ "valid": true,
3856
+ "kind": "agent",
3857
+ "readOnly": false,
3858
+ "tools": [],
3859
+ "mayWrite": true
3860
+ },
3861
+ {
3862
+ "name": "agent, read_only true",
3863
+ "claims": { "act": {
3864
+ "kind": "agent",
3865
+ "sub": "agent-7",
3866
+ "read_only": true
3867
+ } },
3868
+ "valid": true,
3869
+ "kind": "agent",
3870
+ "readOnly": true,
3871
+ "tools": null,
3872
+ "mayWrite": false
3873
+ },
3874
+ {
3875
+ "name": "agent, read_only false",
3876
+ "claims": { "act": {
3877
+ "kind": "agent",
3878
+ "sub": "agent-7",
3879
+ "read_only": false
3880
+ } },
3881
+ "valid": true,
3882
+ "kind": "agent",
3883
+ "readOnly": false,
3884
+ "tools": null,
3885
+ "mayWrite": true
3886
+ },
3887
+ {
3888
+ "name": "agent, read_only as a string",
3889
+ "claims": { "act": {
3890
+ "kind": "agent",
3891
+ "sub": "agent-7",
3892
+ "read_only": "true"
3893
+ } },
3894
+ "valid": false,
3895
+ "kind": null,
3896
+ "readOnly": null,
3897
+ "tools": null,
3898
+ "mayWrite": false
3899
+ },
3900
+ {
3901
+ "name": "agent over an OAuth client",
3902
+ "claims": {
3903
+ "scope": "posts:read",
3904
+ "act": {
3905
+ "kind": "agent",
3906
+ "sub": "agent-7",
3907
+ "tools": ["search_knowledge"],
3908
+ "act": { "sub": "mcp-client-42" }
3909
+ }
3910
+ },
3911
+ "valid": true,
3912
+ "kind": "agent",
3913
+ "readOnly": false,
3914
+ "tools": ["search_knowledge"],
3915
+ "mayWrite": true
3916
+ },
3917
+ {
3918
+ "name": "agent, tools not a list",
3919
+ "claims": { "act": {
3920
+ "kind": "agent",
3921
+ "sub": "agent-7",
3922
+ "tools": "search_knowledge"
3923
+ } },
3924
+ "valid": false,
3925
+ "kind": null,
3926
+ "readOnly": null,
3927
+ "tools": null,
3928
+ "mayWrite": true
3929
+ },
3930
+ {
3931
+ "name": "agent, empty tool name",
3932
+ "claims": { "act": {
3933
+ "kind": "agent",
3934
+ "sub": "agent-7",
3935
+ "tools": [""]
3936
+ } },
3937
+ "valid": false,
3938
+ "kind": null,
3939
+ "readOnly": null,
3940
+ "tools": null,
3941
+ "mayWrite": true
3942
+ },
3943
+ {
3944
+ "name": "agent with session_id",
3945
+ "claims": { "act": {
3946
+ "kind": "agent",
3947
+ "sub": "agent-7",
3948
+ "session_id": "session-1"
3949
+ } },
3950
+ "valid": false,
3951
+ "kind": null,
3952
+ "readOnly": null,
3953
+ "tools": null,
3954
+ "mayWrite": true
3955
+ },
3956
+ {
3957
+ "name": "unknown kind",
3958
+ "claims": { "act": {
3959
+ "kind": "robot",
3960
+ "sub": "robot-1"
3961
+ } },
3962
+ "valid": false,
3963
+ "kind": null,
3964
+ "readOnly": null,
3965
+ "tools": null,
3966
+ "mayWrite": false
3967
+ },
3968
+ {
3969
+ "name": "act not an object",
3970
+ "claims": { "act": "agent-7" },
3971
+ "valid": false,
3972
+ "kind": null,
3973
+ "readOnly": null,
3974
+ "tools": null,
3975
+ "mayWrite": true
3976
+ },
3977
+ {
3978
+ "name": "act without sub",
3979
+ "claims": { "act": { "kind": "agent" } },
3980
+ "valid": false,
3981
+ "kind": null,
3982
+ "readOnly": null,
3983
+ "tools": null,
3984
+ "mayWrite": true
3985
+ },
3986
+ {
3987
+ "name": "nested level without sub",
3988
+ "claims": { "act": {
3989
+ "sub": "agent-runner",
3990
+ "act": { "sub": "" }
3991
+ } },
3992
+ "valid": false,
3993
+ "kind": null,
3994
+ "readOnly": null,
3995
+ "tools": null,
3996
+ "mayWrite": true
3997
+ }
3998
+ ]
3999
+ };
4000
+ //#endregion
4001
+ export { ConformanceError, LOCAL_JWT_SECRET, PROBE_INITIAL, actCases, asUser, createTestSigner, defineSeed, expectDbBudget, expectInstant, expectTenantIsolation, isSeed, liteStack, localAuth, localSigningKey, signLocalJwt, signTestJwt, signTestJwtWithKey, staticAuthorizer, supabaseClaimFixtures, supabaseInvalidClaimFixtures, testAdapter, testAiTaskRunner, testAuthResolver, testAuthorizationHooks, testAuthorizationProvider, testAuthorizer, testBlockTransportMiddleware, testBuilderStarter, testCacheAdapter, testChatState, testControllerBinding, testCredentialProvider, testDeliveryTransport, testDocumentFormat, testEmbedder, testEveDocumentBackend, testEventSink, testExecutor, testGenerator, testGraphCompiler, testIncomingDestination, testNotificationChannel, testPaymentProvider, testPlugin, testQueueBackend, testStreamStore, testSupportSessionStore, testTaxProvider, testWebhookSecretStore, testWebhookSigner, testWebhookTransport };