better-supabase 0.13.0 → 0.15.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 +67 -345
- package/dist/access-sql-B-MkVARa.js +207 -0
- package/dist/actor-go7p9-CJ.js +150 -0
- package/dist/adapter-B0b6MXYS.js +2299 -0
- package/dist/agents-5n8DWRfP.d.ts +117 -0
- package/dist/ai-cache-Cu8j6aQQ.js +87 -0
- package/dist/ai-cache-DyHohbFP.d.ts +82 -0
- package/dist/ai-chat-D1GuRnke.d.ts +619 -0
- package/dist/ai-files-CgFCRsnU.js +339 -0
- package/dist/ai-schedules-CAquecT_.d.ts +166 -0
- package/dist/ai-sdk/agents/index.d.ts +6 -6
- package/dist/ai-sdk/agents/index.js +4 -4
- package/dist/ai-sdk/batches/index.d.ts +5 -5
- package/dist/ai-sdk/batches/index.js +4 -4
- package/dist/ai-sdk/cache/index.d.ts +3 -3
- 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 +5 -5
- package/dist/ai-sdk/embeddings/index.d.ts +2 -2
- package/dist/ai-sdk/embeddings/index.js +1 -1
- package/dist/ai-sdk/files/index.d.ts +2 -2
- package/dist/ai-sdk/files/index.js +5 -5
- package/dist/ai-sdk/index.d.ts +30 -9
- package/dist/ai-sdk/index.js +42 -4
- package/dist/ai-sdk/mcp/index.d.ts +4 -4
- package/dist/ai-sdk/mcp/index.js +7 -7
- package/dist/ai-sdk/memory/index.d.ts +3 -3
- package/dist/ai-sdk/memory/index.js +2 -2
- package/dist/ai-sdk/workflow/index.d.ts +4 -4
- package/dist/ai-sdk/workflow/index.js +7 -7
- package/dist/anchors-7F34QyHa.d.ts +40 -0
- package/dist/api-DxAPqMrE.d.ts +495 -0
- package/dist/api-keys-D5k63K6y.d.ts +213 -0
- package/dist/app-tables-CF2DD-Mu.d.ts +28 -0
- package/dist/app-tables-D29Rahtg.js +16350 -0
- package/dist/approvals-Crutd4-o.d.ts +129 -0
- package/dist/assistant-CD_h8Vxx.d.ts +157 -0
- package/dist/astro/index.d.ts +19 -16
- package/dist/astro/index.js +8 -8
- package/dist/attachments-aJYgdYtB.js +369 -0
- package/dist/attributes-Bzf51_nc.js +47 -0
- package/dist/auth-module-BEFESDC4.js +44 -0
- package/dist/auth-reply-tlXB2FQ9.js +31 -0
- package/dist/authorization-HZdJCaVm.d.ts +3595 -0
- package/dist/authorization-hooks-Cs1vP_ej.d.ts +217 -0
- package/dist/authorizer-B6X09otb.d.ts +118 -0
- package/dist/authorizer-BGhXaDmo.js +172 -0
- package/dist/automation-D41DXyvT.js +75 -0
- package/dist/automations-BYsz43AG.js +314 -0
- package/dist/automations-Bc2ue55V.js +26 -0
- package/dist/automations-CD1XlL2W.js +33 -0
- package/dist/automations-CIwRq7zm.js +30 -0
- package/dist/availability-vguUvEK2.d.ts +226 -0
- package/dist/better-result/index.d.ts +20 -30
- package/dist/better-result/index.js +2 -2
- package/dist/bind-CrMBwrPN.d.ts +104 -0
- package/dist/block-authors-BDV3y1SP.js +14 -0
- package/dist/block-authors-DzXLUiIq.d.ts +12 -0
- package/dist/block-env-B_uEM2xz.d.ts +32 -0
- package/dist/block-event-listener-Bu6G0TFH.js +16 -0
- package/dist/block-events-pBXPzwnW.js +83 -0
- package/dist/block-fields-BE7pInWZ.d.ts +58 -0
- package/dist/block-fields-DE_FgpOU.js +139 -0
- package/dist/block-helpers-CRpAHrp_.d.ts +62 -0
- package/dist/block-helpers-CtBdjgO4.js +353 -0
- package/dist/block-hooks-BfxX3682.js +130 -0
- package/dist/block-hooks-DZN2w69m.d.ts +117 -0
- package/dist/block-method-C9hWdHom.js +21 -0
- package/dist/block-method-CiVa2G-J.d.ts +14 -0
- package/dist/block-subjects-BhDKK_j7.js +55 -0
- package/dist/block-subjects-CphkQPxp.d.ts +6 -0
- package/dist/block-tenant-DHp7subc.js +14 -0
- package/dist/block-transport-DWZSJrwN.d.ts +69 -0
- package/dist/blocks/access-requests/index.d.ts +8 -8
- package/dist/blocks/access-requests/index.js +6 -7
- package/dist/blocks/activities/index.d.ts +215 -0
- package/dist/blocks/activities/index.js +414 -0
- package/dist/blocks/agents/index.d.ts +4 -4
- package/dist/blocks/agents/index.js +5 -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 +119 -6
- package/dist/blocks/ai-chat/index.js +1067 -5
- package/dist/blocks/ai-files/index.d.ts +5 -5
- package/dist/blocks/ai-files/index.js +3 -3
- package/dist/blocks/ai-keys/index.d.ts +22 -0
- package/dist/blocks/ai-keys/index.js +236 -0
- package/dist/blocks/ai-schedules/index.d.ts +10 -0
- package/dist/blocks/ai-schedules/index.js +258 -0
- package/dist/blocks/announcements/index.d.ts +134 -5
- package/dist/blocks/announcements/index.js +179 -4
- package/dist/blocks/api-keys/index.d.ts +69 -8
- package/dist/blocks/api-keys/index.js +417 -7
- package/dist/blocks/approvals/index.d.ts +4 -4
- package/dist/blocks/approvals/index.js +25 -24
- package/dist/blocks/assets/index.d.ts +281 -0
- package/dist/blocks/assets/index.js +288 -0
- package/dist/blocks/assignment/index.d.ts +124 -0
- package/dist/blocks/assignment/index.js +141 -0
- package/dist/blocks/attachments/index.d.ts +130 -6
- package/dist/blocks/attachments/index.js +328 -7
- package/dist/blocks/audit/index.d.ts +476 -7
- package/dist/blocks/audit/index.js +863 -7
- package/dist/blocks/automations/index.d.ts +524 -0
- package/dist/blocks/automations/index.js +553 -0
- package/dist/blocks/billable-time/index.d.ts +201 -0
- package/dist/blocks/billable-time/index.js +260 -0
- package/dist/blocks/billing/index.d.ts +146 -16
- package/dist/blocks/billing/index.js +231 -41
- package/dist/blocks/bookings/index.d.ts +54 -5
- package/dist/blocks/bookings/index.js +423 -6
- package/dist/blocks/bulk/index.d.ts +6 -6
- package/dist/blocks/bulk/index.js +4 -4
- package/dist/blocks/calendar/index.d.ts +186 -5
- package/dist/blocks/calendar/index.js +1180 -4
- package/dist/blocks/catalog/index.d.ts +134 -28
- package/dist/blocks/catalog/index.js +183 -54
- package/dist/blocks/channels/index.d.ts +113 -0
- package/dist/blocks/channels/index.js +189 -0
- package/dist/blocks/collections/index.d.ts +90 -17
- package/dist/blocks/collections/index.js +85 -10
- package/dist/blocks/comments/index.d.ts +263 -45
- package/dist/blocks/comments/index.js +360 -16
- package/dist/blocks/compliance/index.d.ts +325 -0
- package/dist/blocks/compliance/index.js +410 -0
- package/dist/blocks/connectors/index.d.ts +4 -4
- package/dist/blocks/connectors/index.js +8 -9
- package/dist/blocks/contacts/index.d.ts +182 -0
- package/dist/blocks/contacts/index.js +358 -0
- package/dist/blocks/content/index.d.ts +188 -0
- package/dist/blocks/content/index.js +219 -0
- package/dist/blocks/contracts/index.d.ts +239 -0
- package/dist/blocks/contracts/index.js +361 -0
- package/dist/blocks/courses/index.d.ts +341 -0
- package/dist/blocks/courses/index.js +445 -0
- package/dist/blocks/created-by/index.d.ts +27 -0
- package/dist/blocks/created-by/index.js +14 -0
- package/dist/blocks/custom-fields/index.d.ts +44 -13
- package/dist/blocks/custom-fields/index.js +25 -20
- package/dist/blocks/data-lifecycle/index.d.ts +9 -9
- package/dist/blocks/data-lifecycle/index.js +7 -8
- package/dist/blocks/deals/index.d.ts +20 -40
- package/dist/blocks/deals/index.js +156 -66
- package/dist/blocks/dispatch/index.d.ts +325 -0
- package/dist/blocks/dispatch/index.js +406 -0
- package/dist/blocks/documents/index.d.ts +8 -5
- package/dist/blocks/documents/index.js +66 -7
- package/dist/blocks/domains/index.d.ts +7 -7
- package/dist/blocks/domains/index.js +6 -7
- package/dist/blocks/donations/index.d.ts +350 -0
- package/dist/blocks/donations/index.js +610 -0
- package/dist/blocks/drive/index.d.ts +56 -11
- package/dist/blocks/drive/index.js +62 -11
- package/dist/blocks/employees/index.d.ts +41 -23
- package/dist/blocks/employees/index.js +125 -33
- package/dist/blocks/enrichment/index.d.ts +176 -0
- package/dist/blocks/enrichment/index.js +251 -0
- package/dist/blocks/enrollments/index.d.ts +182 -0
- package/dist/blocks/enrollments/index.js +173 -0
- package/dist/blocks/entitlements/index.d.ts +48 -8
- package/dist/blocks/entitlements/index.js +62 -4
- package/dist/blocks/expenses/index.d.ts +214 -0
- package/dist/blocks/expenses/index.js +279 -0
- package/dist/blocks/field-history/index.d.ts +63 -0
- package/dist/blocks/field-history/index.js +46 -0
- package/dist/blocks/flags/index.d.ts +17 -13
- package/dist/blocks/flags/index.js +7 -8
- package/dist/blocks/forecasts/index.d.ts +119 -0
- package/dist/blocks/forecasts/index.js +129 -0
- package/dist/blocks/forms/index.d.ts +208 -140
- package/dist/blocks/forms/index.js +488 -149
- package/dist/blocks/goals/index.d.ts +82 -0
- package/dist/blocks/goals/index.js +72 -0
- package/dist/blocks/guests/index.d.ts +198 -0
- package/dist/blocks/guests/index.js +224 -0
- package/dist/blocks/hiring/index.d.ts +20 -10
- package/dist/blocks/hiring/index.js +10 -10
- package/dist/blocks/identities/index.d.ts +7 -7
- package/dist/blocks/identities/index.js +4 -5
- package/dist/blocks/imports/index.d.ts +8 -8
- package/dist/blocks/imports/index.js +6 -6
- package/dist/blocks/inbox/index.d.ts +138 -6
- package/dist/blocks/inbox/index.js +383 -85
- package/dist/blocks/incidents/index.d.ts +337 -0
- package/dist/blocks/incidents/index.js +477 -0
- package/dist/blocks/index.d.ts +145 -11
- package/dist/blocks/index.js +184 -187
- package/dist/blocks/inventory/index.d.ts +10 -10
- package/dist/blocks/inventory/index.js +6 -7
- package/dist/blocks/invoices/index.d.ts +11 -11
- package/dist/blocks/invoices/index.js +8 -9
- package/dist/blocks/knowledge/index.d.ts +3 -3
- package/dist/blocks/knowledge/index.js +4 -4
- package/dist/blocks/lead-scoring/index.d.ts +50 -0
- package/dist/blocks/lead-scoring/index.js +87 -0
- package/dist/blocks/leases/index.d.ts +221 -0
- package/dist/blocks/leases/index.js +244 -0
- package/dist/blocks/leave/index.d.ts +8 -8
- package/dist/blocks/leave/index.js +5 -6
- package/dist/blocks/ledger/index.d.ts +279 -0
- package/dist/blocks/ledger/index.js +229 -0
- package/dist/blocks/mail-sync/index.d.ts +37 -0
- package/dist/blocks/mail-sync/index.js +906 -0
- package/dist/blocks/memberships/index.d.ts +67 -0
- package/dist/blocks/memberships/index.js +14 -0
- package/dist/blocks/memory/index.d.ts +4 -4
- package/dist/blocks/memory/index.js +8 -9
- package/dist/blocks/messaging/index.d.ts +186 -0
- package/dist/blocks/messaging/index.js +619 -0
- package/dist/blocks/metrics/index.d.ts +7 -7
- package/dist/blocks/metrics/index.js +6 -7
- package/dist/blocks/mfa/index.d.ts +145 -3
- package/dist/blocks/mfa/index.js +211 -2
- package/dist/blocks/moderation/index.d.ts +203 -0
- package/dist/blocks/moderation/index.js +199 -0
- package/dist/blocks/notifications/index.d.ts +67 -15
- package/dist/blocks/notifications/index.js +64 -16
- package/dist/blocks/numbering/index.d.ts +45 -0
- package/dist/blocks/numbering/index.js +49 -0
- package/dist/blocks/oauth-server/index.d.ts +6 -6
- package/dist/blocks/oauth-server/index.js +6 -7
- package/dist/blocks/onboarding/index.d.ts +112 -4
- package/dist/blocks/onboarding/index.js +107 -4
- package/dist/blocks/orders/index.d.ts +152 -13
- package/dist/blocks/orders/index.js +188 -18
- package/dist/blocks/organizations/index.d.ts +452 -6
- package/dist/blocks/organizations/index.js +689 -5
- package/dist/blocks/outbox/index.d.ts +4 -4
- package/dist/blocks/outbox/index.js +20 -8
- package/dist/blocks/passes/index.d.ts +306 -0
- package/dist/blocks/passes/index.js +411 -0
- package/dist/blocks/permissions/index.d.ts +92 -0
- package/dist/blocks/permissions/index.js +127 -0
- package/dist/blocks/pipelines/index.d.ts +15 -15
- package/dist/blocks/pipelines/index.js +12 -13
- package/dist/blocks/posts/index.d.ts +190 -0
- package/dist/blocks/posts/index.js +230 -0
- package/dist/blocks/profiles/index.d.ts +7 -7
- package/dist/blocks/profiles/index.js +5 -6
- package/dist/blocks/promotions/index.d.ts +9 -9
- package/dist/blocks/promotions/index.js +7 -8
- package/dist/blocks/push/index.d.ts +9 -9
- package/dist/blocks/push/index.js +4 -5
- package/dist/blocks/queue/index.d.ts +562 -0
- package/dist/blocks/queue/index.js +1407 -0
- package/dist/blocks/quotes/index.d.ts +29 -14
- package/dist/blocks/quotes/index.js +14 -14
- package/dist/blocks/rank/index.d.ts +7 -7
- package/dist/blocks/rank/index.js +4 -4
- package/dist/blocks/reactions/index.d.ts +154 -5
- package/dist/blocks/reactions/index.js +168 -4
- package/dist/blocks/relations/index.d.ts +59 -42
- package/dist/blocks/relations/index.js +117 -59
- package/dist/blocks/reminders/index.d.ts +21 -17
- package/dist/blocks/reminders/index.js +26 -27
- package/dist/blocks/reviews/index.d.ts +8 -8
- package/dist/blocks/reviews/index.js +6 -7
- package/dist/blocks/saved-views/index.d.ts +311 -4
- package/dist/blocks/saved-views/index.js +437 -2
- package/dist/blocks/scores/index.d.ts +48 -0
- package/dist/blocks/scores/index.js +40 -0
- package/dist/blocks/search/index.d.ts +168 -5
- package/dist/blocks/search/index.js +277 -6
- package/dist/blocks/security-events/index.d.ts +440 -0
- package/dist/blocks/security-events/index.js +885 -0
- package/dist/blocks/segments/index.d.ts +130 -0
- package/dist/blocks/segments/index.js +135 -0
- package/dist/blocks/sequences/index.d.ts +259 -0
- package/dist/blocks/sequences/index.js +376 -0
- package/dist/blocks/service-accounts/index.d.ts +132 -0
- package/dist/blocks/service-accounts/index.js +109 -0
- package/dist/blocks/sessions/index.d.ts +138 -3
- package/dist/blocks/sessions/index.js +173 -2
- package/dist/blocks/settings/index.d.ts +181 -5
- package/dist/blocks/settings/index.js +226 -4
- package/dist/blocks/share-links/index.d.ts +46 -19
- package/dist/blocks/share-links/index.js +74 -23
- package/dist/blocks/shipments/index.d.ts +236 -0
- package/dist/blocks/shipments/index.js +548 -0
- package/dist/blocks/signatures/index.d.ts +151 -0
- package/dist/blocks/signatures/index.js +149 -0
- package/dist/blocks/signing-keys/index.d.ts +4 -4
- package/dist/blocks/signing-keys/index.js +4 -165
- package/dist/blocks/sla/index.d.ts +37 -27
- package/dist/blocks/sla/index.js +48 -13
- package/dist/blocks/sso/index.d.ts +7 -7
- package/dist/blocks/sso/index.js +4 -5
- package/dist/blocks/state-machine/index.d.ts +14 -14
- package/dist/blocks/state-machine/index.js +26 -26
- package/dist/blocks/subjects/index.d.ts +45 -0
- package/dist/blocks/subjects/index.js +203 -0
- package/dist/blocks/tags/index.d.ts +170 -5
- package/dist/blocks/tags/index.js +265 -5
- package/dist/blocks/tasks/index.d.ts +346 -0
- package/dist/blocks/tasks/index.js +626 -0
- package/dist/blocks/teams/index.d.ts +7 -7
- package/dist/blocks/teams/index.js +4 -4
- package/dist/blocks/templates/index.d.ts +18 -18
- package/dist/blocks/templates/index.js +11 -12
- package/dist/blocks/time-tracking/index.d.ts +40 -32
- package/dist/blocks/time-tracking/index.js +40 -40
- package/dist/blocks/timeline/index.d.ts +116 -0
- package/dist/blocks/timeline/index.js +164 -0
- package/dist/blocks/trash/index.d.ts +47 -9
- package/dist/blocks/trash/index.js +9 -8
- package/dist/blocks/undo/index.d.ts +48 -5
- package/dist/blocks/undo/index.js +60 -4
- package/dist/blocks/updated-at/index.d.ts +20 -0
- package/dist/blocks/updated-at/index.js +14 -0
- package/dist/blocks/usage/index.d.ts +40 -6
- package/dist/blocks/usage/index.js +301 -4
- package/dist/blocks/vercel-marketplace/index.d.ts +7 -7
- package/dist/blocks/vercel-marketplace/index.js +8 -9
- package/dist/blocks/versions/index.d.ts +38 -19
- package/dist/blocks/versions/index.js +66 -19
- package/dist/blocks/waitlist/index.d.ts +9 -9
- package/dist/blocks/waitlist/index.js +5 -6
- package/dist/blocks/webhooks/index.d.ts +21 -21
- package/dist/blocks/webhooks/index.js +18 -19
- package/dist/blocks/workflow-editor/index.d.ts +99 -0
- package/dist/blocks/workflow-editor/index.js +733 -0
- package/dist/blocks/workflows/index.d.ts +72 -6
- package/dist/blocks/workflows/index.js +379 -4
- package/dist/bookings-D4dvGXiR.d.ts +290 -0
- package/dist/bucket-CiNi8sIw.d.ts +666 -0
- package/dist/build-BFC8nFiL.js +797 -0
- package/dist/build-QitPVzzO.js +2073 -0
- package/dist/carrier-KzeYXVrW.d.ts +169 -0
- package/dist/chat-sdk/index.d.ts +43 -11
- package/dist/chat-sdk/index.js +51 -24
- package/dist/claims-DTy6R6my.js +63 -0
- package/dist/cli/add-BgsUjCan.js +1252 -0
- package/dist/cli/add-DCI5JKjA.js +99 -0
- package/dist/cli/add-DWjlVwvP.js +1 -0
- package/dist/cli/args-UEwg0l-N.js +27 -0
- package/dist/cli/backfill-nxPbcsns.js +293 -0
- package/dist/cli/bin.js +1 -1
- package/dist/cli/blocks-BZHI8mRC.js +156 -0
- package/dist/cli/blocks-Cr4HGePW.js +1 -0
- package/dist/cli/cache-CXgR_Ahi.js +607 -0
- package/dist/cli/codemod-DSN7iAdg.js +2343 -0
- package/dist/cli/codemod-block-renames-BuSaTE_G.js +239 -0
- package/dist/cli/command-CQ61x6gN.js +941 -0
- package/dist/cli/completion-2Y3D_eNu.js +211 -0
- package/dist/cli/completion-BwI0_Ap5.js +30 -0
- package/dist/cli/completion-Dlu5AdUW.js +1 -0
- package/dist/cli/config-9t5ec_N7.js +1642 -0
- package/dist/cli/config-CBqkQjjN.js +1 -0
- package/dist/cli/config-CPux9Wa7.js +47 -0
- package/dist/cli/config-edit-CrWfk8s3.js +621 -0
- package/dist/cli/config-group-C8tjut39.js +391 -0
- package/dist/cli/content-mapper-DNs7lTu7.js +182 -0
- package/dist/cli/db-DrBI_HNv.js +223 -0
- package/dist/cli/doctor-DDrEM6S1.js +4561 -0
- package/dist/cli/env-BBl5L8Bf.js +143 -0
- package/dist/cli/env-CAU1nknN.js +1 -0
- package/dist/cli/files-CX71yBm8.js +1010 -0
- package/dist/cli/gen-MtijJQ9r.js +387 -0
- package/dist/cli/in-stack-diff-DQTW53Vf.js +257 -0
- package/dist/cli/index.d.ts +51 -5
- package/dist/cli/index.js +8 -8
- package/dist/cli/init-D-aDv9r5.js +440 -0
- package/dist/cli/keys-DGEpMbeB.js +106 -0
- package/dist/cli/live-iEeH15ck.js +341 -0
- package/dist/cli/mcp-BAPyaQ62.js +249 -0
- package/dist/cli/metadata-DVx9Zgbj.js +150 -0
- package/dist/cli/migration-safety-D7PhzFxm.js +928 -0
- package/dist/cli/module-migration-aPCckev6.js +734 -0
- package/dist/cli/moved-CsfDQcyk.js +254 -0
- package/dist/cli/orphans-BAboqyVM.js +28 -0
- package/dist/cli/parse-B9Iv_-Pf.js +182 -0
- package/dist/cli/preset-BwmIfFnh.js +101 -0
- package/dist/cli/print-BeWO7OJY.js +67 -0
- package/dist/cli/remove-B46Dmd2M.js +238 -0
- package/dist/cli/render-ucJmUyuM.js +2170 -0
- package/dist/cli/run-BXx6D1aR.js +63 -0
- package/dist/cli/run-CvYVAztY.js +1427 -0
- package/dist/cli/run-DYhLBcFW.js +702 -0
- package/dist/cli/seed-Cz8PcXeT.js +188 -0
- package/dist/cli/seed-D6XijwbR.js +1 -0
- package/dist/cli/shared-LZroULBe.js +151 -0
- package/dist/cli/skills-toUan_OV.js +121 -0
- package/dist/cli/snapshot-C8MVPyO8.js +729 -0
- package/dist/cli/source-DANaJJVc.js +320 -0
- package/dist/cli/source-args-IpJRJO5t.js +59 -0
- package/dist/cli/spec-DGVNMSSB.js +7530 -0
- package/dist/cli/spec-g8_G5K7o.js +1 -0
- package/dist/cli/stack-CWEHdO0b.js +135 -0
- package/dist/cli/sync-btj01bcM.js +319 -0
- package/dist/cli/upgrade-B596d4t8.js +403 -0
- package/dist/cli/upgrade-Dw3TMQzn.js +41 -0
- package/dist/cli/version-Du4CgONY.js +4 -0
- package/dist/client/index.d.ts +8 -7
- package/dist/client/index.js +11 -7
- package/dist/client/native/index.d.ts +6 -6
- package/dist/client/native/index.js +3 -3
- package/dist/client-BAEbEA7t.js +287 -0
- package/dist/cloud-event-CzZTJkXv.d.ts +64 -0
- package/dist/codecs-CMWlhHZ0.d.ts +222 -0
- package/dist/codecs-TylXqU_I.js +358 -0
- package/dist/commerce/index.d.ts +4 -3
- package/dist/commerce/index.js +6 -6
- package/dist/compiler-D3UmE7ao.d.ts +14 -0
- package/dist/compose-DKW0Tr3e.js +53 -0
- package/dist/composite-BARuBEDE.js +130 -0
- package/dist/composite-Dsxj7T5K.d.ts +82 -0
- package/dist/config/index.d.ts +6 -7
- package/dist/config/index.js +6 -6
- package/dist/config-CcehOvbz.js +1698 -0
- package/dist/config-DWGgUQCh.js +1108 -0
- package/dist/connectors-Fud4amxp.d.ts +147 -0
- package/dist/context-CEuTKrkz.d.ts +4129 -0
- package/dist/context-DBicfUNz.js +41 -0
- package/dist/controller-BNZKd6bJ.js +73 -0
- package/dist/controller-BrP0gn47.d.ts +52 -0
- package/dist/conversion-BAbucuXq.d.ts +86 -0
- package/dist/conversion-Dq1S7xzE.js +77 -0
- package/dist/create/index.d.ts +34 -23
- package/dist/create/index.js +35 -27
- package/dist/create/lite/index.d.ts +2 -2
- package/dist/create/supabase/index.d.ts +2 -2
- package/dist/create/supabase/index.js +2 -2
- package/dist/create-blocks-Bu4H5TXw.js +352 -0
- package/dist/credentials/index.d.ts +5 -5
- package/dist/credentials/index.js +6 -7
- package/dist/cron-CgHTKwYG.js +148 -0
- package/dist/cron-route-UU9i5i9J.js +24 -0
- package/dist/data-engine-BWoz9lED.d.ts +273 -0
- package/dist/data-engine-D1BkmBoR.js +173 -0
- package/dist/data-hooks-tgF1Ct0F.js +280 -0
- package/dist/db-blocks-DJGbjIPz.js +62 -0
- package/dist/db-exception-Lngc1W49.js +31 -0
- package/dist/deal-forecast-Bv52QMyX.js +39 -0
- package/dist/deal-forecast-LwO-Z4_C.d.ts +23 -0
- package/dist/define-DFBnQyYg.d.ts +1255 -0
- package/dist/define-DlUeKHce.js +2011 -0
- package/dist/define-block-BGqOO8B3.js +64 -0
- package/dist/define-block-BVcLQ3DF.d.ts +1657 -0
- package/dist/delegation--93jRsVO.js +146 -0
- package/dist/documents-Cup1rpjF.d.ts +152 -0
- package/dist/edge/index.d.ts +23 -23
- package/dist/edge/index.js +14 -14
- package/dist/elysia/index.d.ts +1 -1
- package/dist/elysia/index.js +1 -1
- package/dist/embeddings-kFbRvuic.d.ts +78 -0
- package/dist/embeddings-vVzseUw0.js +128 -0
- package/dist/ended-gUsMZVNg.d.ts +26 -0
- package/dist/entitlements-CJpYQXeE.d.ts +54 -0
- package/dist/entitlements-NZAE_vLj.js +45 -0
- package/dist/entity-naming-Dtyq5sKE.js +131 -0
- package/dist/entity-schema-BDv6w-OQ.js +39 -0
- package/dist/envelope-Bzu0JnY2.js +90 -0
- package/dist/errors-BVFgt8BZ.js +328 -0
- package/dist/errors-CyxMxzlu.js +44 -0
- package/dist/escape-like-PReMbEEU.d.ts +30 -0
- package/dist/eve/index.d.ts +5 -5
- package/dist/eve/index.js +4 -4
- package/dist/eve-BFSwTu1z.d.ts +157 -0
- package/dist/event-calendar-DCufbihU.d.ts +65 -0
- package/dist/events/index.d.ts +4 -4
- package/dist/events/index.js +2 -1
- package/dist/events-vcqenSYU.d.ts +852 -0
- package/dist/executor-3qcMhg6R.js +207 -0
- package/dist/executor-BQ7dYw4E.js +843 -0
- package/dist/executor-CVIn6JHa.d.ts +174 -0
- package/dist/executor-D3gB-9si.js +486 -0
- package/dist/executor-_2ekNofh.d.ts +104 -0
- package/dist/executor-hGjrop3A.d.ts +37 -0
- package/dist/expo/index.d.ts +12 -11
- package/dist/expo/index.js +12 -11
- package/dist/extension-B-lajjex.js +58 -0
- package/dist/extension-B0EjCYhO.js +61 -0
- package/dist/extension-DeAd_MqI.js +121 -0
- package/dist/extension-DzCc0IOd.js +103 -0
- package/dist/extension-shared-Djm8mGHD.js +60 -0
- package/dist/field-errors-fsbFktYF.d.ts +216 -0
- package/dist/field-formats-CAFNkKSN.d.ts +38 -0
- package/dist/fields-B0zaJAO3.js +107 -0
- package/dist/fields-C3q2ypnO.d.ts +78 -0
- package/dist/filter-evaluate-CPxeae5X.d.ts +37 -0
- package/dist/filter-evaluate-w1XOIUOL.js +217 -0
- package/dist/filter-query-BXLs72G9.d.ts +133 -0
- package/dist/filter-query-DMoKo82_.js +566 -0
- package/dist/flags-BOdA_ETQ.js +279 -0
- package/dist/flags-C01PLMJ-.d.ts +246 -0
- package/dist/flags-sdk/index.d.ts +1 -1
- package/dist/flags-sdk/index.js +2 -2
- package/dist/form-definition-BTpM_tz1.js +363 -0
- package/dist/form-definition-BjEtH8BT.d.ts +119 -0
- package/dist/format-u-65igKI.d.ts +79 -0
- package/dist/framework-BKyTeS-j.d.ts +47 -0
- package/dist/framework-DDdkR7FX.js +58 -0
- package/dist/function-contract-DxFNOmsm.d.ts +27 -0
- package/dist/gateway-TD1pRfTP.d.ts +115 -0
- package/dist/guest-actions-1T1DeS5Y.d.ts +5 -0
- package/dist/guest-actions-B7zdhfnh.js +9 -0
- package/dist/h3/index.d.ts +2 -4
- package/dist/h3/index.js +2 -4
- package/dist/h3/v1/index.d.ts +2 -3
- package/dist/h3/v1/index.js +2 -3
- package/dist/hono/index.d.ts +27 -21
- package/dist/hono/index.js +22 -20
- package/dist/http-7-UvHjQe.js +28 -0
- package/dist/impersonation-DM3oWNoD.js +62 -0
- package/dist/inbox-NDKwSk_H.d.ts +321 -0
- package/dist/index-B938YqY-.d.ts +188 -0
- package/dist/index-BUuVq1co.d.ts +158 -0
- package/dist/index-BnH4Gomw.d.ts +633 -0
- package/dist/index-BxYOB1Oc.d.ts +149 -0
- package/dist/index-C-qpk8EQ.d.ts +262 -0
- package/dist/index-CG9rA8H8.d.ts +407 -0
- package/dist/index-CguFm716.d.ts +518 -0
- package/dist/index-DLq69k3F.d.ts +588 -0
- package/dist/index-Do2ChN_y.d.ts +287 -0
- package/dist/index.d.ts +39 -92
- package/dist/index.js +95 -16
- package/dist/instances-BHjCZoF8.js +277 -0
- package/dist/invalidate-DMp4eqfF.d.ts +21 -0
- package/dist/json-schema-Ca6gYbEP.js +888 -0
- package/dist/jwks-cache-DEsKI0hJ.js +49 -0
- package/dist/kit-5l-o8RxL.js +133 -0
- package/dist/kit-DOwKpSkA.d.ts +94 -0
- package/dist/knowledge-BGbtxMP9.js +300 -0
- package/dist/knowledge-CtL-Vfgy.d.ts +217 -0
- package/dist/lint/index.d.ts +94 -11
- package/dist/lint/index.js +268 -26
- package/dist/list/index.d.ts +4 -4
- package/dist/list/index.js +3 -3
- package/dist/list-query-BDVutLFr.d.ts +222 -0
- package/dist/list-query-BKy2zBaT.js +559 -0
- package/dist/live-C21DgbsD.js +275 -0
- package/dist/mapper/bin.js +380 -0
- package/dist/mcp/index.d.ts +8 -8
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/sdk/index.d.ts +10 -10
- package/dist/mcp/sdk/index.js +11 -11
- package/dist/messages-D4XWuRTj.js +492 -0
- package/dist/messaging-C_Pr9tGx.d.ts +297 -0
- package/dist/methods-B3o7BFOW.js +11 -0
- package/dist/mfa-oIOYTpvc.d.ts +36 -0
- package/dist/model-hwpvole9.d.ts +340 -0
- package/dist/model-messages-CKG0zwdF.js +206 -0
- package/dist/money-codec-BzddguAQ.js +41 -0
- package/dist/my-work-kinds-BU3SlA-6.js +11 -0
- package/dist/nestjs/index.d.ts +3 -3
- package/dist/nestjs/index.js +2 -2
- package/dist/next/index.d.ts +296 -57
- package/dist/next/index.js +310 -54
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.js +6 -8
- package/dist/operations-CSc_IsHO.d.ts +6 -0
- package/dist/options-0qvUckqt.js +9 -0
- package/dist/options-1GgseJq5.js +10 -0
- package/dist/options-21s0dpnX.js +9 -0
- package/dist/options-2EMA_x6_.js +16 -0
- package/dist/options-63AKQNv0.js +5 -0
- package/dist/options-9gvPo1BC.js +8 -0
- package/dist/options-B-cxGmRA.js +5 -0
- package/dist/options-B0EJULm5.js +5 -0
- package/dist/options-B2swWnJW.js +9 -0
- package/dist/options-B5VUf4IT.js +8 -0
- package/dist/options-BMGClqoa.js +11 -0
- package/dist/options-BPDiwSa-.js +5 -0
- package/dist/options-BQIYfx9F.js +9 -0
- package/dist/options-BVg58avP.js +5 -0
- package/dist/options-BYOtaF7w.js +5 -0
- package/dist/options-BZOliZvb.js +9 -0
- package/dist/options-BbnPv6p7.js +12 -0
- package/dist/options-BfLmA375.js +5 -0
- package/dist/options-BjtrC7o6.js +8 -0
- package/dist/options-BlncUmIc.js +9 -0
- package/dist/options-BlzSfWxC.d.ts +10 -0
- package/dist/options-BnZS7IK-.js +9 -0
- package/dist/options-Bpl-WFPk.js +15 -0
- package/dist/options-Br1Xi2Hw.js +9 -0
- package/dist/options-Bt0bYMLl.js +24 -0
- package/dist/options-BvtnxHfK.js +24 -0
- package/dist/options-C-dQHH5-.js +8 -0
- package/dist/options-C3RgtOLo.js +5 -0
- package/dist/options-CE93HOYi.d.ts +7 -0
- package/dist/options-CF7nRWXS.js +5 -0
- package/dist/options-CM6-18FQ.d.ts +13 -0
- package/dist/options-CPK2nQER.js +5 -0
- package/dist/options-CRz8Ht_4.js +9 -0
- package/dist/options-CSCXNYJO.d.ts +8 -0
- package/dist/options-CW9wTqOk.js +11 -0
- package/dist/options-CYV4iZiQ.js +5 -0
- package/dist/options-Cl9Ag2Pt.js +8 -0
- package/dist/options-Cp0HyUEk.js +9 -0
- package/dist/options-Cqq2jUww.js +10 -0
- package/dist/options-CsGl5BLH.d.ts +52 -0
- package/dist/options-CtUUU71w.js +20 -0
- package/dist/options-CvD9vNvx.js +9 -0
- package/dist/options-CyAhRKKm.d.ts +14 -0
- package/dist/options-Cyu0hgmN.js +9 -0
- package/dist/options-D0G06Zm9.js +8 -0
- package/dist/options-D0bzZx9a.d.ts +10 -0
- package/dist/options-D1hSuf50.d.ts +12 -0
- package/dist/options-D6as77gU.d.ts +16 -0
- package/dist/options-DChZoVfs.d.ts +11 -0
- package/dist/options-DINdgVih.d.ts +9 -0
- package/dist/options-DJ-aYPVN.js +5 -0
- package/dist/options-DPgdAXO5.js +11 -0
- package/dist/options-DWML05Cp.js +5 -0
- package/dist/options-DWVYM8P0.d.ts +17 -0
- package/dist/options-DWbA9buW.js +9 -0
- package/dist/options-DXnBN2E7.js +8 -0
- package/dist/options-D_bBVCXg.js +5 -0
- package/dist/options-DcOx8_3X.d.ts +19 -0
- package/dist/options-DeNejBtq.js +8 -0
- package/dist/options-DgQo80Xh.js +5 -0
- package/dist/options-DlohRAYd.d.ts +13 -0
- package/dist/options-DplE18Ko.d.ts +12 -0
- package/dist/options-DrSkIBCD.js +9 -0
- package/dist/options-E7KcmHQv.js +8 -0
- package/dist/options-HLwOuF2H.js +10 -0
- package/dist/options-IHPg8ZoA.js +5 -0
- package/dist/options-KV84gAxl.js +10 -0
- package/dist/options-Li1Dyu88.d.ts +10 -0
- package/dist/options-Q1Bzgqpr.js +5 -0
- package/dist/options-_F-enoBs.d.ts +26 -0
- package/dist/options-c5WCsky5.js +21 -0
- package/dist/options-nFzfgtA6.js +5 -0
- package/dist/options-o2kfYU2x.js +8 -0
- package/dist/options-pOVWwbAK.d.ts +10 -0
- package/dist/options-t_O5ldT6.js +5 -0
- package/dist/options-xD4_FRUq.js +10 -0
- package/dist/options-y_-AkVCs.d.ts +15 -0
- package/dist/options-zkyhM3qi.js +8 -0
- package/dist/orpc/index.d.ts +76 -20
- package/dist/orpc/index.js +174 -9
- package/dist/otel/index.d.ts +3 -3
- package/dist/otel/index.js +7 -7
- package/dist/outbox-HvGAJuBe.d.ts +199 -0
- package/dist/payments-BXvabJOw.js +16 -0
- package/dist/payments-BYcN34Fp.d.ts +114 -0
- package/dist/permissions-controller-BMsqIE5T.js +34 -0
- package/dist/plugin-AKwwe2gF.js +48 -0
- package/dist/pool-CrtT4dg-.d.ts +123 -0
- package/dist/pool-errors-JUBcGrre.js +27 -0
- package/dist/ports-DOhtuw3c.js +152 -0
- package/dist/ports-sx226JUL.d.ts +89 -0
- package/dist/postgres/index.d.ts +5 -5
- package/dist/postgres/index.js +3 -3
- package/dist/postgrest-executor-BFW4oWte.js +1064 -0
- package/dist/postgrest-z-T0l23T.d.ts +53 -0
- package/dist/powersync/index.d.ts +106 -7
- package/dist/powersync/index.js +169 -23
- package/dist/preset/index.d.ts +4 -4
- package/dist/preset/index.js +4 -4
- package/dist/preset-CsHnIBJF.js +875 -0
- package/dist/problem-Bf0cJ7tk.js +162 -0
- package/dist/problem-DNwN8iGz.d.ts +79 -0
- package/dist/provider-B6g7rBZX.js +57 -0
- package/dist/provider-CqwEOLCA.d.ts +112 -0
- package/dist/push-token-D3Vcf0Pf.d.ts +24 -0
- package/dist/queries-BWYYS9um.js +239 -0
- package/dist/query/index.d.ts +4 -4
- package/dist/query/index.js +357 -3
- package/dist/rank-result-BBJIK-k_.js +18 -0
- package/dist/rank-result-Bwe7igy-.d.ts +14 -0
- package/dist/rate-limit-BWKGlhTM.js +49 -0
- package/dist/rate-limit-Bztf32cl.d.ts +50 -0
- package/dist/rate-limit-o44SYkVY.js +327 -0
- package/dist/react/index.d.ts +10 -9
- package/dist/react/index.js +5 -5
- package/dist/react/native/index.d.ts +1 -1
- package/dist/react/native/index.js +2 -3
- package/dist/react/server.d.ts +72 -13
- package/dist/react/server.js +71 -9
- package/dist/react/session.d.ts +3 -3
- package/dist/react-BuDYI62C.js +979 -0
- package/dist/react-router/index.d.ts +19 -13
- package/dist/react-router/index.js +10 -10
- package/dist/read-set-BnKnofIj.js +199 -0
- package/dist/realtime/index.d.ts +7 -7
- package/dist/realtime/index.js +36 -4
- package/dist/record-bindings-DkBJpC5A.js +26 -0
- package/dist/record-form-BYs9xv_N.d.ts +82 -0
- package/dist/record-type-DRbnlj5q.js +221 -0
- package/dist/recordings-BBSJt_YV.d.ts +119 -0
- package/dist/records/index.d.ts +83 -0
- package/dist/records/index.js +314 -0
- package/dist/refresh-DT_ICaK-.d.ts +54 -0
- package/dist/refusal-ByBZcm0V.js +64 -0
- package/dist/refusal-CSntB_x8.d.ts +32 -0
- package/dist/replicas-Dyoh3CEg.js +94 -0
- package/dist/resolve-B0mW2m7f.js +932 -0
- package/dist/resolve-CXX6DHv3.d.ts +288 -0
- package/dist/resource-D8pzB5Qf.d.ts +123 -0
- package/dist/resource-DV2GC2dB.js +520 -0
- package/dist/resource-DvgXqZB_.js +105 -0
- package/dist/resource-execute-CzHuDsil.d.ts +15 -0
- package/dist/resource-types-DnKiH4G2.d.ts +157 -0
- package/dist/resources-B9cQxhjw.d.ts +7 -0
- package/dist/resources-C02l_YBJ.js +64 -0
- package/dist/respond-C3CcOZlA.js +100 -0
- package/dist/respond-Dn1_YhC1.d.ts +106 -0
- package/dist/result-DZeA5KS6.d.ts +351 -0
- package/dist/result-ntFBW2p2.js +146 -0
- package/dist/rows-BDLZStp4.js +80 -0
- package/dist/rows-Bm6sskji.js +39 -0
- package/dist/rrule-79K2c3Nr.js +290 -0
- package/dist/run-state-BMCD_1Lt.d.ts +13 -0
- package/dist/sales-lines-Bk4mbLH1.d.ts +37 -0
- package/dist/sales-lines-D-sf9PIB.js +43 -0
- package/dist/sales-shared-DXGFJP4g.js +22 -0
- package/dist/schemas-l2aF78zQ.js +216 -0
- package/dist/scores-B2BiNuVJ.d.ts +174 -0
- package/dist/scores-CRp3vvQU.js +177 -0
- package/dist/server/index.d.ts +103 -42
- package/dist/server/index.js +98 -30
- package/dist/server-types-CFtehAsr.d.ts +946 -0
- package/dist/session-CH0SKgIz.d.ts +99 -0
- package/dist/shared-C47zAh2A.js +17 -0
- package/dist/sign-in-BAjR49fq.d.ts +24 -0
- package/dist/sign-in-BsIaNx2C.js +392 -0
- package/dist/sign-in-DNCdrk05.js +608 -0
- package/dist/signatures-CNcoq392.js +145 -0
- package/dist/signatures-Dkx9OE8j.d.ts +43 -0
- package/dist/signers-BAEzvTJ0.d.ts +390 -0
- package/dist/signing-keys-BNDUxpQL.d.ts +119 -0
- package/dist/signing-keys-wGKh4vtt.js +164 -0
- package/dist/solid/index.d.ts +67 -15
- package/dist/solid/index.js +93 -11
- package/dist/solid-start/index.d.ts +17 -14
- package/dist/solid-start/index.js +8 -8
- package/dist/spec/index.d.ts +691 -9
- package/dist/spec/index.js +2487 -5
- package/dist/spec-DTWkHzYZ.js +124 -0
- package/dist/spec-pins-C1Vm8OBl.js +61 -0
- package/dist/spec-pins-DIx95afw.d.ts +125 -0
- package/dist/sql/index.d.ts +5 -5
- package/dist/sql/index.js +5 -5
- package/dist/sql-BPbbPzRJ.js +421 -0
- package/dist/sql-ClHIdgKS.js +126996 -0
- package/dist/sqlite/index.d.ts +126 -0
- package/dist/sqlite/index.js +197 -0
- package/dist/sso-B0Txid2-.d.ts +161 -0
- package/dist/sso-d2S4x_f9.js +217 -0
- package/dist/ssr/index.d.ts +5 -4
- package/dist/ssr/index.js +3 -3
- package/dist/standard-BA3mLh6w.js +25 -0
- package/dist/standard-DBV730sF.d.ts +7 -0
- package/dist/stats-BHl1-zj9.js +83 -0
- package/dist/statuses-DMMDwXpZ.js +29 -0
- package/dist/statuses-zRcc2TeZ.js +28 -0
- package/dist/storage/index.d.ts +3 -3
- package/dist/storage/index.js +11 -11
- package/dist/store-CpheI-lN.d.ts +83 -0
- package/dist/streams/index.d.ts +3 -3
- package/dist/streams/index.js +2 -3
- package/dist/streams/redis/index.d.ts +2 -2
- package/dist/streams/redis/index.js +3 -3
- package/dist/stripe/index.d.ts +1 -1
- package/dist/stripe-X22LjuH-.d.ts +156 -0
- package/dist/subject-readers-B-pQ9Mmo.js +49 -0
- package/dist/subject-readers-BNSzkqw_.d.ts +21 -0
- package/dist/subjects-BpIEN1MS.d.ts +90 -0
- package/dist/subjects-DvmQeF_F.d.ts +79 -0
- package/dist/summaries-8jQTELIX.d.ts +69 -0
- package/dist/support-view-BYOgwXsJ.d.ts +17 -0
- package/dist/svelte/index.d.ts +67 -12
- package/dist/svelte/index.js +108 -11
- package/dist/sveltekit/index.d.ts +19 -16
- package/dist/sveltekit/index.js +14 -14
- package/dist/table-schema-BlF6k62Q.d.ts +81 -0
- package/dist/table-schema-CD8cJz_M.js +293 -0
- package/dist/tags-BjHflcHF.d.ts +30 -0
- package/dist/tags-CIZTqtlY.js +39 -0
- package/dist/tanstack-db/index.d.ts +50 -6
- package/dist/tanstack-db/index.js +44 -3
- package/dist/tanstack-start/index.d.ts +15 -12
- package/dist/tanstack-start/index.js +9 -9
- package/dist/tax-BkCNWWMc.js +140 -0
- package/dist/tax-DPShHual.d.ts +170 -0
- package/dist/tee-V97_v1ZS.js +101 -0
- package/dist/template-Drgg3v2J.js +126 -0
- package/dist/temporal-required-Dy0GGD8E.js +20 -0
- package/dist/tenant-BgIiMQpo.js +27 -0
- package/dist/tenant-source-bqWpSr86.js +8 -0
- package/dist/tenant-yYg0E2-n.d.ts +17 -0
- package/dist/testing/index.d.ts +183 -58
- package/dist/testing/index.js +405 -97
- package/dist/timeline--VU3A1e4.js +50 -0
- package/dist/timeline-CtG0sehj.d.ts +151 -0
- package/dist/timing-dypS0nxW.js +95 -0
- package/dist/topic-CJrQZQaa.d.ts +415 -0
- package/dist/topic-ikV_pLTX.js +643 -0
- package/dist/types-BBQLbui9.d.ts +659 -0
- package/dist/types-CAQBmpDx.d.ts +217 -0
- package/dist/types-DFdg_4yN.d.ts +912 -0
- package/dist/types-Dp3UCr1e.d.ts +194 -0
- package/dist/types-Dr9wZgNy.d.ts +251 -0
- package/dist/types-EO2crSX_.d.ts +177 -0
- package/dist/types-SFRomQF7.d.ts +624 -0
- package/dist/undo-B1jwnVyN.d.ts +46 -0
- package/dist/undo-BjCChCmH.js +44 -0
- package/dist/upload-claim-B1ZU8ydB.js +33 -0
- package/dist/usage-D7QkrwzV.d.ts +232 -0
- package/dist/user-change-DgWC6RRC.js +135 -0
- package/dist/variants-Cy--Ub-a.js +53 -0
- package/dist/vault-O-YlAyHb.d.ts +62 -0
- package/dist/vercel-connect/index.d.ts +1 -1
- package/dist/vercel-connect/index.js +3 -3
- package/dist/verify-CMou8dWZ.d.ts +146 -0
- package/dist/verify-ZLFUdlqE.js +130 -0
- package/dist/view-C8Ve14ja.js +247 -0
- package/dist/view-DyFdMCqg.d.ts +97 -0
- package/dist/vue/index.d.ts +67 -20
- package/dist/vue/index.js +102 -14
- package/dist/watch-topic-BcGfvZOE.d.ts +31 -0
- package/dist/wiring-CDNuQoJJ.js +13 -0
- package/dist/workflow-sdk/builder/index.d.ts +12 -12
- package/dist/workflow-sdk/builder/index.js +16 -17
- package/dist/workflow-sdk/index.d.ts +18 -15
- package/dist/workflow-sdk/index.js +2 -2
- package/dist/workflow-sdk/world/index.d.ts +6 -6
- package/dist/workflow-sdk/world/index.js +12 -12
- package/dist/workflow-sdk-BFHu4sci.d.ts +163 -0
- package/dist/workflow-sdk-BVlFEB5Q.js +242 -0
- package/dist/workflow-sdk-Bw6_u0ar.js +2446 -0
- package/dist/workflows-B0ZPAQu0.d.ts +255 -0
- package/dist/yjs/index.d.ts +28 -4
- package/dist/yjs/index.js +52 -10
- package/package.json +201 -540
- package/schemas/config-v1.json +2720 -1693
- package/schemas/design-v1.json +147 -5
- package/schemas/doctor-report-v1.json +14 -0
- package/schemas/snapshot-v2.json +25 -0
- package/skills/better-supabase/SKILL.md +71 -28
- package/skills/better-supabase/references/block-extensions.md +64 -0
- package/skills/better-supabase/references/frontend.md +29 -26
- package/skills/better-supabase/references/troubleshooting.md +19 -19
- package/skills/better-supabase/references/ui-recipes.md +12837 -8039
- package/skills/better-supabase-api/SKILL.md +49 -38
- package/skills/better-supabase-api/references/adapters.md +42 -39
- package/skills/better-supabase-api/references/ai.md +4 -4
- package/skills/better-supabase-api/references/expo.md +8 -8
- package/skills/better-supabase-api/references/powersync.md +25 -11
- package/skills/better-supabase-api/references/streams-credentials.md +3 -3
- package/skills/better-supabase-auth/SKILL.md +17 -17
- package/skills/better-supabase-auth/references/authorization-providers.md +8 -6
- package/skills/better-supabase-testing/SKILL.md +8 -8
- package/dist/access-sql-BpOdJvfj.js +0 -205
- package/dist/actor-C9pwyCVz.js +0 -150
- package/dist/adapter-D8dW6p2A.js +0 -2190
- package/dist/agents-CuxuXVWv.d.ts +0 -117
- package/dist/ai-cache-BXMXRhkx.d.ts +0 -82
- package/dist/ai-cache-Byy5q6EZ.js +0 -87
- package/dist/ai-chat-B00sIOjY.d.ts +0 -619
- package/dist/ai-files-DTbIJcxQ.js +0 -339
- package/dist/ai-tasks-DN-AV7qB.d.ts +0 -166
- package/dist/announcements-DqiLxtKK.js +0 -128
- package/dist/api-CmcTYuFT.js +0 -685
- package/dist/api-DwLhJS1j.d.ts +0 -444
- package/dist/api-keys-Bade6Qtl.d.ts +0 -213
- package/dist/api-keys-CO24Ffil.js +0 -318
- package/dist/app-tables-0YZ9IskE.js +0 -831
- package/dist/app-tables-CbWUI7h_.d.ts +0 -35
- package/dist/approvals-C-4MOWdV.d.ts +0 -127
- package/dist/arazzo/index.d.ts +0 -277
- package/dist/arazzo/index.js +0 -630
- package/dist/assistant-CcP_kpu7.d.ts +0 -157
- package/dist/asyncapi/index.d.ts +0 -109
- package/dist/asyncapi/index.js +0 -572
- package/dist/attachments-CPkGJVfk.js +0 -270
- package/dist/attributes-BOFl922R.js +0 -44
- package/dist/audit-log-5aTnl7W2.js +0 -788
- package/dist/auth-module-CwCIY97x.js +0 -10
- package/dist/auth-reply-D02x5NSv.js +0 -31
- package/dist/authorization-CB69cvnA.d.ts +0 -1504
- package/dist/authorization-hooks-HXVZXxUk.d.ts +0 -217
- package/dist/authorizer-BVR2vPGA.js +0 -125
- package/dist/authorizer-DFP3gHv8.d.ts +0 -82
- package/dist/bind-DcXLU1ul.d.ts +0 -76
- package/dist/block-env-YfPmSNa1.js +0 -32
- package/dist/block-env-kFcaaJLM.d.ts +0 -10
- package/dist/block-events-BURaqwyp.js +0 -96
- package/dist/block-fields-Cwd4c8m-.js +0 -139
- package/dist/block-fields-DnXkMney.d.ts +0 -58
- package/dist/block-helpers-DwE32_gT.js +0 -272
- package/dist/block-helpers-DyA5BAW4.d.ts +0 -43
- package/dist/block-hooks-BadAniNI.d.ts +0 -117
- package/dist/block-hooks-C1r-R2r0.js +0 -130
- package/dist/block-transport-DBPhgF3W.d.ts +0 -69
- package/dist/block-transport-Ds0C2mUf.js +0 -84
- package/dist/blocks/ai-chat/react/index.d.ts +0 -52
- package/dist/blocks/ai-chat/react/index.js +0 -95
- package/dist/blocks/ai-chat/react/server.d.ts +0 -25
- package/dist/blocks/ai-chat/react/server.js +0 -23
- package/dist/blocks/ai-chat/solid/index.d.ts +0 -34
- package/dist/blocks/ai-chat/solid/index.js +0 -41
- package/dist/blocks/ai-chat/svelte/index.d.ts +0 -34
- package/dist/blocks/ai-chat/svelte/index.js +0 -41
- package/dist/blocks/ai-chat/vue/index.d.ts +0 -34
- package/dist/blocks/ai-chat/vue/index.js +0 -41
- package/dist/blocks/ai-providers/index.d.ts +0 -22
- package/dist/blocks/ai-providers/index.js +0 -237
- package/dist/blocks/ai-tasks/index.d.ts +0 -10
- package/dist/blocks/ai-tasks/index.js +0 -253
- package/dist/blocks/announcements/react/index.d.ts +0 -28
- package/dist/blocks/announcements/react/index.js +0 -38
- package/dist/blocks/announcements/react/server.d.ts +0 -9
- package/dist/blocks/announcements/react/server.js +0 -10
- package/dist/blocks/announcements/solid/index.d.ts +0 -13
- package/dist/blocks/announcements/solid/index.js +0 -14
- package/dist/blocks/announcements/svelte/index.d.ts +0 -13
- package/dist/blocks/announcements/svelte/index.js +0 -14
- package/dist/blocks/announcements/vue/index.d.ts +0 -13
- package/dist/blocks/announcements/vue/index.js +0 -14
- package/dist/blocks/api-keys/react/index.d.ts +0 -32
- package/dist/blocks/api-keys/react/index.js +0 -43
- package/dist/blocks/api-keys/react/server.d.ts +0 -7
- package/dist/blocks/api-keys/react/server.js +0 -7
- package/dist/blocks/api-keys/solid/index.d.ts +0 -13
- package/dist/blocks/api-keys/solid/index.js +0 -14
- package/dist/blocks/api-keys/svelte/index.d.ts +0 -13
- package/dist/blocks/api-keys/svelte/index.js +0 -14
- package/dist/blocks/api-keys/vue/index.d.ts +0 -13
- package/dist/blocks/api-keys/vue/index.js +0 -14
- package/dist/blocks/audit/react/index.d.ts +0 -31
- package/dist/blocks/audit/react/index.js +0 -46
- package/dist/blocks/audit/react/server.d.ts +0 -7
- package/dist/blocks/audit/react/server.js +0 -7
- package/dist/blocks/audit/solid/index.d.ts +0 -13
- package/dist/blocks/audit/solid/index.js +0 -14
- package/dist/blocks/audit/svelte/index.d.ts +0 -13
- package/dist/blocks/audit/svelte/index.js +0 -14
- package/dist/blocks/audit/vue/index.d.ts +0 -13
- package/dist/blocks/audit/vue/index.js +0 -14
- package/dist/blocks/billing/react/index.d.ts +0 -44
- package/dist/blocks/billing/react/index.js +0 -40
- package/dist/blocks/billing/react/server.d.ts +0 -10
- package/dist/blocks/billing/react/server.js +0 -10
- package/dist/blocks/billing/solid/index.d.ts +0 -15
- package/dist/blocks/billing/solid/index.js +0 -14
- package/dist/blocks/billing/svelte/index.d.ts +0 -15
- package/dist/blocks/billing/svelte/index.js +0 -14
- package/dist/blocks/billing/vue/index.d.ts +0 -15
- package/dist/blocks/billing/vue/index.js +0 -14
- package/dist/blocks/bookings/react/index.d.ts +0 -35
- package/dist/blocks/bookings/react/index.js +0 -63
- package/dist/blocks/bookings/react/server.d.ts +0 -9
- package/dist/blocks/bookings/react/server.js +0 -10
- package/dist/blocks/bookings/solid/index.d.ts +0 -13
- package/dist/blocks/bookings/solid/index.js +0 -14
- package/dist/blocks/bookings/svelte/index.d.ts +0 -13
- package/dist/blocks/bookings/svelte/index.js +0 -14
- package/dist/blocks/bookings/vue/index.d.ts +0 -13
- package/dist/blocks/bookings/vue/index.js +0 -14
- package/dist/blocks/calendar/react/index.d.ts +0 -26
- package/dist/blocks/calendar/react/index.js +0 -58
- package/dist/blocks/calendar/react/server.d.ts +0 -9
- package/dist/blocks/calendar/react/server.js +0 -10
- package/dist/blocks/calendar/solid/index.d.ts +0 -13
- package/dist/blocks/calendar/solid/index.js +0 -14
- package/dist/blocks/calendar/svelte/index.d.ts +0 -13
- package/dist/blocks/calendar/svelte/index.js +0 -14
- package/dist/blocks/calendar/vue/index.d.ts +0 -13
- package/dist/blocks/calendar/vue/index.js +0 -14
- package/dist/blocks/comments/react/index.d.ts +0 -34
- package/dist/blocks/comments/react/index.js +0 -49
- package/dist/blocks/comments/react/server.d.ts +0 -7
- package/dist/blocks/comments/react/server.js +0 -7
- package/dist/blocks/comments/solid/index.d.ts +0 -13
- package/dist/blocks/comments/solid/index.js +0 -14
- package/dist/blocks/comments/svelte/index.d.ts +0 -13
- package/dist/blocks/comments/svelte/index.js +0 -14
- package/dist/blocks/comments/vue/index.d.ts +0 -13
- package/dist/blocks/comments/vue/index.js +0 -14
- package/dist/blocks/engagements/index.d.ts +0 -134
- package/dist/blocks/engagements/index.js +0 -143
- package/dist/blocks/entitlements/react/index.d.ts +0 -27
- package/dist/blocks/entitlements/react/index.js +0 -35
- package/dist/blocks/entitlements/react/server.d.ts +0 -9
- package/dist/blocks/entitlements/react/server.js +0 -10
- package/dist/blocks/entitlements/solid/index.d.ts +0 -13
- package/dist/blocks/entitlements/solid/index.js +0 -14
- package/dist/blocks/entitlements/svelte/index.d.ts +0 -13
- package/dist/blocks/entitlements/svelte/index.js +0 -14
- package/dist/blocks/entitlements/vue/index.d.ts +0 -13
- package/dist/blocks/entitlements/vue/index.js +0 -14
- package/dist/blocks/forms/react/index.d.ts +0 -19
- package/dist/blocks/forms/react/index.js +0 -28
- package/dist/blocks/forms/react/server.d.ts +0 -9
- package/dist/blocks/forms/react/server.js +0 -10
- package/dist/blocks/forms/solid/index.d.ts +0 -13
- package/dist/blocks/forms/solid/index.js +0 -14
- package/dist/blocks/forms/svelte/index.d.ts +0 -13
- package/dist/blocks/forms/svelte/index.js +0 -14
- package/dist/blocks/forms/vue/index.d.ts +0 -13
- package/dist/blocks/forms/vue/index.js +0 -14
- package/dist/blocks/inbox/react/index.d.ts +0 -3
- package/dist/blocks/inbox/react/index.js +0 -81
- package/dist/blocks/inbox/react/server.d.ts +0 -17
- package/dist/blocks/inbox/react/server.js +0 -18
- package/dist/blocks/inbox/solid/index.d.ts +0 -27
- package/dist/blocks/inbox/solid/index.js +0 -32
- package/dist/blocks/inbox/svelte/index.d.ts +0 -27
- package/dist/blocks/inbox/svelte/index.js +0 -32
- package/dist/blocks/inbox/vue/index.d.ts +0 -27
- package/dist/blocks/inbox/vue/index.js +0 -32
- package/dist/blocks/jobs/index.d.ts +0 -523
- package/dist/blocks/jobs/index.js +0 -1346
- package/dist/blocks/mfa/react/index.d.ts +0 -30
- package/dist/blocks/mfa/react/index.js +0 -45
- package/dist/blocks/mfa/react/server.d.ts +0 -9
- package/dist/blocks/mfa/react/server.js +0 -12
- package/dist/blocks/mfa/solid/index.d.ts +0 -20
- package/dist/blocks/mfa/solid/index.js +0 -23
- package/dist/blocks/mfa/svelte/index.d.ts +0 -20
- package/dist/blocks/mfa/svelte/index.js +0 -23
- package/dist/blocks/mfa/vue/index.d.ts +0 -20
- package/dist/blocks/mfa/vue/index.js +0 -23
- package/dist/blocks/notifications/react/index.d.ts +0 -19
- package/dist/blocks/notifications/react/index.js +0 -41
- package/dist/blocks/notifications/react/server.d.ts +0 -10
- package/dist/blocks/notifications/react/server.js +0 -10
- package/dist/blocks/notifications/solid/index.d.ts +0 -13
- package/dist/blocks/notifications/solid/index.js +0 -14
- package/dist/blocks/notifications/svelte/index.d.ts +0 -13
- package/dist/blocks/notifications/svelte/index.js +0 -14
- package/dist/blocks/notifications/vue/index.d.ts +0 -13
- package/dist/blocks/notifications/vue/index.js +0 -14
- package/dist/blocks/number-sequences/index.d.ts +0 -48
- package/dist/blocks/number-sequences/index.js +0 -52
- package/dist/blocks/onboarding/react/index.d.ts +0 -24
- package/dist/blocks/onboarding/react/index.js +0 -38
- package/dist/blocks/onboarding/react/server.d.ts +0 -10
- package/dist/blocks/onboarding/react/server.js +0 -10
- package/dist/blocks/onboarding/solid/index.d.ts +0 -13
- package/dist/blocks/onboarding/solid/index.js +0 -14
- package/dist/blocks/onboarding/svelte/index.d.ts +0 -13
- package/dist/blocks/onboarding/svelte/index.js +0 -14
- package/dist/blocks/onboarding/vue/index.d.ts +0 -13
- package/dist/blocks/onboarding/vue/index.js +0 -14
- package/dist/blocks/organizations/react/index.d.ts +0 -127
- package/dist/blocks/organizations/react/index.js +0 -113
- package/dist/blocks/organizations/react/server.d.ts +0 -20
- package/dist/blocks/organizations/react/server.js +0 -24
- package/dist/blocks/organizations/solid/index.d.ts +0 -34
- package/dist/blocks/organizations/solid/index.js +0 -32
- package/dist/blocks/organizations/svelte/index.d.ts +0 -34
- package/dist/blocks/organizations/svelte/index.js +0 -32
- package/dist/blocks/organizations/vue/index.d.ts +0 -34
- package/dist/blocks/organizations/vue/index.js +0 -32
- package/dist/blocks/parties/index.d.ts +0 -190
- package/dist/blocks/parties/index.js +0 -261
- package/dist/blocks/reactions/react/index.d.ts +0 -33
- package/dist/blocks/reactions/react/index.js +0 -50
- package/dist/blocks/reactions/react/server.d.ts +0 -9
- package/dist/blocks/reactions/react/server.js +0 -10
- package/dist/blocks/reactions/solid/index.d.ts +0 -13
- package/dist/blocks/reactions/solid/index.js +0 -14
- package/dist/blocks/reactions/svelte/index.d.ts +0 -13
- package/dist/blocks/reactions/svelte/index.js +0 -14
- package/dist/blocks/reactions/vue/index.d.ts +0 -13
- package/dist/blocks/reactions/vue/index.js +0 -14
- package/dist/blocks/rules/index.d.ts +0 -171
- package/dist/blocks/rules/index.js +0 -162
- package/dist/blocks/rules/react/index.d.ts +0 -38
- package/dist/blocks/rules/react/index.js +0 -59
- package/dist/blocks/rules/react/server.d.ts +0 -6
- package/dist/blocks/rules/react/server.js +0 -7
- package/dist/blocks/rules/solid/index.d.ts +0 -13
- package/dist/blocks/rules/solid/index.js +0 -14
- package/dist/blocks/rules/svelte/index.d.ts +0 -13
- package/dist/blocks/rules/svelte/index.js +0 -14
- package/dist/blocks/rules/vue/index.d.ts +0 -13
- package/dist/blocks/rules/vue/index.js +0 -14
- package/dist/blocks/saved-views/react/index.d.ts +0 -40
- package/dist/blocks/saved-views/react/index.js +0 -60
- package/dist/blocks/saved-views/react/server.d.ts +0 -10
- package/dist/blocks/saved-views/react/server.js +0 -10
- package/dist/blocks/saved-views/solid/index.d.ts +0 -13
- package/dist/blocks/saved-views/solid/index.js +0 -14
- package/dist/blocks/saved-views/svelte/index.d.ts +0 -13
- package/dist/blocks/saved-views/svelte/index.js +0 -14
- package/dist/blocks/saved-views/vue/index.d.ts +0 -13
- package/dist/blocks/saved-views/vue/index.js +0 -14
- package/dist/blocks/search/react/index.d.ts +0 -39
- package/dist/blocks/search/react/index.js +0 -49
- package/dist/blocks/search/react/server.d.ts +0 -10
- package/dist/blocks/search/react/server.js +0 -11
- package/dist/blocks/search/solid/index.d.ts +0 -13
- package/dist/blocks/search/solid/index.js +0 -14
- package/dist/blocks/search/svelte/index.d.ts +0 -13
- package/dist/blocks/search/svelte/index.js +0 -14
- package/dist/blocks/search/vue/index.d.ts +0 -13
- package/dist/blocks/search/vue/index.js +0 -14
- package/dist/blocks/service-principals/index.d.ts +0 -132
- package/dist/blocks/service-principals/index.js +0 -110
- package/dist/blocks/sessions/react/index.d.ts +0 -36
- package/dist/blocks/sessions/react/index.js +0 -53
- package/dist/blocks/sessions/react/server.d.ts +0 -15
- package/dist/blocks/sessions/react/server.js +0 -17
- package/dist/blocks/sessions/solid/index.d.ts +0 -20
- package/dist/blocks/sessions/solid/index.js +0 -23
- package/dist/blocks/sessions/svelte/index.d.ts +0 -20
- package/dist/blocks/sessions/svelte/index.js +0 -23
- package/dist/blocks/sessions/vue/index.d.ts +0 -20
- package/dist/blocks/sessions/vue/index.js +0 -23
- package/dist/blocks/settings/react/index.d.ts +0 -31
- package/dist/blocks/settings/react/index.js +0 -37
- package/dist/blocks/settings/react/server.d.ts +0 -10
- package/dist/blocks/settings/react/server.js +0 -10
- package/dist/blocks/settings/solid/index.d.ts +0 -13
- package/dist/blocks/settings/solid/index.js +0 -14
- package/dist/blocks/settings/svelte/index.d.ts +0 -13
- package/dist/blocks/settings/svelte/index.js +0 -14
- package/dist/blocks/settings/vue/index.d.ts +0 -13
- package/dist/blocks/settings/vue/index.js +0 -14
- package/dist/blocks/shared-signals/index.d.ts +0 -440
- package/dist/blocks/shared-signals/index.js +0 -886
- package/dist/blocks/tags/react/index.d.ts +0 -36
- package/dist/blocks/tags/react/index.js +0 -52
- package/dist/blocks/tags/react/server.d.ts +0 -7
- package/dist/blocks/tags/react/server.js +0 -7
- package/dist/blocks/tags/solid/index.d.ts +0 -13
- package/dist/blocks/tags/solid/index.js +0 -14
- package/dist/blocks/tags/svelte/index.d.ts +0 -13
- package/dist/blocks/tags/svelte/index.js +0 -14
- package/dist/blocks/tags/vue/index.d.ts +0 -13
- package/dist/blocks/tags/vue/index.js +0 -14
- package/dist/blocks/targets/index.d.ts +0 -82
- package/dist/blocks/targets/index.js +0 -73
- package/dist/blocks/undo/react/index.d.ts +0 -17
- package/dist/blocks/undo/react/index.js +0 -24
- package/dist/blocks/undo/react/server.d.ts +0 -10
- package/dist/blocks/undo/react/server.js +0 -10
- package/dist/blocks/undo/solid/index.d.ts +0 -13
- package/dist/blocks/undo/solid/index.js +0 -14
- package/dist/blocks/undo/svelte/index.d.ts +0 -13
- package/dist/blocks/undo/svelte/index.js +0 -14
- package/dist/blocks/undo/vue/index.d.ts +0 -13
- package/dist/blocks/undo/vue/index.js +0 -14
- package/dist/blocks/usage/react/index.d.ts +0 -29
- package/dist/blocks/usage/react/index.js +0 -38
- package/dist/blocks/usage/react/server.d.ts +0 -7
- package/dist/blocks/usage/react/server.js +0 -7
- package/dist/blocks/usage/solid/index.d.ts +0 -13
- package/dist/blocks/usage/solid/index.js +0 -14
- package/dist/blocks/usage/svelte/index.d.ts +0 -13
- package/dist/blocks/usage/svelte/index.js +0 -14
- package/dist/blocks/usage/vue/index.d.ts +0 -13
- package/dist/blocks/usage/vue/index.js +0 -14
- package/dist/blocks/work-items/index.d.ts +0 -210
- package/dist/blocks/work-items/index.js +0 -304
- package/dist/blocks/workflow-builder/index.d.ts +0 -43
- package/dist/blocks/workflow-builder/index.js +0 -33
- package/dist/blocks/workflow-builder/react/index.d.ts +0 -32
- package/dist/blocks/workflow-builder/react/index.js +0 -75
- package/dist/blocks/workflow-builder/react/server.d.ts +0 -14
- package/dist/blocks/workflow-builder/react/server.js +0 -17
- package/dist/blocks/workflow-builder/solid/index.d.ts +0 -20
- package/dist/blocks/workflow-builder/solid/index.js +0 -23
- package/dist/blocks/workflow-builder/svelte/index.d.ts +0 -20
- package/dist/blocks/workflow-builder/svelte/index.js +0 -23
- package/dist/blocks/workflow-builder/vue/index.d.ts +0 -20
- package/dist/blocks/workflow-builder/vue/index.js +0 -23
- package/dist/blocks/workflows/react/index.d.ts +0 -39
- package/dist/blocks/workflows/react/index.js +0 -65
- package/dist/blocks/workflows/react/server.d.ts +0 -14
- package/dist/blocks/workflows/react/server.js +0 -17
- package/dist/blocks/workflows/solid/index.d.ts +0 -20
- package/dist/blocks/workflows/solid/index.js +0 -23
- package/dist/blocks/workflows/svelte/index.d.ts +0 -20
- package/dist/blocks/workflows/svelte/index.js +0 -23
- package/dist/blocks/workflows/vue/index.d.ts +0 -20
- package/dist/blocks/workflows/vue/index.js +0 -23
- package/dist/blocks-CR3vCYhj.js +0 -88
- package/dist/bookings-DJflcGqs.js +0 -184
- package/dist/bucket-DBay-ICp.d.ts +0 -667
- package/dist/build-DxzJf79X.js +0 -1839
- package/dist/build-UqJeGtsH.js +0 -703
- package/dist/calendar-DvbYFkrh.js +0 -801
- package/dist/chat-sdk/react/index.d.ts +0 -3
- package/dist/chat-sdk/react/index.js +0 -2
- package/dist/chat-sdk/react/server.d.ts +0 -4
- package/dist/chat-sdk/react/server.js +0 -1
- package/dist/claims-T8TWZ53E.js +0 -63
- package/dist/cli/add-BRjL7LuG.js +0 -1
- package/dist/cli/add-Cf0uxfZ2.js +0 -672
- package/dist/cli/add-DPfdDRq7.js +0 -75
- package/dist/cli/adopt-B28iUeGg.js +0 -1
- package/dist/cli/adopt-C0VugVMu.js +0 -421
- package/dist/cli/apply-BlxtZPxe.js +0 -329
- package/dist/cli/blocks-CHQ7K8Yz.js +0 -1
- package/dist/cli/blocks-D3tsq-mR.js +0 -124
- package/dist/cli/cache-DdgzhoaL.js +0 -516
- package/dist/cli/catalog-DwTUdJaQ.js +0 -188
- package/dist/cli/codemod-Dz4R-tVY.js +0 -1127
- package/dist/cli/command-33pu13LT.js +0 -963
- package/dist/cli/completion-6M6Hr8TL.js +0 -211
- package/dist/cli/completion-Bqu8yq0q.js +0 -1
- package/dist/cli/completion-Ddr3yqd3.js +0 -30
- package/dist/cli/config-2qlSTi2o.js +0 -1503
- package/dist/cli/config-B31tIvAl.js +0 -42
- package/dist/cli/config-DVksOjSr.js +0 -1
- package/dist/cli/config-edit-D46H0UHp.js +0 -613
- package/dist/cli/db-D8iId4R8.js +0 -473
- package/dist/cli/design-edit-B2aBiarJ.js +0 -205
- package/dist/cli/doctor-pIek4vIO.js +0 -3897
- package/dist/cli/emit-CJKf47Bi.js +0 -1078
- package/dist/cli/env-BrLZfqsL.js +0 -143
- package/dist/cli/env-cbCEa79W.js +0 -1
- package/dist/cli/files-C5JfVnj5.js +0 -972
- package/dist/cli/gen-DquZzY5a.js +0 -307
- package/dist/cli/init-Dd-UdrE0.js +0 -397
- package/dist/cli/introspect-IMQCji2l.js +0 -51
- package/dist/cli/keys-iJs_1WT8.js +0 -106
- package/dist/cli/live-BfAO5YRX.js +0 -344
- package/dist/cli/mcp-D8Az0FNn.js +0 -240
- package/dist/cli/metadata-CTStQPfV.js +0 -144
- package/dist/cli/migration-safety-Dg1lxomi.js +0 -305
- package/dist/cli/module-migration-CbX-jRhV.js +0 -606
- package/dist/cli/moved-CdNtCf4t.js +0 -161
- package/dist/cli/names-D6LrQnOv.js +0 -6
- package/dist/cli/parse-CRZLku1b.js +0 -182
- package/dist/cli/preset-DEvwDc7U.js +0 -129
- package/dist/cli/run-BXhJoghZ.js +0 -1602
- package/dist/cli/run-DdxNRTr0.js +0 -63
- package/dist/cli/run-dTu_PD4I.js +0 -711
- package/dist/cli/scaffold-Bx3bcy2R.js +0 -901
- package/dist/cli/scaffold-mbNAQE19.js +0 -1
- package/dist/cli/seed-CLseQdXQ.js +0 -188
- package/dist/cli/seed-DSHSUsYy.js +0 -1
- package/dist/cli/shared-CAdIkTR7.js +0 -151
- package/dist/cli/skills-Bz4INB8f.js +0 -121
- package/dist/cli/snapshot-GfdB9Cjl.js +0 -350
- package/dist/cli/source-args-Dy3j1-H-.js +0 -59
- package/dist/cli/spec-BfEK0_04.js +0 -1
- package/dist/cli/spec-DXTdodlO.js +0 -7534
- package/dist/cli/sql-BUhpAvrW.js +0 -2
- package/dist/cli/sql-CLbWk3Yb.js +0 -332
- package/dist/cli/stack-_F_JhllX.js +0 -135
- package/dist/cli/sync-BBzNO-v9.js +0 -91
- package/dist/cli/typegen-F9GEjpvD.js +0 -502
- package/dist/cli/typegen-version-BNBPI4Eu.js +0 -9
- package/dist/cli/version-DiwcIKOL.js +0 -4
- package/dist/cli/write-DZKk5rSF.js +0 -201
- package/dist/client--tyFmxDT.js +0 -52
- package/dist/client-0qFNkNhT.js +0 -1060
- package/dist/client-2z1aHG57.d.ts +0 -475
- package/dist/client-5IVhjmtl.d.ts +0 -74
- package/dist/client-B3WBilR2.d.ts +0 -69
- package/dist/client-B4JPQgf-.d.ts +0 -165
- package/dist/client-BAYh7P2h.js +0 -211
- package/dist/client-BKGVUgo7.js +0 -380
- package/dist/client-BNaOcfeH.js +0 -58
- package/dist/client-BOuaQA0h.js +0 -173
- package/dist/client-BP-8vn9G.d.ts +0 -37
- package/dist/client-BU5Yd0yO.d.ts +0 -103
- package/dist/client-Bb_Pj9wL.js +0 -137
- package/dist/client-BkH-Vh3s.d.ts +0 -112
- package/dist/client-BsfsRHae.d.ts +0 -136
- package/dist/client-Bta7yl1C.d.ts +0 -451
- package/dist/client-BwKXlohx.js +0 -121
- package/dist/client-C1zOmnS8.js +0 -89
- package/dist/client-CMqO1gCn.d.ts +0 -64
- package/dist/client-CPirbPPi.js +0 -85
- package/dist/client-CQPB-VJx.d.ts +0 -110
- package/dist/client-CXbP_p02.d.ts +0 -156
- package/dist/client-C_S9avzV.d.ts +0 -420
- package/dist/client-Cb1g45Hc.js +0 -99
- package/dist/client-CebKlRU7.js +0 -157
- package/dist/client-Ch-dDfTB.js +0 -437
- package/dist/client-CuFD4o56.d.ts +0 -111
- package/dist/client-D2y_CfhU.d.ts +0 -137
- package/dist/client-DAcVF-YJ.js +0 -134
- package/dist/client-DCuE1rFm.js +0 -441
- package/dist/client-DD02cst6.d.ts +0 -245
- package/dist/client-DD3EcytK.js +0 -65
- package/dist/client-DEE57s9m.d.ts +0 -132
- package/dist/client-DScMvaty.js +0 -38
- package/dist/client-DVRFa59w.d.ts +0 -309
- package/dist/client-DXb1Nmr3.js +0 -111
- package/dist/client-DkI0oyR7.js +0 -76
- package/dist/client-DkQcRKhm.js +0 -67
- package/dist/client-DoXBX3vS.d.ts +0 -116
- package/dist/client-Dsuy9wfA.d.ts +0 -59
- package/dist/client-EQvEzUQg.d.ts +0 -276
- package/dist/client-G7NGXZKe.d.ts +0 -43
- package/dist/client-OhTiAol1.js +0 -213
- package/dist/client-Wt19DaEb.js +0 -291
- package/dist/client-Y-kaHabc.d.ts +0 -46
- package/dist/client-YASsOslj.js +0 -321
- package/dist/client-Y_HnZGF4.js +0 -51
- package/dist/client-_mL998Gl.js +0 -129
- package/dist/client-i_u1e0Kf.d.ts +0 -144
- package/dist/client-kRvHKAKS.js +0 -60
- package/dist/client-nieeGXdg.d.ts +0 -178
- package/dist/client-pxXoQOdC.js +0 -40
- package/dist/client-ysVOUgxM.d.ts +0 -54
- package/dist/cloud-event-CidL9jiw.d.ts +0 -64
- package/dist/codecs-Du_zE1xu.js +0 -358
- package/dist/codecs-WHpM3Byy.d.ts +0 -221
- package/dist/codegen-DGtOsqz9.d.ts +0 -1809
- package/dist/comments-Ceqo9bwE.js +0 -230
- package/dist/compiler-DCotQWcs.d.ts +0 -14
- package/dist/compose-VBQL7zIO.js +0 -53
- package/dist/composite-BgBzdYP-.d.ts +0 -82
- package/dist/composite-BgSdL5tk.js +0 -130
- package/dist/config-V6HMvce5.js +0 -3930
- package/dist/config-xUf0dj0t.js +0 -562
- package/dist/connector-CKcTPJRV.d.ts +0 -107
- package/dist/connectors-CgWuPQks.d.ts +0 -147
- package/dist/context-B8_p3MXo.js +0 -11
- package/dist/context-C-bHOtoD.js +0 -5
- package/dist/context-CCz6ZgyI.js +0 -19
- package/dist/context-CMxVnPMY.js +0 -9
- package/dist/context-CrojkPNC.js +0 -41
- package/dist/context-DvBEhsXX.d.ts +0 -403
- package/dist/controller-lWRcKqCl.d.ts +0 -52
- package/dist/cron-CI1kP-t5.js +0 -148
- package/dist/cron-route-BbVtwXZz.js +0 -24
- package/dist/db-exception-CnWcYPxL.js +0 -15
- package/dist/define-D0LSXmUP.d.ts +0 -1117
- package/dist/define-DwZ_LQVO.js +0 -2011
- package/dist/define-block-B6Gjs57G.js +0 -52
- package/dist/define-block-MyM4lH42.d.ts +0 -281
- package/dist/delegation-DeAJehLk.js +0 -146
- package/dist/documents-BijGGIjr.d.ts +0 -99
- package/dist/embeddings-DRGIc8ti.js +0 -128
- package/dist/embeddings-Deusi99x.d.ts +0 -78
- package/dist/ended-D_Twxl8v.d.ts +0 -76
- package/dist/entitlements-CMGsO4gL.d.ts +0 -54
- package/dist/entitlements-_tw0V3BY.js +0 -45
- package/dist/envelope-BDShQQ7-.js +0 -90
- package/dist/errors-Cq72lONT.js +0 -44
- package/dist/errors-D7u24ZJH.js +0 -321
- package/dist/escape-like-DuKupGUV.d.ts +0 -15
- package/dist/eve-dWNqpd9Z.d.ts +0 -157
- package/dist/event-calendar-E6AI-dgg.d.ts +0 -217
- package/dist/events-DhGgwqQA.d.ts +0 -842
- package/dist/executor-C29668fO.d.ts +0 -281
- package/dist/executor-C5uyGttm.js +0 -207
- package/dist/executor-Cy1nk4MZ.d.ts +0 -104
- package/dist/executor-DK2F9Zis.js +0 -746
- package/dist/executor-DXfgDsKd.d.ts +0 -37
- package/dist/executor-D_viYkhf.d.ts +0 -179
- package/dist/executor-QtVn0axs.js +0 -147
- package/dist/expo-sqlite/index.d.ts +0 -61
- package/dist/expo-sqlite/index.js +0 -110
- package/dist/field-errors-CKEqR38q.d.ts +0 -119
- package/dist/field-errors-DZVRWRkf.js +0 -13
- package/dist/field-formats-BX2FqLle.d.ts +0 -39
- package/dist/filter-evaluate-CRDXv0Dl.js +0 -217
- package/dist/filter-evaluate-CSWhzYWN.d.ts +0 -37
- package/dist/filter-query-C7qgRYYv.d.ts +0 -133
- package/dist/filter-query-D4ZSwbcJ.js +0 -524
- package/dist/flags-C--SBMT9.js +0 -279
- package/dist/flags-CJFDNAvL.d.ts +0 -246
- package/dist/form-definition-BjeElHsB.js +0 -311
- package/dist/form-definition-DcVnFzl4.d.ts +0 -95
- package/dist/format-AYHceC2m.d.ts +0 -79
- package/dist/framework-BpEnOfAo.js +0 -57
- package/dist/framework-CMeAuJts.d.ts +0 -41
- package/dist/function-contract-4vfi93Y5.d.ts +0 -27
- package/dist/gateway-Dar9C0uP.d.ts +0 -115
- package/dist/graph-B4eubUQG.js +0 -365
- package/dist/groups-CxonH3u5.js +0 -16
- package/dist/http-AkLjqOuB.js +0 -28
- package/dist/impersonation-DFfDVJHk.js +0 -62
- package/dist/inbox-CLsIrPXs.d.ts +0 -417
- package/dist/index-B5XcM3VY.d.ts +0 -230
- package/dist/index-B5dVVZtW.d.ts +0 -142
- package/dist/index-Brm8I8iZ.d.ts +0 -232
- package/dist/index-C7-2ZS9f.d.ts +0 -127
- package/dist/index-CE0p3st5.d.ts +0 -227
- package/dist/index-CcpGT2GI.d.ts +0 -151
- package/dist/index-CrAKHNJF.d.ts +0 -287
- package/dist/index-DLjs7j_z.d.ts +0 -61
- package/dist/index-DdZcWH6q.d.ts +0 -820
- package/dist/index-Dh5ZFCtu.d.ts +0 -61
- package/dist/index-PADpaDku.d.ts +0 -447
- package/dist/index-eoAU_QaY.d.ts +0 -357
- package/dist/invalidate-BLiBFbLy.d.ts +0 -19
- package/dist/json-schema-Bu4YCRbZ.js +0 -551
- package/dist/jwks-cache-DbgNmSgV.js +0 -49
- package/dist/kit-BeXTrlZn.js +0 -127
- package/dist/kit-LeQGMzLH.d.ts +0 -94
- package/dist/knowledge-Bx_qehoZ.js +0 -272
- package/dist/knowledge-CYdNJasZ.d.ts +0 -202
- package/dist/list-query-CuS1w2Af.js +0 -559
- package/dist/list-query-Dx5cAqG6.d.ts +0 -223
- package/dist/live-CZtRMh62.js +0 -246
- package/dist/messages-Bd5-5ZjP.js +0 -492
- package/dist/methods-7u6vSgz_.js +0 -11
- package/dist/mfa-Dt8AdWht.d.ts +0 -36
- package/dist/model-Btl8X9cs.d.ts +0 -326
- package/dist/model-messages-BWyXXA4s.js +0 -206
- package/dist/money-codec-BdnIiFFX.js +0 -41
- package/dist/onboarding-DjXV4rgO.js +0 -68
- package/dist/openapi/index.d.ts +0 -4
- package/dist/openapi/index.js +0 -36
- package/dist/operations-Cc27HkTG.d.ts +0 -6
- package/dist/options-B7EJaOX-.js +0 -5
- package/dist/options-BAW2ZlZ8.js +0 -8
- package/dist/options-Blg8lAkz.js +0 -9
- package/dist/options-Bn4cu0gt.js +0 -5
- package/dist/options-BnoJOwXK.js +0 -8
- package/dist/options-C1HR4UZd.js +0 -13
- package/dist/options-C2HesT4A.js +0 -9
- package/dist/options-C3EzJATk.js +0 -10
- package/dist/options-C3hZ1fbC.js +0 -10
- package/dist/options-CAzVf-1T.js +0 -8
- package/dist/options-CGKSUFUq.js +0 -5
- package/dist/options-CGjGE8xS.js +0 -12
- package/dist/options-CIf3xni7.d.ts +0 -52
- package/dist/options-CUqQ9pm7.js +0 -9
- package/dist/options-ChD15QxJ.js +0 -9
- package/dist/options-CyD7OObW.js +0 -17
- package/dist/options-D1blDihM.js +0 -9
- package/dist/options-D2Gd6VfS.js +0 -8
- package/dist/options-D7f2VKzj.js +0 -25
- package/dist/options-DXqcJyOP.js +0 -10
- package/dist/options-Dh4wu9Ks.js +0 -15
- package/dist/options-Dmg1Da9P.js +0 -25
- package/dist/options-DsUgamiy.js +0 -5
- package/dist/options-HSv8R6h5.js +0 -13
- package/dist/options-I8zVkB_y.js +0 -8
- package/dist/options-MHhjOoWz.js +0 -5
- package/dist/options-MLxMkd5B.js +0 -11
- package/dist/options-OJ5zmgr8.js +0 -10
- package/dist/options-QKP9FFcK.js +0 -8
- package/dist/options-XgfTctbI.js +0 -5
- package/dist/options-_9arpsX9.js +0 -11
- package/dist/options-kLKILdIu.js +0 -10
- package/dist/options-n22NK3PL.js +0 -8
- package/dist/options-qU8vgxhO.js +0 -18
- package/dist/options-vXMBEWSH.js +0 -5
- package/dist/options-wFnK3qWl.js +0 -9
- package/dist/options-xVAy3UsV.js +0 -9
- package/dist/organizations-R98kfFwF.js +0 -401
- package/dist/outbox-Bsk-HJnq.d.ts +0 -199
- package/dist/overlay/index.d.ts +0 -249
- package/dist/overlay/index.js +0 -561
- package/dist/payments-6uuergov.js +0 -16
- package/dist/plugin-D9bYbYli.js +0 -45
- package/dist/plugin-DouW0Kvg.d.ts +0 -203
- package/dist/plugins/actor/index.d.ts +0 -19
- package/dist/plugins/actor/index.js +0 -57
- package/dist/plugins/rules/index.d.ts +0 -96
- package/dist/plugins/rules/index.js +0 -235
- package/dist/plugins/soft-delete/index.d.ts +0 -39
- package/dist/plugins/soft-delete/index.js +0 -90
- package/dist/plugins/tenant/index.d.ts +0 -60
- package/dist/plugins/tenant/index.js +0 -119
- package/dist/plugins/timestamps/index.d.ts +0 -11
- package/dist/plugins/timestamps/index.js +0 -47
- package/dist/plugins/validation/index.d.ts +0 -24
- package/dist/plugins/validation/index.js +0 -83
- package/dist/pool-Bu8zXGzI.d.ts +0 -123
- package/dist/pool-errors-DOZ3oDeS.js +0 -27
- package/dist/ports-BltcWsHf.d.ts +0 -312
- package/dist/ports-CM3aG3zn.js +0 -137
- package/dist/ports-n3ZWSS_I.d.ts +0 -89
- package/dist/postgrest-DGjrW4sK.d.ts +0 -53
- package/dist/powersync/react/index.d.ts +0 -93
- package/dist/powersync/react/index.js +0 -120
- package/dist/preset-HNFqCWaD.js +0 -838
- package/dist/problem-D0KDiYPk.js +0 -162
- package/dist/problem-D_DEBfMn.d.ts +0 -79
- package/dist/provider-BhIkKBOh.js +0 -57
- package/dist/provider-Dmsbl8ug.d.ts +0 -112
- package/dist/push-token-8lvtOEv4.d.ts +0 -24
- package/dist/query-DgPYlU82.js +0 -311
- package/dist/rank-result-C6vsw27N.js +0 -18
- package/dist/rank-result-DHflCNwo.d.ts +0 -14
- package/dist/rate-limit-B7N1ZGl6.d.ts +0 -50
- package/dist/rate-limit-CXpPm4_l.js +0 -49
- package/dist/rate-limit-CpTD_WHm.js +0 -328
- package/dist/react-controller-CKSdtJ10.js +0 -43
- package/dist/react-env-CodKZgPk.js +0 -16
- package/dist/react-uvu_KcVY.js +0 -599
- package/dist/read-set-DP6fm21F.js +0 -316
- package/dist/refusal-BEyNVFy7.d.ts +0 -32
- package/dist/refusal-Ce2p81VW.js +0 -64
- package/dist/replicas-BvIL4_jL.js +0 -94
- package/dist/resolve-D57oDWNr.d.ts +0 -289
- package/dist/resolve-sy3_Gz0i.js +0 -892
- package/dist/resource-BRRU-A7j.js +0 -91
- package/dist/resource-BVvIiuX_.js +0 -469
- package/dist/resource-DxQOPkZ5.d.ts +0 -115
- package/dist/resource-execute-BbjuiXwD.d.ts +0 -15
- package/dist/resource-types-NXau9LJE.d.ts +0 -153
- package/dist/resources-CIi7sw1T.js +0 -64
- package/dist/resources-CZ60Vqwq.d.ts +0 -7
- package/dist/respond-DjEmE_DN.js +0 -100
- package/dist/respond-QW-f1yio.d.ts +0 -101
- package/dist/result-DIT_qp4G.js +0 -146
- package/dist/result-mijqfoJN.d.ts +0 -346
- package/dist/rrule-CesB9Rxd.js +0 -290
- package/dist/rules-D75V7dAE.js +0 -286
- package/dist/run-state-CPo-1X2B.d.ts +0 -12
- package/dist/sales-lines-9HsX89aO.d.ts +0 -28
- package/dist/sales-lines-DgXeOEar.js +0 -41
- package/dist/sales-shared-CjXsy0NJ.js +0 -22
- package/dist/sales-shared-DAAGwQwN.d.ts +0 -8
- package/dist/search-9hoZ8rN1.js +0 -106
- package/dist/server-types-D_cQ6OxZ.d.ts +0 -809
- package/dist/session-DNRYXIOU.d.ts +0 -97
- package/dist/settings-DzQtMwfl.js +0 -93
- package/dist/shared-C80IHf4B.js +0 -60
- package/dist/shared-D11SWNLx.js +0 -17
- package/dist/sign-in-B_QJ2u62.js +0 -386
- package/dist/signatures-CzqfLlfV.d.ts +0 -43
- package/dist/signatures-D8IoN3Rw.js +0 -145
- package/dist/signers-BuVQKDfK.d.ts +0 -390
- package/dist/signing-keys-i2Rsll6L.d.ts +0 -119
- package/dist/solid-controller-7TxGaJNy.js +0 -33
- package/dist/solid-controller-BnF3ovwV.d.ts +0 -11
- package/dist/spec-pins-CZ2CL8YZ.d.ts +0 -120
- package/dist/spec-pins-D3Tm6HJi.js +0 -60
- package/dist/sql-CQIikLnQ.js +0 -421
- package/dist/sql-frpIs51D.js +0 -89308
- package/dist/sso-C86TPpZr.js +0 -217
- package/dist/sso-D_am-gBz.d.ts +0 -161
- package/dist/standard-16AIDny5.d.ts +0 -7
- package/dist/standard-l10kE0yS.js +0 -25
- package/dist/stats-Bt1RyT-F.js +0 -1147
- package/dist/store-DKqbuNvw.d.ts +0 -83
- package/dist/stripe-BSEwKCni.d.ts +0 -140
- package/dist/subject-readers-BJzh7WF7.js +0 -49
- package/dist/subject-readers-Bbq1i0Ol.d.ts +0 -21
- package/dist/subjects-DQ2SU4cA.d.ts +0 -77
- package/dist/support-CWVTM2AB.js +0 -534
- package/dist/support-view-BOJJSZKv.d.ts +0 -17
- package/dist/svelte-controller-BmRhHvFz.js +0 -50
- package/dist/svelte-controller-DXO7gsmS.d.ts +0 -13
- package/dist/table-schema-xqSXrjCN.js +0 -284
- package/dist/tags-C_ym1yDM.js +0 -39
- package/dist/tags-Co-QIHeK.js +0 -84
- package/dist/tags-tbiuHHMV.d.ts +0 -30
- package/dist/tanstack-db/supabase/index.d.ts +0 -66
- package/dist/tanstack-db/supabase/index.js +0 -271
- package/dist/tax-BHSCb5Rw.d.ts +0 -280
- package/dist/tax-keSd-q_1.js +0 -140
- package/dist/tee-1fsH3bEz.js +0 -101
- package/dist/template-DXsGm_R0.js +0 -126
- package/dist/temporal-required-Dt4mcPsi.js +0 -20
- package/dist/tenant-DnMqeNIM.js +0 -27
- package/dist/tenant-l3H2ouv7.d.ts +0 -17
- package/dist/tenant-naming-Bsj3Uvap.js +0 -27
- package/dist/timing-C5NzaEgy.js +0 -95
- package/dist/topic-CZvLXFND.d.ts +0 -415
- package/dist/topic-Cr01EHZy.js +0 -643
- package/dist/types-BTK75521.js +0 -8
- package/dist/types-Bzm0OgJk.d.ts +0 -177
- package/dist/types-CB5MvzuE.d.ts +0 -624
- package/dist/types-DYXhFhmQ.d.ts +0 -251
- package/dist/types-DmshMaXz.d.ts +0 -421
- package/dist/types-EUrisY2U.d.ts +0 -217
- package/dist/types-vVsLvOUJ.d.ts +0 -700
- package/dist/undo-CClrTbm9.d.ts +0 -46
- package/dist/undo-HHonvNeg.js +0 -44
- package/dist/upload-claim-DCuklVyh.js +0 -33
- package/dist/usage-BFwuH7GK.d.ts +0 -232
- package/dist/usage-CJmmCGzd.js +0 -264
- package/dist/user-change-CSR_prhd.js +0 -133
- package/dist/variants-Bat9zU8l.js +0 -53
- package/dist/vault-BQThkbws.d.ts +0 -62
- package/dist/verify-BCmBaHlN.js +0 -130
- package/dist/verify-BTAEsJbF.d.ts +0 -146
- package/dist/view-CKzCp8FW.d.ts +0 -90
- package/dist/view-CfUd5vI9.js +0 -108
- package/dist/vue-controller-DCOtUOA_.d.ts +0 -11
- package/dist/vue-controller-EzyTjqca.js +0 -32
- package/dist/watch-CYeMXFtj.d.ts +0 -92
- package/dist/watch-Cnd6XDnU.js +0 -139
- package/dist/watch-topic-CloXeDTO.d.ts +0 -31
- package/dist/wire-BJhepFbv.js +0 -66
- package/dist/workflow-builder-DzZNlI45.js +0 -699
- package/dist/workflow-sdk-BXwl1THQ.d.ts +0 -163
- package/dist/workflow-sdk-CPGiFE1B.js +0 -242
- package/dist/workflow-sdk-world-BOEsvWmx.js +0 -2123
- package/dist/workflows-BHyYAR6c.d.ts +0 -258
- package/dist/workflows-otOMN33L.js +0 -285
- package/skills/better-supabase/references/plugins.md +0 -71
|
@@ -0,0 +1,1252 @@
|
|
|
1
|
+
import { a as list, p as commandMeta, r as defineCliCommand } from "./command-CQ61x6gN.js";
|
|
2
|
+
import { i as plain } from "./style-Bm2X5JrN.js";
|
|
3
|
+
import { t as VERSION } from "./version-Du4CgONY.js";
|
|
4
|
+
import { a as parseNames, n as CliError } from "./errors-BTe6A15O.js";
|
|
5
|
+
import { r as readIfExists, t as display } from "./io-DH1kcmmP.js";
|
|
6
|
+
import { t as loadSnapshot } from "./snapshot-C8MVPyO8.js";
|
|
7
|
+
import { t as isRecord } from "./guards-CUlDNYZs.js";
|
|
8
|
+
import { a as toCatalog } from "./source-DANaJJVc.js";
|
|
9
|
+
import { f as dataMigration } from "./module-migration-aPCckev6.js";
|
|
10
|
+
import { a as findConfig, f as INTEGRATIONS, s as loadConfig } from "./config-9t5ec_N7.js";
|
|
11
|
+
import { i as changeLines, n as PLAN_ARGS, r as applyPlan, u as planResult } from "./files-CX71yBm8.js";
|
|
12
|
+
import { a as wiringFiles, d as libEntry, f as needsLib, i as wiringChecklist, l as importFrom, n as latestMigrationVersion, o as wiringFor, p as resolveIntegrations, s as TEMPLATES, u as isIntegration } from "./migration-safety-D7PhzFxm.js";
|
|
13
|
+
import { n as installCommand, t as detectProject } from "./detect-D9JaAX20.js";
|
|
14
|
+
import { d as setBlockInJson, f as setPathInConfig, h as setPresetInJson, m as setPresetInConfig, n as addBlocksToJson, p as setPathInJson, r as addBlocksToWiring, t as addBlocksToConfig, u as setBlockInConfig } from "./config-edit-CrWfk8s3.js";
|
|
15
|
+
import { t as syncModules } from "./sync-btj01bcM.js";
|
|
16
|
+
import { t as addModules } from "./add-DCI5JKjA.js";
|
|
17
|
+
import { n as ident } from "./live-iEeH15ck.js";
|
|
18
|
+
import { t as blockNames } from "./blocks-BZHI8mRC.js";
|
|
19
|
+
import { i as sourceArgs, n as SOURCE_ARGS } from "./source-args-IpJRJO5t.js";
|
|
20
|
+
import { existsSync } from "node:fs";
|
|
21
|
+
import { dirname, join, posix, resolve } from "node:path";
|
|
22
|
+
import { readFile } from "node:fs/promises";
|
|
23
|
+
import { INTEGRATION_INFO, blockEntrySource } from "better-supabase/config";
|
|
24
|
+
import { DEFAULT_CONVENTIONS, PRESET_CATALOG, PRESET_FRAMEWORKS, PRESET_NAMES, PRESET_TENANT_NAMES, designConfig, diffAppTables, glueCommand, isPresetName, presetAndDesignOf, presetField, presetFromSpec, presetSpec, presetValueLabel, readDesignFile, resolvePreset } from "better-supabase/preset";
|
|
25
|
+
import { SQL_MODULES, adoptedColumnProblems, migrationOptionUses, moduleBody, moduleIdType } from "better-supabase/sql";
|
|
26
|
+
import { toSnake } from "better-supabase";
|
|
27
|
+
//#region src/cli/conventions.ts
|
|
28
|
+
const arg = (key, description) => ({
|
|
29
|
+
type: "string",
|
|
30
|
+
description,
|
|
31
|
+
valueHint: presetField(key).values.join("|")
|
|
32
|
+
});
|
|
33
|
+
/** The convention flags `init` and `apply` take; each one overrides the preset. */
|
|
34
|
+
const CONVENTION_ARGS = {
|
|
35
|
+
casing: arg("casing", "Row keys: snake keeps the database's names (the default), camel renames them in the query"),
|
|
36
|
+
scope: arg("scope", "Row ownership (database.sql.owner): tenant (the default), user or none for one shared space"),
|
|
37
|
+
"tenant-name": {
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "What a tenant is called (blocks.memberships.names.organization): organization (the default), workspace, team or another lowercase name",
|
|
40
|
+
valueHint: "name"
|
|
41
|
+
},
|
|
42
|
+
access: arg("access", "Auth and permissions (blocks.permissions.model): roles (the default), catalog, provider or custom"),
|
|
43
|
+
"id-type": arg("idType", "The type of the permissions block's ids (blocks.permissions.idType): uuid (the default), text, bigint or integer"),
|
|
44
|
+
api: arg("api", "API schema (database.sql.api): none (the default) or api for security invoker wrappers in an api schema")
|
|
45
|
+
};
|
|
46
|
+
/** The flag of each convention. */
|
|
47
|
+
const FLAGS = {
|
|
48
|
+
casing: "casing",
|
|
49
|
+
scope: "scope",
|
|
50
|
+
tenantName: "tenant-name",
|
|
51
|
+
access: "access",
|
|
52
|
+
idType: "id-type",
|
|
53
|
+
api: "api"
|
|
54
|
+
};
|
|
55
|
+
/** Every convention, in the order `init` asks for them (as on /create). */
|
|
56
|
+
const KEYS = [
|
|
57
|
+
"casing",
|
|
58
|
+
"scope",
|
|
59
|
+
"tenantName",
|
|
60
|
+
"access",
|
|
61
|
+
"idType",
|
|
62
|
+
"api"
|
|
63
|
+
];
|
|
64
|
+
const TENANT_NAME = /^[a-z][a-z0-9_]{0,40}$/;
|
|
65
|
+
/** The convention flags that were passed, each checked against its values. */
|
|
66
|
+
function conventionFlags(args) {
|
|
67
|
+
const out = {};
|
|
68
|
+
for (const key of KEYS) {
|
|
69
|
+
const flag = FLAGS[key];
|
|
70
|
+
const value = args[flag];
|
|
71
|
+
if (value === void 0) continue;
|
|
72
|
+
if (key === "tenantName") {
|
|
73
|
+
if (!TENANT_NAME.test(value)) throw new CliError("usage", `--${flag} must be a lowercase name that starts with a letter (letters, digits and _), like workspace.`);
|
|
74
|
+
} else if (!presetField(key).values.some((each) => each === value)) throw new CliError("invalid_value", `--${flag} must be one of ${presetField(key).values.join(", ")}.`);
|
|
75
|
+
out[key] = value;
|
|
76
|
+
}
|
|
77
|
+
return out;
|
|
78
|
+
}
|
|
79
|
+
/** Whether any convention flag was passed. */
|
|
80
|
+
const hasConventionFlags = (flags) => Object.keys(flags).length > 0;
|
|
81
|
+
/**
|
|
82
|
+
* `preset` with the flags' conventions. A preset holds the tenant names /create
|
|
83
|
+
* offers, so another `--tenant-name` throws.
|
|
84
|
+
*/
|
|
85
|
+
function withConventions(preset, flags) {
|
|
86
|
+
let next = preset;
|
|
87
|
+
for (const key of KEYS) {
|
|
88
|
+
const value = flags[key];
|
|
89
|
+
if (value === void 0) continue;
|
|
90
|
+
if (key === "tenantName" && !PRESET_TENANT_NAMES.some((name) => name === value)) throw new CliError("usage", `--tenant-name with a preset takes ${PRESET_TENANT_NAMES.join(", ")}. Leave it out and set blocks.memberships.names.organization in the config for another name.`);
|
|
91
|
+
next = presetFromSpec({
|
|
92
|
+
...next,
|
|
93
|
+
[key]: value
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return next;
|
|
97
|
+
}
|
|
98
|
+
/** The conventions with the flags over the defaults, for `--yes` and CI. */
|
|
99
|
+
const defaultConventions = (flags) => ({
|
|
100
|
+
...DEFAULT_CONVENTIONS,
|
|
101
|
+
...flags
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* Asks for each convention in /create's order, with its labels and hints. The
|
|
105
|
+
* tenant name is asked only for tenant scope. Undefined when the person
|
|
106
|
+
* cancels.
|
|
107
|
+
*/
|
|
108
|
+
async function promptConventions(prompts) {
|
|
109
|
+
const defaults = DEFAULT_CONVENTIONS;
|
|
110
|
+
const answers = {};
|
|
111
|
+
for (const key of KEYS) {
|
|
112
|
+
const scope = answers.scope ?? defaults.scope;
|
|
113
|
+
if (key === "tenantName" && scope !== "tenant") continue;
|
|
114
|
+
const field = presetField(key);
|
|
115
|
+
const values = key === "tenantName" ? PRESET_TENANT_NAMES : field.values;
|
|
116
|
+
const picked = await prompts.select(field.label, values.map((value) => {
|
|
117
|
+
const info = presetValueLabel(key, value);
|
|
118
|
+
return {
|
|
119
|
+
value,
|
|
120
|
+
label: info.label,
|
|
121
|
+
...info.hint === void 0 ? {} : { hint: info.hint }
|
|
122
|
+
};
|
|
123
|
+
}), defaults[key]);
|
|
124
|
+
if (picked === void 0) return;
|
|
125
|
+
answers[FLAGS[key]] = picked;
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
...defaults,
|
|
129
|
+
...conventionFlags(answers)
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/** The values a shell offers for each convention flag. */
|
|
133
|
+
const CONVENTION_COMPLETIONS = {
|
|
134
|
+
casing: () => presetField("casing").values,
|
|
135
|
+
scope: () => presetField("scope").values,
|
|
136
|
+
"tenant-name": () => PRESET_TENANT_NAMES,
|
|
137
|
+
access: () => presetField("access").values,
|
|
138
|
+
"id-type": () => presetField("idType").values,
|
|
139
|
+
api: () => presetField("api").values
|
|
140
|
+
};
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region src/cli/glue.ts
|
|
143
|
+
const CANCELLED = {
|
|
144
|
+
code: 1,
|
|
145
|
+
error: "Cancelled."
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* `--force`, or the person's answer when files exist; `undefined` when they
|
|
149
|
+
* cancel.
|
|
150
|
+
*/
|
|
151
|
+
async function overwrite(root, files, args, prompts, base = root) {
|
|
152
|
+
if (args.force === true) return true;
|
|
153
|
+
const existing = [...new Set(files.map((file) => file.path).filter((path) => existsSync(resolve(root, path))))];
|
|
154
|
+
if (!prompts || existing.length === 0) return false;
|
|
155
|
+
return prompts.confirm(`${existing.map((path) => display(base, resolve(root, path))).join(", ")} ${existing.length === 1 ? "exists" : "exist"}. Overwrite?`);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Template files as a plan: each is written once, and an existing file is the
|
|
159
|
+
* app's.
|
|
160
|
+
*/
|
|
161
|
+
function templatePlan(root, files, regenerate, base = root) {
|
|
162
|
+
return {
|
|
163
|
+
root,
|
|
164
|
+
base,
|
|
165
|
+
regenerate,
|
|
166
|
+
files: files.map((file) => ({
|
|
167
|
+
path: file.path,
|
|
168
|
+
contents: file.contents,
|
|
169
|
+
policy: "create"
|
|
170
|
+
}))
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function templateContextFor(project, generated, blocks = false) {
|
|
174
|
+
return {
|
|
175
|
+
srcDir: project.srcDir,
|
|
176
|
+
generated,
|
|
177
|
+
tsExtensions: project.tsExtensions,
|
|
178
|
+
frameworks: project.frameworks,
|
|
179
|
+
version: VERSION,
|
|
180
|
+
blocks
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function integrationFiles(names, templateContext) {
|
|
184
|
+
return names.flatMap((name) => TEMPLATES[name].files(templateContext));
|
|
185
|
+
}
|
|
186
|
+
function packagesFor(project, names) {
|
|
187
|
+
const wanted = [
|
|
188
|
+
"better-supabase",
|
|
189
|
+
"@supabase/supabase-js",
|
|
190
|
+
...names.flatMap((name) => TEMPLATES[name].packages)
|
|
191
|
+
];
|
|
192
|
+
return [...new Set(wanted)].filter((name) => !(name in project.dependencies));
|
|
193
|
+
}
|
|
194
|
+
function chooseIntegrations(prompts, initial) {
|
|
195
|
+
return prompts.multiselect("Integrations", INTEGRATIONS.map((name) => ({
|
|
196
|
+
value: name,
|
|
197
|
+
label: INTEGRATION_INFO[name].title,
|
|
198
|
+
hint: INTEGRATION_INFO[name].description
|
|
199
|
+
})), initial);
|
|
200
|
+
}
|
|
201
|
+
function parseIntegrations(values) {
|
|
202
|
+
return parseNames(values, isIntegration, "integration", INTEGRATIONS);
|
|
203
|
+
}
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region src/cli/sql/adopt.ts
|
|
206
|
+
/**
|
|
207
|
+
* Other names apps give a logical column. They are tried after the module's
|
|
208
|
+
* default name and the logical name in snake case.
|
|
209
|
+
*/
|
|
210
|
+
const ALIASES = {
|
|
211
|
+
tenant: [
|
|
212
|
+
"organization_id",
|
|
213
|
+
"org_id",
|
|
214
|
+
"tenant_id",
|
|
215
|
+
"workspace_id",
|
|
216
|
+
"account_id",
|
|
217
|
+
"company_id"
|
|
218
|
+
],
|
|
219
|
+
user: [
|
|
220
|
+
"user_id",
|
|
221
|
+
"profile_id",
|
|
222
|
+
"owner_id",
|
|
223
|
+
"member_id"
|
|
224
|
+
],
|
|
225
|
+
createdBy: [
|
|
226
|
+
"created_by",
|
|
227
|
+
"author_id",
|
|
228
|
+
"creator_id",
|
|
229
|
+
"owner_id"
|
|
230
|
+
],
|
|
231
|
+
rank: [
|
|
232
|
+
"position",
|
|
233
|
+
"sort_order",
|
|
234
|
+
"sort_key",
|
|
235
|
+
"order_index"
|
|
236
|
+
],
|
|
237
|
+
key: ["id", "user_id"],
|
|
238
|
+
note: ["notes", "note"]
|
|
239
|
+
};
|
|
240
|
+
/** Whether the app's table can stand in for one of the block's tables. */
|
|
241
|
+
const overAppTables = (block) => Object.values(SQL_MODULES[block]?.names?.tables ?? {}).some((table) => table.app !== void 0);
|
|
242
|
+
/** The blocks with a table the app's table can stand in for, in registry order. */
|
|
243
|
+
function adoptableBlocks() {
|
|
244
|
+
return Object.values(SQL_MODULES).filter((module) => overAppTables(module.name)).map((module) => module.name);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* `schema.table` from `table` or `schema.table`; an unqualified name is in
|
|
248
|
+
* `public`.
|
|
249
|
+
*/
|
|
250
|
+
function qualifiedName(name) {
|
|
251
|
+
return name.includes(".") ? name : `public.${name}`;
|
|
252
|
+
}
|
|
253
|
+
/** The introspected tables in the shape a proposal reads. */
|
|
254
|
+
function existingTables(tables) {
|
|
255
|
+
return tables.filter((table) => table.kind === "table");
|
|
256
|
+
}
|
|
257
|
+
function candidates(logical, physical) {
|
|
258
|
+
const snake = toSnake(logical);
|
|
259
|
+
const singular = physical.endsWith("s") ? physical.slice(0, -1) : void 0;
|
|
260
|
+
return [
|
|
261
|
+
physical,
|
|
262
|
+
snake,
|
|
263
|
+
`${snake}_id`,
|
|
264
|
+
`${physical}s`,
|
|
265
|
+
...singular === void 0 ? [] : [singular],
|
|
266
|
+
...ALIASES[logical] ?? []
|
|
267
|
+
];
|
|
268
|
+
}
|
|
269
|
+
/** The logical columns of `logical` matched to the columns of `table`. */
|
|
270
|
+
function matchColumns(spec, table) {
|
|
271
|
+
const names = new Set(table.columns.map((column) => column.name));
|
|
272
|
+
const used = /* @__PURE__ */ new Set();
|
|
273
|
+
const matches = [];
|
|
274
|
+
for (const physical of Object.values(spec.columns)) if (names.has(physical)) used.add(physical);
|
|
275
|
+
for (const [logical, physical] of Object.entries(spec.columns)) {
|
|
276
|
+
if (names.has(physical)) {
|
|
277
|
+
matches.push({
|
|
278
|
+
logical,
|
|
279
|
+
column: physical,
|
|
280
|
+
by: "name"
|
|
281
|
+
});
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
const found = candidates(logical, physical).find((name) => names.has(name) && !used.has(name)) ?? unique(table.columns.map((column) => column.name).filter((name) => name.endsWith(`_${physical}`) && !used.has(name)));
|
|
285
|
+
if (found === void 0) matches.push(spec.optional?.includes(logical) === true ? {
|
|
286
|
+
logical,
|
|
287
|
+
column: null,
|
|
288
|
+
by: "missing"
|
|
289
|
+
} : {
|
|
290
|
+
logical,
|
|
291
|
+
column: null,
|
|
292
|
+
by: "added",
|
|
293
|
+
adds: physical
|
|
294
|
+
});
|
|
295
|
+
else {
|
|
296
|
+
used.add(found);
|
|
297
|
+
matches.push({
|
|
298
|
+
logical,
|
|
299
|
+
column: found,
|
|
300
|
+
by: "alias"
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return matches;
|
|
305
|
+
}
|
|
306
|
+
const unique = (names) => names.length === 1 ? names[0] : void 0;
|
|
307
|
+
/**
|
|
308
|
+
* The share of logical columns a table matches, so a wide table doesn't win on
|
|
309
|
+
* size.
|
|
310
|
+
*/
|
|
311
|
+
const score = (matches) => matches.length === 0 ? 0 : matches.filter((match) => match.column !== null).length / matches.length;
|
|
312
|
+
/**
|
|
313
|
+
* The table each logical table of `block` maps to: the tables in `from` go to
|
|
314
|
+
* the logical tables whose columns they match best, and the rest are looked up
|
|
315
|
+
* by the module's default names in `schemas`.
|
|
316
|
+
*/
|
|
317
|
+
function matchTables(block, tables, from, schemas, errors) {
|
|
318
|
+
const spec = Object.fromEntries(Object.entries(SQL_MODULES[block]?.names?.tables ?? {}).filter(([, table]) => table.app !== void 0));
|
|
319
|
+
const byName = new Map(tables.map((table) => [`${table.schema}.${table.name}`, table]));
|
|
320
|
+
const chosen = /* @__PURE__ */ new Map();
|
|
321
|
+
for (const name of from) {
|
|
322
|
+
const table = byName.get(qualifiedName(name));
|
|
323
|
+
if (table === void 0) {
|
|
324
|
+
errors.push(`${qualifiedName(name)} is not a table in the database.`);
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
const best = Object.entries(spec).filter(([logical]) => !chosen.has(logical)).map(([logical, names]) => ({
|
|
328
|
+
logical,
|
|
329
|
+
score: score(matchColumns(names, table)) + (table.name === names.name ? 1 : 0)
|
|
330
|
+
})).toSorted((left, right) => right.score - left.score)[0];
|
|
331
|
+
if (best === void 0 || best.score === 0) {
|
|
332
|
+
errors.push(`${qualifiedName(name)} matches none of the ${block} tables (${Object.keys(spec).join(", ")}).`);
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
chosen.set(best.logical, table);
|
|
336
|
+
}
|
|
337
|
+
for (const [logical, table] of Object.entries(spec)) {
|
|
338
|
+
if (chosen.has(logical) || table.app?.onlyWhenMapped === true) continue;
|
|
339
|
+
const found = schemas.map((schema) => byName.get(`${schema}.${table.name}`)).find((match) => match !== void 0);
|
|
340
|
+
if (found !== void 0) chosen.set(logical, found);
|
|
341
|
+
else if (table.optionalTable === true) chosen.set(logical, null);
|
|
342
|
+
}
|
|
343
|
+
if (chosen.size === 0) errors.push(`None of the ${block} tables (${Object.values(spec).map((table) => table.name).join(", ")}) is in the database. Pass yours with --tables.`);
|
|
344
|
+
return chosen;
|
|
345
|
+
}
|
|
346
|
+
const enumType = (column) => `"${column.typeSchema ?? "public"}"."${column.udt}"`;
|
|
347
|
+
/**
|
|
348
|
+
* A `create table` per table of the app's, with its enum types, for
|
|
349
|
+
* `adoptedColumnProblems`.
|
|
350
|
+
*/
|
|
351
|
+
const declaration = (table) => [...table.columns.filter((column) => column.isEnum === true).map((column) => `create type ${enumType(column)} as enum ();`), `create table ${table.schema}.${table.name} (\n${table.columns.map((column) => ` "${column.name}" ${column.isEnum === true ? enumType(column) : column.udt}`).join(",\n")}\n);`].join("\n");
|
|
352
|
+
/** The entry for `block` over the app's `tables`, and what can't map. */
|
|
353
|
+
function proposeAdoption(block, tables, options = {}) {
|
|
354
|
+
const module = SQL_MODULES[block];
|
|
355
|
+
if (module === void 0 || !overAppTables(block)) return {
|
|
356
|
+
block,
|
|
357
|
+
entry: {},
|
|
358
|
+
tables: [],
|
|
359
|
+
errors: [module === void 0 ? `${block} is not a block. See \`better-supabase blocks list\`.` : `${block} creates all its tables. Blocks that can run over yours: ${adoptableBlocks().join(", ")}.`],
|
|
360
|
+
warnings: []
|
|
361
|
+
};
|
|
362
|
+
const errors = [];
|
|
363
|
+
const warnings = [];
|
|
364
|
+
const spec = module.names?.tables ?? {};
|
|
365
|
+
const chosen = matchTables(block, tables, options.from ?? [], options.schemas ?? ["public"], errors);
|
|
366
|
+
const matched = [];
|
|
367
|
+
const entryTables = {};
|
|
368
|
+
const entryColumns = {};
|
|
369
|
+
let idType;
|
|
370
|
+
for (const [logical, table] of Object.entries(spec)) {
|
|
371
|
+
if (!chosen.has(logical)) continue;
|
|
372
|
+
const existing = chosen.get(logical) ?? null;
|
|
373
|
+
if (existing === null) {
|
|
374
|
+
entryTables[logical] = null;
|
|
375
|
+
matched.push({
|
|
376
|
+
logical,
|
|
377
|
+
table: null,
|
|
378
|
+
columns: []
|
|
379
|
+
});
|
|
380
|
+
continue;
|
|
381
|
+
}
|
|
382
|
+
const name = `${existing.schema}.${existing.name}`;
|
|
383
|
+
entryTables[logical] = name;
|
|
384
|
+
const columns = matchColumns(table, existing);
|
|
385
|
+
matched.push({
|
|
386
|
+
logical,
|
|
387
|
+
table: name,
|
|
388
|
+
columns
|
|
389
|
+
});
|
|
390
|
+
const mapped = {};
|
|
391
|
+
for (const match of columns) {
|
|
392
|
+
if (match.column === null) {
|
|
393
|
+
if (table.optional?.includes(match.logical) === true) mapped[match.logical] = null;
|
|
394
|
+
else warnings.push(`${name} has no column for ${logical}.${match.logical}, so the block's migration adds ${table.columns[match.logical]}. Map blocks.${block}.columns.${logical}.${match.logical} instead when another column holds it.`);
|
|
395
|
+
continue;
|
|
396
|
+
}
|
|
397
|
+
if (match.column !== table.columns[match.logical]) mapped[match.logical] = match.column;
|
|
398
|
+
if (match.logical === "tenant" && idType === void 0) {
|
|
399
|
+
const udt = existing.columns.find((column) => column.name === match.column)?.udt;
|
|
400
|
+
const type = udt === void 0 ? void 0 : moduleIdType(udt);
|
|
401
|
+
if (type !== void 0 && type !== "uuid") idType = type;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
if (Object.keys(mapped).length > 0) entryColumns[logical] = mapped;
|
|
405
|
+
}
|
|
406
|
+
const current = options.blocks?.[block];
|
|
407
|
+
const entry = {
|
|
408
|
+
...current,
|
|
409
|
+
tables: entryTables,
|
|
410
|
+
...Object.keys(entryColumns).length > 0 ? { columns: entryColumns } : {},
|
|
411
|
+
...idType === void 0 || current?.idType !== void 0 ? {} : { idType }
|
|
412
|
+
};
|
|
413
|
+
if (errors.length === 0) {
|
|
414
|
+
const blocks = {
|
|
415
|
+
...options.blocks,
|
|
416
|
+
[block]: entry
|
|
417
|
+
};
|
|
418
|
+
const adopted = [...chosen.values()].filter((table) => table !== null);
|
|
419
|
+
const ownTables = Object.fromEntries(tables.map((table) => [`${table.schema}.${table.name}`, "database"]));
|
|
420
|
+
try {
|
|
421
|
+
moduleBody(block, {
|
|
422
|
+
modules: blocks,
|
|
423
|
+
ownTables
|
|
424
|
+
});
|
|
425
|
+
errors.push(...adoptedColumnProblems(blocks, adopted.map((table) => ({ text: declaration(table) })), [...new Set(adopted.map((table) => table.schema))], ownTables));
|
|
426
|
+
} catch (error) {
|
|
427
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
428
|
+
}
|
|
429
|
+
warnings.push(...migrationOptionUses({ [block]: entry }).map((use) => use.message));
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
block,
|
|
433
|
+
entry,
|
|
434
|
+
tables: matched,
|
|
435
|
+
errors,
|
|
436
|
+
warnings
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Whether one of `block`'s logical tables has an existing table under its
|
|
441
|
+
* default name, so `apply --adopt` proposes adopting the block.
|
|
442
|
+
*/
|
|
443
|
+
function hasDefaultTable(block, tables, schemas = ["public"]) {
|
|
444
|
+
const names = new Set(Object.values(SQL_MODULES[block]?.names?.tables ?? {}).map((table) => table.name));
|
|
445
|
+
return tables.some((table) => names.has(table.name) && schemas.includes(table.schema));
|
|
446
|
+
}
|
|
447
|
+
/** The proposal as lines: each table and column, then the errors and warnings. */
|
|
448
|
+
function describeProposal(proposal) {
|
|
449
|
+
const lines = [];
|
|
450
|
+
for (const table of proposal.tables) {
|
|
451
|
+
lines.push(` ${table.logical}: ${table.table ?? "null (not in the app)"}`);
|
|
452
|
+
const width = Math.max(0, ...table.columns.map((c) => c.logical.length));
|
|
453
|
+
for (const column of table.columns) {
|
|
454
|
+
const target = column.by === "added" ? `${column.adds} (the block adds it)` : column.column === null ? "null (not in the table)" : column.by === "alias" ? `${column.column} (guessed)` : column.column;
|
|
455
|
+
lines.push(` ${column.logical.padEnd(width)} ${target}`);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
for (const error of proposal.errors) lines.push(` error ${error}`);
|
|
459
|
+
for (const warning of proposal.warnings) lines.push(` warn ${warning}`);
|
|
460
|
+
return lines;
|
|
461
|
+
}
|
|
462
|
+
//#endregion
|
|
463
|
+
//#region src/cli/commands/adopt.ts
|
|
464
|
+
const ADOPT_ARGS = {
|
|
465
|
+
block: {
|
|
466
|
+
type: "positional",
|
|
467
|
+
required: false,
|
|
468
|
+
description: "The block to adopt existing tables for"
|
|
469
|
+
},
|
|
470
|
+
tables: {
|
|
471
|
+
type: "string",
|
|
472
|
+
description: "The existing tables, as table or schema.table; the block's other tables are looked up by their default names",
|
|
473
|
+
valueHint: "schema.table,..."
|
|
474
|
+
},
|
|
475
|
+
"dry-run": {
|
|
476
|
+
type: "boolean",
|
|
477
|
+
description: "Show the proposed mapping and the config diff, and write nothing"
|
|
478
|
+
},
|
|
479
|
+
check: {
|
|
480
|
+
type: "boolean",
|
|
481
|
+
description: "Write nothing; exit 1 with the diff when the config lacks this mapping"
|
|
482
|
+
}
|
|
483
|
+
};
|
|
484
|
+
/** The schemas searched for a block's default table names. */
|
|
485
|
+
const adoptSchemas = (config) => [.../* @__PURE__ */ new Set(["public", ...config.schemas])];
|
|
486
|
+
/** `source` with `blocks.<block>` set to the proposal's entry. */
|
|
487
|
+
function withAdoptedBlock(file, source, proposal) {
|
|
488
|
+
return file.endsWith(".json") ? setBlockInJson(source, proposal.block, blockEntrySource(proposal.entry)) : setBlockInConfig(source, proposal.block, blockEntrySource(proposal.entry));
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* `edit` with `doctor.migrationSafety.since` set to the newest migration when
|
|
492
|
+
* the config has none, so doctor's lock checks skip the migrations that ran
|
|
493
|
+
* before the tables were adopted.
|
|
494
|
+
*/
|
|
495
|
+
async function withMigrationSince(config, file, edit) {
|
|
496
|
+
if (!edit.ok || config.doctor.migrationSafety?.since !== void 0) return edit;
|
|
497
|
+
const since = await latestMigrationVersion(config.root);
|
|
498
|
+
if (since === void 0) return edit;
|
|
499
|
+
const path = [
|
|
500
|
+
"tooling",
|
|
501
|
+
"doctor",
|
|
502
|
+
"migrationSafety",
|
|
503
|
+
"since"
|
|
504
|
+
];
|
|
505
|
+
const next = file.endsWith(".json") ? setPathInJson(edit.text, path, since) : setPathInConfig(edit.text, path, since);
|
|
506
|
+
return next.ok ? next : edit;
|
|
507
|
+
}
|
|
508
|
+
/** The tables `loadSnapshot` reads, for the adopt commands. */
|
|
509
|
+
function snapshotTables(config, env, source) {
|
|
510
|
+
return async () => existingTables(toCatalog(await loadSnapshot(config, env, source)).tables);
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Proposes `blocks.<block>` over existing tables, reports what can't map, and
|
|
514
|
+
* writes the entry's `tables` and `columns` to the config when everything
|
|
515
|
+
* maps.
|
|
516
|
+
*/
|
|
517
|
+
async function runAdopt(config, args, deps) {
|
|
518
|
+
const block = args.block;
|
|
519
|
+
if (block === void 0) throw new CliError("usage", "Name the block to adopt, e.g. `better-supabase add --adopt teams --tables public.teams`.");
|
|
520
|
+
const proposal = proposeAdoption(block, await deps.tables(), {
|
|
521
|
+
from: list(args.tables),
|
|
522
|
+
blocks: config.blocks,
|
|
523
|
+
schemas: adoptSchemas(config)
|
|
524
|
+
});
|
|
525
|
+
const lines = [`Adopting ${block}:`, ...describeProposal(proposal)];
|
|
526
|
+
const data = {
|
|
527
|
+
block,
|
|
528
|
+
entry: blockEntrySource(proposal.entry),
|
|
529
|
+
tables: proposal.tables,
|
|
530
|
+
errors: proposal.errors,
|
|
531
|
+
warnings: proposal.warnings
|
|
532
|
+
};
|
|
533
|
+
if (proposal.errors.length > 0) return {
|
|
534
|
+
code: 1,
|
|
535
|
+
output: lines.join("\n"),
|
|
536
|
+
error: `blocks.${block} wasn't written: fix what the report lists, then run adopt again.`,
|
|
537
|
+
data: {
|
|
538
|
+
...data,
|
|
539
|
+
written: false
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
const file = deps.configFile;
|
|
543
|
+
if (file === void 0) {
|
|
544
|
+
lines.push("", `No config file: add this to blocks yourself.`, `${block}: ${JSON.stringify(blockEntrySource(proposal.entry), null, 2)}`);
|
|
545
|
+
return {
|
|
546
|
+
code: 0,
|
|
547
|
+
output: lines.join("\n"),
|
|
548
|
+
data: {
|
|
549
|
+
...data,
|
|
550
|
+
written: false
|
|
551
|
+
}
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
const edit = await withMigrationSince(config, file, withAdoptedBlock(file, await readFile(file, "utf-8"), proposal));
|
|
555
|
+
const shown = display(config.root, file);
|
|
556
|
+
if (!edit.ok) return {
|
|
557
|
+
code: 1,
|
|
558
|
+
output: lines.join("\n"),
|
|
559
|
+
error: `${shown} wasn't changed: ${edit.reason}. Set blocks.${block} in it yourself.`,
|
|
560
|
+
data: {
|
|
561
|
+
...data,
|
|
562
|
+
written: false
|
|
563
|
+
}
|
|
564
|
+
};
|
|
565
|
+
const paint = deps.paint ?? plain;
|
|
566
|
+
const plan = {
|
|
567
|
+
root: config.root,
|
|
568
|
+
regenerate: "better-supabase add --adopt",
|
|
569
|
+
files: [{
|
|
570
|
+
path: file,
|
|
571
|
+
contents: edit.text,
|
|
572
|
+
policy: "edit"
|
|
573
|
+
}]
|
|
574
|
+
};
|
|
575
|
+
const applied = await applyPlan(plan, args, paint);
|
|
576
|
+
if (applied.mode === "check") return planResult(plan, applied, { data: {
|
|
577
|
+
...data,
|
|
578
|
+
written: false
|
|
579
|
+
} });
|
|
580
|
+
if (applied.drift) lines.push("", ...applied.diffs);
|
|
581
|
+
if (applied.mode === "dry-run" || !applied.drift) {
|
|
582
|
+
lines.push("", applied.drift ? "Dry run: nothing written. Run without --dry-run to write it." : `${shown} already holds this mapping.`);
|
|
583
|
+
return {
|
|
584
|
+
code: 0,
|
|
585
|
+
output: lines.join("\n"),
|
|
586
|
+
data: {
|
|
587
|
+
...data,
|
|
588
|
+
written: false
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
}
|
|
592
|
+
lines.push("", `Updated ${shown}. Run \`better-supabase upgrade\` to write the block's module over these tables.`);
|
|
593
|
+
return {
|
|
594
|
+
code: 0,
|
|
595
|
+
output: lines.join("\n"),
|
|
596
|
+
data: {
|
|
597
|
+
...data,
|
|
598
|
+
written: true
|
|
599
|
+
}
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
//#endregion
|
|
603
|
+
//#region src/cli/create-url.ts
|
|
604
|
+
/**
|
|
605
|
+
* A query parameter of a `/create` URL, decoded; undefined for a name or a
|
|
606
|
+
* code.
|
|
607
|
+
*/
|
|
608
|
+
function createUrlParam(input, name) {
|
|
609
|
+
const value = input?.match(new RegExp(`[?&]${name}=([^&#]*)`))?.[1];
|
|
610
|
+
return value === void 0 || value === "" ? void 0 : decodeURIComponent(value);
|
|
611
|
+
}
|
|
612
|
+
/** What `init` and `apply` print for a URL with `&authz=`. */
|
|
613
|
+
const AUTHZ_NOTE = "The authorization library chosen on Create isn't part of the preset. Open Get code on Create for its setup, then set `authorization` in the config to its adapter.";
|
|
614
|
+
//#endregion
|
|
615
|
+
//#region src/cli/preset-input.ts
|
|
616
|
+
/** Whether `--preset` names a design file rather than a preset or URL. */
|
|
617
|
+
const isDesignFilePath = (input) => input.endsWith(".json");
|
|
618
|
+
/**
|
|
619
|
+
* Reads `--preset`: a named preset, a design code, a `/create` URL, or the path
|
|
620
|
+
* of a design file Create downloaded (relative to `root`). Throws a usage error
|
|
621
|
+
* naming the problem.
|
|
622
|
+
*/
|
|
623
|
+
async function readPresetInput(input, root) {
|
|
624
|
+
try {
|
|
625
|
+
if (isDesignFilePath(input)) {
|
|
626
|
+
const path = resolve(root, input);
|
|
627
|
+
if (!existsSync(path)) throw new TypeError(`${input} doesn't exist. Download the design file from Create, or pass a preset name or a /create URL.`);
|
|
628
|
+
return readDesignFile(await readFile(path, "utf-8"));
|
|
629
|
+
}
|
|
630
|
+
return await presetAndDesignOf(input);
|
|
631
|
+
} catch (error) {
|
|
632
|
+
throw new CliError("usage", error instanceof Error ? error.message : String(error));
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
//#endregion
|
|
636
|
+
//#region src/cli/sql/design-edit.ts
|
|
637
|
+
/** The `extraColumns` a block already has in the config, as plain strings. */
|
|
638
|
+
function currentExtraColumns(config, module) {
|
|
639
|
+
const value = config?.blocks[module]?.options?.["extraColumns"];
|
|
640
|
+
if (!isRecord(value)) return {};
|
|
641
|
+
return Object.fromEntries(Object.entries(value).flatMap(([name, type]) => typeof type === "string" ? [[name, type]] : []));
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* `source` with a `/create` design written into it: each block's
|
|
645
|
+
* `options.extraColumns` (merged over the columns `config` already gives it)
|
|
646
|
+
* and each design table under `tables`, replacing a table of the same name and
|
|
647
|
+
* keeping the others. Positions only matter to the canvas and stay out.
|
|
648
|
+
*/
|
|
649
|
+
function writeDesign(file, source, design, config) {
|
|
650
|
+
const set = file.endsWith(".json") ? setPathInJson : setPathInConfig;
|
|
651
|
+
let text = source;
|
|
652
|
+
const apply = (path, value) => {
|
|
653
|
+
const edit = set(text, path, value);
|
|
654
|
+
if (!edit.ok) return `${path.join(".")} can't be set: ${edit.reason}`;
|
|
655
|
+
text = edit.text;
|
|
656
|
+
};
|
|
657
|
+
for (const [module, columns] of Object.entries(design.extraColumns ?? {})) {
|
|
658
|
+
const problem = apply([
|
|
659
|
+
"blocks",
|
|
660
|
+
module,
|
|
661
|
+
"options",
|
|
662
|
+
"extraColumns"
|
|
663
|
+
], {
|
|
664
|
+
...currentExtraColumns(config, module),
|
|
665
|
+
...columns
|
|
666
|
+
});
|
|
667
|
+
if (problem !== void 0) return {
|
|
668
|
+
ok: false,
|
|
669
|
+
reason: problem
|
|
670
|
+
};
|
|
671
|
+
}
|
|
672
|
+
for (const [name, table] of Object.entries(design.appTables ?? {})) {
|
|
673
|
+
const { scope, ...rest } = table;
|
|
674
|
+
const problem = apply(["tables", name], scope === void 0 ? rest : {
|
|
675
|
+
...rest,
|
|
676
|
+
owner: scope
|
|
677
|
+
});
|
|
678
|
+
if (problem !== void 0) return {
|
|
679
|
+
ok: false,
|
|
680
|
+
reason: problem
|
|
681
|
+
};
|
|
682
|
+
}
|
|
683
|
+
return {
|
|
684
|
+
ok: true,
|
|
685
|
+
text
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
//#endregion
|
|
689
|
+
//#region src/cli/commands/apply.ts
|
|
690
|
+
const APPLY_ARGS = {
|
|
691
|
+
preset: {
|
|
692
|
+
type: "string",
|
|
693
|
+
description: "A named preset, a design code from /create, its URL or a downloaded design file; the design sets the preset and adds its app tables and extra columns",
|
|
694
|
+
valueHint: "name|code|url|file"
|
|
695
|
+
},
|
|
696
|
+
package: {
|
|
697
|
+
type: "string",
|
|
698
|
+
description: "Workspace package whose config to edit, relative to --cwd; a Create URL's package= sets it too",
|
|
699
|
+
valueHint: "dir"
|
|
700
|
+
},
|
|
701
|
+
only: {
|
|
702
|
+
type: "string",
|
|
703
|
+
description: "blocks: add the preset's blocks to blocks and leave the conventions; conventions: take the conventions and no blocks",
|
|
704
|
+
valueHint: "blocks|conventions"
|
|
705
|
+
},
|
|
706
|
+
adopt: {
|
|
707
|
+
type: "boolean",
|
|
708
|
+
description: "Map existing tables onto a block (with --tables), the preset's blocks onto tables under their default names, or, alone, write the data rows migration for blocks over your tables"
|
|
709
|
+
},
|
|
710
|
+
"allow-breaking": {
|
|
711
|
+
type: "boolean",
|
|
712
|
+
description: "Write a design with breaking app table changes (a rename, a retyped or required column, a tighter constraint); renames print their alter statements"
|
|
713
|
+
},
|
|
714
|
+
"dry-run": {
|
|
715
|
+
type: "boolean",
|
|
716
|
+
description: "Show the config diff and write nothing"
|
|
717
|
+
},
|
|
718
|
+
check: {
|
|
719
|
+
type: "boolean",
|
|
720
|
+
description: "Write nothing; exit 1 with the diff when the config lacks the preset"
|
|
721
|
+
}
|
|
722
|
+
};
|
|
723
|
+
/**
|
|
724
|
+
* `text` with a `tables` and `columns` entry for each of `blocks` that has a
|
|
725
|
+
* table under one of its default names. A block in custom mode is left as it
|
|
726
|
+
* is.
|
|
727
|
+
*/
|
|
728
|
+
function adoptBlocks(config, file, text, blocks, tables) {
|
|
729
|
+
const schemas = adoptSchemas(config);
|
|
730
|
+
const adoptable = new Set(adoptableBlocks());
|
|
731
|
+
const adopted = [];
|
|
732
|
+
const refused = [];
|
|
733
|
+
const lines = [];
|
|
734
|
+
let next = text;
|
|
735
|
+
for (const block of blocks) {
|
|
736
|
+
if (!adoptable.has(block) || !hasDefaultTable(block, tables, schemas)) continue;
|
|
737
|
+
if ((config.blocks[block]?.mode ?? "managed") !== "managed") continue;
|
|
738
|
+
const proposal = proposeAdoption(block, tables, {
|
|
739
|
+
blocks: config.blocks,
|
|
740
|
+
schemas
|
|
741
|
+
});
|
|
742
|
+
lines.push(`Adopting ${block}:`, ...describeProposal(proposal));
|
|
743
|
+
if (proposal.errors.length > 0) {
|
|
744
|
+
refused.push(proposal);
|
|
745
|
+
continue;
|
|
746
|
+
}
|
|
747
|
+
const edit = withAdoptedBlock(file, next, proposal);
|
|
748
|
+
if (!edit.ok) {
|
|
749
|
+
refused.push({
|
|
750
|
+
...proposal,
|
|
751
|
+
errors: [`blocks.${block} can't be set: ${edit.reason}.`]
|
|
752
|
+
});
|
|
753
|
+
continue;
|
|
754
|
+
}
|
|
755
|
+
next = edit.text;
|
|
756
|
+
adopted.push(proposal);
|
|
757
|
+
}
|
|
758
|
+
return {
|
|
759
|
+
text: next,
|
|
760
|
+
lines,
|
|
761
|
+
adopted,
|
|
762
|
+
refused
|
|
763
|
+
};
|
|
764
|
+
}
|
|
765
|
+
const describeConflicts = (preset) => {
|
|
766
|
+
const { conflicts } = resolvePreset(preset);
|
|
767
|
+
return conflicts.length === 0 ? void 0 : `The preset can't install: ${conflicts.map((conflict) => `${conflict.block ?? conflict.field ?? ""} (${conflict.reason})`).join("; ")}.`;
|
|
768
|
+
};
|
|
769
|
+
/**
|
|
770
|
+
* The design `--preset` carries, checked against the blocks the config gets: an
|
|
771
|
+
* extra column needs its block in the preset or the config.
|
|
772
|
+
*/
|
|
773
|
+
function designFor(config, design, preset) {
|
|
774
|
+
if (design === void 0) return;
|
|
775
|
+
const resolved = resolvePreset(preset);
|
|
776
|
+
const blocks = /* @__PURE__ */ new Set([...config.blockNames, ...resolved.blocks.map((block) => block.name)]);
|
|
777
|
+
for (const module of Object.keys(design.extraColumns ?? {})) if (!blocks.has(module)) throw new TypeError(`design.extraColumns.${module}: neither the preset nor the config installs the ${module} block`);
|
|
778
|
+
designConfig(resolved, design.appTables === void 0 ? {} : { appTables: design.appTables });
|
|
779
|
+
return design;
|
|
780
|
+
}
|
|
781
|
+
/** Each breaking change with its expand-and-contract steps. */
|
|
782
|
+
function describeBreaking(changes) {
|
|
783
|
+
return ["Breaking changes to app tables:", ...changes.flatMap((change) => [` ${change.summary}`, ...change.steps.map((step, index) => ` ${String(index + 1)}. ${step}`)])];
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* The statements that rename the tables and columns `changes` renames, in
|
|
787
|
+
* order.
|
|
788
|
+
*/
|
|
789
|
+
function renameStatements(changes) {
|
|
790
|
+
return changes.flatMap((change) => {
|
|
791
|
+
if (change.from === void 0) return [];
|
|
792
|
+
if (change.kind === "table.renamed") return [`alter table public.${ident(change.from)} rename to ${ident(change.table)};`];
|
|
793
|
+
if (change.kind === "column.renamed" && change.column !== void 0) return [`alter table public.${ident(change.table)} rename column ${ident(change.from)} to ${ident(change.column)};`];
|
|
794
|
+
return [];
|
|
795
|
+
});
|
|
796
|
+
}
|
|
797
|
+
/** How to run `renames` before `upgrade` creates the new names. */
|
|
798
|
+
function describeRenames(renames, renamedTables, file) {
|
|
799
|
+
return renames.length === 0 ? [] : [
|
|
800
|
+
"Run these in a migration before `better-supabase upgrade`, so the renamed tables and columns keep their rows:",
|
|
801
|
+
...renames.map((statement) => ` ${statement}`),
|
|
802
|
+
...renamedTables.length === 0 ? [] : [`Then remove ${renamedTables.join(", ")} from tables in ${file}: apply keeps the tables a design leaves out.`],
|
|
803
|
+
""
|
|
804
|
+
];
|
|
805
|
+
}
|
|
806
|
+
/** The config file edited for `--only`: the `preset` key, or the blocks. */
|
|
807
|
+
function edited(file, source, name, preset, only) {
|
|
808
|
+
const json = file.endsWith(".json");
|
|
809
|
+
if (only === "blocks") {
|
|
810
|
+
const names = resolvePreset(preset).blocks.map((block) => block.name);
|
|
811
|
+
return json ? addBlocksToJson(source, names) : addBlocksToConfig(source, names);
|
|
812
|
+
}
|
|
813
|
+
const value = only === "conventions" ? presetSpec({
|
|
814
|
+
...preset,
|
|
815
|
+
blocks: []
|
|
816
|
+
}) : name ?? presetSpec(preset);
|
|
817
|
+
return json ? setPresetInJson(source, value) : setPresetInConfig(source, value);
|
|
818
|
+
}
|
|
819
|
+
/**
|
|
820
|
+
* The config of the workspace package `pkg` names, relative to the root
|
|
821
|
+
* config's directory, and its file; the root config without one.
|
|
822
|
+
*/
|
|
823
|
+
async function packageTarget(config, deps, pkg, reload) {
|
|
824
|
+
if (pkg === void 0) return {
|
|
825
|
+
config,
|
|
826
|
+
deps
|
|
827
|
+
};
|
|
828
|
+
const root = resolve(config.root, posix.normalize(pkg.replaceAll("\\", "/")));
|
|
829
|
+
const file = findConfig(root);
|
|
830
|
+
if (file === void 0) throw new CliError("config_not_found", `--package ${pkg} has no better-supabase config. Start one with \`better-supabase init --package ${pkg}\`.`);
|
|
831
|
+
return {
|
|
832
|
+
config: await reload(root, file),
|
|
833
|
+
deps: {
|
|
834
|
+
...deps,
|
|
835
|
+
configFile: file
|
|
836
|
+
}
|
|
837
|
+
};
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Applies a preset to an existing project: sets `preset` in the config (or,
|
|
841
|
+
* with `--only blocks`, lists its blocks), shows the diff, then writes the
|
|
842
|
+
* module files of every block the config now holds.
|
|
843
|
+
*/
|
|
844
|
+
async function runApply(rootConfig, args, rootDeps) {
|
|
845
|
+
const input = args.preset;
|
|
846
|
+
if (input === void 0) throw new CliError("usage", "Pass --preset with a named preset, a code from /create, its URL or a downloaded design file.");
|
|
847
|
+
const only = args.only;
|
|
848
|
+
if (only !== void 0 && only !== "blocks" && only !== "conventions") throw new CliError("usage", "--only must be \"blocks\" or \"conventions\"");
|
|
849
|
+
const flags = conventionFlags(args);
|
|
850
|
+
if (only === "blocks" && hasConventionFlags(flags)) throw new CliError("usage", "--only blocks leaves the conventions, so it takes no convention flags.");
|
|
851
|
+
const reload = rootDeps.reload ?? ((root, path) => loadConfig(root, path));
|
|
852
|
+
const { config, deps } = await packageTarget(rootConfig, rootDeps, args.package ?? createUrlParam(input, "package"), reload);
|
|
853
|
+
const file = deps.configFile;
|
|
854
|
+
if (file === void 0) throw new CliError("config_not_found", `No config file to apply the preset to. Start a project with \`better-supabase init --preset ${input}\`.`);
|
|
855
|
+
const read = await readPresetInput(input, rootConfig.root);
|
|
856
|
+
const preset = withConventions(read.preset, flags);
|
|
857
|
+
const name = isPresetName(input) && !hasConventionFlags(flags) ? input : void 0;
|
|
858
|
+
let design;
|
|
859
|
+
try {
|
|
860
|
+
design = only === "conventions" ? void 0 : designFor(config, read.design, preset);
|
|
861
|
+
} catch (error) {
|
|
862
|
+
throw new CliError("usage", error instanceof Error ? error.message : String(error));
|
|
863
|
+
}
|
|
864
|
+
const conflict = describeConflicts(only === "conventions" ? {
|
|
865
|
+
...preset,
|
|
866
|
+
blocks: []
|
|
867
|
+
} : preset);
|
|
868
|
+
if (conflict !== void 0) throw new CliError("usage", conflict);
|
|
869
|
+
const changes = design?.appTables === void 0 ? [] : diffAppTables(config.appTables, design.appTables);
|
|
870
|
+
const kept = changes.filter((change) => change.kind === "table.dropped").map((change) => change.table);
|
|
871
|
+
const renamedTables = changes.flatMap((change) => change.kind === "table.renamed" && change.from !== void 0 ? [change.from] : []);
|
|
872
|
+
const breaking = changes.filter((change) => change.breaking && change.kind !== "table.dropped");
|
|
873
|
+
const renames = renameStatements(breaking);
|
|
874
|
+
const shown = display(config.root, file);
|
|
875
|
+
if (breaking.length > 0 && args["allow-breaking"] !== true && args["dry-run"] !== true) return {
|
|
876
|
+
code: 1,
|
|
877
|
+
output: describeBreaking(breaking).join("\n"),
|
|
878
|
+
data: {
|
|
879
|
+
file: shown,
|
|
880
|
+
written: false,
|
|
881
|
+
breaking,
|
|
882
|
+
kept
|
|
883
|
+
},
|
|
884
|
+
error: `Nothing was written: the design has ${breaking.length === 1 ? "a breaking change" : `${String(breaking.length)} breaking changes`} to tables the app already has. Follow the steps above, or pass --allow-breaking to write it anyway.`
|
|
885
|
+
};
|
|
886
|
+
const source = await readFile(file, "utf-8");
|
|
887
|
+
const edit = edited(file, source, name, preset, only);
|
|
888
|
+
if (!edit.ok) return {
|
|
889
|
+
code: 1,
|
|
890
|
+
error: `${shown} wasn't changed: ${edit.reason}. Set preset: ${JSON.stringify(presetSpec(preset))} in it yourself.`
|
|
891
|
+
};
|
|
892
|
+
const withDesign = design === void 0 ? edit : writeDesign(file, edit.text, design, config);
|
|
893
|
+
if (!withDesign.ok) return {
|
|
894
|
+
code: 1,
|
|
895
|
+
error: `${shown} wasn't changed: ${withDesign.reason}. Download the config from /create and copy its tables and extraColumns yourself.`
|
|
896
|
+
};
|
|
897
|
+
const paint = deps.paint ?? plain;
|
|
898
|
+
let text = withDesign.text;
|
|
899
|
+
const lines = [
|
|
900
|
+
...breaking.length === 0 ? [] : [...describeBreaking(breaking), ""],
|
|
901
|
+
...describeRenames(renames, renamedTables, shown),
|
|
902
|
+
...kept.length === 0 ? [] : [`Kept ${kept.join(", ")}: the design doesn't name ${kept.length === 1 ? "it" : "them"}, and apply keeps the tables a design leaves out. Remove ${kept.length === 1 ? "it" : "them"} from tables in ${shown} to drop ${kept.length === 1 ? "it" : "them"}.`, ""]
|
|
903
|
+
];
|
|
904
|
+
if (createUrlParam(input, "authz") !== void 0) lines.push(AUTHZ_NOTE, "");
|
|
905
|
+
let adopted = {};
|
|
906
|
+
if (args.adopt === true) {
|
|
907
|
+
if (only === "conventions" || deps.tables === void 0) throw new CliError("usage", only === "conventions" ? "--adopt maps blocks, and --only conventions takes none." : "--adopt needs the database or a snapshot to read the tables from.");
|
|
908
|
+
const adoption = adoptBlocks(config, file, text, resolvePreset(preset).blocks.map((block) => block.name), await deps.tables());
|
|
909
|
+
if (adoption.refused.length > 0) return {
|
|
910
|
+
code: 1,
|
|
911
|
+
output: adoption.lines.join("\n"),
|
|
912
|
+
data: {
|
|
913
|
+
file: shown,
|
|
914
|
+
written: false,
|
|
915
|
+
refused: Object.fromEntries(adoption.refused.map((proposal) => [proposal.block, proposal.errors]))
|
|
916
|
+
},
|
|
917
|
+
error: `Nothing was written: ${adoption.refused.map((proposal) => proposal.block).join(", ")} ${adoption.refused.length === 1 ? "has a table" : "have tables"} under the default names that can't be adopted as they are, and the managed block would skip them. Fix what the report lists, map them with \`better-supabase add --adopt <block> --tables <schema.table>\`, or leave the block out of the preset.`
|
|
918
|
+
};
|
|
919
|
+
text = adoption.text;
|
|
920
|
+
adopted = Object.fromEntries(adoption.adopted.map((proposal) => [proposal.block, blockEntrySource(proposal.entry)]));
|
|
921
|
+
lines.push(...adoption.lines.length === 0 ? ["No existing tables to adopt: every block stays managed."] : adoption.lines, "");
|
|
922
|
+
}
|
|
923
|
+
const data = {
|
|
924
|
+
file: shown,
|
|
925
|
+
adopted,
|
|
926
|
+
contents: text,
|
|
927
|
+
kept,
|
|
928
|
+
...renames.length === 0 ? {} : { renames }
|
|
929
|
+
};
|
|
930
|
+
if (text === source) {
|
|
931
|
+
lines.push(`${shown} already holds the preset.`);
|
|
932
|
+
return {
|
|
933
|
+
code: 0,
|
|
934
|
+
output: lines.join("\n"),
|
|
935
|
+
data: {
|
|
936
|
+
...data,
|
|
937
|
+
written: false
|
|
938
|
+
}
|
|
939
|
+
};
|
|
940
|
+
}
|
|
941
|
+
const plan = {
|
|
942
|
+
root: config.root,
|
|
943
|
+
regenerate: "better-supabase add",
|
|
944
|
+
files: [{
|
|
945
|
+
path: file,
|
|
946
|
+
contents: text,
|
|
947
|
+
policy: "edit"
|
|
948
|
+
}]
|
|
949
|
+
};
|
|
950
|
+
const applied = await applyPlan(plan, args, paint);
|
|
951
|
+
if (applied.mode === "check") return planResult(plan, applied, { data: {
|
|
952
|
+
...data,
|
|
953
|
+
written: false
|
|
954
|
+
} });
|
|
955
|
+
lines.push(...applied.diffs);
|
|
956
|
+
if (applied.mode === "dry-run") {
|
|
957
|
+
lines.push("", "Dry run: nothing written. Run without --dry-run to apply it.");
|
|
958
|
+
return {
|
|
959
|
+
code: 0,
|
|
960
|
+
output: lines.join("\n"),
|
|
961
|
+
data: {
|
|
962
|
+
...data,
|
|
963
|
+
written: false
|
|
964
|
+
}
|
|
965
|
+
};
|
|
966
|
+
}
|
|
967
|
+
const next = await reload(config.root, file);
|
|
968
|
+
const synced = await syncModules(next, {}, paint, deps.now);
|
|
969
|
+
lines.push("", `Updated ${shown}.`, "", synced.output ?? synced.error ?? "");
|
|
970
|
+
return {
|
|
971
|
+
code: synced.code,
|
|
972
|
+
output: lines.join("\n"),
|
|
973
|
+
data: {
|
|
974
|
+
...data,
|
|
975
|
+
written: true
|
|
976
|
+
}
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
//#endregion
|
|
980
|
+
//#region src/cli/commands/add.ts
|
|
981
|
+
const ADD_ARGS = {
|
|
982
|
+
block: {
|
|
983
|
+
type: "positional",
|
|
984
|
+
required: false,
|
|
985
|
+
variadic: true,
|
|
986
|
+
description: "Blocks to install with what they require (`better-supabase blocks list`). Without blocks or --integration, sets up the integrations in the config that have no files yet"
|
|
987
|
+
},
|
|
988
|
+
integration: {
|
|
989
|
+
type: "string",
|
|
990
|
+
description: "Adds glue for integrations instead: next, hono, orpc, edge, expo, mcp, client or react",
|
|
991
|
+
valueHint: "integration,..."
|
|
992
|
+
},
|
|
993
|
+
force: {
|
|
994
|
+
type: "boolean",
|
|
995
|
+
description: "Overwrite files that exist"
|
|
996
|
+
},
|
|
997
|
+
"allow-hook-overlap": {
|
|
998
|
+
type: "boolean",
|
|
999
|
+
description: "With blocks: write modules whose claim the authorization provider's hook already writes"
|
|
1000
|
+
},
|
|
1001
|
+
"tests-dir": {
|
|
1002
|
+
type: "string",
|
|
1003
|
+
description: "With blocks: where the pgtap module goes. Defaults to database.sql.testsDir",
|
|
1004
|
+
valueHint: "dir"
|
|
1005
|
+
}
|
|
1006
|
+
};
|
|
1007
|
+
/**
|
|
1008
|
+
* Adds blocks: lists them in `blocks`, writes their modules and what they
|
|
1009
|
+
* require (`add`), wires the ones with a client into `lib/blocks.ts`, and names
|
|
1010
|
+
* the registry glue for the project's frameworks.
|
|
1011
|
+
*/
|
|
1012
|
+
async function addBlocks(config, args, names, deps) {
|
|
1013
|
+
const added = await addModules(config, {
|
|
1014
|
+
...args,
|
|
1015
|
+
_: ["add", ...names]
|
|
1016
|
+
}, names, deps);
|
|
1017
|
+
if (added.code !== 0) return added;
|
|
1018
|
+
const lines = [added.output ?? ""];
|
|
1019
|
+
const project = await detectProject(config.root);
|
|
1020
|
+
const context = templateContextFor(project, config.output);
|
|
1021
|
+
const resolved = resolvePreset({
|
|
1022
|
+
...DEFAULT_CONVENTIONS,
|
|
1023
|
+
blocks: [...config.blockNames, ...names]
|
|
1024
|
+
});
|
|
1025
|
+
const wanted = new Set(resolvePreset({
|
|
1026
|
+
...DEFAULT_CONVENTIONS,
|
|
1027
|
+
blocks: names
|
|
1028
|
+
}).manifests.map((manifest) => manifest.name));
|
|
1029
|
+
const clients = blockClients(resolved.manifests.filter((manifest) => wanted.has(manifest.name)));
|
|
1030
|
+
if (clients.length > 0) {
|
|
1031
|
+
const wiring = blocksWiringPath(context);
|
|
1032
|
+
const path = resolve(config.root, wiring);
|
|
1033
|
+
const current = await readIfExists(path);
|
|
1034
|
+
const edit = current === void 0 ? void 0 : addBlocksToWiring(current, clients);
|
|
1035
|
+
if (edit?.ok === true && edit.text !== current) {
|
|
1036
|
+
await applyPlan({
|
|
1037
|
+
root: config.root,
|
|
1038
|
+
regenerate: "better-supabase add",
|
|
1039
|
+
files: [{
|
|
1040
|
+
path,
|
|
1041
|
+
contents: edit.text,
|
|
1042
|
+
policy: "edit"
|
|
1043
|
+
}]
|
|
1044
|
+
}, { "dry-run": args["dry-run"] });
|
|
1045
|
+
lines.push("", `${args["dry-run"] === true ? "Would wire" : "Wired"} ${clients.map((client) => client.key).join(", ")} in ${wiring}.`);
|
|
1046
|
+
} else if (edit?.ok !== true) lines.push("", `Wire the clients in ${wiring}${edit === void 0 ? " (it doesn't exist yet)" : ` (${edit.reason})`}:`, ...clients.map((client) => ` import { ${client.export} } from "${client.subpath}"; // ${client.key}: ${client.export}`));
|
|
1047
|
+
}
|
|
1048
|
+
const frameworks = PRESET_FRAMEWORKS.filter((framework) => config.integrations.some((name) => name === framework) || project.frameworks.some((name) => name === framework));
|
|
1049
|
+
const installed = new Set(resolved.blocks.map((block) => block.name));
|
|
1050
|
+
const glue = PRESET_CATALOG.glue.filter((item) => item.preset === void 0 && item.blocks.some((block) => names.includes(block)) && item.blocks.every((block) => installed.has(block)) && item.frameworks.some((framework) => frameworks.some((each) => each === framework)));
|
|
1051
|
+
const glueLine = glue.length > 0 ? glueCommand(glue) : void 0;
|
|
1052
|
+
const wiring = wiringFor([...wanted].map((name) => ({
|
|
1053
|
+
name,
|
|
1054
|
+
block: name
|
|
1055
|
+
})));
|
|
1056
|
+
const written = await wiringFiles(context, wiring, (path) => readIfExists(resolve(config.root, path)));
|
|
1057
|
+
if (written.files.length > 0) {
|
|
1058
|
+
const applied = await applyPlan({
|
|
1059
|
+
root: config.root,
|
|
1060
|
+
regenerate: "better-supabase add",
|
|
1061
|
+
files: written.files
|
|
1062
|
+
}, { "dry-run": args["dry-run"] });
|
|
1063
|
+
lines.push("", ...changeLines(applied));
|
|
1064
|
+
}
|
|
1065
|
+
lines.push(...written.notes.length > 0 ? ["", ...written.notes] : []);
|
|
1066
|
+
const checklist = wiringChecklist(context, wiring, glueLine);
|
|
1067
|
+
if (checklist.length > 0) lines.push("", "To finish the wiring:", ...checklist);
|
|
1068
|
+
else if (glueLine !== void 0) lines.push("", `Glue for ${frameworks.join(", ")}: ${glueLine}`);
|
|
1069
|
+
return {
|
|
1070
|
+
code: 0,
|
|
1071
|
+
output: lines.join("\n"),
|
|
1072
|
+
data: {
|
|
1073
|
+
blocks: names,
|
|
1074
|
+
modules: added.data,
|
|
1075
|
+
clients: clients.map((client) => client.key),
|
|
1076
|
+
...glueLine === void 0 ? {} : { glue: glueLine },
|
|
1077
|
+
wiring: {
|
|
1078
|
+
env: wiring.env.map((entry) => entry.key),
|
|
1079
|
+
providers: wiring.providers.map((entry) => `${entry.instance}.${entry.provider.option}`),
|
|
1080
|
+
workers: wiring.workers.map((worker) => worker.name),
|
|
1081
|
+
actions: wiring.actions.map((action) => action.kind),
|
|
1082
|
+
schedules: wiring.schedules.map((schedule) => `${schedule.block}.${schedule.name}`),
|
|
1083
|
+
files: written.files.map((file) => file.path)
|
|
1084
|
+
}
|
|
1085
|
+
},
|
|
1086
|
+
...added.next === void 0 ? {} : { next: added.next }
|
|
1087
|
+
};
|
|
1088
|
+
}
|
|
1089
|
+
/** The clients `lib/blocks.ts` wires for `manifests`, keyed in camelCase. */
|
|
1090
|
+
function blockClients(manifests) {
|
|
1091
|
+
return manifests.flatMap((manifest) => manifest.client === null ? [] : [{
|
|
1092
|
+
key: manifest.name.replaceAll(/-([a-z0-9])/g, (_, letter) => letter.toUpperCase()),
|
|
1093
|
+
export: manifest.client.export,
|
|
1094
|
+
subpath: manifest.client.subpath
|
|
1095
|
+
}]);
|
|
1096
|
+
}
|
|
1097
|
+
/** `lib/blocks.ts` next to `lib/supabase/`. */
|
|
1098
|
+
function blocksWiringPath(context) {
|
|
1099
|
+
return join(dirname(dirname(libEntry(context))), "blocks.ts");
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* How `lib/blocks.ts` imports the `blocks.generated.ts` that `gen` writes next
|
|
1103
|
+
* to `generated.ts`.
|
|
1104
|
+
*/
|
|
1105
|
+
function blockConfigImport(context) {
|
|
1106
|
+
return importFrom(context, blocksWiringPath(context), join(dirname(context.generated), "blocks.generated.ts"));
|
|
1107
|
+
}
|
|
1108
|
+
const SYSTEM_DEPS = { now: () => /* @__PURE__ */ new Date() };
|
|
1109
|
+
async function runAdd(config, args, prompts, deps = SYSTEM_DEPS) {
|
|
1110
|
+
if (args._.length > 0 && args.integration === void 0) return addBlocks(config, args, args._, deps);
|
|
1111
|
+
if (args.integration !== void 0) return addIntegrations(config, {
|
|
1112
|
+
...args,
|
|
1113
|
+
_: list(args.integration)
|
|
1114
|
+
}, prompts);
|
|
1115
|
+
return addIntegrations(config, args, prompts);
|
|
1116
|
+
}
|
|
1117
|
+
async function addIntegrations(config, args, prompts) {
|
|
1118
|
+
const project = await detectProject(config.root);
|
|
1119
|
+
const templateContext = templateContextFor(project, config.output, config.blockNames.length > 0);
|
|
1120
|
+
const fromConfig = args._.length === 0 && config.integrations.length > 0;
|
|
1121
|
+
const missing = config.integrations.filter((name) => integrationFiles([name], templateContext).some((file) => !existsSync(resolve(config.root, file.path))));
|
|
1122
|
+
if (fromConfig && missing.length === 0) return {
|
|
1123
|
+
code: 0,
|
|
1124
|
+
output: `Every integration in the config is set up: ${config.integrations.join(", ")}.`,
|
|
1125
|
+
data: {
|
|
1126
|
+
integrations: [],
|
|
1127
|
+
files: [],
|
|
1128
|
+
packages: [],
|
|
1129
|
+
unlisted: []
|
|
1130
|
+
}
|
|
1131
|
+
};
|
|
1132
|
+
const named = fromConfig ? missing : args._.length === 0 && prompts ? await chooseIntegrations(prompts, []) : args._;
|
|
1133
|
+
if (named === void 0) return CANCELLED;
|
|
1134
|
+
if (named.length === 0) throw new CliError("usage", `Name at least one integration (${INTEGRATIONS.join(", ")}), or list them in integrations in the config.`);
|
|
1135
|
+
const requested = parseIntegrations(named);
|
|
1136
|
+
if (typeof requested === "string") throw new CliError("usage", requested);
|
|
1137
|
+
const integrations = resolveIntegrations(requested);
|
|
1138
|
+
const files = integrationFiles(integrations, templateContext);
|
|
1139
|
+
const force = await overwrite(config.root, files, args, prompts);
|
|
1140
|
+
if (force === void 0) return CANCELLED;
|
|
1141
|
+
const plan = templatePlan(config.root, files, "better-supabase add");
|
|
1142
|
+
const applied = await applyPlan(plan, {
|
|
1143
|
+
...args,
|
|
1144
|
+
force
|
|
1145
|
+
});
|
|
1146
|
+
if (applied.mode === "check" && applied.drift) return planResult(plan, applied);
|
|
1147
|
+
const lines = changeLines(applied);
|
|
1148
|
+
const lib = libEntry(templateContext);
|
|
1149
|
+
const libMissing = !existsSync(resolve(config.root, lib)) && integrations.some((name) => needsLib([name]));
|
|
1150
|
+
const next = [];
|
|
1151
|
+
if (libMissing) {
|
|
1152
|
+
next.push({
|
|
1153
|
+
command: "better-supabase init",
|
|
1154
|
+
when: `${lib} is missing`
|
|
1155
|
+
});
|
|
1156
|
+
lines.push("", `Warning: ${lib} is missing. Run \`better-supabase init\` first.`);
|
|
1157
|
+
}
|
|
1158
|
+
const packages = packagesFor(project, integrations).filter((name) => name !== "better-supabase" && name !== "@supabase/supabase-js");
|
|
1159
|
+
const install = packages.length > 0 ? installCommand(project.packageManager, packages) : void 0;
|
|
1160
|
+
if (install !== void 0) {
|
|
1161
|
+
lines.push("", `Install: ${install}`);
|
|
1162
|
+
next.push({
|
|
1163
|
+
command: install,
|
|
1164
|
+
when: "to install the packages they need"
|
|
1165
|
+
});
|
|
1166
|
+
}
|
|
1167
|
+
for (const name of integrations) for (const hint of TEMPLATES[name].next ?? []) lines.push(`- ${hint}`);
|
|
1168
|
+
const unlisted = integrations.filter((name) => !config.integrations.includes(name));
|
|
1169
|
+
if (unlisted.length > 0) lines.push("", "Add them to your config so `better-supabase add` sets them up in a fresh checkout:", ` adapters: [${[...config.integrations, ...unlisted].map((name) => `'${name}'`).join(", ")}]`);
|
|
1170
|
+
return {
|
|
1171
|
+
code: 0,
|
|
1172
|
+
output: lines.join("\n"),
|
|
1173
|
+
data: {
|
|
1174
|
+
integrations,
|
|
1175
|
+
files: applied.changes,
|
|
1176
|
+
packages,
|
|
1177
|
+
unlisted
|
|
1178
|
+
},
|
|
1179
|
+
next
|
|
1180
|
+
};
|
|
1181
|
+
}
|
|
1182
|
+
const ADD_COMMAND_ARGS = {
|
|
1183
|
+
...ADD_ARGS,
|
|
1184
|
+
...APPLY_ARGS,
|
|
1185
|
+
tables: ADOPT_ARGS.tables,
|
|
1186
|
+
...CONVENTION_ARGS,
|
|
1187
|
+
...SOURCE_ARGS,
|
|
1188
|
+
"dry-run": PLAN_ARGS["dry-run"],
|
|
1189
|
+
check: PLAN_ARGS.check
|
|
1190
|
+
};
|
|
1191
|
+
/** The flags only `--preset` reads, and the flags only `--adopt` reads. */
|
|
1192
|
+
const PRESET_ONLY = [
|
|
1193
|
+
"package",
|
|
1194
|
+
"only",
|
|
1195
|
+
"allow-breaking",
|
|
1196
|
+
...Object.keys(CONVENTION_ARGS)
|
|
1197
|
+
];
|
|
1198
|
+
/** A usage error for the first flag in `flags` that `args` sets. */
|
|
1199
|
+
function unexpected(args, flags, needs) {
|
|
1200
|
+
const flag = flags.find((name) => args[name] !== void 0);
|
|
1201
|
+
if (flag !== void 0) throw new CliError("usage", `--${flag} works with ${needs}.`, { flag: `--${flag}` });
|
|
1202
|
+
}
|
|
1203
|
+
const addCommand = defineCliCommand({
|
|
1204
|
+
meta: commandMeta("add"),
|
|
1205
|
+
args: ADD_COMMAND_ARGS,
|
|
1206
|
+
lists: ["integration", "tables"],
|
|
1207
|
+
completions: {
|
|
1208
|
+
...CONVENTION_COMPLETIONS,
|
|
1209
|
+
block: blockNames,
|
|
1210
|
+
preset: () => PRESET_NAMES,
|
|
1211
|
+
only: () => ["blocks", "conventions"]
|
|
1212
|
+
},
|
|
1213
|
+
run: async (args, { config, configFile, env, io, log, paint, signal }) => {
|
|
1214
|
+
const deps = configFile === void 0 ? {} : { configFile };
|
|
1215
|
+
const tables = snapshotTables(config, env, {
|
|
1216
|
+
...await sourceArgs(args, io),
|
|
1217
|
+
...signal ? { signal } : {}
|
|
1218
|
+
});
|
|
1219
|
+
if (args.preset !== void 0) {
|
|
1220
|
+
if (args._.length > 0) throw new CliError("usage", "Pass blocks or --preset, not both: a preset names its own blocks.");
|
|
1221
|
+
return runApply(config, args, {
|
|
1222
|
+
now: SYSTEM_DEPS.now,
|
|
1223
|
+
paint,
|
|
1224
|
+
tables,
|
|
1225
|
+
...deps
|
|
1226
|
+
});
|
|
1227
|
+
}
|
|
1228
|
+
unexpected(args, PRESET_ONLY, "--preset");
|
|
1229
|
+
if (args.adopt === true) {
|
|
1230
|
+
if (args._.length === 0) {
|
|
1231
|
+
unexpected(args, ["tables"], "--adopt and one block");
|
|
1232
|
+
return dataMigration(config, args, SYSTEM_DEPS.now);
|
|
1233
|
+
}
|
|
1234
|
+
if (args._.length > 1) throw new CliError("usage", "Adopt one block at a time.");
|
|
1235
|
+
return runAdopt(config, {
|
|
1236
|
+
...args,
|
|
1237
|
+
block: args._[0]
|
|
1238
|
+
}, {
|
|
1239
|
+
paint,
|
|
1240
|
+
tables: () => log.progress("Reading the schema", tables),
|
|
1241
|
+
...deps
|
|
1242
|
+
});
|
|
1243
|
+
}
|
|
1244
|
+
unexpected(args, ["tables"], "--adopt");
|
|
1245
|
+
return runAdd(config, args, io.prompts, {
|
|
1246
|
+
...SYSTEM_DEPS,
|
|
1247
|
+
...deps
|
|
1248
|
+
});
|
|
1249
|
+
}
|
|
1250
|
+
});
|
|
1251
|
+
//#endregion
|
|
1252
|
+
export { promptConventions as C, hasConventionFlags as S, templatePlan as _, runAdd as a, conventionFlags as b, AUTHZ_NOTE as c, chooseIntegrations as d, integrationFiles as f, templateContextFor as g, parseIntegrations as h, blocksWiringPath as i, createUrlParam as l, packagesFor as m, blockClients as n, writeDesign as o, overwrite as p, blockConfigImport as r, readPresetInput as s, addCommand as t, CANCELLED as u, CONVENTION_ARGS as v, withConventions as w, defaultConventions as x, CONVENTION_COMPLETIONS as y };
|