better-supabase 0.5.0 → 0.6.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 +299 -41
- package/dist/access-sql-B0dF-SoF.js +181 -0
- package/dist/actor-CQTlc1Hh.d.ts +43 -0
- package/dist/adapter-Bc1o3zyy.js +1106 -0
- package/dist/agents-CVHGd7It.d.ts +94 -0
- package/dist/ai-cache-CBWs1W0k.js +80 -0
- package/dist/ai-cache-DaDu_G5L.d.ts +64 -0
- package/dist/ai-chat-7amvXjmQ.d.ts +590 -0
- package/dist/ai-chat-B24UI962.js +743 -0
- package/dist/ai-files-CSPNswUY.js +319 -0
- package/dist/ai-sdk/agents/index.d.ts +74 -0
- package/dist/ai-sdk/agents/index.js +159 -0
- package/dist/ai-sdk/batches/index.d.ts +74 -0
- package/dist/ai-sdk/batches/index.js +180 -0
- package/dist/ai-sdk/cache/index.d.ts +38 -0
- package/dist/ai-sdk/cache/index.js +127 -0
- package/dist/ai-sdk/chat/index.d.ts +2 -0
- package/dist/ai-sdk/chat/index.js +246 -0
- package/dist/ai-sdk/embeddings/index.d.ts +3 -0
- package/dist/ai-sdk/embeddings/index.js +2 -0
- package/dist/ai-sdk/files/index.d.ts +61 -0
- package/dist/ai-sdk/files/index.js +111 -0
- package/dist/ai-sdk/index.d.ts +145 -0
- package/dist/ai-sdk/index.js +174 -0
- package/dist/ai-sdk/mcp/index.d.ts +102 -0
- package/dist/ai-sdk/mcp/index.js +362 -0
- package/dist/ai-sdk/memory/index.d.ts +67 -0
- package/dist/ai-sdk/memory/index.js +175 -0
- package/dist/ai-sdk/react/index.d.ts +2 -0
- package/dist/ai-sdk/react/index.js +3 -0
- package/dist/ai-sdk/react/server.d.ts +6 -0
- package/dist/ai-sdk/react/server.js +7 -0
- package/dist/ai-sdk/workflow/index.d.ts +249 -0
- package/dist/ai-sdk/workflow/index.js +575 -0
- package/dist/ai-sdk/workflow/react/index.d.ts +20 -0
- package/dist/ai-sdk/workflow/react/index.js +66 -0
- package/dist/ai-sdk/workflow/react/server.d.ts +10 -0
- package/dist/ai-sdk/workflow/react/server.js +12 -0
- package/dist/ai-tasks-Cd1HMFvB.d.ts +131 -0
- package/dist/announcements-CiyOs-xP.js +107 -0
- package/dist/announcements-ZRGnScWI.d.ts +72 -0
- package/dist/api-keys-rCGtKaZA.d.ts +156 -0
- package/dist/assistant-DwdpDH1q.d.ts +147 -0
- package/dist/astro/index.d.ts +86 -0
- package/dist/astro/index.js +93 -0
- package/dist/attributes-5dYul0u0.js +13 -0
- package/dist/auth-link-BjFPqwLz.d.ts +97 -0
- package/dist/auth-link-DrDX9KOT.js +114 -0
- package/dist/authorization-BFCqamMs.d.ts +172 -0
- package/dist/before-route-CnR0C0Jr.js +30 -0
- package/dist/bind-Bu_ZNa3W.d.ts +62 -0
- package/dist/bind-l4kAvYSv.js +97 -0
- package/dist/block-events-CrT8r7Fe.js +76 -0
- package/dist/block-fields-GFkxl4dP.js +49 -0
- package/dist/block-fields-SJ6fEf3o.d.ts +31 -0
- package/dist/block-helpers-CKtbFcRv.d.ts +37 -0
- package/dist/block-helpers-DWHxHsEQ.js +190 -0
- package/dist/block-hooks-BmjMyXTa.js +114 -0
- package/dist/block-hooks-plbZ0AbJ.d.ts +107 -0
- package/dist/{kit-transport-DJlHQUBU.js → block-transport-BLr-ZgLc.js} +11 -7
- package/dist/block-transport-DvaoPuZ9.d.ts +48 -0
- package/dist/blocks/agents/index.d.ts +3 -0
- package/dist/blocks/agents/index.js +123 -0
- package/dist/blocks/ai-cache/index.d.ts +3 -0
- package/dist/blocks/ai-cache/index.js +3 -0
- package/dist/blocks/ai-chat/index.d.ts +31 -0
- package/dist/blocks/ai-chat/index.js +5 -0
- package/dist/blocks/ai-chat/react/index.d.ts +77 -0
- package/dist/blocks/ai-chat/react/index.js +387 -0
- package/dist/blocks/ai-chat/react/server.d.ts +16 -0
- package/dist/blocks/ai-chat/react/server.js +14 -0
- package/dist/blocks/ai-files/index.d.ts +14 -0
- package/dist/blocks/ai-files/index.js +3 -0
- package/dist/blocks/ai-providers/index.d.ts +7 -0
- package/dist/blocks/ai-providers/index.js +211 -0
- package/dist/blocks/ai-tasks/index.d.ts +3 -0
- package/dist/blocks/ai-tasks/index.js +203 -0
- package/dist/blocks/announcements/index.d.ts +3 -0
- package/dist/blocks/announcements/index.js +3 -0
- package/dist/blocks/announcements/react/index.d.ts +31 -0
- package/dist/blocks/announcements/react/index.js +86 -0
- package/dist/blocks/announcements/react/server.d.ts +6 -0
- package/dist/blocks/announcements/react/server.js +7 -0
- package/dist/blocks/api-keys/index.d.ts +35 -0
- package/dist/blocks/api-keys/index.js +334 -0
- package/dist/blocks/attachments/index.d.ts +210 -0
- package/dist/blocks/attachments/index.js +222 -0
- package/dist/blocks/audit/index.d.ts +366 -0
- package/dist/blocks/audit/index.js +714 -0
- package/dist/blocks/billing/index.d.ts +265 -0
- package/dist/blocks/billing/index.js +400 -0
- package/dist/blocks/comments/index.d.ts +200 -0
- package/dist/blocks/comments/index.js +207 -0
- package/dist/blocks/connectors/index.d.ts +3 -0
- package/dist/blocks/connectors/index.js +164 -0
- package/dist/blocks/data-lifecycle/index.d.ts +251 -0
- package/dist/blocks/data-lifecycle/index.js +353 -0
- package/dist/blocks/entitlements/index.d.ts +14 -0
- package/dist/blocks/entitlements/index.js +25 -0
- package/dist/blocks/flags/index.d.ts +226 -0
- package/dist/blocks/flags/index.js +282 -0
- package/dist/blocks/inbox/index.d.ts +6 -0
- package/dist/blocks/inbox/index.js +499 -0
- package/dist/blocks/inbox/react/index.d.ts +2 -0
- package/dist/blocks/inbox/react/index.js +225 -0
- package/dist/blocks/inbox/react/server.d.ts +10 -0
- package/dist/blocks/inbox/react/server.js +12 -0
- package/dist/blocks/index.d.ts +65 -0
- package/dist/blocks/index.js +77 -0
- package/dist/blocks/jobs/index.d.ts +297 -0
- package/dist/blocks/jobs/index.js +1051 -0
- package/dist/blocks/knowledge/index.d.ts +3 -0
- package/dist/blocks/knowledge/index.js +3 -0
- package/dist/blocks/memory/index.d.ts +8 -0
- package/dist/blocks/memory/index.js +289 -0
- package/dist/blocks/notifications/index.d.ts +297 -0
- package/dist/blocks/notifications/index.js +425 -0
- package/dist/blocks/notifications/react/index.d.ts +44 -0
- package/dist/blocks/notifications/react/index.js +67 -0
- package/dist/blocks/notifications/react/server.d.ts +6 -0
- package/dist/blocks/notifications/react/server.js +7 -0
- package/dist/blocks/onboarding/index.d.ts +3 -0
- package/dist/blocks/onboarding/index.js +64 -0
- package/dist/blocks/onboarding/react/index.d.ts +28 -0
- package/dist/blocks/onboarding/react/index.js +78 -0
- package/dist/blocks/onboarding/react/server.d.ts +7 -0
- package/dist/blocks/onboarding/react/server.js +7 -0
- package/dist/blocks/organizations/index.d.ts +241 -0
- package/dist/blocks/organizations/index.js +400 -0
- package/dist/blocks/outbox/index.d.ts +3 -0
- package/dist/blocks/outbox/index.js +266 -0
- package/dist/blocks/profiles/index.d.ts +40 -0
- package/dist/blocks/profiles/index.js +28 -0
- package/dist/blocks/push/index.d.ts +185 -0
- package/dist/blocks/push/index.js +258 -0
- package/dist/blocks/settings/index.d.ts +89 -0
- package/dist/blocks/settings/index.js +104 -0
- package/dist/blocks/sso/index.d.ts +198 -0
- package/dist/blocks/sso/index.js +1297 -0
- package/dist/blocks/usage/index.d.ts +4 -0
- package/dist/blocks/usage/index.js +233 -0
- package/dist/blocks/waitlist/index.d.ts +117 -0
- package/dist/blocks/waitlist/index.js +132 -0
- package/dist/blocks/webhooks/index.d.ts +304 -0
- package/dist/{webhooks → blocks/webhooks}/index.js +468 -148
- package/dist/blocks/workflow-builder/index.d.ts +21 -0
- package/dist/blocks/workflow-builder/index.js +5 -0
- package/dist/blocks/workflow-builder/react/index.d.ts +47 -0
- package/dist/blocks/workflow-builder/react/index.js +119 -0
- package/dist/blocks/workflow-builder/react/server.d.ts +8 -0
- package/dist/blocks/workflow-builder/react/server.js +11 -0
- package/dist/blocks/workflows/index.d.ts +3 -0
- package/dist/blocks/workflows/index.js +3 -0
- package/dist/blocks/workflows/react/index.d.ts +47 -0
- package/dist/blocks/workflows/react/index.js +137 -0
- package/dist/blocks/workflows/react/server.d.ts +8 -0
- package/dist/blocks/workflows/react/server.js +11 -0
- package/dist/{index-SaTsEfGP.d.ts → bucket-Cl46E3jS.d.ts} +134 -91
- package/dist/{simplify-_0oUKqCd.js → build-BXIzE6Xv.js} +222 -124
- package/dist/{channel-FQW-CnGR.d.ts → channel-_2Mx1Oyu.d.ts} +2 -2
- package/dist/channels-CkgQ_X60.js +114 -0
- package/dist/chat-sdk/index.d.ts +303 -0
- package/dist/chat-sdk/index.js +733 -0
- package/dist/chat-sdk/react/index.d.ts +2 -0
- package/dist/chat-sdk/react/index.js +3 -0
- package/dist/chat-sdk/react/server.d.ts +3 -0
- package/dist/chat-sdk/react/server.js +2 -0
- package/dist/claims-DDBQT6BK.js +61 -0
- package/dist/{claims-BAf6c7is.js → claims-PqzCxaTD.js} +39 -2
- package/dist/cli/bin.js +1 -1
- package/dist/cli/{codemod-DqV7612m.js → codemod-Bl_tQpHn.js} +105 -2
- package/dist/cli/config-B9HkL8nF.js +2 -0
- package/dist/cli/config-DU7EJImt.js +49 -0
- package/dist/cli/config-NiPxAmUF.js +1077 -0
- package/dist/cli/{dist-xn4wlboc.js → dist-DRAVaE6w.js} +111 -1
- package/dist/cli/{doctor-L7Z8mYTx.js → doctor-B4JOm_ox.js} +992 -316
- package/dist/cli/{env-DmKv_G4A.js → env-CJLbUVPB.js} +1 -1
- package/dist/cli/{env-jIFUADLY.js → env-qXgyMV6r.js} +2 -2
- package/dist/cli/fresh-import-BeYf9I3x.js +40 -0
- package/dist/cli/gen-BGLb_zou.js +3100 -0
- package/dist/cli/gen-DAH8FM2W.js +2 -0
- package/dist/cli/index.d.ts +44 -5
- package/dist/cli/index.js +7 -7
- package/dist/cli/{init-Saf5-R9T.js → init-BIIwclPg.js} +242 -27
- package/dist/cli/{introspect--H7oGmcd.js → introspect-DNUTuNvb.js} +5 -5
- package/dist/cli/{io-k41_z-jT.js → io-DI1mTdSA.js} +12 -3
- package/dist/cli/{keys-ByKHnvP9.js → keys-BGCnnb-s.js} +8 -6
- package/dist/cli/{ohash-D7bG_EOb.js → ohash-BjQY1cBb.js} +1 -1
- package/dist/cli/{openapi-Cp5Fyta-.js → openapi-BlRJ18s3.js} +2 -2
- package/dist/cli/{project-B_GeXyHh.js → project-DZRaBaY7.js} +11 -6
- package/dist/cli/read-sets-CETOSFx4.js +223 -0
- package/dist/cli/{run-BKR2W_79.js → run-DNWxHynX.js} +33 -23
- package/dist/cli/{seed-CUlqWh-8.js → seed-DQzqT7LP.js} +8 -6
- package/dist/cli/{skills-LJJIhLFR.js → skills-QQs4q68J.js} +3 -2
- package/dist/cli/sql-D0GUtUPp.js +536 -0
- package/dist/cli/{config-CPVpXP5I.js → supabase-toml-B-bIukQF.js} +72 -942
- package/dist/cli/typegen-version-DeFbtzYI.js +8 -0
- package/dist/cli/{version-BDJuO0UR.js → version-hr88OZG0.js} +1 -1
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.js +11 -71
- package/dist/client/native/index.d.ts +228 -0
- package/dist/client/native/index.js +361 -0
- package/dist/client-CI0Z2zWX.js +277 -0
- package/dist/cloud-event-BnmD5fb9.js +46 -0
- package/dist/cloud-event-C1JCc1bH.d.ts +50 -0
- package/dist/{compiler-BXH_aZ7N.d.ts → compiler-DY_wkj4R.d.ts} +2 -2
- package/dist/compose-BIBNgAnq.js +53 -0
- package/dist/composite-Bt1YK3Ke.d.ts +146 -0
- package/dist/composite-DhE66P5u.js +130 -0
- package/dist/config/index.d.ts +6 -4
- package/dist/config/index.js +5 -5
- package/dist/{config-T_ejwyd3.d.ts → config-D44Y7PAv.d.ts} +406 -205
- package/dist/{config-DreERlKo.js → config-Dn7F5k9A.js} +62 -14
- package/dist/connector-Dv8kK0MO.d.ts +107 -0
- package/dist/connectors-hkLCwyEz.d.ts +120 -0
- package/dist/context-BCrWe7ow.d.ts +237 -0
- package/dist/credentials/index.d.ts +31 -0
- package/dist/credentials/index.js +168 -0
- package/dist/cron-DVPUg5k3.js +145 -0
- package/dist/csv-CPAzEmB6.js +25 -0
- package/dist/db-exception-CnWcYPxL.js +15 -0
- package/dist/{define-cNKzqwL_.js → define-B-TVjC25.js} +784 -227
- package/dist/{define-Bp_BZa5h.d.ts → define-CJJkkr1-.d.ts} +353 -61
- package/dist/edge/index.d.ts +69 -11
- package/dist/edge/index.js +191 -75
- package/dist/elysia/index.d.ts +59 -0
- package/dist/elysia/index.js +62 -0
- package/dist/embeddings-4ZvFzjsU.js +127 -0
- package/dist/embeddings-C9KGQnXt.d.ts +68 -0
- package/dist/{refresh-BTrQ_ZTp.d.ts → ended-jLfvw8h-.d.ts} +20 -2
- package/dist/{entitlements-DUxU4oHe.d.ts → entitlements-DHrY2UDZ.d.ts} +16 -7
- package/dist/entitlements-DRl6ZJUm.js +24 -0
- package/dist/envelope-DqnYGRw7.js +47 -0
- package/dist/{errors-DtwXa6b8.js → errors-B11Duf73.js} +82 -13
- package/dist/errors-DLjJHPLK.js +44 -0
- package/dist/escape-like-DHfx6jRr.js +7 -0
- package/dist/escape-like-ImTK0ps_.d.ts +15 -0
- package/dist/eve/index.d.ts +220 -0
- package/dist/eve/index.js +504 -0
- package/dist/eve-gT2Fpjut.d.ts +151 -0
- package/dist/events/index.d.ts +4 -3
- package/dist/events/index.js +9 -50
- package/dist/events-DWDhx77e.d.ts +549 -0
- package/dist/executor-Bq28caBo.js +718 -0
- package/dist/executor-C-R4pucm.js +83 -0
- package/dist/executor-CaWigTyR.d.ts +148 -0
- package/dist/executor-D14tGopJ.d.ts +36 -0
- package/dist/{executor-Cghdstwu.d.ts → executor-DbvExCFC.d.ts} +7 -1
- package/dist/{sql-Coh6n4cC.js → executor-De1Of3m3.js} +210 -11
- package/dist/executor-DvsBbNBS.d.ts +261 -0
- package/dist/expo/index.d.ts +79 -0
- package/dist/expo/index.js +129 -0
- package/dist/expo-sqlite/index.d.ts +58 -0
- package/dist/expo-sqlite/index.js +104 -0
- package/dist/field-errors-BFOa7WhB.d.ts +99 -0
- package/dist/field-errors-VF1yb8yI.js +13 -0
- package/dist/framework-CONDyPYx.js +51 -0
- package/dist/framework-DuVb4Xa8.d.ts +25 -0
- package/dist/gateway-C1ssRHnf.d.ts +130 -0
- package/dist/graph-BGyLLFLX.js +265 -0
- package/dist/h3/index.d.ts +59 -0
- package/dist/h3/index.js +55 -0
- package/dist/h3/v1/index.d.ts +63 -0
- package/dist/h3/v1/index.js +49 -0
- package/dist/history-BZih6SFP.js +64 -0
- package/dist/hono/index.d.ts +56 -7
- package/dist/hono/index.js +97 -45
- package/dist/{react-C_s7kiNz.js → hooks-1BTCJsiw.js} +104 -133
- package/dist/http-Cv4T29xh.js +40 -0
- package/dist/http-DdYadv-o.js +126 -0
- package/dist/image-url-pIVlO6R1.js +41 -0
- package/dist/impersonation-DcqaTBHx.js +148 -0
- package/dist/inbox-i7E1ppo6.d.ts +384 -0
- package/dist/index-ACiNPN4Z.d.ts +74 -0
- package/dist/{index-DgILJRXj.d.ts → index-Bepi-Hgg.d.ts} +91 -28
- package/dist/index-BkWT_uBO.d.ts +51 -0
- package/dist/index-BpFYMsi0.d.ts +53 -0
- package/dist/{index-C7f8cOBM.d.ts → index-Bxih3l0u.d.ts} +2 -2
- package/dist/index-CaxrMD1A.d.ts +1 -0
- package/dist/index-ClmjK_o-.d.ts +55 -0
- package/dist/index-CtuakVRc.d.ts +267 -0
- package/dist/index-D48jVS-N.d.ts +246 -0
- package/dist/index-DDrYaUcq.d.ts +138 -0
- package/dist/index-DQh4VCc9.d.ts +98 -0
- package/dist/{live-D9W2M5aO.d.ts → index-DunNRdnT.d.ts} +136 -38
- package/dist/index.d.ts +65 -18
- package/dist/index.js +42 -14
- package/dist/invalidate-BBqhpxyB.d.ts +19 -0
- package/dist/json-CEnpTHlZ.js +16 -0
- package/dist/json-schema-CvER4kgT.js +502 -0
- package/dist/keys-4MnkWTTh.js +35 -0
- package/dist/kit-B5tid-q5.d.ts +60 -0
- package/dist/kit-Fm-Fv7q5.js +78 -0
- package/dist/knowledge-BXBbT0Tr.d.ts +176 -0
- package/dist/knowledge-CDmiMLew.js +255 -0
- package/dist/lint/index.d.ts +1 -1
- package/dist/lint/index.js +37 -0
- package/dist/list/index.d.ts +3 -2
- package/dist/list/index.js +1 -444
- package/dist/{index-fag8VJZ2.d.ts → list-query-BRt-zDF7.d.ts} +20 -12
- package/dist/list-query-gl808ac1.js +459 -0
- package/dist/{live-CdJBOc4f.js → live-CTAZQkwl.js} +99 -14
- package/dist/logger-DWVYUmwi.d.ts +18 -0
- package/dist/mcp/index.d.ts +38 -11
- package/dist/mcp/index.js +82 -46
- package/dist/mcp/sdk/index.d.ts +105 -0
- package/dist/mcp/sdk/index.js +126 -0
- package/dist/message-CaKlqdsX.js +219 -0
- package/dist/message-CfDoR0Y6.d.ts +94 -0
- package/dist/messages-B9-5887d.js +715 -0
- package/dist/messages-DYP0sUTe.d.ts +59 -0
- package/dist/{mfa-CusDgPaD.d.ts → mfa-Daak8ukG.d.ts} +8 -2
- package/dist/modules-DpPwzC7E.d.ts +192 -0
- package/dist/modules-dxrVK3ID.js +228 -0
- package/dist/nestjs/index.d.ts +68 -0
- package/dist/nestjs/index.js +164 -0
- package/dist/next/client/index.d.ts +35 -0
- package/dist/next/client/index.js +36 -0
- package/dist/next/image/index.js +3 -24
- package/dist/next/index.d.ts +150 -51
- package/dist/next/index.js +261 -107
- package/dist/node/index.d.ts +4 -0
- package/dist/node/index.js +210 -0
- package/dist/node-headers-AO06VhqH.d.ts +24 -0
- package/dist/node-headers-C71zNQHe.js +55 -0
- package/dist/nuxt/index.d.ts +60 -0
- package/dist/nuxt/index.js +64 -0
- package/dist/onboarding-BZGHYJks.d.ts +62 -0
- package/dist/openapi/index.d.ts +1 -1
- package/dist/openapi/index.js +3 -3
- package/dist/orpc/index.d.ts +70 -11
- package/dist/orpc/index.js +73 -24
- package/dist/otel/index.d.ts +7 -7
- package/dist/otel/index.js +87 -57
- package/dist/outbox-Cq7pPYvl.d.ts +161 -0
- package/dist/{plugin-o144f322.d.ts → plugin-FGY8UhYm.d.ts} +30 -10
- package/dist/plugin-tfXW1-qO.js +45 -0
- package/dist/plugins/actor/index.d.ts +2 -2
- package/dist/plugins/actor/index.js +3 -3
- package/dist/plugins/rules/index.d.ts +11 -4
- package/dist/plugins/rules/index.js +40 -13
- package/dist/plugins/soft-delete/index.d.ts +5 -4
- package/dist/plugins/soft-delete/index.js +10 -5
- package/dist/plugins/tenant/index.d.ts +2 -2
- package/dist/plugins/tenant/index.js +18 -11
- package/dist/plugins/timestamps/index.d.ts +5 -3
- package/dist/plugins/timestamps/index.js +6 -4
- package/dist/plugins/validation/index.d.ts +2 -2
- package/dist/plugins/validation/index.js +10 -6
- package/dist/{pool-C9voM4Kw.d.ts → pool-CAu2nLrL.d.ts} +2 -2
- package/dist/postgres/index.d.ts +4 -4
- package/dist/postgres/index.js +1 -2
- package/dist/{postgrest-CruYKAvV.d.ts → postgrest-BLVdEnfe.d.ts} +13 -3
- package/dist/powersync/index.d.ts +43 -0
- package/dist/powersync/index.js +199 -0
- package/dist/powersync/react/index.d.ts +87 -0
- package/dist/powersync/react/index.js +108 -0
- package/dist/{problem-BW1KhzSG.js → problem-BreOl8b8.js} +14 -3
- package/dist/{problem-Blxe8S31.d.ts → problem-DD8LZFjc.d.ts} +21 -3
- package/dist/provider-BH5UWZJ6.d.ts +113 -0
- package/dist/provider-Di3sRutW.js +57 -0
- package/dist/query/index.d.ts +4 -2
- package/dist/query/index.js +4 -3
- package/dist/{query-CCbo44lG.js → query-BQ-NaZon.js} +141 -24
- package/dist/{queue-BYUCjr59.d.ts → queue-CLJurhdy.d.ts} +258 -83
- package/dist/react/index.d.ts +11 -7
- package/dist/react/index.js +7 -3
- package/dist/react/native/index.d.ts +116 -0
- package/dist/react/native/index.js +130 -0
- package/dist/react/server.d.ts +28 -10
- package/dist/react/server.js +22 -5
- package/dist/react/session.d.ts +2 -2
- package/dist/react-4ZqkP8da.js +79 -0
- package/dist/react-F80mF4-t.js +409 -0
- package/dist/react-router/index.d.ts +83 -0
- package/dist/react-router/index.js +89 -0
- package/dist/react-topic-seAWjL3_.js +38 -0
- package/dist/{read-set-DQFt1N_Y.js → read-set-DuKWC9Mj.js} +67 -25
- package/dist/realtime/index.d.ts +4 -5
- package/dist/realtime/index.js +144 -82
- package/dist/refusal-CeJWxmkH.js +61 -0
- package/dist/refusal-D1rgbzNq.d.ts +15 -0
- package/dist/replicas-CwrYp5Zj.js +94 -0
- package/dist/{view-Bq64ki8-.js → resolve-D_IcnvFd.js} +239 -289
- package/dist/{resolve-C15TJq77.d.ts → resolve-KW8nCeL6.d.ts} +29 -45
- package/dist/{resource-CRxxwkQq.js → resource-BsvzCMlX.js} +4 -4
- package/dist/{resource-D8iqWMr-.d.ts → resource-D6Uc7Sk7.d.ts} +5 -5
- package/dist/respond-BUgsXNgk.js +91 -0
- package/dist/respond-DoBijysA.d.ts +93 -0
- package/dist/result-D7y2fT87.d.ts +282 -0
- package/dist/{result-BKiliPY7.js → result-DzUbqgdW.js} +27 -2
- package/dist/run-state-CPo-1X2B.d.ts +12 -0
- package/dist/run-state-CgBKzYMW.js +13 -0
- package/dist/search-CUWCRYKL.js +9 -0
- package/dist/server/index.d.ts +143 -21
- package/dist/server/index.js +46 -14
- package/dist/{respond-D2OQl62-.d.ts → server-CeVeeXwz.d.ts} +225 -80
- package/dist/session-ChiXDZdZ.d.ts +72 -0
- package/dist/shared-CBxosKK3.js +75 -0
- package/dist/{shared-D1dRUrAg.js → shared-CxWmcyqB.js} +2 -1
- package/dist/shared-DDSjEGDR.d.ts +11 -0
- package/dist/sign-in-BCV5S2WZ.d.ts +49 -0
- package/dist/sign-in-Cb1mwv6X.js +86 -0
- package/dist/{signers-Cc6r98SW.d.ts → signers-4y62_VIi.d.ts} +13 -9
- package/dist/simplify-DDO0j0LI.js +83 -0
- package/dist/solid/index.d.ts +131 -0
- package/dist/solid/index.js +344 -0
- package/dist/solid-start/index.d.ts +75 -0
- package/dist/solid-start/index.js +58 -0
- package/dist/{spec-pins-C3oc-Tdp.js → spec-pins--j6mTok4.js} +8 -1
- package/dist/{spec-pins-CqorWDnO.d.ts → spec-pins-C89s6DyW.d.ts} +7 -0
- package/dist/sql/index.d.ts +330 -194
- package/dist/sql/index.js +34901 -6489
- package/dist/ssr/index.d.ts +6 -5
- package/dist/ssr/index.js +3 -3
- package/dist/{standard-D7r6dMUu.js → standard-BK0cqJ7y.js} +4 -3
- package/dist/{standard-J4YgMOLm.d.ts → standard-CYsm7xpT.d.ts} +1 -1
- package/dist/stats-D_AD9GGu.js +1123 -0
- package/dist/storage/index.d.ts +5 -5
- package/dist/storage/index.js +1027 -368
- package/dist/store-BdH5ruDx.js +66 -0
- package/dist/store-CGjgWu5n.d.ts +68 -0
- package/dist/streams/index.d.ts +76 -0
- package/dist/streams/index.js +77 -0
- package/dist/streams/redis/index.d.ts +52 -0
- package/dist/streams/redis/index.js +185 -0
- package/dist/stripe-BMj5LtsT.js +38 -0
- package/dist/stripe-D04h-QBT.d.ts +136 -0
- package/dist/{support-Dk6vdmEw.js → support-BivNqSpK.js} +35 -12
- package/dist/{support-view-Da5peKFg.d.ts → support-view-33Oi07TT.d.ts} +1 -1
- package/dist/svelte/index.d.ts +114 -0
- package/dist/svelte/index.js +344 -0
- package/dist/sveltekit/index.d.ts +116 -0
- package/dist/sveltekit/index.js +106 -0
- package/dist/tags-B99_U9Pp.js +39 -0
- package/dist/tags-Cx-LnIQP.d.ts +30 -0
- package/dist/tanstack-db/index.d.ts +71 -0
- package/dist/tanstack-db/index.js +72 -0
- package/dist/tanstack-start/index.d.ts +75 -0
- package/dist/tanstack-start/index.js +95 -0
- package/dist/tee-CoEppCER.js +101 -0
- package/dist/{template-TxrGI5jR.js → template--jDkl3UP.js} +34 -13
- package/dist/template-CwO38Do8.d.ts +6 -0
- package/dist/temporal-BJGitm-h.js +79 -0
- package/dist/{temporal-required-CAt4Dc9Z.js → temporal-required-BVvW7SYJ.js} +3 -2
- package/dist/tenant-I1TEZ_BX.js +27 -0
- package/dist/tenant-icPeuUBN.d.ts +17 -0
- package/dist/testing/index.d.ts +343 -37
- package/dist/testing/index.js +1186 -79
- package/dist/timing-CyTQPubY.js +92 -0
- package/dist/ttl-Hr34gRu8.js +12 -0
- package/dist/{types-Dnf_wRDz.d.ts → types-6BdhkmZe.d.ts} +111 -45
- package/dist/types-BI-0Sl2v.d.ts +359 -0
- package/dist/types-C05bxW-W.d.ts +220 -0
- package/dist/types-DGs5L0VN.d.ts +192 -0
- package/dist/types-TaiEeBGA.d.ts +156 -0
- package/dist/usage-CrvrL2vw.d.ts +177 -0
- package/dist/user-change-XzvgafU4.js +130 -0
- package/dist/vault-CSO7ss5C.d.ts +50 -0
- package/dist/vercel-connect/index.d.ts +47 -0
- package/dist/vercel-connect/index.js +119 -0
- package/dist/{verify-Ce49ETPz.js → verify-DL41hbvY.js} +85 -13
- package/dist/verify-DPuWngD4.d.ts +172 -0
- package/dist/{version-DM_Roffb.js → version-Bvv6aLjZ.js} +1 -1
- package/dist/view-BeFcRV6G.js +99 -0
- package/dist/{view-BEf0diC5.d.ts → view-DbxLNu8L.d.ts} +35 -32
- package/dist/vue/index.d.ts +141 -0
- package/dist/vue/index.js +362 -0
- package/dist/watch-DI34G86j.d.ts +60 -0
- package/dist/watch-Xuxrvxq-.js +122 -0
- package/dist/{wire-D2dT86vi.js → wire-DtZQ4sdE.js} +15 -5
- package/dist/workflow-builder-DJ1oHn8g.js +398 -0
- package/dist/workflow-sdk/builder/index.d.ts +85 -0
- package/dist/workflow-sdk/builder/index.js +250 -0
- package/dist/workflow-sdk/index.d.ts +14 -0
- package/dist/workflow-sdk/index.js +3 -0
- package/dist/workflow-sdk/world/index.d.ts +107 -0
- package/dist/workflow-sdk/world/index.js +702 -0
- package/dist/workflow-sdk-B3yLD6Br.d.ts +98 -0
- package/dist/workflow-sdk-C2WJ_G2O.js +173 -0
- package/dist/workflow-sdk-world-D-prir6O.js +1397 -0
- package/dist/workflows-B0j9WKPu.d.ts +185 -0
- package/dist/workflows-wu1WWBn7.js +216 -0
- package/package.json +470 -29
- package/schemas/ai-message-v1.json +258 -0
- package/schemas/config-v1.json +1074 -140
- package/schemas/doctor-report-v1.json +21 -1
- package/schemas/snapshot-v2.json +8 -0
- package/skills/better-supabase/SKILL.md +41 -12
- package/skills/better-supabase/references/frontend.md +96 -0
- package/skills/better-supabase/references/plugins.md +10 -6
- package/skills/better-supabase/references/troubleshooting.md +2 -1
- package/skills/better-supabase-api/SKILL.md +76 -22
- package/skills/better-supabase-api/references/adapters.md +207 -0
- package/skills/better-supabase-api/references/ai.md +125 -0
- package/skills/better-supabase-api/references/expo.md +65 -0
- package/skills/better-supabase-api/references/powersync.md +35 -0
- package/skills/better-supabase-api/references/streams-credentials.md +105 -0
- package/skills/better-supabase-auth/SKILL.md +62 -18
- package/skills/better-supabase-auth/references/authorization-providers.md +51 -0
- package/skills/better-supabase-testing/SKILL.md +3 -1
- package/dist/cli/config-dtoekM0v.js +0 -2
- package/dist/cli/gen-BJc9vdyu.js +0 -2
- package/dist/cli/gen-C2osRcr5.js +0 -2204
- package/dist/cli/read-sets-BfMQcKy8.js +0 -289
- package/dist/cli/sql-DzPbfngx.js +0 -348
- package/dist/entitlements-CTEBm7IB.js +0 -20
- package/dist/events-aIO7vsIk.d.ts +0 -230
- package/dist/executor-BunPOO-k.d.ts +0 -402
- package/dist/executor-XycESQPH.js +0 -94
- package/dist/impersonation-VfaGc4Q_.js +0 -41
- package/dist/index-BGdgBPdf.d.ts +0 -161
- package/dist/index-DOESKG27.d.ts +0 -100
- package/dist/index-DmXSxbLi.d.ts +0 -62
- package/dist/index-Dxn2a5cw.d.ts +0 -50
- package/dist/jobs/index.d.ts +0 -226
- package/dist/jobs/index.js +0 -1007
- package/dist/json-schema-m1fiwKgN.js +0 -208
- package/dist/kit-events-CTFDfSwb.js +0 -60
- package/dist/kit-transport-B82k1djG.d.ts +0 -33
- package/dist/kits-CGLLrNPd.js +0 -157
- package/dist/notifications/index.d.ts +0 -162
- package/dist/notifications/index.js +0 -264
- package/dist/orgs/index.d.ts +0 -132
- package/dist/orgs/index.js +0 -245
- package/dist/permdock-sql-C2Inc6Xc.d.ts +0 -29
- package/dist/permdock-sql-DgOfeixi.js +0 -51
- package/dist/plugin-DwARMuQp.js +0 -59
- package/dist/server-Csx2sRjg.js +0 -655
- package/dist/stats-Bqob3WqT.js +0 -592
- package/dist/support-DT-OhSxD.d.ts +0 -88
- package/dist/template-mbvlysOo.d.ts +0 -6
- package/dist/temporal-CVlIV2DZ.js +0 -40
- package/dist/user-change-CHFEUro1.js +0 -49
- package/dist/webhooks/index.d.ts +0 -285
- package/skills/better-supabase-auth/references/permdock.md +0 -100
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { t as WORKFLOW_ATTRIBUTES } from "../../attributes-5dYul0u0.js";
|
|
2
|
+
import { c as topologicalOrder, i as durationMs, l as validateGraph, s as isGraphRecord } from "../../graph-BGyLLFLX.js";
|
|
3
|
+
import { n as executeGraph, t as approvalToken } from "../../executor-C-R4pucm.js";
|
|
4
|
+
import { o as runForKey, r as contextAttributes } from "../../workflow-sdk-C2WJ_G2O.js";
|
|
5
|
+
import { start } from "workflow/api";
|
|
6
|
+
import { getStepMetadata, getWorkflowMetadata } from "workflow";
|
|
7
|
+
//#region src/workflow-sdk/builder/builder.ts
|
|
8
|
+
/** The env flag the Workflow SDK reads before it starts or runs dynamic source. */
|
|
9
|
+
const DYNAMIC_WORKFLOWS_ENV = "WORKFLOW_EXPERIMENTAL_DYNAMIC_WORKFLOWS";
|
|
10
|
+
/** The Workflow SDK's limit on dynamic source. */
|
|
11
|
+
const DYNAMIC_SOURCE_MAX_BYTES = 131072;
|
|
12
|
+
const EXPORT_NAME = "workflow";
|
|
13
|
+
const literal = (value) => JSON.stringify(value ?? null);
|
|
14
|
+
const aliasOf = (node, index) => `n${index}_${node.id.replaceAll(/[^A-Za-z0-9_]/g, "_").slice(0, 40)}`;
|
|
15
|
+
const RUNTIME = ` const results = {};
|
|
16
|
+
const ran = Object.create(null);
|
|
17
|
+
const runKey = meta !== null && typeof meta === "object" && typeof meta.runKey === "string" ? meta.runKey : "";
|
|
18
|
+
function read(path) {
|
|
19
|
+
const parts = path.split(".");
|
|
20
|
+
let value = parts[0] === "input" ? input : results;
|
|
21
|
+
for (let i = 1; i < parts.length; i++) {
|
|
22
|
+
if (Array.isArray(value)) value = value[Number(parts[i])];
|
|
23
|
+
else if (value !== null && typeof value === "object") value = value[parts[i]];
|
|
24
|
+
else return undefined;
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
function same(a, b) {
|
|
29
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
30
|
+
}
|
|
31
|
+
function test(c) {
|
|
32
|
+
const actual = read(c.path);
|
|
33
|
+
switch (c.op) {
|
|
34
|
+
case "equals": return same(actual, c.value);
|
|
35
|
+
case "notEquals": return !same(actual, c.value);
|
|
36
|
+
case "exists": return actual !== undefined && actual !== null;
|
|
37
|
+
case "truthy": return Boolean(actual);
|
|
38
|
+
case "greaterThan": return typeof actual === "number" && typeof c.value === "number" && actual > c.value;
|
|
39
|
+
case "lessThan": return typeof actual === "number" && typeof c.value === "number" && actual < c.value;
|
|
40
|
+
case "contains": return typeof actual === "string" ? typeof c.value === "string" && actual.includes(c.value) : Array.isArray(actual) && actual.some((item) => same(item, c.value));
|
|
41
|
+
default: return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function took(source, branch) {
|
|
45
|
+
return source in ran && (branch === null || String(ran[source]) === branch);
|
|
46
|
+
}
|
|
47
|
+
`;
|
|
48
|
+
function nodeBody(node, alias) {
|
|
49
|
+
const id = literal(node.id);
|
|
50
|
+
switch (node.kind) {
|
|
51
|
+
case "trigger": return `results[${id}] = input;\n ran[${id}] = true;`;
|
|
52
|
+
case "step": return `const output = await steps.${alias ?? ""}({ node: ${id}, step: ${literal(node.step)}, config: ${literal(node.config ?? {})}, input, results: Object.assign({}, results), runKey });
|
|
53
|
+
results[${id}] = output === undefined ? null : output;
|
|
54
|
+
ran[${id}] = true;`;
|
|
55
|
+
case "sleep": return `await sleep(${literal(durationMs(node.config?.["duration"]))});
|
|
56
|
+
results[${id}] = null;
|
|
57
|
+
ran[${id}] = true;`;
|
|
58
|
+
case "approval": return `const payload = await createHook({ token: runKey + ":" + ${id} });
|
|
59
|
+
results[${id}] = payload === undefined ? null : payload;
|
|
60
|
+
ran[${id}] = !(payload !== null && typeof payload === "object" && !Array.isArray(payload) && payload.approved === false);`;
|
|
61
|
+
case "condition": return `const outcome = test(${literal(node.config ?? {})});
|
|
62
|
+
results[${id}] = outcome;
|
|
63
|
+
ran[${id}] = outcome;`;
|
|
64
|
+
default: {
|
|
65
|
+
const unknown = node.kind;
|
|
66
|
+
throw new TypeError(`workflow-builder: unknown node kind ${String(unknown)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const guard = (edges) => edges.map((edge) => `took(${literal(edge.source)}, ${edge.branch === void 0 ? "null" : literal(edge.branch)})`).join(" || ");
|
|
71
|
+
/**
|
|
72
|
+
* Compiles a graph to Workflow SDK dynamic source: plain JavaScript that
|
|
73
|
+
* calls each step node through its own alias, sleeps with `sleep` and waits
|
|
74
|
+
* on approvals with `createHook({ token: "<runKey>:<node>" })`. It runs the
|
|
75
|
+
* same way `executeGraph` does. Throws when the graph is invalid or the
|
|
76
|
+
* source is over 128 KiB. Pass it as `compile` to `createBuilder`.
|
|
77
|
+
*/
|
|
78
|
+
function compileGraph(graph) {
|
|
79
|
+
const errors = validateGraph(graph);
|
|
80
|
+
if (errors.length > 0) throw new TypeError(`workflow-builder: ${errors.join("; ")}`);
|
|
81
|
+
const order = topologicalOrder(graph) ?? [];
|
|
82
|
+
const incoming = /* @__PURE__ */ new Map();
|
|
83
|
+
for (const edge of graph.edges) incoming.set(edge.target, [...incoming.get(edge.target) ?? [], edge]);
|
|
84
|
+
const aliases = {};
|
|
85
|
+
const blocks = order.map((node, index) => {
|
|
86
|
+
let alias;
|
|
87
|
+
if (node.kind === "step") {
|
|
88
|
+
alias = aliasOf(node, index);
|
|
89
|
+
aliases[alias] = node.step ?? "";
|
|
90
|
+
}
|
|
91
|
+
const body = nodeBody(node, alias);
|
|
92
|
+
const comment = ` // ${node.kind} node ${String(index)}`;
|
|
93
|
+
if (node.kind === "trigger") return `${comment}\n {\n ${body}\n }`;
|
|
94
|
+
return `${comment}\n if (${guard(incoming.get(node.id) ?? [])}) {\n ${body}\n }`;
|
|
95
|
+
});
|
|
96
|
+
const source = `async function ${EXPORT_NAME}(input, meta) {
|
|
97
|
+
"use workflow";
|
|
98
|
+
${RUNTIME}
|
|
99
|
+
${blocks.join("\n")}
|
|
100
|
+
return Object.assign({}, results);
|
|
101
|
+
}
|
|
102
|
+
`;
|
|
103
|
+
const bytes = new TextEncoder().encode(source).length;
|
|
104
|
+
if (bytes > 131072) throw new RangeError(`workflow-builder: the compiled source is ${bytes} bytes; dynamic workflows take at most ${DYNAMIC_SOURCE_MAX_BYTES}`);
|
|
105
|
+
return {
|
|
106
|
+
engine: "workflow-sdk",
|
|
107
|
+
format: 1,
|
|
108
|
+
exportName: EXPORT_NAME,
|
|
109
|
+
source,
|
|
110
|
+
aliases
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/** `value` as a compiled graph, or `undefined` when it isn't one. */
|
|
114
|
+
function compiledGraphOf(value) {
|
|
115
|
+
if (!isGraphRecord(value) || value["engine"] !== "workflow-sdk" || value["format"] !== 1 || typeof value["source"] !== "string" || typeof value["exportName"] !== "string" || !isGraphRecord(value["aliases"])) return;
|
|
116
|
+
const aliases = {};
|
|
117
|
+
for (const [alias, step] of Object.entries(value["aliases"])) {
|
|
118
|
+
if (typeof step !== "string") return void 0;
|
|
119
|
+
aliases[alias] = step;
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
engine: "workflow-sdk",
|
|
123
|
+
format: 1,
|
|
124
|
+
exportName: value["exportName"],
|
|
125
|
+
source: value["source"],
|
|
126
|
+
aliases
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const dynamicEnabled = () => {
|
|
130
|
+
const raw = globalThis.process?.env?.[DYNAMIC_WORKFLOWS_ENV];
|
|
131
|
+
return raw === "1" || raw?.toLowerCase() === "true";
|
|
132
|
+
};
|
|
133
|
+
function contextOf(call) {
|
|
134
|
+
const actor = call.actor === void 0 ? void 0 : {
|
|
135
|
+
id: call.actor,
|
|
136
|
+
kind: "user"
|
|
137
|
+
};
|
|
138
|
+
return {
|
|
139
|
+
...actor === void 0 ? {} : { actor },
|
|
140
|
+
...call.tenant === void 0 ? {} : { tenant: call.tenant }
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The `start` for `createBuilder`: starts the published version as dynamic
|
|
145
|
+
* source when dynamic workflows are on, and through `executor` otherwise.
|
|
146
|
+
* The source is always compiled from the version's graph; a stored
|
|
147
|
+
* compiled form is never run. Runs carry
|
|
148
|
+
* `bs.tenant`, `bs.actor`, `bs.definition`, `bs.version` and `bs.key`, and
|
|
149
|
+
* a repeated key returns the first run.
|
|
150
|
+
*/
|
|
151
|
+
function graphStarter(options) {
|
|
152
|
+
return async (call) => {
|
|
153
|
+
const key = call.idempotencyKey;
|
|
154
|
+
const existing = await runForKey(key, options.world);
|
|
155
|
+
if (existing !== void 0) return existing;
|
|
156
|
+
const graph = call.version.graph ?? {
|
|
157
|
+
nodes: [],
|
|
158
|
+
edges: []
|
|
159
|
+
};
|
|
160
|
+
const meta = {
|
|
161
|
+
runKey: key,
|
|
162
|
+
definition: call.definition.id,
|
|
163
|
+
version: call.version.version
|
|
164
|
+
};
|
|
165
|
+
const startOptions = {
|
|
166
|
+
attributes: {
|
|
167
|
+
...contextAttributes(contextOf(call)),
|
|
168
|
+
[WORKFLOW_ATTRIBUTES.definition]: call.definition.id,
|
|
169
|
+
[WORKFLOW_ATTRIBUTES.version]: String(call.version.version),
|
|
170
|
+
[WORKFLOW_ATTRIBUTES.key]: key
|
|
171
|
+
},
|
|
172
|
+
...options.world === void 0 ? {} : { world: options.world }
|
|
173
|
+
};
|
|
174
|
+
if (options.dynamic ?? dynamicEnabled()) {
|
|
175
|
+
const compiled = compileGraph(graph);
|
|
176
|
+
const steps = {};
|
|
177
|
+
for (const [alias, name] of Object.entries(compiled.aliases)) {
|
|
178
|
+
const step = options.steps[name];
|
|
179
|
+
if (step === void 0) throw new Error(`better-supabase: the graph uses step "${name}", which was not passed to graphStarter`);
|
|
180
|
+
steps[alias] = step;
|
|
181
|
+
}
|
|
182
|
+
return (await start(compiled.source, [call.input, meta], {
|
|
183
|
+
...startOptions,
|
|
184
|
+
experimental_dynamic: {
|
|
185
|
+
steps,
|
|
186
|
+
exportName: compiled.exportName
|
|
187
|
+
}
|
|
188
|
+
})).runId;
|
|
189
|
+
}
|
|
190
|
+
if (options.executor === void 0) throw new Error(`better-supabase: dynamic workflows are off (${DYNAMIC_WORKFLOWS_ENV}); pass an executor to graphStarter`);
|
|
191
|
+
return (await start(options.executor, [
|
|
192
|
+
graph,
|
|
193
|
+
call.input,
|
|
194
|
+
meta
|
|
195
|
+
], startOptions)).runId;
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Wraps a step so it records its node in `workflow_node_runs`: `running`
|
|
200
|
+
* with the attempt when it starts, then `completed` with its output or
|
|
201
|
+
* `failed` with the error. Call the result inside a `"use step"` function;
|
|
202
|
+
* a failed record never fails the step.
|
|
203
|
+
*
|
|
204
|
+
* ```ts
|
|
205
|
+
* const report = nodeRunReporter(serviceBuilder.nodeRuns);
|
|
206
|
+
* export async function sendEmail(call: GraphStepCall) {
|
|
207
|
+
* "use step";
|
|
208
|
+
* return report(call, () => email.send(call.config));
|
|
209
|
+
* }
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
function nodeRunReporter(sink) {
|
|
213
|
+
const record = async (input) => {
|
|
214
|
+
try {
|
|
215
|
+
await sink.record(input);
|
|
216
|
+
} catch {}
|
|
217
|
+
};
|
|
218
|
+
return async (call, run) => {
|
|
219
|
+
const runId = getWorkflowMetadata().workflowRunId;
|
|
220
|
+
const attempt = getStepMetadata().attempt;
|
|
221
|
+
await record({
|
|
222
|
+
run: runId,
|
|
223
|
+
node: call.node,
|
|
224
|
+
status: "running",
|
|
225
|
+
attempt
|
|
226
|
+
});
|
|
227
|
+
try {
|
|
228
|
+
const output = await run();
|
|
229
|
+
await record({
|
|
230
|
+
run: runId,
|
|
231
|
+
node: call.node,
|
|
232
|
+
status: "completed",
|
|
233
|
+
attempt,
|
|
234
|
+
output
|
|
235
|
+
});
|
|
236
|
+
return output;
|
|
237
|
+
} catch (cause) {
|
|
238
|
+
await record({
|
|
239
|
+
run: runId,
|
|
240
|
+
node: call.node,
|
|
241
|
+
status: "failed",
|
|
242
|
+
attempt,
|
|
243
|
+
error: cause instanceof Error ? cause.message : String(cause)
|
|
244
|
+
});
|
|
245
|
+
throw cause;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
//#endregion
|
|
250
|
+
export { DYNAMIC_SOURCE_MAX_BYTES, DYNAMIC_WORKFLOWS_ENV, approvalToken, compileGraph, compiledGraphOf, executeGraph, graphStarter, nodeRunReporter };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { a as StartOnEventOptions, c as contextAttributes, d as startFor, f as startOnEvent, i as StartForOptions, l as hookMetadata, m as workflowStarter, n as HookForbiddenError, o as WorkflowFn, p as workflowContext, r as ProtectWebHandlerOptions, s as authorizeHook, t as AuthorizeHookOptions, u as protectWebHandler } from "../workflow-sdk-B3yLD6Br.js";
|
|
2
|
+
//#region src/workflow-sdk/attributes.d.ts
|
|
3
|
+
/** The attributes the Supabase World's status trigger copies into `workflow_runs`. */
|
|
4
|
+
export declare const WORKFLOW_ATTRIBUTES: {
|
|
5
|
+
readonly tenant: "bs.tenant";
|
|
6
|
+
readonly actor: "bs.actor";
|
|
7
|
+
readonly key: "bs.key";
|
|
8
|
+
/** The builder definition a run started from; its alerts match on it. */
|
|
9
|
+
readonly definition: "bs.definition";
|
|
10
|
+
/** The builder version number a run started from. */
|
|
11
|
+
readonly version: "bs.version";
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { type AuthorizeHookOptions, HookForbiddenError, type ProtectWebHandlerOptions, type StartForOptions, type StartOnEventOptions, type WorkflowFn, authorizeHook, contextAttributes, hookMetadata, protectWebHandler, startFor, startOnEvent, workflowContext, workflowStarter };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { t as WORKFLOW_ATTRIBUTES } from "../attributes-5dYul0u0.js";
|
|
2
|
+
import { a as protectWebHandler, c as startOnEvent, i as hookMetadata, l as workflowContext, n as authorizeHook, r as contextAttributes, s as startFor, t as HookForbiddenError, u as workflowStarter } from "../workflow-sdk-C2WJ_G2O.js";
|
|
3
|
+
export { HookForbiddenError, WORKFLOW_ATTRIBUTES, authorizeHook, contextAttributes, hookMetadata, protectWebHandler, startFor, startOnEvent, workflowContext, workflowStarter };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Pool } from "pg";
|
|
2
|
+
import { World } from "@workflow/world";
|
|
3
|
+
//#region src/sql/modules/workflow-sdk-world-ddl.generated.d.ts
|
|
4
|
+
/** The `@workflow/world-postgres` version the DDL below was generated from. */
|
|
5
|
+
export declare const WORLD_POSTGRES_VERSION = "5.0.2";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/sql/modules/workflow-sdk-world.d.ts
|
|
8
|
+
declare const WORKFLOW_DELIVERY_MODES: readonly ["poll", "pg_net"];
|
|
9
|
+
type WorkflowDeliveryMode = (typeof WORKFLOW_DELIVERY_MODES)[number];
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/workflow-sdk/world/world.d.ts
|
|
12
|
+
/**
|
|
13
|
+
* The `@workflow/world` protocol this World speaks: the package version its
|
|
14
|
+
* types and queue format come from. Its tables come from
|
|
15
|
+
* `@workflow/world-postgres` at `WORLD_POSTGRES_VERSION`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const WORKFLOW_WORLD_PROTOCOL = "5.0.2";
|
|
18
|
+
interface SupabaseWorldOptions {
|
|
19
|
+
/** A Postgres connection string with access to the `workflow` schema and the jobs functions. */
|
|
20
|
+
readonly connectionString?: string;
|
|
21
|
+
/** An existing pool instead of `connectionString`; `close()` leaves it open. */
|
|
22
|
+
readonly pool?: Pool;
|
|
23
|
+
/**
|
|
24
|
+
* How messages reach the flow route. `poll` (default) claims them in this
|
|
25
|
+
* process and posts to the route; `pg_net` leaves delivery to
|
|
26
|
+
* `dispatch_workflow_deliveries()` on a pg_cron schedule, for serverless
|
|
27
|
+
* hosts with no long-running process.
|
|
28
|
+
*/
|
|
29
|
+
readonly delivery?: WorkflowDeliveryMode;
|
|
30
|
+
/** The flow route the poller posts to. Defaults to `WORKFLOW_FLOW_URL`, then `WORKFLOW_LOCAL_BASE_URL` or `http://localhost:$PORT` plus `/.well-known/workflow/v1/flow`. */
|
|
31
|
+
readonly flowUrl?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The secret deliveries are signed with. Required to accept `pg_net`
|
|
34
|
+
* deliveries; read from the Vault secret `workflow_delivery_secret` when
|
|
35
|
+
* unset. A poller with a secret signs too, and the route then refuses
|
|
36
|
+
* unsigned requests.
|
|
37
|
+
*/
|
|
38
|
+
readonly deliverySecret?: string;
|
|
39
|
+
/**
|
|
40
|
+
* A 32-byte master key (base64 or hex) that each run's AES-256 key is
|
|
41
|
+
* derived from (HKDF-SHA256). Read from the Vault secret
|
|
42
|
+
* `workflow_encryption_key` when unset; without one, run data is stored
|
|
43
|
+
* unencrypted.
|
|
44
|
+
*/
|
|
45
|
+
readonly encryptionKey?: string;
|
|
46
|
+
/** The jobs queue the messages wait in (`sql.modules.workflow-sdk-world.options.queue`). */
|
|
47
|
+
readonly queue?: string;
|
|
48
|
+
/** The schema of the jobs functions, default `better_supabase`. */
|
|
49
|
+
readonly schema?: string;
|
|
50
|
+
/** Deliveries in flight at once in poll mode (default 50). */
|
|
51
|
+
readonly concurrency?: number;
|
|
52
|
+
/** Milliseconds between polls of an empty queue (default 250). */
|
|
53
|
+
readonly pollInterval?: number;
|
|
54
|
+
/** Seconds a claimed message stays leased; the delivery extends it while it runs (default 60). */
|
|
55
|
+
readonly lease?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Seconds a poll delivery may wait for the flow route before it is
|
|
58
|
+
* aborted, failed and retried; the lease stops being extended then
|
|
59
|
+
* (default 300, at least `lease`).
|
|
60
|
+
*/
|
|
61
|
+
readonly deliveryTimeout?: number;
|
|
62
|
+
/** The queue namespace, as `WORKFLOW_QUEUE_NAMESPACE`. */
|
|
63
|
+
readonly namespace?: string;
|
|
64
|
+
}
|
|
65
|
+
/** The flow route: `flowUrl`, `WORKFLOW_FLOW_URL`, or the local server. */
|
|
66
|
+
export declare function resolveFlowUrl(flowUrl?: string): string;
|
|
67
|
+
/** A 32-byte key from base64 or hex. */
|
|
68
|
+
export declare function parseMasterKey(value: string): Uint8Array;
|
|
69
|
+
/** The run's AES-256 key: HKDF-SHA256 of the master key with info `run:<runId>`. */
|
|
70
|
+
export declare function deriveRunKey(master: Uint8Array, runId: string): Promise<Uint8Array>;
|
|
71
|
+
/** `t=<unix>,v1=<hex>` over `<t>.<job>.<body>`. */
|
|
72
|
+
export declare function signDelivery(secret: string, job: string, body: string, now?: number): Promise<string>;
|
|
73
|
+
/** Whether `header` signs `job` and `body` with `secret` within five minutes of `now`. */
|
|
74
|
+
export declare function verifyDelivery(secret: string, header: string | null, job: string, body: string, now?: number): Promise<boolean>;
|
|
75
|
+
/** The World plus the delivery helpers the tests and routes use. */
|
|
76
|
+
type SupabaseWorld = World & {
|
|
77
|
+
start(): Promise<void>;
|
|
78
|
+
close(): Promise<void>;
|
|
79
|
+
/** Claims and delivers the due messages once (poll mode); resolves with how many it delivered. */
|
|
80
|
+
deliverOnce(): Promise<number>;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* A Workflow SDK World on Supabase Postgres: the run, step, event, hook and
|
|
84
|
+
* stream tables of `@workflow/world-postgres` (installed by the
|
|
85
|
+
* `workflow-sdk-world` SQL module), with messages in the jobs module's
|
|
86
|
+
* queue instead of graphile-worker.
|
|
87
|
+
*
|
|
88
|
+
* ```ts
|
|
89
|
+
* // workflow.config or WORKFLOW_TARGET_WORLD=better-supabase/workflow-sdk/world
|
|
90
|
+
* export default createSupabaseWorld({ delivery: "pg_net" });
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function createSupabaseWorld(options?: SupabaseWorldOptions): SupabaseWorld;
|
|
94
|
+
/** The options `createWorld()` reads from the environment. */
|
|
95
|
+
export declare function worldOptionsFromEnv(source?: Readonly<Record<string, string | undefined>>): SupabaseWorldOptions;
|
|
96
|
+
/**
|
|
97
|
+
* The World from the environment, the factory the Workflow SDK calls for
|
|
98
|
+
* `WORKFLOW_TARGET_WORLD=better-supabase/workflow-sdk/world`: the connection
|
|
99
|
+
* from `WORKFLOW_POSTGRES_URL`, `SUPABASE_DB_URL` or `DATABASE_URL`, and
|
|
100
|
+
* `WORKFLOW_DELIVERY`, `WORKFLOW_FLOW_URL`, `WORKFLOW_DELIVERY_SECRET`,
|
|
101
|
+
* `WORKFLOW_ENCRYPTION_KEY`, `WORKFLOW_DELIVERY_QUEUE`,
|
|
102
|
+
* `WORKFLOW_QUEUE_NAMESPACE`, `WORKFLOW_POSTGRES_WORKER_CONCURRENCY` and
|
|
103
|
+
* `WORKFLOW_POSTGRES_POLL_INTERVAL_MS`.
|
|
104
|
+
*/
|
|
105
|
+
export declare function createWorld(): SupabaseWorld;
|
|
106
|
+
//#endregion
|
|
107
|
+
export { type SupabaseWorld, type SupabaseWorldOptions, type WorkflowDeliveryMode, createWorld as default };
|