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/create/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as PRESET_CATALOG,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { _ as
|
|
5
|
-
import {
|
|
1
|
+
import { c as PRESET_CATALOG, i as presetOf, s as resolvePreset, v as encodePreset } from "../config-Dh4D8lBa.js";
|
|
2
|
+
import { C as APP_ON_DELETE_ACTIONS, a as appIdentifierError, m as isAppDefault, o as appNameLengthError, p as appDefaultError, s as appReservedColumns } from "../app-tables-C5aoI5rZ.js";
|
|
3
|
+
import { c as resolveConfig } from "../config-Dn0cC3bM.js";
|
|
4
|
+
import { _ as encodeDesign, a as DesignParseError, b as parseDesign, h as designOf, n as diffDesigns, o as DesignTooLongError, u as designConfig, y as jsonPointer } from "../preset-DzcQ5CQM.js";
|
|
5
|
+
import { O as SQL_MODULES, i as moduleLayout, m as renderModules } from "../sql-rQDL6PIL.js";
|
|
6
6
|
//#region src/create/column-keys.ts
|
|
7
7
|
/** The most options a select takes, and the longest option. */
|
|
8
8
|
const MAX_OPTIONS = 100;
|
|
@@ -42,6 +42,13 @@ const CONTROL = /\p{Cc}/u;
|
|
|
42
42
|
function lockedWithoutDefault(column) {
|
|
43
43
|
return column.access !== void 0 && column.nullable === false && column.default === void 0 && column.identity !== true;
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether a column can be encrypted: not a `text[]`, and no unique key,
|
|
47
|
+
* reference or identity, which only work on the stored value.
|
|
48
|
+
*/
|
|
49
|
+
function encryptable(column) {
|
|
50
|
+
return column.type !== "text[]" && column.unique !== true && column.references === void 0 && column.identity !== true;
|
|
51
|
+
}
|
|
45
52
|
/** Whether `min` and `max` apply to a `type` column, as a value or a length. */
|
|
46
53
|
function takesBounds(type) {
|
|
47
54
|
return type === "text" || NUMBER_TYPES.has(type);
|
|
@@ -55,11 +62,11 @@ function fitsBound(type, value) {
|
|
|
55
62
|
}
|
|
56
63
|
/**
|
|
57
64
|
* A column without the keys its type can't take: a format of another type,
|
|
58
|
-
* options outside text and text[], bounds that don't apply, an identity
|
|
59
|
-
*
|
|
65
|
+
* options outside text and text[], bounds that don't apply, an identity outside
|
|
66
|
+
* integer and bigint, and a default an identity or the type refuses.
|
|
60
67
|
*/
|
|
61
68
|
function fitted(column) {
|
|
62
|
-
const { format, options, min, max, identity, default: fallback, nullable, ...rest } = column;
|
|
69
|
+
const { format, options, min, max, identity, default: fallback, nullable, encrypted, ...rest } = column;
|
|
63
70
|
const { type } = column;
|
|
64
71
|
const counted = identity === true && (type === "integer" || type === "bigint");
|
|
65
72
|
const next = { ...rest };
|
|
@@ -70,6 +77,7 @@ function fitted(column) {
|
|
|
70
77
|
if (fitsBound(type, min)) next.min = min;
|
|
71
78
|
if (fitsBound(type, max)) next.max = max;
|
|
72
79
|
if (counted) next.identity = true;
|
|
80
|
+
if (encrypted === true && encryptable(next)) next.encrypted = true;
|
|
73
81
|
return next;
|
|
74
82
|
}
|
|
75
83
|
/** Why `option` can't join a select's `options`, or `undefined` when it can. */
|
|
@@ -80,7 +88,10 @@ function optionError(options, option) {
|
|
|
80
88
|
if (options.includes(option)) return `${option} is already an option.`;
|
|
81
89
|
if (options.length >= MAX_OPTIONS) return `A select takes at most ${MAX_OPTIONS} options.`;
|
|
82
90
|
}
|
|
83
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* Why `value` can't be a bound of `column`, or `undefined` when it can (an
|
|
93
|
+
* empty value clears it).
|
|
94
|
+
*/
|
|
84
95
|
function boundError(column, side, value) {
|
|
85
96
|
const trimmed = value.trim();
|
|
86
97
|
if (trimmed === "") return;
|
|
@@ -99,7 +110,10 @@ function withBounds(column, bounds) {
|
|
|
99
110
|
if (bounds.max !== void 0) next.max = bounds.max;
|
|
100
111
|
return next;
|
|
101
112
|
}
|
|
102
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* What the canvas shows for a column that is more than its type, such as an
|
|
115
|
+
* email or a select.
|
|
116
|
+
*/
|
|
103
117
|
function columnLabel(column) {
|
|
104
118
|
if (column.identity === true) return "autonumber";
|
|
105
119
|
if (column.options !== void 0) return column.type === "text[]" ? "multi-select" : "select";
|
|
@@ -107,6 +121,109 @@ function columnLabel(column) {
|
|
|
107
121
|
return column.format === void 0 ? void 0 : FORMAT_LABELS[column.format];
|
|
108
122
|
}
|
|
109
123
|
//#endregion
|
|
124
|
+
//#region src/create/design-scope.ts
|
|
125
|
+
const AUTH_USERS$1 = "auth.users";
|
|
126
|
+
/**
|
|
127
|
+
* The column that scopes an app table's rows, or `null` for `scope: "none"` and
|
|
128
|
+
* unscoped presets.
|
|
129
|
+
*/
|
|
130
|
+
function scopeColumnOf(table, preset) {
|
|
131
|
+
const scope = table.scope ?? "inherit";
|
|
132
|
+
if (scope === "none") return null;
|
|
133
|
+
if (scope === "inherit" && preset.scope === "tenant") return {
|
|
134
|
+
name: `${preset.tenantName}_id`,
|
|
135
|
+
type: preset.idType,
|
|
136
|
+
nullable: false,
|
|
137
|
+
default: null,
|
|
138
|
+
unique: false
|
|
139
|
+
};
|
|
140
|
+
if (scope === "user" || preset.scope === "user") return {
|
|
141
|
+
name: "user_id",
|
|
142
|
+
type: "uuid",
|
|
143
|
+
nullable: false,
|
|
144
|
+
default: "auth.uid()",
|
|
145
|
+
unique: false
|
|
146
|
+
};
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
//#endregion
|
|
150
|
+
//#region src/create/design-subject.ts
|
|
151
|
+
/**
|
|
152
|
+
* The columns `subject` adds: `rank` for manual order and `deleted_at` for
|
|
153
|
+
* trash.
|
|
154
|
+
*/
|
|
155
|
+
function subjectColumns(subject) {
|
|
156
|
+
const columns = [];
|
|
157
|
+
if (subject?.rank !== void 0) columns.push({
|
|
158
|
+
name: "rank",
|
|
159
|
+
type: "text",
|
|
160
|
+
nullable: false,
|
|
161
|
+
default: "'V'",
|
|
162
|
+
unique: false
|
|
163
|
+
});
|
|
164
|
+
if (subject?.softDelete === true) columns.push({
|
|
165
|
+
name: "deleted_at",
|
|
166
|
+
type: "timestamptz",
|
|
167
|
+
nullable: true,
|
|
168
|
+
default: null,
|
|
169
|
+
unique: false
|
|
170
|
+
});
|
|
171
|
+
return columns;
|
|
172
|
+
}
|
|
173
|
+
/** The subject with the columns it names renamed or dropped by `edit`. */
|
|
174
|
+
function subjectColumnsEdited(subject, edit) {
|
|
175
|
+
const { title, search, rank, versions, ...rest } = subject;
|
|
176
|
+
const next = { ...rest };
|
|
177
|
+
const [nextTitle] = title === void 0 ? [] : edit([title]);
|
|
178
|
+
if (nextTitle !== void 0) next.title = nextTitle;
|
|
179
|
+
if (search !== void 0) {
|
|
180
|
+
const nextSearch = {};
|
|
181
|
+
const [searchTitle] = search.title === void 0 ? [] : edit([search.title]);
|
|
182
|
+
const body = edit(search.body ?? []);
|
|
183
|
+
if (searchTitle !== void 0) nextSearch.title = searchTitle;
|
|
184
|
+
if (body.length > 0) nextSearch.body = body;
|
|
185
|
+
next.search = nextSearch;
|
|
186
|
+
}
|
|
187
|
+
if (versions === true) next.versions = true;
|
|
188
|
+
else if (versions !== void 0) {
|
|
189
|
+
const { columns, ...options } = versions;
|
|
190
|
+
const kept = columns === void 0 ? void 0 : edit(columns);
|
|
191
|
+
next.versions = kept === void 0 || kept.length === 0 ? options : {
|
|
192
|
+
...options,
|
|
193
|
+
columns: kept
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
if (rank === true) next.rank = true;
|
|
197
|
+
else if (rank !== void 0) {
|
|
198
|
+
const [group] = rank.group === void 0 ? [] : edit([rank.group]);
|
|
199
|
+
next.rank = group === void 0 ? true : { group };
|
|
200
|
+
}
|
|
201
|
+
return next;
|
|
202
|
+
}
|
|
203
|
+
const SUBJECT_TYPE = /^[a-z][a-z0-9_]*$/u;
|
|
204
|
+
/**
|
|
205
|
+
* Why `type` can't be the subject type of the app table `table`, or `undefined`
|
|
206
|
+
* when it can.
|
|
207
|
+
*/
|
|
208
|
+
function subjectTypeError(design, table, type) {
|
|
209
|
+
if (!SUBJECT_TYPE.test(type)) return "Use lowercase letters, digits and underscores, starting with a letter.";
|
|
210
|
+
const owner = Object.entries(design.appTables ?? {}).find(([name, each]) => name !== table && each.subject?.type === type)?.[0];
|
|
211
|
+
return owner === void 0 ? void 0 : `${owner} already has the subject type ${type}.`;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* App table events with `edit` applied to the payload columns, dropping an
|
|
215
|
+
* empty list.
|
|
216
|
+
*/
|
|
217
|
+
function eventsColumnsEdited(events, edit) {
|
|
218
|
+
if (events === true) return true;
|
|
219
|
+
const { include, ...rest } = events;
|
|
220
|
+
const kept = include === void 0 ? [] : edit(include);
|
|
221
|
+
return kept.length === 0 ? rest : {
|
|
222
|
+
...rest,
|
|
223
|
+
include: kept
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
//#endregion
|
|
110
227
|
//#region src/create/design-computed.ts
|
|
111
228
|
/** The aggregates a rollup takes (`APP_ROLLUP_AGGREGATES`). */
|
|
112
229
|
const ROLLUP_AGGREGATES = [
|
|
@@ -134,7 +251,10 @@ function isRollupAggregate(value) {
|
|
|
134
251
|
function readableColumns(table) {
|
|
135
252
|
return [...Object.entries(table.columns ?? {}).map(([name, column]) => [name, column.type]), ...table.timestamps === false ? [] : [["created_at", "timestamptz"], ["updated_at", "timestamptz"]]];
|
|
136
253
|
}
|
|
137
|
-
/**
|
|
254
|
+
/**
|
|
255
|
+
* The columns `aggregate` can read: numbers for sum and avg, ordered types for
|
|
256
|
+
* min and max, none for count.
|
|
257
|
+
*/
|
|
138
258
|
function rollupColumns(child, aggregate) {
|
|
139
259
|
if (aggregate === "count") return [];
|
|
140
260
|
const fits = aggregate === "sum" || aggregate === "avg" ? NUMBERS : ORDERED;
|
|
@@ -144,14 +264,20 @@ function rollupColumns(child, aggregate) {
|
|
|
144
264
|
function filterColumns(child) {
|
|
145
265
|
return Object.entries(child.columns ?? {}).flatMap(([name, column]) => column.type === "text" && column.options !== void 0 ? [[name, column.options]] : []);
|
|
146
266
|
}
|
|
147
|
-
/**
|
|
267
|
+
/**
|
|
268
|
+
* Each app table column that references `parent`, as `{ table, via }`: what a
|
|
269
|
+
* rollup on `parent` can aggregate.
|
|
270
|
+
*/
|
|
148
271
|
function rollupSources(tables, parent) {
|
|
149
272
|
return Object.entries(tables).flatMap(([table, config]) => Object.entries(config.columns ?? {}).filter(([, column]) => column.references !== void 0 && column.references.block === void 0 && column.references.table === parent).map(([via]) => ({
|
|
150
273
|
table,
|
|
151
274
|
via
|
|
152
275
|
})));
|
|
153
276
|
}
|
|
154
|
-
/**
|
|
277
|
+
/**
|
|
278
|
+
* Each column of `name` that references another app table, with that table:
|
|
279
|
+
* what a lookup can follow.
|
|
280
|
+
*/
|
|
155
281
|
function lookupSources(tables, name) {
|
|
156
282
|
return Object.entries(tables[name]?.columns ?? {}).flatMap(([via, column]) => column.references !== void 0 && column.references.block === void 0 && Object.hasOwn(tables, column.references.table) ? [{
|
|
157
283
|
via,
|
|
@@ -183,7 +309,10 @@ function withComputed(table, rollups, lookups) {
|
|
|
183
309
|
if (lookups !== void 0 && Object.keys(lookups).length > 0) next.lookups = lookups;
|
|
184
310
|
return next;
|
|
185
311
|
}
|
|
186
|
-
/**
|
|
312
|
+
/**
|
|
313
|
+
* `table` with a rollup or lookup set under `name`, replacing `previous` in its
|
|
314
|
+
* place.
|
|
315
|
+
*/
|
|
187
316
|
function tableWithComputed(table, name, computed, previous) {
|
|
188
317
|
const placed = (record, value) => {
|
|
189
318
|
const entries = Object.entries(record ?? {});
|
|
@@ -198,9 +327,9 @@ function tableWithoutComputed(table, name) {
|
|
|
198
327
|
}
|
|
199
328
|
/**
|
|
200
329
|
* The tables with every rollup and lookup that no longer fits dropped: one
|
|
201
|
-
* whose table, link or column was deleted or retyped, or whose name a
|
|
202
|
-
*
|
|
203
|
-
*
|
|
330
|
+
* whose table, link or column was deleted or retyped, or whose name a column
|
|
331
|
+
* now uses. `sql sync` would refuse them, and the design code would not
|
|
332
|
+
* encode.
|
|
204
333
|
*/
|
|
205
334
|
function prunedComputed(tables) {
|
|
206
335
|
return Object.fromEntries(Object.entries(tables).map(([name, table]) => {
|
|
@@ -219,7 +348,10 @@ function computedTableRenamed(tables, from, to) {
|
|
|
219
348
|
} : rollup]))
|
|
220
349
|
}]));
|
|
221
350
|
}
|
|
222
|
-
/**
|
|
351
|
+
/**
|
|
352
|
+
* The rollup fitted to a new source or aggregate: a column the aggregate can
|
|
353
|
+
* read, and a filter the child still has.
|
|
354
|
+
*/
|
|
223
355
|
function fittedRollup(tables, rollup) {
|
|
224
356
|
const child = tables[rollup.table] ?? {};
|
|
225
357
|
const columns = rollupColumns(child, rollup.aggregate);
|
|
@@ -249,8 +381,8 @@ function rollupRenamed(rollup, swap) {
|
|
|
249
381
|
}
|
|
250
382
|
/**
|
|
251
383
|
* Every rollup and lookup that reads `table.from`, reading `table.to`. The
|
|
252
|
-
* tables already have the column renamed, so a lookup finds its target
|
|
253
|
-
*
|
|
384
|
+
* tables already have the column renamed, so a lookup finds its target through
|
|
385
|
+
* the renamed link.
|
|
254
386
|
*/
|
|
255
387
|
function computedColumnRenamed(tables, table, from, to) {
|
|
256
388
|
const swap = (column) => column === from ? to : column;
|
|
@@ -289,74 +421,6 @@ function computedRows(table) {
|
|
|
289
421
|
})];
|
|
290
422
|
}
|
|
291
423
|
//#endregion
|
|
292
|
-
//#region src/create/design-subject.ts
|
|
293
|
-
/** The columns `subject` adds: `rank` for manual order and `deleted_at` for trash. */
|
|
294
|
-
function subjectColumns(subject) {
|
|
295
|
-
const columns = [];
|
|
296
|
-
if (subject?.rank !== void 0) columns.push({
|
|
297
|
-
name: "rank",
|
|
298
|
-
type: "text",
|
|
299
|
-
nullable: false,
|
|
300
|
-
default: "'V'",
|
|
301
|
-
unique: false
|
|
302
|
-
});
|
|
303
|
-
if (subject?.softDelete === true) columns.push({
|
|
304
|
-
name: "deleted_at",
|
|
305
|
-
type: "timestamptz",
|
|
306
|
-
nullable: true,
|
|
307
|
-
default: null,
|
|
308
|
-
unique: false
|
|
309
|
-
});
|
|
310
|
-
return columns;
|
|
311
|
-
}
|
|
312
|
-
/** The subject with the columns it names renamed or dropped by `edit`. */
|
|
313
|
-
function subjectColumnsEdited(subject, edit) {
|
|
314
|
-
const { title, search, rank, versions, ...rest } = subject;
|
|
315
|
-
const next = { ...rest };
|
|
316
|
-
const [nextTitle] = title === void 0 ? [] : edit([title]);
|
|
317
|
-
if (nextTitle !== void 0) next.title = nextTitle;
|
|
318
|
-
if (search !== void 0) {
|
|
319
|
-
const nextSearch = {};
|
|
320
|
-
const [searchTitle] = search.title === void 0 ? [] : edit([search.title]);
|
|
321
|
-
const body = edit(search.body ?? []);
|
|
322
|
-
if (searchTitle !== void 0) nextSearch.title = searchTitle;
|
|
323
|
-
if (body.length > 0) nextSearch.body = body;
|
|
324
|
-
next.search = nextSearch;
|
|
325
|
-
}
|
|
326
|
-
if (versions === true) next.versions = true;
|
|
327
|
-
else if (versions !== void 0) {
|
|
328
|
-
const { columns, ...options } = versions;
|
|
329
|
-
const kept = columns === void 0 ? void 0 : edit(columns);
|
|
330
|
-
next.versions = kept === void 0 || kept.length === 0 ? options : {
|
|
331
|
-
...options,
|
|
332
|
-
columns: kept
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
if (rank === true) next.rank = true;
|
|
336
|
-
else if (rank !== void 0) {
|
|
337
|
-
const [group] = rank.group === void 0 ? [] : edit([rank.group]);
|
|
338
|
-
next.rank = group === void 0 ? true : { group };
|
|
339
|
-
}
|
|
340
|
-
return next;
|
|
341
|
-
}
|
|
342
|
-
const SUBJECT_TYPE = /^[a-z][a-z0-9_]*$/u;
|
|
343
|
-
/** Why `type` can't be the subject type of the app table `table`, or `undefined` when it can. */
|
|
344
|
-
function subjectTypeError(design, table, type) {
|
|
345
|
-
if (!SUBJECT_TYPE.test(type)) return "Use lowercase letters, digits and underscores, starting with a letter.";
|
|
346
|
-
const owner = Object.entries(design.appTables ?? {}).find(([name, each]) => name !== table && each.subject?.type === type)?.[0];
|
|
347
|
-
return owner === void 0 ? void 0 : `${owner} already has the subject type ${type}.`;
|
|
348
|
-
}
|
|
349
|
-
/** App table events with `edit` applied to the payload columns, dropping an empty list. */
|
|
350
|
-
function eventsColumnsEdited(events, edit) {
|
|
351
|
-
if (events === true) return true;
|
|
352
|
-
const { include, ...rest } = events;
|
|
353
|
-
const kept = include === void 0 ? [] : edit(include);
|
|
354
|
-
return kept.length === 0 ? rest : {
|
|
355
|
-
...rest,
|
|
356
|
-
include: kept
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
|
-
//#endregion
|
|
360
424
|
//#region src/create/design.ts
|
|
361
425
|
const EMPTY_DESIGN = {};
|
|
362
426
|
/** The schema app tables go in. */
|
|
@@ -378,26 +442,6 @@ function isAppTable(table) {
|
|
|
378
442
|
function isEmptyDesign(design) {
|
|
379
443
|
return Object.keys(design.appTables ?? {}).length === 0 && Object.keys(design.extraColumns ?? {}).length === 0 && Object.keys(design.positions ?? {}).length === 0;
|
|
380
444
|
}
|
|
381
|
-
/** The column that scopes an app table's rows, or `null` for `scope: "none"` and unscoped presets. */
|
|
382
|
-
function scopeColumnOf(table, preset) {
|
|
383
|
-
const scope = table.scope ?? "inherit";
|
|
384
|
-
if (scope === "none") return null;
|
|
385
|
-
if (scope === "inherit" && preset.scope === "tenant") return {
|
|
386
|
-
name: `${preset.tenantName}_id`,
|
|
387
|
-
type: preset.idType,
|
|
388
|
-
nullable: false,
|
|
389
|
-
default: null,
|
|
390
|
-
unique: false
|
|
391
|
-
};
|
|
392
|
-
if (scope === "user" || preset.scope === "user") return {
|
|
393
|
-
name: "user_id",
|
|
394
|
-
type: "uuid",
|
|
395
|
-
nullable: false,
|
|
396
|
-
default: "auth.uid()",
|
|
397
|
-
unique: false
|
|
398
|
-
};
|
|
399
|
-
return null;
|
|
400
|
-
}
|
|
401
445
|
/** Why `name` can't name an app table or column, by the library's rules. */
|
|
402
446
|
function identifierError(name) {
|
|
403
447
|
return appIdentifierError(name);
|
|
@@ -421,8 +465,8 @@ function columnError(table, name, preset) {
|
|
|
421
465
|
if (appReservedColumns(preset.tenantName).includes(name)) return `${name} is a column every app table can get from its scope. Choose another name.`;
|
|
422
466
|
}
|
|
423
467
|
/**
|
|
424
|
-
* Why `value` can't be the default of `column` (its type, options and
|
|
425
|
-
*
|
|
468
|
+
* Why `value` can't be the default of `column` (its type, options and bounds),
|
|
469
|
+
* or `undefined` when it can or is empty.
|
|
426
470
|
*/
|
|
427
471
|
function defaultError(column, value) {
|
|
428
472
|
const trimmed = value.trim();
|
|
@@ -473,8 +517,8 @@ function addTable(design, name, table = {}, position) {
|
|
|
473
517
|
});
|
|
474
518
|
}
|
|
475
519
|
/**
|
|
476
|
-
* Removes an app table, every app table column that references it (and
|
|
477
|
-
*
|
|
520
|
+
* Removes an app table, every app table column that references it (and those
|
|
521
|
+
* columns from key sets), and the rollups and lookups that read it.
|
|
478
522
|
*/
|
|
479
523
|
function deleteTable(design, name) {
|
|
480
524
|
const rest = omitKey(design.appTables, name);
|
|
@@ -534,8 +578,8 @@ function updateTable(design, name, patch) {
|
|
|
534
578
|
});
|
|
535
579
|
}
|
|
536
580
|
/**
|
|
537
|
-
* Sets an app table's id type and retypes the app table columns that
|
|
538
|
-
*
|
|
581
|
+
* Sets an app table's id type and retypes the app table columns that reference
|
|
582
|
+
* it, since a key has the type of the id it points at.
|
|
539
583
|
*/
|
|
540
584
|
function setTableId(design, name, id) {
|
|
541
585
|
const next = updateTable(design, name, { id: id === "uuid" ? void 0 : id });
|
|
@@ -544,7 +588,10 @@ function setTableId(design, name, id) {
|
|
|
544
588
|
columns: Object.fromEntries(Object.entries(table.columns ?? {}).map(([column, config]) => [column, config.references?.block === void 0 && config.references?.table === name ? retyped(config, id) : config]))
|
|
545
589
|
}])));
|
|
546
590
|
}
|
|
547
|
-
/**
|
|
591
|
+
/**
|
|
592
|
+
* A table's composite key sets with `edit` applied to each, dropping empty sets
|
|
593
|
+
* and an empty list.
|
|
594
|
+
*/
|
|
548
595
|
function withKeySets(table, edit) {
|
|
549
596
|
const { unique, indexes, ...rest } = table;
|
|
550
597
|
const sets = (list) => {
|
|
@@ -604,7 +651,10 @@ function deleteColumn(design, table, name) {
|
|
|
604
651
|
}, (columns) => columns.filter((column) => column !== name))
|
|
605
652
|
});
|
|
606
653
|
}
|
|
607
|
-
/**
|
|
654
|
+
/**
|
|
655
|
+
* Sets an extra column on a block table
|
|
656
|
+
* (`blocks.<module>.options.extraColumns`).
|
|
657
|
+
*/
|
|
608
658
|
function setExtraColumn(design, module, name, type) {
|
|
609
659
|
return {
|
|
610
660
|
...design,
|
|
@@ -682,8 +732,10 @@ function singular(name) {
|
|
|
682
732
|
for (const [ending, replacement] of SINGULAR_ENDINGS) if (ending.test(name)) return name.replace(ending, replacement);
|
|
683
733
|
return name;
|
|
684
734
|
}
|
|
685
|
-
|
|
686
|
-
|
|
735
|
+
/**
|
|
736
|
+
* The column types a foreign key can point at, from the target's primary key
|
|
737
|
+
* type.
|
|
738
|
+
*/
|
|
687
739
|
function referenceType(type) {
|
|
688
740
|
const normal = type.toLowerCase();
|
|
689
741
|
switch (normal) {
|
|
@@ -700,12 +752,11 @@ function referenceType(type) {
|
|
|
700
752
|
}
|
|
701
753
|
}
|
|
702
754
|
/**
|
|
703
|
-
* Adds a foreign key column from an app table to `target`. Only app tables
|
|
704
|
-
*
|
|
705
|
-
*
|
|
706
|
-
*
|
|
707
|
-
* the
|
|
708
|
-
* message.
|
|
755
|
+
* Adds a foreign key column from an app table to `target`. Only app tables get
|
|
756
|
+
* new columns. A self reference gets `parent_id`, and a second reference to the
|
|
757
|
+
* same table gets a role name (`owner_id`, `<target>_2_id`) the user can
|
|
758
|
+
* rename. A target without a single-column primary key, and the tenant table
|
|
759
|
+
* the scope column already references, are refused with a message.
|
|
709
760
|
*/
|
|
710
761
|
function connect(design, data, preset, connection) {
|
|
711
762
|
const source = data.tables.find((table) => table.id === connection.source);
|
|
@@ -740,9 +791,9 @@ function referenceColumn(table, base, roles, preset) {
|
|
|
740
791
|
].find((candidate) => columnError(table, candidate, preset) === void 0);
|
|
741
792
|
}
|
|
742
793
|
/**
|
|
743
|
-
* Adds a key to `targetId` on the app table `name` in the design, which can
|
|
744
|
-
*
|
|
745
|
-
*
|
|
794
|
+
* Adds a key to `targetId` on the app table `name` in the design, which can be
|
|
795
|
+
* a table the schema doesn't have yet: `<target>_id`, `parent_id` for a self
|
|
796
|
+
* reference, or a free role name when that column is taken.
|
|
746
797
|
*/
|
|
747
798
|
function referenceFrom(design, data, preset, name, targetId) {
|
|
748
799
|
const table = design.appTables?.[name];
|
|
@@ -750,8 +801,8 @@ function referenceFrom(design, data, preset, name, targetId) {
|
|
|
750
801
|
ok: false,
|
|
751
802
|
error: `${name} is not in the design.`
|
|
752
803
|
};
|
|
753
|
-
const target = targetId ===
|
|
754
|
-
if (targetId !==
|
|
804
|
+
const target = targetId === "auth.users" ? void 0 : data.tables.find((each) => each.id === targetId);
|
|
805
|
+
if (targetId !== "auth.users" && target === void 0) return {
|
|
755
806
|
ok: false,
|
|
756
807
|
error: "That table is not in the schema."
|
|
757
808
|
};
|
|
@@ -786,91 +837,6 @@ function referenceFrom(design, data, preset, name, targetId) {
|
|
|
786
837
|
})
|
|
787
838
|
};
|
|
788
839
|
}
|
|
789
|
-
/**
|
|
790
|
-
* What would stop `sql sync` from writing the design: a table name a block
|
|
791
|
-
* already uses, a reference to a table the preset no longer installs, a
|
|
792
|
-
* set-null delete on a required column, a composite key on a column the
|
|
793
|
-
* table doesn't have, and extra columns for a block that is gone or no
|
|
794
|
-
* longer takes them.
|
|
795
|
-
*/
|
|
796
|
-
function designIssues(design, data, preset) {
|
|
797
|
-
const issues = [];
|
|
798
|
-
const names = new Set(data.tables.filter((table) => !isAppTable(table)).map((table) => table.name));
|
|
799
|
-
const logical = new Set(Object.values(data.blockTables).map((each) => `${each.block}.${each.table}`));
|
|
800
|
-
const modules = new Set(data.tables.filter((table) => data.extraColumns.includes(table.id)).map((table) => table.module));
|
|
801
|
-
const subjectTypes = /* @__PURE__ */ new Map();
|
|
802
|
-
for (const [name, table] of Object.entries(design.appTables ?? {})) {
|
|
803
|
-
const type = table.subject?.type;
|
|
804
|
-
if (type !== void 0 && !subjectTypes.has(type)) subjectTypes.set(type, name);
|
|
805
|
-
}
|
|
806
|
-
for (const [name, table] of Object.entries(design.appTables ?? {})) {
|
|
807
|
-
const invalid = identifierError(name);
|
|
808
|
-
if (invalid !== void 0) issues.push({
|
|
809
|
-
table: name,
|
|
810
|
-
message: `The name ${name} is invalid. ${invalid}`
|
|
811
|
-
});
|
|
812
|
-
if (names.has(name)) issues.push({
|
|
813
|
-
table: name,
|
|
814
|
-
message: `A block already creates a ${name} table. Rename this one.`
|
|
815
|
-
});
|
|
816
|
-
const long = appNameLengthError(name, table);
|
|
817
|
-
if (long !== void 0) issues.push({
|
|
818
|
-
table: name,
|
|
819
|
-
message: `${long}.`
|
|
820
|
-
});
|
|
821
|
-
const type = table.subject?.type;
|
|
822
|
-
if (type !== void 0 && subjectTypes.get(type) !== name) issues.push({
|
|
823
|
-
table: name,
|
|
824
|
-
message: `${subjectTypes.get(type)} already has the subject type ${type}. Choose another.`
|
|
825
|
-
});
|
|
826
|
-
for (const [column, config] of Object.entries(table.columns ?? {})) {
|
|
827
|
-
const fallback = config.default === void 0 ? void 0 : defaultError(config, config.default);
|
|
828
|
-
if (fallback !== void 0) issues.push({
|
|
829
|
-
table: name,
|
|
830
|
-
message: `${name}.${column}: ${fallback}`
|
|
831
|
-
});
|
|
832
|
-
if (lockedWithoutDefault(config)) issues.push({
|
|
833
|
-
table: name,
|
|
834
|
-
message: `${name}.${column} is required, and signed-in users can't write it, so give it a default.`
|
|
835
|
-
});
|
|
836
|
-
}
|
|
837
|
-
for (const column of subjectColumns(table.subject)) if (Object.hasOwn(table.columns ?? {}, column.name)) issues.push({
|
|
838
|
-
table: name,
|
|
839
|
-
message: `${name}.${column.name} clashes with the column its record features add. Rename it.`
|
|
840
|
-
});
|
|
841
|
-
const known = /* @__PURE__ */ new Set([
|
|
842
|
-
"id",
|
|
843
|
-
...Object.keys(table.columns ?? {}),
|
|
844
|
-
...table.timestamps === false ? [] : ["created_at", "updated_at"]
|
|
845
|
-
]);
|
|
846
|
-
const scope = scopeColumnOf(table, preset);
|
|
847
|
-
if (scope !== null) known.add(scope.name);
|
|
848
|
-
for (const [key, sets] of [["unique key", table.unique], ["index", table.indexes]]) for (const columns of sets ?? []) {
|
|
849
|
-
const gone = columns.filter((column) => !known.has(column));
|
|
850
|
-
if (gone.length > 0) issues.push({
|
|
851
|
-
table: name,
|
|
852
|
-
message: `The ${key} on ${columns.join(", ")} names ${gone.join(", ")}, which ${name} doesn't have.`
|
|
853
|
-
});
|
|
854
|
-
}
|
|
855
|
-
for (const [column, config] of Object.entries(table.columns ?? {})) {
|
|
856
|
-
const reference = config.references;
|
|
857
|
-
if (reference === void 0) continue;
|
|
858
|
-
if (reference.block === void 0 ? reference.table !== AUTH_USERS$1 && design.appTables?.[reference.table] === void 0 : !logical.has(`${reference.block}.${reference.table}`)) issues.push({
|
|
859
|
-
table: name,
|
|
860
|
-
message: `${name}.${column} references ${reference.block === void 0 ? reference.table : `${reference.block}.${reference.table}`}, which the preset does not install.`
|
|
861
|
-
});
|
|
862
|
-
if (reference.onDelete === "set null" && config.nullable === false) issues.push({
|
|
863
|
-
table: name,
|
|
864
|
-
message: `${name}.${column} is required, so deleting the row it references can't set it to null.`
|
|
865
|
-
});
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
|
-
for (const block of Object.keys(design.extraColumns ?? {})) if (!modules.has(block)) issues.push({
|
|
869
|
-
table: block,
|
|
870
|
-
message: `The extra columns for ${block} have no table: the block is not installed or takes no extra columns.`
|
|
871
|
-
});
|
|
872
|
-
return issues;
|
|
873
|
-
}
|
|
874
840
|
function appColumn(name, column) {
|
|
875
841
|
const label = columnLabel(column);
|
|
876
842
|
const schemaColumn = {
|
|
@@ -891,9 +857,12 @@ const TIMESTAMP = {
|
|
|
891
857
|
default: "now()",
|
|
892
858
|
unique: false
|
|
893
859
|
};
|
|
894
|
-
/**
|
|
860
|
+
/**
|
|
861
|
+
* The id of the table a reference points at, or `undefined` when it is not in
|
|
862
|
+
* the schema.
|
|
863
|
+
*/
|
|
895
864
|
function referencedId(reference, data) {
|
|
896
|
-
if (reference.block === void 0) return reference.table ===
|
|
865
|
+
if (reference.block === void 0) return reference.table === "auth.users" ? AUTH_USERS$1 : appTableId(reference.table);
|
|
897
866
|
return Object.entries(data.blockTables).find(([, each]) => each.block === reference.block && each.table === reference.table)?.[0];
|
|
898
867
|
}
|
|
899
868
|
function foreignKey(column, to, onDelete = "no action") {
|
|
@@ -963,8 +932,8 @@ function extraColumnsOf(design, table, data) {
|
|
|
963
932
|
return data.extraColumns.includes(table.id) ? design.extraColumns?.[table.module] ?? {} : {};
|
|
964
933
|
}
|
|
965
934
|
/**
|
|
966
|
-
* The schema with the design applied: app tables added, extra columns
|
|
967
|
-
*
|
|
935
|
+
* The schema with the design applied: app tables added, extra columns appended
|
|
936
|
+
* to the block tables that accept them.
|
|
968
937
|
*/
|
|
969
938
|
function withDesign(data, design, preset) {
|
|
970
939
|
const tables = data.tables.map((table) => {
|
|
@@ -993,12 +962,129 @@ function withDesign(data, design, preset) {
|
|
|
993
962
|
};
|
|
994
963
|
}
|
|
995
964
|
//#endregion
|
|
965
|
+
//#region src/create/design-issues.ts
|
|
966
|
+
/**
|
|
967
|
+
* What would stop `sql sync` from writing the design: a table name a block
|
|
968
|
+
* already uses, a reference to a table the preset no longer installs, a
|
|
969
|
+
* set-null delete on a required column, a composite key on a column the table
|
|
970
|
+
* doesn't have, and extra columns for a block that is gone or no longer takes
|
|
971
|
+
* them.
|
|
972
|
+
*/
|
|
973
|
+
function designIssues(design, data, preset) {
|
|
974
|
+
const issues = [];
|
|
975
|
+
const names = new Set(data.tables.filter((table) => !isAppTable(table)).map((table) => table.name));
|
|
976
|
+
const logical = new Set(Object.values(data.blockTables).map((each) => `${each.block}.${each.table}`));
|
|
977
|
+
const modules = new Set(data.tables.filter((table) => data.extraColumns.includes(table.id)).map((table) => table.module));
|
|
978
|
+
const subjectTypes = /* @__PURE__ */ new Map();
|
|
979
|
+
for (const [name, table] of Object.entries(design.appTables ?? {})) {
|
|
980
|
+
const type = table.subject?.type;
|
|
981
|
+
if (type !== void 0 && !subjectTypes.has(type)) subjectTypes.set(type, name);
|
|
982
|
+
}
|
|
983
|
+
for (const [name, table] of Object.entries(design.appTables ?? {})) {
|
|
984
|
+
const invalid = identifierError(name);
|
|
985
|
+
if (invalid !== void 0) issues.push({
|
|
986
|
+
code: "invalid_name",
|
|
987
|
+
path: jsonPointer("appTables", name),
|
|
988
|
+
table: name,
|
|
989
|
+
message: `The name ${name} is invalid. ${invalid}`
|
|
990
|
+
});
|
|
991
|
+
if (names.has(name)) issues.push({
|
|
992
|
+
code: "table_name_taken",
|
|
993
|
+
path: jsonPointer("appTables", name),
|
|
994
|
+
table: name,
|
|
995
|
+
message: `A block already creates a ${name} table. Rename this one.`
|
|
996
|
+
});
|
|
997
|
+
const long = appNameLengthError(name, table);
|
|
998
|
+
if (long !== void 0) issues.push({
|
|
999
|
+
code: "name_too_long",
|
|
1000
|
+
path: jsonPointer("appTables", name),
|
|
1001
|
+
table: name,
|
|
1002
|
+
message: `${long}.`
|
|
1003
|
+
});
|
|
1004
|
+
const type = table.subject?.type;
|
|
1005
|
+
if (type !== void 0 && subjectTypes.get(type) !== name) issues.push({
|
|
1006
|
+
code: "subject_type_taken",
|
|
1007
|
+
path: jsonPointer("appTables", name, "subject", "type"),
|
|
1008
|
+
table: name,
|
|
1009
|
+
message: `${subjectTypes.get(type)} already has the subject type ${type}. Choose another.`
|
|
1010
|
+
});
|
|
1011
|
+
for (const [column, config] of Object.entries(table.columns ?? {})) {
|
|
1012
|
+
const fallback = config.default === void 0 ? void 0 : defaultError(config, config.default);
|
|
1013
|
+
if (fallback !== void 0) issues.push({
|
|
1014
|
+
code: "invalid_default",
|
|
1015
|
+
path: jsonPointer("appTables", name, "columns", column, "default"),
|
|
1016
|
+
table: name,
|
|
1017
|
+
message: `${name}.${column}: ${fallback}`
|
|
1018
|
+
});
|
|
1019
|
+
if (lockedWithoutDefault(config)) issues.push({
|
|
1020
|
+
code: "default_required",
|
|
1021
|
+
path: jsonPointer("appTables", name, "columns", column),
|
|
1022
|
+
table: name,
|
|
1023
|
+
message: `${name}.${column} is required, and signed-in users can't write it, so give it a default.`
|
|
1024
|
+
});
|
|
1025
|
+
}
|
|
1026
|
+
for (const column of subjectColumns(table.subject)) if (Object.hasOwn(table.columns ?? {}, column.name)) issues.push({
|
|
1027
|
+
code: "column_clash",
|
|
1028
|
+
path: jsonPointer("appTables", name, "columns", column.name),
|
|
1029
|
+
table: name,
|
|
1030
|
+
message: `${name}.${column.name} clashes with the column its record features add. Rename it.`
|
|
1031
|
+
});
|
|
1032
|
+
const known = /* @__PURE__ */ new Set([
|
|
1033
|
+
"id",
|
|
1034
|
+
...Object.keys(table.columns ?? {}),
|
|
1035
|
+
...table.timestamps === false ? [] : ["created_at", "updated_at"]
|
|
1036
|
+
]);
|
|
1037
|
+
const scope = scopeColumnOf(table, preset);
|
|
1038
|
+
if (scope !== null) known.add(scope.name);
|
|
1039
|
+
for (const [key, field, sets] of [[
|
|
1040
|
+
"unique key",
|
|
1041
|
+
"unique",
|
|
1042
|
+
table.unique
|
|
1043
|
+
], [
|
|
1044
|
+
"index",
|
|
1045
|
+
"indexes",
|
|
1046
|
+
table.indexes
|
|
1047
|
+
]]) for (const [index, columns] of (sets ?? []).entries()) {
|
|
1048
|
+
const gone = columns.filter((column) => !known.has(column));
|
|
1049
|
+
if (gone.length > 0) issues.push({
|
|
1050
|
+
code: "unknown_column",
|
|
1051
|
+
path: jsonPointer("appTables", name, field, index),
|
|
1052
|
+
table: name,
|
|
1053
|
+
message: `The ${key} on ${columns.join(", ")} names ${gone.join(", ")}, which ${name} doesn't have.`
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
for (const [column, config] of Object.entries(table.columns ?? {})) {
|
|
1057
|
+
const reference = config.references;
|
|
1058
|
+
if (reference === void 0) continue;
|
|
1059
|
+
if (reference.block === void 0 ? reference.table !== "auth.users" && design.appTables?.[reference.table] === void 0 : !logical.has(`${reference.block}.${reference.table}`)) issues.push({
|
|
1060
|
+
code: "missing_reference",
|
|
1061
|
+
path: jsonPointer("appTables", name, "columns", column, "references"),
|
|
1062
|
+
table: name,
|
|
1063
|
+
message: `${name}.${column} references ${reference.block === void 0 ? reference.table : `${reference.block}.${reference.table}`}, which the preset does not install.`
|
|
1064
|
+
});
|
|
1065
|
+
if (reference.onDelete === "set null" && config.nullable === false) issues.push({
|
|
1066
|
+
code: "set_null_required",
|
|
1067
|
+
path: jsonPointer("appTables", name, "columns", column, "references", "onDelete"),
|
|
1068
|
+
table: name,
|
|
1069
|
+
message: `${name}.${column} is required, so deleting the row it references can't set it to null.`
|
|
1070
|
+
});
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
for (const block of Object.keys(design.extraColumns ?? {})) if (!modules.has(block)) issues.push({
|
|
1074
|
+
code: "block_not_installed",
|
|
1075
|
+
path: jsonPointer("extraColumns", block),
|
|
1076
|
+
table: block,
|
|
1077
|
+
message: `The extra columns for ${block} have no table: the block is not installed or takes no extra columns.`
|
|
1078
|
+
});
|
|
1079
|
+
return issues;
|
|
1080
|
+
}
|
|
1081
|
+
//#endregion
|
|
996
1082
|
//#region src/create/preview-provider.ts
|
|
997
1083
|
/**
|
|
998
|
-
* A stand-in for the app's authorization provider, so `/create` can render
|
|
999
|
-
*
|
|
1000
|
-
*
|
|
1001
|
-
*
|
|
1084
|
+
* A stand-in for the app's authorization provider, so `/create` can render the
|
|
1085
|
+
* SQL and the diagram for `access: "provider"`. Its templates call functions in
|
|
1086
|
+
* a `provider` schema that no real project has: the preview says so next to the
|
|
1087
|
+
* output.
|
|
1002
1088
|
*/
|
|
1003
1089
|
function previewAccessProvider(preset) {
|
|
1004
1090
|
return {
|
|
@@ -1017,9 +1103,8 @@ function previewAccessProvider(preset) {
|
|
|
1017
1103
|
}
|
|
1018
1104
|
/**
|
|
1019
1105
|
* The files `sql sync` writes for a config with only this preset and its
|
|
1020
|
-
* `/create` design (app tables and extra columns). With
|
|
1021
|
-
*
|
|
1022
|
-
* `previewAccessProvider`.
|
|
1106
|
+
* `/create` design (app tables and extra columns). With `access: "provider"`
|
|
1107
|
+
* the access functions come from `previewAccessProvider`.
|
|
1023
1108
|
*/
|
|
1024
1109
|
function previewFiles(code, design = {}) {
|
|
1025
1110
|
const preset = presetOf(code);
|
|
@@ -1034,12 +1119,15 @@ function previewFiles(code, design = {}) {
|
|
|
1034
1119
|
//#endregion
|
|
1035
1120
|
//#region src/create/schema-meta.ts
|
|
1036
1121
|
const AUTH_USERS = "auth.users";
|
|
1037
|
-
/**
|
|
1122
|
+
/**
|
|
1123
|
+
* The tenant name the module defaults use, which a preset's tenant name
|
|
1124
|
+
* replaces.
|
|
1125
|
+
*/
|
|
1038
1126
|
const DEFAULT_TENANT = "organization";
|
|
1039
1127
|
/**
|
|
1040
|
-
* Finds the parsed table for a module's logical table by its default name,
|
|
1041
|
-
*
|
|
1042
|
-
*
|
|
1128
|
+
* Finds the parsed table for a module's logical table by its default name, or
|
|
1129
|
+
* by that name with the tenant renamed (`organizations` is `workspaces` for the
|
|
1130
|
+
* `workspace` tenant).
|
|
1043
1131
|
*/
|
|
1044
1132
|
function indexTables(tables, tenantName) {
|
|
1045
1133
|
const byName = new Map(tables.map((table) => [`${table.module}:${table.name}`, table]));
|
|
@@ -1067,9 +1155,9 @@ function tenantTable(tables) {
|
|
|
1067
1155
|
return best;
|
|
1068
1156
|
}
|
|
1069
1157
|
/**
|
|
1070
|
-
* The physical column a logical lifecycle column maps to. A tenant name
|
|
1071
|
-
*
|
|
1072
|
-
*
|
|
1158
|
+
* The physical column a logical lifecycle column maps to. A tenant name renames
|
|
1159
|
+
* `organization_id`, so a default name the table lacks falls back to the
|
|
1160
|
+
* table's tenant column.
|
|
1073
1161
|
*/
|
|
1074
1162
|
function physicalColumn(table, name, tenant) {
|
|
1075
1163
|
if (name === void 0) return;
|
|
@@ -1080,8 +1168,8 @@ function hasForeignKey(table, column) {
|
|
|
1080
1168
|
return table.foreignKeys.some((key) => key.columns.length === 1 && key.columns[0] === column);
|
|
1081
1169
|
}
|
|
1082
1170
|
/**
|
|
1083
|
-
* The soft references in the tables: lifecycle tenant and user columns
|
|
1084
|
-
*
|
|
1171
|
+
* The soft references in the tables: lifecycle tenant and user columns without
|
|
1172
|
+
* a foreign key, and `regclass` columns, which name any table.
|
|
1085
1173
|
*/
|
|
1086
1174
|
function softReferences(tables, tenantName = DEFAULT_TENANT) {
|
|
1087
1175
|
const lookup = indexTables(tables, tenantName);
|
|
@@ -1143,7 +1231,10 @@ function extraColumnTables(tables, lookup) {
|
|
|
1143
1231
|
return table === void 0 ? [] : [table.id];
|
|
1144
1232
|
});
|
|
1145
1233
|
}
|
|
1146
|
-
/**
|
|
1234
|
+
/**
|
|
1235
|
+
* The tables plus the soft references, manifests and extra-column tables the
|
|
1236
|
+
* canvas draws.
|
|
1237
|
+
*/
|
|
1147
1238
|
function schemaData(tables, tenantName = DEFAULT_TENANT) {
|
|
1148
1239
|
const lookup = indexTables(tables, tenantName);
|
|
1149
1240
|
return {
|
|
@@ -1157,7 +1248,10 @@ function schemaData(tables, tenantName = DEFAULT_TENANT) {
|
|
|
1157
1248
|
}
|
|
1158
1249
|
//#endregion
|
|
1159
1250
|
//#region src/create/schema.ts
|
|
1160
|
-
/**
|
|
1251
|
+
/**
|
|
1252
|
+
* The columns a diagram shows before a table is expanded: keys, tenant and soft
|
|
1253
|
+
* references.
|
|
1254
|
+
*/
|
|
1161
1255
|
function keyColumnsOf(table, softColumns = /* @__PURE__ */ new Set()) {
|
|
1162
1256
|
const keys = /* @__PURE__ */ new Set([
|
|
1163
1257
|
...table.primaryKey,
|
|
@@ -1167,13 +1261,16 @@ function keyColumnsOf(table, softColumns = /* @__PURE__ */ new Set()) {
|
|
|
1167
1261
|
]);
|
|
1168
1262
|
return table.columns.filter((column) => keys.has(column.name));
|
|
1169
1263
|
}
|
|
1170
|
-
/**
|
|
1264
|
+
/**
|
|
1265
|
+
* The column the tenant blocks key rows by, from the preset's tenant name;
|
|
1266
|
+
* `null` without tenants.
|
|
1267
|
+
*/
|
|
1171
1268
|
function tenantColumnOf(preset) {
|
|
1172
1269
|
return preset.scope === "tenant" ? `${preset.tenantName}_id` : null;
|
|
1173
1270
|
}
|
|
1174
1271
|
/**
|
|
1175
|
-
* Every module's file creates this table to record the installed modules.
|
|
1176
|
-
*
|
|
1272
|
+
* Every module's file creates this table to record the installed modules. It
|
|
1273
|
+
* holds no app data, so the diagram leaves it out.
|
|
1177
1274
|
*/
|
|
1178
1275
|
const BOOKKEEPING_TABLES = /* @__PURE__ */ new Set(["better_supabase.modules"]);
|
|
1179
1276
|
const IDENT = String.raw`(?:"(?:[^"]|"")+"|[A-Za-z_][A-Za-z0-9_$]*)`;
|
|
@@ -1205,8 +1302,8 @@ function identList(list) {
|
|
|
1205
1302
|
}
|
|
1206
1303
|
/**
|
|
1207
1304
|
* The SQL with comments removed and the inside of every single-quoted string
|
|
1208
|
-
* blanked, so a `create table` inside a string or a comment is not read and
|
|
1209
|
-
*
|
|
1305
|
+
* blanked, so a `create table` inside a string or a comment is not read and the
|
|
1306
|
+
* offsets still match the original text.
|
|
1210
1307
|
*/
|
|
1211
1308
|
function codeOnly(sql) {
|
|
1212
1309
|
let out = "";
|
|
@@ -1238,7 +1335,10 @@ function codeOnly(sql) {
|
|
|
1238
1335
|
}
|
|
1239
1336
|
return out;
|
|
1240
1337
|
}
|
|
1241
|
-
/**
|
|
1338
|
+
/**
|
|
1339
|
+
* The text between the `(` at `open` and its matching `)`, or undefined when it
|
|
1340
|
+
* never closes.
|
|
1341
|
+
*/
|
|
1242
1342
|
function balanced(text, open) {
|
|
1243
1343
|
let depth = 0;
|
|
1244
1344
|
for (let index = open; index < text.length; index += 1) if (text[index] === "(") depth += 1;
|
|
@@ -1247,7 +1347,10 @@ function balanced(text, open) {
|
|
|
1247
1347
|
if (depth === 0) return text.slice(open + 1, index);
|
|
1248
1348
|
}
|
|
1249
1349
|
}
|
|
1250
|
-
/**
|
|
1350
|
+
/**
|
|
1351
|
+
* The comma-separated elements of `text` at depth 0, with `original` sliced at
|
|
1352
|
+
* the same offsets.
|
|
1353
|
+
*/
|
|
1251
1354
|
function splitTopLevel(text, original = text) {
|
|
1252
1355
|
const parts = [];
|
|
1253
1356
|
let depth = 0;
|
|
@@ -1339,8 +1442,8 @@ function addColumn(draft, definition, original = definition) {
|
|
|
1339
1442
|
});
|
|
1340
1443
|
}
|
|
1341
1444
|
/**
|
|
1342
|
-
* Adds a table constraint (`primary key (...)`, `foreign key (...)
|
|
1343
|
-
*
|
|
1445
|
+
* Adds a table constraint (`primary key (...)`, `foreign key (...) references
|
|
1446
|
+
* ...`). Returns false when the element is not a constraint.
|
|
1344
1447
|
*/
|
|
1345
1448
|
function addConstraint(draft, element) {
|
|
1346
1449
|
const body = element.replace(CONSTRAINT_NAME, "");
|
|
@@ -1380,10 +1483,10 @@ function finish(draft, tenantColumn) {
|
|
|
1380
1483
|
};
|
|
1381
1484
|
}
|
|
1382
1485
|
/**
|
|
1383
|
-
* The tables in rendered module SQL: every `create table`, plus the columns
|
|
1384
|
-
*
|
|
1385
|
-
*
|
|
1386
|
-
*
|
|
1486
|
+
* The tables in rendered module SQL: every `create table`, plus the columns and
|
|
1487
|
+
* foreign keys later `alter table ... add` statements give them. A `create
|
|
1488
|
+
* table` it can't read throws with the file and line, so a new SQL shape fails
|
|
1489
|
+
* the tests instead of dropping a table from the diagram.
|
|
1387
1490
|
*/
|
|
1388
1491
|
function parseSchema(files, options = {}) {
|
|
1389
1492
|
const drafts = /* @__PURE__ */ new Map();
|
|
@@ -1429,8 +1532,8 @@ function parseSchema(files, options = {}) {
|
|
|
1429
1532
|
return [...drafts.entries()].filter(([id]) => !BOOKKEEPING_TABLES.has(id)).map(([, draft]) => finish(draft, tenantColumn));
|
|
1430
1533
|
}
|
|
1431
1534
|
/**
|
|
1432
|
-
* The statements that shape one table, as written: its `create table` and
|
|
1433
|
-
*
|
|
1535
|
+
* The statements that shape one table, as written: its `create table` and the
|
|
1536
|
+
* `alter table` statements after it. Empty when no file creates it.
|
|
1434
1537
|
*/
|
|
1435
1538
|
function tableStatements(files, id) {
|
|
1436
1539
|
const statements = [];
|
|
@@ -1453,7 +1556,10 @@ function tableStatements(files, id) {
|
|
|
1453
1556
|
}
|
|
1454
1557
|
return statements;
|
|
1455
1558
|
}
|
|
1456
|
-
/**
|
|
1559
|
+
/**
|
|
1560
|
+
* The foreign keys between tables, one per pair, with the targets outside the
|
|
1561
|
+
* schema named by id.
|
|
1562
|
+
*/
|
|
1457
1563
|
function schemaRelations(tables) {
|
|
1458
1564
|
const seen = /* @__PURE__ */ new Set();
|
|
1459
1565
|
return tables.flatMap((table) => table.foreignKeys.flatMap((key) => {
|
|
@@ -1470,18 +1576,35 @@ function schemaRelations(tables) {
|
|
|
1470
1576
|
//#endregion
|
|
1471
1577
|
//#region src/create/check.ts
|
|
1472
1578
|
const messageOf = (error) => error instanceof Error ? error.message : String(error);
|
|
1579
|
+
/** The issue for a design that failed to parse, with its code and path. */
|
|
1580
|
+
function parseIssue(error) {
|
|
1581
|
+
const { code, path } = error instanceof DesignParseError ? error : {
|
|
1582
|
+
code: "invalid_design",
|
|
1583
|
+
path: ""
|
|
1584
|
+
};
|
|
1585
|
+
return {
|
|
1586
|
+
code,
|
|
1587
|
+
path,
|
|
1588
|
+
table: tableAt(path),
|
|
1589
|
+
message: messageOf(error)
|
|
1590
|
+
};
|
|
1591
|
+
}
|
|
1592
|
+
/** The app table or block module a design path is in, or `design`. */
|
|
1593
|
+
function tableAt(path) {
|
|
1594
|
+
const [, key, name] = path.split("/");
|
|
1595
|
+
return (key === "appTables" || key === "extraColumns") && name !== void 0 ? name.replaceAll("~1", "/").replaceAll("~0", "~") : "design";
|
|
1596
|
+
}
|
|
1473
1597
|
async function designFrom(input) {
|
|
1474
1598
|
if (typeof input !== "string") return parseDesign(input);
|
|
1475
1599
|
const design = await designOf(input);
|
|
1476
|
-
if (design === void 0) throw new
|
|
1600
|
+
if (design === void 0) throw new DesignParseError("invalid_code", "", `design: "${input.slice(0, 40)}" is neither a design code nor a /create URL with &design=`);
|
|
1477
1601
|
return design;
|
|
1478
1602
|
}
|
|
1479
1603
|
/**
|
|
1480
|
-
* Checks a design against a preset with every rule the canvas and
|
|
1481
|
-
*
|
|
1482
|
-
*
|
|
1483
|
-
*
|
|
1484
|
-
* an issue.
|
|
1604
|
+
* Checks a design against a preset with every rule the canvas and `sql sync`
|
|
1605
|
+
* apply, so a server, an MCP tool and the canvas share one answer. `input` is a
|
|
1606
|
+
* design object, a design code or a `/create` URL with `&design=`. It never
|
|
1607
|
+
* throws for a bad design or preset: each problem is an issue.
|
|
1485
1608
|
*/
|
|
1486
1609
|
async function checkDesign(input, preset) {
|
|
1487
1610
|
let design;
|
|
@@ -1490,10 +1613,7 @@ async function checkDesign(input, preset) {
|
|
|
1490
1613
|
} catch (error) {
|
|
1491
1614
|
return {
|
|
1492
1615
|
ok: false,
|
|
1493
|
-
issues: [
|
|
1494
|
-
table: "design",
|
|
1495
|
-
message: messageOf(error)
|
|
1496
|
-
}]
|
|
1616
|
+
issues: [parseIssue(error)]
|
|
1497
1617
|
};
|
|
1498
1618
|
}
|
|
1499
1619
|
let resolvedPreset;
|
|
@@ -1503,6 +1623,8 @@ async function checkDesign(input, preset) {
|
|
|
1503
1623
|
return {
|
|
1504
1624
|
ok: false,
|
|
1505
1625
|
issues: [{
|
|
1626
|
+
code: "invalid_preset",
|
|
1627
|
+
path: "",
|
|
1506
1628
|
table: "preset",
|
|
1507
1629
|
message: messageOf(error)
|
|
1508
1630
|
}]
|
|
@@ -1512,6 +1634,8 @@ async function checkDesign(input, preset) {
|
|
|
1512
1634
|
if (resolved.conflicts.length > 0) return {
|
|
1513
1635
|
ok: false,
|
|
1514
1636
|
issues: resolved.conflicts.map((conflict) => ({
|
|
1637
|
+
code: "preset_conflict",
|
|
1638
|
+
path: "",
|
|
1515
1639
|
table: "preset",
|
|
1516
1640
|
message: `${conflict.block ?? conflict.field ?? "preset"}: ${conflict.reason}`
|
|
1517
1641
|
}))
|
|
@@ -1521,10 +1645,7 @@ async function checkDesign(input, preset) {
|
|
|
1521
1645
|
} catch (error) {
|
|
1522
1646
|
return {
|
|
1523
1647
|
ok: false,
|
|
1524
|
-
issues: [
|
|
1525
|
-
table: "design",
|
|
1526
|
-
message: messageOf(error)
|
|
1527
|
-
}]
|
|
1648
|
+
issues: [parseIssue(error)]
|
|
1528
1649
|
};
|
|
1529
1650
|
}
|
|
1530
1651
|
const data = schemaData(parseSchema(previewFiles(encodePreset(resolvedPreset)), { tenantColumn: tenantColumnOf(resolvedPreset) }), resolvedPreset.tenantName);
|
|
@@ -1537,20 +1658,19 @@ async function checkDesign(input, preset) {
|
|
|
1537
1658
|
return {
|
|
1538
1659
|
ok: true,
|
|
1539
1660
|
design,
|
|
1661
|
+
fitsUrl: true,
|
|
1540
1662
|
code: await encodeDesign(design)
|
|
1541
1663
|
};
|
|
1542
1664
|
} catch (error) {
|
|
1543
1665
|
if (error instanceof DesignTooLongError) return {
|
|
1544
1666
|
ok: true,
|
|
1545
1667
|
design,
|
|
1668
|
+
fitsUrl: false,
|
|
1546
1669
|
code: null
|
|
1547
1670
|
};
|
|
1548
1671
|
return {
|
|
1549
1672
|
ok: false,
|
|
1550
|
-
issues: [
|
|
1551
|
-
table: "design",
|
|
1552
|
-
message: messageOf(error)
|
|
1553
|
-
}]
|
|
1673
|
+
issues: [parseIssue(error)]
|
|
1554
1674
|
};
|
|
1555
1675
|
}
|
|
1556
1676
|
}
|
|
@@ -1789,7 +1909,10 @@ const PLAIN = {
|
|
|
1789
1909
|
function kindById(id) {
|
|
1790
1910
|
return BY_ID.get(id);
|
|
1791
1911
|
}
|
|
1792
|
-
/**
|
|
1912
|
+
/**
|
|
1913
|
+
* The kind a column's identity, reference or options make it, before its format
|
|
1914
|
+
* and type.
|
|
1915
|
+
*/
|
|
1793
1916
|
function structuralKind(column) {
|
|
1794
1917
|
if (column.identity === true) return "autonumber";
|
|
1795
1918
|
if (column.references !== void 0) return column.references.block === void 0 && column.references.table === USERS$1 ? "person" : "reference";
|
|
@@ -1829,10 +1952,10 @@ function moneyColumns(name) {
|
|
|
1829
1952
|
};
|
|
1830
1953
|
}
|
|
1831
1954
|
/**
|
|
1832
|
-
* Sets an app table column to `kind`. Currency keeps money as two columns:
|
|
1833
|
-
*
|
|
1834
|
-
* `<name>_currency` text column of 3 characters joins it. Returns the
|
|
1835
|
-
*
|
|
1955
|
+
* Sets an app table column to `kind`. Currency keeps money as two columns: the
|
|
1956
|
+
* column becomes `<name>_minor` (unless the name is taken) and a
|
|
1957
|
+
* `<name>_currency` text column of 3 characters joins it. Returns the column's
|
|
1958
|
+
* name after the change.
|
|
1836
1959
|
*/
|
|
1837
1960
|
function setColumnKind(design, table, name, kind) {
|
|
1838
1961
|
const columns = design.appTables?.[table]?.columns ?? {};
|
|
@@ -1872,29 +1995,38 @@ function setColumnKind(design, table, name, kind) {
|
|
|
1872
1995
|
/** The name the deploy gives its migration in `supabase_migrations`. */
|
|
1873
1996
|
const MIGRATION_NAME = "better_supabase_blocks";
|
|
1874
1997
|
/**
|
|
1875
|
-
* Why this preset can't be deployed, or `undefined` when it can. With
|
|
1876
|
-
*
|
|
1877
|
-
*
|
|
1998
|
+
* Why this preset can't be deployed, or `undefined` when it can. With `access:
|
|
1999
|
+
* "provider"` the preview renders a stand-in provider whose functions no real
|
|
2000
|
+
* project has.
|
|
1878
2001
|
*/
|
|
1879
2002
|
function deployBlocker(preset) {
|
|
1880
2003
|
return preset.access === "provider" ? "Bring your own authorization provider: its SQL comes from the provider, so deploy it with the CLI." : void 0;
|
|
1881
2004
|
}
|
|
2005
|
+
/** A new deploy id: a random UUID. */
|
|
2006
|
+
function newDeployId() {
|
|
2007
|
+
return crypto.randomUUID();
|
|
2008
|
+
}
|
|
2009
|
+
const DEPLOY_ID = /^[\w-]{1,64}$/u;
|
|
1882
2010
|
/**
|
|
1883
2011
|
* The SQL of one migration for the rendered files: every schema file, then
|
|
1884
|
-
* every data file, each in render order, which is the order `sql sync` and
|
|
1885
|
-
*
|
|
2012
|
+
* every data file, each in render order, which is the order `sql sync` and `sql
|
|
2013
|
+
* data` apply them. pgTAP tests stay out. Throws a `TypeError` when `id` holds
|
|
2014
|
+
* anything but letters, digits, `_` and `-`.
|
|
1886
2015
|
*/
|
|
1887
|
-
function deployQuery(files) {
|
|
2016
|
+
function deployQuery(files, options = {}) {
|
|
2017
|
+
const { id } = options;
|
|
2018
|
+
if (id !== void 0 && !DEPLOY_ID.test(id)) throw new TypeError("A deploy id holds 1 to 64 letters, digits, '_' or '-'.");
|
|
1888
2019
|
const schema = files.filter((file) => file.path.includes("/schemas/"));
|
|
1889
2020
|
const data = files.filter((file) => file.path.includes("/better-supabase-data/"));
|
|
1890
|
-
|
|
2021
|
+
const body = [...schema, ...data].map((file) => `-- ${file.path}\n${file.contents.trim()}\n`).join("\n");
|
|
2022
|
+
return id === void 0 ? body : `-- better-supabase deploy ${id}\n\n${body}`;
|
|
1891
2023
|
}
|
|
1892
2024
|
/** A database password for a new project: 32 base64url characters. */
|
|
1893
2025
|
function generatePassword() {
|
|
1894
2026
|
const bytes = crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(24));
|
|
1895
2027
|
let binary = "";
|
|
1896
2028
|
for (const byte of bytes) binary += String.fromCodePoint(byte);
|
|
1897
|
-
return btoa(binary).replaceAll("+", "-").replaceAll("/", "_").replace(
|
|
2029
|
+
return btoa(binary).replaceAll("+", "-").replaceAll("/", "_").replace(/[=]+$/u, "");
|
|
1898
2030
|
}
|
|
1899
2031
|
/** The project name the dialog suggests: the preset's name, or `my-app`. */
|
|
1900
2032
|
function suggestedProjectName(named) {
|
|
@@ -1925,11 +2057,11 @@ function record(history, previous, next) {
|
|
|
1925
2057
|
};
|
|
1926
2058
|
}
|
|
1927
2059
|
/**
|
|
1928
|
-
* An undo history. `drag` updates the value without a step while the
|
|
1929
|
-
*
|
|
1930
|
-
*
|
|
1931
|
-
*
|
|
1932
|
-
*
|
|
2060
|
+
* An undo history. `drag` updates the value without a step while the pointer
|
|
2061
|
+
* moves; `commitDrag` records the whole drag as one step. `amend` replaces the
|
|
2062
|
+
* value in the current step, so a follow-up such as placing a dropped block
|
|
2063
|
+
* stays part of the step that added it. `reset` replaces the value and clears
|
|
2064
|
+
* the history, as loading a link does.
|
|
1933
2065
|
*/
|
|
1934
2066
|
function undoHistory(current, action) {
|
|
1935
2067
|
switch (action.type) {
|
|
@@ -1969,10 +2101,14 @@ function undoHistory(current, action) {
|
|
|
1969
2101
|
//#endregion
|
|
1970
2102
|
//#region src/create/sample-rows.ts
|
|
1971
2103
|
const SAMPLE_ROW_COUNT = 8;
|
|
1972
|
-
/**
|
|
2104
|
+
/**
|
|
2105
|
+
* The columns of `table` a `viewer` can't select: `access: "server"` and
|
|
2106
|
+
* encrypted ones for a member, who reads an encrypted column through
|
|
2107
|
+
* `<table>_reveal` instead.
|
|
2108
|
+
*/
|
|
1973
2109
|
function hiddenColumns(table, viewer) {
|
|
1974
2110
|
if (viewer === "server") return [];
|
|
1975
|
-
return Object.entries(table?.columns ?? {}).filter(([, column]) => column.access === "server").map(([key]) => key);
|
|
2111
|
+
return Object.entries(table?.columns ?? {}).filter(([, column]) => column.access === "server" || column.encrypted === true).map(([key]) => key);
|
|
1976
2112
|
}
|
|
1977
2113
|
const USERS = "auth.users";
|
|
1978
2114
|
const PEOPLE = [
|
|
@@ -2007,12 +2143,18 @@ const TITLE_COLUMNS = [
|
|
|
2007
2143
|
function capitalized(value) {
|
|
2008
2144
|
return `${value.charAt(0).toUpperCase()}${value.slice(1)}`.replaceAll("_", " ");
|
|
2009
2145
|
}
|
|
2010
|
-
/**
|
|
2146
|
+
/**
|
|
2147
|
+
* The column a table's rows are named by: its subject title, then a likely name
|
|
2148
|
+
* column.
|
|
2149
|
+
*/
|
|
2011
2150
|
function titleColumnOf(table) {
|
|
2012
2151
|
const text = new Set(Object.entries(table.columns ?? {}).filter(([, column]) => column.type === "text" && column.format === void 0).map(([key]) => key));
|
|
2013
2152
|
return table.subject?.title ?? TITLE_COLUMNS.find((key) => text.has(key));
|
|
2014
2153
|
}
|
|
2015
|
-
/**
|
|
2154
|
+
/**
|
|
2155
|
+
* The name of row `index` of `table`, so a reference shows the row it points
|
|
2156
|
+
* at.
|
|
2157
|
+
*/
|
|
2016
2158
|
function rowTitle(table, index) {
|
|
2017
2159
|
return `${capitalized(singular(table))} ${String(index + 1)}`;
|
|
2018
2160
|
}
|
|
@@ -2098,12 +2240,12 @@ function sampleRows(design, name, count = 8, viewer = "server") {
|
|
|
2098
2240
|
/** The module whose file holds the app's own tables. */
|
|
2099
2241
|
const APP_TABLES_MODULE = "app-tables";
|
|
2100
2242
|
/**
|
|
2101
|
-
* The migration that takes a project deployed from `base` to `next`, for
|
|
2102
|
-
*
|
|
2103
|
-
*
|
|
2104
|
-
*
|
|
2105
|
-
*
|
|
2106
|
-
*
|
|
2243
|
+
* The migration that takes a project deployed from `base` to `next`, for added
|
|
2244
|
+
* tables and added columns only. The rendered app-table SQL is idempotent
|
|
2245
|
+
* (`create table if not exists`, `add column if not exists`, `drop policy if
|
|
2246
|
+
* exists`), so the migration is the re-rendered file. Anything else, such as a
|
|
2247
|
+
* rename, a retype, a changed default or a change outside `appTables`, is
|
|
2248
|
+
* refused so a deploy never guesses.
|
|
2107
2249
|
*/
|
|
2108
2250
|
function migrationBetween(code, base, next) {
|
|
2109
2251
|
const changes = diffDesigns(base, next);
|
|
@@ -2133,4 +2275,4 @@ function migrationBetween(code, base, next) {
|
|
|
2133
2275
|
};
|
|
2134
2276
|
}
|
|
2135
2277
|
//#endregion
|
|
2136
|
-
export { APP_MODULE, COLUMN_KINDS, EMPTY_DESIGN, HISTORY_LIMIT, KIND_GROUPS, MIGRATION_NAME, APP_ON_DELETE_ACTIONS as ON_DELETE_ACTIONS, ROLLUP_AGGREGATES, SAMPLE_ROW_COUNT, addTable, appTableId, boundError, checkDesign, columnError, columnLabel, computedColumnRenamed, computedRows, computedTableRenamed, connect, dashboardUrl, defaultError, deleteColumn, deleteExtraColumn, deleteTable, deployBlocker, deployQuery, designIssues, duplicateTable, editTable, eventsColumnsEdited, filterColumns, fitted, fittedRollup, freeTableName, generatePassword, hiddenColumns, identifierError, initialHistory, isAppTable, isEmptyDesign, isRollupAggregate, keyColumnsOf, kindById, kindOf, lockedWithoutDefault, lookupSources, migrationBetween, moveTables, optionError, parseSchema, previewAccessProvider, previewFiles, prunedComputed, readableColumns, referenceFrom, renameColumn, renameTable, rollupColumns, rollupSources, sampleRows, schemaData, schemaRelations, setColumn, setColumnKind, setExtraColumn, setTableId, singular, subjectColumns, subjectColumnsEdited, subjectTypeError, suggestedProjectName, tableStatements, tableWithComputed, tableWithoutComputed, takesBounds, tenantColumnOf, tidy, undoHistory, updateTable, userConnection, withBounds, withDesign, withKind };
|
|
2278
|
+
export { APP_MODULE, COLUMN_KINDS, EMPTY_DESIGN, HISTORY_LIMIT, KIND_GROUPS, MIGRATION_NAME, APP_ON_DELETE_ACTIONS as ON_DELETE_ACTIONS, ROLLUP_AGGREGATES, SAMPLE_ROW_COUNT, addTable, appTableId, boundError, checkDesign, columnError, columnLabel, computedColumnRenamed, computedRows, computedTableRenamed, connect, dashboardUrl, defaultError, deleteColumn, deleteExtraColumn, deleteTable, deployBlocker, deployQuery, designIssues, duplicateTable, editTable, encryptable, eventsColumnsEdited, filterColumns, fitted, fittedRollup, freeTableName, generatePassword, hiddenColumns, identifierError, initialHistory, isAppTable, isEmptyDesign, isRollupAggregate, keyColumnsOf, kindById, kindOf, lockedWithoutDefault, lookupSources, migrationBetween, moveTables, newDeployId, optionError, parseSchema, previewAccessProvider, previewFiles, prunedComputed, readableColumns, referenceFrom, renameColumn, renameTable, rollupColumns, rollupSources, sampleRows, schemaData, schemaRelations, setColumn, setColumnKind, setExtraColumn, setTableId, singular, subjectColumns, subjectColumnsEdited, subjectTypeError, suggestedProjectName, tableStatements, tableWithComputed, tableWithoutComputed, takesBounds, tenantColumnOf, tidy, undoHistory, updateTable, userConnection, withBounds, withDesign, withKind };
|