better-supabase 0.9.0 → 0.11.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 +4 -0
- package/dist/{access-sql-DUSSMaC3.js → access-sql-CTJPHjCL.js} +1 -1
- package/dist/{actor-KHDOKGb1.js → actor-CAL8mMih.js} +1 -1
- package/dist/{adapter-CEjmtazZ.js → adapter-B2WRsRIg.js} +29 -15
- package/dist/{agents-BCNhIxVZ.d.ts → agents-CbUIrH-w.d.ts} +7 -7
- package/dist/{ai-cache-Dps7aRu1.d.ts → ai-cache-BdeJKlrV.d.ts} +5 -5
- package/dist/{ai-cache-zeUL94pB.js → ai-cache-CLninP-F.js} +2 -2
- package/dist/{ai-chat-3GBSlFR4.d.ts → ai-chat-D-2MH1sU.d.ts} +7 -7
- package/dist/{ai-files-D2_9YLjF.js → ai-files-DXbgWA5M.js} +6 -6
- package/dist/ai-sdk/agents/index.d.ts +6 -6
- package/dist/ai-sdk/agents/index.js +2 -2
- package/dist/ai-sdk/batches/index.d.ts +4 -4
- package/dist/ai-sdk/batches/index.js +4 -4
- package/dist/ai-sdk/cache/index.d.ts +2 -2
- package/dist/ai-sdk/cache/index.js +1 -1
- package/dist/ai-sdk/chat/index.d.ts +1 -1
- package/dist/ai-sdk/chat/index.js +5 -5
- package/dist/ai-sdk/embeddings/index.d.ts +2 -2
- package/dist/ai-sdk/files/index.d.ts +2 -2
- package/dist/ai-sdk/files/index.js +4 -4
- package/dist/ai-sdk/index.d.ts +6 -6
- package/dist/ai-sdk/index.js +2 -2
- package/dist/ai-sdk/mcp/index.d.ts +4 -4
- package/dist/ai-sdk/mcp/index.js +4 -4
- package/dist/ai-sdk/memory/index.d.ts +3 -3
- package/dist/ai-sdk/workflow/index.d.ts +4 -4
- package/dist/ai-sdk/workflow/index.js +6 -6
- package/dist/{ai-tasks-Ih5oHfyj.d.ts → ai-tasks-BJJChl-D.d.ts} +8 -8
- package/dist/{announcements-BHCzraR6.js → announcements-BNxTW5HJ.js} +4 -4
- package/dist/{api-CFjuYKFY.js → api-C43_FYDp.js} +1 -1
- package/dist/{api-TG3jE5aO.d.ts → api-DoWK3dTw.d.ts} +6 -6
- package/dist/{api-keys-BEQatEUW.js → api-keys-BSXwI2jF.js} +6 -6
- package/dist/{api-keys-BYoGCM9p.d.ts → api-keys-qnM63qjS.d.ts} +7 -7
- package/dist/{app-tables-BGl5_U2x.js → app-tables-BRjMcWhW.js} +248 -13
- package/dist/app-tables-BrMBjyuq.d.ts +35 -0
- package/dist/{approvals-a2KmioBh.d.ts → approvals-CRZtzxNt.d.ts} +7 -7
- package/dist/arazzo/index.d.ts +2 -2
- package/dist/arazzo/index.js +2 -2
- package/dist/{assistant-Bf2cA6RO.d.ts → assistant-DZsHsYIx.d.ts} +4 -4
- package/dist/astro/index.d.ts +12 -12
- package/dist/astro/index.js +5 -5
- package/dist/asyncapi/index.d.ts +1 -1
- package/dist/asyncapi/index.js +2 -2
- package/dist/{attachments-DAj2Yp95.js → attachments-Bk3tyeUF.js} +6 -6
- package/dist/{audit-log-BMMuGPdP.js → audit-log-ovUlF4Mk.js} +8 -8
- package/dist/auth-module-DbZv2WrR.js +10 -0
- package/dist/{auth-reply-DUCwb8YO.js → auth-reply-Daq72lY4.js} +2 -2
- package/dist/{authorization-DpRfs6Wx.d.ts → authorization-ClWBcXJi.d.ts} +47 -3
- package/dist/{authorization-hooks-DkmrnDX7.d.ts → authorization-hooks-mLi894KH.d.ts} +2 -2
- package/dist/{authorizer-DH7DjkL3.js → authorizer-B3yyCVUF.js} +2 -2
- package/dist/{base64-BmeCBgGo.js → base64-D4aqdnDR.js} +4 -4
- package/dist/better-result/index.d.ts +5 -5
- package/dist/better-result/index.js +1 -1
- package/dist/{bind-a7sUgvf4.d.ts → bind-CTNKpBM6.d.ts} +4 -4
- package/dist/{block-fields-ffD6Gxe4.js → block-fields-Bv1hV855.js} +3 -3
- package/dist/{block-fields-5UA84ZUg.d.ts → block-fields-DnaDbgZS.d.ts} +2 -2
- package/dist/{block-helpers-C86hPEjI.d.ts → block-helpers-CjcQM1yA.d.ts} +2 -2
- package/dist/{block-helpers-CfG_MvDR.js → block-helpers-DkVZNDrj.js} +4 -4
- package/dist/{block-hooks-BsXncUlZ.js → block-hooks-C22vuIUd.js} +3 -3
- package/dist/{block-hooks-BLPWD3Jt.d.ts → block-hooks-DcPJHztl.d.ts} +3 -3
- package/dist/{block-transport-DaGGXjIw.d.ts → block-transport-DezJPPA0.d.ts} +2 -2
- package/dist/{block-transport-G4t1umrR.js → block-transport-J7ZepTq2.js} +1 -1
- package/dist/blocks/access-requests/index.d.ts +8 -8
- package/dist/blocks/access-requests/index.js +7 -7
- package/dist/blocks/agents/index.d.ts +4 -4
- package/dist/blocks/agents/index.js +6 -6
- package/dist/blocks/ai-cache/index.d.ts +3 -3
- package/dist/blocks/ai-cache/index.js +3 -3
- package/dist/blocks/ai-chat/index.d.ts +5 -5
- package/dist/blocks/ai-chat/index.js +4 -4
- package/dist/blocks/ai-chat/react/index.d.ts +2 -2
- package/dist/blocks/ai-chat/react/index.js +2 -2
- package/dist/blocks/ai-chat/solid/index.d.ts +2 -2
- package/dist/blocks/ai-chat/solid/index.js +1 -1
- package/dist/blocks/ai-chat/svelte/index.d.ts +2 -2
- package/dist/blocks/ai-chat/svelte/index.js +1 -1
- package/dist/blocks/ai-chat/vue/index.d.ts +2 -2
- package/dist/blocks/ai-chat/vue/index.js +1 -1
- package/dist/blocks/ai-files/index.d.ts +5 -5
- package/dist/blocks/ai-files/index.js +3 -3
- package/dist/blocks/ai-providers/index.d.ts +4 -4
- package/dist/blocks/ai-providers/index.js +8 -8
- package/dist/blocks/ai-tasks/index.d.ts +3 -3
- package/dist/blocks/ai-tasks/index.js +9 -9
- package/dist/blocks/announcements/index.d.ts +4 -4
- package/dist/blocks/announcements/index.js +3 -3
- package/dist/blocks/announcements/react/index.d.ts +1 -1
- package/dist/blocks/announcements/react/index.js +2 -2
- package/dist/blocks/announcements/solid/index.d.ts +2 -2
- package/dist/blocks/announcements/svelte/index.d.ts +2 -2
- package/dist/blocks/announcements/vue/index.d.ts +2 -2
- package/dist/blocks/api-keys/index.d.ts +7 -7
- package/dist/blocks/api-keys/index.js +6 -6
- package/dist/blocks/api-keys/react/index.d.ts +1 -1
- package/dist/blocks/api-keys/react/index.js +3 -3
- package/dist/blocks/api-keys/react/server.d.ts +1 -1
- package/dist/blocks/api-keys/solid/index.d.ts +2 -2
- package/dist/blocks/api-keys/solid/index.js +1 -1
- package/dist/blocks/api-keys/svelte/index.d.ts +2 -2
- package/dist/blocks/api-keys/svelte/index.js +1 -1
- package/dist/blocks/api-keys/vue/index.d.ts +2 -2
- package/dist/blocks/api-keys/vue/index.js +1 -1
- package/dist/blocks/approvals/index.d.ts +4 -4
- package/dist/blocks/approvals/index.js +7 -7
- package/dist/blocks/attachments/index.d.ts +4 -4
- package/dist/blocks/attachments/index.js +3 -3
- package/dist/blocks/audit/index.d.ts +6 -6
- package/dist/blocks/audit/index.js +7 -7
- package/dist/blocks/audit/react/index.d.ts +1 -1
- package/dist/blocks/audit/react/index.js +2 -2
- package/dist/blocks/audit/react/server.d.ts +1 -1
- package/dist/blocks/audit/solid/index.d.ts +2 -2
- package/dist/blocks/audit/svelte/index.d.ts +2 -2
- package/dist/blocks/audit/vue/index.d.ts +2 -2
- package/dist/blocks/billing/index.d.ts +26 -10
- package/dist/blocks/billing/index.js +43 -10
- package/dist/blocks/billing/react/index.d.ts +2 -2
- package/dist/blocks/billing/react/index.js +1 -1
- package/dist/blocks/billing/react/server.d.ts +1 -1
- package/dist/blocks/billing/solid/index.d.ts +2 -2
- package/dist/blocks/billing/solid/index.js +1 -1
- package/dist/blocks/billing/svelte/index.d.ts +2 -2
- package/dist/blocks/billing/svelte/index.js +1 -1
- package/dist/blocks/billing/vue/index.d.ts +2 -2
- package/dist/blocks/billing/vue/index.js +1 -1
- package/dist/blocks/bookings/index.d.ts +3 -3
- package/dist/blocks/bookings/index.js +3 -3
- package/dist/blocks/bookings/react/index.d.ts +1 -1
- package/dist/blocks/bookings/react/index.js +3 -3
- package/dist/blocks/bookings/solid/index.d.ts +2 -2
- package/dist/blocks/bookings/solid/index.js +1 -1
- package/dist/blocks/bookings/svelte/index.d.ts +2 -2
- package/dist/blocks/bookings/svelte/index.js +1 -1
- package/dist/blocks/bookings/vue/index.d.ts +2 -2
- package/dist/blocks/bookings/vue/index.js +1 -1
- package/dist/blocks/bulk/index.d.ts +10 -6
- package/dist/blocks/bulk/index.js +4 -4
- package/dist/blocks/calendar/index.d.ts +3 -3
- package/dist/blocks/calendar/index.js +3 -3
- package/dist/blocks/calendar/react/index.d.ts +1 -1
- package/dist/blocks/calendar/react/index.js +3 -3
- package/dist/blocks/calendar/solid/index.d.ts +2 -2
- package/dist/blocks/calendar/solid/index.js +1 -1
- package/dist/blocks/calendar/svelte/index.d.ts +2 -2
- package/dist/blocks/calendar/svelte/index.js +1 -1
- package/dist/blocks/calendar/vue/index.d.ts +2 -2
- package/dist/blocks/calendar/vue/index.js +1 -1
- package/dist/blocks/catalog/index.d.ts +11 -11
- package/dist/blocks/catalog/index.js +9 -9
- package/dist/blocks/collections/index.d.ts +10 -10
- package/dist/blocks/collections/index.js +7 -7
- package/dist/blocks/comments/index.d.ts +4 -4
- package/dist/blocks/comments/index.js +4 -4
- package/dist/blocks/comments/react/index.d.ts +1 -1
- package/dist/blocks/comments/react/index.js +3 -3
- package/dist/blocks/comments/react/server.d.ts +1 -1
- package/dist/blocks/comments/solid/index.d.ts +2 -2
- package/dist/blocks/comments/solid/index.js +1 -1
- package/dist/blocks/comments/svelte/index.d.ts +2 -2
- package/dist/blocks/comments/svelte/index.js +1 -1
- package/dist/blocks/comments/vue/index.d.ts +2 -2
- package/dist/blocks/comments/vue/index.js +1 -1
- package/dist/blocks/connectors/index.d.ts +4 -4
- package/dist/blocks/connectors/index.js +8 -8
- package/dist/blocks/custom-fields/index.d.ts +6 -6
- package/dist/blocks/custom-fields/index.js +5 -5
- package/dist/blocks/data-lifecycle/index.d.ts +9 -9
- package/dist/blocks/data-lifecycle/index.js +8 -8
- package/dist/blocks/deals/index.d.ts +10 -10
- package/dist/blocks/deals/index.js +10 -10
- package/dist/blocks/documents/index.d.ts +4 -4
- package/dist/blocks/documents/index.js +5 -5
- package/dist/blocks/domains/index.d.ts +7 -7
- package/dist/blocks/domains/index.js +7 -7
- package/dist/blocks/drive/index.d.ts +10 -10
- package/dist/blocks/drive/index.js +8 -8
- package/dist/blocks/employees/index.d.ts +10 -10
- package/dist/blocks/employees/index.js +9 -9
- package/dist/blocks/engagements/index.d.ts +9 -9
- package/dist/blocks/engagements/index.js +6 -6
- package/dist/blocks/entitlements/index.d.ts +7 -7
- package/dist/blocks/entitlements/index.js +2 -2
- package/dist/blocks/entitlements/react/index.d.ts +2 -2
- package/dist/blocks/entitlements/solid/index.d.ts +2 -2
- package/dist/blocks/entitlements/svelte/index.d.ts +2 -2
- package/dist/blocks/entitlements/vue/index.d.ts +2 -2
- package/dist/blocks/flags/index.d.ts +8 -8
- package/dist/blocks/flags/index.js +7 -7
- package/dist/blocks/forms/index.d.ts +9 -9
- package/dist/blocks/forms/index.js +6 -6
- package/dist/blocks/forms/react/index.d.ts +1 -1
- package/dist/blocks/forms/solid/index.d.ts +2 -2
- package/dist/blocks/forms/svelte/index.d.ts +2 -2
- package/dist/blocks/forms/vue/index.d.ts +2 -2
- package/dist/blocks/hiring/index.d.ts +9 -9
- package/dist/blocks/hiring/index.js +7 -7
- package/dist/blocks/identities/index.d.ts +6 -6
- package/dist/blocks/identities/index.js +4 -4
- package/dist/blocks/imports/index.d.ts +75 -7
- package/dist/blocks/imports/index.js +111 -7
- package/dist/blocks/inbox/index.d.ts +5 -5
- package/dist/blocks/inbox/index.js +4 -4
- package/dist/blocks/inbox/react/index.d.ts +2 -2
- package/dist/blocks/inbox/react/server.d.ts +2 -2
- package/dist/blocks/inbox/solid/index.d.ts +2 -2
- package/dist/blocks/inbox/svelte/index.d.ts +2 -2
- package/dist/blocks/inbox/vue/index.d.ts +2 -2
- package/dist/blocks/index.d.ts +28 -9
- package/dist/blocks/index.js +5 -5
- package/dist/blocks/inventory/index.d.ts +9 -9
- package/dist/blocks/inventory/index.js +7 -7
- package/dist/blocks/invoices/index.d.ts +9 -9
- package/dist/blocks/invoices/index.js +9 -9
- package/dist/blocks/jobs/index.d.ts +61 -11
- package/dist/blocks/jobs/index.js +127 -14
- package/dist/blocks/knowledge/index.d.ts +3 -3
- package/dist/blocks/knowledge/index.js +3 -3
- package/dist/blocks/leave/index.d.ts +8 -8
- package/dist/blocks/leave/index.js +6 -6
- package/dist/blocks/memory/index.d.ts +4 -4
- package/dist/blocks/memory/index.js +7 -7
- package/dist/blocks/metrics/index.d.ts +7 -7
- package/dist/blocks/metrics/index.js +7 -7
- package/dist/blocks/mfa/index.d.ts +2 -2
- package/dist/blocks/mfa/index.js +1 -1
- package/dist/blocks/mfa/react/index.d.ts +1 -1
- package/dist/blocks/mfa/react/index.js +1 -1
- package/dist/blocks/mfa/react/server.d.ts +1 -1
- package/dist/blocks/mfa/react/server.js +1 -1
- package/dist/blocks/mfa/solid/index.d.ts +2 -2
- package/dist/blocks/mfa/solid/index.js +1 -1
- package/dist/blocks/mfa/svelte/index.d.ts +2 -2
- package/dist/blocks/mfa/svelte/index.js +1 -1
- package/dist/blocks/mfa/vue/index.d.ts +2 -2
- package/dist/blocks/mfa/vue/index.js +1 -1
- package/dist/blocks/notifications/index.d.ts +13 -13
- package/dist/blocks/notifications/index.js +13 -13
- package/dist/blocks/notifications/react/index.d.ts +1 -1
- package/dist/blocks/notifications/react/server.d.ts +1 -1
- package/dist/blocks/notifications/solid/index.d.ts +2 -2
- package/dist/blocks/notifications/svelte/index.d.ts +2 -2
- package/dist/blocks/notifications/vue/index.d.ts +2 -2
- package/dist/blocks/number-sequences/index.d.ts +11 -5
- package/dist/blocks/number-sequences/index.js +22 -11
- package/dist/blocks/oauth-server/index.d.ts +28 -8
- package/dist/blocks/oauth-server/index.js +24 -15
- package/dist/blocks/onboarding/index.d.ts +3 -3
- package/dist/blocks/onboarding/index.js +3 -3
- package/dist/blocks/onboarding/react/index.d.ts +1 -1
- package/dist/blocks/onboarding/react/index.js +2 -2
- package/dist/blocks/onboarding/react/server.d.ts +1 -1
- package/dist/blocks/onboarding/solid/index.d.ts +2 -2
- package/dist/blocks/onboarding/svelte/index.d.ts +2 -2
- package/dist/blocks/onboarding/vue/index.d.ts +2 -2
- package/dist/blocks/orders/index.d.ts +12 -12
- package/dist/blocks/orders/index.js +12 -12
- package/dist/blocks/organizations/index.d.ts +5 -5
- package/dist/blocks/organizations/index.js +5 -5
- package/dist/blocks/organizations/react/index.d.ts +1 -1
- package/dist/blocks/organizations/react/index.js +3 -3
- package/dist/blocks/organizations/react/server.d.ts +1 -1
- package/dist/blocks/organizations/solid/index.d.ts +2 -2
- package/dist/blocks/organizations/solid/index.js +1 -1
- package/dist/blocks/organizations/svelte/index.d.ts +2 -2
- package/dist/blocks/organizations/svelte/index.js +1 -1
- package/dist/blocks/organizations/vue/index.d.ts +2 -2
- package/dist/blocks/organizations/vue/index.js +1 -1
- package/dist/blocks/outbox/index.d.ts +4 -4
- package/dist/blocks/outbox/index.js +6 -6
- package/dist/blocks/parties/index.d.ts +10 -10
- package/dist/blocks/parties/index.js +5 -5
- package/dist/blocks/pipelines/index.d.ts +10 -10
- package/dist/blocks/pipelines/index.js +8 -8
- package/dist/blocks/profiles/index.d.ts +7 -7
- package/dist/blocks/profiles/index.js +6 -6
- package/dist/blocks/promotions/index.d.ts +9 -9
- package/dist/blocks/promotions/index.js +8 -8
- package/dist/blocks/push/index.d.ts +9 -9
- package/dist/blocks/push/index.js +5 -5
- package/dist/blocks/quotes/index.d.ts +9 -9
- package/dist/blocks/quotes/index.js +9 -9
- package/dist/blocks/rank/index.d.ts +6 -6
- package/dist/blocks/rank/index.js +4 -4
- package/dist/blocks/reactions/index.d.ts +4 -4
- package/dist/blocks/reactions/index.js +3 -3
- package/dist/blocks/reactions/react/index.d.ts +1 -1
- package/dist/blocks/reactions/react/index.js +2 -2
- package/dist/blocks/reactions/solid/index.d.ts +2 -2
- package/dist/blocks/reactions/solid/index.js +1 -1
- package/dist/blocks/reactions/svelte/index.d.ts +2 -2
- package/dist/blocks/reactions/svelte/index.js +1 -1
- package/dist/blocks/reactions/vue/index.d.ts +2 -2
- package/dist/blocks/reactions/vue/index.js +1 -1
- package/dist/blocks/relations/index.d.ts +8 -8
- package/dist/blocks/relations/index.js +5 -5
- package/dist/blocks/reminders/index.d.ts +10 -10
- package/dist/blocks/reminders/index.js +9 -9
- package/dist/blocks/reviews/index.d.ts +8 -8
- package/dist/blocks/reviews/index.js +6 -6
- package/dist/blocks/rules/index.d.ts +75 -9
- package/dist/blocks/rules/index.js +117 -8
- package/dist/blocks/rules/react/index.d.ts +2 -2
- package/dist/blocks/rules/react/index.js +3 -3
- package/dist/blocks/rules/solid/index.d.ts +2 -2
- package/dist/blocks/rules/solid/index.js +1 -1
- package/dist/blocks/rules/svelte/index.d.ts +2 -2
- package/dist/blocks/rules/svelte/index.js +1 -1
- package/dist/blocks/rules/vue/index.d.ts +2 -2
- package/dist/blocks/rules/vue/index.js +1 -1
- package/dist/blocks/saved-views/index.d.ts +3 -3
- package/dist/blocks/saved-views/index.js +2 -2
- package/dist/blocks/saved-views/react/index.d.ts +1 -1
- package/dist/blocks/saved-views/react/index.js +1 -1
- package/dist/blocks/saved-views/react/server.d.ts +1 -1
- package/dist/blocks/saved-views/solid/index.d.ts +2 -2
- package/dist/blocks/saved-views/solid/index.js +1 -1
- package/dist/blocks/saved-views/svelte/index.d.ts +2 -2
- package/dist/blocks/saved-views/svelte/index.js +1 -1
- package/dist/blocks/saved-views/vue/index.d.ts +2 -2
- package/dist/blocks/saved-views/vue/index.js +1 -1
- package/dist/blocks/search/index.d.ts +4 -4
- package/dist/blocks/search/index.js +4 -4
- package/dist/blocks/search/react/index.d.ts +1 -1
- package/dist/blocks/search/react/index.js +2 -2
- package/dist/blocks/search/react/server.d.ts +1 -1
- package/dist/blocks/search/solid/index.d.ts +2 -2
- package/dist/blocks/search/svelte/index.d.ts +2 -2
- package/dist/blocks/search/vue/index.d.ts +2 -2
- package/dist/blocks/service-principals/index.d.ts +8 -8
- package/dist/blocks/service-principals/index.js +7 -7
- package/dist/blocks/sessions/index.d.ts +2 -2
- package/dist/blocks/sessions/index.js +2 -2
- package/dist/blocks/sessions/react/index.d.ts +1 -1
- package/dist/blocks/sessions/react/index.js +1 -1
- package/dist/blocks/sessions/react/server.d.ts +1 -1
- package/dist/blocks/sessions/solid/index.d.ts +2 -2
- package/dist/blocks/sessions/solid/index.js +1 -1
- package/dist/blocks/sessions/svelte/index.d.ts +2 -2
- package/dist/blocks/sessions/svelte/index.js +1 -1
- package/dist/blocks/sessions/vue/index.d.ts +2 -2
- package/dist/blocks/sessions/vue/index.js +1 -1
- package/dist/blocks/settings/index.d.ts +4 -4
- package/dist/blocks/settings/index.js +4 -4
- package/dist/blocks/settings/react/index.d.ts +1 -1
- package/dist/blocks/settings/react/index.js +3 -3
- package/dist/blocks/settings/react/server.d.ts +1 -1
- package/dist/blocks/settings/solid/index.d.ts +2 -2
- package/dist/blocks/settings/solid/index.js +1 -1
- package/dist/blocks/settings/svelte/index.d.ts +2 -2
- package/dist/blocks/settings/svelte/index.js +1 -1
- package/dist/blocks/settings/vue/index.d.ts +2 -2
- package/dist/blocks/settings/vue/index.js +1 -1
- package/dist/blocks/share-links/index.d.ts +15 -8
- package/dist/blocks/share-links/index.js +9 -6
- package/dist/blocks/shared-signals/index.d.ts +8 -8
- package/dist/blocks/shared-signals/index.js +8 -8
- package/dist/blocks/signing-keys/index.d.ts +5 -5
- package/dist/blocks/signing-keys/index.js +48 -22
- package/dist/blocks/sla/index.d.ts +9 -9
- package/dist/blocks/sla/index.js +6 -6
- package/dist/blocks/sso/index.d.ts +7 -7
- package/dist/blocks/sso/index.js +5 -5
- package/dist/blocks/state-machine/index.d.ts +5 -5
- package/dist/blocks/state-machine/index.js +3 -3
- package/dist/blocks/tags/index.d.ts +3 -3
- package/dist/blocks/tags/index.js +3 -3
- package/dist/blocks/tags/react/index.d.ts +1 -1
- package/dist/blocks/tags/react/index.js +3 -3
- package/dist/blocks/tags/react/server.d.ts +1 -1
- package/dist/blocks/tags/solid/index.d.ts +2 -2
- package/dist/blocks/tags/solid/index.js +1 -1
- package/dist/blocks/tags/svelte/index.d.ts +2 -2
- package/dist/blocks/tags/svelte/index.js +1 -1
- package/dist/blocks/tags/vue/index.d.ts +2 -2
- package/dist/blocks/tags/vue/index.js +1 -1
- package/dist/blocks/targets/index.d.ts +7 -7
- package/dist/blocks/targets/index.js +6 -6
- package/dist/blocks/teams/index.d.ts +7 -7
- package/dist/blocks/teams/index.js +4 -4
- package/dist/blocks/templates/index.d.ts +10 -10
- package/dist/blocks/templates/index.js +8 -8
- package/dist/blocks/time-tracking/index.d.ts +9 -9
- package/dist/blocks/time-tracking/index.js +9 -9
- package/dist/blocks/trash/index.d.ts +8 -8
- package/dist/blocks/trash/index.js +5 -5
- package/dist/blocks/undo/index.d.ts +4 -4
- package/dist/blocks/undo/index.js +2 -2
- package/dist/blocks/undo/react/index.d.ts +1 -1
- package/dist/blocks/undo/react/server.d.ts +1 -1
- package/dist/blocks/undo/solid/index.d.ts +2 -2
- package/dist/blocks/undo/svelte/index.d.ts +2 -2
- package/dist/blocks/undo/vue/index.d.ts +2 -2
- package/dist/blocks/usage/index.d.ts +4 -4
- package/dist/blocks/usage/index.js +3 -3
- package/dist/blocks/usage/react/index.d.ts +1 -1
- package/dist/blocks/usage/react/index.js +2 -2
- package/dist/blocks/usage/react/server.d.ts +1 -1
- package/dist/blocks/usage/solid/index.d.ts +2 -2
- package/dist/blocks/usage/svelte/index.d.ts +2 -2
- package/dist/blocks/usage/vue/index.d.ts +2 -2
- package/dist/blocks/vercel-marketplace/index.d.ts +193 -0
- package/dist/blocks/vercel-marketplace/index.js +300 -0
- package/dist/blocks/versions/index.d.ts +13 -9
- package/dist/blocks/versions/index.js +19 -14
- package/dist/blocks/waitlist/index.d.ts +9 -9
- package/dist/blocks/waitlist/index.js +6 -6
- package/dist/blocks/webhooks/index.d.ts +16 -16
- package/dist/blocks/webhooks/index.js +17 -17
- package/dist/blocks/work-items/index.d.ts +10 -10
- package/dist/blocks/work-items/index.js +7 -7
- package/dist/blocks/workflow-builder/index.d.ts +9 -9
- package/dist/blocks/workflow-builder/index.js +3 -3
- package/dist/blocks/workflow-builder/react/index.d.ts +2 -2
- package/dist/blocks/workflow-builder/react/index.js +3 -3
- package/dist/blocks/workflow-builder/solid/index.d.ts +2 -2
- package/dist/blocks/workflow-builder/svelte/index.d.ts +2 -2
- package/dist/blocks/workflow-builder/vue/index.d.ts +2 -2
- package/dist/blocks/workflows/index.d.ts +5 -5
- package/dist/blocks/workflows/index.js +2 -2
- package/dist/blocks/workflows/react/index.d.ts +2 -2
- package/dist/blocks/workflows/react/index.js +2 -2
- package/dist/blocks/workflows/solid/index.d.ts +2 -2
- package/dist/blocks/workflows/svelte/index.d.ts +2 -2
- package/dist/blocks/workflows/vue/index.d.ts +2 -2
- package/dist/{bookings-0XnhHNLM.js → bookings-DQ7P888X.js} +5 -5
- package/dist/{storage-api-Cx-1iWBd.d.ts → bucket-BBSNDFNH.d.ts} +219 -219
- package/dist/{build-Cx08LOT7.js → build-C-D_vn0U.js} +8 -3
- package/dist/{build-Cm0T5MVG.js → build-CT6SPZkI.js} +1 -1
- package/dist/{calendar-DcFrpSOy.js → calendar-eqyuQAoy.js} +7 -7
- package/dist/chat-sdk/index.d.ts +6 -6
- package/dist/chat-sdk/index.js +3 -3
- package/dist/chat-sdk/react/index.d.ts +2 -2
- package/dist/chat-sdk/react/server.d.ts +2 -2
- package/dist/cli/{add-B0zoJUYX.js → add-B5V6uokQ.js} +6 -6
- package/dist/cli/{add-Bd5M6uEZ.js → add-BcOHumvq.js} +2 -2
- package/dist/cli/add-DzRJEHzD.js +1 -0
- package/dist/cli/adopt-DDy50yz9.js +1 -0
- package/dist/cli/{adopt-CebmlHL-.js → adopt-Ht34C3QD.js} +28 -9
- package/dist/cli/{agent-CCt_aXpJ.js → agent-CCrTYK3W.js} +1 -1
- package/dist/cli/{apply-Dxk8AUNU.js → apply-4BmTvj2A.js} +40 -10
- package/dist/cli/bin.js +1 -1
- package/dist/cli/{blocks-Bzz326nn.js → blocks-bBI050w6.js} +1 -1
- package/dist/cli/{blocks-Dq25D80b.js → blocks-jIvPqPtw.js} +1 -1
- package/dist/cli/{cache-Cx6qlRDR.js → cache-CVJmPGpd.js} +9 -4
- package/dist/cli/{catalog-Di15TkM2.js → catalog-Cm6BtquM.js} +2 -1
- package/dist/cli/{codemod-woL4cVe0.js → codemod-vsknM1Ue.js} +2 -2
- package/dist/cli/{command-CK9Cn8HV.js → command-DLCZeHdo.js} +40 -0
- package/dist/cli/{completion-CWoDmFZr.js → completion-BAm8SwGQ.js} +2 -2
- package/dist/cli/{completion-BO5UK6bG.js → completion-CEZ-c3ja.js} +1 -1
- package/dist/cli/{completion-J3dqnNoW.js → completion-D2BObVth.js} +2 -2
- package/dist/cli/{config-CLHpTk9Y.js → config-C4e_RrmL.js} +54 -12
- package/dist/cli/{config-MuKY9kUj.js → config-CC5DXgKX.js} +1 -1
- package/dist/cli/{config-C1d-mbUA.js → config-CynctXbc.js} +1 -1
- package/dist/cli/db-BxMRcHrY.js +90 -0
- package/dist/cli/{detect-DYDUBLU4.js → detect-DQsVeBHg.js} +2 -2
- package/dist/cli/{doctor-SGw36h1D.js → doctor-D47sFjh9.js} +253 -376
- package/dist/cli/{emit-ZAYeh4Yn.js → emit-56LAG_Px.js} +32 -7
- package/dist/cli/{env-CVXvJoLP.js → env--JFvv45k.js} +3 -3
- package/dist/cli/{env-DJ4ZaJpe.js → env-B7TWPEt0.js} +1 -1
- package/dist/cli/{env-DMw_MBe5.js → env-C8R7Nf0a.js} +94 -2
- package/dist/cli/env-D-O91RK1.js +1 -0
- package/dist/cli/{gen-B344S1Oy.js → gen-D2E8osBE.js} +11 -11
- package/dist/cli/index.d.ts +8 -4
- package/dist/cli/index.js +10 -9
- package/dist/cli/{init-B1dL-RZL.js → init-Cx7DDAdQ.js} +15 -8
- package/dist/cli/{introspect-BPcFi8ow.js → introspect-Ck7aa6v0.js} +3 -3
- package/dist/cli/{keys-jsxCNJdz.js → keys-6ufnWeZl.js} +2 -2
- package/dist/cli/live-CLxJNC0r.js +329 -0
- package/dist/cli/mcp-BVWvEoKo.js +237 -0
- package/dist/cli/{metadata-CxBZo4KM.js → metadata-BRywyPvv.js} +2 -2
- package/dist/cli/migration-safety-DjVpz2D6.js +206 -0
- package/dist/cli/{module-migration-YFFdWC5X.js → module-migration-CPhuiY8C.js} +2 -2
- package/dist/cli/{moved-D9OT_Uyy.js → moved-BmtFuMK3.js} +1 -1
- package/dist/cli/{parse-DE59XyWt.js → parse-ksnw4phM.js} +1 -1
- package/dist/cli/{preset-DmcC4nWE.js → preset-B1o6KbFp.js} +1 -1
- package/dist/cli/{run-DaHfUUO9.js → run-Bb8Nn8Ax.js} +59 -70
- package/dist/cli/{run-CM_2g6KQ.js → run-nX5ffQM_.js} +44 -42
- package/dist/cli/{scaffold-CFdDq36-.js → scaffold-DcXr4z7M.js} +4 -4
- package/dist/cli/{scaffold-Dsjr7sOT.js → scaffold-fO-FJGoO.js} +1 -1
- package/dist/cli/{seed-DldDdXWO.js → seed-BmOC6_iz.js} +7 -6
- package/dist/cli/seed-C_BmN498.js +1 -0
- package/dist/cli/shared-DKLuA1Tp.js +145 -0
- package/dist/cli/{skills-v34NDb2D.js → skills-CUx7S0bk.js} +1 -1
- package/dist/cli/{snapshot-DAxLi4hO.js → snapshot-ClgWGd-b.js} +4 -4
- package/dist/cli/{source-args-0I9zylYy.js → source-args-BDiUhsH8.js} +8 -2
- package/dist/cli/{spec-CaaSOYZS.js → spec-CM7iyRnE.js} +5 -5
- package/dist/cli/{spec-De0cfceR.js → spec-DjHpWZJM.js} +1 -1
- package/dist/cli/{sql-0I1EQ3JG.js → sql-C4ymac2h.js} +2 -2
- package/dist/cli/{sql-DDLWwzh9.js → sql-ybcjbz20.js} +5 -5
- package/dist/cli/{stack-status-CRanl-CN.js → stack-status-Cb_D79ZR.js} +2 -2
- package/dist/cli/{supabase-toml-DjLgBYEo.js → supabase-toml-BC5sNVKU.js} +1 -1
- package/dist/cli/{sync-DFx-6t5n.js → sync-DBvknfOK.js} +2 -2
- package/dist/cli/{topics-GJuIDwlY.js → topics-BBE1-Vrg.js} +1 -1
- package/dist/cli/{version-DNRW4DAP.js → version-CUKjFbNd.js} +1 -1
- package/dist/cli/{write-BS6F3Yvz.js → write-VZljwoTB.js} +25 -7
- package/dist/client/index.d.ts +6 -6
- package/dist/client/index.js +4 -4
- package/dist/client/native/index.d.ts +6 -6
- package/dist/client/native/index.js +4 -4
- package/dist/{client-DjTRlN3a.d.ts → client-5YAtJjyT.d.ts} +2 -2
- package/dist/{client-BAcILZOf.d.ts → client-9ZOirdtr.d.ts} +9 -9
- package/dist/{client-CFdMJ1h9.d.ts → client-B4a7f5ma.d.ts} +8 -8
- package/dist/{client-BVZtq_rQ.d.ts → client-B9_8yzct.d.ts} +2 -2
- package/dist/{client-BOT2KVIp.js → client-BDO6i2Oe.js} +2 -2
- package/dist/{client-LLmgiCwJ.d.ts → client-BNy-K6XT.d.ts} +3 -3
- package/dist/{client-ClZ0D-if.d.ts → client-BXv09wO1.d.ts} +5 -5
- package/dist/{client-D5CZ2a34.d.ts → client-B_vHBwB6.d.ts} +12 -12
- package/dist/{client-Co6BPmvr.d.ts → client-Bovn6-M9.d.ts} +7 -7
- package/dist/{client-BxnLb9bz.d.ts → client-BqoYuTK3.d.ts} +3 -3
- package/dist/{client-VvY0K3wr.d.ts → client-C3rmP3b0.d.ts} +6 -6
- package/dist/{client-hyP_nS5R.d.ts → client-CBQ2TV0r.d.ts} +7 -7
- package/dist/{client-Lx3mlvKO.d.ts → client-CCGSn7m5.d.ts} +4 -4
- package/dist/{client-BUGIS__1.js → client-CFKONrrU.js} +6 -6
- package/dist/{client-CvITjt-9.js → client-CHR8IBNG.js} +10 -2
- package/dist/{client-CHmjaI0j.d.ts → client-CJT3xiuI.d.ts} +7 -7
- package/dist/{client-DdfSIZ3M.d.ts → client-CNh-pjkT.d.ts} +5 -5
- package/dist/{client-e-hFkLUf.d.ts → client-CXTDJCIs.d.ts} +3 -3
- package/dist/{client-CWs3X4g1.js → client-C_-NZRrg.js} +1 -1
- package/dist/{client-CilSKXNu.js → client-CcPxbHeT.js} +2 -2
- package/dist/{client-ysNShuJZ.d.ts → client-CeH7vd-g.d.ts} +2 -2
- package/dist/{client-PGRk3DGz.js → client-CosiUrUb.js} +1 -1
- package/dist/{client-DAHsEOVV.d.ts → client-CrZKZVbb.d.ts} +4 -4
- package/dist/{client-CiGjS6us.js → client-D7T7OLiw.js} +4 -4
- package/dist/{client-WHeWTNVL.d.ts → client-DLz68Qga.d.ts} +2 -2
- package/dist/{client-Cmensu7l.d.ts → client-DarDYaQj.d.ts} +9 -9
- package/dist/{client-CzI4QpG3.d.ts → client-DbxvLC9Y.d.ts} +2 -2
- package/dist/{client-Tc47rlSe.d.ts → client-Dft5Vq6m.d.ts} +46 -8
- package/dist/{client-BYaOGCOG.js → client-DyfWYU8S.js} +2 -2
- package/dist/{client-C9QrWrnt.js → client-Dz1jWDA2.js} +3 -3
- package/dist/{client-01MAuqzW.js → client-DzTtOVRR.js} +2 -2
- package/dist/{client-xkSCp9hN.d.ts → client-GdJH4XJM.d.ts} +4 -4
- package/dist/{client-B7QVIrJS.d.ts → client-QvuCfO4b.d.ts} +13 -13
- package/dist/{client-CoVGPi0c.js → client-UnM3e32l.js} +2 -2
- package/dist/{client-DG7FwgZD.js → client-arq4daO_.js} +1 -1
- package/dist/{client-DIrCmOXz.d.ts → client-cWUWrgis.d.ts} +6 -6
- package/dist/{client-Cdedx_lw.js → client-eCDPjOMo.js} +6 -6
- package/dist/{client-WAdEBBrH.d.ts → client-eCtwzCbQ.d.ts} +5 -5
- package/dist/{client-iDLLvGR4.d.ts → client-ehjQ2tIT.d.ts} +3 -3
- package/dist/{client-i8glKhxh.js → client-iaFm0aVf.js} +1 -1
- package/dist/{cloud-event-5rCEzIgK.d.ts → cloud-event-DXkNoI6v.d.ts} +1 -1
- package/dist/{codecs-YAekuQ08.js → codecs-D-rpDifG.js} +3 -3
- package/dist/{codecs-Bm46sVxr.d.ts → codecs-RwFNK8Jh.d.ts} +2 -2
- package/dist/{codegen-DeoSt1mi.d.ts → codegen-C64C0NZG.d.ts} +108 -14
- package/dist/{comments-D7sbd0xG.js → comments-CV5O8q50.js} +5 -5
- package/dist/commerce/index.d.ts +2 -2
- package/dist/commerce/index.js +6 -6
- package/dist/{compiler-BVxepAY0.d.ts → compiler-D_Gjpw_O.d.ts} +2 -2
- package/dist/{compose-Djntdacs.js → compose-CP0ss-cQ.js} +3 -3
- package/dist/{composite-djtGy6bz.d.ts → composite-B1Mmo4TU.d.ts} +13 -13
- package/dist/{composite-M6zPs1Xm.js → composite-BFatHqOU.js} +3 -3
- package/dist/config/index.d.ts +6 -6
- package/dist/config/index.js +4 -4
- package/dist/{config-C4MozTD7.js → config-DHhQmmuD.js} +26 -1
- package/dist/{config-BA1K4OPk.js → config-NQmw_wsk.js} +4 -3
- package/dist/{connector-Cp8CqssJ.d.ts → connector-D9NMNkv0.d.ts} +1 -1
- package/dist/{connectors-CjD-R2ks.d.ts → connectors-CR9FJGzV.d.ts} +7 -7
- package/dist/{context-BDDgjoxz.js → context-BiwgsycK.js} +1 -1
- package/dist/{context-1sSWcd7_.d.ts → context-Cv3KlxWY.d.ts} +15 -3
- package/dist/{controller-D845qKh2.d.ts → controller-BBXX1RMw.d.ts} +1 -1
- package/dist/cors-h_v7TPxl.js +24 -0
- package/dist/cors-kLq6VM06.d.ts +15 -0
- package/dist/create/index.d.ts +597 -0
- package/dist/create/index.js +2049 -0
- package/dist/create/lite/index.d.ts +85 -0
- package/dist/create/lite/index.js +126 -0
- package/dist/create/supabase/index.d.ts +68 -0
- package/dist/create/supabase/index.js +312 -0
- package/dist/credentials/index.d.ts +5 -5
- package/dist/credentials/index.js +8 -8
- package/dist/{cron-CUaKTjWC.js → cron-BHdXZFsJ.js} +1 -1
- package/dist/{cron-route-CoL-By8Z.js → cron-route-mTvWhork.js} +3 -3
- package/dist/{define-B2ln373W.js → define-Bu1v781m.js} +82 -16
- package/dist/{define-DxHHbNEb.d.ts → define-M_r1d2AT.d.ts} +96 -43
- package/dist/{define-block-CLZMEFeK.d.ts → define-block-CPyJ95rq.d.ts} +7 -7
- package/dist/{delegation-Dt8hMJWu.js → delegation-B7uNnz6z.js} +2 -2
- package/dist/{documents-CWn2mtYf.d.ts → documents-CqtVr2fg.d.ts} +4 -4
- package/dist/edge/index.d.ts +27 -38
- package/dist/edge/index.js +12 -32
- package/dist/elysia/index.d.ts +1 -1
- package/dist/elysia/index.js +1 -1
- package/dist/{embeddings-C2S14foD.d.ts → embeddings-lTUwzvW4.d.ts} +1 -1
- package/dist/{ended-nIdGCHxk.d.ts → ended-DQmwYosO.d.ts} +2 -2
- package/dist/{entitlements-BvU5dLpW.js → entitlements-C8UvF1Rz.js} +3 -3
- package/dist/{entitlements-CbzCKalR.d.ts → entitlements-DgkeStXd.d.ts} +2 -2
- package/dist/env/index.d.ts +1 -1
- package/dist/env/index.js +6 -1
- package/dist/{envelope-CHYk5MXU.js → envelope-C4Z55LKW.js} +4 -4
- package/dist/{errors-8i6tSICm.js → errors-BV1SKTVs.js} +15 -1
- package/dist/{errors-PIpcoe4z.js → errors-D3BR8iUk.js} +2 -2
- package/dist/{escape-like-AUEPn-C5.d.ts → escape-like-B339PlP-.d.ts} +1 -1
- package/dist/eve/index.d.ts +5 -5
- package/dist/eve/index.js +2 -2
- package/dist/{eve-DUF70Vgi.d.ts → eve-C_Onyk_j.d.ts} +2 -2
- package/dist/events/index.d.ts +3 -3
- package/dist/{events-CTreRrgP.d.ts → events-P3raDX2E.d.ts} +3 -3
- package/dist/{executor-BXSHYyW2.js → executor-BiB0wMBA.js} +4 -4
- package/dist/{executor-DoE-5iM8.d.ts → executor-BnMC0lj3.d.ts} +2 -2
- package/dist/{executor-DKrZr3AC.d.ts → executor-CvsNcQsa.d.ts} +3 -3
- package/dist/{executor-D1kYY5BA.js → executor-CxGQiQN_.js} +3 -3
- package/dist/{executor-BBHgjUJu.d.ts → executor-D1hECPGG.d.ts} +1 -1
- package/dist/{executor-BINiCFNp.d.ts → executor-DfdC00xr.d.ts} +1 -1
- package/dist/expo/index.d.ts +11 -9
- package/dist/expo/index.js +42 -7
- package/dist/expo-sqlite/index.d.ts +3 -3
- package/dist/expo-sqlite/index.js +2 -2
- package/dist/{field-errors-CWXN_h_E.d.ts → field-errors-DmJICh93.d.ts} +7 -7
- package/dist/{filter-evaluate-CjcFq0RT.d.ts → filter-evaluate-BJcaL3o1.d.ts} +1 -1
- package/dist/{filter-query-BKmRYrTE.d.ts → filter-query-Bc_Qa8V_.d.ts} +1 -1
- package/dist/{flags-D_D1jAHB.d.ts → flags-6KK6Vqkr.d.ts} +3 -3
- package/dist/{flags-XAOsdNAc.js → flags-aUR7Rod6.js} +1 -1
- package/dist/flags-sdk/index.d.ts +1 -1
- package/dist/flags-sdk/index.js +2 -2
- package/dist/{options-BqO9GYig.js → form-definition-GVZTILhS.js} +13 -13
- package/dist/{framework-INbjMZX1.js → framework-Ch8bMmQY.js} +2 -2
- package/dist/{framework-DG5Bv39u.d.ts → framework-D6IFkuAg.d.ts} +7 -7
- package/dist/{function-contract-B4c0XuTU.d.ts → function-contract-DWqFl_QO.d.ts} +1 -1
- package/dist/{gateway-Cup00l0w.d.ts → gateway-Bq_tWwxE.d.ts} +4 -4
- package/dist/h3/index.d.ts +1 -1
- package/dist/h3/index.js +1 -1
- package/dist/h3/v1/index.d.ts +1 -1
- package/dist/h3/v1/index.js +1 -1
- package/dist/{hmac-DCud0myt.js → hmac-BgpThYQW.js} +2 -1
- package/dist/hono/index.d.ts +34 -25
- package/dist/hono/index.js +18 -12
- package/dist/{http-BF-V0CUF.js → http-C7trc6uN.js} +2 -2
- package/dist/{impersonation-CDeCzZP6.js → impersonation-DxU6yHJV.js} +1 -1
- package/dist/{inbox-3ql4phyr.d.ts → inbox-Du5aPwKB.d.ts} +4 -4
- package/dist/{index-BlqrGvb3.d.ts → index-BpyBH5O2.d.ts} +4 -4
- package/dist/{index-Brhm22eL.d.ts → index-Bq409YZn.d.ts} +1 -1
- package/dist/index-CEcDqDhc.d.ts +722 -0
- package/dist/{index-CrZitvSC.d.ts → index-CK0Sxx57.d.ts} +8 -8
- package/dist/{index-DygICr8c.d.ts → index-Csi8jD-m.d.ts} +3 -3
- package/dist/{index-CETRk4YO.d.ts → index-CxmVzT-3.d.ts} +5 -1
- package/dist/index-D8yhOz_4.d.ts +344 -0
- package/dist/{index-Bvw9r94Q.d.ts → index-DHReeV74.d.ts} +2 -2
- package/dist/{index-jhqhynmh.d.ts → index-DgobXyil.d.ts} +1 -1
- package/dist/{index-BkzNUPId.d.ts → index-F6XTTkC9.d.ts} +8 -8
- package/dist/{index-DfVXx4Ia.d.ts → index-k-rrfG1g.d.ts} +2 -2
- package/dist/{index-BIi8i6BO.d.ts → index-qCG78-Rf.d.ts} +4 -4
- package/dist/{index-Ej8XQ9w9.d.ts → index-wTnPJUhv.d.ts} +2 -2
- package/dist/index.d.ts +13 -13
- package/dist/index.js +10 -10
- package/dist/jwks-cache-C4rA69hD.js +49 -0
- package/dist/{jws-milwSg7E.js → jws-CwBB5QAT.js} +5 -3
- package/dist/{kit-D5S7KNFe.d.ts → kit-BeZX2pR_.d.ts} +4 -4
- package/dist/{kit-MUK34-ZG.js → kit-LTbHrWWD.js} +6 -6
- package/dist/{knowledge-CJ_Mm3ic.js → knowledge-BbdXOJvY.js} +4 -4
- package/dist/{knowledge-BXQ2-V0a.d.ts → knowledge-CRk1jOAJ.d.ts} +6 -6
- package/dist/lint/index.d.ts +1 -1
- package/dist/lint/index.js +47 -2
- package/dist/list/index.d.ts +3 -3
- package/dist/{list-query-PvP3pPGQ.d.ts → list-query-FhFXzObg.d.ts} +5 -5
- package/dist/management-D1gG89z2.d.ts +53 -0
- package/dist/mcp/index.d.ts +56 -31
- package/dist/mcp/index.js +142 -59
- package/dist/mcp/sdk/index.d.ts +17 -17
- package/dist/mcp/sdk/index.js +5 -5
- package/dist/{messages-Cx4ttLJJ.js → messages-D5nIfCCf.js} +2 -2
- package/dist/{options-BQ07tTYr.js → methods-7u6vSgz_.js} +4 -4
- package/dist/{mfa-DtflCXEt.d.ts → mfa-YzkRjNad.d.ts} +1 -1
- package/dist/{model-messages-CTu-6kBu.js → model-messages-CIdqdUtk.js} +1 -1
- package/dist/{money-codec-C_-K5ZUU.js → money-codec-C21MWw50.js} +2 -2
- package/dist/nestjs/index.d.ts +2 -2
- package/dist/nestjs/index.js +1 -1
- package/dist/next/index.d.ts +34 -29
- package/dist/next/index.js +14 -14
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.js +1 -1
- package/dist/{onboarding-BZvLLPaY.js → onboarding-Du6kCmhF.js} +2 -2
- package/dist/openapi/index.d.ts +2 -2
- package/dist/openapi/index.js +2 -2
- package/dist/{operations-C9-UcReN.d.ts → operations-DQCWqkt3.d.ts} +1 -1
- package/dist/{options-CZk_fbbg.js → options-BCrqe3HH.js} +2 -1
- package/dist/options-CEMawFrr.js +5 -0
- package/dist/options-RKYdmIdV.js +5 -0
- package/dist/{options-CbSOj53r.d.ts → options-ZQzNKKBS.d.ts} +1 -1
- package/dist/{organizations-Cw7om8uk.js → organizations-CO2qg44D.js} +6 -6
- package/dist/orpc/index.d.ts +18 -18
- package/dist/orpc/index.js +7 -7
- package/dist/otel/index.d.ts +2 -2
- package/dist/otel/index.js +5 -5
- package/dist/{outbox-BTeqjbum.d.ts → outbox-njgoVzFA.d.ts} +6 -6
- package/dist/{payments-h45bswA-.js → payments-CzjCdIcz.js} +1 -1
- package/dist/{plugin-CDLJRFFg.d.ts → plugin-D-95Q0w0.d.ts} +3 -3
- 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 +1 -1
- package/dist/plugins/soft-delete/index.d.ts +3 -3
- package/dist/plugins/soft-delete/index.js +2 -2
- package/dist/plugins/tenant/index.d.ts +2 -2
- package/dist/plugins/tenant/index.js +2 -2
- package/dist/plugins/timestamps/index.d.ts +1 -1
- package/dist/plugins/timestamps/index.js +1 -1
- package/dist/plugins/validation/index.d.ts +2 -2
- package/dist/plugins/validation/index.js +3 -3
- package/dist/{pool-CwOCsX9e.d.ts → pool-cM3rpOQr.d.ts} +7 -4
- package/dist/{pool-errors-GMjlCN0d.js → pool-errors-CGqvTQOC.js} +2 -2
- package/dist/{ports-DAdQyjZz.d.ts → ports-DCAcG26M.d.ts} +2 -2
- package/dist/{ports-Ca63W4cW.d.ts → ports-DGe1vzF2.d.ts} +10 -10
- package/dist/{ports-DGK3KTDH.js → ports-aALjot-D.js} +11 -7
- package/dist/postgres/index.d.ts +5 -5
- package/dist/postgres/index.js +11 -5
- package/dist/{postgrest-Cw9Bs5gm.d.ts → postgrest-CjnO1hbr.d.ts} +1 -1
- package/dist/powersync/index.d.ts +4 -4
- package/dist/powersync/index.js +4 -4
- package/dist/powersync/react/index.d.ts +3 -3
- package/dist/powersync/react/index.js +1 -1
- package/dist/preset/index.d.ts +4 -352
- package/dist/preset/index.js +4 -564
- package/dist/preset-Cqwlwx6G.js +648 -0
- package/dist/{problem-CEjyhV5T.d.ts → problem-DCDIQiTA.d.ts} +1 -1
- package/dist/{problem-pIiL3WbE.js → problem-JRCohp1j.js} +1 -1
- package/dist/{provider-DKh2xFZb.js → provider-C-Ti38J6.js} +1 -1
- package/dist/{provider-9gBq9W6k.d.ts → provider-CNs0Jx0I.d.ts} +2 -2
- package/dist/{push-token-asrmi7-6.d.ts → push-token-D2sDxSNN.d.ts} +1 -1
- package/dist/query/index.d.ts +2 -2
- package/dist/{rank-result-Dngpt2n5.d.ts → rank-result-BcYfDA0x.d.ts} +1 -1
- package/dist/{rank-result-DS8IoLup.js → rank-result-DtQuIvob.js} +2 -2
- package/dist/{rate-limit-BtbddDnE.js → rate-limit-DVZ7qIzW.js} +1 -1
- package/dist/{rate-limit--QSiFA6D.js → rate-limit-I3AncmM8.js} +8 -8
- package/dist/{rate-limit-C88MEAOm.d.ts → rate-limit-c6c1mB6R.d.ts} +2 -2
- package/dist/react/index.d.ts +8 -8
- package/dist/react/index.js +2 -2
- package/dist/react/native/index.d.ts +1 -1
- package/dist/react/native/index.js +1 -1
- package/dist/react/server.d.ts +9 -9
- package/dist/react/server.js +2 -2
- package/dist/react/session.d.ts +2 -2
- package/dist/{react-CKXUkwPx.js → react-DzukE6Wp.js} +3 -3
- package/dist/react-router/index.d.ts +11 -11
- package/dist/react-router/index.js +6 -6
- package/dist/{read-set-GEb-i0On.js → read-set-DeesfeL_.js} +2 -2
- package/dist/realtime/index.d.ts +7 -7
- package/dist/realtime/index.js +2 -2
- package/dist/{refusal-br4Ma9Cf.js → refusal-CFpfmjcS.js} +4 -4
- package/dist/{refusal-oD3ISM9h.d.ts → refusal-CufncwaN.d.ts} +1 -1
- package/dist/{resolve-w9EpHzuM.d.ts → resolve-Bqb8TMTt.d.ts} +4 -4
- package/dist/{resolve-CAR9oaKW.js → resolve-f8QNuYI3.js} +5 -4
- package/dist/{resource-C8r5xGqY.js → resource-Bdkqi8jo.js} +6 -6
- package/dist/{resource-B4ka8dDH.d.ts → resource-DYEtc-KN.d.ts} +1 -1
- package/dist/{resource-execute-D0yQ-8WR.d.ts → resource-execute-ruP2L1op.d.ts} +2 -2
- package/dist/{resource-types-D2vEQVXI.d.ts → resource-types-CGr0BbL-.d.ts} +6 -6
- package/dist/{resources-BklF-rjz.d.ts → resources-BiQpsM6O.d.ts} +2 -2
- package/dist/{resources-BlZdLsWQ.js → resources-Ck7itNeX.js} +3 -3
- package/dist/{respond-DdhZ9Wbn.js → respond-Bhp3G__q.js} +5 -5
- package/dist/{respond-C7I8kLK_.d.ts → respond-CEBC6KUX.d.ts} +3 -3
- package/dist/{result-Cj3yWhjH.d.ts → result-BREt7qOh.d.ts} +15 -1
- package/dist/{result-BlgnMB0H.js → result-DIeYscA3.js} +7 -1
- package/dist/{rrule-zBh3CA1r.js → rrule-Cw4x4Pf_.js} +1 -1
- package/dist/{rules-B0-3Iosu.js → rules-BiQgmZ_U.js} +32 -6
- package/dist/runtime-BOXURhEW.js +45 -0
- package/dist/{sales-lines-BAk8In-Z.js → sales-lines-CQ1iC6QM.js} +3 -3
- package/dist/{sales-shared-SblIgCgI.js → sales-shared-CDSytDEn.js} +2 -2
- package/dist/{search-B6h03cAx.js → search-ZP13UTT4.js} +3 -3
- package/dist/server/index.d.ts +26 -26
- package/dist/server/index.js +19 -64
- package/dist/{server-types-OohhIQb2.d.ts → server-types-BKN_R4Ws.d.ts} +45 -27
- package/dist/{session-DiWHtYrO.d.ts → session-CwpfitmI.d.ts} +11 -11
- package/dist/{settings-BXFn9zpS.js → settings-BiHDFglz.js} +5 -5
- package/dist/{shared-DbO3Dfms.js → shared-C9zvURqC.js} +1 -1
- package/dist/{shared-as0EG51f.js → shared-D5Djh43x.js} +1 -1
- package/dist/{sign-in-D0xN6E_l.js → sign-in-z2BaBdps.js} +10 -3
- package/dist/{signatures-BMdJ7neI.d.ts → signatures-BXlDXV3D.d.ts} +1 -1
- package/dist/{signatures-B41ApWXA.js → signatures-CeIoAelK.js} +5 -5
- package/dist/{signers-CXt_wA9S.d.ts → signers-BwKV-9S6.d.ts} +6 -6
- package/dist/{signing-keys-Bq9mMCTh.d.ts → signing-keys-v2MRYkDF.d.ts} +20 -5
- package/dist/solid/index.d.ts +8 -8
- package/dist/solid/index.js +1 -1
- package/dist/{solid-controller-DqlvYFZa.d.ts → solid-controller-Uqi5ef6z.d.ts} +1 -1
- package/dist/solid-start/index.d.ts +11 -11
- package/dist/solid-start/index.js +5 -5
- package/dist/spec/index.d.ts +3 -3
- package/dist/spec/index.js +3 -3
- package/dist/sql/index.d.ts +5 -709
- package/dist/sql/index.js +5 -86238
- package/dist/{sql-DJrXG-3Z.js → sql-BPKRNutj.js} +3 -3
- package/dist/sql-DCfCbS2j.js +88660 -0
- package/dist/{sso-BDva_-4y.js → sso-BaU_6ePE.js} +4 -4
- package/dist/{sso-BN0LnMqE.d.ts → sso-Bu0mVh0V.d.ts} +4 -4
- package/dist/ssr/index.d.ts +4 -4
- package/dist/ssr/index.js +3 -3
- package/dist/{standard-B5fe2gnW.js → standard-B1BigegP.js} +2 -2
- package/dist/{standard-C3_AAF3g.d.ts → standard-BcUQuUgu.d.ts} +1 -1
- package/dist/{stats-D6vkb89f.js → stats-Di5VAsYU.js} +4 -4
- package/dist/storage/index.d.ts +3 -3
- package/dist/storage/index.js +6 -6
- package/dist/{store-B5qYKsTh.d.ts → store-B18bIvKc.d.ts} +1 -1
- package/dist/streams/index.d.ts +3 -3
- package/dist/streams/index.js +3 -3
- package/dist/streams/redis/index.d.ts +1 -1
- package/dist/streams/redis/index.js +2 -2
- package/dist/{subject-readers-fxP5wu0s.d.ts → subject-readers-BNQzBDN9.d.ts} +2 -2
- package/dist/{subject-readers-DiePmaYP.js → subject-readers-BpwUFJtp.js} +1 -1
- package/dist/{subjects-z8VWA_lF.d.ts → subjects-DP-fvFkk.d.ts} +8 -0
- package/dist/{support-BsKkvA92.js → support-BAhTqI7y.js} +8 -8
- package/dist/{support-view-BbcZR7Io.d.ts → support-view-IRnDLuGN.d.ts} +1 -1
- package/dist/svelte/index.d.ts +7 -7
- package/dist/svelte/index.js +1 -1
- package/dist/{svelte-controller-DxxHEHxD.d.ts → svelte-controller-BQOIXWEw.d.ts} +1 -1
- package/dist/sveltekit/index.d.ts +13 -13
- package/dist/sveltekit/index.js +7 -7
- package/dist/{tags-Dw8vKkcI.d.ts → tags-AUpl4Ob9.d.ts} +1 -1
- package/dist/{tags-PaG0Ns_9.js → tags-BqgaxCnv.js} +5 -5
- package/dist/tanstack-db/index.d.ts +2 -2
- package/dist/tanstack-db/supabase/index.d.ts +2 -2
- package/dist/tanstack-start/index.d.ts +11 -11
- package/dist/tanstack-start/index.js +5 -5
- package/dist/{tax-DDZUB_oc.d.ts → tax-DMWDUzKt.d.ts} +2 -2
- package/dist/{tax-D_kSCdWU.js → tax-wm9g2mD2.js} +2 -2
- package/dist/{tee-Bsisfd7t.js → tee-Cw-iJAWL.js} +1 -1
- package/dist/{template-DdgYjIZ5.js → template-Dw3dTmKe.js} +1 -1
- package/dist/{temporal-required-DqRzr7i0.js → temporal-required-nfZ87U-0.js} +1 -1
- package/dist/{tenant-DdmVhsff.d.ts → tenant-BNp3kBAG.d.ts} +2 -2
- package/dist/testing/index.d.ts +133 -57
- package/dist/testing/index.js +252 -164
- package/dist/{topic-cMS7UtM1.d.ts → topic-1WTkDnPd.d.ts} +46 -18
- package/dist/{topic-ByDz9edV.js → topic-mee21pux.js} +112 -25
- package/dist/{types-6oiy6rIa.d.ts → types-B4zhT6dq.d.ts} +5 -5
- package/dist/{types-CdP0z5tS.d.ts → types-BEEFkNFY.d.ts} +7 -7
- package/dist/{types-vaoP9S9_.d.ts → types-Bq64h5nY.d.ts} +25 -11
- package/dist/{types-YfwpIE-d.d.ts → types-BrpW5ixT.d.ts} +14 -1
- package/dist/{types-D0W4fnsc.d.ts → types-DDQ-Rsep.d.ts} +5 -5
- package/dist/types-DGHfTW8_.d.ts +9 -0
- package/dist/{types-pNY_UpDs.d.ts → types-DO9xWsGC.d.ts} +6 -6
- package/dist/{undo-CEGIRkPA.js → undo-B5LgpGLy.js} +4 -4
- package/dist/{undo-DGo0skyO.d.ts → undo-BsdYRox7.d.ts} +3 -3
- package/dist/{usage-DM2rzczj.d.ts → usage-C504GF55.d.ts} +23 -5
- package/dist/{usage-CdlfuS3i.js → usage-DdqT13_X.js} +14 -3
- package/dist/{vault-tOkPLnMB.d.ts → vault-DR2-zOjz.d.ts} +3 -3
- package/dist/vercel-connect/index.d.ts +1 -1
- package/dist/vercel-connect/index.js +2 -2
- package/dist/{verify-D63A2ALE.d.ts → verify-BucYsoKq.d.ts} +4 -4
- package/dist/{verify-EQcC3Khp.js → verify-DnU-uWU2.js} +5 -5
- package/dist/{version-D87ZteKy.js → version-TXpQEfh1.js} +1 -1
- package/dist/{view-Dv0A949a.d.ts → view-Bf7e07rQ.d.ts} +3 -3
- package/dist/{view-DZ63nqwt.js → view-CYX1wsgp.js} +3 -3
- package/dist/vue/index.d.ts +8 -8
- package/dist/vue/index.js +1 -1
- package/dist/{vue-controller-HPfMTDa2.d.ts → vue-controller-Cav6Wt_r.d.ts} +1 -1
- package/dist/{watch-DT_B3CnJ.js → watch-BAuIzC2r.js} +1 -1
- package/dist/{watch-DDuWYv0Y.d.ts → watch-ry70AEm6.d.ts} +6 -6
- package/dist/{watch-topic-EFpOIIDE.d.ts → watch-topic-DWHy63ZJ.d.ts} +1 -1
- package/dist/{wire-DEY0ajW9.js → wire-BCJxCtHS.js} +2 -2
- package/dist/{workflow-builder-OrglbXUh.js → workflow-builder-CynLqc6H.js} +28 -12
- package/dist/workflow-sdk/builder/index.d.ts +3 -3
- package/dist/workflow-sdk/builder/index.js +1 -1
- package/dist/workflow-sdk/index.d.ts +1 -1
- package/dist/workflow-sdk/index.js +1 -1
- package/dist/workflow-sdk/world/index.d.ts +1 -1
- package/dist/workflow-sdk/world/index.js +6 -6
- package/dist/{workflow-sdk-q8cLwW1K.d.ts → workflow-sdk-DM7T3sF4.d.ts} +3 -3
- package/dist/{workflow-sdk-BZ6qsRlY.js → workflow-sdk-QnnzIQRc.js} +2 -2
- package/dist/{workflow-sdk-world-DPMdBfzn.js → workflow-sdk-world-QzcxaaCD.js} +1 -1
- package/dist/{workflows-DFQeXDAI.d.ts → workflows-DQBCzrHC.d.ts} +4 -4
- package/dist/{workflows-C-OvZpeg.js → workflows-H9qJge3f.js} +5 -5
- package/dist/yjs/index.d.ts +3 -3
- package/dist/yjs/index.js +3 -3
- package/package.json +36 -15
- package/schemas/config-v1.json +226 -9
- package/schemas/doctor-report-v1.json +10 -0
- package/schemas/snapshot-v2.json +4 -0
- package/skills/better-supabase/SKILL.md +1 -0
- package/skills/better-supabase/references/ui-recipes.md +683 -11
- package/dist/cli/add-CT6p5psO.js +0 -1
- package/dist/cli/adopt-C9jl8z0h.js +0 -1
- package/dist/cli/env-D3gZ-OHj.js +0 -1
- package/dist/cli/seed-DtRFysBe.js +0 -1
- package/dist/{client-b2_GjzzD.js → client-BGnJ5WJi.js} +1 -1
package/dist/testing/index.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { t as DbException } from "../db-exception-CnWcYPxL.js";
|
|
2
|
-
import { n as dbError } from "../errors-
|
|
2
|
+
import { n as dbError } from "../errors-BV1SKTVs.js";
|
|
3
3
|
import { d as temporalText } from "../temporal-CB5Fpo5d.js";
|
|
4
|
-
import { t as temporal } from "../temporal-required-
|
|
5
|
-
import { a as ok } from "../result-
|
|
6
|
-
import { t as BetterSupabase } from "../define-
|
|
4
|
+
import { t as temporal } from "../temporal-required-nfZ87U-0.js";
|
|
5
|
+
import { a as ok } from "../result-DIeYscA3.js";
|
|
6
|
+
import { t as BetterSupabase } from "../define-Bu1v781m.js";
|
|
7
7
|
import { t as isList } from "../guards-6F2bCtQR.js";
|
|
8
|
-
import { a as toBase64Url, r as fromBase64, t as base64ToText } from "../base64-
|
|
9
|
-
import { o as resolveConfig } from "../config-
|
|
8
|
+
import { a as toBase64Url, r as fromBase64, t as base64ToText } from "../base64-D4aqdnDR.js";
|
|
9
|
+
import { o as resolveConfig } from "../config-NQmw_wsk.js";
|
|
10
|
+
import { a as isScopeName, c as templateFunctions, l as templatePlaceholders, n as TEMPLATE_PLACEHOLDERS, s as scopeProblems, u as templateProblems } from "../access-sql-CTJPHjCL.js";
|
|
11
|
+
import { i as seedLite, n as loadLite, r as migrateLite, t as LITE_INSTALL } from "../runtime-BOXURhEW.js";
|
|
10
12
|
import { ENV_VARIABLES } from "../env/index.js";
|
|
11
13
|
import { t as defineController } from "../controller-D6NyNrlZ.js";
|
|
12
14
|
import "../replicas-BvIL4_jL.js";
|
|
13
|
-
import { a as tenantCredentialRef } from "../provider-
|
|
14
|
-
import { n as rawError } from "../block-transport-
|
|
15
|
-
import { t as postgresExecutor } from "../executor-
|
|
16
|
-
import { i as requestOf, n as checkPermission, r as defineAuthorizer } from "../authorizer-
|
|
15
|
+
import { a as tenantCredentialRef } from "../provider-C-Ti38J6.js";
|
|
16
|
+
import { n as rawError } from "../block-transport-J7ZepTq2.js";
|
|
17
|
+
import { t as postgresExecutor } from "../executor-CxGQiQN_.js";
|
|
18
|
+
import { i as requestOf, n as checkPermission, r as defineAuthorizer } from "../authorizer-B3yyCVUF.js";
|
|
17
19
|
import { n as parseDbStats } from "../timing-BMCWgpdZ.js";
|
|
18
20
|
import { t as mailHeaders } from "../delivery-B1mKaOen.js";
|
|
19
21
|
import { toCloudEvents } from "../events/index.js";
|
|
20
22
|
import { d as money, l as isRate } from "../money-95Rff2vT.js";
|
|
21
|
-
import { t as SHIPPING_LINE } from "../tax-
|
|
22
|
-
import {
|
|
23
|
-
import { t as buildApiModel } from "../build-Cm0T5MVG.js";
|
|
23
|
+
import { t as SHIPPING_LINE } from "../tax-wm9g2mD2.js";
|
|
24
|
+
import { t as buildApiModel } from "../build-CT6SPZkI.js";
|
|
24
25
|
import { timestamps } from "../plugins/timestamps/index.js";
|
|
25
26
|
import { softDelete } from "../plugins/soft-delete/index.js";
|
|
26
27
|
import { tenant } from "../plugins/tenant/index.js";
|
|
@@ -184,7 +185,12 @@ async function signLocalJwt(claims, path) {
|
|
|
184
185
|
//#region src/testing/as-user.ts
|
|
185
186
|
/** The local CLI stack's default JWT secret. */
|
|
186
187
|
const LOCAL_JWT_SECRET = "super-secret-jwt-token-with-at-least-32-characters-long";
|
|
187
|
-
|
|
188
|
+
const internals = /* @__PURE__ */ new WeakMap();
|
|
189
|
+
/** The pool and identity behind a user from `asUser`, or `undefined` for any other object. */
|
|
190
|
+
function internalsOf(user) {
|
|
191
|
+
return internals.get(user);
|
|
192
|
+
}
|
|
193
|
+
function env$2(...names) {
|
|
188
194
|
if (typeof process === "undefined") return;
|
|
189
195
|
for (const name of names) {
|
|
190
196
|
const value = process.env[name];
|
|
@@ -203,7 +209,7 @@ async function signFor(stack, url, claims) {
|
|
|
203
209
|
case "ES256": return signTestJwtWithKey(stack.signingKey ?? await localSigningKey(stack.signingKeysPath), claims);
|
|
204
210
|
case "HS256":
|
|
205
211
|
if (!LOCAL_HOSTS.has(new URL(url).hostname)) throw new TypeError(`asUser signs HS256 tokens only for a local stack, not ${url}. Use the ES256 key from \`better-supabase keys\`.`);
|
|
206
|
-
return signTestJwt(stack.jwtSecret ?? env$
|
|
212
|
+
return signTestJwt(stack.jwtSecret ?? env$2("SUPABASE_JWT_SECRET") ?? "super-secret-jwt-token-with-at-least-32-characters-long", claims);
|
|
207
213
|
default: throw new TypeError(`asUser: unknown alg "${String(alg)}"`);
|
|
208
214
|
}
|
|
209
215
|
}
|
|
@@ -219,8 +225,8 @@ async function signFor(stack, url, claims) {
|
|
|
219
225
|
* ```
|
|
220
226
|
*/
|
|
221
227
|
async function asUser(betterSupabase, claims, stack = {}) {
|
|
222
|
-
const url = stack.url ?? env$
|
|
223
|
-
const publishableKey = stack.publishableKey ?? env$
|
|
228
|
+
const url = stack.url ?? env$2(...ENV_VARIABLES.url) ?? "http://127.0.0.1:54321";
|
|
229
|
+
const publishableKey = stack.publishableKey ?? env$2(...ENV_VARIABLES.publishableKey, "SUPABASE_ANON_KEY");
|
|
224
230
|
if (!publishableKey) throw new TypeError("asUser needs publishableKey or $SUPABASE_PUBLISHABLE_KEY. Run `better-supabase env` to write it to .env.local.");
|
|
225
231
|
const token = await signFor(stack, url, claims);
|
|
226
232
|
const full = {
|
|
@@ -238,59 +244,24 @@ async function asUser(betterSupabase, claims, stack = {}) {
|
|
|
238
244
|
};
|
|
239
245
|
const supabase = createClient(url, publishableKey, {
|
|
240
246
|
accessToken: () => Promise.resolve(token),
|
|
247
|
+
tracePropagation: stack.tracePropagation ?? false,
|
|
241
248
|
...stack.fetch ? { global: { fetch: stack.fetch } } : {}
|
|
242
249
|
});
|
|
243
|
-
|
|
250
|
+
const user = {
|
|
244
251
|
token,
|
|
245
252
|
claims: full,
|
|
253
|
+
context,
|
|
246
254
|
supabase,
|
|
247
255
|
db: betterSupabase.connect(supabase, context),
|
|
248
256
|
sql: stack.postgres ? betterSupabase.connect(postgresExecutor(stack.postgres.asUser(full)), context) : void 0
|
|
249
257
|
};
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
* can say how to add it.
|
|
258
|
-
*/
|
|
259
|
-
async function loadLite() {
|
|
260
|
-
const root = "@supabase/lite";
|
|
261
|
-
const pglite = "@supabase/lite/pglite";
|
|
262
|
-
const sqlite = "@supabase/lite/sqlite";
|
|
263
|
-
try {
|
|
264
|
-
const [{ App }, pg, sq] = await Promise.all([
|
|
265
|
-
import(root),
|
|
266
|
-
import(pglite),
|
|
267
|
-
import(sqlite)
|
|
268
|
-
]);
|
|
269
|
-
return {
|
|
270
|
-
App,
|
|
271
|
-
createPgliteConnection: () => pg.createPgliteConnection(),
|
|
272
|
-
createSqliteConnection: (url) => sq.createConnection({ url })
|
|
273
|
-
};
|
|
274
|
-
} catch {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
/** Applies migrations, then declarative schemas, with Lite's migrator. */
|
|
279
|
-
async function migrateLite(connection, sql) {
|
|
280
|
-
const ddl = sql.filter((part) => part.trim() !== "").join("\n;\n");
|
|
281
|
-
if (ddl !== "") await connection.createMigrator(ddl).migrate();
|
|
282
|
-
}
|
|
283
|
-
/** Runs seed SQL: as is on PGlite, translated to SQLite on `sqlite-postgres`. */
|
|
284
|
-
async function seedLite(target, sql) {
|
|
285
|
-
if (sql.trim() === "") return;
|
|
286
|
-
if (target.driver === "pglite") {
|
|
287
|
-
await target.connection.driver.exec(sql);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
const { connection } = target;
|
|
291
|
-
const translated = await connection.translateDdl(sql);
|
|
292
|
-
const statements = typeof translated === "string" ? translated : typeof translated === "object" && translated !== null && "ddl" in translated && typeof translated.ddl === "string" ? translated.ddl : "";
|
|
293
|
-
if (statements !== "") await connection.transaction([statements]);
|
|
258
|
+
internals.set(user, {
|
|
259
|
+
connect: (client) => betterSupabase.connect(postgresExecutor(client), context),
|
|
260
|
+
postgres: stack.postgres,
|
|
261
|
+
claims: full,
|
|
262
|
+
context
|
|
263
|
+
});
|
|
264
|
+
return user;
|
|
294
265
|
}
|
|
295
266
|
//#endregion
|
|
296
267
|
//#region src/testing/lite.ts
|
|
@@ -542,6 +513,224 @@ async function expectInstant(page, expectation) {
|
|
|
542
513
|
});
|
|
543
514
|
}
|
|
544
515
|
//#endregion
|
|
516
|
+
//#region src/testing/seed.ts
|
|
517
|
+
const SEED = Symbol.for("better-supabase.seed");
|
|
518
|
+
function isSeed(value) {
|
|
519
|
+
return typeof value === "object" && value !== null && SEED in value;
|
|
520
|
+
}
|
|
521
|
+
const quote = (text) => `'${text.replaceAll("'", "''")}'`;
|
|
522
|
+
function arrayLiteral(values) {
|
|
523
|
+
return `{${values.map((value) => {
|
|
524
|
+
if (value === null) return "NULL";
|
|
525
|
+
if (Array.isArray(value)) return arrayLiteral(value);
|
|
526
|
+
return `"${(temporalText(value) ?? String(value)).replaceAll(/[\\"]/g, "\\$&")}"`;
|
|
527
|
+
}).join(",")}}`;
|
|
528
|
+
}
|
|
529
|
+
function literal(value, column, where) {
|
|
530
|
+
if (value === null) return "null";
|
|
531
|
+
if (column.json) return quote(JSON.stringify(value));
|
|
532
|
+
if (Array.isArray(value)) return quote(arrayLiteral(value));
|
|
533
|
+
const temporalValue = temporalText(value);
|
|
534
|
+
if (temporalValue !== void 0) return quote(temporalValue);
|
|
535
|
+
const kind = typeof value;
|
|
536
|
+
switch (kind) {
|
|
537
|
+
case "string": return quote(value);
|
|
538
|
+
case "boolean":
|
|
539
|
+
case "bigint": return String(value);
|
|
540
|
+
case "number":
|
|
541
|
+
if (!Number.isFinite(value)) throw new TypeError(`${where}: ${String(value)} is not a finite number`);
|
|
542
|
+
return String(value);
|
|
543
|
+
case "object":
|
|
544
|
+
case "function":
|
|
545
|
+
case "symbol":
|
|
546
|
+
case "undefined": throw new TypeError(`${where}: unsupported value of type ${kind}`);
|
|
547
|
+
default: throw new TypeError(`${where}: unsupported value of type ${String(kind)}`);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
const ident = (name) => `"${name.replaceAll("\"", "\"\"")}"`;
|
|
551
|
+
/** Parents first (by forward relations), otherwise in the order given. */
|
|
552
|
+
function order(meta, keys) {
|
|
553
|
+
const sorted = [];
|
|
554
|
+
const visiting = /* @__PURE__ */ new Set();
|
|
555
|
+
const visit = (key) => {
|
|
556
|
+
if (sorted.includes(key) || visiting.has(key)) return;
|
|
557
|
+
visiting.add(key);
|
|
558
|
+
for (const relation of Object.values(meta.tables[key]?.relations ?? {})) if (relation.direction === "forward" && relation.table !== key && keys.includes(relation.table)) visit(relation.table);
|
|
559
|
+
visiting.delete(key);
|
|
560
|
+
sorted.push(key);
|
|
561
|
+
};
|
|
562
|
+
for (const key of keys) visit(key);
|
|
563
|
+
return sorted;
|
|
564
|
+
}
|
|
565
|
+
function statement(table, rows) {
|
|
566
|
+
const entries = Object.entries(rows);
|
|
567
|
+
if (entries.length === 0) return;
|
|
568
|
+
const columns = [];
|
|
569
|
+
for (const [, row] of entries) for (const [key, value] of Object.entries(row)) {
|
|
570
|
+
if (value === void 0 || columns.includes(key)) continue;
|
|
571
|
+
const column = table.columns[key];
|
|
572
|
+
if (!column) throw new TypeError(`seed ${table.key}: unknown column "${key}"`);
|
|
573
|
+
if (column.generated) throw new TypeError(`seed ${table.key}: "${key}" is a generated column`);
|
|
574
|
+
columns.push(key);
|
|
575
|
+
}
|
|
576
|
+
const values = entries.map(([name, row]) => {
|
|
577
|
+
return ` (${columns.map((key) => row[key] === void 0 ? "default" : literal(row[key], table.columns[key], `seed ${table.key}.${name}.${key}`)).join(", ")})`;
|
|
578
|
+
});
|
|
579
|
+
return `insert into ${`${ident(table.schema)}.${ident(table.name)}`} (${columns.map((key) => ident(table.columns[key].db)).join(", ")}) values\n${values.join(",\n")}\non conflict do nothing;`;
|
|
580
|
+
}
|
|
581
|
+
/**
|
|
582
|
+
* Typed fixtures shared by `supabase/seeds` and your tests. Rows use app
|
|
583
|
+
* casing and Insert types; `better-supabase seed` renders them to SQL.
|
|
584
|
+
*
|
|
585
|
+
* ```ts
|
|
586
|
+
* export const seed = defineSeed(betterSupabase, {
|
|
587
|
+
* organizations: { acme: { id: ACME, name: 'Acme' } },
|
|
588
|
+
* customers: { first: { organizationId: ACME, name: 'First customer' } },
|
|
589
|
+
* });
|
|
590
|
+
* ```
|
|
591
|
+
*/
|
|
592
|
+
function defineSeed(betterSupabase, fixtures) {
|
|
593
|
+
const meta = betterSupabase.meta;
|
|
594
|
+
const statements = () => {
|
|
595
|
+
const keys = Object.keys(fixtures).filter((key) => fixtures[key] !== void 0);
|
|
596
|
+
for (const key of keys) {
|
|
597
|
+
const table = meta.tables[key];
|
|
598
|
+
if (!table) throw new TypeError(`seed: unknown table "${key}"`);
|
|
599
|
+
if (table.kind === "view") throw new TypeError(`seed: "${key}" is a view`);
|
|
600
|
+
}
|
|
601
|
+
return order(meta, keys).flatMap((key) => {
|
|
602
|
+
const sql = statement(meta.tables[key], fixtures[key]);
|
|
603
|
+
return sql ? [sql] : [];
|
|
604
|
+
});
|
|
605
|
+
};
|
|
606
|
+
return {
|
|
607
|
+
[SEED]: true,
|
|
608
|
+
rows: fixtures,
|
|
609
|
+
statements,
|
|
610
|
+
sql: () => statements().join("\n\n"),
|
|
611
|
+
async insert(sql) {
|
|
612
|
+
for (const text of statements()) await sql.queryRaw(text);
|
|
613
|
+
}
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
//#endregion
|
|
617
|
+
//#region src/testing/scope.ts
|
|
618
|
+
function env$1(names) {
|
|
619
|
+
if (typeof process === "undefined") return;
|
|
620
|
+
for (const name of names) {
|
|
621
|
+
const value = process.env[name];
|
|
622
|
+
if (value) return value;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Fresh rows for one test, so tests that run at the same time never share
|
|
627
|
+
* data. It creates a new tenant id, inserts the fixtures that `build` returns
|
|
628
|
+
* through the service role (RLS and plugins don't apply), and hands back the
|
|
629
|
+
* inserted rows. Call `cleanup()` in `afterEach` (or `await using`) to delete
|
|
630
|
+
* them. A user from `asUser` then reads them over PostgREST like any other.
|
|
631
|
+
*
|
|
632
|
+
* ```ts
|
|
633
|
+
* const scope = await scopedSeed(
|
|
634
|
+
* betterSupabase,
|
|
635
|
+
* ({ tenant, id }) => ({
|
|
636
|
+
* customers: { first: { organizationId: tenant, name: `first-${id()}` } },
|
|
637
|
+
* }),
|
|
638
|
+
* { tenant: { table: 'organizations', row: (id) => ({ id, name: id, slug: id }) } },
|
|
639
|
+
* );
|
|
640
|
+
* const alice = await asUser(betterSupabase, { sub: aliceId, tenant_id: scope.tenant });
|
|
641
|
+
* expect(await alice.db.customers.count().orThrow()).toBe(1);
|
|
642
|
+
* await scope.cleanup();
|
|
643
|
+
* ```
|
|
644
|
+
*/
|
|
645
|
+
async function scopedSeed(betterSupabase, build, options = {}) {
|
|
646
|
+
const stack = options.stack ?? {};
|
|
647
|
+
const url = stack.url ?? env$1(ENV_VARIABLES.url) ?? "http://127.0.0.1:54321";
|
|
648
|
+
const secretKey = stack.secretKey ?? env$1(ENV_VARIABLES.secretKey);
|
|
649
|
+
if (!secretKey) throw new TypeError("scopedSeed needs stack.secretKey or $SUPABASE_SECRET_KEY to insert rows.");
|
|
650
|
+
const bare = new BetterSupabase(betterSupabase.schema);
|
|
651
|
+
const admin = bare.connect(createClient(url, secretKey, { auth: {
|
|
652
|
+
persistSession: false,
|
|
653
|
+
autoRefreshToken: false
|
|
654
|
+
} }));
|
|
655
|
+
const tenant = crypto.randomUUID();
|
|
656
|
+
const fixtures = build({
|
|
657
|
+
tenant,
|
|
658
|
+
id: () => crypto.randomUUID()
|
|
659
|
+
});
|
|
660
|
+
const cleanup = [];
|
|
661
|
+
const insert = async (table, row) => {
|
|
662
|
+
const repository = admin[table];
|
|
663
|
+
if (!repository) throw new TypeError(`scopedSeed: unknown table "${table}"`);
|
|
664
|
+
const result = await repository.create(row);
|
|
665
|
+
if (!result.ok) throw new Error(`scopedSeed ${table}: ${result.error.message}`);
|
|
666
|
+
const meta = bare.meta.tables[table];
|
|
667
|
+
const created = result.data;
|
|
668
|
+
if (meta && meta.primaryKey.length > 0) {
|
|
669
|
+
const where = Object.fromEntries(meta.primaryKey.map((column) => [column, created[column]]));
|
|
670
|
+
cleanup.push(() => repository.deleteMany({ where }));
|
|
671
|
+
}
|
|
672
|
+
return created;
|
|
673
|
+
};
|
|
674
|
+
const remove = async () => {
|
|
675
|
+
const pending = cleanup.splice(0).reverse();
|
|
676
|
+
let failure;
|
|
677
|
+
for (const run of pending) try {
|
|
678
|
+
await run();
|
|
679
|
+
} catch (error) {
|
|
680
|
+
failure ??= error;
|
|
681
|
+
}
|
|
682
|
+
if (failure !== void 0) throw failure instanceof Error ? failure : new Error(String(failure));
|
|
683
|
+
};
|
|
684
|
+
const rows = {};
|
|
685
|
+
try {
|
|
686
|
+
if (options.tenant) await insert(options.tenant.table, options.tenant.row(tenant));
|
|
687
|
+
const byTable = fixtures;
|
|
688
|
+
for (const key of order(bare.meta, Object.keys(byTable).filter((name) => byTable[name] !== void 0))) {
|
|
689
|
+
rows[key] = {};
|
|
690
|
+
for (const [name, row] of Object.entries(byTable[key] ?? {})) rows[key][name] = await insert(key, row);
|
|
691
|
+
}
|
|
692
|
+
} catch (error) {
|
|
693
|
+
await remove().catch(() => void 0);
|
|
694
|
+
throw error;
|
|
695
|
+
}
|
|
696
|
+
return {
|
|
697
|
+
tenant,
|
|
698
|
+
rows,
|
|
699
|
+
cleanup: remove,
|
|
700
|
+
[Symbol.asyncDispose]: remove
|
|
701
|
+
};
|
|
702
|
+
}
|
|
703
|
+
/** The error `withRollback` throws to end its transaction; never reaches callers. */
|
|
704
|
+
var Rollback = class extends Error {};
|
|
705
|
+
/**
|
|
706
|
+
* Runs `fn` as the user over direct Postgres inside one transaction and
|
|
707
|
+
* always rolls it back, so the test leaves no rows behind. `fn` gets the same
|
|
708
|
+
* repositories as `user.sql`. Only the `sql` path rolls back: `user.db` talks
|
|
709
|
+
* to PostgREST over HTTP and commits on its own.
|
|
710
|
+
*
|
|
711
|
+
* ```ts
|
|
712
|
+
* const alice = await asUser(betterSupabase, claims, { postgres });
|
|
713
|
+
* await withRollback(alice, async (db) => {
|
|
714
|
+
* await db.customers.create({ organizationId, name: 'Temp' }).orThrow();
|
|
715
|
+
* expect(await db.customers.count().orThrow()).toBe(1);
|
|
716
|
+
* });
|
|
717
|
+
* ```
|
|
718
|
+
*/
|
|
719
|
+
async function withRollback(user, fn) {
|
|
720
|
+
const internal = internalsOf(user);
|
|
721
|
+
if (!internal?.postgres) throw new TypeError("withRollback needs a user from asUser(betterSupabase, claims, { postgres }): it rolls back over direct Postgres, not PostgREST.");
|
|
722
|
+
let outcome;
|
|
723
|
+
try {
|
|
724
|
+
await internal.postgres.transaction(async (client) => {
|
|
725
|
+
outcome = { value: await fn(internal.connect(client)) };
|
|
726
|
+
throw new Rollback("rollback");
|
|
727
|
+
}, { claims: internal.claims });
|
|
728
|
+
} catch (error) {
|
|
729
|
+
if (!(error instanceof Rollback) || !outcome) throw error;
|
|
730
|
+
}
|
|
731
|
+
return outcome.value;
|
|
732
|
+
}
|
|
733
|
+
//#endregion
|
|
545
734
|
//#region src/testing/conformance.ts
|
|
546
735
|
/** Thrown by a conformance kit when any check fails. Lists every failure, not just the first. */
|
|
547
736
|
var ConformanceError = class extends Error {
|
|
@@ -1000,107 +1189,6 @@ const supabaseInvalidClaimFixtures = {
|
|
|
1000
1189
|
}
|
|
1001
1190
|
};
|
|
1002
1191
|
//#endregion
|
|
1003
|
-
//#region src/testing/seed.ts
|
|
1004
|
-
const SEED = Symbol.for("better-supabase.seed");
|
|
1005
|
-
function isSeed(value) {
|
|
1006
|
-
return typeof value === "object" && value !== null && SEED in value;
|
|
1007
|
-
}
|
|
1008
|
-
const quote = (text) => `'${text.replaceAll("'", "''")}'`;
|
|
1009
|
-
function arrayLiteral(values) {
|
|
1010
|
-
return `{${values.map((value) => {
|
|
1011
|
-
if (value === null) return "NULL";
|
|
1012
|
-
if (Array.isArray(value)) return arrayLiteral(value);
|
|
1013
|
-
return `"${(temporalText(value) ?? String(value)).replaceAll(/[\\"]/g, "\\$&")}"`;
|
|
1014
|
-
}).join(",")}}`;
|
|
1015
|
-
}
|
|
1016
|
-
function literal(value, column, where) {
|
|
1017
|
-
if (value === null) return "null";
|
|
1018
|
-
if (column.json) return quote(JSON.stringify(value));
|
|
1019
|
-
if (Array.isArray(value)) return quote(arrayLiteral(value));
|
|
1020
|
-
const temporalValue = temporalText(value);
|
|
1021
|
-
if (temporalValue !== void 0) return quote(temporalValue);
|
|
1022
|
-
const kind = typeof value;
|
|
1023
|
-
switch (kind) {
|
|
1024
|
-
case "string": return quote(value);
|
|
1025
|
-
case "boolean":
|
|
1026
|
-
case "bigint": return String(value);
|
|
1027
|
-
case "number":
|
|
1028
|
-
if (!Number.isFinite(value)) throw new TypeError(`${where}: ${String(value)} is not a finite number`);
|
|
1029
|
-
return String(value);
|
|
1030
|
-
case "object":
|
|
1031
|
-
case "function":
|
|
1032
|
-
case "symbol":
|
|
1033
|
-
case "undefined": throw new TypeError(`${where}: unsupported value of type ${kind}`);
|
|
1034
|
-
default: throw new TypeError(`${where}: unsupported value of type ${String(kind)}`);
|
|
1035
|
-
}
|
|
1036
|
-
}
|
|
1037
|
-
const ident = (name) => `"${name.replaceAll("\"", "\"\"")}"`;
|
|
1038
|
-
/** Parents first (by forward relations), otherwise in the order given. */
|
|
1039
|
-
function order(meta, keys) {
|
|
1040
|
-
const sorted = [];
|
|
1041
|
-
const visiting = /* @__PURE__ */ new Set();
|
|
1042
|
-
const visit = (key) => {
|
|
1043
|
-
if (sorted.includes(key) || visiting.has(key)) return;
|
|
1044
|
-
visiting.add(key);
|
|
1045
|
-
for (const relation of Object.values(meta.tables[key]?.relations ?? {})) if (relation.direction === "forward" && relation.table !== key && keys.includes(relation.table)) visit(relation.table);
|
|
1046
|
-
visiting.delete(key);
|
|
1047
|
-
sorted.push(key);
|
|
1048
|
-
};
|
|
1049
|
-
for (const key of keys) visit(key);
|
|
1050
|
-
return sorted;
|
|
1051
|
-
}
|
|
1052
|
-
function statement(table, rows) {
|
|
1053
|
-
const entries = Object.entries(rows);
|
|
1054
|
-
if (entries.length === 0) return;
|
|
1055
|
-
const columns = [];
|
|
1056
|
-
for (const [, row] of entries) for (const [key, value] of Object.entries(row)) {
|
|
1057
|
-
if (value === void 0 || columns.includes(key)) continue;
|
|
1058
|
-
const column = table.columns[key];
|
|
1059
|
-
if (!column) throw new TypeError(`seed ${table.key}: unknown column "${key}"`);
|
|
1060
|
-
if (column.generated) throw new TypeError(`seed ${table.key}: "${key}" is a generated column`);
|
|
1061
|
-
columns.push(key);
|
|
1062
|
-
}
|
|
1063
|
-
const values = entries.map(([name, row]) => {
|
|
1064
|
-
return ` (${columns.map((key) => row[key] === void 0 ? "default" : literal(row[key], table.columns[key], `seed ${table.key}.${name}.${key}`)).join(", ")})`;
|
|
1065
|
-
});
|
|
1066
|
-
return `insert into ${`${ident(table.schema)}.${ident(table.name)}`} (${columns.map((key) => ident(table.columns[key].db)).join(", ")}) values\n${values.join(",\n")}\non conflict do nothing;`;
|
|
1067
|
-
}
|
|
1068
|
-
/**
|
|
1069
|
-
* Typed fixtures shared by `supabase/seeds` and your tests. Rows use app
|
|
1070
|
-
* casing and Insert types; `better-supabase seed` renders them to SQL.
|
|
1071
|
-
*
|
|
1072
|
-
* ```ts
|
|
1073
|
-
* export const seed = defineSeed(betterSupabase, {
|
|
1074
|
-
* organizations: { acme: { id: ACME, name: 'Acme' } },
|
|
1075
|
-
* customers: { first: { organizationId: ACME, name: 'First customer' } },
|
|
1076
|
-
* });
|
|
1077
|
-
* ```
|
|
1078
|
-
*/
|
|
1079
|
-
function defineSeed(betterSupabase, fixtures) {
|
|
1080
|
-
const meta = betterSupabase.meta;
|
|
1081
|
-
const statements = () => {
|
|
1082
|
-
const keys = Object.keys(fixtures).filter((key) => fixtures[key] !== void 0);
|
|
1083
|
-
for (const key of keys) {
|
|
1084
|
-
const table = meta.tables[key];
|
|
1085
|
-
if (!table) throw new TypeError(`seed: unknown table "${key}"`);
|
|
1086
|
-
if (table.kind === "view") throw new TypeError(`seed: "${key}" is a view`);
|
|
1087
|
-
}
|
|
1088
|
-
return order(meta, keys).flatMap((key) => {
|
|
1089
|
-
const sql = statement(meta.tables[key], fixtures[key]);
|
|
1090
|
-
return sql ? [sql] : [];
|
|
1091
|
-
});
|
|
1092
|
-
};
|
|
1093
|
-
return {
|
|
1094
|
-
[SEED]: true,
|
|
1095
|
-
rows: fixtures,
|
|
1096
|
-
statements,
|
|
1097
|
-
sql: () => statements().join("\n\n"),
|
|
1098
|
-
async insert(sql) {
|
|
1099
|
-
for (const text of statements()) await sql.queryRaw(text);
|
|
1100
|
-
}
|
|
1101
|
-
};
|
|
1102
|
-
}
|
|
1103
|
-
//#endregion
|
|
1104
1192
|
//#region src/testing/kits/executor.ts
|
|
1105
1193
|
const recorder = (ops) => ({
|
|
1106
1194
|
name: "recorder",
|
|
@@ -3998,4 +4086,4 @@ const actCases = {
|
|
|
3998
4086
|
]
|
|
3999
4087
|
};
|
|
4000
4088
|
//#endregion
|
|
4001
|
-
export { ConformanceError, LOCAL_JWT_SECRET, PROBE_INITIAL, actCases, asUser, createTestSigner, defineSeed, expectDbBudget, expectInstant, expectTenantIsolation, isSeed, liteStack, localAuth, localSigningKey, signLocalJwt, signTestJwt, signTestJwtWithKey, staticAuthorizer, supabaseClaimFixtures, supabaseInvalidClaimFixtures, testAdapter, testAiTaskRunner, testAuthResolver, testAuthorizationHooks, testAuthorizationProvider, testAuthorizer, testBlockTransportMiddleware, testBuilderStarter, testCacheAdapter, testChatState, testControllerBinding, testCredentialProvider, testDeliveryTransport, testDocumentFormat, testEmbedder, testEveDocumentBackend, testEventSink, testExecutor, testGenerator, testGraphCompiler, testIncomingDestination, testNotificationChannel, testPaymentProvider, testPlugin, testQueueBackend, testStreamStore, testSupportSessionStore, testTaxProvider, testWebhookSecretStore, testWebhookSigner, testWebhookTransport };
|
|
4089
|
+
export { ConformanceError, LOCAL_JWT_SECRET, PROBE_INITIAL, actCases, asUser, createTestSigner, defineSeed, expectDbBudget, expectInstant, expectTenantIsolation, isSeed, liteStack, localAuth, localSigningKey, scopedSeed, signLocalJwt, signTestJwt, signTestJwtWithKey, staticAuthorizer, supabaseClaimFixtures, supabaseInvalidClaimFixtures, testAdapter, testAiTaskRunner, testAuthResolver, testAuthorizationHooks, testAuthorizationProvider, testAuthorizer, testBlockTransportMiddleware, testBuilderStarter, testCacheAdapter, testChatState, testControllerBinding, testCredentialProvider, testDeliveryTransport, testDocumentFormat, testEmbedder, testEveDocumentBackend, testEventSink, testExecutor, testGenerator, testGraphCompiler, testIncomingDestination, testNotificationChannel, testPaymentProvider, testPlugin, testQueueBackend, testStreamStore, testSupportSessionStore, testTaxProvider, testWebhookSecretStore, testWebhookSigner, testWebhookTransport, withRollback };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as AuthorizationFunctions } from "./authorization-
|
|
1
|
+
import { D as ValidationIssue, b as DbError, t as AsyncResult } from "./result-BREt7qOh.js";
|
|
2
|
+
import { B as TableKey, N as Row, a as AnyModels, i as AnyFunctions, r as AccessTopicPolicy } from "./types-BrpW5ixT.js";
|
|
3
|
+
import { t as AuthorizationFunctions } from "./authorization-ClWBcXJi.js";
|
|
4
4
|
import { t as RealtimeStatus } from "./realtime-status-DcsO00Gw.js";
|
|
5
|
-
import {
|
|
6
|
-
import { t as BetterSupabase } from "./define-
|
|
7
|
-
import { g as SubscriberPolicy, h as SubscriberEvent, i as AuthorizationHooks, m as Subscriber } from "./authorization-hooks-
|
|
5
|
+
import { D as TemplateParams, O as TemplateValues } from "./bucket-BBSNDFNH.js";
|
|
6
|
+
import { t as BetterSupabase } from "./define-M_r1d2AT.js";
|
|
7
|
+
import { g as SubscriberPolicy, h as SubscriberEvent, i as AuthorizationHooks, m as Subscriber } from "./authorization-hooks-mLi894KH.js";
|
|
8
8
|
import { RealtimeChannel, SupabaseClient } from "@supabase/supabase-js";
|
|
9
9
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
10
10
|
//#region src/realtime/fan-out.d.ts
|
|
@@ -234,18 +234,45 @@ interface TriggerOptions<M extends AnyModels, T extends keyof M, P extends strin
|
|
|
234
234
|
}>>;
|
|
235
235
|
/** More topics the row change goes to, each with its own values. */
|
|
236
236
|
readonly topics?: readonly TriggerTopic<TriggerValue<M, T>>[];
|
|
237
|
+
/**
|
|
238
|
+
* Send an UPDATE only when one of these columns changed. Inserts and
|
|
239
|
+
* deletes always send.
|
|
240
|
+
*/
|
|
241
|
+
readonly when?: {
|
|
242
|
+
readonly changed: readonly Extract<keyof Row<M, T>, string>[];
|
|
243
|
+
};
|
|
237
244
|
}
|
|
238
|
-
|
|
245
|
+
interface TopicTriggerLookup {
|
|
246
|
+
readonly from: string;
|
|
247
|
+
readonly via: string | TopicTriggerLookup;
|
|
248
|
+
readonly select: string;
|
|
249
|
+
readonly key?: string;
|
|
250
|
+
}
|
|
251
|
+
type TopicTriggerValue = string | TopicTriggerLookup;
|
|
252
|
+
/** `topic.trigger()` without `betterSupabase`: database names. */
|
|
239
253
|
interface TopicTriggerOptions<P extends string> extends TriggerCommonOptions {
|
|
240
254
|
/**
|
|
241
|
-
* The column that fills each placeholder. Defaults to the
|
|
242
|
-
* snake_case (`{organizationId}` reads `organization_id`).
|
|
255
|
+
* The column or lookup that fills each placeholder. Defaults to the
|
|
256
|
+
* placeholder in snake_case (`{organizationId}` reads `organization_id`).
|
|
243
257
|
*/
|
|
244
|
-
readonly values?: { readonly [K in TemplateParams<P>]?:
|
|
245
|
-
/**
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
258
|
+
readonly values?: { readonly [K in TemplateParams<P>]?: TopicTriggerValue; };
|
|
259
|
+
/**
|
|
260
|
+
* `"keys"` (default), `"row"` (bypasses column grants), or the payload
|
|
261
|
+
* itself: each key is a column, a lookup, or `{ sql }`, an expression on
|
|
262
|
+
* the row `{row}` (`tg_op` is the operation).
|
|
263
|
+
*/
|
|
264
|
+
readonly payload?: TriggerPayloadMode | Readonly<Record<string, TopicTriggerValue | {
|
|
265
|
+
readonly sql: string;
|
|
266
|
+
}>>;
|
|
267
|
+
/** More topics the row change goes to, each with its own values. */
|
|
268
|
+
readonly topics?: readonly TriggerTopic<TopicTriggerValue>[];
|
|
269
|
+
/**
|
|
270
|
+
* Send an UPDATE only when one of these columns (database names)
|
|
271
|
+
* changed. Inserts and deletes always send.
|
|
272
|
+
*/
|
|
273
|
+
readonly when?: {
|
|
274
|
+
readonly changed: readonly string[];
|
|
275
|
+
};
|
|
249
276
|
}
|
|
250
277
|
/** A row change sent with `payload: "row"`. */
|
|
251
278
|
interface RowChange<R> {
|
|
@@ -306,10 +333,11 @@ interface Topic<P extends string, E extends EventSchemas, R extends PresenceSche
|
|
|
306
333
|
* a value topics don't allow skips that topic with a warning instead of
|
|
307
334
|
* failing the write.
|
|
308
335
|
*
|
|
309
|
-
* With `betterSupabase`, `table
|
|
310
|
-
*
|
|
311
|
-
*
|
|
336
|
+
* With `betterSupabase`, `table`, columns and lookup tables are app keys.
|
|
337
|
+
* Without it they are database names, and a single topic whose values
|
|
338
|
+
* are columns, with a mode payload and one event name, calls
|
|
312
339
|
* `better_supabase.broadcast_topic()` from the `realtime-tables` module.
|
|
340
|
+
* Every other trigger creates a function for the topic.
|
|
313
341
|
*
|
|
314
342
|
* The payload carries keys only unless `payload` says otherwise:
|
|
315
343
|
* `payload: "row"` sends whole rows and bypasses column grants.
|
|
@@ -356,4 +384,4 @@ declare function rowKeys<M extends AnyModels, D, F extends AnyFunctions, X, T ex
|
|
|
356
384
|
*/
|
|
357
385
|
declare function rowChange<M extends AnyModels, D, F extends AnyFunctions, X, T extends TableKey<M>>(betterSupabase: BetterSupabase<M, D, F, X>, table: T, message: TopicMessage): RowChange<Row<M, T>> | null;
|
|
358
386
|
//#endregion
|
|
359
|
-
export {
|
|
387
|
+
export { TriggerTopic as A, TopicSubscription as C, TriggerLookup as D, TopicTriggerValue as E, FanOutResult as F, TopicFanOutOptions as I, defineTopic as M, rowChange as N, TriggerOptions as O, rowKeys as P, TopicSubscribeOptions as S, TopicTriggerOptions as T, TopicMessage as _, PresenceOutput as a, TopicPermission as b, RealtimeClient as c, SubscribeOptions as d, Subscription as f, TopicHandlers as g, TopicEvent as h, PresenceOptions as i, TriggerValue as j, TriggerPayloadMode as k, RowChange as l, Topic as m, PresenceInput as n, PresenceSchema as o, SubscriptionStatus as p, PresenceMember as r, PresenceSubscription as s, EventSchemas as t, RowKeys as u, TopicOptions as v, TopicTriggerLookup as w, TopicSqlOptions as x, TopicPayload as y };
|