permdock 0.17.0 → 0.18.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/dist/a2a/index.d.ts +4 -4
- package/dist/a2a/index.js +3 -3
- package/dist/{adoption-scan-Ci0xiJ3T.js → adoption-scan-CxExBYSJ.js} +1 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +3 -3
- package/dist/ai-sdk/index.js +3 -3
- package/dist/{approval-normalize-4KxMRdJC.js → approval-normalize-CUjgSsOl.js} +1 -1
- package/dist/{approval-policies-9VagPixq.d.ts → approval-policies-oNnckT12.d.ts} +1 -1
- package/dist/{approval-prompt-BSh-yxbH.d.ts → approval-prompt-Bg7gDSqd.d.ts} +1 -1
- package/dist/approvals/index.d.ts +3 -3
- package/dist/approvals/index.js +3 -3
- package/dist/{approvals-DdFcTncq.js → approvals-DGId_hgJ.js} +2 -2
- package/dist/{approvers-CNtl4Vc5.js → approvers-BaNwKYgd.js} +1 -3
- package/dist/{arazzo-_zUmT8ZT.js → arazzo--riLuGY0.js} +2 -2
- package/dist/{arazzo-7kbeh1yi.js → arazzo-CEDbb-uM.js} +1 -1
- package/dist/astro/index.d.ts +4 -4
- package/dist/astro/index.js +2 -2
- package/dist/{audience-jRO819i3.js → audience-B4YR9UpV.js} +1 -1
- package/dist/authzen/index.d.ts +5 -5
- package/dist/authzen/index.js +2 -2
- package/dist/{automation-DCWuVKtd.d.ts → automation-Bfa_wD1h.d.ts} +1 -1
- package/dist/better-auth/index.d.ts +1 -1
- package/dist/better-auth/index.js +1 -1
- package/dist/better-supabase/index.d.ts +153 -91
- package/dist/better-supabase/index.js +332 -62
- package/dist/{bind-BJFeLX1V.js → bind-B4pMH9bm.js} +4 -4
- package/dist/{bind-DjFNX0Pq.d.ts → bind-DR6ku3A9.d.ts} +7 -7
- package/dist/{build-instance-lye7oEqf.js → build-instance-BFMFQdE_.js} +1 -1
- package/dist/{capability-BzjWdKmP.d.ts → capability-BZ_veK9o.d.ts} +1 -1
- package/dist/{casbin-DFzk_so3.js → casbin-DCQHkkyj.js} +1 -1
- package/dist/{casbin-C3O_O9nu.js → casbin-bKC1FpEx.js} +1 -1
- package/dist/catalog/index.d.ts +4 -4
- package/dist/catalog/index.js +5 -5
- package/dist/catalog-Caqhbdix.js +1 -0
- package/dist/{catalog-DGDd_ww1.js → catalog-D1fw8qif.js} +2 -2
- package/dist/{catalog-operations-DVI5QO5R.js → catalog-operations-BD22drQf.js} +2 -2
- package/dist/{catalog-DJJIkR9P.js → catalog-zzNuR3sY.js} +1 -1
- package/dist/{challenge-M_ghKJnT.js → challenge-B2O2OLEk.js} +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +2 -2
- package/dist/chat-sdk/index.d.ts +3 -3
- package/dist/claude-agent/index.d.ts +3 -3
- package/dist/claude-agent/index.js +2 -2
- package/dist/clerk/index.d.ts +2 -2
- package/dist/cli/bin.js +1 -1
- package/dist/cli/index.d.ts +4 -4
- package/dist/cli/index.js +2 -2
- package/dist/client-CH7vzSAY.d.ts +32 -0
- package/dist/cloud/index.d.ts +8 -8
- package/dist/cloud/index.js +1 -1
- package/dist/{cloud-DYqzmh5i.js → cloud-C0vXBmLG.js} +2 -2
- package/dist/{codemod-DqB9klYI.js → codemod-C-L0w-u7.js} +2 -2
- package/dist/{codemod-DNGMGqBS.js → codemod-eYI1FbeJ.js} +1 -1
- package/dist/{collect-C44RrKCI.js → collect-CU85z6Ta.js} +2 -2
- package/dist/{collect-HfJXl8Tr.js → collect-D878zLDP.js} +1 -1
- package/dist/collect-KCtOigxx.js +1 -0
- package/dist/compile/index.d.ts +1 -1
- package/dist/{compile-BxiwRotu.d.ts → compile-DBm0ub4p.d.ts} +2 -2
- package/dist/{completion-pwVjJlek.js → completion-Dauc6pVT.js} +1 -1
- package/dist/{config-DnfH6_eT.js → config-DWp2PucY.js} +1 -1
- package/dist/{config-report-C1jl7Na-.js → config-report-DKpFm5ID.js} +2 -2
- package/dist/convex/index.d.ts +4 -4
- package/dist/convex/index.js +2 -2
- package/dist/{core-W5f4Rjt0.js → core-B8sLve3z.js} +3 -3
- package/dist/{core-0iYZ5HUx.d.ts → core-D87h2kpR.d.ts} +2 -2
- package/dist/{create-jCPwPWXf.js → create-3A7J9KRR.js} +4 -4
- package/dist/{create-DrHUmKvG.d.ts → create-BrQXL-Wt.d.ts} +6 -6
- package/dist/{create-bzQlBzG4.d.ts → create-BzwjZuRS.d.ts} +7 -7
- package/dist/{create-gqtDb1nU.js → create-C-tm3KIF.js} +3 -3
- package/dist/{create-DNN3OtsO.d.ts → create-CtoT1lIQ.d.ts} +4 -4
- package/dist/delivery/index.d.ts +4 -4
- package/dist/delivery/index.js +1 -1
- package/dist/{denied-text-DyzWwxEB.d.ts → denied-text-DlIxt8fh.d.ts} +1 -1
- package/dist/{describe-nalX_HHE.d.ts → describe-BKtC_8PG.d.ts} +1 -1
- package/dist/{describe-CogP1loh.js → describe-BZAlPHxT.js} +1 -1
- package/dist/{diff-BTsLiW59.js → diff-BnNHqtHj.js} +4 -4
- package/dist/{diff-CcxYooMu.js → diff-CBCzOTWM.js} +1 -1
- package/dist/{doctor-DS-9ApID.js → doctor-CkYKCuX7.js} +55 -17
- package/dist/{doctor-BNRhJegR.js → doctor-xUpR5rXg.js} +2 -2
- package/dist/drizzle/index.d.ts +3 -3
- package/dist/elysia/index.d.ts +4 -4
- package/dist/elysia/index.js +3 -3
- package/dist/{errors-Dc9FdamT.d.ts → errors-TpzkEKgJ.d.ts} +1 -1
- package/dist/{evaluate-CsjXeLRo.js → evaluate-Czbj7thS.js} +2 -2
- package/dist/{evaluations-BasA9zXp.d.ts → evaluations-CisTTURl.d.ts} +3 -3
- package/dist/{evaluations-DG40eSJa.js → evaluations-h3KoJAPa.js} +1 -1
- package/dist/eve/index.d.ts +4 -4
- package/dist/eve/index.js +3 -3
- package/dist/express/index.d.ts +4 -4
- package/dist/express/index.js +3 -3
- package/dist/fastify/index.d.ts +4 -4
- package/dist/fastify/index.js +3 -3
- package/dist/{fetch-adapter-BgqpOOpd.d.ts → fetch-adapter-BdmfnbJM.d.ts} +2 -2
- package/dist/{fetch-adapter-UZOW0PRC.js → fetch-adapter-DH-NJPbL.js} +2 -2
- package/dist/{fixtures-0VTW5oNq.js → fixtures-Cemqurt8.js} +8 -2
- package/dist/{gen-CNCzG4sB.js → gen-BEIN-DRM.js} +1 -1
- package/dist/{gen-DnpZwQPo.js → gen-mf-MRwVr.js} +3 -3
- package/dist/h3/index.d.ts +4 -4
- package/dist/h3/index.js +3 -3
- package/dist/{helpers-DNnZffrI.js → helpers-DmqGy63f.js} +21 -13
- package/dist/hono/index.d.ts +4 -4
- package/dist/hono/index.js +3 -3
- package/dist/{hosted-DxRLLiFU.d.ts → hosted-BFNXwcjd.d.ts} +1 -1
- package/dist/{hosted-tPZnyjQS.js → hosted-waouw2V-.js} +3 -3
- package/dist/{import-BYVbSKx0.js → import-DObwEota.js} +1 -1
- package/dist/{index-z44pfWar.d.ts → index-BhnOOnp9.d.ts} +2 -2
- package/dist/{index-DFwUOkvt.d.ts → index-CVGio3cH.d.ts} +4 -4
- package/dist/{index-CXXUFWtG.d.ts → index-CdMOd-GY.d.ts} +4 -4
- package/dist/{index-Bt-UoBWu.d.ts → index-CdUTE6qd.d.ts} +8 -8
- package/dist/{index-CZ5mixHO.d.ts → index-Dfv9Toct.d.ts} +1 -1
- package/dist/{index-DtGtDzjb.d.ts → index-rFp6X_QP.d.ts} +4 -4
- package/dist/index.d.ts +17 -17
- package/dist/index.js +15 -13
- package/dist/{init-YSDySeMy.js → init-CNJ8lLjo.js} +1 -1
- package/dist/{init-Dr1qAStu.js → init-DS3PEsCG.js} +3 -3
- package/dist/{instance-options-BOCRxEFb.d.ts → instance-options-2sFGSdsf.d.ts} +1 -1
- package/dist/{instance-snapshot-BgOGtyCy.js → instance-snapshot-BWa71my8.js} +2 -2
- package/dist/jwt/index.d.ts +4 -4
- package/dist/{kernel-CDDU93dI.js → kernel-30Z2zM_d.js} +6 -6
- package/dist/kysely/index.d.ts +3 -3
- package/dist/{login-CXgEKLaW.js → login-BgK5Jloo.js} +1 -1
- package/dist/{login-DEVXDTX8.js → login-DUVzBLh7.js} +3 -3
- package/dist/{manifest-BXTbHNIV.js → manifest-BdzBobNK.js} +1 -1
- package/dist/{manifest-schema-DQkBK2Mr.js → manifest-schema-CsFsYLF-.js} +1 -1
- package/dist/{manifest-Dij1U0hx.js → manifest-wclLWBVH.js} +35 -35
- package/dist/{map-error-B_f3C5cs.js → map-error-BH16Ah8P.js} +1 -1
- package/dist/mcp/index.d.ts +8 -8
- package/dist/mcp/index.js +5 -5
- package/dist/nest/index.d.ts +4 -4
- package/dist/nest/index.js +3 -3
- package/dist/next/index.d.ts +23 -10
- package/dist/next/index.js +29 -9
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +1 -1
- package/dist/node/index.d.ts +4 -4
- package/dist/node/index.js +2 -2
- package/dist/openai/index.d.ts +4 -4
- package/dist/openai/index.js +3 -3
- package/dist/openapi/index.d.ts +2 -2
- package/dist/{openapi-D3wkvOoU.js → openapi-C4gFqeRz.js} +2 -2
- package/dist/{openapi-GM-kTdkq.js → openapi-zMEB9qxn.js} +2 -2
- package/dist/{operation-findings-CXtFzlKJ.js → operation-findings-CVwJHEu_.js} +1 -1
- package/dist/operation-risks-BKOcTv8J.js +13 -0
- package/dist/operations-Bm9HFecz.js +89 -0
- package/dist/orpc/index.d.ts +5 -5
- package/dist/orpc/index.js +3 -3
- package/dist/otel/index.d.ts +3 -3
- package/dist/{output-DhTpe8v1.js → output-BFWLER4r.js} +1 -1
- package/dist/{ownership-moSRhxl_.js → ownership-D-mIt-w0.js} +1 -1
- package/dist/{parse-local-manifest-DEiCF4ah.js → parse-local-manifest-CxcSMQgl.js} +2 -2
- package/dist/{parse-local-manifest-BgTYdR3q.d.ts → parse-local-manifest-DvjTQNuO.d.ts} +1 -1
- package/dist/pdp/index.d.ts +3 -3
- package/dist/pdp/index.js +1 -1
- package/dist/{permdock-DdzMv5-F.js → permdock-D-_WrdKu.js} +18 -8
- package/dist/{permdock-DUWZEOLR.d.ts → permdock-ffY4CMd9.d.ts} +20 -7
- package/dist/{permissions-CvpPtz5O.js → permissions-B3ggI88M.js} +2 -2
- package/dist/{permissions-CVXmRILq.js → permissions-BaoLxy66.js} +1 -13
- package/dist/{policy-CTNl7pvN.d.ts → policy-BtKSApSt.d.ts} +1 -1
- package/dist/{policy-DxQyHKPB.js → policy-cV_wwPb8.js} +2 -2
- package/dist/{policy-from-catalog-DVa1faOr.js → policy-from-catalog-B68hGC0S.js} +6 -6
- package/dist/{policy-types-IRJVABmm.d.ts → policy-types-D-GwfQTc.d.ts} +9 -0
- package/dist/{postgrest-B_cEDd4e.d.ts → postgrest-D84p5dbA.d.ts} +1 -1
- package/dist/{powersync-C0nsyULQ.js → powersync-9PYOE1wt.js} +150 -13
- package/dist/{powersync-BZxw_v-A.js → powersync-DStC_g0B.js} +2 -2
- package/dist/powersync-xNRlC4jN.js +1 -0
- package/dist/prisma/index.d.ts +2 -2
- package/dist/{protected-action-qowj6nxN.js → protected-action-B40tU3yP.js} +2 -2
- package/dist/{protected-action-D3S9U4nc.d.ts → protected-action-Ds_EUY8B.d.ts} +5 -5
- package/dist/{protected-action-B6n6w7Rl.js → protected-action-OpOxtTsN.js} +1 -1
- package/dist/{provider-CjAu39fJ.d.ts → provider-OtnIiFWm.d.ts} +1 -1
- package/dist/{pull-DVoZ0V9_.js → pull-DLP4I1Kl.js} +2 -2
- package/dist/pull-UBjDnf4b.js +1 -0
- package/dist/{push-eJl1Tvqm.js → push-BSb8j1EW.js} +3 -3
- package/dist/{pushed-policy-DMXAOmEW.js → pushed-policy-BecMsTtM.js} +1 -1
- package/dist/{pushed-policy-CUQuvlS3.d.ts → pushed-policy-Ck3FZcoy.d.ts} +1 -1
- package/dist/react/index.d.ts +6 -6
- package/dist/react/index.js +3 -3
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react-native/index.d.ts +103 -38
- package/dist/react-native/index.js +194 -35
- package/dist/{replay-Dc3d8LhG.d.ts → replay-E5X9E1lC.d.ts} +1 -1
- package/dist/{request-context-Ch052blg.js → request-context-DM6_jY1n.js} +1 -1
- package/dist/resend/index.d.ts +4 -4
- package/dist/{resolve-names-1nCei24V.js → resolve-names-CBl4r4_r.js} +1 -1
- package/dist/{rls-ClJRblnR.js → rls-DGBL-jDY.js} +10 -10
- package/dist/{rls-BVzoZCn3.js → rls-pAHGYgTb.js} +1 -1
- package/dist/{role-builder-BrmOcXch.js → role-builder-CMW4wWzn.js} +1 -1
- package/dist/{rpc-BOu3FD6X.js → rpc-KwX_Jcxz.js} +1 -1
- package/dist/{run-CnCaTjWX.js → run-B7lv3NuK.js} +2 -2
- package/dist/run-UPbacxPg.js +1 -0
- package/dist/{run-ticket-C6lXvHM_.d.ts → run-ticket-DPaD27_r.d.ts} +2 -2
- package/dist/{runtime-CBXkOcg9.js → runtime-rf0ZuyF3.js} +1 -1
- package/dist/{saas-BqM9mJkk.js → saas-B8H1MsQ3.js} +4 -4
- package/dist/{scan-CepUXrFt.js → scan-0r3OZqqK.js} +1 -1
- package/dist/{schema-9_NDz8fx.js → schema-B_9tXrbG.js} +1 -1
- package/dist/scim/index.d.ts +1 -1
- package/dist/server/index.d.ts +10 -10
- package/dist/server/index.js +3 -3
- package/dist/{server-types-Bw-lWqzR.d.ts → server-types-3OnXjZ2D.d.ts} +8 -8
- package/dist/{sink-DUzt0e4B.d.ts → sink-ogbVkyeo.d.ts} +2 -2
- package/dist/{skills-BUuH-QFt.js → skills-B4MPRxQd.js} +1 -1
- package/dist/{skills-a4N6Y2Xm.js → skills-C9sTD70r.js} +1 -1
- package/dist/{snapshot-cache-Dbk-Gnij.d.ts → snapshot-cache-B4YvlGG_.d.ts} +1 -1
- package/dist/solid/index.d.ts +5 -5
- package/dist/solid/index.js +3 -3
- package/dist/solid-start/index.d.ts +4 -4
- package/dist/solid-start/index.js +3 -3
- package/dist/{sources-CXY05xtB.d.ts → sources-xdQShLDU.d.ts} +1 -1
- package/dist/{src-nYNBfmgq.js → src-Brzq_0in.js} +21 -104
- package/dist/ssf/index.d.ts +3 -3
- package/dist/ssf/index.js +1 -1
- package/dist/{standard-webhooks-BFeEpjxy.d.ts → standard-webhooks-BfPaZ6T1.d.ts} +2 -2
- package/dist/{store-g5ctUrOI.d.ts → store-DYeB-_U3.d.ts} +4 -4
- package/dist/{store-XgBMbfDy.js → store-DmVqy74I.js} +2 -2
- package/dist/{stores-53_kOwPi.js → stores-BYFopOm1.js} +2 -2
- package/dist/{stores-BtdN3eDO.d.ts → stores-EPul_8MN.d.ts} +5 -5
- package/dist/{stream-BMJg56jU.d.ts → stream-W2RuUYly.d.ts} +1 -1
- package/dist/supabase/client.d.ts +2 -31
- package/dist/supabase/index.d.ts +5 -5
- package/dist/supabase/index.js +3 -3
- package/dist/supabase/middleware.d.ts +5 -5
- package/dist/supabase/middleware.js +4 -4
- package/dist/{supabase-C8cNzp4i.js → supabase-BiViJpQ4.js} +1 -1
- package/dist/{supabase-C6FyUeSh.js → supabase-CogTyJH2.js} +2 -2
- package/dist/supabase-hook-BN46IrVI.js +1 -0
- package/dist/{supabase-hook-Cj85nccs.js → supabase-hook-DX38Hj8h.js} +238 -23
- package/dist/{supautils-BP_5WAIc.js → supautils-BGf6zRvM.js} +6 -6
- package/dist/svelte/index.d.ts +5 -5
- package/dist/svelte/index.js +5 -5
- package/dist/svelte/runtime.d.ts +3 -3
- package/dist/svelte/runtime.js +2 -2
- package/dist/svelte/source.d.ts +5 -5
- package/dist/svelte/source.js +3 -3
- package/dist/sveltekit/index.d.ts +4 -4
- package/dist/sveltekit/index.js +2 -2
- package/dist/{tables-BsGE6HBR.js → tables-BfOk0ymL.js} +1 -1
- package/dist/tanstack-start/index.d.ts +4 -4
- package/dist/tanstack-start/index.js +2 -2
- package/dist/terminal/index.d.ts +5 -5
- package/dist/terminal/index.js +3 -3
- package/dist/testing/core.d.ts +1 -1
- package/dist/testing/core.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/index.d.ts +22 -22
- package/dist/testing/index.js +15 -15
- package/dist/testing/saas/index.d.ts +3 -3
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/{tool-refusal-C1UlhU0V.js → tool-refusal-D4spOJ7I.js} +1 -1
- package/dist/trpc/index.d.ts +5 -5
- package/dist/trpc/index.js +3 -3
- package/dist/{type-helpers-C_OnZW8c.d.ts → type-helpers-i1EJ3Eb1.d.ts} +1 -1
- package/dist/{types-CAAN7evk.d.ts → types-3Y8UpFkF.d.ts} +17 -1
- package/dist/{types-B3BOcI0J.d.ts → types-B8qUkGja.d.ts} +2 -2
- package/dist/{types-UfpcY575.d.ts → types-CCEeSCMB.d.ts} +3 -3
- package/dist/{types-AOP5HQku.d.ts → types-CDVXR6YD.d.ts} +1 -1
- package/dist/{types-CJC1aaoJ.d.ts → types-Ck1KOfug.d.ts} +2 -2
- package/dist/{types-BvBbkAu1.d.ts → types-CqcsNCaN.d.ts} +1 -1
- package/dist/{types-CA-A33Q5.d.ts → types-D-JO7lh8.d.ts} +4 -4
- package/dist/{types-DVZNTkU0.d.ts → types-D19MK4t-.d.ts} +3 -3
- package/dist/{types-Sj1U8HMm.d.ts → types-DGf_cpKF.d.ts} +2 -2
- package/dist/{types-e82uzrTn.d.ts → types-DmbfLu2p.d.ts} +4 -4
- package/dist/{types-D29K5ZNP.d.ts → types-o1vu6Ks3.d.ts} +4 -4
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +1 -1
- package/dist/usage-Cl5eb-e1.js +1 -0
- package/dist/{usage-COsGLht5.js → usage-DC0UKe6C.js} +3 -3
- package/dist/{usage-CqcMeQgX.js → usage-DYtRVkcN.js} +1 -1
- package/dist/{validation-error-DpvsBwZJ.d.ts → validation-error-Dx8PipbO.d.ts} +1 -1
- package/dist/{verify-C8G8D5mk.js → verify-Bpj0hauG.js} +8 -8
- package/dist/{version-cache-9Vq5QVFC.d.ts → version-cache-DzNKWiI6.d.ts} +1 -1
- package/dist/{views-TrZYlDnM.js → views-MWmJ6Y4P.js} +1 -1
- package/dist/vue/index.d.ts +5 -5
- package/dist/vue/index.js +3 -3
- package/dist/{waiter-C2cXXLFZ.d.ts → waiter-NK_UuZbb.d.ts} +2 -2
- package/dist/{watch-DXRDBSCu.js → watch-CBHADqBH.js} +1 -1
- package/dist/watch-OYwAPCzx.js +1 -0
- package/dist/webmcp/index.d.ts +1 -1
- package/dist/webmcp/index.js +1 -1
- package/dist/{who-can-BY5d3HPw.js → who-can-KhVWMxtf.js} +1 -1
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +2 -2
- package/dist/workflow-sdk/index.d.ts +4 -4
- package/dist/{wrap-DpZAbxuD.d.ts → wrap-BHGA-SMM.d.ts} +2 -2
- package/package.json +1 -1
- package/schemas/supabase-manifest-v1.json +1 -1
- package/skills/permdock-approvals/references/stores-and-resume.md +1 -1
- package/skills/permdock-wire/references/adapters.md +3 -1
- package/dist/catalog-BpnjesqX.js +0 -1
- package/dist/collect-CAibhmCi.js +0 -1
- package/dist/powersync-Cqzx25dI.js +0 -1
- package/dist/pull-CUVdB04v.js +0 -1
- package/dist/run-D9N6V5WQ.js +0 -1
- package/dist/supabase-hook-CPBX4dy5.js +0 -1
- package/dist/usage-D1cpHO7p.js +0 -1
- package/dist/watch-DnymTAfe.js +0 -1
|
@@ -1,26 +1,59 @@
|
|
|
1
1
|
import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
|
|
2
2
|
import { c as isConditionDate, l as isConditionRef, o as hasConditionOp } from "./refs-C8BKxc_e.js";
|
|
3
|
-
import {
|
|
3
|
+
import { A as memoryCustomRoleSource, g as localSnapshotManifest } from "./src-Brzq_0in.js";
|
|
4
4
|
import { n as findPermission } from "./permission-registry-B8tYxPIt.js";
|
|
5
5
|
import { d as scopeList, s as resolveScope } from "./scopes-BSdYaGHs.js";
|
|
6
|
-
import { l as policyLevels } from "./policy-
|
|
6
|
+
import { l as policyLevels } from "./policy-cV_wwPb8.js";
|
|
7
7
|
import { t as requiresApproval } from "./approval-required-TzNB9oQA.js";
|
|
8
|
-
import { t as getPermDock } from "./permdock-
|
|
8
|
+
import { t as getPermDock } from "./permdock-D-_WrdKu.js";
|
|
9
9
|
import { u as usageResult } from "./errors-BhRkoNS7.js";
|
|
10
10
|
import { c as requirePolicy } from "./load-BaEamml-.js";
|
|
11
11
|
import { s as quoteSqlLiteral, t as SQL_IDENT } from "./sql-0WjxIp9g.js";
|
|
12
12
|
import { a as scopeMembershipTable, i as scopeColumn } from "./compile-B_oJqmIg.js";
|
|
13
|
-
import { d as keptKeys } from "./sources-C4vkzZJV.js";
|
|
13
|
+
import { d as keptKeys, t as AUTHZ_VERSION_TABLE } from "./sources-C4vkzZJV.js";
|
|
14
14
|
import { t as applyFiles } from "./files-CfiRtQ-m.js";
|
|
15
15
|
import { i as fileDrift } from "./output-files-CM0BnH05.js";
|
|
16
|
-
import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-
|
|
16
|
+
import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-Cemqurt8.js";
|
|
17
17
|
import { A as quoteQualified, O as quoteIdent, a as customRolesOn, t as CUSTOM_ROLES } from "./shared-DyYVEjKC.js";
|
|
18
|
-
import { n as tableNameOf, r as tableNames } from "./tables-
|
|
19
|
-
import { d as andConditions, l as collectGrants, o as assignableRoles, p as contextRefs, t as ownershipRules, u as roleNames } from "./ownership-
|
|
18
|
+
import { n as tableNameOf, r as tableNames } from "./tables-BfOk0ymL.js";
|
|
19
|
+
import { d as andConditions, l as collectGrants, o as assignableRoles, p as contextRefs, t as ownershipRules, u as roleNames } from "./ownership-D-mIt-w0.js";
|
|
20
20
|
import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
|
|
21
21
|
import { n as pgConnector } from "./pg-Ddxsd5ZB.js";
|
|
22
|
-
import { m as tableFor, t as canFixture } from "./verify-
|
|
22
|
+
import { m as tableFor, t as canFixture } from "./verify-Bpj0hauG.js";
|
|
23
23
|
import { resolve } from "node:path";
|
|
24
|
+
//#region src/cli/powersync/claims.ts
|
|
25
|
+
/** The `/docs` section that explains why a claim stream needs a reconnect. */
|
|
26
|
+
const RECONNECT_DOCS = "/docs/adapters/react-native#role-and-tenant-changes";
|
|
27
|
+
/** A dialect that records every claim name a query reads. */
|
|
28
|
+
function claimRecorder(dialect) {
|
|
29
|
+
const names = /* @__PURE__ */ new Set();
|
|
30
|
+
return {
|
|
31
|
+
names,
|
|
32
|
+
dialect: {
|
|
33
|
+
...dialect,
|
|
34
|
+
claim: (name) => {
|
|
35
|
+
names.add(name);
|
|
36
|
+
return dialect.claim(name);
|
|
37
|
+
},
|
|
38
|
+
claims: (name) => {
|
|
39
|
+
names.add(name);
|
|
40
|
+
return dialect.claims(name);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** The recorded claims the kept queries still read, sorted. */
|
|
46
|
+
function claimsIn(queries, names, dialect) {
|
|
47
|
+
return [...names].filter((name) => queries.some((query) => query.includes(dialect.claim(name)) || query.includes(dialect.claims(name)))).toSorted();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* One line per stream that reads a token claim: PowerSync keeps the claims a
|
|
51
|
+
* connection started with, so a changed claim needs a reconnect.
|
|
52
|
+
*/
|
|
53
|
+
function claimWarnings(streams) {
|
|
54
|
+
return streams.filter((stream) => stream.claims.length > 0).map((stream) => `stream ${stream.name} reads token claims ${stream.claims.join(", ")}: PowerSync keeps the claims it connected with, so refresh the session and reconnect after a role or tenant change (${RECONNECT_DOCS})`);
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
24
57
|
//#region src/cli/powersync/names.ts
|
|
25
58
|
function ident(name) {
|
|
26
59
|
if (!SQL_IDENT.test(name)) throw new TypeError(`PermDock CLI: '${name}' is not a plain identifier, which Sync Streams need`);
|
|
@@ -217,6 +250,21 @@ function roleTableRows(stream, dialect, keep = false) {
|
|
|
217
250
|
});
|
|
218
251
|
}
|
|
219
252
|
//#endregion
|
|
253
|
+
//#region src/cli/powersync/version.ts
|
|
254
|
+
/** The user column of `permdock_authz_version`. */
|
|
255
|
+
const VERSION_USER = "user_id";
|
|
256
|
+
/** The version column of `permdock_authz_version`. */
|
|
257
|
+
const VERSION_COLUMN = "version";
|
|
258
|
+
/**
|
|
259
|
+
* `<schema>.permdock_authz_version` when `supabase.hook` keeps the version
|
|
260
|
+
* table, the one `supabase hook generate` writes; otherwise `undefined`.
|
|
261
|
+
*/
|
|
262
|
+
function authzVersionTable(config) {
|
|
263
|
+
const hook = config.supabase?.hook;
|
|
264
|
+
if (hook === void 0 || hook.version === false) return;
|
|
265
|
+
return `${hook.schema ?? config.rls?.schema ?? "permdock"}.${AUTHZ_VERSION_TABLE}`;
|
|
266
|
+
}
|
|
267
|
+
//#endregion
|
|
220
268
|
//#region src/cli/powersync/rows.ts
|
|
221
269
|
function throughColumn(through, device) {
|
|
222
270
|
const [pair] = Object.entries(through.on);
|
|
@@ -298,7 +346,13 @@ function localRows(policy, config, devices) {
|
|
|
298
346
|
const schema = rls?.schema ?? "permdock";
|
|
299
347
|
const database = rls?.authorize === "database";
|
|
300
348
|
const global = rls?.roles ?? (database ? { table: `${schema}.user_roles` } : void 0);
|
|
349
|
+
const versionTable = authzVersionTable(config);
|
|
301
350
|
return compact({
|
|
351
|
+
version: versionTable === void 0 ? void 0 : {
|
|
352
|
+
table: device(versionTable),
|
|
353
|
+
user: VERSION_USER,
|
|
354
|
+
version: VERSION_COLUMN
|
|
355
|
+
},
|
|
302
356
|
memberships,
|
|
303
357
|
roles: global === void 0 ? void 0 : {
|
|
304
358
|
table: device(global.table),
|
|
@@ -846,6 +900,11 @@ function subjectStreams(ctx) {
|
|
|
846
900
|
for (const ids of tenantIds) add(table, `SELECT * FROM ${from} WHERE ${tenant} IN (${ids})`);
|
|
847
901
|
}
|
|
848
902
|
}
|
|
903
|
+
const versionTable = authzVersionTable(ctx.config);
|
|
904
|
+
if (versionTable !== void 0) {
|
|
905
|
+
const table = bare(versionTable, dialect);
|
|
906
|
+
add(table, `SELECT * FROM ${fromTable(versionTable, dialect)} WHERE ${dialect.column(table, VERSION_USER)} = ${dialect.user}`, VERSION_USER);
|
|
907
|
+
}
|
|
849
908
|
const out = [];
|
|
850
909
|
const names = /* @__PURE__ */ new Set();
|
|
851
910
|
for (const [table, entry] of tables) {
|
|
@@ -916,13 +975,14 @@ function powersyncPlan(policy, config, dialect = POWERSYNC) {
|
|
|
916
975
|
}
|
|
917
976
|
function planWith(policy, config, dialect) {
|
|
918
977
|
const scopes = scopeList(policy.scopes);
|
|
978
|
+
const recorder = claimRecorder(dialect);
|
|
919
979
|
const grants = collectGrants(policy);
|
|
920
980
|
const ctx = {
|
|
921
981
|
policy,
|
|
922
982
|
config,
|
|
923
983
|
scopes,
|
|
924
984
|
kinds: ownershipRules(policy, scopes)?.kinds ?? {},
|
|
925
|
-
dialect,
|
|
985
|
+
dialect: recorder.dialect,
|
|
926
986
|
sources: guardedSources(policy, config),
|
|
927
987
|
grants,
|
|
928
988
|
depth: 0,
|
|
@@ -1006,7 +1066,8 @@ function planWith(policy, config, dialect) {
|
|
|
1006
1066
|
resource,
|
|
1007
1067
|
table,
|
|
1008
1068
|
id,
|
|
1009
|
-
queries: [...queries]
|
|
1069
|
+
queries: [...queries],
|
|
1070
|
+
claims: claimsIn([...queries], recorder.names, dialect)
|
|
1010
1071
|
});
|
|
1011
1072
|
}
|
|
1012
1073
|
const tables = tableStreams(config.powersync?.tables ?? {}, dialect, new Set(streams.map((stream) => stream.name)), (resource) => ({
|
|
@@ -1034,6 +1095,60 @@ function planWith(policy, config, dialect) {
|
|
|
1034
1095
|
};
|
|
1035
1096
|
}
|
|
1036
1097
|
//#endregion
|
|
1098
|
+
//#region src/cli/powersync/verify-claims.ts
|
|
1099
|
+
function text(row, key) {
|
|
1100
|
+
const value = isRecord(row) ? row[key] : void 0;
|
|
1101
|
+
return typeof value === "string" || typeof value === "number" || typeof value === "bigint" ? String(value) : void 0;
|
|
1102
|
+
}
|
|
1103
|
+
function changedClaims(fixture) {
|
|
1104
|
+
const before = fixture.subject.claims ?? {};
|
|
1105
|
+
const after = fixture.after.claims ?? before;
|
|
1106
|
+
return new Set([...Object.keys(before), ...Object.keys(after)].filter((name) => JSON.stringify(before[name]) !== JSON.stringify(after[name])));
|
|
1107
|
+
}
|
|
1108
|
+
/** The rows the stream syncs to the user with these claims, by id. */
|
|
1109
|
+
async function rowsFor(query, stream, user, claims) {
|
|
1110
|
+
const rows = /* @__PURE__ */ new Map();
|
|
1111
|
+
for (const sql of stream.queries) for (const row of await query(`select q.* from (${sql}) q where $1::text is not null and $2::jsonb is not null`, [user, JSON.stringify(claims)])) {
|
|
1112
|
+
const id = text(row, stream.id);
|
|
1113
|
+
if (id !== void 0) rows.set(id, row);
|
|
1114
|
+
}
|
|
1115
|
+
return rows;
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Check a claims change against every stream that reads a changed claim, or the
|
|
1119
|
+
* fixture's `stream`.
|
|
1120
|
+
*/
|
|
1121
|
+
async function verifyClaimsChange(input) {
|
|
1122
|
+
const { fixture, plan, mismatches } = input;
|
|
1123
|
+
const label = `claims change for ${fixture.subject.id}`;
|
|
1124
|
+
const changed = changedClaims(fixture);
|
|
1125
|
+
const streams = fixture.stream === void 0 ? plan.streams.filter((stream) => stream.claims.some((name) => changed.has(name))) : plan.streams.filter((stream) => stream.name === fixture.stream);
|
|
1126
|
+
if (streams.length === 0) {
|
|
1127
|
+
mismatches.push(fixture.stream === void 0 ? `${label}: no stream reads a changed claim` : `${label}: no stream named ${fixture.stream}`);
|
|
1128
|
+
return;
|
|
1129
|
+
}
|
|
1130
|
+
const action = input.config.powersync?.action ?? "read";
|
|
1131
|
+
const subject = {
|
|
1132
|
+
...fixture.subject,
|
|
1133
|
+
...fixture.after
|
|
1134
|
+
};
|
|
1135
|
+
for (const stream of streams) {
|
|
1136
|
+
const before = await rowsFor(input.query, stream, fixture.subject.id, fixture.subject.claims ?? {});
|
|
1137
|
+
const after = await rowsFor(input.query, stream, fixture.subject.id, subject.claims ?? {});
|
|
1138
|
+
if (before.size === after.size && [...before.keys()].every((id) => after.has(id))) mismatches.push(`${label}: stream ${stream.name} syncs the same rows before and after the change`);
|
|
1139
|
+
const permission = findPermission(input.policy.permissions, `${stream.resource}.${action}`);
|
|
1140
|
+
if (permission === void 0) continue;
|
|
1141
|
+
for (const [id, row] of after) {
|
|
1142
|
+
const tenant = input.root === void 0 ? void 0 : text(row, input.root);
|
|
1143
|
+
const permdock = await getPermDock(input.policy, fixtureSubject({
|
|
1144
|
+
...subject,
|
|
1145
|
+
...tenant === void 0 ? {} : { tenant }
|
|
1146
|
+
}), { customRoles: memoryCustomRoleSource(input.customRoles) });
|
|
1147
|
+
if (!canFixture(permdock, permission, row)) mismatches.push(`${label}: stream ${stream.name} syncs ${stream.table} row ${id} after the change, which the policy denies`);
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
//#endregion
|
|
1037
1152
|
//#region src/cli/powersync/verify-followed.ts
|
|
1038
1153
|
/** Check a non-resource row against its own-user rule or readable parents. */
|
|
1039
1154
|
async function verifyFollowedRow(input) {
|
|
@@ -1074,7 +1189,8 @@ async function verifyFollowedRow(input) {
|
|
|
1074
1189
|
const holds = await input.synced({
|
|
1075
1190
|
...stream,
|
|
1076
1191
|
resource: fixture.table,
|
|
1077
|
-
id: "id"
|
|
1192
|
+
id: "id",
|
|
1193
|
+
claims: []
|
|
1078
1194
|
}, fixture);
|
|
1079
1195
|
if (holds === void 0) mismatches.push(`${label}: fixture row needs id`);
|
|
1080
1196
|
else if (holds && !granted) mismatches.push(`${label}: stream ${stream.name} syncs a row the policy denies`);
|
|
@@ -1120,6 +1236,12 @@ function powersyncYaml(plan) {
|
|
|
1120
1236
|
const lines = [
|
|
1121
1237
|
"# Generated by permdock powersync generate from the policy. Do not edit.",
|
|
1122
1238
|
...plan.publication === void 0 ? [] : ["# Tables outside public must be in the powersync publication:", `# ${plan.publication}`],
|
|
1239
|
+
...plan.streams.some((stream) => stream.claims.length > 0) ? [
|
|
1240
|
+
"# Streams that read token claims keep the claims a connection started with:",
|
|
1241
|
+
"# refresh the session and reconnect PowerSync after a role or tenant change.",
|
|
1242
|
+
`# https://permdock.com${RECONNECT_DOCS}`,
|
|
1243
|
+
...plan.streams.filter((stream) => stream.claims.length > 0).map((stream) => `# ${stream.name} reads ${stream.claims.join(", ")}`)
|
|
1244
|
+
] : [],
|
|
1123
1245
|
"config:",
|
|
1124
1246
|
" edition: 3",
|
|
1125
1247
|
"",
|
|
@@ -1175,6 +1297,7 @@ function powersyncFiles(policy, config, out) {
|
|
|
1175
1297
|
return {
|
|
1176
1298
|
files,
|
|
1177
1299
|
warnings: plan.warnings,
|
|
1300
|
+
claims: claimWarnings(plan.streams),
|
|
1178
1301
|
...plan.publication === void 0 ? {} : { publication: plan.publication }
|
|
1179
1302
|
};
|
|
1180
1303
|
}
|
|
@@ -1235,6 +1358,19 @@ async function verifyStreams(input) {
|
|
|
1235
1358
|
for (const stream of [...plan.subject, ...plan.tables]) if (stream.user !== void 0 && await leaks(query, stream, stream.user, fixture)) mismatches.push(`stream ${stream.name} syncs another user's ${stream.table} rows to ${fixture.subject.id}`);
|
|
1236
1359
|
}
|
|
1237
1360
|
for (const fixture of input.fixtures) {
|
|
1361
|
+
if ("after" in fixture) {
|
|
1362
|
+
await verifyClaimsChange({
|
|
1363
|
+
policy: input.policy,
|
|
1364
|
+
config: input.config,
|
|
1365
|
+
customRoles: input.customRoles,
|
|
1366
|
+
plan,
|
|
1367
|
+
fixture,
|
|
1368
|
+
root,
|
|
1369
|
+
query,
|
|
1370
|
+
mismatches
|
|
1371
|
+
});
|
|
1372
|
+
continue;
|
|
1373
|
+
}
|
|
1238
1374
|
if ("table" in fixture) {
|
|
1239
1375
|
await verifyFollowedRow({
|
|
1240
1376
|
policy: input.policy,
|
|
@@ -1320,12 +1456,13 @@ async function runPowerSync(input) {
|
|
|
1320
1456
|
output: [
|
|
1321
1457
|
...files.map((file) => `wrote ${file.path}`),
|
|
1322
1458
|
...compiled.publication === void 0 ? [] : [`add the tables outside public to the powersync publication: ${compiled.publication}`],
|
|
1323
|
-
...warnings
|
|
1459
|
+
...warnings,
|
|
1460
|
+
...compiled.claims.map((line) => `PD084: ${line}`)
|
|
1324
1461
|
].join("\n")
|
|
1325
1462
|
};
|
|
1326
1463
|
}
|
|
1327
1464
|
const mismatches = stale.map((file) => `${file.path} ${file.missing ? "is missing" : "differs from the policy"}: run permdock powersync generate`);
|
|
1328
|
-
const notes = [...warnings];
|
|
1465
|
+
const notes = [...warnings, ...compiled.claims.map((line) => `PD084: ${line}`)];
|
|
1329
1466
|
if (input.db !== void 0) try {
|
|
1330
1467
|
const fixturesPath = input.fixtures ?? input.config.rls?.fixtures ?? "rls.fixtures.json";
|
|
1331
1468
|
const { fixtures, customRoles } = await loadFixtures(input.cwd, fixturesPath, true);
|
|
@@ -14,7 +14,7 @@ const generate = defineLeaf({
|
|
|
14
14
|
async run(ctx, { flags }) {
|
|
15
15
|
const out = fileOut("powersync", flags.out);
|
|
16
16
|
const from = given(flags.policy);
|
|
17
|
-
const { runPowerSync } = await import("./powersync-
|
|
17
|
+
const { runPowerSync } = await import("./powersync-xNRlC4jN.js");
|
|
18
18
|
return runPowerSync({
|
|
19
19
|
cwd: ctx.cwd,
|
|
20
20
|
config: ctx.config,
|
|
@@ -45,7 +45,7 @@ const verify = defineLeaf({
|
|
|
45
45
|
const db = await dbUrl(ctx, flags, { required: true });
|
|
46
46
|
const fixtures = given(flags.fixtures);
|
|
47
47
|
const from = given(flags.policy);
|
|
48
|
-
const { runPowerSync } = await import("./powersync-
|
|
48
|
+
const { runPowerSync } = await import("./powersync-xNRlC4jN.js");
|
|
49
49
|
return runPowerSync({
|
|
50
50
|
cwd: ctx.cwd,
|
|
51
51
|
config: ctx.config,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { n as runPowerSync } from "./powersync-9PYOE1wt.js";
|
package/dist/prisma/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Kt as Instant, wr as Condition, yr as Subject } from "../policy-types-
|
|
2
|
-
import { f as WhereResult } from "../permdock-
|
|
1
|
+
import { Kt as Instant, wr as Condition, yr as Subject } from "../policy-types-D-GwfQTc.js";
|
|
2
|
+
import { f as WhereResult } from "../permdock-ffY4CMd9.js";
|
|
3
3
|
import { r as RelationsMapping } from "../graph-sql-BwFC4Qjs.js";
|
|
4
4
|
import { n as RowCheck, t as WithSubjectOptions } from "../subject-settings-vNW8qmUH.js";
|
|
5
5
|
//#region src/prisma/model-fields.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as actionRunner, t as actionApproval } from "./protected-action-
|
|
2
|
-
import { c as rolesView, d as subjectView, f as tenantView, i as gateView, l as scopedTenant, n as describeWith, o as permissionSet, r as filterResult, s as protectedView, t as approvalHandle, u as slotContent } from "./views-
|
|
1
|
+
import { n as actionRunner, t as actionApproval } from "./protected-action-OpOxtTsN.js";
|
|
2
|
+
import { c as rolesView, d as subjectView, f as tenantView, i as gateView, l as scopedTenant, n as describeWith, o as permissionSet, r as filterResult, s as protectedView, t as approvalHandle, u as slotContent } from "./views-MWmJ6Y4P.js";
|
|
3
3
|
import { n as storeOf } from "./store-options--zWn48PK.js";
|
|
4
4
|
import { a as PermDockUiContext, i as PermDockStoreContext, r as PermDockSnapshotPromiseContext } from "./live-options-BBIT68le.js";
|
|
5
5
|
import { Suspense, use, useEffect, useLayoutEffect, useMemo, useState, useSyncExternalStore } from "react";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { M as PolicyVocabulary, gr as Membership, qn as Decision } from "./policy-types-
|
|
1
|
+
import { M as PolicyVocabulary, gr as Membership, qn as Decision } from "./policy-types-D-GwfQTc.js";
|
|
2
2
|
import { u as Permission } from "./permission-types-CAY-GU7e.js";
|
|
3
3
|
import { r as Role } from "./vocabulary-DEJ5j4mR.js";
|
|
4
|
-
import { d as UncheckedData, s as RowData } from "./permdock-
|
|
5
|
-
import { r as DescribeOptions, t as DecisionDescription } from "./describe-
|
|
6
|
-
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, f as ProtectedActionHandle, g as SubjectView, h as RolesOptions, l as GateView, r as ApprovalHandle, s as FilterResult, u as PermissionSet, y as ProtectedAction } from "./store-
|
|
4
|
+
import { d as UncheckedData, s as RowData } from "./permdock-ffY4CMd9.js";
|
|
5
|
+
import { r as DescribeOptions, t as DecisionDescription } from "./describe-BKtC_8PG.js";
|
|
6
|
+
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, f as ProtectedActionHandle, g as SubjectView, h as RolesOptions, l as GateView, r as ApprovalHandle, s as FilterResult, u as PermissionSet, y as ProtectedAction } from "./store-DYeB-_U3.js";
|
|
7
7
|
import { r as RefreshTrigger } from "./refresh-on-L9UOwATg.js";
|
|
8
|
-
import { r as ProtectedProps } from "./types-
|
|
8
|
+
import { r as ProtectedProps } from "./types-DmbfLu2p.js";
|
|
9
9
|
import { ReactNode } from "react";
|
|
10
10
|
//#region src/react/hooks.d.ts
|
|
11
11
|
declare function usePermDock<V extends PolicyVocabulary = PolicyVocabulary>(): ClientPermDock<V>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as problemType } from "./problem-details-CLDgX1KV.js";
|
|
2
2
|
import { t as approvalHeaderValue } from "./approval-header-8QV6MU4H.js";
|
|
3
|
-
import { t as approvalHandle } from "./views-
|
|
3
|
+
import { t as approvalHandle } from "./views-MWmJ6Y4P.js";
|
|
4
4
|
//#region src/client/headers.ts
|
|
5
5
|
/**
|
|
6
6
|
* The `PermDock-Approval` header for a resume; a `TypeError` for a token that
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as PermDockProviderProps } from "./types-
|
|
1
|
+
import { n as PermDockProviderProps } from "./types-DmbfLu2p.js";
|
|
2
2
|
import { ReactElement } from "react";
|
|
3
3
|
//#region src/react/provider.d.ts
|
|
4
4
|
declare function PermDockProvider(props: PermDockProviderProps): ReactElement;
|
|
@@ -5,9 +5,9 @@ import { s as writeFileEnsuringDir } from "./files-BSjrtIHw.js";
|
|
|
5
5
|
import { s as cliVersion } from "./version-DMQ0dnN5.js";
|
|
6
6
|
import { o as formatCatalogJson } from "./catalog-doc-C4DGfJCO.js";
|
|
7
7
|
import { t as catalogPath } from "./catalog-path-CnI0XTFK.js";
|
|
8
|
-
import { n as parseSupabaseManifest } from "./manifest-
|
|
8
|
+
import { n as parseSupabaseManifest } from "./manifest-BdzBobNK.js";
|
|
9
9
|
import { t as parseCatalog } from "./parse-UTC-sDrt.js";
|
|
10
|
-
import { a as nonEmptyOr } from "./output-
|
|
10
|
+
import { a as nonEmptyOr } from "./output-BFWLER4r.js";
|
|
11
11
|
import { t as POLICY_NOT_PUBLISHED } from "./problem-types-DSsRfONQ.js";
|
|
12
12
|
import { n as httpRequest, t as authFailure } from "./http-DhMWeB_h.js";
|
|
13
13
|
import { l as cloudUrl, n as cliRuntime, o as readAuth } from "./auth-j3Eu-j4h.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { n as runCloudPull } from "./pull-DLP4I1Kl.js";
|
|
@@ -4,10 +4,10 @@ import { t as catalogFingerprint } from "./catalog-fingerprint-e6aCWosn.js";
|
|
|
4
4
|
import { a as describeError, n as CliError } from "./errors-BhRkoNS7.js";
|
|
5
5
|
import { s as cliVersion } from "./version-DMQ0dnN5.js";
|
|
6
6
|
import { i as loadConfiguredPolicy } from "./load-BaEamml-.js";
|
|
7
|
-
import { n as parseSupabaseManifest } from "./manifest-
|
|
7
|
+
import { n as parseSupabaseManifest } from "./manifest-BdzBobNK.js";
|
|
8
8
|
import { t as parseCatalog } from "./parse-UTC-sDrt.js";
|
|
9
|
-
import { r as pushedPolicy } from "./pushed-policy-
|
|
10
|
-
import { n as runCatalog } from "./catalog-
|
|
9
|
+
import { r as pushedPolicy } from "./pushed-policy-BecMsTtM.js";
|
|
10
|
+
import { n as runCatalog } from "./catalog-D1fw8qif.js";
|
|
11
11
|
import { n as httpRequest, t as authFailure } from "./http-DhMWeB_h.js";
|
|
12
12
|
import { a as pushAuth, l as cloudUrl, n as cliRuntime, u as firstNonEmpty } from "./auth-j3Eu-j4h.js";
|
|
13
13
|
import "./manifest-json-CAGzls-C.js";
|
|
@@ -3,7 +3,7 @@ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
|
|
|
3
3
|
import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
|
|
4
4
|
import { n as RFC3339_PATTERN } from "./time-nR1JesoH.js";
|
|
5
5
|
import { i as wireValidity } from "./validity-Buc7w8E9.js";
|
|
6
|
-
import { n as snapshotScopes } from "./instance-snapshot-
|
|
6
|
+
import { n as snapshotScopes } from "./instance-snapshot-BWa71my8.js";
|
|
7
7
|
import { n as copyJson, r as forbiddenKeyPath, t as checkSchema } from "./json-schema-BPGa-RjQ.js";
|
|
8
8
|
//#region src/catalog/pushed-policy.ts
|
|
9
9
|
const strings = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as Policy, Gn as AppObligation, Pn as Grantee, U as WireValidity, d as BreakGlassSpec, o as ApprovalRequirement, rn as SnapshotScope, v as GrantLimit, wr as Condition, y as GrantMeta } from "./policy-types-
|
|
1
|
+
import { E as Policy, Gn as AppObligation, Pn as Grantee, U as WireValidity, d as BreakGlassSpec, o as ApprovalRequirement, rn as SnapshotScope, v as GrantLimit, wr as Condition, y as GrantMeta } from "./policy-types-D-GwfQTc.js";
|
|
2
2
|
import { t as JsonSchemaNode } from "./json-schema-BfXgnRNT.js";
|
|
3
3
|
//#region src/catalog/pushed-policy.d.ts
|
|
4
4
|
/**
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as requiredPlans } from "../errors-
|
|
2
|
-
import { i as describe } from "../describe-
|
|
3
|
-
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, f as ProtectedActionHandle, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, o as ClientStatus, p as ProtectedActionView, r as ApprovalHandle, s as FilterResult, u as PermissionSet, v as ActionResult, y as ProtectedAction } from "../store-
|
|
1
|
+
import { c as requiredPlans } from "../errors-TpzkEKgJ.js";
|
|
2
|
+
import { i as describe } from "../describe-BKtC_8PG.js";
|
|
3
|
+
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, f as ProtectedActionHandle, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, o as ClientStatus, p as ProtectedActionView, r as ApprovalHandle, s as FilterResult, u as PermissionSet, v as ActionResult, y as ProtectedAction } from "../store-DYeB-_U3.js";
|
|
4
4
|
import { a as broadcastChannelRefresh, c as visibilityRefresh, i as authzChangeRefresh, n as EventSourceRefreshOptions, o as eventSourceRefresh, r as RefreshTrigger, s as focusRefresh, t as AuthzChangeRefresh } from "../refresh-on-L9UOwATg.js";
|
|
5
|
-
import { n as PermDockProviderProps, r as ProtectedProps, t as PermDockDefaults } from "../types-
|
|
5
|
+
import { n as PermDockProviderProps, r as ProtectedProps, t as PermDockDefaults } from "../types-DmbfLu2p.js";
|
|
6
6
|
import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
|
|
7
|
-
import { a as useAssignableRoles, c as useGate, d as usePermission, f as usePermissions, g as useTenant, h as useSubject, i as useAssignablePermissions, l as useMemberships, m as useRoles, n as Protected, o as useDescribe, p as useRefreshOn, r as useApproval, s as useFilter, t as useProtectedAction, u as usePermDock } from "../protected-action-
|
|
8
|
-
import { t as PermDockProvider } from "../provider-
|
|
7
|
+
import { a as useAssignableRoles, c as useGate, d as usePermission, f as usePermissions, g as useTenant, h as useSubject, i as useAssignablePermissions, l as useMemberships, m as useRoles, n as Protected, o as useDescribe, p as useRefreshOn, r as useApproval, s as useFilter, t as useProtectedAction, u as usePermDock } from "../protected-action-Ds_EUY8B.js";
|
|
8
|
+
import { t as PermDockProvider } from "../provider-OtnIiFWm.js";
|
|
9
9
|
export { type ActionResult, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, PermDockProvider, type PermDockProviderProps, type PermissionSet, type PermissionState, Protected, type ProtectedAction, type ProtectedActionHandle, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type TenantView, approvalHeaders, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, focusRefresh, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissions, useProtectedAction, useRefreshOn, useRoles, useSubject, useTenant, visibilityRefresh };
|
package/dist/react/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
|
|
3
|
-
import { n as describe } from "../describe-
|
|
4
|
-
import { r as approvalHeaders } from "../protected-action-
|
|
3
|
+
import { n as describe } from "../describe-BZAlPHxT.js";
|
|
4
|
+
import { r as approvalHeaders } from "../protected-action-OpOxtTsN.js";
|
|
5
5
|
import { a as eventSourceRefresh, i as broadcastChannelRefresh, o as focusRefresh, r as authzChangeRefresh, s as visibilityRefresh } from "../store-options--zWn48PK.js";
|
|
6
|
-
import { a as useAssignableRoles, c as useGate, d as usePermission, f as usePermissions, g as useTenant, h as useSubject, i as useAssignablePermissions, l as useMemberships, m as useRoles, n as Protected, o as useDescribe, p as useRefreshOn, r as useApproval, s as useFilter, t as useProtectedAction, u as usePermDock } from "../protected-action-
|
|
6
|
+
import { a as useAssignableRoles, c as useGate, d as usePermission, f as usePermissions, g as useTenant, h as useSubject, i as useAssignablePermissions, l as useMemberships, m as useRoles, n as Protected, o as useDescribe, p as useRefreshOn, r as useApproval, s as useFilter, t as useProtectedAction, u as usePermDock } from "../protected-action-B40tU3yP.js";
|
|
7
7
|
import { t as PermDockProvider } from "../provider-CY4TSSJo.js";
|
|
8
8
|
export { PermDockProvider, Protected, approvalHeaders, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, focusRefresh, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissions, useProtectedAction, useRefreshOn, useRoles, useSubject, useTenant, visibilityRefresh };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as PermDockProvider } from "../provider-
|
|
1
|
+
import { t as PermDockProvider } from "../provider-OtnIiFWm.js";
|
|
2
2
|
export { PermDockProvider };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { $t as Snapshot, Jt as LocalMembershipRows, Kt as Instant, Qt as LocalSnapshotRows, Xt as LocalRowValue, Yt as LocalRowColumn, Zt as LocalSnapshotManifest, dr as CustomRole, gr as Membership, lt as SnapshotSource } from "../policy-types-
|
|
1
|
+
import { $t as Snapshot, Jt as LocalMembershipRows, Kt as Instant, Qt as LocalSnapshotRows, Xt as LocalRowValue, Yt as LocalRowColumn, Zt as LocalSnapshotManifest, dr as CustomRole, gr as Membership, lt as SnapshotSource } from "../policy-types-D-GwfQTc.js";
|
|
2
2
|
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
-
import { c as requiredPlans } from "../errors-
|
|
4
|
-
import { i as describe } from "../describe-
|
|
5
|
-
import { t as parseLocalSnapshotManifest } from "../parse-local-manifest-
|
|
6
|
-
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, f as ProtectedActionHandle, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, o as ClientStatus, p as ProtectedActionView, r as ApprovalHandle, s as FilterResult, t as ClientStore, u as PermissionSet, v as ActionResult, y as ProtectedAction } from "../store-
|
|
3
|
+
import { c as requiredPlans } from "../errors-TpzkEKgJ.js";
|
|
4
|
+
import { i as describe } from "../describe-BKtC_8PG.js";
|
|
5
|
+
import { t as parseLocalSnapshotManifest } from "../parse-local-manifest-DvjTQNuO.js";
|
|
6
|
+
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, f as ProtectedActionHandle, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, o as ClientStatus, p as ProtectedActionView, r as ApprovalHandle, s as FilterResult, t as ClientStore, u as PermissionSet, v as ActionResult, y as ProtectedAction } from "../store-DYeB-_U3.js";
|
|
7
7
|
import { i as authzChangeRefresh, n as EventSourceRefreshOptions, o as eventSourceRefresh, r as RefreshTrigger, t as AuthzChangeRefresh } from "../refresh-on-L9UOwATg.js";
|
|
8
|
-
import { r as ProtectedProps, t as PermDockDefaults } from "../types-
|
|
8
|
+
import { r as ProtectedProps, t as PermDockDefaults } from "../types-DmbfLu2p.js";
|
|
9
9
|
import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
|
|
10
|
-
import { a as useAssignableRoles, c as useGate, d as usePermission, f as usePermissions, g as useTenant, h as useSubject, i as useAssignablePermissions, l as useMemberships, m as useRoles, n as Protected, o as useDescribe, r as useApproval, s as useFilter, t as useProtectedAction, u as usePermDock } from "../protected-action-
|
|
11
|
-
import {
|
|
10
|
+
import { a as useAssignableRoles, c as useGate, d as usePermission, f as usePermissions, g as useTenant, h as useSubject, i as useAssignablePermissions, l as useMemberships, m as useRoles, n as Protected, o as useDescribe, r as useApproval, s as useFilter, t as useProtectedAction, u as usePermDock } from "../protected-action-Ds_EUY8B.js";
|
|
11
|
+
import { n as RealtimeRefreshClient, t as RealtimeRefreshChannel } from "../client-CH7vzSAY.js";
|
|
12
|
+
import { a as SubscribeOnline, i as SubscribeForeground, n as ReactNativePermDockProviderProps, r as SnapshotStorage, t as NativeRevalidate } from "../types-o1vu6Ks3.js";
|
|
12
13
|
import { ReactElement } from "react";
|
|
13
14
|
//#region src/react-native/guards.d.ts
|
|
14
15
|
/**
|
|
@@ -42,6 +43,11 @@ type LocalSnapshotData = {
|
|
|
42
43
|
} | null;
|
|
43
44
|
/** The tenant's custom roles, in the shape a `CustomRoleSource` returns. */
|
|
44
45
|
readonly customRoles?: readonly CustomRole[];
|
|
46
|
+
/**
|
|
47
|
+
* The user's synced authorization version, set as `Snapshot.authzVersion`.
|
|
48
|
+
* Anything but a non-negative safe integer is ignored.
|
|
49
|
+
*/
|
|
50
|
+
readonly authzVersion?: number;
|
|
45
51
|
};
|
|
46
52
|
type LocalSnapshotOptions = {
|
|
47
53
|
/** `localSnapshotManifest(policy)`, written at build time. */
|
|
@@ -138,6 +144,94 @@ type PowerSyncSourceCache = {
|
|
|
138
144
|
*/
|
|
139
145
|
export declare function powerSyncSourceCache(db: PowerSyncWatchable): PowerSyncSourceCache;
|
|
140
146
|
//#endregion
|
|
147
|
+
//#region src/react-native/subscriptions.d.ts
|
|
148
|
+
/** The `AppState` export of `react-native`, as `appStateForeground` calls it. */
|
|
149
|
+
type AppStateModule = {
|
|
150
|
+
addEventListener: (type: "change", listener: (state: string) => void) => {
|
|
151
|
+
remove: () => void;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* The default export of `@react-native-community/netinfo`, as `netInfoOnline`
|
|
156
|
+
* calls it.
|
|
157
|
+
*/
|
|
158
|
+
type NetInfoModule = {
|
|
159
|
+
addEventListener: (listener: (state: {
|
|
160
|
+
readonly isConnected: boolean | null;
|
|
161
|
+
readonly isInternetReachable?: boolean | null;
|
|
162
|
+
}) => void) => () => void;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* `subscribeForeground` over `AppState`: `active` returns to the foreground and
|
|
166
|
+
* `background` leaves it. iOS `inactive` (a system sheet over the app) is
|
|
167
|
+
* neither.
|
|
168
|
+
*/
|
|
169
|
+
export declare function appStateForeground(appState: AppStateModule): SubscribeForeground;
|
|
170
|
+
/**
|
|
171
|
+
* `subscribeOnline` over NetInfo. An unknown (`null`) connection counts as
|
|
172
|
+
* online.
|
|
173
|
+
*/
|
|
174
|
+
export declare function netInfoOnline(netInfo: NetInfoModule): SubscribeOnline;
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region src/react-native/native-refresh.d.ts
|
|
177
|
+
/** The part of a supabase-js session `nativeRefresh` reads. */
|
|
178
|
+
type NativeRefreshSession = {
|
|
179
|
+
readonly access_token: string;
|
|
180
|
+
readonly user: {
|
|
181
|
+
readonly id: string;
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
/** The part of a React Native supabase-js client `nativeRefresh` uses. */
|
|
185
|
+
type NativeRefreshSupabase<C extends RealtimeRefreshChannel = RealtimeRefreshChannel> = RealtimeRefreshClient<C> & {
|
|
186
|
+
readonly auth: {
|
|
187
|
+
readonly getSession: () => Promise<{
|
|
188
|
+
readonly data: {
|
|
189
|
+
readonly session: NativeRefreshSession | null;
|
|
190
|
+
};
|
|
191
|
+
}>;
|
|
192
|
+
readonly refreshSession: () => Promise<unknown>;
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
/** The `PowerSyncDatabase` methods `nativeRefresh` calls. */
|
|
196
|
+
type NativeRefreshDatabase<K> = PowerSyncWatchable & {
|
|
197
|
+
readonly connect: (connector: K) => Promise<void>;
|
|
198
|
+
readonly disconnect: () => Promise<void>;
|
|
199
|
+
};
|
|
200
|
+
type NativeRefreshPowerSync<K> = {
|
|
201
|
+
readonly db: NativeRefreshDatabase<K>;
|
|
202
|
+
/** The connector the app connects with; a reconnect fetches a new token. */
|
|
203
|
+
readonly connector: K;
|
|
204
|
+
/**
|
|
205
|
+
* The manifest `permdock powersync generate` writes. With its `rows.version`,
|
|
206
|
+
* a synced version above the token's `authz_ver` runs a refresh, which covers
|
|
207
|
+
* a message sent while the app was closed.
|
|
208
|
+
*/
|
|
209
|
+
readonly manifest?: LocalSnapshotManifest;
|
|
210
|
+
};
|
|
211
|
+
type NativeRefreshOptions<C extends RealtimeRefreshChannel = RealtimeRefreshChannel, K = unknown> = {
|
|
212
|
+
readonly supabase: NativeRefreshSupabase<C>;
|
|
213
|
+
/** The `AppState` export of `react-native`. */
|
|
214
|
+
readonly appState: AppStateModule;
|
|
215
|
+
/**
|
|
216
|
+
* The default export of `@react-native-community/netinfo`. A signal that
|
|
217
|
+
* arrives offline waits for the connection, then runs once.
|
|
218
|
+
*/
|
|
219
|
+
readonly netInfo?: NetInfoModule;
|
|
220
|
+
/** Reconnects PowerSync after the session refresh. */
|
|
221
|
+
readonly powersync?: NativeRefreshPowerSync<K>;
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* A `refreshOn` trigger for an Expo app on Supabase: on each message on the
|
|
225
|
+
* user's private `authz:<uid>` topic it refreshes the Supabase session, then
|
|
226
|
+
* reconnects PowerSync so streams that read token claims see the new ones, then
|
|
227
|
+
* refreshes the snapshot. Passes run one at a time; signals during a pass fold
|
|
228
|
+
* into one more. The channel closes in the background and rejoins on
|
|
229
|
+
* foreground, where one catch-up pass runs: a version check with
|
|
230
|
+
* `powersync.manifest`, else a full pass. It never imports `@supabase/*` or
|
|
231
|
+
* `@powersync/*`.
|
|
232
|
+
*/
|
|
233
|
+
export declare function nativeRefresh<C extends RealtimeRefreshChannel, K = unknown>(options: NativeRefreshOptions<C, K>): RefreshTrigger;
|
|
234
|
+
//#endregion
|
|
141
235
|
//#region src/react-native/provider.d.ts
|
|
142
236
|
export declare function PermDockProvider(props: ReactNativePermDockProviderProps): ReactElement;
|
|
143
237
|
//#endregion
|
|
@@ -175,35 +269,6 @@ export declare function secureStoreStorage(store: SecureStoreModule, options?: o
|
|
|
175
269
|
*/
|
|
176
270
|
export declare function mmkvStorage(mmkv: MmkvInstance): SnapshotStorage;
|
|
177
271
|
//#endregion
|
|
178
|
-
//#region src/react-native/subscriptions.d.ts
|
|
179
|
-
/** The `AppState` export of `react-native`, as `appStateForeground` calls it. */
|
|
180
|
-
type AppStateModule = {
|
|
181
|
-
addEventListener: (type: "change", listener: (state: string) => void) => {
|
|
182
|
-
remove: () => void;
|
|
183
|
-
};
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* The default export of `@react-native-community/netinfo`, as `netInfoOnline`
|
|
187
|
-
* calls it.
|
|
188
|
-
*/
|
|
189
|
-
type NetInfoModule = {
|
|
190
|
-
addEventListener: (listener: (state: {
|
|
191
|
-
readonly isConnected: boolean | null;
|
|
192
|
-
readonly isInternetReachable?: boolean | null;
|
|
193
|
-
}) => void) => () => void;
|
|
194
|
-
};
|
|
195
|
-
/**
|
|
196
|
-
* `subscribeForeground` over `AppState`: `active` returns to the foreground and
|
|
197
|
-
* `background` leaves it. iOS `inactive` (a system sheet over the app) is
|
|
198
|
-
* neither.
|
|
199
|
-
*/
|
|
200
|
-
export declare function appStateForeground(appState: AppStateModule): SubscribeForeground;
|
|
201
|
-
/**
|
|
202
|
-
* `subscribeOnline` over NetInfo. An unknown (`null`) connection counts as
|
|
203
|
-
* online.
|
|
204
|
-
*/
|
|
205
|
-
export declare function netInfoOnline(netInfo: NetInfoModule): SubscribeOnline;
|
|
206
|
-
//#endregion
|
|
207
272
|
//#region src/react-native/store.d.ts
|
|
208
273
|
type NativeStoreOptions = Omit<ReactNativePermDockProviderProps, "children" | "headers" | "defaults" | "messages"> & {
|
|
209
274
|
readonly headers?: Readonly<Record<string, string>> | (() => Readonly<Record<string, string>> | undefined);
|
|
@@ -222,4 +287,4 @@ type NativeStoreOptions = Omit<ReactNativePermDockProviderProps, "children" | "h
|
|
|
222
287
|
export declare function connectSource(store: ClientStore, source: SnapshotSource, subscribeForeground?: SubscribeForeground): () => void;
|
|
223
288
|
export declare function nativeStore(options: NativeStoreOptions): ClientStore;
|
|
224
289
|
//#endregion
|
|
225
|
-
export { type ActionResult, type AppStateModule, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type LocalMembershipRows, type LocalRowColumn, type LocalRowValue, type LocalSnapshotData, type LocalSnapshotManifest, type LocalSnapshotOptions, type LocalSnapshotRows, type MmkvInstance, type NativeRevalidate, type NetInfoModule, type PermDockDefaults, type PermissionSet, type PermissionState, type PowerSyncQuery, type PowerSyncSourceCache, type PowerSyncSourceOptions, type PowerSyncWatchable, Protected, type ProtectedAction, type ProtectedActionHandle, type ProtectedActionView, type ProtectedProps, type ReactNativePermDockProviderProps, type RefreshTrigger, type RolesOptions, type SecureStoreModule, type SnapshotSource, type SnapshotStorage, type SubjectView, type SubscribeForeground, type SubscribeOnline, type TenantView, approvalHeaders, authzChangeRefresh, describe, eventSourceRefresh, parseLocalSnapshotManifest, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissions, useProtectedAction, useRoles, useSubject, useTenant };
|
|
290
|
+
export { type ActionResult, type AppStateModule, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type LocalMembershipRows, type LocalRowColumn, type LocalRowValue, type LocalSnapshotData, type LocalSnapshotManifest, type LocalSnapshotOptions, type LocalSnapshotRows, type MmkvInstance, type NativeRefreshDatabase, type NativeRefreshOptions, type NativeRefreshPowerSync, type NativeRefreshSession, type NativeRefreshSupabase, type NativeRevalidate, type NetInfoModule, type PermDockDefaults, type PermissionSet, type PermissionState, type PowerSyncQuery, type PowerSyncSourceCache, type PowerSyncSourceOptions, type PowerSyncWatchable, Protected, type ProtectedAction, type ProtectedActionHandle, type ProtectedActionView, type ProtectedProps, type ReactNativePermDockProviderProps, type RefreshTrigger, type RolesOptions, type SecureStoreModule, type SnapshotSource, type SnapshotStorage, type SubjectView, type SubscribeForeground, type SubscribeOnline, type TenantView, approvalHeaders, authzChangeRefresh, describe, eventSourceRefresh, parseLocalSnapshotManifest, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissions, useProtectedAction, useRoles, useSubject, useTenant };
|