better-supabase 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -96
- package/dist/access-sql-CPoq9F86.js +207 -0
- package/dist/access-z7NwWtqx.js +34 -0
- package/dist/actor-CoveJgya.d.ts +106 -0
- package/dist/actor-hNajGNEK.js +150 -0
- package/dist/adapter-BCFAg58A.js +2190 -0
- package/dist/agents-CmZlLPXC.d.ts +117 -0
- package/dist/ai-cache-BxlOkc_M.d.ts +82 -0
- package/dist/ai-cache-DQikwXhJ.js +87 -0
- package/dist/ai-chat-DBxEz3o1.d.ts +619 -0
- package/dist/ai-files-t-kHmS5H.js +339 -0
- package/dist/ai-sdk/agents/index.d.ts +64 -52
- package/dist/ai-sdk/agents/index.js +35 -27
- package/dist/ai-sdk/batches/index.d.ts +16 -7
- package/dist/ai-sdk/batches/index.js +5 -5
- package/dist/ai-sdk/cache/index.d.ts +6 -3
- package/dist/ai-sdk/cache/index.js +1 -1
- package/dist/ai-sdk/chat/index.d.ts +1 -1
- package/dist/ai-sdk/chat/index.js +10 -10
- package/dist/ai-sdk/embeddings/index.d.ts +2 -2
- package/dist/ai-sdk/embeddings/index.js +1 -1
- package/dist/ai-sdk/files/index.d.ts +9 -9
- package/dist/ai-sdk/files/index.js +10 -10
- package/dist/ai-sdk/index.d.ts +48 -24
- package/dist/ai-sdk/index.js +50 -9
- package/dist/ai-sdk/mcp/index.d.ts +32 -26
- package/dist/ai-sdk/mcp/index.js +20 -20
- package/dist/ai-sdk/memory/index.d.ts +9 -9
- package/dist/ai-sdk/memory/index.js +6 -6
- package/dist/ai-sdk/react/index.d.ts +1 -1
- package/dist/ai-sdk/react/index.js +1 -1
- package/dist/ai-sdk/react/server.d.ts +5 -2
- package/dist/ai-sdk/react/server.js +4 -1
- package/dist/ai-sdk/workflow/index.d.ts +57 -36
- package/dist/ai-sdk/workflow/index.js +29 -23
- package/dist/ai-sdk/workflow/react/index.d.ts +7 -8
- package/dist/ai-sdk/workflow/react/index.js +7 -8
- package/dist/ai-sdk/workflow/react/server.d.ts +1 -1
- package/dist/ai-tasks-BDywBUgN.d.ts +166 -0
- package/dist/anchors-7F34QyHa.d.ts +40 -0
- package/dist/announcements-BeOD0zbc.js +128 -0
- package/dist/api-CWhpq24a.d.ts +174 -0
- package/dist/api-DKp2Ggz_.js +685 -0
- package/dist/api-keys-CboAenU8.d.ts +213 -0
- package/dist/api-keys-DT6Fi50R.js +318 -0
- package/dist/app-tables-BHrzAUFJ.d.ts +27 -0
- package/dist/app-tables-C5aoI5rZ.js +959 -0
- package/dist/approvals-bMb7dsBY.d.ts +129 -0
- package/dist/arazzo/index.d.ts +59 -36
- package/dist/arazzo/index.js +49 -41
- package/dist/assistant-D1yev_fR.d.ts +157 -0
- package/dist/astro/index.d.ts +44 -22
- package/dist/astro/index.js +14 -11
- package/dist/asyncapi/index.d.ts +23 -16
- package/dist/asyncapi/index.js +23 -20
- package/dist/attachments-Cjdgarpa.js +351 -0
- package/dist/attributes-BOFl922R.js +44 -0
- package/dist/audit-log-C3rQxeHd.js +788 -0
- package/dist/auth-DyF_LRxd.js +20 -0
- package/dist/auth-link-B4NL84XU.d.ts +104 -0
- package/dist/auth-link-D3-bU6yz.js +118 -0
- package/dist/auth-module-BEFESDC4.js +44 -0
- package/dist/auth-reply-jVKoAV6R.js +31 -0
- package/dist/authorization-BuT26_sR.d.ts +3455 -0
- package/dist/authorization-hooks-dLmUO_PZ.d.ts +217 -0
- package/dist/authorizer-DFP3gHv8.d.ts +82 -0
- package/dist/authorizer-DPTeL-7h.js +125 -0
- package/dist/availability-q3dZoZYM.d.ts +226 -0
- package/dist/base64-B9Wlsdj7.js +42 -0
- package/dist/before-route-B23K2zYU.js +30 -0
- package/dist/better-result/index.d.ts +26 -18
- package/dist/better-result/index.js +13 -9
- package/dist/bind-Dz8y3T5T.d.ts +95 -0
- package/dist/block-authors-BRTlT0qv.js +14 -0
- package/dist/block-authors-DzXLUiIq.d.ts +12 -0
- package/dist/block-controller-DTGuBemi.js +112 -0
- package/dist/block-env-DJiUu1fq.js +35 -0
- package/dist/block-env-kFcaaJLM.d.ts +10 -0
- package/dist/block-env-options-2e6IQrSw.js +26 -0
- package/dist/block-event-listener-Bu6G0TFH.js +16 -0
- package/dist/block-events-pBXPzwnW.js +83 -0
- package/dist/block-events-records-BGVyoz57.d.ts +343 -0
- package/dist/block-fields-3w4MZr8U.d.ts +58 -0
- package/dist/block-fields-DBSJSeaO.js +139 -0
- package/dist/block-helpers-BaugZlJV.d.ts +62 -0
- package/dist/block-helpers-CiKtrb6g.js +353 -0
- package/dist/block-hooks-BymdcD0V.js +130 -0
- package/dist/block-hooks-CmjPKqQ_.d.ts +117 -0
- package/dist/block-method-Bvsao626.js +21 -0
- package/dist/block-method-hsPAGFi5.d.ts +19 -0
- package/dist/block-names-Dbv_2wmE.js +66 -0
- package/dist/block-subjects-Dzq5Xn_0.js +55 -0
- package/dist/block-subjects-FHwLlIHU.d.ts +6 -0
- package/dist/block-tenant-C1sNV8_4.js +14 -0
- package/dist/block-transport-d53POsem.d.ts +69 -0
- package/dist/blocks/access/index.d.ts +9 -0
- package/dist/blocks/access/index.js +18 -0
- package/dist/blocks/access/react/index.d.ts +52 -0
- package/dist/blocks/access/react/index.js +73 -0
- package/dist/blocks/access/react/server.d.ts +11 -0
- package/dist/blocks/access/react/server.js +16 -0
- package/dist/blocks/access/solid/index.d.ts +13 -0
- package/dist/blocks/access/solid/index.js +14 -0
- package/dist/blocks/access/svelte/index.d.ts +13 -0
- package/dist/blocks/access/svelte/index.js +14 -0
- package/dist/blocks/access/vue/index.d.ts +13 -0
- package/dist/blocks/access/vue/index.js +14 -0
- package/dist/blocks/access-requests/index.d.ts +21 -15
- package/dist/blocks/access-requests/index.js +11 -9
- package/dist/blocks/activity/index.d.ts +116 -0
- package/dist/blocks/activity/index.js +164 -0
- package/dist/blocks/agents/index.d.ts +4 -4
- package/dist/blocks/agents/index.js +6 -7
- package/dist/blocks/ai-cache/index.d.ts +3 -3
- package/dist/blocks/ai-cache/index.js +3 -3
- package/dist/blocks/ai-chat/index.d.ts +10 -7
- package/dist/blocks/ai-chat/index.js +4 -4
- package/dist/blocks/ai-chat/react/index.d.ts +18 -9
- package/dist/blocks/ai-chat/react/index.js +8 -8
- package/dist/blocks/ai-chat/react/server.d.ts +12 -3
- package/dist/blocks/ai-chat/react/server.js +12 -3
- package/dist/blocks/ai-chat/solid/index.d.ts +3 -3
- package/dist/blocks/ai-chat/solid/index.js +2 -2
- package/dist/blocks/ai-chat/svelte/index.d.ts +3 -3
- package/dist/blocks/ai-chat/svelte/index.js +2 -2
- package/dist/blocks/ai-chat/vue/index.d.ts +3 -3
- package/dist/blocks/ai-chat/vue/index.js +2 -2
- package/dist/blocks/ai-files/index.d.ts +5 -5
- package/dist/blocks/ai-files/index.js +3 -3
- package/dist/blocks/ai-providers/index.d.ts +4 -4
- package/dist/blocks/ai-providers/index.js +8 -9
- package/dist/blocks/ai-tasks/index.d.ts +3 -3
- package/dist/blocks/ai-tasks/index.js +9 -10
- package/dist/blocks/announcements/index.d.ts +4 -4
- package/dist/blocks/announcements/index.js +5 -5
- package/dist/blocks/announcements/react/index.d.ts +12 -5
- package/dist/blocks/announcements/react/index.js +7 -7
- package/dist/blocks/announcements/react/server.d.ts +4 -1
- package/dist/blocks/announcements/react/server.js +4 -1
- package/dist/blocks/announcements/solid/index.d.ts +3 -3
- package/dist/blocks/announcements/solid/index.js +2 -2
- package/dist/blocks/announcements/svelte/index.d.ts +3 -3
- package/dist/blocks/announcements/svelte/index.js +2 -2
- package/dist/blocks/announcements/vue/index.d.ts +3 -3
- package/dist/blocks/announcements/vue/index.js +2 -2
- package/dist/blocks/api-keys/index.d.ts +11 -8
- package/dist/blocks/api-keys/index.js +8 -8
- package/dist/blocks/api-keys/react/index.d.ts +11 -8
- package/dist/blocks/api-keys/react/index.js +9 -9
- package/dist/blocks/api-keys/react/server.d.ts +1 -1
- package/dist/blocks/api-keys/solid/index.d.ts +3 -3
- package/dist/blocks/api-keys/solid/index.js +2 -2
- package/dist/blocks/api-keys/svelte/index.d.ts +3 -3
- package/dist/blocks/api-keys/svelte/index.js +2 -2
- package/dist/blocks/api-keys/vue/index.d.ts +3 -3
- package/dist/blocks/api-keys/vue/index.js +2 -2
- package/dist/blocks/approvals/index.d.ts +4 -4
- package/dist/blocks/approvals/index.js +29 -25
- package/dist/blocks/assets/index.d.ts +283 -0
- package/dist/blocks/assets/index.js +288 -0
- package/dist/blocks/assignment/index.d.ts +124 -0
- package/dist/blocks/assignment/index.js +141 -0
- package/dist/blocks/attachments/index.d.ts +45 -6
- package/dist/blocks/attachments/index.js +96 -7
- package/dist/blocks/attachments/react/index.d.ts +53 -0
- package/dist/blocks/attachments/react/index.js +78 -0
- package/dist/blocks/attachments/react/server.d.ts +9 -0
- package/dist/blocks/attachments/react/server.js +10 -0
- package/dist/blocks/attachments/solid/index.d.ts +13 -0
- package/dist/blocks/attachments/solid/index.js +14 -0
- package/dist/blocks/attachments/svelte/index.d.ts +13 -0
- package/dist/blocks/attachments/svelte/index.js +14 -0
- package/dist/blocks/attachments/vue/index.d.ts +13 -0
- package/dist/blocks/attachments/vue/index.js +14 -0
- package/dist/blocks/audit/index.d.ts +14 -8
- package/dist/blocks/audit/index.js +9 -10
- package/dist/blocks/audit/react/index.d.ts +12 -7
- package/dist/blocks/audit/react/index.js +12 -10
- package/dist/blocks/audit/react/server.d.ts +1 -1
- package/dist/blocks/audit/solid/index.d.ts +3 -3
- package/dist/blocks/audit/solid/index.js +2 -2
- package/dist/blocks/audit/svelte/index.d.ts +3 -3
- package/dist/blocks/audit/svelte/index.js +2 -2
- package/dist/blocks/audit/vue/index.d.ts +3 -3
- package/dist/blocks/audit/vue/index.js +2 -2
- package/dist/blocks/billable-time/index.d.ts +203 -0
- package/dist/blocks/billable-time/index.js +260 -0
- package/dist/blocks/billing/index.d.ts +144 -53
- package/dist/blocks/billing/index.js +165 -47
- package/dist/blocks/billing/react/index.d.ts +19 -9
- package/dist/blocks/billing/react/index.js +12 -8
- package/dist/blocks/billing/react/server.d.ts +5 -2
- package/dist/blocks/billing/react/server.js +4 -1
- package/dist/blocks/billing/solid/index.d.ts +3 -3
- package/dist/blocks/billing/solid/index.js +2 -2
- package/dist/blocks/billing/svelte/index.d.ts +3 -3
- package/dist/blocks/billing/svelte/index.js +2 -2
- package/dist/blocks/billing/vue/index.d.ts +3 -3
- package/dist/blocks/billing/vue/index.js +2 -2
- package/dist/blocks/bookings/index.d.ts +19 -9
- package/dist/blocks/bookings/index.js +9 -7
- package/dist/blocks/bookings/react/index.d.ts +9 -4
- package/dist/blocks/bookings/react/index.js +12 -8
- package/dist/blocks/bookings/react/server.d.ts +4 -1
- package/dist/blocks/bookings/react/server.js +4 -1
- package/dist/blocks/bookings/solid/index.d.ts +3 -3
- package/dist/blocks/bookings/solid/index.js +2 -2
- package/dist/blocks/bookings/svelte/index.d.ts +3 -3
- package/dist/blocks/bookings/svelte/index.js +2 -2
- package/dist/blocks/bookings/vue/index.d.ts +3 -3
- package/dist/blocks/bookings/vue/index.js +2 -2
- package/dist/blocks/bulk/index.d.ts +27 -12
- package/dist/blocks/bulk/index.js +5 -5
- package/dist/blocks/calendar/index.d.ts +13 -5
- package/dist/blocks/calendar/index.js +113 -5
- package/dist/blocks/calendar/react/index.d.ts +5 -5
- package/dist/blocks/calendar/react/index.js +8 -8
- package/dist/blocks/calendar/react/server.d.ts +4 -1
- package/dist/blocks/calendar/react/server.js +4 -1
- package/dist/blocks/calendar/solid/index.d.ts +3 -3
- package/dist/blocks/calendar/solid/index.js +2 -2
- package/dist/blocks/calendar/svelte/index.d.ts +3 -3
- package/dist/blocks/calendar/svelte/index.js +2 -2
- package/dist/blocks/calendar/vue/index.d.ts +3 -3
- package/dist/blocks/calendar/vue/index.js +2 -2
- package/dist/blocks/catalog/index.d.ts +48 -36
- package/dist/blocks/catalog/index.js +49 -53
- package/dist/blocks/channels/index.d.ts +111 -0
- package/dist/blocks/channels/index.js +190 -0
- package/dist/blocks/collections/index.d.ts +101 -23
- package/dist/blocks/collections/index.js +88 -13
- package/dist/blocks/comments/index.d.ts +48 -47
- package/dist/blocks/comments/index.js +113 -16
- package/dist/blocks/comments/react/index.d.ts +17 -12
- package/dist/blocks/comments/react/index.js +38 -27
- package/dist/blocks/comments/react/server.d.ts +1 -1
- package/dist/blocks/comments/solid/index.d.ts +3 -3
- package/dist/blocks/comments/solid/index.js +2 -2
- package/dist/blocks/comments/svelte/index.d.ts +3 -3
- package/dist/blocks/comments/svelte/index.js +2 -2
- package/dist/blocks/comments/vue/index.d.ts +3 -3
- package/dist/blocks/comments/vue/index.js +2 -2
- package/dist/blocks/connectors/index.d.ts +4 -4
- package/dist/blocks/connectors/index.js +8 -9
- package/dist/blocks/contracts/index.d.ts +241 -0
- package/dist/blocks/contracts/index.js +361 -0
- package/dist/blocks/controls/index.d.ts +325 -0
- package/dist/blocks/controls/index.js +410 -0
- package/dist/blocks/courses/index.d.ts +341 -0
- package/dist/blocks/courses/index.js +445 -0
- package/dist/blocks/custom-fields/index.d.ts +50 -16
- package/dist/blocks/custom-fields/index.js +27 -22
- package/dist/blocks/data-lifecycle/index.d.ts +75 -51
- package/dist/blocks/data-lifecycle/index.js +17 -12
- package/dist/blocks/deals/index.d.ts +25 -45
- package/dist/blocks/deals/index.js +161 -71
- package/dist/blocks/dispatch/index.d.ts +327 -0
- package/dist/blocks/dispatch/index.js +406 -0
- package/dist/blocks/documents/index.d.ts +8 -5
- package/dist/blocks/documents/index.js +67 -8
- package/dist/blocks/domains/index.d.ts +35 -20
- package/dist/blocks/domains/index.js +9 -10
- package/dist/blocks/donations/index.d.ts +352 -0
- package/dist/blocks/donations/index.js +602 -0
- package/dist/blocks/drive/index.d.ts +91 -28
- package/dist/blocks/drive/index.js +71 -17
- package/dist/blocks/employees/index.d.ts +16 -190
- package/dist/blocks/employees/index.js +107 -38
- package/dist/blocks/engagements/index.d.ts +27 -111
- package/dist/blocks/engagements/index.js +285 -14
- package/dist/blocks/enrichment/index.d.ts +176 -0
- package/dist/blocks/enrichment/index.js +243 -0
- package/dist/blocks/enrollments/index.d.ts +184 -0
- package/dist/blocks/enrollments/index.js +173 -0
- package/dist/blocks/entitlements/index.d.ts +20 -14
- package/dist/blocks/entitlements/index.js +4 -4
- package/dist/blocks/entitlements/react/index.d.ts +10 -7
- package/dist/blocks/entitlements/react/index.js +7 -7
- package/dist/blocks/entitlements/react/server.d.ts +4 -1
- package/dist/blocks/entitlements/react/server.js +4 -1
- package/dist/blocks/entitlements/solid/index.d.ts +3 -3
- package/dist/blocks/entitlements/solid/index.js +2 -2
- package/dist/blocks/entitlements/svelte/index.d.ts +3 -3
- package/dist/blocks/entitlements/svelte/index.js +2 -2
- package/dist/blocks/entitlements/vue/index.d.ts +3 -3
- package/dist/blocks/entitlements/vue/index.js +2 -2
- package/dist/blocks/expenses/index.d.ts +214 -0
- package/dist/blocks/expenses/index.js +279 -0
- package/dist/blocks/field-history/index.d.ts +63 -0
- package/dist/blocks/field-history/index.js +48 -0
- package/dist/blocks/flags/index.d.ts +20 -14
- package/dist/blocks/flags/index.js +9 -10
- package/dist/blocks/forecasts/index.d.ts +119 -0
- package/dist/blocks/forecasts/index.js +129 -0
- package/dist/blocks/forms/index.d.ts +96 -148
- package/dist/blocks/forms/index.js +121 -157
- package/dist/blocks/forms/react/index.d.ts +9 -6
- package/dist/blocks/forms/react/index.js +10 -7
- package/dist/blocks/forms/react/server.d.ts +4 -1
- package/dist/blocks/forms/react/server.js +4 -1
- package/dist/blocks/forms/solid/index.d.ts +3 -3
- package/dist/blocks/forms/solid/index.js +2 -2
- package/dist/blocks/forms/svelte/index.d.ts +3 -3
- package/dist/blocks/forms/svelte/index.js +2 -2
- package/dist/blocks/forms/vue/index.d.ts +3 -3
- package/dist/blocks/forms/vue/index.js +2 -2
- package/dist/blocks/guests/index.d.ts +200 -0
- package/dist/blocks/guests/index.js +224 -0
- package/dist/blocks/hiring/index.d.ts +13 -13
- package/dist/blocks/hiring/index.js +9 -10
- package/dist/blocks/identities/index.d.ts +38 -20
- package/dist/blocks/identities/index.js +16 -11
- package/dist/blocks/imports/index.d.ts +30 -25
- package/dist/blocks/imports/index.js +19 -19
- package/dist/blocks/inbox/index.d.ts +9 -6
- package/dist/blocks/inbox/index.js +118 -54
- package/dist/blocks/inbox/react/index.d.ts +2 -2
- package/dist/blocks/inbox/react/index.js +15 -9
- package/dist/blocks/inbox/react/server.d.ts +12 -6
- package/dist/blocks/inbox/react/server.js +8 -2
- package/dist/blocks/inbox/solid/index.d.ts +6 -6
- package/dist/blocks/inbox/solid/index.js +2 -2
- package/dist/blocks/inbox/svelte/index.d.ts +6 -6
- package/dist/blocks/inbox/svelte/index.js +2 -2
- package/dist/blocks/inbox/vue/index.d.ts +6 -6
- package/dist/blocks/inbox/vue/index.js +2 -2
- package/dist/blocks/incidents/index.d.ts +337 -0
- package/dist/blocks/incidents/index.js +477 -0
- package/dist/blocks/index.d.ts +126 -11
- package/dist/blocks/index.js +171 -193
- package/dist/blocks/inventory/index.d.ts +36 -19
- package/dist/blocks/inventory/index.js +15 -10
- package/dist/blocks/invoices/index.d.ts +13 -13
- package/dist/blocks/invoices/index.js +11 -12
- package/dist/blocks/jobs/index.d.ts +123 -86
- package/dist/blocks/jobs/index.js +59 -49
- package/dist/blocks/knowledge/index.d.ts +3 -3
- package/dist/blocks/knowledge/index.js +3 -3
- package/dist/blocks/lead-scoring/index.d.ts +50 -0
- package/dist/blocks/lead-scoring/index.js +87 -0
- package/dist/blocks/leases/index.d.ts +278 -0
- package/dist/blocks/leases/index.js +319 -0
- package/dist/blocks/leave/index.d.ts +30 -15
- package/dist/blocks/leave/index.js +6 -7
- package/dist/blocks/ledger/index.d.ts +281 -0
- package/dist/blocks/ledger/index.js +229 -0
- package/dist/blocks/mail-sync/index.d.ts +37 -0
- package/dist/blocks/mail-sync/index.js +898 -0
- package/dist/blocks/memory/index.d.ts +4 -4
- package/dist/blocks/memory/index.js +7 -8
- package/dist/blocks/messaging/index.d.ts +86 -0
- package/dist/blocks/messaging/index.js +48 -0
- package/dist/blocks/messaging/react/index.d.ts +39 -0
- package/dist/blocks/messaging/react/index.js +80 -0
- package/dist/blocks/messaging/react/server.d.ts +12 -0
- package/dist/blocks/messaging/react/server.js +14 -0
- package/dist/blocks/messaging/solid/index.d.ts +20 -0
- package/dist/blocks/messaging/solid/index.js +23 -0
- package/dist/blocks/messaging/svelte/index.d.ts +20 -0
- package/dist/blocks/messaging/svelte/index.js +23 -0
- package/dist/blocks/messaging/vue/index.d.ts +20 -0
- package/dist/blocks/messaging/vue/index.js +23 -0
- package/dist/blocks/metrics/index.d.ts +36 -30
- package/dist/blocks/metrics/index.js +19 -20
- package/dist/blocks/mfa/index.d.ts +2 -2
- package/dist/blocks/mfa/index.js +2 -2
- package/dist/blocks/mfa/react/index.d.ts +7 -7
- package/dist/blocks/mfa/react/index.js +9 -9
- package/dist/blocks/mfa/react/server.d.ts +1 -1
- package/dist/blocks/mfa/react/server.js +1 -1
- package/dist/blocks/mfa/solid/index.d.ts +3 -3
- package/dist/blocks/mfa/solid/index.js +2 -2
- package/dist/blocks/mfa/svelte/index.d.ts +3 -3
- package/dist/blocks/mfa/svelte/index.js +2 -2
- package/dist/blocks/mfa/vue/index.d.ts +3 -3
- package/dist/blocks/mfa/vue/index.js +2 -2
- package/dist/blocks/moderation/index.d.ts +205 -0
- package/dist/blocks/moderation/index.js +199 -0
- package/dist/blocks/notifications/index.d.ts +132 -103
- package/dist/blocks/notifications/index.js +62 -48
- package/dist/blocks/notifications/react/index.d.ts +3 -3
- package/dist/blocks/notifications/react/index.js +5 -5
- package/dist/blocks/notifications/react/server.d.ts +5 -2
- package/dist/blocks/notifications/react/server.js +4 -1
- package/dist/blocks/notifications/solid/index.d.ts +3 -3
- package/dist/blocks/notifications/solid/index.js +2 -2
- package/dist/blocks/notifications/svelte/index.d.ts +3 -3
- package/dist/blocks/notifications/svelte/index.js +2 -2
- package/dist/blocks/notifications/vue/index.d.ts +3 -3
- package/dist/blocks/notifications/vue/index.js +2 -2
- package/dist/blocks/number-sequences/index.d.ts +15 -12
- package/dist/blocks/number-sequences/index.js +8 -5
- package/dist/blocks/oauth-server/index.d.ts +42 -21
- package/dist/blocks/oauth-server/index.js +16 -14
- package/dist/blocks/onboarding/index.d.ts +3 -3
- package/dist/blocks/onboarding/index.js +4 -4
- package/dist/blocks/onboarding/react/index.d.ts +10 -5
- package/dist/blocks/onboarding/react/index.js +10 -8
- package/dist/blocks/onboarding/react/server.d.ts +5 -2
- package/dist/blocks/onboarding/react/server.js +4 -1
- package/dist/blocks/onboarding/solid/index.d.ts +3 -3
- package/dist/blocks/onboarding/solid/index.js +2 -2
- package/dist/blocks/onboarding/svelte/index.d.ts +3 -3
- package/dist/blocks/onboarding/svelte/index.js +2 -2
- package/dist/blocks/onboarding/vue/index.d.ts +3 -3
- package/dist/blocks/onboarding/vue/index.js +2 -2
- package/dist/blocks/orders/index.d.ts +176 -31
- package/dist/blocks/orders/index.js +167 -25
- package/dist/blocks/organizations/index.d.ts +5 -5
- package/dist/blocks/organizations/index.js +6 -28
- package/dist/blocks/organizations/react/index.d.ts +40 -21
- package/dist/blocks/organizations/react/index.js +5 -5
- package/dist/blocks/organizations/react/server.d.ts +13 -4
- package/dist/blocks/organizations/react/server.js +12 -3
- package/dist/blocks/organizations/solid/index.d.ts +3 -3
- package/dist/blocks/organizations/solid/index.js +2 -2
- package/dist/blocks/organizations/svelte/index.d.ts +3 -3
- package/dist/blocks/organizations/svelte/index.js +2 -2
- package/dist/blocks/organizations/vue/index.d.ts +3 -3
- package/dist/blocks/organizations/vue/index.js +2 -2
- package/dist/blocks/outbox/index.d.ts +4 -4
- package/dist/blocks/outbox/index.js +21 -18
- package/dist/blocks/parties/index.d.ts +36 -35
- package/dist/blocks/parties/index.js +152 -52
- package/dist/blocks/passes/index.d.ts +308 -0
- package/dist/blocks/passes/index.js +411 -0
- package/dist/blocks/pipelines/index.d.ts +26 -17
- package/dist/blocks/pipelines/index.js +11 -12
- package/dist/blocks/posts/index.d.ts +190 -0
- package/dist/blocks/posts/index.js +230 -0
- package/dist/blocks/profiles/index.d.ts +23 -14
- package/dist/blocks/profiles/index.js +5 -6
- package/dist/blocks/promotions/index.d.ts +34 -16
- package/dist/blocks/promotions/index.js +12 -10
- package/dist/blocks/push/index.d.ts +43 -25
- package/dist/blocks/push/index.js +16 -17
- package/dist/blocks/quotes/index.d.ts +15 -12
- package/dist/blocks/quotes/index.js +9 -10
- package/dist/blocks/rank/index.d.ts +12 -12
- package/dist/blocks/rank/index.js +4 -4
- package/dist/blocks/reactions/index.d.ts +5 -5
- package/dist/blocks/reactions/index.js +4 -4
- package/dist/blocks/reactions/react/index.d.ts +20 -11
- package/dist/blocks/reactions/react/index.js +37 -26
- package/dist/blocks/reactions/react/server.d.ts +4 -1
- package/dist/blocks/reactions/react/server.js +4 -1
- package/dist/blocks/reactions/solid/index.d.ts +3 -3
- package/dist/blocks/reactions/solid/index.js +2 -2
- package/dist/blocks/reactions/svelte/index.d.ts +3 -3
- package/dist/blocks/reactions/svelte/index.js +2 -2
- package/dist/blocks/reactions/vue/index.d.ts +3 -3
- package/dist/blocks/reactions/vue/index.js +2 -2
- package/dist/blocks/relations/index.d.ts +82 -46
- package/dist/blocks/relations/index.js +120 -63
- package/dist/blocks/reminders/index.d.ts +45 -32
- package/dist/blocks/reminders/index.js +38 -33
- package/dist/blocks/reviews/index.d.ts +32 -17
- package/dist/blocks/reviews/index.js +6 -7
- package/dist/blocks/rules/index.d.ts +32 -26
- package/dist/blocks/rules/index.js +15 -15
- package/dist/blocks/rules/react/index.d.ts +9 -5
- package/dist/blocks/rules/react/index.js +12 -8
- package/dist/blocks/rules/solid/index.d.ts +3 -3
- package/dist/blocks/rules/solid/index.js +2 -2
- package/dist/blocks/rules/svelte/index.d.ts +3 -3
- package/dist/blocks/rules/svelte/index.js +2 -2
- package/dist/blocks/rules/vue/index.d.ts +3 -3
- package/dist/blocks/rules/vue/index.js +2 -2
- package/dist/blocks/saved-views/index.d.ts +3 -3
- package/dist/blocks/saved-views/index.js +3 -3
- package/dist/blocks/saved-views/react/index.d.ts +14 -8
- package/dist/blocks/saved-views/react/index.js +11 -8
- package/dist/blocks/saved-views/react/server.d.ts +5 -2
- package/dist/blocks/saved-views/react/server.js +4 -1
- package/dist/blocks/saved-views/solid/index.d.ts +3 -3
- package/dist/blocks/saved-views/solid/index.js +2 -2
- package/dist/blocks/saved-views/svelte/index.d.ts +3 -3
- package/dist/blocks/saved-views/svelte/index.js +2 -2
- package/dist/blocks/saved-views/vue/index.d.ts +3 -3
- package/dist/blocks/saved-views/vue/index.js +2 -2
- package/dist/blocks/scores/index.d.ts +50 -0
- package/dist/blocks/scores/index.js +40 -0
- package/dist/blocks/search/index.d.ts +12 -9
- package/dist/blocks/search/index.js +9 -10
- package/dist/blocks/search/react/index.d.ts +8 -5
- package/dist/blocks/search/react/index.js +6 -6
- package/dist/blocks/search/react/server.d.ts +5 -2
- package/dist/blocks/search/react/server.js +4 -1
- package/dist/blocks/search/solid/index.d.ts +3 -3
- package/dist/blocks/search/solid/index.js +2 -2
- package/dist/blocks/search/svelte/index.d.ts +3 -3
- package/dist/blocks/search/svelte/index.js +2 -2
- package/dist/blocks/search/vue/index.d.ts +3 -3
- package/dist/blocks/search/vue/index.js +2 -2
- package/dist/blocks/segments/index.d.ts +130 -0
- package/dist/blocks/segments/index.js +135 -0
- package/dist/blocks/sequences/index.d.ts +259 -0
- package/dist/blocks/sequences/index.js +370 -0
- package/dist/blocks/service-principals/index.d.ts +24 -18
- package/dist/blocks/service-principals/index.js +11 -9
- package/dist/blocks/sessions/index.d.ts +2 -2
- package/dist/blocks/sessions/index.js +2 -2
- package/dist/blocks/sessions/react/index.d.ts +10 -5
- package/dist/blocks/sessions/react/index.js +8 -6
- package/dist/blocks/sessions/react/server.d.ts +9 -3
- package/dist/blocks/sessions/react/server.js +8 -2
- package/dist/blocks/sessions/solid/index.d.ts +3 -3
- package/dist/blocks/sessions/solid/index.js +2 -2
- package/dist/blocks/sessions/svelte/index.d.ts +3 -3
- package/dist/blocks/sessions/svelte/index.js +2 -2
- package/dist/blocks/sessions/vue/index.d.ts +3 -3
- package/dist/blocks/sessions/vue/index.js +2 -2
- package/dist/blocks/settings/index.d.ts +6 -5
- package/dist/blocks/settings/index.js +7 -6
- package/dist/blocks/settings/react/index.d.ts +13 -7
- package/dist/blocks/settings/react/index.js +5 -5
- package/dist/blocks/settings/react/server.d.ts +5 -2
- package/dist/blocks/settings/react/server.js +4 -1
- package/dist/blocks/settings/solid/index.d.ts +3 -3
- package/dist/blocks/settings/solid/index.js +2 -2
- package/dist/blocks/settings/svelte/index.d.ts +3 -3
- package/dist/blocks/settings/svelte/index.js +2 -2
- package/dist/blocks/settings/vue/index.d.ts +3 -3
- package/dist/blocks/settings/vue/index.js +2 -2
- package/dist/blocks/share-links/index.d.ts +58 -23
- package/dist/blocks/share-links/index.js +74 -23
- package/dist/blocks/shared-signals/index.d.ts +82 -37
- package/dist/blocks/shared-signals/index.js +24 -19
- package/dist/blocks/shipments/index.d.ts +238 -0
- package/dist/blocks/shipments/index.js +540 -0
- package/dist/blocks/signatures/index.d.ts +151 -0
- package/dist/blocks/signatures/index.js +149 -0
- package/dist/blocks/signing-keys/index.d.ts +5 -5
- package/dist/blocks/signing-keys/index.js +5 -166
- package/dist/blocks/sla/index.d.ts +43 -31
- package/dist/blocks/sla/index.js +44 -15
- package/dist/blocks/sso/index.d.ts +35 -30
- package/dist/blocks/sso/index.js +31 -18
- package/dist/blocks/state-machine/index.d.ts +31 -22
- package/dist/blocks/state-machine/index.js +27 -27
- package/dist/blocks/subjects/index.d.ts +11 -0
- package/dist/blocks/subjects/index.js +21 -0
- package/dist/blocks/subjects/react/index.d.ts +31 -0
- package/dist/blocks/subjects/react/index.js +60 -0
- package/dist/blocks/subjects/react/server.d.ts +9 -0
- package/dist/blocks/subjects/react/server.js +12 -0
- package/dist/blocks/subjects/solid/index.d.ts +13 -0
- package/dist/blocks/subjects/solid/index.js +14 -0
- package/dist/blocks/subjects/svelte/index.d.ts +13 -0
- package/dist/blocks/subjects/svelte/index.js +14 -0
- package/dist/blocks/subjects/vue/index.d.ts +13 -0
- package/dist/blocks/subjects/vue/index.js +14 -0
- package/dist/blocks/tags/index.d.ts +37 -5
- package/dist/blocks/tags/index.js +50 -5
- package/dist/blocks/tags/react/index.d.ts +13 -12
- package/dist/blocks/tags/react/index.js +30 -24
- package/dist/blocks/tags/react/server.d.ts +1 -1
- package/dist/blocks/tags/solid/index.d.ts +3 -3
- package/dist/blocks/tags/solid/index.js +2 -2
- package/dist/blocks/tags/svelte/index.d.ts +3 -3
- package/dist/blocks/tags/svelte/index.js +2 -2
- package/dist/blocks/tags/vue/index.d.ts +3 -3
- package/dist/blocks/tags/vue/index.js +2 -2
- package/dist/blocks/targets/index.d.ts +13 -13
- package/dist/blocks/targets/index.js +7 -8
- package/dist/blocks/teams/index.d.ts +9 -9
- package/dist/blocks/teams/index.js +5 -5
- package/dist/blocks/templates/index.d.ts +67 -51
- package/dist/blocks/templates/index.js +23 -25
- package/dist/blocks/time-tracking/index.d.ts +63 -45
- package/dist/blocks/time-tracking/index.js +50 -47
- package/dist/blocks/trash/index.d.ts +13 -11
- package/dist/blocks/trash/index.js +5 -6
- package/dist/blocks/undo/index.d.ts +4 -4
- package/dist/blocks/undo/index.js +4 -4
- package/dist/blocks/undo/react/index.d.ts +3 -3
- package/dist/blocks/undo/react/index.js +4 -4
- package/dist/blocks/undo/react/server.d.ts +5 -2
- package/dist/blocks/undo/react/server.js +4 -1
- package/dist/blocks/undo/solid/index.d.ts +3 -3
- package/dist/blocks/undo/solid/index.js +2 -2
- package/dist/blocks/undo/svelte/index.d.ts +3 -3
- package/dist/blocks/undo/svelte/index.js +2 -2
- package/dist/blocks/undo/vue/index.d.ts +3 -3
- package/dist/blocks/undo/vue/index.js +2 -2
- package/dist/blocks/usage/index.d.ts +5 -5
- package/dist/blocks/usage/index.js +4 -4
- package/dist/blocks/usage/react/index.d.ts +12 -6
- package/dist/blocks/usage/react/index.js +8 -8
- package/dist/blocks/usage/react/server.d.ts +1 -1
- package/dist/blocks/usage/solid/index.d.ts +3 -3
- package/dist/blocks/usage/solid/index.js +2 -2
- package/dist/blocks/usage/svelte/index.d.ts +3 -3
- package/dist/blocks/usage/svelte/index.js +2 -2
- package/dist/blocks/usage/vue/index.d.ts +3 -3
- package/dist/blocks/usage/vue/index.js +2 -2
- package/dist/blocks/vercel-marketplace/index.d.ts +252 -17
- package/dist/blocks/vercel-marketplace/index.js +489 -57
- package/dist/blocks/versions/index.d.ts +55 -31
- package/dist/blocks/versions/index.js +75 -30
- package/dist/blocks/waitlist/index.d.ts +31 -18
- package/dist/blocks/waitlist/index.js +10 -8
- package/dist/blocks/webhooks/index.d.ts +126 -89
- package/dist/blocks/webhooks/index.js +72 -62
- package/dist/blocks/work-items/index.d.ts +63 -184
- package/dist/blocks/work-items/index.js +162 -36
- package/dist/blocks/workflow-builder/index.d.ts +15 -13
- package/dist/blocks/workflow-builder/index.js +11 -8
- package/dist/blocks/workflow-builder/react/index.d.ts +4 -4
- package/dist/blocks/workflow-builder/react/index.js +8 -8
- package/dist/blocks/workflow-builder/react/server.d.ts +8 -2
- package/dist/blocks/workflow-builder/react/server.js +8 -2
- package/dist/blocks/workflow-builder/solid/index.d.ts +3 -3
- package/dist/blocks/workflow-builder/solid/index.js +2 -2
- package/dist/blocks/workflow-builder/svelte/index.d.ts +3 -3
- package/dist/blocks/workflow-builder/svelte/index.js +2 -2
- package/dist/blocks/workflow-builder/vue/index.d.ts +3 -3
- package/dist/blocks/workflow-builder/vue/index.js +2 -2
- package/dist/blocks/workflows/index.d.ts +5 -5
- package/dist/blocks/workflows/index.js +5 -5
- package/dist/blocks/workflows/react/index.d.ts +13 -6
- package/dist/blocks/workflows/react/index.js +7 -7
- package/dist/blocks/workflows/react/server.d.ts +8 -2
- package/dist/blocks/workflows/react/server.js +8 -2
- package/dist/blocks/workflows/solid/index.d.ts +3 -3
- package/dist/blocks/workflows/solid/index.js +2 -2
- package/dist/blocks/workflows/svelte/index.d.ts +3 -3
- package/dist/blocks/workflows/svelte/index.js +2 -2
- package/dist/blocks/workflows/vue/index.d.ts +3 -3
- package/dist/blocks/workflows/vue/index.js +2 -2
- package/dist/bookings-BB5lFlNO.js +310 -0
- package/dist/bookings-CC7IeiRa.d.ts +290 -0
- package/dist/bucket-TkB7_xv8.d.ts +667 -0
- package/dist/build-DCfpwg78.js +1839 -0
- package/dist/build-g9wTbQdp.js +703 -0
- package/dist/calendar-T3Vdpq7E.js +952 -0
- package/dist/carrier-C7Q_21Kd.d.ts +169 -0
- package/dist/channel-BjvGO39m.d.ts +77 -0
- package/dist/channels-CfcFPuo_.js +114 -0
- package/dist/chat-sdk/index.d.ts +188 -80
- package/dist/chat-sdk/index.js +102 -57
- package/dist/chat-sdk/react/index.d.ts +2 -2
- package/dist/chat-sdk/react/server.d.ts +2 -2
- package/dist/claims-Bp9My7XP.js +88 -0
- package/dist/claims-T8TWZ53E.js +63 -0
- package/dist/cli/add-Bf3kE6PY.js +75 -0
- package/dist/cli/add-CYh6Sxk1.js +674 -0
- package/dist/cli/add-Dg40eFKE.js +1 -0
- package/dist/cli/adopt-B0vrj-4B.js +421 -0
- package/dist/cli/adopt-DJR1k3lS.js +1 -0
- package/dist/cli/agent-CbuPvI2x.js +185 -0
- package/dist/cli/apply-DUQ-5LC6.js +329 -0
- package/dist/cli/bin.js +3 -3
- package/dist/cli/blocks-DzgYfjVv.js +124 -0
- package/dist/cli/blocks-gGupqvBH.js +1 -0
- package/dist/cli/cache-C3K_wOE2.js +536 -0
- package/dist/cli/catalog-CNM0ViIh.js +199 -0
- package/dist/cli/codemod-Dz4R-tVY.js +1127 -0
- package/dist/cli/command-33pu13LT.js +963 -0
- package/dist/cli/completion-6M6Hr8TL.js +211 -0
- package/dist/cli/completion-Bqu8yq0q.js +1 -0
- package/dist/cli/completion-Ddr3yqd3.js +30 -0
- package/dist/cli/config-B31tIvAl.js +42 -0
- package/dist/cli/config-CjgXMZW2.js +1522 -0
- package/dist/cli/config-D9k5ckqV.js +1 -0
- package/dist/cli/config-edit-D46H0UHp.js +613 -0
- package/dist/cli/db-CQCLx7cx.js +78 -0
- package/dist/cli/db-CeagtENM.js +473 -0
- package/dist/cli/design-edit-B40ljpGZ.js +205 -0
- package/dist/cli/detect-RApSAA8v.js +84 -0
- package/dist/cli/dist-DSwzLVAG.js +129 -0
- package/dist/cli/doctor-COGJJ1gy.js +3898 -0
- package/dist/cli/emit-DbQeLlHt.js +1123 -0
- package/dist/cli/env-Ba-pOD3a.js +1 -0
- package/dist/cli/env-C-Bl6Awn.js +1 -0
- package/dist/cli/env-DMgjB_4y.js +1114 -0
- package/dist/cli/env-DlgfvI8U.js +143 -0
- package/dist/cli/errors-BTe6A15O.js +98 -0
- package/dist/cli/exec--Q1ZEWUW.js +463 -0
- package/dist/cli/files-C5JfVnj5.js +972 -0
- package/dist/cli/fresh-import-DzgsGHkX.js +40 -0
- package/dist/cli/gen-DHW1qENn.js +307 -0
- package/dist/cli/index.d.ts +252 -177
- package/dist/cli/index.js +16 -16
- package/dist/cli/init-CZifzAUD.js +397 -0
- package/dist/cli/introspect-Dfwu5vAg.js +51 -0
- package/dist/cli/io-DH1kcmmP.js +37 -0
- package/dist/cli/keys-iJs_1WT8.js +106 -0
- package/dist/cli/live-1eL2MIkS.js +344 -0
- package/dist/cli/mcp-CaFW6uKU.js +240 -0
- package/dist/cli/metadata-DkOQHZoH.js +146 -0
- package/dist/cli/migration-safety-BsCKKxPf.js +305 -0
- package/dist/cli/module-migration-CbX-jRhV.js +606 -0
- package/dist/cli/moved-CdNtCf4t.js +161 -0
- package/dist/cli/parse-CRZLku1b.js +182 -0
- package/dist/cli/preset-C4fagbhZ.js +130 -0
- package/dist/cli/prompts-jqnr94b9.js +1140 -0
- package/dist/cli/redact-KGAk2Ul9.js +38 -0
- package/dist/cli/run-CE2s5TDh.js +711 -0
- package/dist/cli/run-Du5XPOCv.js +63 -0
- package/dist/cli/run-KXjrgNCH.js +2378 -0
- package/dist/cli/scaffold-CPH8sEhw.js +901 -0
- package/dist/cli/scaffold-DS6g3INp.js +1 -0
- package/dist/cli/seed-D6V-T5Af.js +188 -0
- package/dist/cli/seed-DPQaA8aP.js +1 -0
- package/dist/cli/shared-CCpxS5if.js +151 -0
- package/dist/cli/skills-Bz4INB8f.js +121 -0
- package/dist/cli/snapshot-Dkwxc1uV.js +351 -0
- package/dist/cli/source-args-DZV4RnZL.js +59 -0
- package/dist/cli/spec-B3Tbc7Dm.js +7534 -0
- package/dist/cli/spec-Cv1GYrcW.js +1 -0
- package/dist/cli/sql-C58MS9DI.js +348 -0
- package/dist/cli/sql-DVPw5tvO.js +2 -0
- package/dist/cli/stack-_F_JhllX.js +135 -0
- package/dist/cli/stack-env-6hS-WEmh.js +93 -0
- package/dist/cli/stack-status-B_Ipd_-z.js +46 -0
- package/dist/cli/stacks-BYlQ96WS.js +232 -0
- package/dist/cli/style-Bm2X5JrN.js +35 -0
- package/dist/cli/supabase-toml-CncmQbO0.js +1164 -0
- package/dist/cli/sync-CjkKpI6d.js +91 -0
- package/dist/cli/topics-BpdnYmWb.js +30 -0
- package/dist/cli/typegen-F9GEjpvD.js +502 -0
- package/dist/cli/validate-B3lF3-jB.js +7522 -0
- package/dist/cli/version-CTqnp3HO.js +4 -0
- package/dist/cli/write-3qdrpS1v.js +201 -0
- package/dist/client/index.d.ts +6 -6
- package/dist/client/index.js +19 -12
- package/dist/client/native/index.d.ts +87 -53
- package/dist/client/native/index.js +65 -43
- package/dist/client--tyFmxDT.js +52 -0
- package/dist/client-7_4Y21ue.d.ts +122 -0
- package/dist/client-B1cjaIfv.js +116 -0
- package/dist/client-B2GCMvfd.d.ts +451 -0
- package/dist/client-B8cHiZfF.js +67 -0
- package/dist/client-BIMg9IiF.d.ts +349 -0
- package/dist/client-BKGVUgo7.js +380 -0
- package/dist/client-BNaOcfeH.js +58 -0
- package/dist/client-BQseXods.d.ts +309 -0
- package/dist/client-BSnf6fn6.d.ts +59 -0
- package/dist/client-BW3-RUbq.js +235 -0
- package/dist/client-BYAY7lLs.d.ts +137 -0
- package/dist/client-BcXmbm4f.js +173 -0
- package/dist/client-BgmVu505.js +167 -0
- package/dist/client-Bj0xrUzr.js +437 -0
- package/dist/client-Bn0qqRBg.d.ts +37 -0
- package/dist/client-Bni68sve.d.ts +136 -0
- package/dist/client-BrtwaIBh.d.ts +74 -0
- package/dist/client-BtRx0-kn.js +82 -0
- package/dist/client-BteuBPIy.js +337 -0
- package/dist/client-C1TxDBgX.js +111 -0
- package/dist/client-C1zOmnS8.js +89 -0
- package/dist/client-C56l0MnY.d.ts +177 -0
- package/dist/client-CA6KuLDu.d.ts +223 -0
- package/dist/client-CBcq7LBg.d.ts +178 -0
- package/dist/client-CGJrSTMZ.js +234 -0
- package/dist/client-CLIBcMzL.d.ts +116 -0
- package/dist/client-COuIfjbB.d.ts +46 -0
- package/dist/client-CVToJ4uI.js +84 -0
- package/dist/client-C_0XZieg.js +287 -0
- package/dist/client-CebKlRU7.js +157 -0
- package/dist/client-ChOJ4v0D.js +137 -0
- package/dist/client-CnENAa0E.d.ts +69 -0
- package/dist/client-Cp79i2ZE.d.ts +152 -0
- package/dist/client-CwKsEl6q.js +99 -0
- package/dist/client-D-LPdEDQ.d.ts +43 -0
- package/dist/client-D6gD9qt9.d.ts +45 -0
- package/dist/client-DBwWXQKF.d.ts +132 -0
- package/dist/client-DD3EcytK.js +65 -0
- package/dist/client-DScMvaty.js +38 -0
- package/dist/client-DT6Tvudr.d.ts +54 -0
- package/dist/client-DU1_Jq4e.d.ts +116 -0
- package/dist/client-Dd-a0tup.d.ts +475 -0
- package/dist/client-Dh8zXgpq.js +1060 -0
- package/dist/client-DkI0oyR7.js +76 -0
- package/dist/client-DmjG9PHH.js +211 -0
- package/dist/client-DnUFHmje.js +129 -0
- package/dist/client-Do5hykMK.d.ts +38 -0
- package/dist/client-DzOL3lsV.d.ts +110 -0
- package/dist/client-DzukpHS1.d.ts +165 -0
- package/dist/client-LngH55pZ.d.ts +83 -0
- package/dist/client-PPSwiJaK.js +291 -0
- package/dist/client-RoAuPQNB.d.ts +103 -0
- package/dist/client-WzuQExHk.js +253 -0
- package/dist/client-Y_HnZGF4.js +51 -0
- package/dist/client-bDXsvSXp.d.ts +90 -0
- package/dist/client-bx3Bk7c5.d.ts +64 -0
- package/dist/client-jgDU7Roj.d.ts +144 -0
- package/dist/client-kRvHKAKS.js +60 -0
- package/dist/client-pxXoQOdC.js +40 -0
- package/dist/client-yIxEJwTK.js +121 -0
- package/dist/clone-CkG0-hlI.js +33 -0
- package/dist/cloud-event-SPyXMdcd.d.ts +64 -0
- package/dist/cloud-event-XsM53POL.js +63 -0
- package/dist/codecs-CQrX3ZW4.js +358 -0
- package/dist/codecs-DAu2sYWn.d.ts +222 -0
- package/dist/comments-CB8pFSV1.js +142 -0
- package/dist/commerce/index.d.ts +39 -33
- package/dist/commerce/index.js +38 -28
- package/dist/compiler-BCyHFI6n.d.ts +14 -0
- package/dist/compose--4D1FoPN.js +53 -0
- package/dist/composite-Dv6o2BSw.js +130 -0
- package/dist/composite-KllwFim2.d.ts +82 -0
- package/dist/config/index.d.ts +7 -7
- package/dist/config/index.js +8 -8
- package/dist/config-BuOz_O-y.d.ts +2152 -0
- package/dist/config-Dh4D8lBa.js +13931 -0
- package/dist/config-Dn0cC3bM.js +1093 -0
- package/dist/connector-BdCE4Efp.d.ts +164 -0
- package/dist/connectors-DDiSNvkF.d.ts +147 -0
- package/dist/context-9Q23weHu.d.ts +524 -0
- package/dist/context-CMxVnPMY.js +9 -0
- package/dist/context-CYquqpA6.js +41 -0
- package/dist/controller-BEliOBOv.js +79 -0
- package/dist/controller-CSsC9s3s.js +73 -0
- package/dist/controller-DAD4hbl4.d.ts +52 -0
- package/dist/create/index.d.ts +309 -175
- package/dist/create/index.js +441 -299
- package/dist/create/lite/index.d.ts +19 -12
- package/dist/create/lite/index.js +10 -9
- package/dist/create/oauth/index.d.ts +2 -0
- package/dist/create/oauth/index.js +101 -0
- package/dist/create/supabase/index.d.ts +13 -34
- package/dist/create/supabase/index.js +16 -84
- package/dist/create-blocks-kPUhCvje.js +217 -0
- package/dist/credentials/index.d.ts +12 -12
- package/dist/credentials/index.js +12 -13
- package/dist/cron-_i5pBGkY.js +148 -0
- package/dist/cron-route-Y0eJ-FNi.js +24 -0
- package/dist/csv-2rXGPNtP.js +89 -0
- package/dist/csv-DhHQS2x_.d.ts +28 -0
- package/dist/db-exception-Lngc1W49.js +31 -0
- package/dist/deal-forecast-CBlp20PY.js +39 -0
- package/dist/deal-forecast-LwO-Z4_C.d.ts +23 -0
- package/dist/define-DQznpZYl.js +2023 -0
- package/dist/define-Dw7pRO4h.d.ts +1123 -0
- package/dist/define-block-COpcS6aT.d.ts +1338 -0
- package/dist/define-block-Dze77QTw.js +56 -0
- package/dist/delegation-CeXm9AJ3.js +146 -0
- package/dist/delivery-Bm0jxmzI.js +29 -0
- package/dist/delivery-n6lZGuGx.d.ts +71 -0
- package/dist/documents-kgDOHUfn.d.ts +152 -0
- package/dist/edge/index.d.ts +67 -40
- package/dist/edge/index.js +20 -17
- package/dist/elysia/index.d.ts +16 -14
- package/dist/elysia/index.js +11 -9
- package/dist/email-tt2QqiSc.d.ts +42 -0
- package/dist/embeddings-CcRP-cMN.d.ts +78 -0
- package/dist/embeddings-vVzseUw0.js +128 -0
- package/dist/employees-Dwyvxs4r.d.ts +180 -0
- package/dist/ended--Bd_Q6uL.d.ts +76 -0
- package/dist/engagements-CsJhf2OM.d.ts +179 -0
- package/dist/entitlements-B_ttRvI6.js +45 -0
- package/dist/entitlements-DDevu4ZE.d.ts +54 -0
- package/dist/entity-form-B67vq97h.d.ts +82 -0
- package/dist/entity-naming-DLDhHTbK.js +131 -0
- package/dist/entity-schema-BXXC1NnT.js +39 -0
- package/dist/env/index.d.ts +1 -1
- package/dist/env/index.js +16 -4
- package/dist/envelope-DCfHtVtZ.js +90 -0
- package/dist/errors-03ysrOt4.js +325 -0
- package/dist/errors-DZx8w-MH.js +44 -0
- package/dist/escape-like-BfXS-iVe.d.ts +30 -0
- package/dist/eve/index.d.ts +40 -22
- package/dist/eve/index.js +35 -26
- package/dist/eve-BlJI8ZXL.d.ts +157 -0
- package/dist/event-calendar-D3SVa3AE.d.ts +65 -0
- package/dist/event-map-CtPFhcOp.js +19 -0
- package/dist/events/index.d.ts +5 -4
- package/dist/events/index.js +11 -10
- package/dist/events-D6IZ5CE8.js +82 -0
- package/dist/events-DbLjvxDX.d.ts +852 -0
- package/dist/events-SqJLbb8q.js +24 -0
- package/dist/executor-BDAGTc_O.js +207 -0
- package/dist/executor-BElVQpaB.d.ts +188 -0
- package/dist/executor-CPyrQdjh.d.ts +700 -0
- package/dist/executor-CsTaO3AT.d.ts +37 -0
- package/dist/executor-DQoczQZJ.d.ts +104 -0
- package/dist/executor-QtVn0axs.js +147 -0
- package/dist/executor-o9HkOJ0m.js +869 -0
- package/dist/expo/index.d.ts +37 -26
- package/dist/expo/index.js +18 -15
- package/dist/expo-sqlite/index.d.ts +20 -17
- package/dist/expo-sqlite/index.js +19 -13
- package/dist/feature-BBLdbGu7.js +224 -0
- package/dist/field-errors-vshYTVKr.d.ts +166 -0
- package/dist/field-formats-C6QKA3UR.js +102 -0
- package/dist/field-formats-DbjaDXoZ.d.ts +39 -0
- package/dist/fields-CanaxA0U.d.ts +75 -0
- package/dist/fields-DK30XCgc.js +107 -0
- package/dist/filter-evaluate-C3i2bGfk.d.ts +37 -0
- package/dist/filter-evaluate-CRDXv0Dl.js +217 -0
- package/dist/filter-query-D4ZSwbcJ.js +524 -0
- package/dist/filter-query-o3b_GuyC.d.ts +133 -0
- package/dist/flags-BTDPaN11.d.ts +246 -0
- package/dist/flags-BhYByvP1.js +279 -0
- package/dist/flags-sdk/index.d.ts +13 -13
- package/dist/flags-sdk/index.js +18 -15
- package/dist/flows/index.d.ts +247 -0
- package/dist/flows/index.js +229 -0
- package/dist/form-definition-BTpM_tz1.js +363 -0
- package/dist/form-definition-BjEtH8BT.d.ts +119 -0
- package/dist/format-AYHceC2m.d.ts +79 -0
- package/dist/framework-CXoyWGgd.js +57 -0
- package/dist/framework-FxfJpyoF.d.ts +41 -0
- package/dist/function-contract-pEmsaUIf.js +8 -0
- package/dist/function-contract-vPqwt1j4.d.ts +27 -0
- package/dist/gateway-DI8dbOml.d.ts +115 -0
- package/dist/gateway-options-BlVCqgb8.d.ts +29 -0
- package/dist/gateway-options-Cl74B7k6.js +27 -0
- package/dist/graph-B4eubUQG.js +365 -0
- package/dist/guest-actions-1T1DeS5Y.d.ts +5 -0
- package/dist/guest-actions-B7zdhfnh.js +9 -0
- package/dist/h3/index.d.ts +19 -12
- package/dist/h3/index.js +15 -11
- package/dist/h3/v1/index.d.ts +34 -24
- package/dist/h3/v1/index.js +23 -19
- package/dist/hmac-B3CTTlfv.js +23 -0
- package/dist/hono/index.d.ts +54 -36
- package/dist/hono/index.js +18 -18
- package/dist/http-51t9xppD.js +28 -0
- package/dist/http-BjjojWg3.js +40 -0
- package/dist/http-DzbloBR-.js +141 -0
- package/dist/image-url-_d7xYsXK.js +84 -0
- package/dist/impersonation-CZD9AOAk.js +62 -0
- package/dist/impersonation-YTa9dZUv.d.ts +28 -0
- package/dist/inbox-BPBb6etH.d.ts +321 -0
- package/dist/index-BSUX4dlB.d.ts +305 -0
- package/dist/index-BgSuw4CC.d.ts +151 -0
- package/dist/index-C7CrdGgz.d.ts +562 -0
- package/dist/index-CvxK2BZS.d.ts +847 -0
- package/dist/index-CxZQgNVE.d.ts +62 -0
- package/dist/index-D4420jLW.d.ts +66 -0
- package/dist/index-DK-YTWLd.d.ts +443 -0
- package/dist/index-DbXWcrOI.d.ts +577 -0
- package/dist/index-DbyDZZlc.d.ts +53 -0
- package/dist/index-NRMMhhEi.d.ts +104 -0
- package/dist/index-U0o7kU0s.d.ts +69 -0
- package/dist/index-WEafENqH.d.ts +149 -0
- package/dist/index-X2fkPUwb.d.ts +51 -0
- package/dist/index-Yep7auV-.d.ts +287 -0
- package/dist/index-eTY4kJzo.d.ts +163 -0
- package/dist/index.d.ts +35 -99
- package/dist/index.js +24 -19
- package/dist/invalidate-BLiBFbLy.d.ts +19 -0
- package/dist/iso4217-B-durg_y.js +176 -0
- package/dist/json-DaByVJpw.js +22 -0
- package/dist/json-schema-DWDTfD8J.js +888 -0
- package/dist/jwks-cache-CRymV-Dr.js +49 -0
- package/dist/jws-D0toeQlA.d.ts +66 -0
- package/dist/jws-DOgHJKHb.js +205 -0
- package/dist/kit-Ct4Z6GIO.js +127 -0
- package/dist/kit-DKfbNTAA.d.ts +94 -0
- package/dist/knowledge-BKGrXdS_.js +272 -0
- package/dist/knowledge-CFkCRxO9.d.ts +202 -0
- package/dist/lint/index.d.ts +6 -6
- package/dist/lint/index.js +9 -6
- package/dist/list/index.d.ts +3 -3
- package/dist/list/index.js +3 -3
- package/dist/list-query-BtluNnYk.d.ts +222 -0
- package/dist/list-query-CuS1w2Af.js +559 -0
- package/dist/live-CZtRMh62.js +246 -0
- package/dist/management-wtecfrNf.d.ts +57 -0
- package/dist/mcp/index.d.ts +70 -42
- package/dist/mcp/index.js +53 -45
- package/dist/mcp/sdk/index.d.ts +37 -25
- package/dist/mcp/sdk/index.js +16 -13
- package/dist/mentions-ByYnRNIG.js +114 -0
- package/dist/message-Bg4TKA12.d.ts +99 -0
- package/dist/messages-DNzIVvgN.js +492 -0
- package/dist/messaging-BC-P-yAv.js +329 -0
- package/dist/messaging-CZ6aWb10.d.ts +297 -0
- package/dist/metric-definition-EAYI1r2n.d.ts +69 -0
- package/dist/mfa-wrx1rqJT.d.ts +36 -0
- package/dist/model-Btl8X9cs.d.ts +326 -0
- package/dist/model-messages-D-jVOIOK.js +206 -0
- package/dist/model-messages-DrR4lZ_c.d.ts +34 -0
- package/dist/money-BNRdJQzA.d.ts +91 -0
- package/dist/money-BZl985O-.js +197 -0
- package/dist/money-codec-jMP0PQLZ.js +41 -0
- package/dist/my-work-kinds-BU3SlA-6.js +11 -0
- package/dist/nestjs/index.d.ts +32 -17
- package/dist/nestjs/index.js +27 -18
- package/dist/next/client/index.d.ts +8 -7
- package/dist/next/client/index.js +8 -7
- package/dist/next/image/index.d.ts +8 -6
- package/dist/next/image/index.js +7 -5
- package/dist/next/index.d.ts +342 -110
- package/dist/next/index.js +225 -45
- package/dist/node/index.d.ts +3 -3
- package/dist/node/index.js +33 -23
- package/dist/node-headers-BPtMP4_V.d.ts +27 -0
- package/dist/nuxt/index.d.ts +7 -6
- package/dist/nuxt/index.js +7 -6
- package/dist/onboarding-CGMuX7sP.js +68 -0
- package/dist/openapi/index.d.ts +4 -3
- package/dist/openapi/index.js +10 -7
- package/dist/operations-DVHRHvv6.js +29 -0
- package/dist/operations-nWYRexee.d.ts +6 -0
- package/dist/optional-peer-C1NbBRJm.js +32 -0
- package/dist/options-289GJc2l.d.ts +52 -0
- package/dist/options-2EMA_x6_.js +16 -0
- package/dist/options-63AKQNv0.js +5 -0
- package/dist/options-70OsM-wK.js +10 -0
- package/dist/options-9gvPo1BC.js +8 -0
- package/dist/options-B5VUf4IT.js +8 -0
- package/dist/options-BPDiwSa-.js +5 -0
- package/dist/options-BYOtaF7w.js +5 -0
- package/dist/options-BZOliZvb.js +9 -0
- package/dist/options-BjtrC7o6.js +8 -0
- package/dist/options-BkpqTGrJ.js +8 -0
- package/dist/options-Bpl-WFPk.js +15 -0
- package/dist/options-Br1Xi2Hw.js +9 -0
- package/dist/options-CF7nRWXS.js +5 -0
- package/dist/options-CSCXNYJO.d.ts +8 -0
- package/dist/options-CYV4iZiQ.js +5 -0
- package/dist/options-CalPr6kN.d.ts +12 -0
- package/dist/options-CfxBliP6.d.ts +17 -0
- package/dist/options-CmoJsd4V.d.ts +8 -0
- package/dist/options-Cyu0hgmN.js +9 -0
- package/dist/options-D0bzZx9a.d.ts +10 -0
- package/dist/options-D1hSuf50.d.ts +12 -0
- package/dist/options-D4aD9qwB.js +5 -0
- package/dist/options-D65jzn7S.js +5 -0
- package/dist/options-D7sgG1bQ.js +16 -0
- package/dist/options-DJ-aYPVN.js +5 -0
- package/dist/options-DJm31rsi.d.ts +16 -0
- package/dist/options-DWML05Cp.js +5 -0
- package/dist/options-DXuA4JVa.d.ts +15 -0
- package/dist/options-DZupPoI0.d.ts +10 -0
- package/dist/options-DlohRAYd.d.ts +13 -0
- package/dist/options-Dm-2crCx.d.ts +273 -0
- package/dist/options-DrSkIBCD.js +9 -0
- package/dist/options-DujalSfR.js +10 -0
- package/dist/options-Dz3hJxUw.d.ts +10 -0
- package/dist/options-E7KcmHQv.js +8 -0
- package/dist/options-IHPg8ZoA.js +5 -0
- package/dist/options-MQfTGMgP.d.ts +14 -0
- package/dist/options-OMAUVcKK.d.ts +10 -0
- package/dist/options-a-28mlYT.js +9 -0
- package/dist/options-o2kfYU2x.js +8 -0
- package/dist/options-t_O5ldT6.js +5 -0
- package/dist/options-te6d5-yz.d.ts +19 -0
- package/dist/options-xD4_FRUq.js +10 -0
- package/dist/options-zkyhM3qi.js +8 -0
- package/dist/organizations-DtehZg3J.js +401 -0
- package/dist/orpc/index.d.ts +109 -38
- package/dist/orpc/index.js +53 -18
- package/dist/otel/index.d.ts +19 -16
- package/dist/otel/index.js +22 -19
- package/dist/outbox-CsF_iKjx.d.ts +199 -0
- package/dist/overlay/index.d.ts +71 -55
- package/dist/overlay/index.js +48 -41
- package/dist/payments-BtScsgPS.js +16 -0
- package/dist/payments-CBzQIjoX.d.ts +114 -0
- package/dist/permissions-BetA_Fo_.js +34 -0
- package/dist/pg-error-B5QLDcbG.js +26 -0
- package/dist/plugin-Ar5546xh.d.ts +202 -0
- package/dist/plugin-D9bYbYli.js +45 -0
- package/dist/plugins/actor/index.d.ts +9 -6
- package/dist/plugins/actor/index.js +6 -6
- package/dist/plugins/rules/index.d.ts +15 -15
- package/dist/plugins/rules/index.js +13 -7
- package/dist/plugins/soft-delete/index.d.ts +7 -7
- package/dist/plugins/soft-delete/index.js +7 -7
- package/dist/plugins/tenant/index.d.ts +16 -11
- package/dist/plugins/tenant/index.js +9 -10
- package/dist/plugins/timestamps/index.d.ts +3 -3
- package/dist/plugins/timestamps/index.js +4 -4
- package/dist/plugins/validation/index.d.ts +4 -4
- package/dist/plugins/validation/index.js +5 -5
- package/dist/pool-CRkU15dA.d.ts +123 -0
- package/dist/pool-errors-B17BQRW-.js +27 -0
- package/dist/ports-DsJicwI2.d.ts +89 -0
- package/dist/ports-yajgT0t0.js +139 -0
- package/dist/postgres/index.d.ts +15 -15
- package/dist/postgres/index.js +14 -8
- package/dist/postgrest-DHLlN2nS.d.ts +53 -0
- package/dist/powersync/index.d.ts +13 -14
- package/dist/powersync/index.js +65 -36
- package/dist/powersync/react/index.d.ts +13 -12
- package/dist/powersync/react/index.js +15 -11
- package/dist/preset/index.d.ts +4 -4
- package/dist/preset/index.js +4 -4
- package/dist/preset-DzcQ5CQM.js +841 -0
- package/dist/problem-BWElIgIb.js +162 -0
- package/dist/problem-DpHB7tWl.d.ts +79 -0
- package/dist/provider-DmiaI1qt.d.ts +112 -0
- package/dist/provider-EJ0-5GwJ.js +57 -0
- package/dist/push-token-BxKmYhwk.d.ts +24 -0
- package/dist/queries-Dw8y9bvz.js +245 -0
- package/dist/query/index.d.ts +4 -4
- package/dist/query/index.js +291 -3
- package/dist/rank-result-C_sHjkiz.js +18 -0
- package/dist/rank-result-DwR0FawB.d.ts +14 -0
- package/dist/rate-limit-B_U12PdL.js +49 -0
- package/dist/rate-limit-CrOuXfjj.d.ts +50 -0
- package/dist/rate-limit-DExDw3Cy.js +327 -0
- package/dist/ratelimit-headers-kEcXyO3H.js +62 -0
- package/dist/react/index.d.ts +11 -11
- package/dist/react/index.js +5 -5
- package/dist/react/native/index.d.ts +36 -21
- package/dist/react/native/index.js +32 -20
- package/dist/react/server.d.ts +77 -21
- package/dist/react/server.js +70 -14
- package/dist/react/session.d.ts +9 -7
- package/dist/react/session.js +7 -5
- package/dist/react-28VgUbm9.js +852 -0
- package/dist/react-BKCnIuZs.js +79 -0
- package/dist/react-controller-CKSdtJ10.js +43 -0
- package/dist/react-env-CfA3EdBH.js +20 -0
- package/dist/react-router/index.d.ts +35 -25
- package/dist/react-router/index.js +14 -13
- package/dist/read-set-BAR84kPC.js +199 -0
- package/dist/realtime/index.d.ts +8 -8
- package/dist/realtime/index.js +37 -5
- package/dist/realtime-status-BhNkb-Ow.d.ts +8 -0
- package/dist/realtime-status-asHvhiOh.js +11 -0
- package/dist/recordings-DgDu7AOt.d.ts +119 -0
- package/dist/records/index.d.ts +83 -0
- package/dist/records/index.js +315 -0
- package/dist/refusal-DXydjgsS.js +64 -0
- package/dist/refusal-efy5bZMd.d.ts +32 -0
- package/dist/resolve-CzUKTIMq.d.ts +289 -0
- package/dist/resolve-DAYdcs22.js +892 -0
- package/dist/resolved-names-Dr7brlLL.js +133 -0
- package/dist/resource-BRRU-A7j.js +91 -0
- package/dist/resource-DYDEnww-.d.ts +115 -0
- package/dist/resource-Dk_JYsOt.js +469 -0
- package/dist/resource-execute-bT9ltHVT.d.ts +15 -0
- package/dist/resource-schemas-up6bKOUi.js +82 -0
- package/dist/resource-types-Bzt_bpR5.d.ts +153 -0
- package/dist/resources-BV6j5TTD.js +64 -0
- package/dist/resources-Du5wcL3f.d.ts +7 -0
- package/dist/respond-CZYibxUx.d.ts +101 -0
- package/dist/respond-z_yfyitp.js +100 -0
- package/dist/result-B3m7xtRY.js +146 -0
- package/dist/result-C6jDfedy.d.ts +350 -0
- package/dist/rows-Bb0EPupt.js +80 -0
- package/dist/rows-CtLWqdGQ.js +39 -0
- package/dist/rrule-xDm2znty.js +290 -0
- package/dist/rules-DcW5mj1r.js +287 -0
- package/dist/run-watch-B-LoK5m1.js +53 -0
- package/dist/runtime-CoKxZibd.js +45 -0
- package/dist/sales-lines-9HsX89aO.d.ts +28 -0
- package/dist/sales-lines-BhrIx2oK.js +41 -0
- package/dist/sales-shared-C_u68eq2.js +22 -0
- package/dist/schemas-9Ci3K0Hk.js +103 -0
- package/dist/schemas-ypoQZ_6N.js +157 -0
- package/dist/scores-CsURQDUB.d.ts +172 -0
- package/dist/scores-DdPZVVt8.js +177 -0
- package/dist/search-Cn_DGluL.js +9 -0
- package/dist/search-ToCOlCZ8.js +106 -0
- package/dist/sections-DjxYmpu-.js +26 -0
- package/dist/server/index.d.ts +153 -116
- package/dist/server/index.js +49 -40
- package/dist/server-types-BOs-eFpo.d.ts +809 -0
- package/dist/session-BgsOPGZs.d.ts +97 -0
- package/dist/settings-mL-i7QUM.js +93 -0
- package/dist/shared-Bf-I13Ht.js +91 -0
- package/dist/shared-CRRfQAKG.d.ts +11 -0
- package/dist/shared-LmlfYPv4.js +60 -0
- package/dist/shared-eVrl39dX.js +17 -0
- package/dist/sign-in-D54FLMQy.d.ts +55 -0
- package/dist/sign-in-lAyf6Ohy.js +386 -0
- package/dist/signatures-GUBuhLOB.js +145 -0
- package/dist/signatures-zbu6KTNQ.d.ts +43 -0
- package/dist/signers-D6ecZl22.d.ts +390 -0
- package/dist/signing-keys-B3RHGMMu.d.ts +119 -0
- package/dist/signing-keys-fWapUzi0.js +164 -0
- package/dist/solid/index.d.ts +69 -24
- package/dist/solid/index.js +62 -17
- package/dist/solid-bind-C1jeq4Qm.d.ts +11 -0
- package/dist/solid-bind-iHGfGtBK.js +38 -0
- package/dist/solid-controller-DGuv7V8a.js +13 -0
- package/dist/solid-start/index.d.ts +27 -20
- package/dist/solid-start/index.js +9 -9
- package/dist/spec/index.d.ts +40 -25
- package/dist/spec/index.js +26 -21
- package/dist/spec-CoWHDoud.js +119 -0
- package/dist/spec-pins-CZ2CL8YZ.d.ts +120 -0
- package/dist/spec-pins-D3Tm6HJi.js +60 -0
- package/dist/sql/index.d.ts +5 -5
- package/dist/sql/index.js +5 -5
- package/dist/sql-CVYjOUyG.js +421 -0
- package/dist/sql-rQDL6PIL.js +122247 -0
- package/dist/sso-B744gHeS.d.ts +161 -0
- package/dist/sso-Bt9HocgW.js +217 -0
- package/dist/ssr/index.d.ts +4 -4
- package/dist/ssr/index.js +3 -3
- package/dist/standard-DbQsD2xZ.d.ts +7 -0
- package/dist/standard-DtkpFGkS.js +25 -0
- package/dist/stats-qCEV5M3B.js +1147 -0
- package/dist/statuses-DMMDwXpZ.js +29 -0
- package/dist/statuses-zRcc2TeZ.js +28 -0
- package/dist/storage/index.d.ts +4 -4
- package/dist/storage/index.js +138 -74
- package/dist/store-McN-2esd.js +69 -0
- package/dist/store-o0HwYXl8.d.ts +83 -0
- package/dist/streams/index.d.ts +24 -18
- package/dist/streams/index.js +3 -4
- package/dist/streams/redis/index.d.ts +10 -7
- package/dist/streams/redis/index.js +9 -9
- package/dist/stripe/index.d.ts +5 -2
- package/dist/stripe/index.js +2 -2
- package/dist/stripe-BJUfp5jM.js +32 -0
- package/dist/stripe-X22LjuH-.d.ts +156 -0
- package/dist/subject-readers-CsTpx44c.js +49 -0
- package/dist/subject-readers-DEZ45DQF.d.ts +21 -0
- package/dist/subjects-B6p4oAZJ.d.ts +78 -0
- package/dist/subjects-DXFmanh5.d.ts +90 -0
- package/dist/subjects-DevU_atb.js +107 -0
- package/dist/subscribers-BvZxcd63.js +33 -0
- package/dist/summaries-8jQTELIX.d.ts +69 -0
- package/dist/supabase-mcp-Dz9DgrKP.js +28 -0
- package/dist/supabase-mcp-Z4vtsuoO.d.ts +46 -0
- package/dist/support-Ds1-UCN4.js +534 -0
- package/dist/support-view-vwJbRMpV.d.ts +17 -0
- package/dist/svelte/index.d.ts +51 -15
- package/dist/svelte/index.js +46 -13
- package/dist/svelte-bind-BHN5a8VV.js +46 -0
- package/dist/svelte-bind-Ja6CtQGp.d.ts +13 -0
- package/dist/svelte-controller-oFKC9AYu.js +19 -0
- package/dist/sveltekit/index.d.ts +50 -35
- package/dist/sveltekit/index.js +19 -18
- package/dist/table-schema-BcB-VCQb.js +293 -0
- package/dist/table-schema-Cb-IV_pZ.d.ts +78 -0
- package/dist/tags-CLXi2c6O.d.ts +30 -0
- package/dist/tags-C_ym1yDM.js +39 -0
- package/dist/tags-EnvIccSJ.js +86 -0
- package/dist/tanstack-db/index.d.ts +17 -11
- package/dist/tanstack-db/index.js +7 -7
- package/dist/tanstack-db/supabase/index.d.ts +24 -9
- package/dist/tanstack-db/supabase/index.js +7 -4
- package/dist/tanstack-start/index.d.ts +45 -31
- package/dist/tanstack-start/index.js +33 -19
- package/dist/tax-CIIxd8Zf.d.ts +170 -0
- package/dist/tax-DmOMjrYc.js +140 -0
- package/dist/tee-DwkUvJD_.js +101 -0
- package/dist/template-BWP7IXZg.js +126 -0
- package/dist/temporal-DLZlWbOi.js +85 -0
- package/dist/temporal-required-B8qQHYbI.js +20 -0
- package/dist/tenant-Bg4PDLkG.d.ts +17 -0
- package/dist/tenant-DnMqeNIM.js +27 -0
- package/dist/tenant-source-bqWpSr86.js +8 -0
- package/dist/testing/index.d.ts +606 -267
- package/dist/testing/index.js +665 -210
- package/dist/timeline-0_hTBH0-.js +52 -0
- package/dist/timeline-DUUsPLv5.d.ts +152 -0
- package/dist/timing-C5NzaEgy.js +95 -0
- package/dist/topic-CPOmMgkf.js +643 -0
- package/dist/topic-D9j8G2dw.d.ts +415 -0
- package/dist/ttl-cache-Bhr9swjT.js +32 -0
- package/dist/types-BEDfwXL4.d.ts +251 -0
- package/dist/types-BRJHGhSq.d.ts +177 -0
- package/dist/types-BTK75521.js +8 -0
- package/dist/types-CGUDoF5I.d.ts +624 -0
- package/dist/types-DkPE7yd2.d.ts +194 -0
- package/dist/types-QHeku_6b.d.ts +217 -0
- package/dist/types-uHD9yANu.d.ts +700 -0
- package/dist/undo-B696duxr.d.ts +46 -0
- package/dist/undo-vutx78k8.js +44 -0
- package/dist/upload-claim-D_wgDbi7.js +33 -0
- package/dist/usage-BI1E2940.js +264 -0
- package/dist/usage-DBcVGqnr.d.ts +232 -0
- package/dist/user-change-CSR_prhd.js +133 -0
- package/dist/variants-DL7NpFJ7.js +53 -0
- package/dist/vault-BQTdu4eH.d.ts +62 -0
- package/dist/vercel-connect/index.d.ts +3 -3
- package/dist/vercel-connect/index.js +8 -8
- package/dist/verify-27w0I5C9.js +130 -0
- package/dist/verify-BmuCB4PW.d.ts +146 -0
- package/dist/view-2_I-2ukO.d.ts +90 -0
- package/dist/view-BtgqxQLM.js +108 -0
- package/dist/vue/index.d.ts +70 -28
- package/dist/vue/index.js +68 -22
- package/dist/vue-bind-CFxon-Vs.js +45 -0
- package/dist/vue-bind-TPkbLl4z.d.ts +11 -0
- package/dist/vue-controller-WtbuT-Ux.js +13 -0
- package/dist/watch-CfMT6vX7.js +139 -0
- package/dist/watch-DziJudwj.d.ts +93 -0
- package/dist/watch-topic-CIT3UlAh.d.ts +31 -0
- package/dist/watch-topic-CuaWfCuv.js +57 -0
- package/dist/wire-Bizdxvp-.js +66 -0
- package/dist/work-items-Cnntm8ij.d.ts +238 -0
- package/dist/workflow-builder-2q1iqHYG.js +699 -0
- package/dist/workflow-sdk/builder/index.d.ts +51 -37
- package/dist/workflow-sdk/builder/index.js +30 -24
- package/dist/workflow-sdk/index.d.ts +24 -15
- package/dist/workflow-sdk/index.js +9 -6
- package/dist/workflow-sdk/world/index.d.ts +56 -24
- package/dist/workflow-sdk/world/index.js +47 -24
- package/dist/workflow-sdk-BTYWQQg9.d.ts +163 -0
- package/dist/workflow-sdk-_pqDUwNK.js +242 -0
- package/dist/workflow-sdk-world-BIwGVy6S.js +2401 -0
- package/dist/workflows-D8U7KyXJ.d.ts +258 -0
- package/dist/workflows-VJBSV-QR.js +285 -0
- package/dist/yjs/index.d.ts +39 -12
- package/dist/yjs/index.js +63 -21
- package/package.json +216 -3
- package/schemas/cli-commands-v1.json +18 -0
- package/schemas/config-v1.json +742 -35
- package/schemas/design-v1.json +351 -0
- package/schemas/doctor-report-v1.json +5 -1
- package/schemas/snapshot-v2.json +25 -0
- package/skills/better-supabase/SKILL.md +6 -5
- package/skills/better-supabase/references/frontend.md +3 -2
- package/skills/better-supabase/references/troubleshooting.md +18 -18
- package/skills/better-supabase/references/ui-recipes.md +12686 -8024
- package/skills/better-supabase-api/SKILL.md +1 -1
- package/skills/better-supabase-api/references/adapters.md +3 -6
- package/skills/better-supabase-api/references/expo.md +1 -0
- package/skills/better-supabase-api/references/powersync.md +8 -1
- package/skills/better-supabase-testing/SKILL.md +2 -3
- package/dist/access-sql-CTJPHjCL.js +0 -201
- package/dist/actor-BAhb-d1S.d.ts +0 -104
- package/dist/actor-CAL8mMih.js +0 -151
- package/dist/adapter-CRNH2aX_.js +0 -2107
- package/dist/agents-CGP2AQge.d.ts +0 -111
- package/dist/ai-cache-BdeJKlrV.d.ts +0 -70
- package/dist/ai-cache-CLninP-F.js +0 -84
- package/dist/ai-chat-D-2MH1sU.d.ts +0 -608
- package/dist/ai-files-ChFDkMLN.js +0 -339
- package/dist/ai-tasks-ZvPnNudQ.d.ts +0 -157
- package/dist/announcements-BNxTW5HJ.js +0 -128
- package/dist/api-C43_FYDp.js +0 -680
- package/dist/api-DoWK3dTw.d.ts +0 -411
- package/dist/api-keys-AgDXbcql.d.ts +0 -205
- package/dist/api-keys-BSXwI2jF.js +0 -318
- package/dist/app-tables-BRjMcWhW.js +0 -819
- package/dist/app-tables-BrMBjyuq.d.ts +0 -35
- package/dist/approvals-CyX709B-.d.ts +0 -124
- package/dist/assistant-DZsHsYIx.d.ts +0 -148
- package/dist/attachments-CK8D8bIV.js +0 -270
- package/dist/attributes-D4mA7WhI.js +0 -38
- package/dist/audit-log-ovUlF4Mk.js +0 -786
- package/dist/auth-CdBKt0CS.js +0 -20
- package/dist/auth-link-BjFPqwLz.d.ts +0 -97
- package/dist/auth-link-DrDX9KOT.js +0 -114
- package/dist/auth-module-DbZv2WrR.js +0 -10
- package/dist/auth-reply-Daq72lY4.js +0 -31
- package/dist/authorization-ClWBcXJi.d.ts +0 -1456
- package/dist/authorization-hooks-WDQMKIsc.d.ts +0 -214
- package/dist/authorizer-B3yyCVUF.js +0 -126
- package/dist/authorizer-eiOjo-3l.d.ts +0 -73
- package/dist/base64-D4aqdnDR.js +0 -42
- package/dist/before-route-B98js9m_.js +0 -30
- package/dist/bind-Bfo40o63.d.ts +0 -70
- package/dist/block-env-CBd_SoL5.js +0 -29
- package/dist/block-env-Dxl7rsI0.d.ts +0 -10
- package/dist/block-events-DD9Q_NUz.js +0 -96
- package/dist/block-fields-Bv1hV855.js +0 -139
- package/dist/block-fields-DnaDbgZS.d.ts +0 -55
- package/dist/block-helpers-CjcQM1yA.d.ts +0 -37
- package/dist/block-helpers-DkVZNDrj.js +0 -264
- package/dist/block-hooks-C22vuIUd.js +0 -114
- package/dist/block-hooks-DcPJHztl.d.ts +0 -107
- package/dist/block-transport-DezJPPA0.d.ts +0 -70
- package/dist/block-transport-J7ZepTq2.js +0 -85
- package/dist/blocks-D2WQ63PI.js +0 -84
- package/dist/bookings-DQ7P888X.js +0 -181
- package/dist/bucket-BbePDVwc.d.ts +0 -598
- package/dist/build-C-D_vn0U.js +0 -694
- package/dist/build-CT6SPZkI.js +0 -1815
- package/dist/calendar-eqyuQAoy.js +0 -801
- package/dist/channel-D-LHCY11.d.ts +0 -78
- package/dist/channels-C-GCoNLd.js +0 -114
- package/dist/claims-0KZVT804.js +0 -61
- package/dist/claims-PqzCxaTD.js +0 -85
- package/dist/cli/add-BcOHumvq.js +0 -75
- package/dist/cli/add-DnAyR9w_.js +0 -1
- package/dist/cli/add-TT72pQk6.js +0 -651
- package/dist/cli/adopt-BuS-DC7_.js +0 -1
- package/dist/cli/adopt-mbB1bcIG.js +0 -412
- package/dist/cli/agent-CCrTYK3W.js +0 -176
- package/dist/cli/apply-CiBFOFGw.js +0 -326
- package/dist/cli/blocks-5-JGzwXX.js +0 -124
- package/dist/cli/blocks-DeLQOlUK.js +0 -1
- package/dist/cli/cache-DQwgb3rg.js +0 -507
- package/dist/cli/catalog-Cm6BtquM.js +0 -188
- package/dist/cli/codemod-BzAMX4el.js +0 -985
- package/dist/cli/command-dfdVhU_2.js +0 -891
- package/dist/cli/completion-4lLjtI49.js +0 -1
- package/dist/cli/completion-D4InNrxw.js +0 -30
- package/dist/cli/completion-zsp5s0zI.js +0 -205
- package/dist/cli/config-CCyweX7Y.js +0 -1
- package/dist/cli/config-DI6ielsx.js +0 -39
- package/dist/cli/config-edit-Ct1lXe8a.js +0 -603
- package/dist/cli/config-yZ55rsKZ.js +0 -1463
- package/dist/cli/db-DT1bGB02.js +0 -78
- package/dist/cli/db-TRymMyAW.js +0 -90
- package/dist/cli/design-edit-0U9iCTiS.js +0 -202
- package/dist/cli/detect-DQsVeBHg.js +0 -84
- package/dist/cli/dist-D_VbPAMR.js +0 -129
- package/dist/cli/doctor-DOfy6kjt.js +0 -3732
- package/dist/cli/emit-56LAG_Px.js +0 -1067
- package/dist/cli/env-B7TWPEt0.js +0 -1
- package/dist/cli/env-C8R7Nf0a.js +0 -1088
- package/dist/cli/env-Cmu99uKR.js +0 -1
- package/dist/cli/env-Dh5K5t2U.js +0 -143
- package/dist/cli/errors-Caiz_0so.js +0 -98
- package/dist/cli/files-DDvAwTko.js +0 -963
- package/dist/cli/fresh-import-BeYf9I3x.js +0 -40
- package/dist/cli/gen-D3sC5jDn.js +0 -304
- package/dist/cli/init-DNomoycJ.js +0 -394
- package/dist/cli/introspect-kYX06Q2g.js +0 -51
- package/dist/cli/io-BiPX-_J1.js +0 -37
- package/dist/cli/keys-B8dIJwwi.js +0 -106
- package/dist/cli/live-CkV3d3yp.js +0 -329
- package/dist/cli/mcp-DrxB2Wuw.js +0 -237
- package/dist/cli/metadata-BGkle6WM.js +0 -138
- package/dist/cli/migration-safety-DjVpz2D6.js +0 -206
- package/dist/cli/module-migration-CPhuiY8C.js +0 -592
- package/dist/cli/moved-BMQu1YNY.js +0 -152
- package/dist/cli/parse-QzDvMpXH.js +0 -170
- package/dist/cli/preset-CfIs24cc.js +0 -129
- package/dist/cli/prompts-Bvg_DBpe.js +0 -1137
- package/dist/cli/redact-PjNswZOs.js +0 -35
- package/dist/cli/run-Bck-p0MI.js +0 -63
- package/dist/cli/run-BhJKAanr.js +0 -1528
- package/dist/cli/run-DRZ10srj.js +0 -694
- package/dist/cli/scaffold-DoURlDEI.js +0 -898
- package/dist/cli/scaffold-mzy3OsN5.js +0 -1
- package/dist/cli/seed-C5q4UUIL.js +0 -1
- package/dist/cli/seed-CIdg6s7m.js +0 -114
- package/dist/cli/shared-DKLuA1Tp.js +0 -145
- package/dist/cli/skills-D3zwIlGA.js +0 -121
- package/dist/cli/snapshot-BBKFojqM.js +0 -347
- package/dist/cli/source-args-Cwo7zwvq.js +0 -53
- package/dist/cli/spec-DOgQUZwM.js +0 -1
- package/dist/cli/spec-DZeIP9ta.js +0 -7501
- package/dist/cli/sql-CL_Lbhwl.js +0 -2
- package/dist/cli/sql-DLOvvnBV.js +0 -326
- package/dist/cli/stack-env-_uWWNHWq.js +0 -87
- package/dist/cli/stack-status-_NUgd-g5.js +0 -496
- package/dist/cli/style-2JfIPVMQ.js +0 -29
- package/dist/cli/supabase-toml-BC5sNVKU.js +0 -1153
- package/dist/cli/sync-DBvknfOK.js +0 -88
- package/dist/cli/topics-BBE1-Vrg.js +0 -30
- package/dist/cli/typegen--TfvOPLh.js +0 -494
- package/dist/cli/validate-BfWNKvxy.js +0 -7522
- package/dist/cli/version-B7akdvDv.js +0 -4
- package/dist/cli/write-VZljwoTB.js +0 -198
- package/dist/client-B9CqzgPO.js +0 -75
- package/dist/client-BAOZuBhz.d.ts +0 -101
- package/dist/client-BDO6i2Oe.js +0 -128
- package/dist/client-BGnJ5WJi.js +0 -438
- package/dist/client-BJN0IMEp.d.ts +0 -34
- package/dist/client-BMcjLG0V.d.ts +0 -263
- package/dist/client-BN_fXOs7.d.ts +0 -39
- package/dist/client-BONsuFYf.d.ts +0 -100
- package/dist/client-BPn9XhAM.d.ts +0 -218
- package/dist/client-BfgwocyT.js +0 -155
- package/dist/client-BpS8a6Fm.js +0 -51
- package/dist/client-BtC-r4hE.d.ts +0 -52
- package/dist/client-BuneNd-C.d.ts +0 -419
- package/dist/client-BzCv4kKE.js +0 -65
- package/dist/client-C-2ajnhM.js +0 -89
- package/dist/client-C5mUEb2n.js +0 -55
- package/dist/client-CFKONrrU.js +0 -1051
- package/dist/client-CHR8IBNG.js +0 -318
- package/dist/client-CHwNV8Kz.d.ts +0 -455
- package/dist/client-CLQHsa-2.d.ts +0 -131
- package/dist/client-CMxxwT3N.d.ts +0 -122
- package/dist/client-CU7aNN_B.d.ts +0 -277
- package/dist/client-CYEdJKjk.d.ts +0 -157
- package/dist/client-CYhSGlCN.d.ts +0 -107
- package/dist/client-C_-NZRrg.js +0 -120
- package/dist/client-CcPxbHeT.js +0 -288
- package/dist/client-CosiUrUb.js +0 -98
- package/dist/client-D3gRTNSi.d.ts +0 -68
- package/dist/client-D7T7OLiw.js +0 -169
- package/dist/client-DB34f_7i.d.ts +0 -58
- package/dist/client-DCawyopp.d.ts +0 -65
- package/dist/client-DNq8xYb-.js +0 -52
- package/dist/client-Dqa4XyJ5.d.ts +0 -108
- package/dist/client-Dr5h2r9r.d.ts +0 -34
- package/dist/client-DrTqKgvy.d.ts +0 -155
- package/dist/client-DyfWYU8S.js +0 -84
- package/dist/client-Dz1jWDA2.js +0 -209
- package/dist/client-DzTtOVRR.js +0 -137
- package/dist/client-Ezlbskjq.js +0 -60
- package/dist/client-GCCRI9ge.d.ts +0 -135
- package/dist/client-P6v3h7vh.d.ts +0 -130
- package/dist/client-P8l8ncxV.d.ts +0 -103
- package/dist/client-UnM3e32l.js +0 -133
- package/dist/client-WgrPIHH-.js +0 -213
- package/dist/client-ZTtSV3l8.js +0 -40
- package/dist/client-arq4daO_.js +0 -104
- package/dist/client-ckXfdy1k.js +0 -38
- package/dist/client-eCDPjOMo.js +0 -438
- package/dist/client-iaFm0aVf.js +0 -67
- package/dist/client-kWg4OqIr.d.ts +0 -162
- package/dist/client-pxjbgOz6.js +0 -376
- package/dist/client-tvG258_1.d.ts +0 -59
- package/dist/client-wKmX-f3r.d.ts +0 -388
- package/dist/clone-dN9XOL1K.js +0 -29
- package/dist/cloud-event-CTh9Sr5w.js +0 -60
- package/dist/cloud-event-DXkNoI6v.d.ts +0 -64
- package/dist/codecs-D-rpDifG.js +0 -358
- package/dist/codecs-RwFNK8Jh.d.ts +0 -215
- package/dist/codegen-C64C0NZG.d.ts +0 -1665
- package/dist/comments-CV5O8q50.js +0 -230
- package/dist/compiler-D_Gjpw_O.d.ts +0 -14
- package/dist/compose-CP0ss-cQ.js +0 -53
- package/dist/composite-1kPAxXto.js +0 -130
- package/dist/composite-DzvBL5nb.d.ts +0 -67
- package/dist/config-DHhQmmuD.js +0 -3917
- package/dist/config-NQmw_wsk.js +0 -558
- package/dist/connector-D9NMNkv0.d.ts +0 -107
- package/dist/connectors-BwPNt-ZG.d.ts +0 -141
- package/dist/context-B8_p3MXo.js +0 -11
- package/dist/context-BiwgsycK.js +0 -41
- package/dist/context-C-bHOtoD.js +0 -5
- package/dist/context-Cv3KlxWY.d.ts +0 -377
- package/dist/context-D6ZMKc2L.js +0 -19
- package/dist/context-wDKxSl9x.js +0 -9
- package/dist/controller-BZhiIb-N.d.ts +0 -46
- package/dist/controller-D6NyNrlZ.js +0 -79
- package/dist/cron-BHdXZFsJ.js +0 -145
- package/dist/cron-route-mTvWhork.js +0 -24
- package/dist/csv-CVfXqaAu.js +0 -89
- package/dist/csv-D3eKxV1T.d.ts +0 -28
- package/dist/db-exception-CnWcYPxL.js +0 -15
- package/dist/define-Bu1v781m.js +0 -1962
- package/dist/define-DYZnvAbs.d.ts +0 -1058
- package/dist/define-block-B6Gjs57G.js +0 -52
- package/dist/define-block-BHxLHLys.d.ts +0 -256
- package/dist/delegation-B7uNnz6z.js +0 -140
- package/dist/delivery-B1mKaOen.js +0 -30
- package/dist/delivery-BeHgwS3k.d.ts +0 -69
- package/dist/documents-CqtVr2fg.d.ts +0 -96
- package/dist/email-BcmbIWOX.d.ts +0 -42
- package/dist/embeddings-CKhygw4C.d.ts +0 -78
- package/dist/embeddings-CVeOoufZ.js +0 -128
- package/dist/ended-De6H52nX.d.ts +0 -70
- package/dist/entitlements-C8UvF1Rz.js +0 -45
- package/dist/entitlements-CtBGXb3B.d.ts +0 -53
- package/dist/envelope-C4Z55LKW.js +0 -90
- package/dist/errors-BV1SKTVs.js +0 -315
- package/dist/errors-D3BR8iUk.js +0 -44
- package/dist/escape-like-B339PlP-.d.ts +0 -15
- package/dist/eve-B6ru2Bt4.d.ts +0 -151
- package/dist/event-calendar-DJXXMJ3x.d.ts +0 -217
- package/dist/event-map-Dy2vKHai.js +0 -19
- package/dist/events-P3raDX2E.d.ts +0 -800
- package/dist/events-xbpHkcK9.js +0 -82
- package/dist/executor-BWgJNbGh.d.ts +0 -95
- package/dist/executor-BiB0wMBA.js +0 -735
- package/dist/executor-BnMC0lj3.d.ts +0 -272
- package/dist/executor-CvsNcQsa.d.ts +0 -174
- package/dist/executor-CxGQiQN_.js +0 -206
- package/dist/executor-D1hECPGG.d.ts +0 -39
- package/dist/executor-D3K3tycZ.js +0 -147
- package/dist/field-errors-DZVRWRkf.js +0 -13
- package/dist/field-errors-Z-sgsdoN.d.ts +0 -113
- package/dist/field-formats-Cif5gr7c.js +0 -102
- package/dist/field-formats-DCvOQlOy.d.ts +0 -39
- package/dist/filter-evaluate-BJcaL3o1.d.ts +0 -34
- package/dist/filter-evaluate-C0ULNfS7.js +0 -214
- package/dist/filter-query-B3lhckKX.js +0 -518
- package/dist/filter-query-Bc_Qa8V_.d.ts +0 -121
- package/dist/flags-6KK6Vqkr.d.ts +0 -230
- package/dist/flags-aUR7Rod6.js +0 -279
- package/dist/form-definition-GVZTILhS.js +0 -311
- package/dist/form-definition-sagoefQr.d.ts +0 -95
- package/dist/format-CNwSjXUU.d.ts +0 -70
- package/dist/framework-BQhTsLX-.d.ts +0 -26
- package/dist/framework-C6PKBgme.js +0 -51
- package/dist/function-contract-DWqFl_QO.d.ts +0 -21
- package/dist/function-contract-DmkBg19r.js +0 -5
- package/dist/gateway-Bq_tWwxE.d.ts +0 -109
- package/dist/gateway-options-ClvvfuuU.d.ts +0 -29
- package/dist/gateway-options-DcLcWL5_.js +0 -27
- package/dist/graph-Cs28bOlK.js +0 -360
- package/dist/hmac-BgpThYQW.js +0 -23
- package/dist/http-C7trc6uN.js +0 -25
- package/dist/http-Cv4T29xh.js +0 -40
- package/dist/http-DdYadv-o.js +0 -126
- package/dist/image-url-pIVlO6R1.js +0 -41
- package/dist/impersonation-D5chOkrO.d.ts +0 -25
- package/dist/impersonation-DxU6yHJV.js +0 -62
- package/dist/inbox-Du5aPwKB.d.ts +0 -400
- package/dist/index-1Vsg-7YV.d.ts +0 -58
- package/dist/index-BJLPQr2s.d.ts +0 -377
- package/dist/index-BpFYMsi0.d.ts +0 -53
- package/dist/index-BpyBH5O2.d.ts +0 -227
- package/dist/index-C-_fs7EI.d.ts +0 -258
- package/dist/index-CXFf-c-j.d.ts +0 -131
- package/dist/index-Cm2-g_4H.d.ts +0 -722
- package/dist/index-CxmVzT-3.d.ts +0 -86
- package/dist/index-DTQSeHx2.d.ts +0 -97
- package/dist/index-Hc4tetmB.d.ts +0 -245
- package/dist/index-QWTq2o31.d.ts +0 -138
- package/dist/index-XcTBR4Gb.d.ts +0 -206
- package/dist/index-k-rrfG1g.d.ts +0 -202
- package/dist/index-wTnPJUhv.d.ts +0 -58
- package/dist/invalidate-BBqhpxyB.d.ts +0 -19
- package/dist/iso4217-A8ev-CNW.js +0 -176
- package/dist/json-CEnpTHlZ.js +0 -16
- package/dist/json-schema-CpYINXG8.js +0 -548
- package/dist/jwks-cache-C4rA69hD.js +0 -49
- package/dist/jws-35a8VhFV.d.ts +0 -60
- package/dist/jws-CwBB5QAT.js +0 -193
- package/dist/kit-De-EVRhw.d.ts +0 -66
- package/dist/kit-LTbHrWWD.js +0 -104
- package/dist/knowledge-B5zdpDD-.d.ts +0 -187
- package/dist/knowledge-BbdXOJvY.js +0 -272
- package/dist/list-query-CBXNfJt4.js +0 -549
- package/dist/list-query-aXr2WkGA.d.ts +0 -194
- package/dist/live-DwDreq1n.js +0 -239
- package/dist/management-D1gG89z2.d.ts +0 -53
- package/dist/message-B0fNJgq8.d.ts +0 -93
- package/dist/messages-D5nIfCCf.js +0 -493
- package/dist/metric-definition-95HFoW1V.d.ts +0 -70
- package/dist/mfa-YzkRjNad.d.ts +0 -30
- package/dist/model-lUafmeBQ.d.ts +0 -311
- package/dist/model-messages-CIdqdUtk.js +0 -206
- package/dist/model-messages-D4GZllOD.d.ts +0 -34
- package/dist/money-95Rff2vT.js +0 -185
- package/dist/money-DFpWzQvk.d.ts +0 -76
- package/dist/money-codec-C21MWw50.js +0 -41
- package/dist/node-headers-AO06VhqH.d.ts +0 -24
- package/dist/onboarding-Du6kCmhF.js +0 -68
- package/dist/operations-CsIfMED7.js +0 -29
- package/dist/operations-DQCWqkt3.d.ts +0 -6
- package/dist/optional-peer-Dx8TaYXw.js +0 -29
- package/dist/options-BAW2ZlZ8.js +0 -8
- package/dist/options-C1HR4UZd.js +0 -13
- package/dist/options-Dh4wu9Ks.js +0 -15
- package/dist/options-QKP9FFcK.js +0 -8
- package/dist/options-XgfTctbI.js +0 -5
- package/dist/options-ZQzNKKBS.d.ts +0 -52
- package/dist/options-vXMBEWSH.js +0 -5
- package/dist/organizations-CO2qg44D.js +0 -398
- package/dist/outbox-B1hZ7PPY.d.ts +0 -181
- package/dist/payments-CzjCdIcz.js +0 -16
- package/dist/pg-error-BV_X8Isq.js +0 -26
- package/dist/plugin-D-95Q0w0.d.ts +0 -190
- package/dist/plugin-tfXW1-qO.js +0 -45
- package/dist/pool-cM3rpOQr.d.ts +0 -117
- package/dist/pool-errors-CGqvTQOC.js +0 -27
- package/dist/ports-BCDIbC_U.d.ts +0 -86
- package/dist/ports-P0A5wo_-.d.ts +0 -285
- package/dist/ports-aALjot-D.js +0 -137
- package/dist/postgrest-CjnO1hbr.d.ts +0 -53
- package/dist/preset-Cf0T9GRt.js +0 -691
- package/dist/problem-DCDIQiTA.d.ts +0 -76
- package/dist/problem-JRCohp1j.js +0 -159
- package/dist/provider-C-Ti38J6.js +0 -57
- package/dist/provider-DXgx5oSA.d.ts +0 -113
- package/dist/push-token-y1Gnz5bQ.d.ts +0 -24
- package/dist/query-Ctz-qKRx.js +0 -303
- package/dist/rank-result-BcYfDA0x.d.ts +0 -14
- package/dist/rank-result-DtQuIvob.js +0 -18
- package/dist/rate-limit-DVZ7qIzW.js +0 -49
- package/dist/rate-limit-I3AncmM8.js +0 -325
- package/dist/rate-limit-c6c1mB6R.d.ts +0 -41
- package/dist/ratelimit-headers-Bsxx0Tj2.js +0 -62
- package/dist/react-4ZqkP8da.js +0 -79
- package/dist/react-DzukE6Wp.js +0 -410
- package/dist/react-controller-Xn-IU44p.js +0 -40
- package/dist/react-env-Cc7Vf6eb.js +0 -13
- package/dist/read-set-DeesfeL_.js +0 -314
- package/dist/realtime-status-D2dw1hOE.js +0 -12
- package/dist/realtime-status-DcsO00Gw.d.ts +0 -8
- package/dist/refusal-C7geIBRl.d.ts +0 -18
- package/dist/refusal-CFpfmjcS.js +0 -61
- package/dist/resolve-AtncaPTU.js +0 -877
- package/dist/resolve-Ceft-18-.d.ts +0 -270
- package/dist/resource-Bdkqi8jo.js +0 -463
- package/dist/resource-DO4gbVi5.js +0 -91
- package/dist/resource-DYEtc-KN.d.ts +0 -106
- package/dist/resource-execute-Bxvgmx-n.d.ts +0 -12
- package/dist/resource-schemas-BJ518zFH.js +0 -79
- package/dist/resource-types-LW1i5-h3.d.ts +0 -141
- package/dist/resources-Ck7itNeX.js +0 -64
- package/dist/resources-D3_FAz_H.d.ts +0 -7
- package/dist/respond-BSL36dQp.d.ts +0 -93
- package/dist/respond-Bhp3G__q.js +0 -95
- package/dist/result-BREt7qOh.d.ts +0 -312
- package/dist/result-DIeYscA3.js +0 -134
- package/dist/rrule-Cw4x4Pf_.js +0 -290
- package/dist/rules-BiQgmZ_U.js +0 -287
- package/dist/run-watch-CQRdpy-f.js +0 -53
- package/dist/runtime-BOXURhEW.js +0 -45
- package/dist/sales-lines-C6gafAwg.d.ts +0 -28
- package/dist/sales-lines-CQ1iC6QM.js +0 -41
- package/dist/sales-shared-CDSytDEn.js +0 -22
- package/dist/search-BtoWY6n_.js +0 -9
- package/dist/search-ZP13UTT4.js +0 -106
- package/dist/server-types-fLdep4gb.d.ts +0 -757
- package/dist/session-DObioXpX.d.ts +0 -95
- package/dist/settings-BiHDFglz.js +0 -90
- package/dist/shared-BmMcMoW9.js +0 -89
- package/dist/shared-C9zvURqC.js +0 -14
- package/dist/shared-D5Djh43x.js +0 -60
- package/dist/shared-DDSjEGDR.d.ts +0 -11
- package/dist/sign-in-BCV5S2WZ.d.ts +0 -49
- package/dist/sign-in-z2BaBdps.js +0 -367
- package/dist/signatures-BXlDXV3D.d.ts +0 -43
- package/dist/signatures-CeIoAelK.js +0 -145
- package/dist/signers-BwKV-9S6.d.ts +0 -385
- package/dist/signing-keys-v2MRYkDF.d.ts +0 -105
- package/dist/solid-controller-CWotGxcG.d.ts +0 -11
- package/dist/solid-controller-DLsmrczT.js +0 -33
- package/dist/spec-pins-Dqpml2dZ.d.ts +0 -84
- package/dist/spec-pins-S4PymRxp.js +0 -60
- package/dist/sql-BPKRNutj.js +0 -422
- package/dist/sql-CT1Jnwp8.js +0 -88660
- package/dist/sso-BaU_6ePE.js +0 -217
- package/dist/sso-Bu0mVh0V.d.ts +0 -131
- package/dist/standard-B1BigegP.js +0 -25
- package/dist/standard-BcUQuUgu.d.ts +0 -7
- package/dist/stats-Di5VAsYU.js +0 -1128
- package/dist/store-B18bIvKc.d.ts +0 -68
- package/dist/store-BdH5ruDx.js +0 -66
- package/dist/stripe-NVcNOhHy.d.ts +0 -140
- package/dist/stripe-XZrSmDTf.js +0 -32
- package/dist/subject-readers-BUChuOxL.d.ts +0 -21
- package/dist/subject-readers-BpwUFJtp.js +0 -46
- package/dist/subjects-DP-fvFkk.d.ts +0 -77
- package/dist/subscribers-Cq--DL1E.js +0 -34
- package/dist/supabase-mcp-C6tMoEjn.d.ts +0 -43
- package/dist/supabase-mcp-DomZ-amK.js +0 -28
- package/dist/support-C2wPYwD7.js +0 -522
- package/dist/support-view-Bj_lZ8Wr.d.ts +0 -17
- package/dist/svelte-controller-CDAujo-_.js +0 -50
- package/dist/svelte-controller-sS4X66yL.d.ts +0 -10
- package/dist/table-schema-pQlER3jj.js +0 -283
- package/dist/tags-B99_U9Pp.js +0 -39
- package/dist/tags-BqgaxCnv.js +0 -84
- package/dist/tags-BrGopDVG.d.ts +0 -30
- package/dist/tax-DMWDUzKt.d.ts +0 -273
- package/dist/tax-wm9g2mD2.js +0 -140
- package/dist/tee-Cw-iJAWL.js +0 -101
- package/dist/template-Dw3dTmKe.js +0 -123
- package/dist/temporal-CB5Fpo5d.js +0 -79
- package/dist/temporal-required-nfZ87U-0.js +0 -20
- package/dist/tenant-B-fiItlJ.js +0 -27
- package/dist/tenant-DZMLVuyQ.d.ts +0 -17
- package/dist/tenant-naming-Bsj3Uvap.js +0 -27
- package/dist/timing-BMCWgpdZ.js +0 -92
- package/dist/topic-DAY_HOX2.d.ts +0 -387
- package/dist/topic-mee21pux.js +0 -629
- package/dist/ttl-Hr34gRu8.js +0 -12
- package/dist/ttl-cache-XzZ-Q2eX.js +0 -29
- package/dist/types-BA1eTvy4.d.ts +0 -162
- package/dist/types-BEEFkNFY.d.ts +0 -564
- package/dist/types-BRTSpOIh.js +0 -5
- package/dist/types-Bels39_u.d.ts +0 -649
- package/dist/types-BrpW5ixT.d.ts +0 -370
- package/dist/types-DOC7wnh6.d.ts +0 -249
- package/dist/types-D_2rClz-.d.ts +0 -205
- package/dist/undo-B5LgpGLy.js +0 -44
- package/dist/undo-BsdYRox7.d.ts +0 -43
- package/dist/upload-claim-BBFCZbBF.js +0 -33
- package/dist/usage-C504GF55.d.ts +0 -220
- package/dist/usage-DdqT13_X.js +0 -261
- package/dist/user-change-XzvgafU4.js +0 -130
- package/dist/vault-ClkzMGTP.d.ts +0 -50
- package/dist/verify-DU4p9-Ve.d.ts +0 -142
- package/dist/verify-DnU-uWU2.js +0 -126
- package/dist/version-DSWxci83.js +0 -4
- package/dist/view-CYX1wsgp.js +0 -105
- package/dist/view-KQhe6eNc.d.ts +0 -90
- package/dist/vue-controller-BUo1oove.d.ts +0 -11
- package/dist/vue-controller-C9tFzqAc.js +0 -32
- package/dist/watch-5btote1y.d.ts +0 -84
- package/dist/watch-BAuIzC2r.js +0 -139
- package/dist/watch-topic-C79ZW5-R.d.ts +0 -28
- package/dist/watch-topic-miuymrli.js +0 -57
- package/dist/wire-BCJxCtHS.js +0 -45
- package/dist/workflow-builder-CynLqc6H.js +0 -697
- package/dist/workflow-sdk-CWdCWj7M.d.ts +0 -161
- package/dist/workflow-sdk-QnnzIQRc.js +0 -243
- package/dist/workflow-sdk-world-QzcxaaCD.js +0 -2103
- package/dist/workflows-DQBCzrHC.d.ts +0 -243
- package/dist/workflows-H9qJge3f.js +0 -282
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,37 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
import { r as Executor } from "../executor-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { a as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import { t as
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
1
|
+
/// <reference lib="esnext.temporal" />
|
|
2
|
+
import { M as AnyFunctions, N as AnyModels, X as Insert, dt as SubjectRef, lt as SchemaMeta, mt as TableKey, r as Executor, st as Row, yt as Update } from "../executor-CPyrQdjh.js";
|
|
3
|
+
import { o as EventHub } from "../events-DbLjvxDX.js";
|
|
4
|
+
import { m as RequestContext, n as AnyPlugin } from "../plugin-Ar5546xh.js";
|
|
5
|
+
import { c as InlineJwks, t as BetterSupabaseEnv } from "../index-NRMMhhEi.js";
|
|
6
|
+
import { n as AuthResolver } from "../resolve-CzUKTIMq.js";
|
|
7
|
+
import { a as CredentialSubject, i as CredentialRef, r as CredentialProvider } from "../provider-DmiaI1qt.js";
|
|
8
|
+
import { n as SqlClient } from "../executor-CsTaO3AT.js";
|
|
9
|
+
import { a as BlockTransportMiddleware } from "../block-hooks-CmjPKqQ_.js";
|
|
10
|
+
import { a as SessionActor, o as SessionDelegation } from "../actor-CoveJgya.js";
|
|
11
|
+
import { M as QueueBackend } from "../types-CGUDoF5I.js";
|
|
12
|
+
import { n as Embedder } from "../knowledge-CFkCRxO9.js";
|
|
13
|
+
import { a as AuthorizationProvider } from "../authorization-BuT26_sR.js";
|
|
14
|
+
import { o as StreamStore } from "../store-o0HwYXl8.js";
|
|
15
|
+
import { t as ApiModel } from "../model-Btl8X9cs.js";
|
|
16
|
+
import { l as VersionOf, t as AnyDocumentFormat } from "../format-AYHceC2m.js";
|
|
17
|
+
import { o as Authorizer } from "../authorizer-DFP3gHv8.js";
|
|
18
|
+
import { i as EventSink, t as CloudEvent } from "../cloud-event-SPyXMdcd.js";
|
|
19
|
+
import { Lt as DbStats, Ut as CacheAdapter, o as Db, t as BetterSupabase } from "../define-Dw7pRO4h.js";
|
|
20
|
+
import { X as StoragePath } from "../bucket-TkB7_xv8.js";
|
|
21
|
+
import { n as Impersonator } from "../impersonation-YTa9dZUv.js";
|
|
22
|
+
import { Ft as AnySection } from "../define-block-COpcS6aT.js";
|
|
23
|
+
import { n as Money } from "../money-BNRdJQzA.js";
|
|
24
|
+
import { i as AuthorizationHooks } from "../authorization-hooks-dLmUO_PZ.js";
|
|
25
|
+
import { s as SqlClaims, t as BetterPostgres } from "../pool-CRkU15dA.js";
|
|
26
|
+
import { B as SupportSessionStore, a as ServerContext, c as ServerOptions } from "../server-types-BOs-eFpo.js";
|
|
27
|
+
import { r as GuardOptions } from "../respond-CZYibxUx.js";
|
|
28
|
+
import { n as Controller } from "../controller-DAD4hbl4.js";
|
|
29
|
+
import { i as AiTaskRun, o as AiTaskRunner, t as AiTask } from "../ai-tasks-BDywBUgN.js";
|
|
30
|
+
import { r as WebhookInput } from "../signatures-zbu6KTNQ.js";
|
|
31
|
+
import { n as Payment, o as PaymentProvider } from "../payments-CBzQIjoX.js";
|
|
32
|
+
import { l as Transcriber, s as NoteTaker, u as TranscriberInput } from "../recordings-DgDu7AOt.js";
|
|
33
|
+
import { t as NotificationChannel } from "../channel-BjvGO39m.js";
|
|
34
|
+
import { a as DeliveryTransport } from "../delivery-n6lZGuGx.js";
|
|
35
|
+
import { l as TaxProvider, r as TaxAddress } from "../tax-CIIxd8Zf.js";
|
|
36
|
+
import { c as ShipmentCarrier, s as ShipmentAddress } from "../carrier-C7Q_21Kd.js";
|
|
37
|
+
import { B as WorkflowGraph, c as GraphCompiler, i as BuilderStarter, r as BuilderStartCall } from "../types-uHD9yANu.js";
|
|
38
|
+
import { O as IncomingDestination, f as WebhookSecretStore, o as WebhookSigner, v as WebhookTransport } from "../signers-D6ecZl22.js";
|
|
39
|
+
import { C as Generator, J as ResolvedConfig, P as GeneratorModel, j as GeneratorInput } from "../config-BuOz_O-y.js";
|
|
40
|
+
import { t as EveDocumentBackend } from "../eve-BlJI8ZXL.js";
|
|
35
41
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
36
42
|
import { Message, StateAdapter } from "chat";
|
|
37
43
|
import { webcrypto } from "node:crypto";
|
|
@@ -51,35 +57,49 @@ interface TestJwtClaims {
|
|
|
51
57
|
export declare function signTestJwt(secret: string, claims: TestJwtClaims): Promise<string>;
|
|
52
58
|
/**
|
|
53
59
|
* Accepts `signTestJwt` tokens as users, for API servers tested against the
|
|
54
|
-
* local stack: `createServer(betterSupabase, { auth: { resolvers:
|
|
55
|
-
* Tokens that are not HS256-signed with `secret`
|
|
60
|
+
* local stack: `createServer(betterSupabase, { auth: { resolvers:
|
|
61
|
+
* [localAuth(secret)] } })`. Tokens that are not HS256-signed with `secret`
|
|
62
|
+
* fall through. Test-only.
|
|
56
63
|
*/
|
|
57
64
|
export declare function localAuth(secret: string): AuthResolver;
|
|
58
65
|
interface TestSigner {
|
|
59
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Public JWKS; pass as `jwks` to `resolveAuth` / `createServer({ auth: { jwks
|
|
68
|
+
* } })`.
|
|
69
|
+
*/
|
|
60
70
|
readonly jwks: InlineJwks;
|
|
61
71
|
sign(claims: TestJwtClaims): Promise<string>;
|
|
62
72
|
}
|
|
63
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* A private ES256 JWK, as `better-supabase keys` writes to
|
|
75
|
+
* `supabase/signing_keys.json`.
|
|
76
|
+
*/
|
|
64
77
|
interface SigningJwk extends webcrypto.JsonWebKey {
|
|
65
78
|
readonly kid: string;
|
|
66
79
|
}
|
|
67
80
|
/**
|
|
68
|
-
* Signs an ES256 access token with a private JWK, the way the local stack
|
|
69
|
-
*
|
|
81
|
+
* Signs an ES256 access token with a private JWK, the way the local stack signs
|
|
82
|
+
* them once `signing_keys_path` is set. Test-only.
|
|
70
83
|
*/
|
|
71
84
|
export declare function signTestJwtWithKey(key: SigningJwk, claims: TestJwtClaims): Promise<string>;
|
|
72
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* An in-memory ES256 key pair that signs tokens like Supabase Auth's asymmetric
|
|
87
|
+
* keys.
|
|
88
|
+
*/
|
|
73
89
|
export declare function createTestSigner(): Promise<TestSigner>;
|
|
74
90
|
//#endregion
|
|
75
91
|
//#region src/testing/local-key.d.ts
|
|
76
92
|
/**
|
|
77
93
|
* The key the local stack signs with: the first entry of the file
|
|
78
|
-
* `better-supabase keys` wrote. `path` defaults to
|
|
79
|
-
* then `signing_keys_path` from the nearest
|
|
94
|
+
* `better-supabase keys` wrote. `path` defaults to
|
|
95
|
+
* `$SUPABASE_SIGNING_KEYS_PATH`, then `signing_keys_path` from the nearest
|
|
96
|
+
* `supabase/config.toml`.
|
|
80
97
|
*/
|
|
81
98
|
export declare function localSigningKey(path?: string): Promise<SigningJwk>;
|
|
82
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Signs a token with the local stack's ES256 key (see `localSigningKey`).
|
|
101
|
+
* Test-only.
|
|
102
|
+
*/
|
|
83
103
|
export declare function signLocalJwt(claims: TestJwtClaims, path?: string): Promise<string>;
|
|
84
104
|
//#endregion
|
|
85
105
|
//#region src/testing/as-user.d.ts
|
|
@@ -91,27 +111,35 @@ interface LocalStack {
|
|
|
91
111
|
/** Defaults to `$SUPABASE_PUBLISHABLE_KEY`, then `$SUPABASE_ANON_KEY`. */
|
|
92
112
|
readonly publishableKey?: string;
|
|
93
113
|
/**
|
|
94
|
-
* `ES256` (default) signs with the key `better-supabase keys` wrote, as
|
|
95
|
-
*
|
|
96
|
-
*
|
|
114
|
+
* `ES256` (default) signs with the key `better-supabase keys` wrote, as the
|
|
115
|
+
* hosted project's asymmetric keys do. `HS256` signs with the shared JWT
|
|
116
|
+
* secret and only works against a local stack.
|
|
97
117
|
*/
|
|
98
118
|
readonly alg?: "ES256" | "HS256";
|
|
99
119
|
/** The private ES256 key. Defaults to the first key in `signingKeysPath`. */
|
|
100
120
|
readonly signingKey?: SigningJwk;
|
|
101
|
-
/**
|
|
121
|
+
/**
|
|
122
|
+
* Defaults to `$SUPABASE_SIGNING_KEYS_PATH`, then `signing_keys_path` in
|
|
123
|
+
* `supabase/config.toml`.
|
|
124
|
+
*/
|
|
102
125
|
readonly signingKeysPath?: string;
|
|
103
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* For `alg: 'HS256'`. Defaults to `$SUPABASE_JWT_SECRET`, then the CLI
|
|
128
|
+
* default.
|
|
129
|
+
*/
|
|
104
130
|
readonly jwtSecret?: string;
|
|
105
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Service-role key for `expectTenantIsolation`; defaults to
|
|
133
|
+
* `$SUPABASE_SECRET_KEY`.
|
|
134
|
+
*/
|
|
106
135
|
readonly secretKey?: string;
|
|
107
136
|
/** Enables `sql`: the same user over direct Postgres. */
|
|
108
137
|
readonly postgres?: BetterPostgres;
|
|
109
138
|
/** `fetch` for the user's supabase-js client, e.g. `liteStack().fetch`. */
|
|
110
139
|
readonly fetch?: typeof fetch;
|
|
111
140
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* keep it.
|
|
141
|
+
* Supabase-js warns when its trace propagation option is on and the runtime
|
|
142
|
+
* has no OpenTelemetry. Test users switch it off; set `true` to keep it.
|
|
115
143
|
*/
|
|
116
144
|
readonly tracePropagation?: boolean;
|
|
117
145
|
}
|
|
@@ -123,7 +151,7 @@ interface TestUser<M extends AnyModels, F extends AnyFunctions, E> {
|
|
|
123
151
|
* that call a command or handler directly with `{ supabase, db, context }`.
|
|
124
152
|
*/
|
|
125
153
|
readonly context: RequestContext;
|
|
126
|
-
/**
|
|
154
|
+
/** Supabase-js signed in as the user (storage, realtime, functions). */
|
|
127
155
|
readonly supabase: SupabaseClient;
|
|
128
156
|
/** Repositories over PostgREST as the user; RLS applies. */
|
|
129
157
|
readonly db: Db<M, F, E, SupabaseClient>;
|
|
@@ -131,13 +159,16 @@ interface TestUser<M extends AnyModels, F extends AnyFunctions, E> {
|
|
|
131
159
|
readonly sql: Db<M, F, E, unknown> | undefined;
|
|
132
160
|
}
|
|
133
161
|
/**
|
|
134
|
-
* A test user against the local stack: a signed token and repositories that
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
162
|
+
* A test user against the local stack: a signed token and repositories that run
|
|
163
|
+
* as that user, for live RLS tests. The token is ES256-signed with the key from
|
|
164
|
+
* `better-supabase keys`; pass `{ alg: 'HS256' }` for a stack that still uses
|
|
165
|
+
* the shared JWT secret.
|
|
138
166
|
*
|
|
139
167
|
* ```ts
|
|
140
|
-
* const alice = await asUser(betterSupabase, {
|
|
168
|
+
* const alice = await asUser(betterSupabase, {
|
|
169
|
+
* sub: aliceId,
|
|
170
|
+
* tenant_id: acme,
|
|
171
|
+
* });
|
|
141
172
|
* expect(await alice.db.customers.count().orThrow()).toBe(3);
|
|
142
173
|
* ```
|
|
143
174
|
*/
|
|
@@ -146,14 +177,20 @@ export declare function asUser<M extends AnyModels, D, F extends AnyFunctions, E
|
|
|
146
177
|
//#region src/testing/lite.d.ts
|
|
147
178
|
interface LiteStackOptions {
|
|
148
179
|
/**
|
|
149
|
-
* `sqlite-postgres` (default) stores data in in-memory SQLite and
|
|
150
|
-
*
|
|
151
|
-
*
|
|
180
|
+
* `sqlite-postgres` (default) stores data in in-memory SQLite and translates
|
|
181
|
+
* your Postgres SQL, as `lite init` does. `pglite` runs real Postgres
|
|
182
|
+
* in-process, with `rpc()` and `DEFAULT auth.uid()`.
|
|
152
183
|
*/
|
|
153
184
|
readonly driver?: "sqlite-postgres" | "pglite";
|
|
154
|
-
/**
|
|
185
|
+
/**
|
|
186
|
+
* Migration SQL, applied in order before `schemas`. DDL only; put rows in
|
|
187
|
+
* `seed`.
|
|
188
|
+
*/
|
|
155
189
|
readonly migrations?: readonly string[];
|
|
156
|
-
/**
|
|
190
|
+
/**
|
|
191
|
+
* Declarative schema SQL (`supabase/schemas/*.sql`), applied after
|
|
192
|
+
* `migrations`.
|
|
193
|
+
*/
|
|
157
194
|
readonly schemas?: readonly string[];
|
|
158
195
|
/** Seed SQL, run after the schema as the database owner (RLS does not apply). */
|
|
159
196
|
readonly seed?: string | readonly string[];
|
|
@@ -166,26 +203,37 @@ interface LiteStack extends AsyncDisposable {
|
|
|
166
203
|
readonly publishableKey: string;
|
|
167
204
|
readonly secretKey: string;
|
|
168
205
|
readonly jwtSecret: string;
|
|
169
|
-
/**
|
|
206
|
+
/**
|
|
207
|
+
* Routes requests to the in-process Lite app. Pass it as `fetch` to
|
|
208
|
+
* `createServer`.
|
|
209
|
+
*/
|
|
170
210
|
readonly fetch: typeof globalThis.fetch;
|
|
171
|
-
/**
|
|
211
|
+
/**
|
|
212
|
+
* The settings `createServer(betterSupabase, { env, backend: "lite", fetch
|
|
213
|
+
* })` takes.
|
|
214
|
+
*/
|
|
172
215
|
readonly env: BetterSupabaseEnv;
|
|
173
|
-
/**
|
|
216
|
+
/** Supabase-js with the publishable key, as an anonymous caller. */
|
|
174
217
|
readonly supabase: SupabaseClient;
|
|
175
|
-
/**
|
|
218
|
+
/** Supabase-js with the secret key: bypasses RLS, for setup. */
|
|
176
219
|
readonly admin: SupabaseClient;
|
|
177
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* A user with an HS256 token, as `asUser` signs it, whose clients route
|
|
222
|
+
* through `fetch`.
|
|
223
|
+
*/
|
|
178
224
|
asUser<M extends AnyModels, D, F extends AnyFunctions, E>(betterSupabase: BetterSupabase<M, D, F, E>, claims: TestJwtClaims): Promise<TestUser<M, F, E>>;
|
|
179
225
|
/** Closes the database. */
|
|
180
226
|
close(): Promise<void>;
|
|
181
227
|
}
|
|
182
228
|
/**
|
|
183
229
|
* Supabase Lite in this process, for tests without Docker: an in-memory
|
|
184
|
-
* database with your schema, Auth with fresh API keys, and supabase-js
|
|
185
|
-
*
|
|
230
|
+
* database with your schema, Auth with fresh API keys, and supabase-js clients
|
|
231
|
+
* whose requests go straight to Lite's `fetch` handler (no port).
|
|
186
232
|
*
|
|
187
233
|
* ```ts
|
|
188
|
-
* await using stack = await liteStack({
|
|
234
|
+
* await using stack = await liteStack({
|
|
235
|
+
* schemas: [await readFile("supabase/schemas/notes.sql", "utf8")],
|
|
236
|
+
* });
|
|
189
237
|
* const alice = await stack.asUser(betterSupabase, { sub: aliceId });
|
|
190
238
|
* expect(await alice.db.notes.count().orThrow()).toBe(1);
|
|
191
239
|
* ```
|
|
@@ -201,7 +249,10 @@ interface BudgetRequest {
|
|
|
201
249
|
interface BudgetResponse {
|
|
202
250
|
url(): string;
|
|
203
251
|
headers(): Record<string, string>;
|
|
204
|
-
/**
|
|
252
|
+
/**
|
|
253
|
+
* Never settles when the browser aborts the stream, so `requestfailed` ends
|
|
254
|
+
* the wait too.
|
|
255
|
+
*/
|
|
205
256
|
finished(): Promise<unknown>;
|
|
206
257
|
request(): BudgetRequest;
|
|
207
258
|
}
|
|
@@ -231,14 +282,14 @@ interface DbBudgetExpectation {
|
|
|
231
282
|
readonly timeoutMs?: number;
|
|
232
283
|
/**
|
|
233
284
|
* How long to keep listening once `during` resolves and no new response
|
|
234
|
-
* arrives, for renders it started that answer later (the dynamic render
|
|
235
|
-
*
|
|
285
|
+
* arrives, for renders it started that answer later (the dynamic render after
|
|
286
|
+
* an `instant()` lock releases). Defaults to 500 ms.
|
|
236
287
|
*/
|
|
237
288
|
readonly settleMs?: number;
|
|
238
289
|
/**
|
|
239
|
-
* When no document or RSC response carries `x-bs-request-id`, throw
|
|
240
|
-
*
|
|
241
|
-
*
|
|
290
|
+
* When no document or RSC response carries `x-bs-request-id`, throw (the
|
|
291
|
+
* default) or return `[]`. Cache-only navigations never hit the proxy, so
|
|
292
|
+
* they have no request id.
|
|
242
293
|
*/
|
|
243
294
|
readonly requireRequest?: boolean;
|
|
244
295
|
}
|
|
@@ -263,9 +314,9 @@ type ResponseDbStats = Pick<DbStats, "calls" | "waves" | "ms">;
|
|
|
263
314
|
*/
|
|
264
315
|
export declare function expectDbBudget(response: Response, expectation: ResponseBudgetExpectation): ResponseDbStats;
|
|
265
316
|
/**
|
|
266
|
-
* Measures every document and RSC navigation response during `during` and
|
|
267
|
-
*
|
|
268
|
-
*
|
|
317
|
+
* Measures every document and RSC navigation response during `during` and fails
|
|
318
|
+
* when one render makes more database calls or waves than allowed. Needs
|
|
319
|
+
* `createNext(betterSupabase, { debug })` and `bs.debugRoute()` in the app.
|
|
269
320
|
*/
|
|
270
321
|
export declare function expectDbBudget(page: BudgetPage, expectation: DbBudgetExpectation): Promise<readonly MeasuredRender[]>;
|
|
271
322
|
//#endregion
|
|
@@ -308,14 +359,17 @@ interface InstantExpectation {
|
|
|
308
359
|
/** Locators that must not exist while the lock holds. */
|
|
309
360
|
readonly absent?: readonly InstantLocator[];
|
|
310
361
|
/**
|
|
311
|
-
* Fails when one render of the navigation makes more database calls, or
|
|
312
|
-
*
|
|
313
|
-
*
|
|
362
|
+
* Fails when one render of the navigation makes more database calls, or when
|
|
363
|
+
* no render reached the proxy (a navigation the client cache served has
|
|
364
|
+
* nothing to measure: drop the budget for it).
|
|
314
365
|
*/
|
|
315
366
|
readonly maxCalls?: number;
|
|
316
367
|
/** Fails when one render of the navigation makes more sequential waves. */
|
|
317
368
|
readonly maxWaves?: number;
|
|
318
|
-
/**
|
|
369
|
+
/**
|
|
370
|
+
* How long to wait for the render that streams in after the lock releases.
|
|
371
|
+
* Defaults to 500 ms.
|
|
372
|
+
*/
|
|
319
373
|
readonly settleMs?: number;
|
|
320
374
|
/** Scopes the lock on a page that has not loaded yet. */
|
|
321
375
|
readonly baseURL?: string;
|
|
@@ -324,9 +378,9 @@ interface InstantExpectation {
|
|
|
324
378
|
}
|
|
325
379
|
/**
|
|
326
380
|
* Runs `during` inside `@next/playwright`'s `instant()`, checks what the
|
|
327
|
-
* prefetched UI shows while the lock holds, and with `maxCalls` or
|
|
328
|
-
*
|
|
329
|
-
*
|
|
381
|
+
* prefetched UI shows while the lock holds, and with `maxCalls` or `maxWaves`
|
|
382
|
+
* checks the navigation's database budget like `expectDbBudget`. Needs a `next
|
|
383
|
+
* build` with the testing API exposed.
|
|
330
384
|
*/
|
|
331
385
|
export declare function expectInstant(page: InstantPage, expectation: InstantExpectation): Promise<readonly MeasuredRender[]>;
|
|
332
386
|
//#endregion
|
|
@@ -338,27 +392,62 @@ type ExactSeed<M extends AnyModels, S> = { readonly [K in keyof S]: K extends ke
|
|
|
338
392
|
declare const SEED: unique symbol;
|
|
339
393
|
interface Seed<S> {
|
|
340
394
|
readonly [SEED]: true;
|
|
341
|
-
/**
|
|
395
|
+
/**
|
|
396
|
+
* The fixtures as given, so tests can reference
|
|
397
|
+
* `seed.rows.customers.acme.id`.
|
|
398
|
+
*/
|
|
342
399
|
readonly rows: S;
|
|
343
400
|
/** One `insert ... on conflict do nothing` per table, parents before children. */
|
|
344
401
|
statements(): string[];
|
|
345
402
|
sql(): string;
|
|
346
|
-
/**
|
|
403
|
+
/**
|
|
404
|
+
* Inserts the fixtures, e.g. in a test's `beforeAll`. Needs a service-role
|
|
405
|
+
* client.
|
|
406
|
+
*/
|
|
347
407
|
insert(sql: SqlClient): Promise<void>;
|
|
348
408
|
}
|
|
349
409
|
export declare function isSeed(value: unknown): value is Seed<unknown>;
|
|
350
410
|
/**
|
|
351
|
-
* Typed fixtures shared by `supabase/seeds` and your tests. Rows use app
|
|
352
|
-
*
|
|
411
|
+
* Typed fixtures shared by `supabase/seeds` and your tests. Rows use app casing
|
|
412
|
+
* and Insert types; `better-supabase seed` renders them to SQL.
|
|
353
413
|
*
|
|
354
414
|
* ```ts
|
|
355
415
|
* export const seed = defineSeed(betterSupabase, {
|
|
356
|
-
* organizations: { acme: { id: ACME, name:
|
|
357
|
-
* customers: { first: { organizationId: ACME, name:
|
|
416
|
+
* organizations: { acme: { id: ACME, name: "Acme" } },
|
|
417
|
+
* customers: { first: { organizationId: ACME, name: "First customer" } },
|
|
358
418
|
* });
|
|
359
419
|
* ```
|
|
360
420
|
*/
|
|
361
421
|
export declare function defineSeed<M extends AnyModels, D, F extends AnyFunctions, E, const S extends SeedFixtures<M>>(betterSupabase: BetterSupabase<M, D, F, E>, fixtures: S & ExactSeed<M, S>): Seed<S>;
|
|
422
|
+
/** The tenant a tenant seed fills. `slug` and `name` are set when known. */
|
|
423
|
+
interface TenantSeedTarget {
|
|
424
|
+
readonly id: string;
|
|
425
|
+
readonly slug?: string | undefined;
|
|
426
|
+
readonly name?: string | undefined;
|
|
427
|
+
}
|
|
428
|
+
declare const TENANT_SEED: unique symbol;
|
|
429
|
+
interface TenantSeed {
|
|
430
|
+
readonly [TENANT_SEED]: true;
|
|
431
|
+
/** One `insert ... on conflict do nothing` per table, parents before children. */
|
|
432
|
+
statements(tenant: TenantSeedTarget): string[];
|
|
433
|
+
/** Inserts the tenant's fixtures. Needs a service-role client. */
|
|
434
|
+
insert(sql: SqlClient, tenant: TenantSeedTarget): Promise<void>;
|
|
435
|
+
}
|
|
436
|
+
export declare function isTenantSeed(value: unknown): value is TenantSeed;
|
|
437
|
+
/**
|
|
438
|
+
* Fixtures for one tenant, built from its id. `better-supabase seed --tenant`
|
|
439
|
+
* applies them to existing tenants, and `seedTenantOnCreate` to each tenant
|
|
440
|
+
* created in development.
|
|
441
|
+
*
|
|
442
|
+
* ```ts
|
|
443
|
+
* export const seed = defineTenantSeed(betterSupabase, (tenant) => ({
|
|
444
|
+
* projects: {
|
|
445
|
+
* demo: { organizationId: tenant.id, name: "Demo project" },
|
|
446
|
+
* },
|
|
447
|
+
* }));
|
|
448
|
+
* ```
|
|
449
|
+
*/
|
|
450
|
+
export declare function defineTenantSeed<M extends AnyModels, D, F extends AnyFunctions, E, const S extends SeedFixtures<M>>(betterSupabase: BetterSupabase<M, D, F, E>, fixtures: (tenant: TenantSeedTarget) => S & ExactSeed<M, S>): TenantSeed;
|
|
362
451
|
//#endregion
|
|
363
452
|
//#region src/testing/scope.d.ts
|
|
364
453
|
/** What a `scopedSeed` builder receives for one test. */
|
|
@@ -374,7 +463,10 @@ type ScopedTenant<M extends AnyModels> = { readonly [K in TableKey<M>]: {
|
|
|
374
463
|
readonly row: (id: string) => Insert<M, K>;
|
|
375
464
|
}; }[TableKey<M>];
|
|
376
465
|
interface ScopedSeedOptions<M extends AnyModels> {
|
|
377
|
-
/**
|
|
466
|
+
/**
|
|
467
|
+
* The table and row for the tenant; leave it out when the tenant is only an
|
|
468
|
+
* id.
|
|
469
|
+
*/
|
|
378
470
|
readonly tenant?: ScopedTenant<M>;
|
|
379
471
|
/** Defaults to `$SUPABASE_URL` and `$SUPABASE_SECRET_KEY`. */
|
|
380
472
|
readonly stack?: LocalStack;
|
|
@@ -389,41 +481,126 @@ interface ScopedSeed<M extends AnyModels, S> {
|
|
|
389
481
|
[Symbol.asyncDispose](): Promise<void>;
|
|
390
482
|
}
|
|
391
483
|
/**
|
|
392
|
-
* Fresh rows for one test, so tests that run at the same time never share
|
|
393
|
-
*
|
|
394
|
-
*
|
|
395
|
-
*
|
|
396
|
-
*
|
|
484
|
+
* Fresh rows for one test, so tests that run at the same time never share data.
|
|
485
|
+
* It creates a new tenant id, inserts the fixtures that `build` returns through
|
|
486
|
+
* the service role (RLS and plugins don't apply), and hands back the inserted
|
|
487
|
+
* rows. Call `cleanup()` in `afterEach` (or `await using`) to delete them. A
|
|
488
|
+
* user from `asUser` then reads them over PostgREST like any other.
|
|
397
489
|
*
|
|
398
490
|
* ```ts
|
|
399
491
|
* const scope = await scopedSeed(
|
|
400
492
|
* betterSupabase,
|
|
401
493
|
* ({ tenant, id }) => ({
|
|
402
|
-
* customers: {
|
|
494
|
+
* customers: {
|
|
495
|
+
* first: { organizationId: tenant, name: `first-${id()}` },
|
|
496
|
+
* },
|
|
403
497
|
* }),
|
|
404
|
-
* {
|
|
498
|
+
* {
|
|
499
|
+
* tenant: {
|
|
500
|
+
* table: "organizations",
|
|
501
|
+
* row: (id) => ({ id, name: id, slug: id }),
|
|
502
|
+
* },
|
|
503
|
+
* },
|
|
405
504
|
* );
|
|
406
|
-
* const alice = await asUser(betterSupabase, {
|
|
505
|
+
* const alice = await asUser(betterSupabase, {
|
|
506
|
+
* sub: aliceId,
|
|
507
|
+
* tenant_id: scope.tenant,
|
|
508
|
+
* });
|
|
407
509
|
* expect(await alice.db.customers.count().orThrow()).toBe(1);
|
|
408
510
|
* await scope.cleanup();
|
|
409
511
|
* ```
|
|
410
512
|
*/
|
|
411
513
|
export declare function scopedSeed<M extends AnyModels, D, F extends AnyFunctions, E, const S extends SeedFixtures<M>>(betterSupabase: BetterSupabase<M, D, F, E>, build: (scope: Scope) => S & ExactSeed<M, S>, options?: ScopedSeedOptions<M>): Promise<ScopedSeed<M, S>>;
|
|
412
514
|
/**
|
|
413
|
-
* Runs `fn` as the user over direct Postgres inside one transaction and
|
|
414
|
-
*
|
|
515
|
+
* Runs `fn` as the user over direct Postgres inside one transaction and always
|
|
516
|
+
* rolls it back, so the test leaves no rows behind. `fn` gets the same
|
|
415
517
|
* repositories as `user.sql`. Only the `sql` path rolls back: `user.db` talks
|
|
416
518
|
* to PostgREST over HTTP and commits on its own.
|
|
417
519
|
*
|
|
418
520
|
* ```ts
|
|
419
521
|
* const alice = await asUser(betterSupabase, claims, { postgres });
|
|
420
522
|
* await withRollback(alice, async (db) => {
|
|
421
|
-
* await db.customers.create({ organizationId, name:
|
|
523
|
+
* await db.customers.create({ organizationId, name: "Temp" }).orThrow();
|
|
422
524
|
* expect(await db.customers.count().orThrow()).toBe(1);
|
|
423
525
|
* });
|
|
424
526
|
* ```
|
|
425
527
|
*/
|
|
426
528
|
export declare function withRollback<M extends AnyModels, F extends AnyFunctions, E, T>(user: TestUser<M, F, E>, fn: (db: Db<M, F, E, unknown>) => Promise<T>): Promise<T>;
|
|
529
|
+
/**
|
|
530
|
+
* Runs `fn` over direct Postgres as the user that `claims` describe, inside one
|
|
531
|
+
* transaction that always rolls back. The transaction sets `role` (from
|
|
532
|
+
* `claims.role`, else `authenticated`) and `request.jwt.claims`, so
|
|
533
|
+
* `auth.uid()`, `auth.jwt()` and RLS answer as they would for that user's
|
|
534
|
+
* request. Use it for raw SQL; `withRollback` gives repositories instead.
|
|
535
|
+
*
|
|
536
|
+
* ```ts
|
|
537
|
+
* await withClaims(
|
|
538
|
+
* postgres,
|
|
539
|
+
* { sub: aliceId, tenant_id: orgId },
|
|
540
|
+
* async (sql) => {
|
|
541
|
+
* const [row] = await sql.queryRaw<{ id: string }>(
|
|
542
|
+
* "select auth.uid() as id",
|
|
543
|
+
* );
|
|
544
|
+
* expect(row?.id).toBe(aliceId);
|
|
545
|
+
* },
|
|
546
|
+
* );
|
|
547
|
+
* ```
|
|
548
|
+
*/
|
|
549
|
+
export declare function withClaims<T>(postgres: BetterPostgres, claims: SqlClaims, fn: (sql: SqlClient) => Promise<T>): Promise<T>;
|
|
550
|
+
//#endregion
|
|
551
|
+
//#region src/testing/factory.d.ts
|
|
552
|
+
/**
|
|
553
|
+
* A foreign key value, or the parent row it points at: the factory reads the
|
|
554
|
+
* referenced column from a row.
|
|
555
|
+
*/
|
|
556
|
+
type FactoryRef<V> = V | Readonly<Record<string, unknown>>;
|
|
557
|
+
/**
|
|
558
|
+
* What a factory call takes: any insert column, with foreign keys (`F`) also
|
|
559
|
+
* taking the parent row. The columns in `R` have no default, so a call needs
|
|
560
|
+
* them.
|
|
561
|
+
*/
|
|
562
|
+
type FactoryInput<I, F extends keyof I = never, R extends keyof I = never> = { readonly [K in Exclude<keyof I, F | R>]?: I[K]; } & { readonly [K in Exclude<F, R>]?: FactoryRef<I[K]>; } & { readonly [K in Exclude<R, F>]-?: Exclude<I[K], undefined>; } & { readonly [K in R & F]-?: FactoryRef<Exclude<I[K], undefined>>; };
|
|
563
|
+
type FactoryArgs<I, F extends keyof I, R extends keyof I> = [R] extends [never] ? [input?: FactoryInput<I, F, R>] : [input: FactoryInput<I, F, R>];
|
|
564
|
+
/** Anything with a repository's `create`, such as `db.customers`. */
|
|
565
|
+
interface FactoryTarget<I, T> {
|
|
566
|
+
create(data: I): T;
|
|
567
|
+
}
|
|
568
|
+
/** Builds valid insert rows for one table. */
|
|
569
|
+
interface Factory<I, F extends keyof I = never, R extends keyof I = never> {
|
|
570
|
+
/** One row: the defaults for call `n`, then `input`. */
|
|
571
|
+
(...args: FactoryArgs<I, F, R>): I;
|
|
572
|
+
/** `count` rows, each with its own defaults. */
|
|
573
|
+
many(count: number, ...args: FactoryArgs<I, F, R>): I[];
|
|
574
|
+
/** Builds one row and passes it to `repository.create`. */
|
|
575
|
+
create<T>(repository: FactoryTarget<I, T>, ...args: FactoryArgs<I, F, R>): T;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* A factory from the defaults of call `n` and the foreign keys it resolves,
|
|
579
|
+
* each mapped to the column it references in the parent row. `factories()`
|
|
580
|
+
* generates one per table:
|
|
581
|
+
*
|
|
582
|
+
* ```ts
|
|
583
|
+
* const tasks = defineFactory<
|
|
584
|
+
* InsertOf<"tasks">,
|
|
585
|
+
* "customerId",
|
|
586
|
+
* "customerId"
|
|
587
|
+
* >((n) => ({ title: `title ${n}` }), { customerId: "id" });
|
|
588
|
+
* tasks({ customerId: acme });
|
|
589
|
+
* ```
|
|
590
|
+
*/
|
|
591
|
+
export declare function defineFactory<I, F extends keyof I & string = never, R extends keyof I = never>(defaults: (n: number) => Partial<I>, refs: { readonly [K in F]: string; }): Factory<I, F, R>;
|
|
592
|
+
/** A storage path in bucket `B` for a factory default. */
|
|
593
|
+
export declare function factoryPath<B extends string>(_bucket: B, path: string): StoragePath<B>;
|
|
594
|
+
/**
|
|
595
|
+
* The fixed times the generated factories use (2026-01-01), read through the
|
|
596
|
+
* Temporal the app provides.
|
|
597
|
+
*/
|
|
598
|
+
export declare const factoryTime: {
|
|
599
|
+
readonly instant: () => Temporal.Instant;
|
|
600
|
+
readonly plainDate: () => Temporal.PlainDate;
|
|
601
|
+
readonly plainDateTime: () => Temporal.PlainDateTime;
|
|
602
|
+
readonly plainTime: () => Temporal.PlainTime;
|
|
603
|
+
};
|
|
427
604
|
//#endregion
|
|
428
605
|
//#region src/testing/conformance.d.ts
|
|
429
606
|
interface ConformanceCheck {
|
|
@@ -436,7 +613,10 @@ interface ConformanceReport {
|
|
|
436
613
|
readonly subject: string;
|
|
437
614
|
readonly checks: readonly ConformanceCheck[];
|
|
438
615
|
}
|
|
439
|
-
/**
|
|
616
|
+
/**
|
|
617
|
+
* Thrown by a conformance kit when any check fails. Lists every failure, not
|
|
618
|
+
* just the first.
|
|
619
|
+
*/
|
|
440
620
|
export declare class ConformanceError extends Error {
|
|
441
621
|
readonly report: ConformanceReport;
|
|
442
622
|
constructor(report: ConformanceReport);
|
|
@@ -454,7 +634,8 @@ interface IsolationTenant {
|
|
|
454
634
|
interface IsolationTable<M extends AnyModels, K extends keyof M> {
|
|
455
635
|
/**
|
|
456
636
|
* A row owned by `tenant`. `n` is 0 for the row seeded through the service
|
|
457
|
-
* role and 1 for the other tenant's insert attempt: put it in unique
|
|
637
|
+
* role and 1 for the other tenant's insert attempt: put it in unique
|
|
638
|
+
* columns.
|
|
458
639
|
*/
|
|
459
640
|
readonly row: (tenant: IsolationTenant, n: 0 | 1) => Insert<M, K>;
|
|
460
641
|
/** A change the other tenant tries to make. It must differ from `row`. */
|
|
@@ -464,17 +645,23 @@ type IsolationTables<M extends AnyModels> = { readonly [K in TableKey<M>]?: Isol
|
|
|
464
645
|
interface TenantIsolationOptions<M extends AnyModels> {
|
|
465
646
|
readonly tenants: readonly [IsolationTenant, IsolationTenant];
|
|
466
647
|
readonly tables: IsolationTables<M>;
|
|
467
|
-
/**
|
|
648
|
+
/**
|
|
649
|
+
* Defaults to `$SUPABASE_URL`, `$SUPABASE_PUBLISHABLE_KEY` and
|
|
650
|
+
* `$SUPABASE_SECRET_KEY`.
|
|
651
|
+
*/
|
|
468
652
|
readonly stack?: LocalStack;
|
|
469
|
-
/**
|
|
653
|
+
/**
|
|
654
|
+
* Runs before any row is created, e.g. `() => seed.insert(sql)` for the
|
|
655
|
+
* tenants and their memberships.
|
|
656
|
+
*/
|
|
470
657
|
readonly seed?: () => Promise<void>;
|
|
471
658
|
}
|
|
472
659
|
/**
|
|
473
660
|
* Checks row-level security between two tenants against a running stack: for
|
|
474
661
|
* each table, a user of one tenant must not select, insert, update or delete
|
|
475
|
-
* the other tenant's rows. Runs without `betterSupabase`'s plugins, so the
|
|
476
|
-
* plugin can't hide a missing policy. Throws a `ConformanceError`
|
|
477
|
-
* table and command that leaks; removes every row it created.
|
|
662
|
+
* the other tenant's rows. Runs without `betterSupabase`'s plugins, so the
|
|
663
|
+
* `tenant()` plugin can't hide a missing policy. Throws a `ConformanceError`
|
|
664
|
+
* naming each table and command that leaks; removes every row it created.
|
|
478
665
|
*
|
|
479
666
|
* ```ts
|
|
480
667
|
* await expectTenantIsolation(betterSupabase, {
|
|
@@ -484,8 +671,11 @@ interface TenantIsolationOptions<M extends AnyModels> {
|
|
|
484
671
|
* ],
|
|
485
672
|
* tables: {
|
|
486
673
|
* tags: {
|
|
487
|
-
* row: (tenant, n) => ({
|
|
488
|
-
*
|
|
674
|
+
* row: (tenant, n) => ({
|
|
675
|
+
* organizationId: tenant.id,
|
|
676
|
+
* name: `iso-${n}`,
|
|
677
|
+
* }),
|
|
678
|
+
* update: { name: "changed" },
|
|
489
679
|
* },
|
|
490
680
|
* },
|
|
491
681
|
* });
|
|
@@ -495,10 +685,10 @@ export declare function expectTenantIsolation<M extends AnyModels, D, F extends
|
|
|
495
685
|
//#endregion
|
|
496
686
|
//#region src/testing/claims-fixtures.d.ts
|
|
497
687
|
/**
|
|
498
|
-
* Claims of a Supabase access token where someone acts for the user, with
|
|
499
|
-
*
|
|
500
|
-
*
|
|
501
|
-
*
|
|
688
|
+
* Claims of a Supabase access token where someone acts for the user, with what
|
|
689
|
+
* `toSession` reads from them: `actor`, `impersonator` and `delegation`. Plain
|
|
690
|
+
* data, so another library that reads the same `act` claim (RFC 8693) can test
|
|
691
|
+
* against the same fixtures.
|
|
502
692
|
*/
|
|
503
693
|
interface SupabaseClaimFixture {
|
|
504
694
|
/** Without `iat` and `exp`, so a test signer sets them. */
|
|
@@ -510,25 +700,28 @@ interface SupabaseClaimFixture {
|
|
|
510
700
|
readonly actor: SessionActor;
|
|
511
701
|
/** Set for support and impersonated sessions only. */
|
|
512
702
|
readonly impersonator?: Impersonator;
|
|
513
|
-
/**
|
|
703
|
+
/**
|
|
704
|
+
* Set for an `oauth-client` actor, and an `agent` on a token with a
|
|
705
|
+
* `scope`.
|
|
706
|
+
*/
|
|
514
707
|
readonly delegation?: SessionDelegation;
|
|
515
708
|
};
|
|
516
709
|
}
|
|
517
710
|
type SupabaseClaimFixtureName = "supportSession" | "supportSessionReadOnly" | "impersonation" | "oauthClient" | "agentChain" | "agentRun" | "agentRunReadOnly";
|
|
518
711
|
/**
|
|
519
|
-
* `supportSession` and `supportSessionReadOnly` are what `supportClaims`
|
|
520
|
-
*
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
*
|
|
524
|
-
* `
|
|
525
|
-
*
|
|
712
|
+
* `supportSession` and `supportSessionReadOnly` are what `supportClaims` mints
|
|
713
|
+
* (`act.kind: "support"`), `impersonation` what `actingAs` mints (`act.kind:
|
|
714
|
+
* "impersonation"`), `oauthClient` a Supabase OAuth server token (its identity
|
|
715
|
+
* scopes `openid` and `email` are left out of the delegation), `agentChain` an
|
|
716
|
+
* RFC 8693 chain without `kind`, and `agentRun` and `agentRunReadOnly` what
|
|
717
|
+
* `agentClaims` mints over that chain (`act.kind: "agent"`, with `readOnly:
|
|
718
|
+
* true` for the second).
|
|
526
719
|
*/
|
|
527
720
|
export declare const supabaseClaimFixtures: Readonly<Record<SupabaseClaimFixtureName, SupabaseClaimFixture>>;
|
|
528
721
|
/**
|
|
529
|
-
* Claims whose `act` chain better-supabase refuses, so the session must
|
|
530
|
-
*
|
|
531
|
-
*
|
|
722
|
+
* Claims whose `act` chain better-supabase refuses, so the session must not
|
|
723
|
+
* pass as the user alone. `resolveAuth` and `toSession` both answer with this
|
|
724
|
+
* verdict.
|
|
532
725
|
*/
|
|
533
726
|
interface SupabaseInvalidClaimFixture {
|
|
534
727
|
/** Without `iat` and `exp`, so a test signer sets them. */
|
|
@@ -544,20 +737,46 @@ interface SupabaseInvalidClaimFixture {
|
|
|
544
737
|
}
|
|
545
738
|
type SupabaseInvalidClaimFixtureName = "legacySupportSession" | "supportReadOnlyNotBoolean" | "agentWithSessionId" | "agentEmptyToolName" | "agentToolsNotArray" | "agentReadOnlyNotBoolean" | "unknownKind" | "levelWithoutSub";
|
|
546
739
|
/**
|
|
547
|
-
* `legacySupportSession` is a 0.5.0 support token: `session_id` without
|
|
548
|
-
*
|
|
549
|
-
*
|
|
550
|
-
*
|
|
551
|
-
*
|
|
552
|
-
*
|
|
740
|
+
* `legacySupportSession` is a 0.5.0 support token: `session_id` without `kind`.
|
|
741
|
+
* better-supabase refuses it instead of reading it as a support session; mint a
|
|
742
|
+
* new one with `supportClaims`. The others are malformed levels: a support or
|
|
743
|
+
* agent `read_only` that is not a boolean, an agent with a `session_id`, an
|
|
744
|
+
* empty tool name or `tools` that is not a list, a `kind` better-supabase does
|
|
745
|
+
* not know, and a nested level without `sub`.
|
|
553
746
|
*/
|
|
554
747
|
export declare const supabaseInvalidClaimFixtures: Readonly<Record<SupabaseInvalidClaimFixtureName, SupabaseInvalidClaimFixture>>;
|
|
555
748
|
//#endregion
|
|
749
|
+
//#region src/testing/tenant-seed.d.ts
|
|
750
|
+
interface SeedTenantOnCreateOptions {
|
|
751
|
+
/** A service-role client the seed inserts through. */
|
|
752
|
+
readonly sql: SqlClient;
|
|
753
|
+
/** Defaults to `NODE_ENV === 'development'`. */
|
|
754
|
+
readonly enabled?: boolean;
|
|
755
|
+
/** Called when the seed fails. Defaults to `console.error`. */
|
|
756
|
+
readonly onError?: (error: unknown, organizationId: string) => void;
|
|
757
|
+
}
|
|
758
|
+
/**
|
|
759
|
+
* Applies `seed` to each organization created through the organizations block,
|
|
760
|
+
* so a new tenant starts with demo data in development. The seed runs after the
|
|
761
|
+
* event and can never change the result of the create call. Returns a function
|
|
762
|
+
* that stops listening.
|
|
763
|
+
*
|
|
764
|
+
* ```ts
|
|
765
|
+
* seedTenantOnCreate(betterSupabase, tenantSeed, { sql: serviceSql });
|
|
766
|
+
* ```
|
|
767
|
+
*/
|
|
768
|
+
export declare function seedTenantOnCreate(betterSupabase: {
|
|
769
|
+
readonly events: EventHub;
|
|
770
|
+
}, seed: TenantSeed, options: SeedTenantOnCreateOptions): () => void;
|
|
771
|
+
//#endregion
|
|
556
772
|
//#region src/testing/kits/auth-resolver.d.ts
|
|
557
773
|
interface TestAuthResolverOptions {
|
|
558
774
|
/** Requests with credentials this resolver owns but that must not verify. */
|
|
559
775
|
readonly invalid: readonly Request[];
|
|
560
|
-
/**
|
|
776
|
+
/**
|
|
777
|
+
* Requests that must resolve to a user or service, optionally with the
|
|
778
|
+
* expected user id.
|
|
779
|
+
*/
|
|
561
780
|
readonly valid?: readonly {
|
|
562
781
|
readonly request: Request;
|
|
563
782
|
readonly userId?: string;
|
|
@@ -582,30 +801,50 @@ export declare function testCacheAdapter(adapter: CacheAdapter, options?: {
|
|
|
582
801
|
//#endregion
|
|
583
802
|
//#region src/testing/kits/event-sink.d.ts
|
|
584
803
|
interface TestEventSinkOptions {
|
|
585
|
-
/**
|
|
804
|
+
/**
|
|
805
|
+
* Events the sink delivered, for sinks that can be read back (an outbox, a
|
|
806
|
+
* test queue).
|
|
807
|
+
*/
|
|
586
808
|
readonly received?: () => readonly CloudEvent[] | Promise<readonly CloudEvent[]>;
|
|
587
809
|
}
|
|
588
|
-
/**
|
|
810
|
+
/**
|
|
811
|
+
* Proves an `EventSink` accepts empty and full batches without mutating them,
|
|
812
|
+
* and delivers them when readable.
|
|
813
|
+
*/
|
|
589
814
|
export declare function testEventSink(sink: EventSink, options?: TestEventSinkOptions): Promise<ConformanceReport>;
|
|
590
815
|
//#endregion
|
|
591
816
|
//#region src/testing/kits/executor.d.ts
|
|
592
817
|
type AnySupabase$1 = BetterSupabase<any, any, any, any>;
|
|
593
818
|
interface TestExecutorOptions {
|
|
594
|
-
/**
|
|
819
|
+
/**
|
|
820
|
+
* A definition whose schema matches the executor's database. Install no
|
|
821
|
+
* plugins.
|
|
822
|
+
*/
|
|
595
823
|
readonly betterSupabase: AnySupabase$1;
|
|
596
|
-
/**
|
|
824
|
+
/**
|
|
825
|
+
* App key of a table with rows the executor can read. Defaults to the first
|
|
826
|
+
* table.
|
|
827
|
+
*/
|
|
597
828
|
readonly table?: string;
|
|
598
|
-
/**
|
|
829
|
+
/**
|
|
830
|
+
* A row to insert and delete again, to check writes. Skips write checks when
|
|
831
|
+
* omitted.
|
|
832
|
+
*/
|
|
599
833
|
readonly create?: Readonly<Record<string, unknown>>;
|
|
600
834
|
}
|
|
601
835
|
/**
|
|
602
836
|
* Proves an `Executor` meets the contract: rows keyed by the selection's
|
|
603
|
-
* aliases, counts, `aborted` errors, failures returned as `Result`s rather
|
|
604
|
-
*
|
|
605
|
-
*
|
|
837
|
+
* aliases, counts, `aborted` errors, failures returned as `Result`s rather than
|
|
838
|
+
* thrown, and (with `create`) a write round trip and a `deleteMany` that
|
|
839
|
+
* `maxAffected` refuses without deleting anything.
|
|
606
840
|
*
|
|
607
841
|
* ```ts
|
|
608
|
-
* it(
|
|
842
|
+
* it("conforms", () =>
|
|
843
|
+
* testExecutor(myExecutor, {
|
|
844
|
+
* betterSupabase,
|
|
845
|
+
* table: "tags",
|
|
846
|
+
* create: { name: "x" },
|
|
847
|
+
* }));
|
|
609
848
|
* ```
|
|
610
849
|
*/
|
|
611
850
|
export declare function testExecutor(executor: Executor, options: TestExecutorOptions): Promise<ConformanceReport>;
|
|
@@ -615,15 +854,15 @@ interface TestPaymentProviderOptions {
|
|
|
615
854
|
/** What the kit charges. Defaults to 10.00 EUR. */
|
|
616
855
|
readonly amount?: Money;
|
|
617
856
|
/**
|
|
618
|
-
* Has the customer approve a `manual` payment, so it reaches
|
|
619
|
-
*
|
|
620
|
-
*
|
|
857
|
+
* Has the customer approve a `manual` payment, so it reaches `authorized`
|
|
858
|
+
* (with Stripe, confirm it with a test card). Without it the capture and
|
|
859
|
+
* refund checks are skipped.
|
|
621
860
|
*/
|
|
622
861
|
readonly authorize?: (payment: Payment) => void | Promise<void>;
|
|
623
862
|
/**
|
|
624
|
-
* A delivery the provider's endpoint would receive for `payment`, signed
|
|
625
|
-
*
|
|
626
|
-
*
|
|
863
|
+
* A delivery the provider's endpoint would receive for `payment`, signed with
|
|
864
|
+
* the provider's secret, and the same delivery with its body changed. Without
|
|
865
|
+
* it the webhook checks are skipped.
|
|
627
866
|
*/
|
|
628
867
|
readonly webhook?: (payment: Payment) => Promise<{
|
|
629
868
|
readonly valid: WebhookInput;
|
|
@@ -632,11 +871,11 @@ interface TestPaymentProviderOptions {
|
|
|
632
871
|
}
|
|
633
872
|
/**
|
|
634
873
|
* Runs the `PaymentProvider` contract against `provider`: the API version,
|
|
635
|
-
* refused amounts, a created payment and its fields, an idempotency key
|
|
636
|
-
*
|
|
637
|
-
*
|
|
638
|
-
*
|
|
639
|
-
*
|
|
874
|
+
* refused amounts, a created payment and its fields, an idempotency key that
|
|
875
|
+
* pays once, `not_found` for an unknown payment, and, with the options that
|
|
876
|
+
* drive them, capture and refunds of an authorized payment and webhook
|
|
877
|
+
* verification. Every call carries a fresh reference, so the kit runs against a
|
|
878
|
+
* test account without cleanup.
|
|
640
879
|
*/
|
|
641
880
|
export declare function testPaymentProvider(provider: PaymentProvider, options?: TestPaymentProviderOptions): Promise<ConformanceReport>;
|
|
642
881
|
//#endregion
|
|
@@ -652,14 +891,40 @@ interface TestTaxProviderOptions {
|
|
|
652
891
|
readonly expectTax?: boolean;
|
|
653
892
|
}
|
|
654
893
|
/**
|
|
655
|
-
* Runs the `TaxProvider` contract against `provider`: the API version,
|
|
656
|
-
*
|
|
657
|
-
*
|
|
658
|
-
*
|
|
659
|
-
*
|
|
894
|
+
* Runs the `TaxProvider` contract against `provider`: the API version, refused
|
|
895
|
+
* carts, a quote with one line per cart line in order and a total that adds up,
|
|
896
|
+
* inclusive prices, shipping, exempt customers, commit, and full and partial
|
|
897
|
+
* reversals with their limits. Every commit carries a fresh reference, so the
|
|
898
|
+
* kit runs against a test account without cleanup.
|
|
660
899
|
*/
|
|
661
900
|
export declare function testTaxProvider(provider: TaxProvider, options: TestTaxProviderOptions): Promise<ConformanceReport>;
|
|
662
901
|
//#endregion
|
|
902
|
+
//#region src/testing/kits/shipment-carrier.d.ts
|
|
903
|
+
interface TestShipmentCarrierOptions {
|
|
904
|
+
/** Addresses the carrier ships between. */
|
|
905
|
+
readonly from: ShipmentAddress;
|
|
906
|
+
readonly to: ShipmentAddress;
|
|
907
|
+
/** A service code the carrier sells for that route. */
|
|
908
|
+
readonly service: string;
|
|
909
|
+
/** The currency to quote in; unset takes the carrier's default. */
|
|
910
|
+
readonly currency?: string;
|
|
911
|
+
/**
|
|
912
|
+
* For a carrier with `parseWebhook`: a correctly signed tracking webhook, and
|
|
913
|
+
* one whose signature fails.
|
|
914
|
+
*/
|
|
915
|
+
readonly webhook?: {
|
|
916
|
+
readonly valid: () => WebhookInput | Promise<WebhookInput>;
|
|
917
|
+
readonly forged: () => WebhookInput | Promise<WebhookInput>;
|
|
918
|
+
};
|
|
919
|
+
}
|
|
920
|
+
/**
|
|
921
|
+
* Runs the `ShipmentCarrier` contract against `carrier`: the API version,
|
|
922
|
+
* refused requests, rates, a label with idempotent retries, tracking, voiding
|
|
923
|
+
* the label and, with `webhook`, signed and forged tracking webhooks. Run it
|
|
924
|
+
* against a carrier's test account: it buys one label and voids it.
|
|
925
|
+
*/
|
|
926
|
+
export declare function testShipmentCarrier(carrier: ShipmentCarrier, options: TestShipmentCarrierOptions): Promise<ConformanceReport>;
|
|
927
|
+
//#endregion
|
|
663
928
|
//#region src/testing/kits/incoming-destination.d.ts
|
|
664
929
|
interface TestIncomingDestinationOptions {
|
|
665
930
|
/** The tenant the test deliveries belong to. */
|
|
@@ -670,8 +935,8 @@ interface TestIncomingDestinationOptions {
|
|
|
670
935
|
/**
|
|
671
936
|
* Proves an `IncomingDestination` accepts a delivery once per endpoint and
|
|
672
937
|
* message id: a repeat reports the first id as a duplicate, while another
|
|
673
|
-
* message id or another endpoint is new.
|
|
674
|
-
*
|
|
938
|
+
* message id or another endpoint is new. It delivers four messages with random
|
|
939
|
+
* endpoint ids; the destination keeps them.
|
|
675
940
|
*/
|
|
676
941
|
export declare function testIncomingDestination(destination: IncomingDestination, options: TestIncomingDestinationOptions): Promise<ConformanceReport>;
|
|
677
942
|
//#endregion
|
|
@@ -687,11 +952,11 @@ interface TestPluginOptions {
|
|
|
687
952
|
readonly create?: Readonly<Record<string, unknown>>;
|
|
688
953
|
}
|
|
689
954
|
/**
|
|
690
|
-
* Proves a `Plugin` targets API v1, installs cleanly on its own and next to
|
|
691
|
-
*
|
|
692
|
-
* replacing base ones, keeps `context`, `transformQuery` and
|
|
693
|
-
*
|
|
694
|
-
*
|
|
955
|
+
* Proves a `Plugin` targets API v1, installs cleanly on its own and next to the
|
|
956
|
+
* first-party plugins in either order, adds repository methods without
|
|
957
|
+
* replacing base ones, keeps `context`, `transformQuery` and `beforeMutation`
|
|
958
|
+
* pure and deterministic, and keeps executors' results intact when it wraps
|
|
959
|
+
* them.
|
|
695
960
|
*/
|
|
696
961
|
export declare function testPlugin(plugin: AnyPlugin, options: TestPluginOptions): Promise<ConformanceReport>;
|
|
697
962
|
//#endregion
|
|
@@ -699,14 +964,17 @@ export declare function testPlugin(plugin: AnyPlugin, options: TestPluginOptions
|
|
|
699
964
|
interface TestQueueBackendOptions {
|
|
700
965
|
/** A queue the kit may fill and drain; use a fresh name per run. */
|
|
701
966
|
readonly queue: string;
|
|
702
|
-
/**
|
|
967
|
+
/**
|
|
968
|
+
* Check that a repeated dedupe key returns the first id. Defaults to
|
|
969
|
+
* `backend.leases`.
|
|
970
|
+
*/
|
|
703
971
|
readonly dedupe?: boolean;
|
|
704
972
|
}
|
|
705
973
|
/**
|
|
706
974
|
* Proves a `QueueBackend` round-trips payloads, hides claimed messages for
|
|
707
|
-
* their lease, counts attempts, retries and dead-letters on `fail`, and
|
|
708
|
-
*
|
|
709
|
-
*
|
|
975
|
+
* their lease, counts attempts, retries and dead-letters on `fail`, and (when
|
|
976
|
+
* it has `leases`) rejects a stale attempt and extends a lease. It writes to
|
|
977
|
+
* `options.queue` on the backend's real store.
|
|
710
978
|
*/
|
|
711
979
|
export declare function testQueueBackend(backend: QueueBackend, options: TestQueueBackendOptions): Promise<ConformanceReport>;
|
|
712
980
|
//#endregion
|
|
@@ -721,11 +989,11 @@ interface TestSupportSessionStoreOptions {
|
|
|
721
989
|
readonly targets: readonly [string, string];
|
|
722
990
|
}
|
|
723
991
|
/**
|
|
724
|
-
* Proves a `SupportSessionStore` starts sessions with the input it was
|
|
725
|
-
*
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
*
|
|
992
|
+
* Proves a `SupportSessionStore` starts sessions with the input it was given,
|
|
993
|
+
* shows a running session only to its admin, ends the admin's previous session
|
|
994
|
+
* on start, ends a session once, lists sessions and, with `expire`, leaves
|
|
995
|
+
* running sessions alone. It writes sessions to the store; they are all ended
|
|
996
|
+
* when it returns.
|
|
729
997
|
*/
|
|
730
998
|
export declare function testSupportSessionStore(store: SupportSessionStore, options: TestSupportSessionStoreOptions): Promise<ConformanceReport>;
|
|
731
999
|
//#endregion
|
|
@@ -749,13 +1017,16 @@ interface MountedBinding {
|
|
|
749
1017
|
readonly unmount: () => void | Promise<void>;
|
|
750
1018
|
}
|
|
751
1019
|
interface ControllerBindingHarness {
|
|
752
|
-
/**
|
|
1020
|
+
/**
|
|
1021
|
+
* Mounts the binding over the controller `create` returns, as a component
|
|
1022
|
+
* would.
|
|
1023
|
+
*/
|
|
753
1024
|
readonly mount: (create: () => ProbeController) => MountedBinding | Promise<MountedBinding>;
|
|
754
1025
|
/** Lets the framework apply pending updates: a tick, a flush. */
|
|
755
1026
|
readonly settle?: () => void | Promise<void>;
|
|
756
1027
|
/**
|
|
757
|
-
* Whether unmounting disposes the controller. React keeps it for
|
|
758
|
-
*
|
|
1028
|
+
* Whether unmounting disposes the controller. React keeps it for StrictMode's
|
|
1029
|
+
* second mount and only stops its work. Default true.
|
|
759
1030
|
*/
|
|
760
1031
|
readonly disposes?: boolean;
|
|
761
1032
|
}
|
|
@@ -772,14 +1043,17 @@ type AnySupabase = BetterSupabase<any, any, any, any>;
|
|
|
772
1043
|
/** What the adapter module asks a handler to do with the caller's context. */
|
|
773
1044
|
type AdapterRun = (ctx: Pick<ServerContext<AnyModels, AnyFunctions, unknown>, "auth" | "replica">) => unknown;
|
|
774
1045
|
interface TestAdapterOptions {
|
|
775
|
-
/**
|
|
1046
|
+
/**
|
|
1047
|
+
* The definition the adapter is built from: the module tracks event sends on
|
|
1048
|
+
* its `events`.
|
|
1049
|
+
*/
|
|
776
1050
|
readonly betterSupabase: AnySupabase;
|
|
777
1051
|
/**
|
|
778
1052
|
* Builds the adapter with `server` (pass it to `createX(betterSupabase,
|
|
779
|
-
* server)`) and returns a fetch function that answers a request with
|
|
780
|
-
*
|
|
781
|
-
*
|
|
782
|
-
*
|
|
1053
|
+
* server)`) and returns a fetch function that answers a request with `run` as
|
|
1054
|
+
* the caller, behind a guard that allows `allow`. Translate the module's bare
|
|
1055
|
+
* GET into what the adapter expects (a JSON-RPC `tools/call`, an oRPC call)
|
|
1056
|
+
* inside the function.
|
|
783
1057
|
*/
|
|
784
1058
|
readonly serve: (server: ServerOptions & {
|
|
785
1059
|
readonly exposeErrors: false;
|
|
@@ -787,51 +1061,55 @@ interface TestAdapterOptions {
|
|
|
787
1061
|
readonly allow: NonNullable<GuardOptions["allow"]>;
|
|
788
1062
|
readonly waitUntil: (promise: Promise<unknown>) => void;
|
|
789
1063
|
}) => (request: Request) => Promise<Response>;
|
|
790
|
-
/**
|
|
1064
|
+
/**
|
|
1065
|
+
* The adapter answers handler errors in a 200 body (MCP tool results), not
|
|
1066
|
+
* with HTTP statuses.
|
|
1067
|
+
*/
|
|
791
1068
|
readonly errorsInBody?: boolean;
|
|
792
1069
|
/** The adapter sends no cookies (bearer-only transports such as MCP). */
|
|
793
1070
|
readonly cookies?: false;
|
|
794
1071
|
}
|
|
795
1072
|
/**
|
|
796
1073
|
* Proves a framework adapter refuses callers its guard rejects, answers
|
|
797
|
-
* `DbError`s with their status, hides unexpected errors, applies the
|
|
798
|
-
*
|
|
799
|
-
* `
|
|
1074
|
+
* `DbError`s with their status, hides unexpected errors, applies the context's
|
|
1075
|
+
* cookies and hands pending event sends to `waitUntil`, the way `handle()` from
|
|
1076
|
+
* `better-supabase/server` does.
|
|
800
1077
|
*/
|
|
801
1078
|
export declare function testAdapter(name: string, options: TestAdapterOptions): Promise<ConformanceReport>;
|
|
802
1079
|
//#endregion
|
|
803
1080
|
//#region src/testing/transport-middleware.d.ts
|
|
804
1081
|
/**
|
|
805
|
-
* Proves a `BlockTransportMiddleware` meets the contract: it declares API 1
|
|
806
|
-
*
|
|
1082
|
+
* Proves a `BlockTransportMiddleware` meets the contract: it declares API 1 and
|
|
1083
|
+
* a name, calls `next` at most once per call, leaves the request it got
|
|
807
1084
|
* unchanged, resolves when `next` does, and rejects with the database error
|
|
808
1085
|
* `next` rejected with, so blocks still map it to a `DbError`.
|
|
809
1086
|
*
|
|
810
1087
|
* ```ts
|
|
811
|
-
* it(
|
|
1088
|
+
* it("conforms", () =>
|
|
1089
|
+
* testBlockTransportMiddleware(statementTimeout("5s")));
|
|
812
1090
|
* ```
|
|
813
1091
|
*/
|
|
814
1092
|
export declare function testBlockTransportMiddleware(middleware: BlockTransportMiddleware): Promise<ConformanceReport>;
|
|
815
1093
|
//#endregion
|
|
816
1094
|
//#region src/testing/authorization-provider.d.ts
|
|
817
1095
|
/**
|
|
818
|
-
* Proves an `AuthorizationProvider` targets API v1, is plain JSON, names
|
|
819
|
-
*
|
|
820
|
-
*
|
|
821
|
-
*
|
|
822
|
-
*
|
|
1096
|
+
* Proves an `AuthorizationProvider` targets API v1, is plain JSON, names valid
|
|
1097
|
+
* scopes with a tenant scope that has an id type, writes templates that are
|
|
1098
|
+
* safe to inline and use the placeholders they need, lists every function its
|
|
1099
|
+
* templates call in `requires`, and keeps its token hook, suspension rows, role
|
|
1100
|
+
* sources and deciding columns well formed.
|
|
823
1101
|
*/
|
|
824
1102
|
export declare function testAuthorizationProvider(provider: AuthorizationProvider): Promise<ConformanceReport>;
|
|
825
1103
|
//#endregion
|
|
826
1104
|
//#region src/testing/authorization-hooks.d.ts
|
|
827
1105
|
/**
|
|
828
1106
|
* Proves `AuthorizationHooks` target API v1 and fail closed for strangers:
|
|
829
|
-
* fan-out returns only subscribers it was given, an identity nobody linked
|
|
830
|
-
*
|
|
831
|
-
*
|
|
832
|
-
*
|
|
833
|
-
*
|
|
834
|
-
*
|
|
1107
|
+
* fan-out returns only subscribers it was given, an identity nobody linked and
|
|
1108
|
+
* a forged ticket resolve to `null`, a requester never approves their own
|
|
1109
|
+
* request, an unknown publisher can neither publish nor run, an unlinked chat
|
|
1110
|
+
* author gets nothing, an admin with no claims cannot start a support session
|
|
1111
|
+
* and never approves their own, and a delegated token with no scopes maps to no
|
|
1112
|
+
* permissions.
|
|
835
1113
|
*/
|
|
836
1114
|
export declare function testAuthorizationHooks(hooks: AuthorizationHooks): Promise<ConformanceReport>;
|
|
837
1115
|
//#endregion
|
|
@@ -845,16 +1123,16 @@ interface TestDeliveryTransportOptions {
|
|
|
845
1123
|
/** The sample's recipient. Defaults to `delivered@example.test`. */
|
|
846
1124
|
readonly to?: string;
|
|
847
1125
|
/**
|
|
848
|
-
* What the provider received, read after the kit sends. When given, the
|
|
849
|
-
*
|
|
1126
|
+
* What the provider received, read after the kit sends. When given, the kit
|
|
1127
|
+
* checks that the idempotency key and the headers arrived as sent.
|
|
850
1128
|
*/
|
|
851
1129
|
readonly received?: () => Promise<readonly ReceivedDelivery[]>;
|
|
852
1130
|
}
|
|
853
1131
|
/**
|
|
854
|
-
* Runs the `DeliveryTransport` contract against `transport`: API version 1,
|
|
855
|
-
*
|
|
856
|
-
*
|
|
857
|
-
*
|
|
1132
|
+
* Runs the `DeliveryTransport` contract against `transport`: API version 1, the
|
|
1133
|
+
* `email` channel, a provider name, and one frozen sample message it sends
|
|
1134
|
+
* without mutating, with the delivery id as its idempotency key. Throws a
|
|
1135
|
+
* `ConformanceError` listing every failed check.
|
|
858
1136
|
*/
|
|
859
1137
|
export declare function testDeliveryTransport(transport: DeliveryTransport, options?: TestDeliveryTransportOptions): Promise<ConformanceReport>;
|
|
860
1138
|
//#endregion
|
|
@@ -867,17 +1145,20 @@ interface TestAuthorizerOptions<Ref> {
|
|
|
867
1145
|
readonly permission: Ref;
|
|
868
1146
|
readonly context: RequestContext;
|
|
869
1147
|
};
|
|
870
|
-
/**
|
|
1148
|
+
/**
|
|
1149
|
+
* A permission reference the authorizer doesn't know; it must never be
|
|
1150
|
+
* granted.
|
|
1151
|
+
*/
|
|
871
1152
|
readonly unknown?: Ref;
|
|
872
1153
|
}
|
|
873
1154
|
/**
|
|
874
1155
|
* Proves an `Authorizer` targets API v1, keys every permission to the same
|
|
875
|
-
* string each time (and after a JSON round trip, so references are plain
|
|
876
|
-
*
|
|
877
|
-
*
|
|
878
|
-
*
|
|
879
|
-
*
|
|
880
|
-
* `options.granted` through `checkPermission`.
|
|
1156
|
+
* string each time (and after a JSON round trip, so references are plain JSON),
|
|
1157
|
+
* answers every request with a known outcome without mutating it, keeps the
|
|
1158
|
+
* request order in `evaluations`, decides from the subject rather than the
|
|
1159
|
+
* input (forged roles, claims and memberships in the resource properties or the
|
|
1160
|
+
* context never turn a denial into a grant), never grants an unknown
|
|
1161
|
+
* permission, and grants `options.granted` through `checkPermission`.
|
|
881
1162
|
*/
|
|
882
1163
|
export declare function testAuthorizer<Ref>(authorizer: Authorizer<Ref>, options: TestAuthorizerOptions<Ref>): Promise<ConformanceReport>;
|
|
883
1164
|
interface StaticAuthorizerOptions<Ref extends string> {
|
|
@@ -888,21 +1169,24 @@ interface StaticAuthorizerOptions<Ref extends string> {
|
|
|
888
1169
|
readonly roles?: Readonly<Record<string, readonly Ref[]>>;
|
|
889
1170
|
/** Permissions per subject id, on top of the role's. */
|
|
890
1171
|
readonly grants?: Readonly<Record<string, readonly Ref[]>>;
|
|
891
|
-
/**
|
|
1172
|
+
/**
|
|
1173
|
+
* Permissions that answer `approval-required` with the approval id
|
|
1174
|
+
* `approval:<permission>`.
|
|
1175
|
+
*/
|
|
892
1176
|
readonly approvals?: readonly Ref[];
|
|
893
1177
|
}
|
|
894
1178
|
/**
|
|
895
|
-
* An in-memory `Authorizer` for tests and examples: permissions come from
|
|
896
|
-
*
|
|
897
|
-
*
|
|
1179
|
+
* An in-memory `Authorizer` for tests and examples: permissions come from the
|
|
1180
|
+
* subject's `role` and id only, never from the request's resource or context,
|
|
1181
|
+
* and it ignores `subject.properties.claims`.
|
|
898
1182
|
*/
|
|
899
1183
|
export declare function staticAuthorizer<Ref extends string>(options: StaticAuthorizerOptions<Ref>): Authorizer<Ref>;
|
|
900
1184
|
//#endregion
|
|
901
1185
|
//#region src/testing/document-format.d.ts
|
|
902
1186
|
interface TestDocumentFormatOptions<V extends string = string> {
|
|
903
1187
|
/**
|
|
904
|
-
* The model to lower. Defaults to a small model with a route, a stream,
|
|
905
|
-
*
|
|
1188
|
+
* The model to lower. Defaults to a small model with a route, a stream, a
|
|
1189
|
+
* webhook, a Realtime channel and a workflow.
|
|
906
1190
|
*/
|
|
907
1191
|
readonly model?: ApiModel;
|
|
908
1192
|
/** The versions to lower. Defaults to every version the format lists. */
|
|
@@ -910,12 +1194,11 @@ interface TestDocumentFormatOptions<V extends string = string> {
|
|
|
910
1194
|
}
|
|
911
1195
|
/**
|
|
912
1196
|
* Proves a `DocumentFormat` targets API v1, lists versions with pins and a
|
|
913
|
-
* known status, defaults to a version it lists that is not a preview, and,
|
|
914
|
-
*
|
|
915
|
-
*
|
|
916
|
-
*
|
|
917
|
-
*
|
|
918
|
-
* stable file.
|
|
1197
|
+
* known status, defaults to a version it lists that is not a preview, and, for
|
|
1198
|
+
* every version: lowers the model without mutating it (also when the model is
|
|
1199
|
+
* frozen), renders the same document twice, renders plain JSON or text, reports
|
|
1200
|
+
* diagnostics with a kebab-case code, a severity and a message, finds no error
|
|
1201
|
+
* in its own output with `lint`, and names a bare, stable file.
|
|
919
1202
|
*/
|
|
920
1203
|
export declare function testDocumentFormat<F extends AnyDocumentFormat>(format: F, options?: TestDocumentFormatOptions<VersionOf<F>>): Promise<ConformanceReport>;
|
|
921
1204
|
//#endregion
|
|
@@ -927,10 +1210,16 @@ interface TestGeneratorOptions {
|
|
|
927
1210
|
readonly introspection?: GeneratorInput["introspection"];
|
|
928
1211
|
readonly extras?: GeneratorInput["extras"];
|
|
929
1212
|
readonly config?: ResolvedConfig;
|
|
930
|
-
/**
|
|
1213
|
+
/**
|
|
1214
|
+
* Defaults to one built from `meta`, with `unknown` for column and function
|
|
1215
|
+
* types it can't name, and no blocks.
|
|
1216
|
+
*/
|
|
931
1217
|
readonly model?: GeneratorModel;
|
|
932
1218
|
}
|
|
933
|
-
/**
|
|
1219
|
+
/**
|
|
1220
|
+
* Proves a `Generator` writes relative, unique paths, is deterministic and
|
|
1221
|
+
* doesn't mutate its input.
|
|
1222
|
+
*/
|
|
934
1223
|
export declare function testGenerator(generator: Generator, options: TestGeneratorOptions): Promise<ConformanceReport>;
|
|
935
1224
|
//#endregion
|
|
936
1225
|
//#region src/testing/injectables.d.ts
|
|
@@ -940,8 +1229,8 @@ interface TestEmbedderOptions {
|
|
|
940
1229
|
}
|
|
941
1230
|
/**
|
|
942
1231
|
* Proves an `Embedder` for the knowledge and memory blocks names its model,
|
|
943
|
-
* embeds an empty list to nothing, and returns one finite vector per value,
|
|
944
|
-
*
|
|
1232
|
+
* embeds an empty list to nothing, and returns one finite vector per value, all
|
|
1233
|
+
* of the same length on every call. It calls the real model.
|
|
945
1234
|
*/
|
|
946
1235
|
export declare function testEmbedder(embedder: Embedder, options?: TestEmbedderOptions): Promise<ConformanceReport>;
|
|
947
1236
|
interface TestAiTaskRunnerOptions {
|
|
@@ -970,8 +1259,8 @@ interface TestBuilderStarterOptions {
|
|
|
970
1259
|
readonly call: BuilderStartCall;
|
|
971
1260
|
}
|
|
972
1261
|
/**
|
|
973
|
-
* Proves a `BuilderStarter` returns a run id and returns the same id when
|
|
974
|
-
*
|
|
1262
|
+
* Proves a `BuilderStarter` returns a run id and returns the same id when the
|
|
1263
|
+
* same idempotency key starts again. It starts real runs.
|
|
975
1264
|
*/
|
|
976
1265
|
export declare function testBuilderStarter(start: BuilderStarter, options: TestBuilderStarterOptions): Promise<ConformanceReport>;
|
|
977
1266
|
interface TestEveDocumentBackendOptions {
|
|
@@ -984,6 +1273,27 @@ interface TestEveDocumentBackendOptions {
|
|
|
984
1273
|
* version on every write. It writes `options.key` on the real store.
|
|
985
1274
|
*/
|
|
986
1275
|
export declare function testEveDocumentBackend(backend: EveDocumentBackend, options?: TestEveDocumentBackendOptions): Promise<ConformanceReport>;
|
|
1276
|
+
interface TestTranscriberOptions {
|
|
1277
|
+
/** The recording to transcribe. Defaults to a fake file with no bytes. */
|
|
1278
|
+
readonly input?: TranscriberInput;
|
|
1279
|
+
}
|
|
1280
|
+
/**
|
|
1281
|
+
* Proves a `Transcriber` for the engagements block names its model, returns
|
|
1282
|
+
* speaker turns in order with `startMs` at most `endMs` and text on each, and
|
|
1283
|
+
* rejects once its signal is aborted. Pass a real recording in `input` to call
|
|
1284
|
+
* the real provider.
|
|
1285
|
+
*/
|
|
1286
|
+
export declare function testTranscriber(transcriber: Transcriber, options?: TestTranscriberOptions): Promise<ConformanceReport>;
|
|
1287
|
+
interface TestNoteTakerOptions {
|
|
1288
|
+
/** The engagement and transcript to summarize. Defaults to a short call. */
|
|
1289
|
+
readonly input?: Parameters<NoteTaker["summarize"]>[0];
|
|
1290
|
+
}
|
|
1291
|
+
/**
|
|
1292
|
+
* Proves a `NoteTaker` for the engagements block names its model, returns a
|
|
1293
|
+
* non-empty summary with well-formed action items, and rejects once its signal
|
|
1294
|
+
* is aborted. It calls the real model.
|
|
1295
|
+
*/
|
|
1296
|
+
export declare function testNoteTaker(noteTaker: NoteTaker, options?: TestNoteTakerOptions): Promise<ConformanceReport>;
|
|
987
1297
|
//#endregion
|
|
988
1298
|
//#region src/testing/notification-channel.d.ts
|
|
989
1299
|
interface TestNotificationChannelOptions {
|
|
@@ -996,12 +1306,29 @@ interface TestNotificationChannelOptions {
|
|
|
996
1306
|
readonly received?: () => Promise<readonly string[]>;
|
|
997
1307
|
}
|
|
998
1308
|
/**
|
|
999
|
-
* Runs the `NotificationChannel` contract against `channel`: the API version,
|
|
1000
|
-
*
|
|
1001
|
-
*
|
|
1309
|
+
* Runs the `NotificationChannel` contract against `channel`: the API version, a
|
|
1310
|
+
* name, and one frozen sample message it must send without mutating. Throws a
|
|
1311
|
+
* `ConformanceError` listing every failed check.
|
|
1002
1312
|
*/
|
|
1003
1313
|
export declare function testNotificationChannel(channel: NotificationChannel, options?: TestNotificationChannelOptions): Promise<ConformanceReport>;
|
|
1004
1314
|
//#endregion
|
|
1315
|
+
//#region src/testing/section.d.ts
|
|
1316
|
+
interface TestSectionOptions {
|
|
1317
|
+
/** The block client the section reads through, such as a fake. */
|
|
1318
|
+
readonly client: unknown;
|
|
1319
|
+
/** A record the client holds rows for. */
|
|
1320
|
+
readonly subject: SubjectRef;
|
|
1321
|
+
/** Records to count, for a section with `count`. Default: `[subject]`. */
|
|
1322
|
+
readonly subjects?: readonly SubjectRef[];
|
|
1323
|
+
}
|
|
1324
|
+
/**
|
|
1325
|
+
* Runs the `defineSection` contract against `section`: the API version, a read
|
|
1326
|
+
* permission, the event patterns, a `load` that settles, and a `count` keyed by
|
|
1327
|
+
* `subjectKey` with a whole number per record. Throws a `ConformanceError`
|
|
1328
|
+
* listing every failed check.
|
|
1329
|
+
*/
|
|
1330
|
+
export declare function testSection(name: string, section: AnySection, options: TestSectionOptions): Promise<ConformanceReport>;
|
|
1331
|
+
//#endregion
|
|
1005
1332
|
//#region src/testing/webhooks.d.ts
|
|
1006
1333
|
interface TestWebhookSignerOptions {
|
|
1007
1334
|
/**
|
|
@@ -1014,9 +1341,9 @@ interface TestWebhookSignerOptions {
|
|
|
1014
1341
|
}, secret: string) => Promise<boolean>;
|
|
1015
1342
|
}
|
|
1016
1343
|
/**
|
|
1017
|
-
* Runs the `WebhookSigner` contract against `signer`: the API version, a
|
|
1018
|
-
*
|
|
1019
|
-
*
|
|
1344
|
+
* Runs the `WebhookSigner` contract against `signer`: the API version, a name,
|
|
1345
|
+
* string headers that depend on the body and are stable for the same input,
|
|
1346
|
+
* and, with `verify`, a signature the receiver accepts.
|
|
1020
1347
|
*/
|
|
1021
1348
|
export declare function testWebhookSigner(signer: WebhookSigner, options?: TestWebhookSignerOptions): Promise<ConformanceReport>;
|
|
1022
1349
|
interface TestWebhookTransportOptions {
|
|
@@ -1026,9 +1353,9 @@ interface TestWebhookTransportOptions {
|
|
|
1026
1353
|
readonly received?: () => Promise<readonly string[]>;
|
|
1027
1354
|
}
|
|
1028
1355
|
/**
|
|
1029
|
-
* Runs the `WebhookTransport` contract against `transport`: the API version,
|
|
1030
|
-
*
|
|
1031
|
-
*
|
|
1356
|
+
* Runs the `WebhookTransport` contract against `transport`: the API version, a
|
|
1357
|
+
* name, and one POST to `options.url` that returns an HTTP status and a string
|
|
1358
|
+
* body.
|
|
1032
1359
|
*/
|
|
1033
1360
|
export declare function testWebhookTransport(transport: WebhookTransport, options: TestWebhookTransportOptions): Promise<ConformanceReport>;
|
|
1034
1361
|
interface TestWebhookSecretStoreOptions {
|
|
@@ -1037,14 +1364,17 @@ interface TestWebhookSecretStoreOptions {
|
|
|
1037
1364
|
}
|
|
1038
1365
|
/**
|
|
1039
1366
|
* Runs the `WebhookSecretStore` contract against `store`: the API version, a
|
|
1040
|
-
* list of strings, and, when it can rotate, a new secret listed first while
|
|
1041
|
-
*
|
|
1367
|
+
* list of strings, and, when it can rotate, a new secret listed first while the
|
|
1368
|
+
* previous one keeps signing.
|
|
1042
1369
|
*/
|
|
1043
1370
|
export declare function testWebhookSecretStore(store: WebhookSecretStore, options: TestWebhookSecretStoreOptions): Promise<ConformanceReport>;
|
|
1044
1371
|
//#endregion
|
|
1045
1372
|
//#region src/testing/chat-state.d.ts
|
|
1046
1373
|
interface TestChatStateOptions {
|
|
1047
|
-
/**
|
|
1374
|
+
/**
|
|
1375
|
+
* Builds a queued message, e.g. `createTestMessage(id, text)` from
|
|
1376
|
+
* `@chat-adapter/tests`.
|
|
1377
|
+
*/
|
|
1048
1378
|
readonly message: (id: string, text: string) => Message;
|
|
1049
1379
|
/** A fresh key or thread id per call. Defaults to `conformance-<uuid>`. */
|
|
1050
1380
|
readonly id?: () => string;
|
|
@@ -1052,10 +1382,10 @@ interface TestChatStateOptions {
|
|
|
1052
1382
|
readonly ttlMs?: number;
|
|
1053
1383
|
}
|
|
1054
1384
|
/**
|
|
1055
|
-
* Runs the Chat SDK `StateAdapter` contract against `state`: subscriptions,
|
|
1056
|
-
*
|
|
1057
|
-
*
|
|
1058
|
-
*
|
|
1385
|
+
* Runs the Chat SDK `StateAdapter` contract against `state`: subscriptions, one
|
|
1386
|
+
* lock holder at a time with token-checked release and extension, lock and
|
|
1387
|
+
* cache TTLs, `setIfNotExists`, list trimming, and a per-thread queue that
|
|
1388
|
+
* keeps the newest entries, reports its depth and drops expired ones.
|
|
1059
1389
|
*/
|
|
1060
1390
|
export declare function testChatState(state: StateAdapter, options: TestChatStateOptions): Promise<ConformanceReport>;
|
|
1061
1391
|
//#endregion
|
|
@@ -1067,10 +1397,10 @@ interface TestStreamStoreOptions {
|
|
|
1067
1397
|
readonly timeoutMs?: number;
|
|
1068
1398
|
}
|
|
1069
1399
|
/**
|
|
1070
|
-
* Runs the `StreamStore` contract against `store`: the API version, open
|
|
1071
|
-
*
|
|
1072
|
-
*
|
|
1073
|
-
*
|
|
1400
|
+
* Runs the `StreamStore` contract against `store`: the API version, open once,
|
|
1401
|
+
* idempotent appends that refuse gaps, reads from any index that end when the
|
|
1402
|
+
* stream closes, a live read that sees later appends, cancel seen by the
|
|
1403
|
+
* writer, a closed stream that refuses appends, and a missing stream.
|
|
1074
1404
|
*/
|
|
1075
1405
|
export declare function testStreamStore(store: StreamStore, options?: TestStreamStoreOptions): Promise<ConformanceReport>;
|
|
1076
1406
|
//#endregion
|
|
@@ -1082,7 +1412,10 @@ interface TestCredentialProviderOptions {
|
|
|
1082
1412
|
readonly seed: (ref: CredentialRef, subject: CredentialSubject, value: string) => Promise<void>;
|
|
1083
1413
|
/** A per-user ref, for providers that keep one credential per user. */
|
|
1084
1414
|
readonly userRef?: CredentialRef;
|
|
1085
|
-
/**
|
|
1415
|
+
/**
|
|
1416
|
+
* A ref with an inbound scheme and a function that signs a request with
|
|
1417
|
+
* `secret`.
|
|
1418
|
+
*/
|
|
1086
1419
|
readonly inbound?: {
|
|
1087
1420
|
readonly ref: CredentialRef;
|
|
1088
1421
|
readonly sign: (body: string, secret: string) => Promise<Request>;
|
|
@@ -1090,16 +1423,19 @@ interface TestCredentialProviderOptions {
|
|
|
1090
1423
|
}
|
|
1091
1424
|
/**
|
|
1092
1425
|
* Runs the `CredentialProvider` contract against `provider`: the API version,
|
|
1093
|
-
* an unknown ref, a stored token with its headers, a new value seen after it
|
|
1094
|
-
*
|
|
1095
|
-
*
|
|
1096
|
-
*
|
|
1097
|
-
*
|
|
1426
|
+
* an unknown ref, a stored token with its headers, a new value seen after it is
|
|
1427
|
+
* stored, separate credentials per user and per tenant (`ref` with a `tenant`,
|
|
1428
|
+
* which `seed` must store too), revoke (per user, as the organization purger
|
|
1429
|
+
* revokes connector grants), and inbound checks that accept a signed request
|
|
1430
|
+
* and refuse a tampered one.
|
|
1098
1431
|
*/
|
|
1099
1432
|
export declare function testCredentialProvider(provider: CredentialProvider, options: TestCredentialProviderOptions): Promise<ConformanceReport>;
|
|
1100
1433
|
//#endregion
|
|
1101
1434
|
//#region src/testing/act-cases.d.ts
|
|
1102
|
-
/**
|
|
1435
|
+
/**
|
|
1436
|
+
* One `act` claim set, with what `actorOf` and `actor_may_write()` say about
|
|
1437
|
+
* it.
|
|
1438
|
+
*/
|
|
1103
1439
|
interface ActCase {
|
|
1104
1440
|
readonly name: string;
|
|
1105
1441
|
/** Only the claims the verdict reads: `act`, `client_id` and `scope`. */
|
|
@@ -1115,16 +1451,19 @@ interface ActCase {
|
|
|
1115
1451
|
/** What `better_supabase.actor_may_write()` returns for these claims. */
|
|
1116
1452
|
readonly mayWrite: boolean;
|
|
1117
1453
|
}
|
|
1118
|
-
/**
|
|
1454
|
+
/**
|
|
1455
|
+
* `better-supabase/testing/act-cases.json`, versioned so other parsers can pin
|
|
1456
|
+
* it.
|
|
1457
|
+
*/
|
|
1119
1458
|
interface ActCases {
|
|
1120
1459
|
readonly version: 1;
|
|
1121
1460
|
readonly cases: readonly ActCase[];
|
|
1122
1461
|
}
|
|
1123
1462
|
/**
|
|
1124
|
-
* The RFC 8693 `act` chains better-supabase accepts and refuses, as plain
|
|
1125
|
-
*
|
|
1126
|
-
*
|
|
1463
|
+
* The RFC 8693 `act` chains better-supabase accepts and refuses, as plain JSON
|
|
1464
|
+
* (`better-supabase/testing/act-cases.json`), so another library that reads the
|
|
1465
|
+
* same claims can run the same cases.
|
|
1127
1466
|
*/
|
|
1128
1467
|
export declare const actCases: ActCases;
|
|
1129
1468
|
//#endregion
|
|
1130
|
-
export type { ActCase, ActCases, AdapterRun, BudgetPage, BudgetRequest, BudgetResponse, ConformanceCheck, ConformanceReport, ControllerBindingHarness, DbBudgetExpectation, ExactSeed, InstantBrowserContext, InstantExpectation, InstantLocator, InstantPage, IsolationTable, IsolationTables, IsolationTenant, LiteStack, LiteStackOptions, LocalStack, MeasuredRender, MountedBinding, ProbeActions, ProbeController, ProbeSnapshot, ReceivedDelivery, ResponseBudgetExpectation, ResponseDbStats, Scope, ScopedRows, ScopedSeed, ScopedSeedOptions, ScopedTenant, Seed, SeedFixtures, SigningJwk, StaticAuthorizerOptions, SupabaseClaimFixture, SupabaseClaimFixtureName, SupabaseInvalidClaimFixture, SupabaseInvalidClaimFixtureName, TenantIsolationOptions, TestAdapterOptions, TestAiTaskRunnerOptions, TestAuthResolverOptions, TestAuthorizerOptions, TestBuilderStarterOptions, TestChatStateOptions, TestCredentialProviderOptions, TestDeliveryTransportOptions, TestDocumentFormatOptions, TestEmbedderOptions, TestEveDocumentBackendOptions, TestEventSinkOptions, TestExecutorOptions, TestGeneratorOptions, TestGraphCompilerOptions, TestIncomingDestinationOptions, TestJwtClaims, TestNotificationChannelOptions, TestPaymentProviderOptions, TestPluginOptions, TestQueueBackendOptions, TestSigner, TestStreamStoreOptions, TestSupportSessionStoreOptions, TestTaxProviderOptions, TestUser, TestWebhookSecretStoreOptions, TestWebhookSignerOptions, TestWebhookTransportOptions };
|
|
1469
|
+
export type { ActCase, ActCases, AdapterRun, BudgetPage, BudgetRequest, BudgetResponse, ConformanceCheck, ConformanceReport, ControllerBindingHarness, DbBudgetExpectation, ExactSeed, Factory, FactoryInput, FactoryRef, FactoryTarget, InstantBrowserContext, InstantExpectation, InstantLocator, InstantPage, IsolationTable, IsolationTables, IsolationTenant, LiteStack, LiteStackOptions, LocalStack, MeasuredRender, MountedBinding, ProbeActions, ProbeController, ProbeSnapshot, ReceivedDelivery, ResponseBudgetExpectation, ResponseDbStats, Scope, ScopedRows, ScopedSeed, ScopedSeedOptions, ScopedTenant, Seed, SeedFixtures, SeedTenantOnCreateOptions, SigningJwk, StaticAuthorizerOptions, SupabaseClaimFixture, SupabaseClaimFixtureName, SupabaseInvalidClaimFixture, SupabaseInvalidClaimFixtureName, TenantIsolationOptions, TenantSeed, TenantSeedTarget, TestAdapterOptions, TestAiTaskRunnerOptions, TestAuthResolverOptions, TestAuthorizerOptions, TestBuilderStarterOptions, TestChatStateOptions, TestCredentialProviderOptions, TestDeliveryTransportOptions, TestDocumentFormatOptions, TestEmbedderOptions, TestEveDocumentBackendOptions, TestEventSinkOptions, TestExecutorOptions, TestGeneratorOptions, TestGraphCompilerOptions, TestIncomingDestinationOptions, TestJwtClaims, TestNoteTakerOptions, TestNotificationChannelOptions, TestPaymentProviderOptions, TestPluginOptions, TestQueueBackendOptions, TestSectionOptions, TestShipmentCarrierOptions, TestSigner, TestStreamStoreOptions, TestSupportSessionStoreOptions, TestTaxProviderOptions, TestTranscriberOptions, TestUser, TestWebhookSecretStoreOptions, TestWebhookSignerOptions, TestWebhookTransportOptions };
|