better-supabase 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -81
- package/bin/better-supabase.js +14 -2
- package/dist/access-sql-DUSSMaC3.js +201 -0
- package/dist/actor-BAhb-d1S.d.ts +104 -0
- package/dist/actor-KHDOKGb1.js +151 -0
- package/dist/adapter-CEjmtazZ.js +1984 -0
- package/dist/agents-BCNhIxVZ.d.ts +111 -0
- package/dist/ai-cache-Dps7aRu1.d.ts +70 -0
- package/dist/ai-cache-zeUL94pB.js +84 -0
- package/dist/ai-chat-3GBSlFR4.d.ts +608 -0
- package/dist/ai-files-D2_9YLjF.js +331 -0
- package/dist/ai-message-DfaP8sis.js +14 -0
- package/dist/ai-sdk/agents/index.d.ts +154 -10
- package/dist/ai-sdk/agents/index.js +172 -17
- package/dist/ai-sdk/batches/index.d.ts +4 -4
- package/dist/ai-sdk/batches/index.js +5 -5
- package/dist/ai-sdk/cache/index.d.ts +2 -2
- package/dist/ai-sdk/cache/index.js +2 -2
- package/dist/ai-sdk/chat/index.d.ts +1 -1
- package/dist/ai-sdk/chat/index.js +10 -21
- package/dist/ai-sdk/embeddings/index.d.ts +3 -3
- package/dist/ai-sdk/embeddings/index.js +1 -2
- package/dist/ai-sdk/files/index.d.ts +3 -3
- package/dist/ai-sdk/files/index.js +4 -4
- package/dist/ai-sdk/index.d.ts +38 -9
- package/dist/ai-sdk/index.js +5 -3
- package/dist/ai-sdk/mcp/index.d.ts +43 -6
- package/dist/ai-sdk/mcp/index.js +37 -8
- package/dist/ai-sdk/memory/index.d.ts +5 -2
- package/dist/ai-sdk/memory/index.js +2 -2
- package/dist/ai-sdk/react/index.js +1 -2
- package/dist/ai-sdk/workflow/index.d.ts +7 -6
- package/dist/ai-sdk/workflow/index.js +15 -26
- package/dist/ai-tasks-Ih5oHfyj.d.ts +157 -0
- package/dist/announcements-BHCzraR6.js +128 -0
- package/dist/api-CFjuYKFY.js +680 -0
- package/dist/api-TG3jE5aO.d.ts +411 -0
- package/dist/api-keys-BEQatEUW.js +318 -0
- package/dist/api-keys-BYoGCM9p.d.ts +205 -0
- package/dist/app-tables-BGl5_U2x.js +584 -0
- package/dist/approvals-a2KmioBh.d.ts +124 -0
- package/dist/arazzo/index.d.ts +255 -0
- package/dist/arazzo/index.js +622 -0
- package/dist/assistant-Bf2cA6RO.d.ts +148 -0
- package/dist/astro/index.d.ts +9 -8
- package/dist/astro/index.js +12 -9
- package/dist/asyncapi/index.d.ts +103 -0
- package/dist/asyncapi/index.js +569 -0
- package/dist/attachments-DAj2Yp95.js +264 -0
- package/dist/attributes-D4mA7WhI.js +38 -0
- package/dist/audit-log-BMMuGPdP.js +786 -0
- package/dist/auth-CdBKt0CS.js +20 -0
- package/dist/auth-reply-DUCwb8YO.js +31 -0
- package/dist/auth-reply-Dj124sbX.d.ts +11 -0
- package/dist/authorization-DpRfs6Wx.d.ts +1412 -0
- package/dist/authorization-hooks-DkmrnDX7.d.ts +214 -0
- package/dist/authorizer-DH7DjkL3.js +126 -0
- package/dist/authorizer-eiOjo-3l.d.ts +73 -0
- package/dist/base64-BmeCBgGo.js +42 -0
- package/dist/batch-limit-DKVQDz4o.js +5 -0
- package/dist/before-route-B98js9m_.js +30 -0
- package/dist/better-result/index.d.ts +118 -0
- package/dist/better-result/index.js +64 -0
- package/dist/bind-a7sUgvf4.d.ts +70 -0
- package/dist/block-env-CBd_SoL5.js +29 -0
- package/dist/block-env-Dxl7rsI0.d.ts +10 -0
- package/dist/block-events-DD9Q_NUz.js +96 -0
- package/dist/block-fields-5UA84ZUg.d.ts +55 -0
- package/dist/block-fields-ffD6Gxe4.js +139 -0
- package/dist/block-helpers-C86hPEjI.d.ts +37 -0
- package/dist/block-helpers-CfG_MvDR.js +264 -0
- package/dist/block-hooks-BLPWD3Jt.d.ts +107 -0
- package/dist/block-hooks-BsXncUlZ.js +114 -0
- package/dist/block-transport-DaGGXjIw.d.ts +70 -0
- package/dist/block-transport-G4t1umrR.js +85 -0
- package/dist/blocks/access-requests/index.d.ts +98 -0
- package/dist/blocks/access-requests/index.js +99 -0
- package/dist/blocks/agents/index.d.ts +21 -3
- package/dist/blocks/agents/index.js +65 -18
- package/dist/blocks/ai-cache/index.d.ts +8 -3
- package/dist/blocks/ai-cache/index.js +15 -3
- package/dist/blocks/ai-chat/index.d.ts +28 -4
- package/dist/blocks/ai-chat/index.js +31 -5
- package/dist/blocks/ai-chat/react/index.d.ts +12 -46
- package/dist/blocks/ai-chat/react/index.js +43 -335
- package/dist/blocks/ai-chat/solid/index.d.ts +34 -0
- package/dist/blocks/ai-chat/solid/index.js +41 -0
- package/dist/blocks/ai-chat/svelte/index.d.ts +34 -0
- package/dist/blocks/ai-chat/svelte/index.js +41 -0
- package/dist/blocks/ai-chat/vue/index.d.ts +34 -0
- package/dist/blocks/ai-chat/vue/index.js +41 -0
- package/dist/blocks/ai-files/index.d.ts +11 -4
- package/dist/blocks/ai-files/index.js +16 -3
- package/dist/blocks/ai-providers/index.d.ts +18 -3
- package/dist/blocks/ai-providers/index.js +41 -15
- package/dist/blocks/ai-tasks/index.d.ts +10 -3
- package/dist/blocks/ai-tasks/index.js +71 -21
- package/dist/blocks/announcements/index.d.ts +18 -3
- package/dist/blocks/announcements/index.js +27 -3
- package/dist/blocks/announcements/react/index.d.ts +4 -14
- package/dist/blocks/announcements/react/index.js +22 -70
- package/dist/blocks/announcements/solid/index.d.ts +13 -0
- package/dist/blocks/announcements/solid/index.js +14 -0
- package/dist/blocks/announcements/svelte/index.d.ts +13 -0
- package/dist/blocks/announcements/svelte/index.js +14 -0
- package/dist/blocks/announcements/vue/index.d.ts +13 -0
- package/dist/blocks/announcements/vue/index.js +14 -0
- package/dist/blocks/api-keys/index.d.ts +24 -7
- package/dist/blocks/api-keys/index.js +30 -295
- package/dist/blocks/api-keys/react/index.d.ts +29 -0
- package/dist/blocks/api-keys/react/index.js +43 -0
- package/dist/blocks/api-keys/react/server.d.ts +7 -0
- package/dist/blocks/api-keys/react/server.js +7 -0
- package/dist/blocks/api-keys/solid/index.d.ts +13 -0
- package/dist/blocks/api-keys/solid/index.js +14 -0
- package/dist/blocks/api-keys/svelte/index.d.ts +13 -0
- package/dist/blocks/api-keys/svelte/index.js +14 -0
- package/dist/blocks/api-keys/vue/index.d.ts +13 -0
- package/dist/blocks/api-keys/vue/index.js +14 -0
- package/dist/blocks/approvals/index.d.ts +22 -0
- package/dist/blocks/approvals/index.js +189 -0
- package/dist/blocks/attachments/index.d.ts +18 -223
- package/dist/blocks/attachments/index.js +26 -233
- package/dist/blocks/audit/index.d.ts +72 -354
- package/dist/blocks/audit/index.js +91 -695
- package/dist/blocks/audit/react/index.d.ts +26 -0
- package/dist/blocks/audit/react/index.js +44 -0
- package/dist/blocks/audit/react/server.d.ts +7 -0
- package/dist/blocks/audit/react/server.js +7 -0
- package/dist/blocks/audit/solid/index.d.ts +13 -0
- package/dist/blocks/audit/solid/index.js +14 -0
- package/dist/blocks/audit/svelte/index.d.ts +13 -0
- package/dist/blocks/audit/svelte/index.js +14 -0
- package/dist/blocks/audit/vue/index.d.ts +13 -0
- package/dist/blocks/audit/vue/index.js +14 -0
- package/dist/blocks/billing/index.d.ts +40 -13
- package/dist/blocks/billing/index.js +49 -18
- package/dist/blocks/billing/react/index.d.ts +34 -0
- package/dist/blocks/billing/react/index.js +36 -0
- package/dist/blocks/billing/react/server.d.ts +7 -0
- package/dist/blocks/billing/react/server.js +7 -0
- package/dist/blocks/billing/solid/index.d.ts +15 -0
- package/dist/blocks/billing/solid/index.js +14 -0
- package/dist/blocks/billing/svelte/index.d.ts +15 -0
- package/dist/blocks/billing/svelte/index.js +14 -0
- package/dist/blocks/billing/vue/index.d.ts +15 -0
- package/dist/blocks/billing/vue/index.js +14 -0
- package/dist/blocks/bookings/index.d.ts +36 -0
- package/dist/blocks/bookings/index.js +28 -0
- package/dist/blocks/bookings/react/index.d.ts +31 -0
- package/dist/blocks/bookings/react/index.js +59 -0
- package/dist/blocks/bookings/react/server.d.ts +6 -0
- package/dist/blocks/bookings/react/server.js +7 -0
- package/dist/blocks/bookings/solid/index.d.ts +13 -0
- package/dist/blocks/bookings/solid/index.js +14 -0
- package/dist/blocks/bookings/svelte/index.d.ts +13 -0
- package/dist/blocks/bookings/svelte/index.js +14 -0
- package/dist/blocks/bookings/vue/index.d.ts +13 -0
- package/dist/blocks/bookings/vue/index.js +14 -0
- package/dist/blocks/bulk/index.d.ts +142 -0
- package/dist/blocks/bulk/index.js +154 -0
- package/dist/blocks/calendar/index.d.ts +20 -0
- package/dist/blocks/calendar/index.js +33 -0
- package/dist/blocks/calendar/react/index.d.ts +26 -0
- package/dist/blocks/calendar/react/index.js +58 -0
- package/dist/blocks/calendar/react/server.d.ts +6 -0
- package/dist/blocks/calendar/react/server.js +7 -0
- package/dist/blocks/calendar/solid/index.d.ts +13 -0
- package/dist/blocks/calendar/solid/index.js +14 -0
- package/dist/blocks/calendar/svelte/index.d.ts +13 -0
- package/dist/blocks/calendar/svelte/index.js +14 -0
- package/dist/blocks/calendar/vue/index.d.ts +13 -0
- package/dist/blocks/calendar/vue/index.js +14 -0
- package/dist/blocks/catalog/index.d.ts +224 -0
- package/dist/blocks/catalog/index.js +292 -0
- package/dist/blocks/collections/index.d.ts +184 -0
- package/dist/blocks/collections/index.js +208 -0
- package/dist/blocks/comments/index.d.ts +19 -166
- package/dist/blocks/comments/index.js +26 -206
- package/dist/blocks/comments/react/index.d.ts +27 -0
- package/dist/blocks/comments/react/index.js +45 -0
- package/dist/blocks/comments/react/server.d.ts +7 -0
- package/dist/blocks/comments/react/server.js +7 -0
- package/dist/blocks/comments/solid/index.d.ts +13 -0
- package/dist/blocks/comments/solid/index.js +14 -0
- package/dist/blocks/comments/svelte/index.d.ts +13 -0
- package/dist/blocks/comments/svelte/index.js +14 -0
- package/dist/blocks/comments/vue/index.d.ts +13 -0
- package/dist/blocks/comments/vue/index.js +14 -0
- package/dist/blocks/connectors/index.d.ts +21 -3
- package/dist/blocks/connectors/index.js +54 -18
- package/dist/blocks/custom-fields/index.d.ts +62 -0
- package/dist/blocks/custom-fields/index.js +85 -0
- package/dist/blocks/data-lifecycle/index.d.ts +119 -10
- package/dist/blocks/data-lifecycle/index.js +103 -12
- package/dist/blocks/deals/index.d.ts +262 -0
- package/dist/blocks/deals/index.js +380 -0
- package/dist/blocks/documents/index.d.ts +17 -0
- package/dist/blocks/documents/index.js +118 -0
- package/dist/blocks/domains/index.d.ts +117 -0
- package/dist/blocks/domains/index.js +118 -0
- package/dist/blocks/drive/index.d.ts +296 -0
- package/dist/blocks/drive/index.js +483 -0
- package/dist/blocks/employees/index.d.ts +205 -0
- package/dist/blocks/employees/index.js +289 -0
- package/dist/blocks/engagements/index.d.ts +125 -0
- package/dist/blocks/engagements/index.js +143 -0
- package/dist/blocks/entitlements/index.d.ts +40 -4
- package/dist/blocks/entitlements/index.js +14 -24
- package/dist/blocks/entitlements/react/index.d.ts +24 -0
- package/dist/blocks/entitlements/react/index.js +35 -0
- package/dist/blocks/entitlements/react/server.d.ts +6 -0
- package/dist/blocks/entitlements/react/server.js +7 -0
- package/dist/blocks/entitlements/solid/index.d.ts +13 -0
- package/dist/blocks/entitlements/solid/index.js +14 -0
- package/dist/blocks/entitlements/svelte/index.d.ts +13 -0
- package/dist/blocks/entitlements/svelte/index.js +14 -0
- package/dist/blocks/entitlements/vue/index.d.ts +13 -0
- package/dist/blocks/entitlements/vue/index.js +14 -0
- package/dist/blocks/flags/index.d.ts +61 -187
- package/dist/blocks/flags/index.js +65 -252
- package/dist/blocks/forms/index.d.ts +302 -0
- package/dist/blocks/forms/index.js +341 -0
- package/dist/blocks/forms/react/index.d.ts +16 -0
- package/dist/blocks/forms/react/index.js +25 -0
- package/dist/blocks/forms/react/server.d.ts +6 -0
- package/dist/blocks/forms/react/server.js +7 -0
- package/dist/blocks/forms/solid/index.d.ts +13 -0
- package/dist/blocks/forms/solid/index.js +14 -0
- package/dist/blocks/forms/svelte/index.d.ts +13 -0
- package/dist/blocks/forms/svelte/index.js +14 -0
- package/dist/blocks/forms/vue/index.d.ts +13 -0
- package/dist/blocks/forms/vue/index.js +14 -0
- package/dist/blocks/hiring/index.d.ts +154 -0
- package/dist/blocks/hiring/index.js +180 -0
- package/dist/blocks/identities/index.d.ts +83 -0
- package/dist/blocks/identities/index.js +103 -0
- package/dist/blocks/imports/index.d.ts +91 -0
- package/dist/blocks/imports/index.js +123 -0
- package/dist/blocks/inbox/index.d.ts +22 -3
- package/dist/blocks/inbox/index.js +78 -6
- package/dist/blocks/inbox/react/index.d.ts +3 -2
- package/dist/blocks/inbox/react/index.js +55 -199
- package/dist/blocks/inbox/react/server.d.ts +2 -1
- package/dist/blocks/inbox/solid/index.d.ts +27 -0
- package/dist/blocks/inbox/solid/index.js +32 -0
- package/dist/blocks/inbox/svelte/index.d.ts +27 -0
- package/dist/blocks/inbox/svelte/index.js +32 -0
- package/dist/blocks/inbox/vue/index.d.ts +27 -0
- package/dist/blocks/inbox/vue/index.js +32 -0
- package/dist/blocks/index.d.ts +9 -64
- package/dist/blocks/index.js +193 -57
- package/dist/blocks/inventory/index.d.ts +181 -0
- package/dist/blocks/inventory/index.js +219 -0
- package/dist/blocks/invoices/index.d.ts +154 -0
- package/dist/blocks/invoices/index.js +216 -0
- package/dist/blocks/jobs/index.d.ts +188 -49
- package/dist/blocks/jobs/index.js +698 -527
- package/dist/blocks/knowledge/index.d.ts +10 -3
- package/dist/blocks/knowledge/index.js +17 -3
- package/dist/blocks/leave/index.d.ts +241 -0
- package/dist/blocks/leave/index.js +209 -0
- package/dist/blocks/memory/index.d.ts +9 -4
- package/dist/blocks/memory/index.js +49 -12
- package/dist/blocks/metrics/index.d.ts +174 -0
- package/dist/blocks/metrics/index.js +217 -0
- package/dist/blocks/mfa/index.d.ts +7 -0
- package/dist/blocks/mfa/index.js +12 -0
- package/dist/blocks/mfa/react/index.d.ts +30 -0
- package/dist/blocks/mfa/react/index.js +45 -0
- package/dist/blocks/mfa/react/server.d.ts +9 -0
- package/dist/blocks/mfa/react/server.js +12 -0
- package/dist/blocks/mfa/solid/index.d.ts +20 -0
- package/dist/blocks/mfa/solid/index.js +23 -0
- package/dist/blocks/mfa/svelte/index.d.ts +20 -0
- package/dist/blocks/mfa/svelte/index.js +23 -0
- package/dist/blocks/mfa/vue/index.d.ts +20 -0
- package/dist/blocks/mfa/vue/index.js +23 -0
- package/dist/blocks/notifications/index.d.ts +345 -26
- package/dist/blocks/notifications/index.js +744 -120
- package/dist/blocks/notifications/react/index.d.ts +7 -32
- package/dist/blocks/notifications/react/index.js +23 -49
- package/dist/blocks/notifications/react/server.d.ts +2 -1
- package/dist/blocks/notifications/solid/index.d.ts +13 -0
- package/dist/blocks/notifications/solid/index.js +14 -0
- package/dist/blocks/notifications/svelte/index.d.ts +13 -0
- package/dist/blocks/notifications/svelte/index.js +14 -0
- package/dist/blocks/notifications/vue/index.d.ts +13 -0
- package/dist/blocks/notifications/vue/index.js +14 -0
- package/dist/blocks/number-sequences/index.d.ts +39 -0
- package/dist/blocks/number-sequences/index.js +38 -0
- package/dist/blocks/oauth-server/index.d.ts +228 -0
- package/dist/blocks/oauth-server/index.js +309 -0
- package/dist/blocks/onboarding/index.d.ts +8 -3
- package/dist/blocks/onboarding/index.js +17 -63
- package/dist/blocks/onboarding/react/index.d.ts +3 -12
- package/dist/blocks/onboarding/react/index.js +18 -60
- package/dist/blocks/onboarding/react/server.d.ts +2 -2
- package/dist/blocks/onboarding/react/server.js +2 -2
- package/dist/blocks/onboarding/solid/index.d.ts +13 -0
- package/dist/blocks/onboarding/solid/index.js +14 -0
- package/dist/blocks/onboarding/svelte/index.d.ts +13 -0
- package/dist/blocks/onboarding/svelte/index.js +14 -0
- package/dist/blocks/onboarding/vue/index.d.ts +13 -0
- package/dist/blocks/onboarding/vue/index.js +14 -0
- package/dist/blocks/orders/index.d.ts +264 -0
- package/dist/blocks/orders/index.js +589 -0
- package/dist/blocks/organizations/index.d.ts +31 -238
- package/dist/blocks/organizations/index.js +49 -399
- package/dist/blocks/organizations/react/index.d.ts +108 -0
- package/dist/blocks/organizations/react/index.js +113 -0
- package/dist/blocks/organizations/react/server.d.ts +11 -0
- package/dist/blocks/organizations/react/server.js +15 -0
- package/dist/blocks/organizations/solid/index.d.ts +34 -0
- package/dist/blocks/organizations/solid/index.js +32 -0
- package/dist/blocks/organizations/svelte/index.d.ts +34 -0
- package/dist/blocks/organizations/svelte/index.js +32 -0
- package/dist/blocks/organizations/vue/index.d.ts +34 -0
- package/dist/blocks/organizations/vue/index.js +32 -0
- package/dist/blocks/outbox/index.d.ts +12 -3
- package/dist/blocks/outbox/index.js +97 -67
- package/dist/blocks/parties/index.d.ts +181 -0
- package/dist/blocks/parties/index.js +258 -0
- package/dist/blocks/pipelines/index.d.ts +189 -0
- package/dist/blocks/pipelines/index.js +204 -0
- package/dist/blocks/profiles/index.d.ts +14 -9
- package/dist/blocks/profiles/index.js +20 -6
- package/dist/blocks/promotions/index.d.ts +125 -0
- package/dist/blocks/promotions/index.js +123 -0
- package/dist/blocks/push/index.d.ts +48 -28
- package/dist/blocks/push/index.js +45 -16
- package/dist/blocks/quotes/index.d.ts +152 -0
- package/dist/blocks/quotes/index.js +209 -0
- package/dist/blocks/rank/index.d.ts +71 -0
- package/dist/blocks/rank/index.js +53 -0
- package/dist/blocks/reactions/index.d.ts +18 -0
- package/dist/blocks/reactions/index.js +26 -0
- package/dist/blocks/reactions/react/index.d.ts +23 -0
- package/dist/blocks/reactions/react/index.js +46 -0
- package/dist/blocks/reactions/react/server.d.ts +6 -0
- package/dist/blocks/reactions/react/server.js +7 -0
- package/dist/blocks/reactions/solid/index.d.ts +13 -0
- package/dist/blocks/reactions/solid/index.js +14 -0
- package/dist/blocks/reactions/svelte/index.d.ts +13 -0
- package/dist/blocks/reactions/svelte/index.js +14 -0
- package/dist/blocks/reactions/vue/index.d.ts +13 -0
- package/dist/blocks/reactions/vue/index.js +14 -0
- package/dist/blocks/relations/index.d.ts +180 -0
- package/dist/blocks/relations/index.js +254 -0
- package/dist/blocks/reminders/index.d.ts +177 -0
- package/dist/blocks/reminders/index.js +171 -0
- package/dist/blocks/reviews/index.d.ts +148 -0
- package/dist/blocks/reviews/index.js +139 -0
- package/dist/blocks/rules/index.d.ts +103 -0
- package/dist/blocks/rules/index.js +54 -0
- package/dist/blocks/rules/react/index.d.ts +34 -0
- package/dist/blocks/rules/react/index.js +55 -0
- package/dist/blocks/rules/react/server.d.ts +6 -0
- package/dist/blocks/rules/react/server.js +7 -0
- package/dist/blocks/rules/solid/index.d.ts +13 -0
- package/dist/blocks/rules/solid/index.js +14 -0
- package/dist/blocks/rules/svelte/index.d.ts +13 -0
- package/dist/blocks/rules/svelte/index.js +14 -0
- package/dist/blocks/rules/vue/index.d.ts +13 -0
- package/dist/blocks/rules/vue/index.js +14 -0
- package/dist/blocks/saved-views/index.d.ts +17 -0
- package/dist/blocks/saved-views/index.js +29 -0
- package/dist/blocks/saved-views/react/index.d.ts +34 -0
- package/dist/blocks/saved-views/react/index.js +57 -0
- package/dist/blocks/saved-views/react/server.d.ts +7 -0
- package/dist/blocks/saved-views/react/server.js +7 -0
- package/dist/blocks/saved-views/solid/index.d.ts +13 -0
- package/dist/blocks/saved-views/solid/index.js +14 -0
- package/dist/blocks/saved-views/svelte/index.d.ts +13 -0
- package/dist/blocks/saved-views/svelte/index.js +14 -0
- package/dist/blocks/saved-views/vue/index.d.ts +13 -0
- package/dist/blocks/saved-views/vue/index.js +14 -0
- package/dist/blocks/search/index.d.ts +31 -0
- package/dist/blocks/search/index.js +61 -0
- package/dist/blocks/search/react/index.d.ts +36 -0
- package/dist/blocks/search/react/index.js +49 -0
- package/dist/blocks/search/react/server.d.ts +7 -0
- package/dist/blocks/search/react/server.js +8 -0
- package/dist/blocks/search/solid/index.d.ts +13 -0
- package/dist/blocks/search/solid/index.js +14 -0
- package/dist/blocks/search/svelte/index.d.ts +13 -0
- package/dist/blocks/search/svelte/index.js +14 -0
- package/dist/blocks/search/vue/index.d.ts +13 -0
- package/dist/blocks/search/vue/index.js +14 -0
- package/dist/blocks/service-principals/index.d.ts +126 -0
- package/dist/blocks/service-principals/index.js +107 -0
- package/dist/blocks/sessions/index.d.ts +7 -0
- package/dist/blocks/sessions/index.js +14 -0
- package/dist/blocks/sessions/react/index.d.ts +31 -0
- package/dist/blocks/sessions/react/index.js +51 -0
- package/dist/blocks/sessions/react/server.d.ts +9 -0
- package/dist/blocks/sessions/react/server.js +11 -0
- package/dist/blocks/sessions/solid/index.d.ts +20 -0
- package/dist/blocks/sessions/solid/index.js +23 -0
- package/dist/blocks/sessions/svelte/index.d.ts +20 -0
- package/dist/blocks/sessions/svelte/index.js +23 -0
- package/dist/blocks/sessions/vue/index.d.ts +20 -0
- package/dist/blocks/sessions/vue/index.js +23 -0
- package/dist/blocks/settings/index.d.ts +20 -86
- package/dist/blocks/settings/index.js +28 -101
- package/dist/blocks/settings/react/index.d.ts +25 -0
- package/dist/blocks/settings/react/index.js +37 -0
- package/dist/blocks/settings/react/server.d.ts +7 -0
- package/dist/blocks/settings/react/server.js +7 -0
- package/dist/blocks/settings/solid/index.d.ts +13 -0
- package/dist/blocks/settings/solid/index.js +14 -0
- package/dist/blocks/settings/svelte/index.d.ts +13 -0
- package/dist/blocks/settings/svelte/index.js +14 -0
- package/dist/blocks/settings/vue/index.d.ts +13 -0
- package/dist/blocks/settings/vue/index.js +14 -0
- package/dist/blocks/share-links/index.d.ts +99 -0
- package/dist/blocks/share-links/index.js +99 -0
- package/dist/blocks/shared-signals/index.d.ts +395 -0
- package/dist/blocks/shared-signals/index.js +880 -0
- package/dist/blocks/signing-keys/index.d.ts +29 -0
- package/dist/blocks/signing-keys/index.js +161 -0
- package/dist/blocks/sla/index.d.ts +114 -0
- package/dist/blocks/sla/index.js +122 -0
- package/dist/blocks/sso/index.d.ts +169 -147
- package/dist/blocks/sso/index.js +259 -321
- package/dist/blocks/state-machine/index.d.ts +105 -0
- package/dist/blocks/state-machine/index.js +116 -0
- package/dist/blocks/tags/index.d.ts +20 -0
- package/dist/blocks/tags/index.js +28 -0
- package/dist/blocks/tags/react/index.d.ts +28 -0
- package/dist/blocks/tags/react/index.js +47 -0
- package/dist/blocks/tags/react/server.d.ts +7 -0
- package/dist/blocks/tags/react/server.js +7 -0
- package/dist/blocks/tags/solid/index.d.ts +13 -0
- package/dist/blocks/tags/solid/index.js +14 -0
- package/dist/blocks/tags/svelte/index.d.ts +13 -0
- package/dist/blocks/tags/svelte/index.js +14 -0
- package/dist/blocks/tags/vue/index.d.ts +13 -0
- package/dist/blocks/tags/vue/index.js +14 -0
- package/dist/blocks/targets/index.d.ts +82 -0
- package/dist/blocks/targets/index.js +73 -0
- package/dist/blocks/teams/index.d.ts +61 -0
- package/dist/blocks/teams/index.js +83 -0
- package/dist/blocks/templates/index.d.ts +362 -0
- package/dist/blocks/templates/index.js +483 -0
- package/dist/blocks/time-tracking/index.d.ts +250 -0
- package/dist/blocks/time-tracking/index.js +317 -0
- package/dist/blocks/trash/index.d.ts +78 -0
- package/dist/blocks/trash/index.js +79 -0
- package/dist/blocks/undo/index.d.ts +9 -0
- package/dist/blocks/undo/index.js +14 -0
- package/dist/blocks/undo/react/index.d.ts +17 -0
- package/dist/blocks/undo/react/index.js +24 -0
- package/dist/blocks/undo/react/server.d.ts +7 -0
- package/dist/blocks/undo/react/server.js +7 -0
- package/dist/blocks/undo/solid/index.d.ts +13 -0
- package/dist/blocks/undo/solid/index.js +14 -0
- package/dist/blocks/undo/svelte/index.d.ts +13 -0
- package/dist/blocks/undo/svelte/index.js +14 -0
- package/dist/blocks/undo/vue/index.d.ts +13 -0
- package/dist/blocks/undo/vue/index.js +14 -0
- package/dist/blocks/usage/index.d.ts +10 -4
- package/dist/blocks/usage/index.js +16 -232
- package/dist/blocks/usage/react/index.d.ts +23 -0
- package/dist/blocks/usage/react/index.js +38 -0
- package/dist/blocks/usage/react/server.d.ts +7 -0
- package/dist/blocks/usage/react/server.js +7 -0
- package/dist/blocks/usage/solid/index.d.ts +13 -0
- package/dist/blocks/usage/solid/index.js +14 -0
- package/dist/blocks/usage/svelte/index.d.ts +13 -0
- package/dist/blocks/usage/svelte/index.js +14 -0
- package/dist/blocks/usage/vue/index.d.ts +13 -0
- package/dist/blocks/usage/vue/index.js +14 -0
- package/dist/blocks/versions/index.d.ts +165 -0
- package/dist/blocks/versions/index.js +283 -0
- package/dist/blocks/waitlist/index.d.ts +57 -19
- package/dist/blocks/waitlist/index.js +47 -12
- package/dist/blocks/webhooks/index.d.ts +275 -134
- package/dist/blocks/webhooks/index.js +775 -231
- package/dist/blocks/work-items/index.d.ts +208 -0
- package/dist/blocks/work-items/index.js +305 -0
- package/dist/blocks/workflow-builder/index.d.ts +26 -6
- package/dist/blocks/workflow-builder/index.js +30 -5
- package/dist/blocks/workflow-builder/react/index.d.ts +4 -19
- package/dist/blocks/workflow-builder/react/index.js +45 -89
- package/dist/blocks/workflow-builder/solid/index.d.ts +20 -0
- package/dist/blocks/workflow-builder/solid/index.js +23 -0
- package/dist/blocks/workflow-builder/svelte/index.d.ts +20 -0
- package/dist/blocks/workflow-builder/svelte/index.js +23 -0
- package/dist/blocks/workflow-builder/vue/index.d.ts +20 -0
- package/dist/blocks/workflow-builder/vue/index.js +23 -0
- package/dist/blocks/workflows/index.d.ts +20 -3
- package/dist/blocks/workflows/index.js +27 -3
- package/dist/blocks/workflows/react/index.d.ts +5 -20
- package/dist/blocks/workflows/react/index.js +41 -113
- package/dist/blocks/workflows/solid/index.d.ts +20 -0
- package/dist/blocks/workflows/solid/index.js +23 -0
- package/dist/blocks/workflows/svelte/index.d.ts +20 -0
- package/dist/blocks/workflows/svelte/index.js +23 -0
- package/dist/blocks/workflows/vue/index.d.ts +20 -0
- package/dist/blocks/workflows/vue/index.js +23 -0
- package/dist/blocks-D2WQ63PI.js +84 -0
- package/dist/bookings-0XnhHNLM.js +181 -0
- package/dist/build-Cm0T5MVG.js +1815 -0
- package/dist/build-Cx08LOT7.js +689 -0
- package/dist/calendar-DcFrpSOy.js +801 -0
- package/dist/casing-DdFWEtqr.js +16 -0
- package/dist/channel-D-LHCY11.d.ts +78 -0
- package/dist/channels-C-GCoNLd.js +114 -0
- package/dist/chat-sdk/index.d.ts +131 -7
- package/dist/chat-sdk/index.js +155 -6
- package/dist/chat-sdk/react/index.d.ts +2 -1
- package/dist/chat-sdk/react/index.js +1 -2
- package/dist/chat-sdk/react/server.d.ts +2 -1
- package/dist/chat-sdk/react/server.js +1 -2
- package/dist/claims-0KZVT804.js +61 -0
- package/dist/cli/add-B0zoJUYX.js +651 -0
- package/dist/cli/add-Bd5M6uEZ.js +75 -0
- package/dist/cli/add-CT6p5psO.js +1 -0
- package/dist/cli/adopt-C9jl8z0h.js +1 -0
- package/dist/cli/adopt-CebmlHL-.js +393 -0
- package/dist/cli/agent-CCt_aXpJ.js +176 -0
- package/dist/cli/apply-Dxk8AUNU.js +302 -0
- package/dist/cli/arazzo-1.0-BalU61-_.js +532 -0
- package/dist/cli/arazzo-1.1-Bnfasbun.js +705 -0
- package/dist/cli/asyncapi-3.0.0-C78dBjR6.js +5593 -0
- package/dist/cli/asyncapi-3.1.0-g-7aIfV1.js +5833 -0
- package/dist/cli/bin.js +41 -21
- package/dist/cli/blocks-Bzz326nn.js +1 -0
- package/dist/cli/blocks-Dq25D80b.js +124 -0
- package/dist/cli/cache-Cx6qlRDR.js +502 -0
- package/dist/cli/catalog-Di15TkM2.js +187 -0
- package/dist/cli/codemod-woL4cVe0.js +985 -0
- package/dist/cli/command-CK9Cn8HV.js +836 -0
- package/dist/cli/completion-BO5UK6bG.js +1 -0
- package/dist/cli/completion-CWoDmFZr.js +205 -0
- package/dist/cli/completion-J3dqnNoW.js +30 -0
- package/dist/cli/config-C1d-mbUA.js +1 -0
- package/dist/cli/config-CLHpTk9Y.js +1421 -0
- package/dist/cli/config-MuKY9kUj.js +39 -0
- package/dist/cli/config-edit-Ct1lXe8a.js +603 -0
- package/dist/cli/db-DT1bGB02.js +78 -0
- package/dist/cli/design-edit-B-WsnhUF.js +175 -0
- package/dist/cli/detect-DYDUBLU4.js +84 -0
- package/dist/cli/dist-D_VbPAMR.js +129 -0
- package/dist/cli/dist-DuiMMRbJ.js +1112 -0
- package/dist/cli/doctor-SGw36h1D.js +3806 -0
- package/dist/cli/emit-ZAYeh4Yn.js +1042 -0
- package/dist/cli/env-CVXvJoLP.js +142 -0
- package/dist/cli/env-D3gZ-OHj.js +1 -0
- package/dist/cli/env-DJ4ZaJpe.js +1 -0
- package/dist/cli/env-DMw_MBe5.js +996 -0
- package/dist/cli/errors-Caiz_0so.js +98 -0
- package/dist/cli/fastest-levenshtein-dhRRvrM2.js +120 -0
- package/dist/cli/files-DDvAwTko.js +963 -0
- package/dist/cli/gen-B344S1Oy.js +304 -0
- package/dist/cli/guards-CUlDNYZs.js +8 -0
- package/dist/cli/index.d.ts +297 -140
- package/dist/cli/index.js +13 -8
- package/dist/cli/init-B1dL-RZL.js +393 -0
- package/dist/cli/introspect-BPcFi8ow.js +51 -0
- package/dist/cli/io-BiPX-_J1.js +37 -0
- package/dist/cli/jsonc-C8M0EhHB.js +1 -0
- package/dist/cli/keys-jsxCNJdz.js +106 -0
- package/dist/cli/metadata-CxBZo4KM.js +138 -0
- package/dist/cli/module-migration-YFFdWC5X.js +592 -0
- package/dist/cli/moved-D9OT_Uyy.js +152 -0
- package/dist/cli/names-D6LrQnOv.js +6 -0
- package/dist/cli/openapi-3.0-t7xwkuRH.js +928 -0
- package/dist/cli/openapi-3.1-CVze7tBS.js +870 -0
- package/dist/cli/openapi-3.2-CFoMYM01.js +1031 -0
- package/dist/cli/parse-DE59XyWt.js +170 -0
- package/dist/cli/preset-DmcC4nWE.js +129 -0
- package/dist/cli/prompts-Bvg_DBpe.js +1137 -0
- package/dist/cli/redact-PjNswZOs.js +35 -0
- package/dist/cli/rolldown-runtime-kJ_i4yPo.js +26 -0
- package/dist/cli/run-CM_2g6KQ.js +684 -0
- package/dist/cli/run-DaHfUUO9.js +1539 -0
- package/dist/cli/scaffold-CFdDq36-.js +898 -0
- package/dist/cli/scaffold-Dsjr7sOT.js +1 -0
- package/dist/cli/seed-DldDdXWO.js +113 -0
- package/dist/cli/seed-DtRFysBe.js +1 -0
- package/dist/cli/shell-Btv_4Yhe.js +10 -0
- package/dist/cli/skills-v34NDb2D.js +121 -0
- package/dist/cli/snapshot-DAxLi4hO.js +347 -0
- package/dist/cli/source-args-0I9zylYy.js +47 -0
- package/dist/cli/spec-CaaSOYZS.js +7501 -0
- package/dist/cli/spec-De0cfceR.js +1 -0
- package/dist/cli/sql-0I1EQ3JG.js +2 -0
- package/dist/cli/sql-DDLWwzh9.js +326 -0
- package/dist/cli/stack-status-CRanl-CN.js +456 -0
- package/dist/cli/style-2JfIPVMQ.js +29 -0
- package/dist/cli/supabase-toml-DjLgBYEo.js +1153 -0
- package/dist/cli/sync-DFx-6t5n.js +88 -0
- package/dist/cli/topics-GJuIDwlY.js +30 -0
- package/dist/cli/trace-VbdO6bcN.js +7 -0
- package/dist/cli/typegen--TfvOPLh.js +494 -0
- package/dist/cli/typegen-version-BNBPI4Eu.js +9 -0
- package/dist/cli/validate-BfWNKvxy.js +7522 -0
- package/dist/cli/version-DNRW4DAP.js +4 -0
- package/dist/cli/write-BS6F3Yvz.js +180 -0
- package/dist/client/index.d.ts +7 -3
- package/dist/client/index.js +207 -4
- package/dist/client/native/index.d.ts +71 -4
- package/dist/client/native/index.js +65 -6
- package/dist/client-01MAuqzW.js +137 -0
- package/dist/client-B7QVIrJS.d.ts +263 -0
- package/dist/client-B9CqzgPO.js +75 -0
- package/dist/client-BAcILZOf.d.ts +122 -0
- package/dist/client-BOT2KVIp.js +128 -0
- package/dist/client-BUGIS__1.js +1051 -0
- package/dist/client-BVZtq_rQ.d.ts +34 -0
- package/dist/client-BYaOGCOG.js +84 -0
- package/dist/client-BfgwocyT.js +155 -0
- package/dist/client-BpS8a6Fm.js +51 -0
- package/dist/client-BxnLb9bz.d.ts +58 -0
- package/dist/client-BzCv4kKE.js +65 -0
- package/dist/client-C-2ajnhM.js +89 -0
- package/dist/client-C5mUEb2n.js +55 -0
- package/dist/client-C9QrWrnt.js +209 -0
- package/dist/client-CFdMJ1h9.d.ts +277 -0
- package/dist/client-CHmjaI0j.d.ts +103 -0
- package/dist/client-CWs3X4g1.js +120 -0
- package/dist/client-Cdedx_lw.js +438 -0
- package/dist/client-CiGjS6us.js +169 -0
- package/dist/client-CilSKXNu.js +288 -0
- package/dist/client-ClZ0D-if.d.ts +162 -0
- package/dist/client-Cmensu7l.d.ts +419 -0
- package/dist/client-Co6BPmvr.d.ts +108 -0
- package/dist/client-CoVGPi0c.js +133 -0
- package/dist/client-CvITjt-9.js +310 -0
- package/dist/client-CzI4QpG3.d.ts +131 -0
- package/dist/client-D5CZ2a34.d.ts +455 -0
- package/dist/client-DAHsEOVV.d.ts +155 -0
- package/dist/client-DG7FwgZD.js +104 -0
- package/dist/client-DIrCmOXz.d.ts +157 -0
- package/dist/client-DNq8xYb-.js +52 -0
- package/dist/client-DdfSIZ3M.d.ts +107 -0
- package/dist/client-DjTRlN3a.d.ts +68 -0
- package/dist/client-Ezlbskjq.js +60 -0
- package/dist/client-LLmgiCwJ.d.ts +135 -0
- package/dist/client-Lx3mlvKO.d.ts +100 -0
- package/dist/client-PGRk3DGz.js +98 -0
- package/dist/client-Tc47rlSe.d.ts +350 -0
- package/dist/client-VvY0K3wr.d.ts +59 -0
- package/dist/client-WAdEBBrH.d.ts +65 -0
- package/dist/client-WHeWTNVL.d.ts +130 -0
- package/dist/client-WgrPIHH-.js +213 -0
- package/dist/client-ZTtSV3l8.js +40 -0
- package/dist/client-b2_GjzzD.js +438 -0
- package/dist/client-ckXfdy1k.js +38 -0
- package/dist/client-e-hFkLUf.d.ts +34 -0
- package/dist/client-hyP_nS5R.d.ts +218 -0
- package/dist/client-i8glKhxh.js +67 -0
- package/dist/client-iDLLvGR4.d.ts +52 -0
- package/dist/client-pxjbgOz6.js +376 -0
- package/dist/client-xkSCp9hN.d.ts +101 -0
- package/dist/client-ysNShuJZ.d.ts +39 -0
- package/dist/clone-dN9XOL1K.js +29 -0
- package/dist/cloud-event-5rCEzIgK.d.ts +64 -0
- package/dist/cloud-event-CTh9Sr5w.js +60 -0
- package/dist/codecs-Bm46sVxr.d.ts +215 -0
- package/dist/codecs-YAekuQ08.js +358 -0
- package/dist/codegen-DeoSt1mi.d.ts +1571 -0
- package/dist/comments-D7sbd0xG.js +230 -0
- package/dist/commerce/index.d.ts +211 -0
- package/dist/commerce/index.js +517 -0
- package/dist/compiler-BVxepAY0.d.ts +14 -0
- package/dist/compose-Djntdacs.js +53 -0
- package/dist/composite-M6zPs1Xm.js +130 -0
- package/dist/composite-djtGy6bz.d.ts +67 -0
- package/dist/config/index.d.ts +7 -6
- package/dist/config/index.js +7 -4
- package/dist/config-BA1K4OPk.js +557 -0
- package/dist/config-C4MozTD7.js +3892 -0
- package/dist/connector-Cp8CqssJ.d.ts +107 -0
- package/dist/connectors-CjD-R2ks.d.ts +141 -0
- package/dist/context-1sSWcd7_.d.ts +365 -0
- package/dist/context-B8_p3MXo.js +11 -0
- package/dist/context-BDDgjoxz.js +41 -0
- package/dist/context-C-bHOtoD.js +5 -0
- package/dist/context-D6ZMKc2L.js +19 -0
- package/dist/context-wDKxSl9x.js +9 -0
- package/dist/controller-D6NyNrlZ.js +79 -0
- package/dist/controller-D845qKh2.d.ts +46 -0
- package/dist/credentials/index.d.ts +15 -5
- package/dist/credentials/index.js +17 -17
- package/dist/cron-CUaKTjWC.js +145 -0
- package/dist/cron-route-CoL-By8Z.js +24 -0
- package/dist/csv-CVfXqaAu.js +89 -0
- package/dist/csv-D3eKxV1T.d.ts +28 -0
- package/dist/define-B2ln373W.js +1896 -0
- package/dist/define-DxHHbNEb.d.ts +1005 -0
- package/dist/define-block-B6Gjs57G.js +52 -0
- package/dist/define-block-CLZMEFeK.d.ts +256 -0
- package/dist/delegation-Dt8hMJWu.js +140 -0
- package/dist/delivery-B1mKaOen.js +30 -0
- package/dist/delivery-BeHgwS3k.d.ts +69 -0
- package/dist/documents-CWn2mtYf.d.ts +96 -0
- package/dist/edge/index.d.ts +68 -13
- package/dist/edge/index.js +75 -43
- package/dist/elysia/index.d.ts +1 -1
- package/dist/elysia/index.js +2 -2
- package/dist/email-BcmbIWOX.d.ts +42 -0
- package/dist/embeddings-C2S14foD.d.ts +78 -0
- package/dist/embeddings-CVeOoufZ.js +128 -0
- package/dist/ended-nIdGCHxk.d.ts +70 -0
- package/dist/entitlements-BvU5dLpW.js +45 -0
- package/dist/entitlements-CbzCKalR.d.ts +53 -0
- package/dist/env/index.d.ts +1 -1
- package/dist/env/index.js +12 -5
- package/dist/envelope-CHYk5MXU.js +90 -0
- package/dist/errors-8i6tSICm.js +301 -0
- package/dist/errors-PIpcoe4z.js +44 -0
- package/dist/escape-like-AUEPn-C5.d.ts +15 -0
- package/dist/eve/index.d.ts +5 -5
- package/dist/eve/index.js +11 -17
- package/dist/eve-DUF70Vgi.d.ts +151 -0
- package/dist/event-calendar-DJXXMJ3x.d.ts +217 -0
- package/dist/event-map-Dy2vKHai.js +19 -0
- package/dist/events/index.d.ts +4 -4
- package/dist/events/index.js +16 -8
- package/dist/events-CTreRrgP.d.ts +800 -0
- package/dist/events-xbpHkcK9.js +82 -0
- package/dist/executor-BBHgjUJu.d.ts +39 -0
- package/dist/executor-BINiCFNp.d.ts +95 -0
- package/dist/executor-BXSHYyW2.js +735 -0
- package/dist/executor-D1kYY5BA.js +206 -0
- package/dist/executor-D3K3tycZ.js +147 -0
- package/dist/executor-DKrZr3AC.d.ts +174 -0
- package/dist/executor-DoE-5iM8.d.ts +272 -0
- package/dist/expo/index.d.ts +4 -4
- package/dist/expo/index.js +7 -7
- package/dist/expo-sqlite/index.d.ts +3 -3
- package/dist/expo-sqlite/index.js +2 -2
- package/dist/extra-CGQ2_q3S.js +10 -0
- package/dist/field-errors-CWXN_h_E.d.ts +113 -0
- package/dist/field-errors-DZVRWRkf.js +13 -0
- package/dist/field-formats-Cif5gr7c.js +102 -0
- package/dist/field-formats-DCvOQlOy.d.ts +39 -0
- package/dist/filter-evaluate-C0ULNfS7.js +214 -0
- package/dist/filter-evaluate-CjcFq0RT.d.ts +34 -0
- package/dist/filter-query-B3lhckKX.js +518 -0
- package/dist/filter-query-BKmRYrTE.d.ts +121 -0
- package/dist/flags-D_D1jAHB.d.ts +230 -0
- package/dist/flags-XAOsdNAc.js +279 -0
- package/dist/flags-sdk/index.d.ts +143 -0
- package/dist/flags-sdk/index.js +175 -0
- package/dist/form-definition-sagoefQr.d.ts +95 -0
- package/dist/format-CNwSjXUU.d.ts +70 -0
- package/dist/framework-DG5Bv39u.d.ts +26 -0
- package/dist/framework-INbjMZX1.js +51 -0
- package/dist/function-contract-B4c0XuTU.d.ts +21 -0
- package/dist/function-contract-DmkBg19r.js +5 -0
- package/dist/gateway-Cup00l0w.d.ts +109 -0
- package/dist/gateway-options-ClvvfuuU.d.ts +29 -0
- package/dist/gateway-options-DcLcWL5_.js +27 -0
- package/dist/graph-Cs28bOlK.js +360 -0
- package/dist/groups-CxonH3u5.js +16 -0
- package/dist/guards-6F2bCtQR.js +12 -0
- package/dist/h3/index.d.ts +7 -3
- package/dist/h3/index.js +3 -3
- package/dist/h3/v1/index.d.ts +1 -1
- package/dist/h3/v1/index.js +2 -2
- package/dist/history-GH1HJWQV.js +271 -0
- package/dist/hmac-DCud0myt.js +22 -0
- package/dist/hono/index.d.ts +33 -14
- package/dist/hono/index.js +58 -25
- package/dist/http-BF-V0CUF.js +25 -0
- package/dist/impersonation-CDeCzZP6.js +62 -0
- package/dist/impersonation-D5chOkrO.d.ts +25 -0
- package/dist/inbox-3ql4phyr.d.ts +400 -0
- package/dist/index-BIi8i6BO.d.ts +97 -0
- package/dist/index-BkzNUPId.d.ts +131 -0
- package/dist/index-BlqrGvb3.d.ts +227 -0
- package/dist/index-Brhm22eL.d.ts +138 -0
- package/dist/index-Bvw9r94Q.d.ts +245 -0
- package/dist/index-CETRk4YO.d.ts +82 -0
- package/dist/index-CrZitvSC.d.ts +258 -0
- package/dist/index-DfVXx4Ia.d.ts +202 -0
- package/dist/index-DygICr8c.d.ts +206 -0
- package/dist/index-Ej8XQ9w9.d.ts +58 -0
- package/dist/index-jhqhynmh.d.ts +58 -0
- package/dist/index.d.ts +90 -15
- package/dist/index.js +16 -14
- package/dist/iso4217-A8ev-CNW.js +176 -0
- package/dist/json-schema-CpYINXG8.js +548 -0
- package/dist/jws-35a8VhFV.d.ts +60 -0
- package/dist/jws-milwSg7E.js +191 -0
- package/dist/kit-D5S7KNFe.d.ts +66 -0
- package/dist/kit-MUK34-ZG.js +104 -0
- package/dist/knowledge-BXQ2-V0a.d.ts +187 -0
- package/dist/knowledge-CJ_Mm3ic.js +272 -0
- package/dist/lint/index.js +9 -9
- package/dist/list/index.d.ts +4 -3
- package/dist/list/index.js +4 -2
- package/dist/list-query-CBXNfJt4.js +549 -0
- package/dist/list-query-PvP3pPGQ.d.ts +194 -0
- package/dist/live-DwDreq1n.js +239 -0
- package/dist/mcp/index.d.ts +67 -20
- package/dist/mcp/index.js +220 -135
- package/dist/mcp/sdk/index.d.ts +38 -6
- package/dist/mcp/sdk/index.js +89 -7
- package/dist/message-B0fNJgq8.d.ts +93 -0
- package/dist/messages-Cx4ttLJJ.js +493 -0
- package/dist/metric-definition-95HFoW1V.d.ts +70 -0
- package/dist/metric-definition-BjxVn4R5.js +117 -0
- package/dist/mfa-DtflCXEt.d.ts +30 -0
- package/dist/model-lUafmeBQ.d.ts +311 -0
- package/dist/model-messages-CTu-6kBu.js +206 -0
- package/dist/model-messages-D4GZllOD.d.ts +34 -0
- package/dist/money-95Rff2vT.js +185 -0
- package/dist/money-DFpWzQvk.d.ts +76 -0
- package/dist/money-codec-C_-K5ZUU.js +41 -0
- package/dist/nestjs/index.d.ts +2 -2
- package/dist/nestjs/index.js +2 -2
- package/dist/next/index.d.ts +115 -55
- package/dist/next/index.js +208 -173
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.js +3 -3
- package/dist/nuxt/index.d.ts +2 -2
- package/dist/nuxt/index.js +3 -2
- package/dist/onboarding-BZvLLPaY.js +68 -0
- package/dist/openapi/index.d.ts +4 -2
- package/dist/openapi/index.js +21 -343
- package/dist/operations-C9-UcReN.d.ts +6 -0
- package/dist/operations-CsIfMED7.js +29 -0
- package/dist/optional-peer-Dx8TaYXw.js +29 -0
- package/dist/options-B0FcEKtH.js +5 -0
- package/dist/options-B5BU2Yg7.js +11 -0
- package/dist/options-B5woz53h.js +5 -0
- package/dist/options-B7EJaOX-.js +5 -0
- package/dist/options-B9q8CROT.js +9 -0
- package/dist/options-BA6jV6py.js +10 -0
- package/dist/options-BAW2ZlZ8.js +8 -0
- package/dist/options-BMjcVuaI.js +82 -0
- package/dist/options-BOOEzor9.js +5 -0
- package/dist/options-BQ07tTYr.js +11 -0
- package/dist/options-BZsoPJGX.js +5 -0
- package/dist/options-BesyRBnM.js +16 -0
- package/dist/options-Bf96aVk5.js +10 -0
- package/dist/options-BlOPivzq.js +8 -0
- package/dist/options-Blg8lAkz.js +9 -0
- package/dist/options-Bn4cu0gt.js +5 -0
- package/dist/options-BnoJOwXK.js +8 -0
- package/dist/options-Bp7sgKvl.js +30 -0
- package/dist/options-BqO9GYig.js +311 -0
- package/dist/options-BxcFLL1G.js +8 -0
- package/dist/options-C1HR4UZd.js +13 -0
- package/dist/options-C239TLRF.js +14 -0
- package/dist/options-C2HesT4A.js +9 -0
- package/dist/options-C3EzJATk.js +10 -0
- package/dist/options-C3hZ1fbC.js +10 -0
- package/dist/options-C6rEL6U5.js +8 -0
- package/dist/options-CAzVf-1T.js +8 -0
- package/dist/options-CGKSUFUq.js +5 -0
- package/dist/options-CGjGE8xS.js +12 -0
- package/dist/options-CK5WiFwG.js +11 -0
- package/dist/options-CN7PHkhU.js +8 -0
- package/dist/options-CTZNpb2n.js +5 -0
- package/dist/options-CUqQ9pm7.js +9 -0
- package/dist/options-CVSWgZpY.js +8 -0
- package/dist/options-CXFz0xxS.js +8 -0
- package/dist/options-CZk_fbbg.js +9 -0
- package/dist/options-C_pb1Nd3.js +5 -0
- package/dist/options-CbSOj53r.d.ts +52 -0
- package/dist/options-ChD15QxJ.js +9 -0
- package/dist/options-CkScQRJR.js +12 -0
- package/dist/options-CljDnQt2.js +25 -0
- package/dist/options-CmraJhd9.js +5 -0
- package/dist/options-CoX6VKGb.js +8 -0
- package/dist/options-CrC78Tee.js +5 -0
- package/dist/options-Ctac2R0Q.js +11 -0
- package/dist/options-CyD7OObW.js +17 -0
- package/dist/options-D1blDihM.js +9 -0
- package/dist/options-D2Gd6VfS.js +8 -0
- package/dist/options-D2d1fFuw.js +11 -0
- package/dist/options-D40CQzji.js +8 -0
- package/dist/options-D7f2VKzj.js +25 -0
- package/dist/options-DARkpk2P.js +8 -0
- package/dist/options-DCduTMST.js +17 -0
- package/dist/options-DDzggjN7.js +8 -0
- package/dist/options-DMR68VAC.js +5 -0
- package/dist/options-DNKyN5uq.js +20 -0
- package/dist/options-DTDxFT6J.js +13 -0
- package/dist/options-DWpz3V3F.js +8 -0
- package/dist/options-DXqcJyOP.js +10 -0
- package/dist/options-DYBQ973I.js +8 -0
- package/dist/options-Dh4wu9Ks.js +15 -0
- package/dist/options-Dmg1Da9P.js +25 -0
- package/dist/options-DsUgamiy.js +5 -0
- package/dist/options-EsUh744F.js +13 -0
- package/dist/options-Fz6xqu-b.js +5 -0
- package/dist/options-HSv8R6h5.js +13 -0
- package/dist/options-I8zVkB_y.js +8 -0
- package/dist/options-MHhjOoWz.js +5 -0
- package/dist/options-MLxMkd5B.js +11 -0
- package/dist/options-OJ5zmgr8.js +10 -0
- package/dist/options-QKP9FFcK.js +8 -0
- package/dist/options-SViK_2x2.js +12 -0
- package/dist/options-XgfTctbI.js +5 -0
- package/dist/options-_9arpsX9.js +11 -0
- package/dist/options-eBPsk4WI.js +11 -0
- package/dist/options-kLKILdIu.js +10 -0
- package/dist/options-n22NK3PL.js +8 -0
- package/dist/options-oeAq4Ho5.js +12 -0
- package/dist/options-qU8vgxhO.js +18 -0
- package/dist/options-vXMBEWSH.js +5 -0
- package/dist/options-wFnK3qWl.js +9 -0
- package/dist/options-xVAy3UsV.js +9 -0
- package/dist/organizations-Cw7om8uk.js +398 -0
- package/dist/orpc/index.d.ts +26 -10
- package/dist/orpc/index.js +66 -44
- package/dist/otel/index.d.ts +3 -3
- package/dist/otel/index.js +42 -7
- package/dist/outbox-BTeqjbum.d.ts +181 -0
- package/dist/overlay/index.d.ts +233 -0
- package/dist/overlay/index.js +554 -0
- package/dist/payments-h45bswA-.js +16 -0
- package/dist/pg-error-BV_X8Isq.js +26 -0
- package/dist/plugin-CDLJRFFg.d.ts +190 -0
- package/dist/plugins/actor/index.d.ts +1 -1
- package/dist/plugins/actor/index.js +1 -1
- package/dist/plugins/rules/index.d.ts +2 -2
- package/dist/plugins/rules/index.js +2 -2
- package/dist/plugins/soft-delete/index.d.ts +3 -3
- package/dist/plugins/soft-delete/index.js +11 -4
- package/dist/plugins/tenant/index.d.ts +9 -3
- package/dist/plugins/tenant/index.js +17 -3
- package/dist/plugins/timestamps/index.d.ts +1 -1
- package/dist/plugins/timestamps/index.js +8 -1
- package/dist/plugins/validation/index.d.ts +2 -2
- package/dist/plugins/validation/index.js +4 -4
- package/dist/pool-CwOCsX9e.d.ts +114 -0
- package/dist/pool-errors-GMjlCN0d.js +27 -0
- package/dist/ports-Ca63W4cW.d.ts +285 -0
- package/dist/ports-DAdQyjZz.d.ts +86 -0
- package/dist/ports-DGK3KTDH.js +133 -0
- package/dist/postgres/index.d.ts +28 -6
- package/dist/postgres/index.js +54 -22
- package/dist/postgrest-Cw9Bs5gm.d.ts +53 -0
- package/dist/powersync/index.d.ts +5 -5
- package/dist/powersync/index.js +4 -4
- package/dist/powersync/react/index.d.ts +8 -3
- package/dist/powersync/react/index.js +11 -3
- package/dist/preset/index.d.ts +352 -0
- package/dist/preset/index.js +564 -0
- package/dist/problem-CEjyhV5T.d.ts +76 -0
- package/dist/problem-pIiL3WbE.js +159 -0
- package/dist/provider-9gBq9W6k.d.ts +113 -0
- package/dist/provider-DKh2xFZb.js +57 -0
- package/dist/push-token-D6REHMMw.js +16 -0
- package/dist/push-token-asrmi7-6.d.ts +24 -0
- package/dist/query/index.d.ts +2 -2
- package/dist/query/index.js +1 -1
- package/dist/query-Ctz-qKRx.js +303 -0
- package/dist/range-DwpWe8e7.js +7 -0
- package/dist/range-p5V4rBhZ.d.ts +8 -0
- package/dist/rank-keys-DcPMt_Jk.js +60 -0
- package/dist/rank-result-DS8IoLup.js +18 -0
- package/dist/rank-result-Dngpt2n5.d.ts +14 -0
- package/dist/rate-limit--QSiFA6D.js +325 -0
- package/dist/rate-limit-BtbddDnE.js +49 -0
- package/dist/rate-limit-C88MEAOm.d.ts +41 -0
- package/dist/ratelimit-headers-Bsxx0Tj2.js +62 -0
- package/dist/react/index.d.ts +9 -9
- package/dist/react/index.js +4 -5
- package/dist/react/native/index.d.ts +1 -1
- package/dist/react/native/index.js +2 -2
- package/dist/react/server.d.ts +10 -10
- package/dist/react/server.js +4 -4
- package/dist/react/session.d.ts +2 -2
- package/dist/react-CKXUkwPx.js +410 -0
- package/dist/react-controller-Xn-IU44p.js +40 -0
- package/dist/react-env-Cc7Vf6eb.js +13 -0
- package/dist/react-router/index.d.ts +6 -6
- package/dist/react-router/index.js +10 -12
- package/dist/read-set-GEb-i0On.js +314 -0
- package/dist/realtime/index.d.ts +8 -4
- package/dist/realtime/index.js +5 -333
- package/dist/realtime-status-D2dw1hOE.js +12 -0
- package/dist/realtime-status-DcsO00Gw.d.ts +8 -0
- package/dist/refusal-br4Ma9Cf.js +61 -0
- package/dist/refusal-oD3ISM9h.d.ts +18 -0
- package/dist/replicas-BvIL4_jL.js +94 -0
- package/dist/resolve-CAR9oaKW.js +869 -0
- package/dist/resolve-w9EpHzuM.d.ts +266 -0
- package/dist/resource-B4ka8dDH.d.ts +106 -0
- package/dist/resource-C8r5xGqY.js +463 -0
- package/dist/resource-DO4gbVi5.js +91 -0
- package/dist/resource-execute-D0yQ-8WR.d.ts +12 -0
- package/dist/resource-schemas-BJ518zFH.js +79 -0
- package/dist/resource-types-D2vEQVXI.d.ts +141 -0
- package/dist/resources-BklF-rjz.d.ts +7 -0
- package/dist/resources-BlZdLsWQ.js +64 -0
- package/dist/respond-C7I8kLK_.d.ts +93 -0
- package/dist/respond-DdhZ9Wbn.js +95 -0
- package/dist/result-BlgnMB0H.js +128 -0
- package/dist/result-Cj3yWhjH.d.ts +298 -0
- package/dist/rrule-zBh3CA1r.js +290 -0
- package/dist/rules-B0-3Iosu.js +261 -0
- package/dist/run-watch-CQRdpy-f.js +53 -0
- package/dist/sales-lines-BAk8In-Z.js +41 -0
- package/dist/sales-lines-C6gafAwg.d.ts +28 -0
- package/dist/sales-shared-DAAGwQwN.d.ts +8 -0
- package/dist/sales-shared-SblIgCgI.js +22 -0
- package/dist/scope-DgWjuXUw.js +90 -0
- package/dist/search-B6h03cAx.js +106 -0
- package/dist/search-BtoWY6n_.js +9 -0
- package/dist/server/index.d.ts +211 -43
- package/dist/server/index.js +296 -19
- package/dist/server-types-OohhIQb2.d.ts +737 -0
- package/dist/session-DiWHtYrO.d.ts +95 -0
- package/dist/settings-BXFn9zpS.js +90 -0
- package/dist/shared-BmMcMoW9.js +89 -0
- package/dist/shared-DbO3Dfms.js +14 -0
- package/dist/shared-as0EG51f.js +60 -0
- package/dist/sign-in-D0xN6E_l.js +360 -0
- package/dist/signatures-B41ApWXA.js +145 -0
- package/dist/signatures-BMdJ7neI.d.ts +43 -0
- package/dist/signers-CXt_wA9S.d.ts +385 -0
- package/dist/signing-keys-Bq9mMCTh.d.ts +90 -0
- package/dist/solid/index.d.ts +9 -18
- package/dist/solid/index.js +4 -9
- package/dist/solid-controller-DLsmrczT.js +33 -0
- package/dist/solid-controller-DqlvYFZa.d.ts +11 -0
- package/dist/solid-start/index.d.ts +8 -12
- package/dist/solid-start/index.js +10 -9
- package/dist/spec/index.d.ts +154 -0
- package/dist/spec/index.js +386 -0
- package/dist/spec-pins-Dqpml2dZ.d.ts +84 -0
- package/dist/spec-pins-S4PymRxp.js +60 -0
- package/dist/sql/index.d.ts +327 -140
- package/dist/sql/index.js +71245 -23282
- package/dist/sql-DJrXG-3Z.js +422 -0
- package/dist/sso-BDva_-4y.js +217 -0
- package/dist/sso-BN0LnMqE.d.ts +131 -0
- package/dist/ssr/index.d.ts +5 -6
- package/dist/ssr/index.js +4 -3
- package/dist/standard-B5fe2gnW.js +25 -0
- package/dist/standard-C3_AAF3g.d.ts +7 -0
- package/dist/stats-D6vkb89f.js +1128 -0
- package/dist/storage/index.d.ts +4 -6
- package/dist/storage/index.js +23 -20
- package/dist/storage-api-Cx-1iWBd.d.ts +582 -0
- package/dist/store-B5qYKsTh.d.ts +68 -0
- package/dist/streams/index.d.ts +5 -5
- package/dist/streams/index.js +6 -5
- package/dist/streams/redis/index.d.ts +1 -1
- package/dist/streams/redis/index.js +6 -12
- package/dist/stripe/index.d.ts +16 -0
- package/dist/stripe/index.js +14 -0
- package/dist/stripe-NVcNOhHy.d.ts +140 -0
- package/dist/stripe-XZrSmDTf.js +32 -0
- package/dist/subject-readers-DiePmaYP.js +46 -0
- package/dist/subject-readers-fxP5wu0s.d.ts +21 -0
- package/dist/subjects-z8VWA_lF.d.ts +69 -0
- package/dist/subscribers-Cq--DL1E.js +34 -0
- package/dist/supabase-mcp-C6tMoEjn.d.ts +43 -0
- package/dist/supabase-mcp-DomZ-amK.js +28 -0
- package/dist/support-BsKkvA92.js +522 -0
- package/dist/support-view-BbcZR7Io.d.ts +17 -0
- package/dist/svelte/index.d.ts +8 -17
- package/dist/svelte/index.js +3 -3
- package/dist/svelte-controller-CDAujo-_.js +50 -0
- package/dist/svelte-controller-DxxHEHxD.d.ts +10 -0
- package/dist/sveltekit/index.d.ts +11 -13
- package/dist/sveltekit/index.js +12 -14
- package/dist/table-schema-pQlER3jj.js +283 -0
- package/dist/tags-Dw8vKkcI.d.ts +30 -0
- package/dist/tags-PaG0Ns_9.js +84 -0
- package/dist/tanstack-db/index.d.ts +2 -2
- package/dist/tanstack-db/index.js +1 -1
- package/dist/tanstack-db/supabase/index.d.ts +51 -0
- package/dist/tanstack-db/supabase/index.js +268 -0
- package/dist/tanstack-start/index.d.ts +7 -7
- package/dist/tanstack-start/index.js +9 -13
- package/dist/tax-DDZUB_oc.d.ts +273 -0
- package/dist/tax-D_kSCdWU.js +140 -0
- package/dist/tee-Bsisfd7t.js +101 -0
- package/dist/template-DdgYjIZ5.js +123 -0
- package/dist/temporal-CB5Fpo5d.js +79 -0
- package/dist/temporal-required-DqRzr7i0.js +20 -0
- package/dist/tenant-B-fiItlJ.js +27 -0
- package/dist/tenant-DdmVhsff.d.ts +17 -0
- package/dist/tenant-naming-Bsj3Uvap.js +27 -0
- package/dist/testing/index.d.ts +459 -125
- package/dist/testing/index.js +2368 -720
- package/dist/timing-BMCWgpdZ.js +92 -0
- package/dist/topic-ByDz9edV.js +542 -0
- package/dist/topic-cMS7UtM1.d.ts +359 -0
- package/dist/ttl-cache-XzZ-Q2eX.js +29 -0
- package/dist/types-6oiy6rIa.d.ts +205 -0
- package/dist/types-BRTSpOIh.js +5 -0
- package/dist/types-CdP0z5tS.d.ts +564 -0
- package/dist/types-D0W4fnsc.d.ts +162 -0
- package/dist/types-R6syp1el.js +29 -0
- package/dist/types-YfwpIE-d.d.ts +357 -0
- package/dist/types-pNY_UpDs.d.ts +240 -0
- package/dist/types-vaoP9S9_.d.ts +635 -0
- package/dist/undo-CEGIRkPA.js +44 -0
- package/dist/undo-DGo0skyO.d.ts +43 -0
- package/dist/usage-CdlfuS3i.js +250 -0
- package/dist/usage-DM2rzczj.d.ts +202 -0
- package/dist/vault-tOkPLnMB.d.ts +50 -0
- package/dist/vercel-connect/index.d.ts +1 -1
- package/dist/vercel-connect/index.js +6 -12
- package/dist/verify-D63A2ALE.d.ts +142 -0
- package/dist/verify-EQcC3Khp.js +126 -0
- package/dist/version-D87ZteKy.js +4 -0
- package/dist/view-DZ63nqwt.js +105 -0
- package/dist/view-Dv0A949a.d.ts +90 -0
- package/dist/vue/index.d.ts +9 -18
- package/dist/vue/index.js +4 -17
- package/dist/vue-controller-C9tFzqAc.js +32 -0
- package/dist/vue-controller-HPfMTDa2.d.ts +11 -0
- package/dist/watch-DDuWYv0Y.d.ts +84 -0
- package/dist/watch-DT_B3CnJ.js +139 -0
- package/dist/watch-topic-EFpOIIDE.d.ts +28 -0
- package/dist/watch-topic-miuymrli.js +57 -0
- package/dist/wire-DEY0ajW9.js +45 -0
- package/dist/workflow-builder-OrglbXUh.js +681 -0
- package/dist/workflow-sdk/builder/index.d.ts +46 -15
- package/dist/workflow-sdk/builder/index.js +69 -21
- package/dist/workflow-sdk/index.d.ts +75 -2
- package/dist/workflow-sdk/index.js +83 -3
- package/dist/workflow-sdk/world/index.d.ts +51 -20
- package/dist/workflow-sdk/world/index.js +189 -128
- package/dist/workflow-sdk-BZ6qsRlY.js +243 -0
- package/dist/workflow-sdk-q8cLwW1K.d.ts +161 -0
- package/dist/workflow-sdk-world-DPMdBfzn.js +2103 -0
- package/dist/workflows-C-OvZpeg.js +282 -0
- package/dist/workflows-DFQeXDAI.d.ts +243 -0
- package/dist/yjs/index.d.ts +67 -0
- package/dist/yjs/index.js +212 -0
- package/package.json +837 -44
- package/schemas/cli-commands-v1.json +220 -0
- package/schemas/cli-result-v1.json +138 -0
- package/schemas/config-v1.json +4317 -653
- package/schemas/doctor-report-v1.json +27 -1
- package/schemas/snapshot-v2.json +271 -0
- package/schemas/spec-manifest-v1.json +95 -0
- package/skills/better-supabase/SKILL.md +19 -8
- package/skills/better-supabase/references/plugins.md +2 -2
- package/skills/better-supabase/references/troubleshooting.md +20 -20
- package/skills/better-supabase/references/ui-recipes.md +18652 -0
- package/skills/better-supabase-api/SKILL.md +14 -14
- package/skills/better-supabase-api/references/adapters.md +12 -2
- package/skills/better-supabase-api/references/ai.md +4 -4
- package/skills/better-supabase-api/references/expo.md +7 -4
- package/skills/better-supabase-api/references/powersync.md +2 -1
- package/skills/better-supabase-api/references/streams-credentials.md +8 -5
- package/skills/better-supabase-auth/SKILL.md +18 -11
- package/skills/better-supabase-auth/references/authorization-providers.md +5 -5
- package/skills/better-supabase-testing/SKILL.md +2 -2
- package/testing/act-cases.json +370 -0
- package/dist/access-sql-B0dF-SoF.js +0 -181
- package/dist/actor-CQTlc1Hh.d.ts +0 -43
- package/dist/adapter-iKgjHVPx.js +0 -1190
- package/dist/agents-CVHGd7It.d.ts +0 -94
- package/dist/ai-cache-CBWs1W0k.js +0 -80
- package/dist/ai-cache-DaDu_G5L.d.ts +0 -64
- package/dist/ai-chat-7amvXjmQ.d.ts +0 -590
- package/dist/ai-chat-B24UI962.js +0 -743
- package/dist/ai-files-CSPNswUY.js +0 -319
- package/dist/ai-tasks-Cd1HMFvB.d.ts +0 -131
- package/dist/announcements-CiyOs-xP.js +0 -107
- package/dist/announcements-ZRGnScWI.d.ts +0 -72
- package/dist/api-keys-CIjghYjV.d.ts +0 -156
- package/dist/assistant-DwdpDH1q.d.ts +0 -147
- package/dist/attributes-5dYul0u0.js +0 -13
- package/dist/authorization-BFCqamMs.d.ts +0 -172
- package/dist/base64-D2gsioCY.js +0 -42
- package/dist/before-route-CnR0C0Jr.js +0 -30
- package/dist/bind-Bu_ZNa3W.d.ts +0 -62
- package/dist/bind-l4kAvYSv.js +0 -97
- package/dist/block-events-CrT8r7Fe.js +0 -76
- package/dist/block-fields-GFkxl4dP.js +0 -49
- package/dist/block-fields-SJ6fEf3o.d.ts +0 -31
- package/dist/block-helpers-CKtbFcRv.d.ts +0 -37
- package/dist/block-helpers-DWHxHsEQ.js +0 -190
- package/dist/block-hooks-BmjMyXTa.js +0 -114
- package/dist/block-hooks-plbZ0AbJ.d.ts +0 -107
- package/dist/block-transport-BLr-ZgLc.js +0 -59
- package/dist/block-transport-DvaoPuZ9.d.ts +0 -48
- package/dist/bucket-Cl46E3jS.d.ts +0 -347
- package/dist/build-BXIzE6Xv.js +0 -689
- package/dist/channel-_2Mx1Oyu.d.ts +0 -70
- package/dist/channels-CkgQ_X60.js +0 -114
- package/dist/claims-DDBQT6BK.js +0 -61
- package/dist/cli/bin.d.ts +0 -1
- package/dist/cli/codemod-Bl_tQpHn.js +0 -491
- package/dist/cli/command-CK14fP91.js +0 -502
- package/dist/cli/config-B9HkL8nF.js +0 -2
- package/dist/cli/config-DU7EJImt.js +0 -49
- package/dist/cli/config-NiPxAmUF.js +0 -1077
- package/dist/cli/db-DOBPt660.js +0 -52
- package/dist/cli/diff-SjkO5rNr.js +0 -752
- package/dist/cli/dist-DBPdlPYK.js +0 -1112
- package/dist/cli/dist-DRAVaE6w.js +0 -842
- package/dist/cli/dist-DreZ24Sz.js +0 -129
- package/dist/cli/doctor-DJk0aeBi.js +0 -3591
- package/dist/cli/env-CJLbUVPB.js +0 -108
- package/dist/cli/env-qXgyMV6r.js +0 -511
- package/dist/cli/errors-4v4DTtda.js +0 -56
- package/dist/cli/fastest-levenshtein-CFN-lNDv.js +0 -120
- package/dist/cli/gen-CCMc39Dx.js +0 -3100
- package/dist/cli/gen-DRmzPI75.js +0 -2
- package/dist/cli/init-BHuEQrQK.js +0 -765
- package/dist/cli/introspect-DzR2nyQb.js +0 -81
- package/dist/cli/io-DI1mTdSA.js +0 -33
- package/dist/cli/jsonc-BUniUpOk.js +0 -2
- package/dist/cli/keys-BGCnnb-s.js +0 -85
- package/dist/cli/openapi-BlRJ18s3.js +0 -66
- package/dist/cli/project-DZRaBaY7.js +0 -75
- package/dist/cli/prompts-BNcNfAve.js +0 -1142
- package/dist/cli/prompts-BTYQGunc.js +0 -2
- package/dist/cli/read-sets-CETOSFx4.js +0 -223
- package/dist/cli/rolldown-runtime-BPOCksWG.js +0 -24
- package/dist/cli/run-BqDPh9UH.js +0 -361
- package/dist/cli/seed-DQzqT7LP.js +0 -100
- package/dist/cli/skills-QQs4q68J.js +0 -138
- package/dist/cli/sql-B8csQPyn.js +0 -495
- package/dist/cli/sql-layout-D6cphHT3.js +0 -69
- package/dist/cli/style-C0NFdJRL.js +0 -29
- package/dist/cli/supabase-toml-B-bIukQF.js +0 -1095
- package/dist/cli/typegen-version-DeFbtzYI.js +0 -8
- package/dist/cli/version-59gcepIG.js +0 -4
- package/dist/client-CI0Z2zWX.js +0 -277
- package/dist/clone-BfgmLU90.js +0 -21
- package/dist/cloud-event-BnmD5fb9.js +0 -46
- package/dist/cloud-event-C1JCc1bH.d.ts +0 -50
- package/dist/compiler-DY_wkj4R.d.ts +0 -14
- package/dist/compose-BIBNgAnq.js +0 -53
- package/dist/composite--yqry7uW.d.ts +0 -146
- package/dist/composite-DXVUibdi.js +0 -130
- package/dist/config-D44Y7PAv.d.ts +0 -984
- package/dist/config-Dn7F5k9A.js +0 -202
- package/dist/connector-Dv8kK0MO.d.ts +0 -107
- package/dist/connectors-CrpknU0P.d.ts +0 -120
- package/dist/context-BCrWe7ow.d.ts +0 -237
- package/dist/cron-DVPUg5k3.js +0 -145
- package/dist/csv-DCK-PT1n.js +0 -25
- package/dist/define-B-TVjC25.js +0 -1915
- package/dist/define-CJJkkr1-.d.ts +0 -980
- package/dist/embeddings-4ZvFzjsU.js +0 -127
- package/dist/embeddings-C9KGQnXt.d.ts +0 -68
- package/dist/ended-XjeGQ5XW.d.ts +0 -63
- package/dist/entitlements-BKSVGtrG.d.ts +0 -51
- package/dist/entitlements-DRl6ZJUm.js +0 -24
- package/dist/envelope-DqnYGRw7.js +0 -47
- package/dist/errors-B11Duf73.js +0 -266
- package/dist/errors-DLjJHPLK.js +0 -44
- package/dist/escape-like-ImTK0ps_.d.ts +0 -15
- package/dist/eve-gT2Fpjut.d.ts +0 -151
- package/dist/events-DWDhx77e.d.ts +0 -549
- package/dist/executor-BVBFM86G.d.ts +0 -36
- package/dist/executor-Bq28caBo.js +0 -718
- package/dist/executor-C-R4pucm.js +0 -83
- package/dist/executor-CaWigTyR.d.ts +0 -148
- package/dist/executor-DbvExCFC.d.ts +0 -30
- package/dist/executor-De1Of3m3.js +0 -523
- package/dist/executor-DvsBbNBS.d.ts +0 -261
- package/dist/field-errors-BFOa7WhB.d.ts +0 -99
- package/dist/field-errors-VF1yb8yI.js +0 -13
- package/dist/framework-BmzgK32X.d.ts +0 -25
- package/dist/framework-a7aRCIqv.js +0 -51
- package/dist/gateway-C1ssRHnf.d.ts +0 -130
- package/dist/graph-BGyLLFLX.js +0 -265
- package/dist/guards-BnzDvFrz.js +0 -10
- package/dist/history-BZih6SFP.js +0 -64
- package/dist/hooks-1BTCJsiw.js +0 -309
- package/dist/impersonation-DcqaTBHx.js +0 -148
- package/dist/inbox-i7E1ppo6.d.ts +0 -384
- package/dist/index-ACiNPN4Z.d.ts +0 -74
- package/dist/index-Bepi-Hgg.d.ts +0 -206
- package/dist/index-BkWT_uBO.d.ts +0 -51
- package/dist/index-Bxih3l0u.d.ts +0 -81
- package/dist/index-CLg87OBW.d.ts +0 -76
- package/dist/index-CaxrMD1A.d.ts +0 -1
- package/dist/index-CdZKQF98.d.ts +0 -138
- package/dist/index-CewnYSpv.d.ts +0 -267
- package/dist/index-ClmjK_o-.d.ts +0 -55
- package/dist/index-D48jVS-N.d.ts +0 -246
- package/dist/index-DQh4VCc9.d.ts +0 -98
- package/dist/index-DunNRdnT.d.ts +0 -300
- package/dist/json-schema-CvER4kgT.js +0 -502
- package/dist/keys-4MnkWTTh.js +0 -35
- package/dist/kit-CkNzZUqv.d.ts +0 -60
- package/dist/kit-Fm-Fv7q5.js +0 -78
- package/dist/knowledge-BXBbT0Tr.d.ts +0 -176
- package/dist/knowledge-CDmiMLew.js +0 -255
- package/dist/list-query-BRt-zDF7.d.ts +0 -164
- package/dist/list-query-gl808ac1.js +0 -459
- package/dist/live-CTAZQkwl.js +0 -257
- package/dist/message-CaKlqdsX.js +0 -219
- package/dist/message-CfDoR0Y6.d.ts +0 -94
- package/dist/messages-B9-5887d.js +0 -715
- package/dist/messages-DYP0sUTe.d.ts +0 -59
- package/dist/mfa-Daak8ukG.d.ts +0 -54
- package/dist/modules-DpPwzC7E.d.ts +0 -192
- package/dist/modules-dxrVK3ID.js +0 -228
- package/dist/onboarding-BZGHYJks.d.ts +0 -62
- package/dist/outbox-Cq7pPYvl.d.ts +0 -161
- package/dist/path-Cv__-OTj.d.ts +0 -17
- package/dist/plugin-FGY8UhYm.d.ts +0 -151
- package/dist/pool-CAu2nLrL.d.ts +0 -89
- package/dist/postgrest-BLVdEnfe.d.ts +0 -53
- package/dist/problem-BreOl8b8.js +0 -115
- package/dist/problem-DD8LZFjc.d.ts +0 -67
- package/dist/provider-D-UEMvSD.d.ts +0 -113
- package/dist/provider-Di3sRutW.js +0 -57
- package/dist/query-BQ-NaZon.js +0 -303
- package/dist/queue-CLJurhdy.d.ts +0 -427
- package/dist/react-F80mF4-t.js +0 -409
- package/dist/react-topic-seAWjL3_.js +0 -38
- package/dist/read-set-DuKWC9Mj.js +0 -314
- package/dist/refusal-CeJWxmkH.js +0 -61
- package/dist/refusal-DhSU2Vvr.d.ts +0 -15
- package/dist/replicas-CwrYp5Zj.js +0 -94
- package/dist/resolve-ChTYeTEl.d.ts +0 -169
- package/dist/resolve-tJZY3FEa.js +0 -697
- package/dist/resource-BsvzCMlX.js +0 -212
- package/dist/resource-IPS5xi9q.d.ts +0 -74
- package/dist/respond-BUgsXNgk.js +0 -91
- package/dist/respond-DprrgyXX.d.ts +0 -93
- package/dist/result-D7y2fT87.d.ts +0 -282
- package/dist/result-DzUbqgdW.js +0 -128
- package/dist/scope-CDHcS7dE.js +0 -90
- package/dist/search-CUWCRYKL.js +0 -9
- package/dist/server-Bh0EVSwU.d.ts +0 -558
- package/dist/session-ChiXDZdZ.d.ts +0 -72
- package/dist/shared-CBxosKK3.js +0 -75
- package/dist/shared-CxWmcyqB.js +0 -73
- package/dist/sign-in-Cb1mwv6X.js +0 -86
- package/dist/signers-4y62_VIi.d.ts +0 -166
- package/dist/spec-pins--j6mTok4.js +0 -27
- package/dist/spec-pins-C89s6DyW.d.ts +0 -27
- package/dist/standard-BK0cqJ7y.js +0 -25
- package/dist/standard-CYsm7xpT.d.ts +0 -7
- package/dist/stats-D_AD9GGu.js +0 -1123
- package/dist/store-CGjgWu5n.d.ts +0 -68
- package/dist/stripe-BMj5LtsT.js +0 -38
- package/dist/stripe-D04h-QBT.d.ts +0 -136
- package/dist/support-ig_K4PvS.js +0 -314
- package/dist/support-view-CVOJJLpc.d.ts +0 -17
- package/dist/tags-Cx-LnIQP.d.ts +0 -30
- package/dist/tee-CoEppCER.js +0 -101
- package/dist/template--jDkl3UP.js +0 -114
- package/dist/template-CwO38Do8.d.ts +0 -6
- package/dist/temporal-BJGitm-h.js +0 -79
- package/dist/temporal-required-BVvW7SYJ.js +0 -20
- package/dist/tenant-BxNFk9bx.d.ts +0 -17
- package/dist/tenant-I1TEZ_BX.js +0 -27
- package/dist/timing-CyTQPubY.js +0 -92
- package/dist/types-6BdhkmZe.d.ts +0 -340
- package/dist/types-6cYK9pbJ.js +0 -29
- package/dist/types-6rocye-y.d.ts +0 -156
- package/dist/types-AYOvcyep.d.ts +0 -359
- package/dist/types-C05bxW-W.d.ts +0 -220
- package/dist/types-DGs5L0VN.d.ts +0 -192
- package/dist/usage-CrvrL2vw.d.ts +0 -177
- package/dist/vault-wlbBhqm7.d.ts +0 -50
- package/dist/verify-DL41hbvY.js +0 -232
- package/dist/verify-DPuWngD4.d.ts +0 -172
- package/dist/version-C6OfRAIn.js +0 -4
- package/dist/view-BeFcRV6G.js +0 -99
- package/dist/view-CF7ihnkg.d.ts +0 -87
- package/dist/watch-DI34G86j.d.ts +0 -60
- package/dist/watch-Xuxrvxq-.js +0 -122
- package/dist/wire-DtZQ4sdE.js +0 -45
- package/dist/workflow-builder-DJ1oHn8g.js +0 -398
- package/dist/workflow-sdk-B3yLD6Br.d.ts +0 -98
- package/dist/workflow-sdk-C2WJ_G2O.js +0 -173
- package/dist/workflow-sdk-world-D-prir6O.js +0 -1397
- package/dist/workflows-B0j9WKPu.d.ts +0 -185
- package/dist/workflows-wu1WWBn7.js +0 -216
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
import { n as CliError } from "./errors-Caiz_0so.js";
|
|
2
|
+
import { t as importFresh } from "./fresh-import-BeYf9I3x.js";
|
|
3
|
+
import { d as readSupabaseToml, f as schemaPaths, n as declarativeSchemasDir, p as sqlWorkflow } from "./supabase-toml-DjLgBYEo.js";
|
|
4
|
+
import { n as applyPlan, r as changeLines } from "./files-DDvAwTko.js";
|
|
5
|
+
import { existsSync } from "node:fs";
|
|
6
|
+
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
7
|
+
import { readFile, readdir } from "node:fs/promises";
|
|
8
|
+
import { MODULE_ID_TYPES, adoptedColumnProblems, auditRegistrations, compileReadSets, declaredTables, extensionSchema, moduleIdType, moduleLayout, modulePermissionKeys, moduleSchemaExtensions, policyGrants, renderModules, resolveExposeColumns, resolveModules, rlsTables, sameTenantLayout, scopeProblems, templateFunctions } from "better-supabase/sql";
|
|
9
|
+
import { isReadSet } from "better-supabase";
|
|
10
|
+
//#region src/cli/authorization.ts
|
|
11
|
+
/** How findings name the provider. */
|
|
12
|
+
const providerLabel = (provider) => `the authorization provider (${provider.name})`;
|
|
13
|
+
/**
|
|
14
|
+
* The provider's tenant scope and its id type. A scope missing from
|
|
15
|
+
* `scopes`, or without an id type this release renders, is invalid rather
|
|
16
|
+
* than a guess.
|
|
17
|
+
*/
|
|
18
|
+
function tenantScope(provider, subject) {
|
|
19
|
+
const scope = provider.tenantScope;
|
|
20
|
+
const entry = provider.scopes.find((candidate) => candidate.name === scope);
|
|
21
|
+
const label = providerLabel(provider);
|
|
22
|
+
const problems = scopeProblems(provider);
|
|
23
|
+
if (problems.length > 0) return {
|
|
24
|
+
kind: "invalid",
|
|
25
|
+
problem: `The scopes of ${label} are inconsistent: ${problems.join("; ")}.`
|
|
26
|
+
};
|
|
27
|
+
if (!entry) return {
|
|
28
|
+
kind: "invalid",
|
|
29
|
+
problem: `authorization.tenantScope is "${scope}", but ${label} has the scopes ${provider.scopes.map((candidate) => candidate.name).join(", ") || "none"}.`
|
|
30
|
+
};
|
|
31
|
+
if (entry.idType === void 0) return {
|
|
32
|
+
kind: "invalid",
|
|
33
|
+
problem: `${label} gives scope "${scope}" no idType, so ${subject} can't tell its id type.`
|
|
34
|
+
};
|
|
35
|
+
const idType = moduleIdType(entry.idType);
|
|
36
|
+
if (idType === void 0) return {
|
|
37
|
+
kind: "invalid",
|
|
38
|
+
problem: `${label} gives scope "${scope}" the type ${entry.idType}, but ${subject} renders only ${MODULE_ID_TYPES.join(", ").replace(/, (?=[^,]*$)/, " or ")} ids.`
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
kind: "ok",
|
|
42
|
+
scope,
|
|
43
|
+
idType
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** The provider's membership tables that can hold rows of `scope`. */
|
|
47
|
+
const scopeMemberships = (provider, scope) => (provider.memberships ?? []).filter((source) => !("value" in source.scope) || source.scope.value === scope);
|
|
48
|
+
/**
|
|
49
|
+
* Provider mode when `entitlements.memberships` resolves to `"provider"`
|
|
50
|
+
* (the default with `authorization`). The provider needs `memberIds` and
|
|
51
|
+
* `memberIdsFor`, so the module never falls back to `tenant` on its own.
|
|
52
|
+
*/
|
|
53
|
+
function entitlementsMode(config) {
|
|
54
|
+
if (config.entitlements.memberships === "tenant") return { kind: "tenant" };
|
|
55
|
+
const provider = config.authorization;
|
|
56
|
+
if (!provider) return {
|
|
57
|
+
kind: "invalid",
|
|
58
|
+
problem: "entitlements.memberships is \"provider\", but the config has no authorization. Set authorization, or set entitlements.memberships to \"tenant\"."
|
|
59
|
+
};
|
|
60
|
+
const chosen = tenantScope(provider, "the entitlements module");
|
|
61
|
+
if (chosen.kind === "invalid") return chosen;
|
|
62
|
+
const { memberIds, memberIdsFor } = provider.functions;
|
|
63
|
+
if (memberIds === void 0 || memberIdsFor === void 0) return {
|
|
64
|
+
kind: "invalid",
|
|
65
|
+
problem: `${providerLabel(provider)} has no authorization.functions.${memberIds === void 0 ? "memberIds" : "memberIdsFor"}, which the entitlements module calls. Use a provider that sets both, or set entitlements.memberships to "tenant" to keep the tenant module's memberships.`
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
kind: "provider",
|
|
69
|
+
provider: {
|
|
70
|
+
name: provider.name,
|
|
71
|
+
scope: chosen.scope,
|
|
72
|
+
idType: chosen.idType,
|
|
73
|
+
memberIds,
|
|
74
|
+
memberIdsFor,
|
|
75
|
+
memberships: scopeMemberships(provider, chosen.scope)
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The `provider` access model's functions, from `authorization`. `off` when
|
|
81
|
+
* another model is chosen; without a provider the model is invalid, never a
|
|
82
|
+
* default.
|
|
83
|
+
*/
|
|
84
|
+
function accessProviderMode(config) {
|
|
85
|
+
const access = config.blocks.access;
|
|
86
|
+
if (access?.model !== "provider") return { kind: "off" };
|
|
87
|
+
const provider = config.authorization;
|
|
88
|
+
if (!provider) return {
|
|
89
|
+
kind: "invalid",
|
|
90
|
+
problem: "blocks.access.model is \"provider\", but the config has no authorization. Set authorization, or choose another blocks.access.model."
|
|
91
|
+
};
|
|
92
|
+
const chosen = tenantScope(provider, "the provider access model");
|
|
93
|
+
if (chosen.kind === "invalid") return chosen;
|
|
94
|
+
const idType = access.idType === void 0 ? void 0 : moduleIdType(access.idType);
|
|
95
|
+
if (idType !== void 0 && idType !== chosen.idType) return {
|
|
96
|
+
kind: "invalid",
|
|
97
|
+
problem: `blocks.access.idType is "${access.idType}", but ${providerLabel(provider)} gives scope "${chosen.scope}" the type ${chosen.idType}. Set blocks.access.idType to "${chosen.idType}", or remove it.`
|
|
98
|
+
};
|
|
99
|
+
const { user, tenant } = provider.suspension ?? {};
|
|
100
|
+
return {
|
|
101
|
+
kind: "provider",
|
|
102
|
+
access: {
|
|
103
|
+
name: provider.name,
|
|
104
|
+
scope: chosen.scope,
|
|
105
|
+
scopes: provider.scopes.map((scope) => scope.name),
|
|
106
|
+
idType: chosen.idType,
|
|
107
|
+
functions: provider.functions,
|
|
108
|
+
...user || tenant ? { suspension: {
|
|
109
|
+
...user ? { user } : {},
|
|
110
|
+
...tenant ? { tenant } : {}
|
|
111
|
+
} } : {},
|
|
112
|
+
...provider.roleSources && provider.roleSources.length > 0 ? { roleSources: provider.roleSources } : {},
|
|
113
|
+
...provider.approvals?.distinctApprover === true ? { approvals: { distinctApprover: true } } : {},
|
|
114
|
+
...provider.operations && Object.keys(provider.operations).length > 0 ? { operations: provider.operations } : {}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* `complete` when the provider marks the key `sqlComplete: true`. A key
|
|
120
|
+
* without the flag is unknown, and so is every key when the provider lists
|
|
121
|
+
* no permissions.
|
|
122
|
+
*/
|
|
123
|
+
function keyStatus(provider, key) {
|
|
124
|
+
if (!provider.permissions) return "unknown";
|
|
125
|
+
const entry = provider.permissions.find((permission) => permission.key === key);
|
|
126
|
+
if (!entry) return "missing";
|
|
127
|
+
if (entry.sqlComplete === void 0) return "unknown";
|
|
128
|
+
return entry.sqlComplete ? "complete" : "incomplete";
|
|
129
|
+
}
|
|
130
|
+
const INCOMPLETE_FIX = "Use the provider's own policies for it, or a permission its SQL functions answer for completely.";
|
|
131
|
+
const UNKNOWN_FIX = "Have the provider set sqlComplete on every entry of authorization.permissions.";
|
|
132
|
+
/**
|
|
133
|
+
* Why the provider's SQL functions can't be trusted with `key`, or
|
|
134
|
+
* `undefined` when it is marked `sqlComplete: true`. Unknown and missing
|
|
135
|
+
* keys count as unsafe.
|
|
136
|
+
*/
|
|
137
|
+
function unsafeKey(provider, key) {
|
|
138
|
+
const status = keyStatus(provider, key);
|
|
139
|
+
switch (status) {
|
|
140
|
+
case "complete": return;
|
|
141
|
+
case "incomplete": return {
|
|
142
|
+
status,
|
|
143
|
+
reason: `has conditions ${providerLabel(provider)}'s SQL functions don't check (sqlComplete: false)`,
|
|
144
|
+
fix: INCOMPLETE_FIX
|
|
145
|
+
};
|
|
146
|
+
case "unknown": return {
|
|
147
|
+
status,
|
|
148
|
+
reason: provider.permissions ? "has no sqlComplete flag in authorization.permissions, so whether the SQL functions answer for it completely is unknown" : "can't be checked: authorization.permissions is not set, so whether the SQL functions answer for it completely is unknown",
|
|
149
|
+
fix: UNKNOWN_FIX
|
|
150
|
+
};
|
|
151
|
+
case "missing": return {
|
|
152
|
+
status,
|
|
153
|
+
reason: "is not in authorization.permissions",
|
|
154
|
+
fix: UNKNOWN_FIX
|
|
155
|
+
};
|
|
156
|
+
default: return status;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Checks the keys the SQL modules pass to the provider's functions against
|
|
161
|
+
* `authorization.permissions`, with the statuses bucket policies use: only
|
|
162
|
+
* `sqlComplete: true` passes.
|
|
163
|
+
*/
|
|
164
|
+
function moduleKeyProblems(provider, keys) {
|
|
165
|
+
if (keys.length === 0) return [];
|
|
166
|
+
if (!provider.permissions) return [{
|
|
167
|
+
target: "authorization.permissions",
|
|
168
|
+
message: `The provider access model passes ${keys.length} module permission keys to ${providerLabel(provider)}'s SQL functions, but authorization.permissions is not set, so whether they answer for them completely is unknown. Use a provider that lists its permissions.`
|
|
169
|
+
}];
|
|
170
|
+
return keys.flatMap((entry) => {
|
|
171
|
+
const problem = unsafeKey(provider, entry.key);
|
|
172
|
+
if (!problem) return [];
|
|
173
|
+
const fn = entry.scope === "platform" ? "authorization.functions.isPlatform" : "authorization.functions.idsWith";
|
|
174
|
+
const setting = `blocks.${entry.module}.permissions.${entry.action}`;
|
|
175
|
+
const fix = problem.status === "incomplete" ? `The provider's SQL functions check role and scope, not the key's other conditions, so the module would grant it everywhere in the scope. Set ${setting} to a permission marked sqlComplete: true.` : `${problem.fix} If the provider doesn't define it, set ${setting} to a key it lists.`;
|
|
176
|
+
return [{
|
|
177
|
+
target: setting,
|
|
178
|
+
message: `The ${entry.module} module checks "${entry.key}" (${entry.action}) with ${fn}, but it ${problem.reason}. ${fix}`
|
|
179
|
+
}];
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
const requirementsOf = (functions, scope, templates) => templates.flatMap(([template, role]) => {
|
|
183
|
+
const sql = functions[template];
|
|
184
|
+
return sql === void 0 ? [] : templateFunctions(sql, scope).map((fn) => ({
|
|
185
|
+
function: fn,
|
|
186
|
+
template,
|
|
187
|
+
role
|
|
188
|
+
}));
|
|
189
|
+
});
|
|
190
|
+
/** The functions the `provider` access model calls, as `authenticated`. */
|
|
191
|
+
const accessRequirements = (access) => requirementsOf(access.functions, access.scope, [["idsWith", "authenticated"], ["isPlatform", "authenticated"]]);
|
|
192
|
+
/**
|
|
193
|
+
* The functions the `entitlements` module calls for the tenant scope:
|
|
194
|
+
* `memberIds` from `has_entitlement` as `authenticated`, and `memberIdsFor`
|
|
195
|
+
* from `feature_claims`, which the access token hook runs as
|
|
196
|
+
* `supabase_auth_admin`.
|
|
197
|
+
*/
|
|
198
|
+
const entitlementRequirements = (provider) => [...templateFunctions(provider.memberIds, provider.scope).map((fn) => ({
|
|
199
|
+
kind: "member",
|
|
200
|
+
function: fn,
|
|
201
|
+
template: "memberIds",
|
|
202
|
+
caller: "has_entitlement",
|
|
203
|
+
role: "authenticated"
|
|
204
|
+
})), ...templateFunctions(provider.memberIdsFor, provider.scope).map((fn) => ({
|
|
205
|
+
kind: "member-for",
|
|
206
|
+
function: fn,
|
|
207
|
+
template: "memberIdsFor",
|
|
208
|
+
caller: "feature_claims",
|
|
209
|
+
role: "supabase_auth_admin"
|
|
210
|
+
}))];
|
|
211
|
+
//#endregion
|
|
212
|
+
//#region src/cli/read-sets.ts
|
|
213
|
+
/** Every read set exported by the modules in `config.readSets`. */
|
|
214
|
+
async function loadReadSets(config) {
|
|
215
|
+
const sets = [];
|
|
216
|
+
for (const entry of config.readSets) {
|
|
217
|
+
const loaded = await importFresh(resolve(config.root, entry));
|
|
218
|
+
const found = Object.values(loaded).filter(isReadSet);
|
|
219
|
+
if (found.length === 0) throw new CliError("invalid_input", `${entry} exports no read set (defineReadSet)`);
|
|
220
|
+
for (const set of found) if (!sets.includes(set)) sets.push(set);
|
|
221
|
+
}
|
|
222
|
+
return sets;
|
|
223
|
+
}
|
|
224
|
+
/** The compiled functions for `config.readSets`; empty when none are configured. */
|
|
225
|
+
async function compiledReadSets(config) {
|
|
226
|
+
if (config.readSets.length === 0) return [];
|
|
227
|
+
return compileReadSets(await loadReadSets(config));
|
|
228
|
+
}
|
|
229
|
+
//#endregion
|
|
230
|
+
//#region src/cli/sql-layout.ts
|
|
231
|
+
/** The folder the module data files sit next to, for the project's workflow. */
|
|
232
|
+
async function schemasDirOf(config) {
|
|
233
|
+
const toml = await readSupabaseToml(config.root);
|
|
234
|
+
return declarativeSchemasDir(toml, sqlWorkflow(config, toml));
|
|
235
|
+
}
|
|
236
|
+
/** The declarative schema files, then the migrations oldest first. */
|
|
237
|
+
async function schemaTexts(config) {
|
|
238
|
+
const toml = await readSupabaseToml(config.root);
|
|
239
|
+
const migrations = resolve(config.root, migrationsDir(config));
|
|
240
|
+
const paths = [...(await schemaPaths(config.root, toml, sqlWorkflow(config, toml))).files, ...existsSync(migrations) ? (await readdir(migrations)).filter((name) => name.endsWith(".sql")).toSorted().map((name) => join(migrations, name)) : []];
|
|
241
|
+
return Promise.all(paths.map(async (path) => ({ text: await readFile(resolve(config.root, path), "utf-8") })));
|
|
242
|
+
}
|
|
243
|
+
async function declarativeTexts(config) {
|
|
244
|
+
const toml = await readSupabaseToml(config.root);
|
|
245
|
+
const { files } = await schemaPaths(config.root, toml, sqlWorkflow(config, toml));
|
|
246
|
+
if (files.length === 0) return schemaTexts(config);
|
|
247
|
+
return Promise.all(files.map(async (path) => ({ text: await readFile(resolve(config.root, path), "utf-8") })));
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* The `better_supabase.audit(...)` calls in the declarative schemas, then
|
|
251
|
+
* the migrations oldest first, so a later call or `unaudit` wins.
|
|
252
|
+
*/
|
|
253
|
+
async function auditedTables(config) {
|
|
254
|
+
return auditRegistrations(await schemaTexts(config));
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* The layout `sql sync` and doctor render the module files with, so both
|
|
258
|
+
* see the same grants, session policies, audit triggers and vector schema.
|
|
259
|
+
*/
|
|
260
|
+
async function moduleLayoutFor(config, input) {
|
|
261
|
+
const resolved = new Set(resolveModules(input.names, { ...input.entitlementsProvider ? { entitlementsProvider: input.entitlementsProvider } : {} }).map((module) => module.name));
|
|
262
|
+
const adopted = adoptedColumnProblems(config.blocks, await declarativeTexts(config), config.schemas);
|
|
263
|
+
if (adopted.length > 0) throw new TypeError(adopted.join("\n"));
|
|
264
|
+
const fromPolicies = resolved.has("grants") && config.blocks["grants"]?.options?.["fromPolicies"] === true;
|
|
265
|
+
const sessionPolicies = resolved.has("sessions") && config.blocks["sessions"]?.options?.["policies"] === true;
|
|
266
|
+
const sameTenant = config.blocks["tenant"]?.options?.["sameTenant"];
|
|
267
|
+
const autoSameTenant = resolved.has("tenant") && typeof sameTenant === "object" && sameTenant !== null && "auto" in sameTenant && sameTenant.auto === true;
|
|
268
|
+
const base = moduleLayout(config, input.testsDir, input.readSets ?? [], input.entitlementsProvider, input.accessProvider, input.permissionCatalog);
|
|
269
|
+
const grants = base.grants === void 0 ? void 0 : resolveExposeColumns(base.grants, await declarativeTexts(config), config.schemas);
|
|
270
|
+
return {
|
|
271
|
+
...base,
|
|
272
|
+
...grants === void 0 ? {} : { grants },
|
|
273
|
+
schemasDir: await schemasDirOf(config),
|
|
274
|
+
...resolved.has("audit") ? { auditedTables: await auditedTables(config) } : {},
|
|
275
|
+
...resolved.has("vector-search") ? vectorSchemaOf(await schemaTexts(config)) : {},
|
|
276
|
+
...fromPolicies ? { policyGrants: policyGrants(await declarativeTexts(config), config.schemas) } : {},
|
|
277
|
+
...fromPolicies ? { rlsTables: rlsTables(await declarativeTexts(config), config.schemas) } : {},
|
|
278
|
+
...autoSameTenant ? sameTenantLayout(await declarativeTexts(config), config.schemas) : {},
|
|
279
|
+
...fromPolicies || sessionPolicies ? { declaredTables: declaredTables(await declarativeTexts(config), config.schemas) } : {}
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
function vectorSchemaOf(sources) {
|
|
283
|
+
const schema = extensionSchema(sources, "vector");
|
|
284
|
+
return schema === void 0 ? {} : { vectorSchema: schema };
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* The folder that holds both the project root and `sql.dir`: the root, or
|
|
288
|
+
* an ancestor when `sql.dir` points at a shared stack. The `sql` commands
|
|
289
|
+
* write SQL files only inside it.
|
|
290
|
+
*/
|
|
291
|
+
function sqlRoot(config) {
|
|
292
|
+
const dir = resolve(config.root, config.sql.dir);
|
|
293
|
+
let stop = resolve(config.root);
|
|
294
|
+
while (dir !== stop && !dir.startsWith(stop + sep) && dirname(stop) !== stop) stop = dirname(stop);
|
|
295
|
+
return stop;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* A plan for files under the project root or `sql.dir`, with paths relative
|
|
299
|
+
* to the project root.
|
|
300
|
+
*/
|
|
301
|
+
function sqlPlan(config, plan) {
|
|
302
|
+
return {
|
|
303
|
+
...plan,
|
|
304
|
+
root: sqlRoot(config),
|
|
305
|
+
base: config.root,
|
|
306
|
+
files: plan.files.map((file) => ({
|
|
307
|
+
...file,
|
|
308
|
+
path: resolve(config.root, file.path)
|
|
309
|
+
})),
|
|
310
|
+
...plan.remove ? { remove: plan.remove.map((path) => resolve(config.root, path)) } : {}
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* The migrations folder next to the `config.toml` found walking up from
|
|
315
|
+
* `sql.dir`, relative to the root; `supabase/migrations` without one. The
|
|
316
|
+
* walk stops where `sql.dir` and the root meet, so a `sql.dir` outside the
|
|
317
|
+
* project (a shared stack in a monorepo) finds that stack's folder.
|
|
318
|
+
*/
|
|
319
|
+
function migrationsDir(config) {
|
|
320
|
+
const root = resolve(config.root);
|
|
321
|
+
let dir = resolve(root, config.sql.dir);
|
|
322
|
+
const stop = sqlRoot(config);
|
|
323
|
+
for (;;) {
|
|
324
|
+
if (existsSync(join(dir, "config.toml"))) return relative(root, join(dir, "migrations")).replaceAll("\\", "/");
|
|
325
|
+
if (dir === stop || dirname(dir) === dir) break;
|
|
326
|
+
dir = dirname(dir);
|
|
327
|
+
}
|
|
328
|
+
return "supabase/migrations";
|
|
329
|
+
}
|
|
330
|
+
//#endregion
|
|
331
|
+
//#region src/cli/sql/providers.ts
|
|
332
|
+
/** Modules that fill the `memberships` claim, which a provider's hook may own. */
|
|
333
|
+
const MEMBERSHIP_CLAIM_MODULES = /* @__PURE__ */ new Set(["tenant"]);
|
|
334
|
+
/** Whether the provider's access token hook writes the `memberships` claim itself. */
|
|
335
|
+
const providerOwnsMemberships = (config) => config.authorization?.tokenHook?.ownedClaims.includes("memberships") ?? false;
|
|
336
|
+
/**
|
|
337
|
+
* The provider's memberships for the `entitlements` module. When `names`
|
|
338
|
+
* resolve to that module, an invalid mode (no provider, a scope it lacks,
|
|
339
|
+
* an unknown id type) throws instead of falling back to the tenant module.
|
|
340
|
+
* Without `names` (`sql list`) it only describes the modules, so it doesn't.
|
|
341
|
+
*/
|
|
342
|
+
function entitlementsProviderFor(config, names) {
|
|
343
|
+
const mode = entitlementsMode(config);
|
|
344
|
+
switch (mode.kind) {
|
|
345
|
+
case "tenant": return;
|
|
346
|
+
case "provider": return mode.provider;
|
|
347
|
+
case "invalid":
|
|
348
|
+
if (names === void 0 || !resolveModules(names, {}).some((module) => module.name === "entitlements")) return;
|
|
349
|
+
throw new TypeError(mode.problem);
|
|
350
|
+
default: return mode;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* The provider for the `access` module's `provider` model. When `names`
|
|
355
|
+
* resolve to `access`, an invalid mode throws, and so does a module
|
|
356
|
+
* permission key the provider doesn't mark `sqlComplete: true`. `sql list`
|
|
357
|
+
* (no `names`) doesn't render, so it doesn't throw.
|
|
358
|
+
*/
|
|
359
|
+
function accessProviderFor(config, names) {
|
|
360
|
+
const mode = accessProviderMode(config);
|
|
361
|
+
const renders = names !== void 0 && resolveModules(names, {}).some((module) => module.name === "access");
|
|
362
|
+
switch (mode.kind) {
|
|
363
|
+
case "off": return;
|
|
364
|
+
case "provider": {
|
|
365
|
+
if (!renders || !config.authorization) return mode.access;
|
|
366
|
+
const problems = moduleKeyProblems(config.authorization, modulePermissionKeys(config.blocks, names));
|
|
367
|
+
if (problems.length > 0) throw new TypeError(problems.map((problem) => problem.message).join("\n"));
|
|
368
|
+
return mode.access;
|
|
369
|
+
}
|
|
370
|
+
case "invalid":
|
|
371
|
+
if (!renders) return;
|
|
372
|
+
throw new TypeError(mode.problem);
|
|
373
|
+
default: return mode;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
/** The provider's permission keys, for `api-keys` scopes. */
|
|
377
|
+
const permissionKeysFor = (config) => config.authorization?.permissions?.map((permission) => permission.key);
|
|
378
|
+
async function layout(config, args, names) {
|
|
379
|
+
return {
|
|
380
|
+
...moduleLayout(config, args["tests-dir"], [], entitlementsProviderFor(config, names), accessProviderFor(config, names), permissionKeysFor(config)),
|
|
381
|
+
schemasDir: await schemasDirOf(config)
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* The layout, with `config.readSets` compiled when `names` includes
|
|
386
|
+
* `read-sets`.
|
|
387
|
+
*/
|
|
388
|
+
async function layoutFor(config, args, names) {
|
|
389
|
+
const entitlementsProvider = entitlementsProviderFor(config, names);
|
|
390
|
+
const resolved = new Set(resolveModules(names, { ...entitlementsProvider ? { entitlementsProvider } : {} }).map((module) => module.name));
|
|
391
|
+
const accessProvider = accessProviderFor(config, names);
|
|
392
|
+
return moduleLayoutFor(config, {
|
|
393
|
+
names,
|
|
394
|
+
testsDir: args["tests-dir"],
|
|
395
|
+
readSets: resolved.has("read-sets") ? await compiledReadSets(config) : [],
|
|
396
|
+
...entitlementsProvider ? { entitlementsProvider } : {},
|
|
397
|
+
...accessProvider ? { accessProvider } : {},
|
|
398
|
+
permissionCatalog: permissionKeysFor(config)
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
//#endregion
|
|
402
|
+
//#region src/cli/sql/migrations.ts
|
|
403
|
+
/** `YYYYMMDDHHMMSS` in UTC, the Supabase CLI's migration prefix. */
|
|
404
|
+
const migrationStamp = (now) => now.toISOString().replaceAll(/[-:T]/g, "").slice(0, 14);
|
|
405
|
+
/**
|
|
406
|
+
* A stamp for `now`, or one second after the newest migration when that one
|
|
407
|
+
* has the same stamp or a later one: the Supabase CLI keys migrations by
|
|
408
|
+
* stamp, and the data has to run after the schema.
|
|
409
|
+
*/
|
|
410
|
+
function stampAfter(migrations, now) {
|
|
411
|
+
const newest = migrations.map((name) => /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(?!\d)/.exec(name)).filter((match) => match !== null).map((match) => Date.UTC(Number(match[1]), Number(match[2]) - 1, Number(match[3]), Number(match[4]), Number(match[5]), Number(match[6]))).reduce((max, time) => Math.max(max, time), Number.NEGATIVE_INFINITY);
|
|
412
|
+
const at = Math.floor(now.getTime() / 1e3) * 1e3;
|
|
413
|
+
return migrationStamp(new Date(Math.max(at, newest + 1e3)));
|
|
414
|
+
}
|
|
415
|
+
const EXTENSIONS_SUFFIX = "_better_supabase_extensions.sql";
|
|
416
|
+
const MIGRATION_EXTENSION = /^\s*create\s+extension\s+(?:if\s+not\s+exists\s+)?"?([a-z_][a-z0-9_]*)"?/gim;
|
|
417
|
+
async function unmigratedExtensions(config, files) {
|
|
418
|
+
const dir = migrationsDir(config);
|
|
419
|
+
const existing = await readdir(resolve(config.root, dir)).catch(() => []);
|
|
420
|
+
const created = /* @__PURE__ */ new Set();
|
|
421
|
+
for (const name of existing) {
|
|
422
|
+
if (!name.endsWith(".sql") || name.endsWith(DATA_SUFFIX)) continue;
|
|
423
|
+
const text = await readFile(resolve(config.root, dir, name), "utf-8");
|
|
424
|
+
for (const match of text.matchAll(MIGRATION_EXTENSION)) created.add(match[1].toLowerCase());
|
|
425
|
+
}
|
|
426
|
+
return {
|
|
427
|
+
dir,
|
|
428
|
+
existing,
|
|
429
|
+
missing: moduleSchemaExtensions(files).filter((extension) => !created.has(extension.name))
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
async function writeExtensionsMigration(config, files, dryRun, now) {
|
|
433
|
+
const { dir, existing, missing } = await unmigratedExtensions(config, files);
|
|
434
|
+
if (missing.length === 0) return [];
|
|
435
|
+
const path = `${dir}/${stampAfter(existing, /* @__PURE__ */ new Date(now().getTime() - 1e3))}${EXTENSIONS_SUFFIX}`;
|
|
436
|
+
const applied = await applyPlan(sqlPlan(config, {
|
|
437
|
+
regenerate: "better-supabase sql sync",
|
|
438
|
+
files: [{
|
|
439
|
+
path,
|
|
440
|
+
contents: `-- better-supabase sql: the extensions of ${missing.map((extension) => extension.name).join(", ")}, created before the schema migration that needs them.\n\n${missing.map((extension) => extension.statement).join("\n")}\n`
|
|
441
|
+
}]
|
|
442
|
+
}), { "dry-run": dryRun });
|
|
443
|
+
return [...changeLines(applied), ...dryRun ? [] : ["It creates the extensions the module schemas need, so create the schema migration after it."]];
|
|
444
|
+
}
|
|
445
|
+
const DATA_NEXT = "The better-supabase-data files hold rows and settings a schema diff skips: after the schema migration, run `better-supabase sql data`.";
|
|
446
|
+
const DATA_SUFFIX = "_better_supabase_module_data.sql";
|
|
447
|
+
/**
|
|
448
|
+
* Writes the data files of `blocks` into one migration, meant to run after
|
|
449
|
+
* the schema migration that creates their tables. Every statement is
|
|
450
|
+
* idempotent, so the migration carries all of them, not only the changes.
|
|
451
|
+
*/
|
|
452
|
+
async function dataMigration(config, args, now) {
|
|
453
|
+
if (config.blockNames.length === 0) return {
|
|
454
|
+
code: 0,
|
|
455
|
+
output: "blocks is empty; nothing to write.",
|
|
456
|
+
data: { wrote: false }
|
|
457
|
+
};
|
|
458
|
+
if (sqlWorkflow(config, await readSupabaseToml(config.root)) === "migrations") return {
|
|
459
|
+
code: 0,
|
|
460
|
+
output: "sql.workflow is 'migrations', so `better-supabase sql sync` already writes the rows into the module migration; nothing to write.",
|
|
461
|
+
data: { wrote: false }
|
|
462
|
+
};
|
|
463
|
+
const rendered = renderModules(config.blockNames, await layoutFor(config, args, config.blockNames));
|
|
464
|
+
const { missing } = await unmigratedExtensions(config, rendered);
|
|
465
|
+
if (missing.length > 0) return {
|
|
466
|
+
code: 1,
|
|
467
|
+
error: [`No migration before the data migration creates ${missing.map((extension) => extension.name).join(", ")}, and the schema migration needs ${missing.length === 1 ? "it" : "them"} while it applies.`, "Run `better-supabase sql sync` to write the extensions migration, then create the schema migration again after it."].join("\n")
|
|
468
|
+
};
|
|
469
|
+
const files = rendered.filter((file) => file.kind === "data");
|
|
470
|
+
const contents = `-- better-supabase sql data: the rows and settings of ${files.map((file) => file.module).join(", ")}, which a schema diff skips.\n\n${files.map((file) => file.contents.trim()).join("\n\n")}\n`;
|
|
471
|
+
const dir = migrationsDir(config);
|
|
472
|
+
const existing = await readdir(resolve(config.root, dir)).catch(() => []);
|
|
473
|
+
const latest = existing.toSorted().findLast((name) => name.endsWith(DATA_SUFFIX));
|
|
474
|
+
if (latest !== void 0 && await readFile(resolve(config.root, dir, latest), "utf-8") === contents) return {
|
|
475
|
+
code: 0,
|
|
476
|
+
output: `${dir}/${latest} already has these rows; nothing to write.`,
|
|
477
|
+
data: {
|
|
478
|
+
file: `${dir}/${latest}`,
|
|
479
|
+
wrote: false
|
|
480
|
+
}
|
|
481
|
+
};
|
|
482
|
+
const path = `${dir}/${stampAfter(existing, now())}${DATA_SUFFIX}`;
|
|
483
|
+
const applied = await applyPlan(sqlPlan(config, {
|
|
484
|
+
regenerate: "better-supabase sql data",
|
|
485
|
+
files: [{
|
|
486
|
+
path,
|
|
487
|
+
contents
|
|
488
|
+
}]
|
|
489
|
+
}), { "dry-run": args["dry-run"] });
|
|
490
|
+
return {
|
|
491
|
+
code: 0,
|
|
492
|
+
output: changeLines(applied).join("\n"),
|
|
493
|
+
data: {
|
|
494
|
+
file: path,
|
|
495
|
+
wrote: applied.mode === "write",
|
|
496
|
+
files: applied.changes
|
|
497
|
+
}
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
//#endregion
|
|
501
|
+
//#region src/cli/sql/module-migration.ts
|
|
502
|
+
/** The migration the migrations workflow writes the SQL modules into. */
|
|
503
|
+
const MODULES_SUFFIX = "_better_supabase_modules.sql";
|
|
504
|
+
/** The migration `gen` writes the read-sets module into under the migrations workflow. */
|
|
505
|
+
const READ_SETS_SUFFIX = "_better_supabase_read_sets.sql";
|
|
506
|
+
const UPGRADE_START = "-- @bs-upgrade-start";
|
|
507
|
+
const UPGRADE_END = "-- @bs-upgrade-end";
|
|
508
|
+
/** Whether the project runs the migrations workflow, with no declarative schemas. */
|
|
509
|
+
async function writesMigrations(config) {
|
|
510
|
+
return sqlWorkflow(config, await readSupabaseToml(config.root)) === "migrations";
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* One migration that holds, in order, the extensions, the upgrade steps,
|
|
514
|
+
* each module's schema body with its `@bs-module` header, the realtime topic
|
|
515
|
+
* policies and the data statements. Every statement is re-runnable, so a
|
|
516
|
+
* later migration carries all of them, not only the changes.
|
|
517
|
+
*/
|
|
518
|
+
function renderModuleMigration(parts) {
|
|
519
|
+
const schema = parts.files.filter((file) => file.kind === "schema");
|
|
520
|
+
const data = parts.files.filter((file) => file.kind === "data");
|
|
521
|
+
const modules = [...new Set(schema.map((file) => file.module))];
|
|
522
|
+
const extensions = moduleSchemaExtensions(parts.files);
|
|
523
|
+
const upgrade = parts.upgrade ?? [];
|
|
524
|
+
return `${[
|
|
525
|
+
[
|
|
526
|
+
`-- better-supabase sql: ${modules.length > 0 ? `the SQL modules ${modules.join(", ")}` : "the realtime topic policies"}, in one migration (sql.workflow: 'migrations').`,
|
|
527
|
+
"-- Managed by `better-supabase sql`, which writes a new migration when they change.",
|
|
528
|
+
"-- Change them through `blocks` in better-supabase.config.ts and the module's SQL hooks."
|
|
529
|
+
].join("\n"),
|
|
530
|
+
...extensions.length > 0 ? [extensions.map((extension) => extension.statement).join("\n")] : [],
|
|
531
|
+
...upgrade.length > 0 ? [[
|
|
532
|
+
UPGRADE_START,
|
|
533
|
+
...upgrade,
|
|
534
|
+
UPGRADE_END
|
|
535
|
+
].join("\n\n")] : [],
|
|
536
|
+
...schema.map((file) => file.contents.trim()),
|
|
537
|
+
...parts.topics === void 0 ? [] : [parts.topics.trim()],
|
|
538
|
+
...data.map((file) => file.contents.trim())
|
|
539
|
+
].join("\n\n")}\n`;
|
|
540
|
+
}
|
|
541
|
+
/** The migration without its upgrade steps and package versions, which a later one doesn't repeat. */
|
|
542
|
+
function comparable(text) {
|
|
543
|
+
return text.replaceAll("\r\n", "\n").replace(new RegExp(`\\n\\n${UPGRADE_START}\\n[\\s\\S]*?\\n${UPGRADE_END}`), "").replaceAll(/^(-- better-supabase module: [^\n(]*?)(?: \([^)]*\))?$/gm, "$1");
|
|
544
|
+
}
|
|
545
|
+
/** Whether two module migrations hold the same modules. */
|
|
546
|
+
const sameModuleMigration = (current, expected) => current !== void 0 && comparable(current) === comparable(expected);
|
|
547
|
+
/** Whether a module migration holds `contents` (one module's file) unchanged. */
|
|
548
|
+
const migrationHolds = (text, contents) => comparable(text).includes(comparable(contents.trim()));
|
|
549
|
+
/** The newest migration that ends in `suffix`, with its text. */
|
|
550
|
+
async function latestMigration(config, suffix) {
|
|
551
|
+
const dir = migrationsDir(config);
|
|
552
|
+
const latest = (await readdir(resolve(config.root, dir)).catch(() => [])).toSorted().findLast((name) => name.endsWith(suffix));
|
|
553
|
+
if (latest === void 0) return;
|
|
554
|
+
return {
|
|
555
|
+
path: `${dir}/${latest}`,
|
|
556
|
+
text: await readFile(resolve(config.root, dir, latest), "utf-8")
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
const MODULE_MARKERS = /^-- @bs-module ([a-z0-9-]+)@(\d+)\b/gm;
|
|
560
|
+
/** The modules and versions a module migration installs, from its `@bs-module` lines. */
|
|
561
|
+
function migrationModules(text) {
|
|
562
|
+
return new Map([...text.matchAll(MODULE_MARKERS)].map((match) => [match[1], Number(match[2])]));
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* Writes `contents` as a new migration ending in `suffix`, unless the newest
|
|
566
|
+
* one already holds the same statements. `force` writes it anyway, for
|
|
567
|
+
* upgrade steps that have to run once.
|
|
568
|
+
*/
|
|
569
|
+
async function writeLatestMigration(config, suffix, contents, options) {
|
|
570
|
+
const latest = await latestMigration(config, suffix);
|
|
571
|
+
if (options.force !== true && latest !== void 0 && sameModuleMigration(latest.text, contents)) return {
|
|
572
|
+
path: latest.path,
|
|
573
|
+
wrote: false,
|
|
574
|
+
line: `Unchanged ${latest.path} (it has these statements)`
|
|
575
|
+
};
|
|
576
|
+
const dir = migrationsDir(config);
|
|
577
|
+
const path = `${dir}/${stampAfter(await readdir(resolve(config.root, dir)).catch(() => []), options.now)}${suffix}`;
|
|
578
|
+
const applied = await applyPlan(sqlPlan(config, {
|
|
579
|
+
regenerate: "better-supabase sql sync",
|
|
580
|
+
files: [{
|
|
581
|
+
path,
|
|
582
|
+
contents
|
|
583
|
+
}]
|
|
584
|
+
}), { "dry-run": options.dryRun });
|
|
585
|
+
return {
|
|
586
|
+
path,
|
|
587
|
+
wrote: applied.mode === "write",
|
|
588
|
+
line: changeLines(applied).join("\n")
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
//#endregion
|
|
592
|
+
export { accessRequirements as C, providerLabel as D, moduleKeyProblems as E, unsafeKey as O, accessProviderMode as S, entitlementsMode as T, providerOwnsMemberships as _, migrationModules as a, sqlPlan as b, writeLatestMigration as c, dataMigration as d, migrationStamp as f, layoutFor as g, layout as h, migrationHolds as i, writesMigrations as l, MEMBERSHIP_CLAIM_MODULES as m, READ_SETS_SUFFIX as n, renderModuleMigration as o, writeExtensionsMigration as p, latestMigration as r, sameModuleMigration as s, MODULES_SUFFIX as t, DATA_NEXT as u, migrationsDir as v, entitlementRequirements as w, compiledReadSets as x, moduleLayoutFor as y };
|