permdock 0.15.0 → 0.17.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/{adapter-context-CIQpQxbE.js → adapter-context-OHikyRqV.js} +1 -1
- package/dist/{adoption-scan-DLel53Oa.js → adoption-scan-Ci0xiJ3T.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 +189 -0
- package/dist/approval-policies-9VagPixq.d.ts +138 -0
- package/dist/{approval-prompt-3BqWczTt.d.ts → approval-prompt-BSh-yxbH.d.ts} +1 -1
- package/dist/approvals/index.d.ts +5 -4
- package/dist/approvals/index.js +7 -6
- package/dist/{approvals-DnIBTuXE.js → approvals-DdFcTncq.js} +3 -3
- package/dist/{approvers-B4r0N_Uz.js → approvers-CNtl4Vc5.js} +22 -1
- package/dist/{arazzo-CL8CZnpL.js → arazzo-7kbeh1yi.js} +2 -2
- package/dist/{arazzo-CHK9NT6u.js → arazzo-_zUmT8ZT.js} +4 -4
- package/dist/{args-0FrVs5EH.js → args-iafbHiXn.js} +2 -5
- package/dist/astro/index.d.ts +4 -4
- package/dist/astro/index.js +2 -2
- package/dist/{audience-DTjR8xet.js → audience-jRO819i3.js} +1 -1
- package/dist/{auth--yPyZNgr.js → auth-j3Eu-j4h.js} +1 -1
- package/dist/authz-topic-Dbc-HDOS.js +15 -0
- package/dist/authzen/index.d.ts +5 -5
- package/dist/authzen/index.js +2 -2
- package/dist/{automation-C6Jg75xq.d.ts → automation-DCWuVKtd.d.ts} +1 -1
- package/dist/better-auth/index.d.ts +1 -1
- package/dist/better-auth/index.js +10 -8
- package/dist/better-supabase/index.d.ts +273 -38
- package/dist/better-supabase/index.js +493 -102
- package/dist/{better-supabase-Dirf_8Ec.js → better-supabase-BJtQ-kNf.js} +26 -10
- package/dist/{bind-BNQA9JK9.js → bind-BJFeLX1V.js} +6 -6
- package/dist/{bind-YYjvfpB9.d.ts → bind-DjFNX0Pq.d.ts} +7 -7
- package/dist/{budget-BELja5A9.js → budget-BBCPDOGP.js} +1 -1
- package/dist/{budget-hYsPz_yE.d.ts → budget-CNLsV2SL.d.ts} +1 -1
- package/dist/{build-instance-BWXqwQYU.js → build-instance-lye7oEqf.js} +3 -2
- package/dist/{capability-Di9tiUvi.d.ts → capability-BzjWdKmP.d.ts} +1 -1
- package/dist/{capability-BqX94r07.js → capability-zN6T9fxe.js} +2 -3
- package/dist/{casbin-iAEXjmca.js → casbin-C3O_O9nu.js} +2 -2
- package/dist/{casbin-DRFwgVIP.js → casbin-DFzk_so3.js} +2 -2
- package/dist/{casl-C4OINZHI.js → casl-CjBVJj8R.js} +2 -2
- package/dist/{casl-CHHoCldP.js → casl-CkBssiB1.js} +1 -1
- package/dist/catalog/index.d.ts +5 -5
- package/dist/catalog/index.js +6 -6
- package/dist/catalog-BpnjesqX.js +1 -0
- package/dist/{catalog-CGlSwU6j.js → catalog-DGDd_ww1.js} +5 -5
- package/dist/{catalog-amPDr0JQ.js → catalog-DJJIkR9P.js} +3 -3
- package/dist/{catalog-doc-DjMKzJp9.js → catalog-doc-C4DGfJCO.js} +3 -3
- package/dist/{catalog-operations-DeHTrJSV.js → catalog-operations-DVI5QO5R.js} +3 -3
- package/dist/{challenge-DImNcR7B.js → challenge-M_ghKJnT.js} +2 -2
- 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/{checks-CGkP3Z7A.js → checks-fyDOhcz0.js} +33 -1
- 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/clerk/index.js +10 -7
- package/dist/cli/bin.js +1 -1
- package/dist/cli/index.d.ts +5 -5
- package/dist/cli/index.js +3 -3
- package/dist/cloud/index.d.ts +8 -8
- package/dist/cloud/index.js +1 -1
- package/dist/{cloud-eOtmuonF.js → cloud-DYqzmh5i.js} +4 -4
- package/dist/{codemod-KEDj_3zl.js → codemod-DNGMGqBS.js} +395 -8
- package/dist/{codemod-D6NYu4AK.js → codemod-DqB9klYI.js} +3 -3
- package/dist/{collect-DnXL4B8c.js → collect-C44RrKCI.js} +4 -4
- package/dist/collect-CAibhmCi.js +1 -0
- package/dist/{collect-WCl8cJQV.js → collect-HfJXl8Tr.js} +4 -4
- package/dist/compile/index.d.ts +1 -1
- package/dist/compile/index.js +1 -1
- package/dist/{compile-EzEMB-7v.js → compile-B_oJqmIg.js} +4 -4
- package/dist/{compile-BEklRUYo.d.ts → compile-BxiwRotu.d.ts} +2 -2
- package/dist/{completion-DCza8aQY.js → completion-pwVjJlek.js} +3 -3
- package/dist/{config-CcLlvEYW.js → config-COHmivz9.js} +4 -4
- package/dist/{config-BAM3a3z8.js → config-DnfH6_eT.js} +2 -2
- package/dist/{config-report-VZcQ0ZpS.js → config-report-C1jl7Na-.js} +2 -2
- package/dist/{context-BnIzxTNE.js → context-DeammvFl.js} +2 -2
- package/dist/convex/index.d.ts +4 -4
- package/dist/convex/index.js +3 -3
- package/dist/{core-CFepFiDP.d.ts → core-0iYZ5HUx.d.ts} +2 -2
- package/dist/{core-lxoANyai.js → core-W5f4Rjt0.js} +7 -7
- package/dist/{create-DBvUsgzK.d.ts → create-DNN3OtsO.d.ts} +4 -4
- package/dist/{create-CDd9c22W.d.ts → create-DrHUmKvG.d.ts} +6 -6
- package/dist/{create-BPUopdfL.d.ts → create-bzQlBzG4.d.ts} +7 -7
- package/dist/{create-Coq5fIrq.js → create-gqtDb1nU.js} +5 -5
- package/dist/{create-BLPKnJKa.js → create-jCPwPWXf.js} +6 -5
- package/dist/{credential-CyyyvCsL.js → credential-B3Hj4puZ.js} +4 -3
- package/dist/{credentials-CdDxp7jN.js → credentials-dkycUsY3.js} +1 -1
- package/dist/decision-CaG5_eNJ.js +21 -0
- package/dist/{delegation-CDB6_keF.js → delegation-aK4T_5WU.js} +3 -3
- package/dist/delivery/index.d.ts +4 -4
- package/dist/delivery/index.js +1 -1
- package/dist/{denied-text-DHldhVUv.d.ts → denied-text-DyzWwxEB.d.ts} +1 -1
- package/dist/{describe-Bb4hGK5d.js → describe-CogP1loh.js} +2 -1
- package/dist/{describe-BbFPBSms.d.ts → describe-nalX_HHE.d.ts} +1 -1
- package/dist/{diff-DfmYaIhB.js → diff-BTsLiW59.js} +7 -7
- package/dist/{diff-CxtbOi2l.js → diff-CcxYooMu.js} +2 -2
- package/dist/{doctor-gIO9WTYo.js → doctor-BNRhJegR.js} +3 -3
- package/dist/{doctor-CMqPKuN_.js → doctor-DS-9ApID.js} +195 -30
- package/dist/drizzle/index.d.ts +3 -3
- package/dist/drizzle/index.js +1 -1
- package/dist/elysia/index.d.ts +4 -4
- package/dist/elysia/index.js +3 -3
- package/dist/{errors-Vpu6rKHl.js → errors-BhRkoNS7.js} +0 -2
- package/dist/{errors-BIM4MFsJ.d.ts → errors-Dc9FdamT.d.ts} +1 -1
- package/dist/{evaluate-BAmf_AQd.js → evaluate-CsjXeLRo.js} +18 -15
- package/dist/{evaluations-DOWuBpWv.d.ts → evaluations-BasA9zXp.d.ts} +3 -3
- package/dist/{evaluations-IBceAeKT.js → evaluations-DG40eSJa.js} +3 -22
- 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-BIbBAtPZ.d.ts → fetch-adapter-BgqpOOpd.d.ts} +2 -2
- package/dist/{fetch-adapter-dPTgJVHd.js → fetch-adapter-UZOW0PRC.js} +2 -2
- package/dist/{fields-DI8s3cPl.js → fields-CrjL6A49.js} +3 -3
- package/dist/{files-B3AA05f1.js → files-CfiRtQ-m.js} +1 -1
- package/dist/{fixtures-Bm4_K1ke.js → fixtures-0VTW5oNq.js} +2 -2
- package/dist/{flags-DXjoTVbS.js → flags-BlmpmXoY.js} +2 -2
- package/dist/{from-snapshot-DCakWRsr.js → from-snapshot-DMlSSo9b.js} +14 -12
- package/dist/{gen-DwgCSC6V.js → gen-CNCzG4sB.js} +2 -2
- package/dist/{gen-DuAhghDw.js → gen-DnpZwQPo.js} +9 -9
- package/dist/{generate-CRVV5V7l.js → generate-BqkZq8Dr.js} +2 -2
- package/dist/{grantee-conditions-BrYPe-w0.js → grantee-conditions-DX4K_gGI.js} +1 -1
- package/dist/{grantee-match-7RZZvoT_.js → grantee-match-BP-k4vRJ.js} +2 -2
- package/dist/h3/index.d.ts +4 -4
- package/dist/h3/index.js +3 -3
- package/dist/{helpers-DJicaG6f.js → helpers-DNnZffrI.js} +76 -12
- package/dist/hono/index.d.ts +4 -4
- package/dist/hono/index.js +3 -3
- package/dist/{hosted-DVxlLZMe.d.ts → hosted-DxRLLiFU.d.ts} +1 -1
- package/dist/{hosted-D0IzESu_.js → hosted-tPZnyjQS.js} +12 -10
- package/dist/{http-DOL33cO0.js → http-DhMWeB_h.js} +1 -1
- package/dist/{import-DK_J8tVE.js → import-BYVbSKx0.js} +3 -3
- package/dist/{import-CNBF96hB.js → import-C1XXpG_m.js} +4 -4
- package/dist/{index-Cay5-Kvx.d.ts → index-Bt-UoBWu.d.ts} +11 -10
- package/dist/{index-DJwEgYzA.d.ts → index-CXXUFWtG.d.ts} +17 -11
- package/dist/{index-Dj2qF9VC.d.ts → index-CZ5mixHO.d.ts} +1 -1
- package/dist/{index-ymept53A.d.ts → index-DFwUOkvt.d.ts} +4 -4
- package/dist/{index-CV-7DWeD.d.ts → index-DtGtDzjb.d.ts} +4 -4
- package/dist/{index-BinlXeU-.d.ts → index-z44pfWar.d.ts} +2 -2
- package/dist/index.d.ts +18 -16
- package/dist/index.js +20 -18
- package/dist/{init-Buibrl9h.js → init-Dr1qAStu.js} +5 -5
- package/dist/{init-jLSyPMM7.js → init-YSDySeMy.js} +5 -5
- package/dist/{instance-options-CoHn-0e8.d.ts → instance-options-BOCRxEFb.d.ts} +2 -2
- package/dist/{instance-snapshot-DuWf1cT3.js → instance-snapshot-BgOGtyCy.js} +15 -12
- package/dist/jwt/index.d.ts +4 -4
- package/dist/jwt/index.js +3 -3
- package/dist/{kernel-BD8QuMnv.js → kernel-CDDU93dI.js} +10 -10
- package/dist/kysely/index.d.ts +3 -3
- package/dist/kysely/index.js +1 -1
- package/dist/{load-DjSU5KXO.js → load-BaEamml-.js} +1 -1
- package/dist/load-CjnlPxpL.js +1 -0
- package/dist/{login-CB55O4Gv.js → login-CXgEKLaW.js} +4 -4
- package/dist/{login-VVpkkund.js → login-DEVXDTX8.js} +4 -4
- package/dist/{manifest-CbEyvPN2.js → manifest-Dij1U0hx.js} +37 -37
- package/dist/{map-claims-C-nv08_n.js → map-claims-PQwHynxV.js} +25 -11
- package/dist/{map-error-pasIGqMT.js → map-error-B_f3C5cs.js} +1 -1
- package/dist/mcp/index.d.ts +8 -8
- package/dist/mcp/index.js +9 -9
- package/dist/{migrate-BJHxQqT5.js → migrate-BbY5-Khy.js} +4 -4
- package/dist/{module-values-B1EVTkHP.js → module-values-B8tNIxdd.js} +2 -2
- package/dist/nest/index.d.ts +4 -4
- package/dist/nest/index.js +3 -3
- package/dist/next/index.d.ts +32 -13
- package/dist/next/index.js +43 -25
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +2 -2
- 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-eHZ5hwUJ.js → openapi-D3wkvOoU.js} +4 -4
- package/dist/{openapi-CleDZYVf.js → openapi-GM-kTdkq.js} +5 -5
- 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/otel/index.js +1 -1
- package/dist/{output-BVZpQDad.js → output-DhTpe8v1.js} +1 -1
- package/dist/output-files-BYscrQl-.js +1 -0
- package/dist/{output-files-BIQ_9pIs.js → output-files-CM0BnH05.js} +1 -1
- package/dist/{ownership-qqBuGJXr.js → ownership-moSRhxl_.js} +6 -6
- package/dist/{parse-1_ZheTW5.js → parse-UTC-sDrt.js} +2 -2
- package/dist/{parse-local-manifest-CCmbhnxP.d.ts → parse-local-manifest-BgTYdR3q.d.ts} +1 -1
- package/dist/{parse-request-CwCZpyjV.js → parse-request-DOBVaeiQ.js} +1 -1
- package/dist/pdp/index.d.ts +3 -3
- package/dist/pdp/index.js +3 -3
- package/dist/{peer-Q0fuZ6hx.js → peer-BuK9F53f.js} +1 -1
- package/dist/{peer-C9LvBCcb.js → peer-n-swIV4H.js} +1 -1
- package/dist/{permdock-CprAPN3w.d.ts → permdock-DUWZEOLR.d.ts} +88 -131
- package/dist/{permdock-BvjivVb9.js → permdock-DdzMv5-F.js} +195 -102
- package/dist/{permissions-CYcHj_w7.js → permissions-CvpPtz5O.js} +1 -1
- package/dist/{pg-DQTqRrou.js → pg-Ddxsd5ZB.js} +2 -2
- package/dist/{policy-BycVKnXv.d.ts → policy-CTNl7pvN.d.ts} +1 -1
- package/dist/{policy-CLQ8__GF.js → policy-DxQyHKPB.js} +5 -4
- package/dist/{policy-from-catalog-CU3An8uP.js → policy-from-catalog-DVa1faOr.js} +8 -7
- package/dist/{policy-types-DGIO_gxq.d.ts → policy-types-IRJVABmm.d.ts} +63 -19
- package/dist/{postgrest-D5nUGm-c.d.ts → postgrest-B_cEDd4e.d.ts} +12 -7
- package/dist/{postgrest-DAxFltvO.js → postgrest-BrjrckDG.js} +74 -19
- package/dist/{powersync-CFWILHjb.js → powersync-BZxw_v-A.js} +3 -3
- package/dist/{powersync-uqYWxTjq.js → powersync-C0nsyULQ.js} +15 -15
- package/dist/powersync-Cqzx25dI.js +1 -0
- package/dist/preset/index.js +1 -1
- package/dist/{preset-BjLzeFpp.js → preset-pPrVyGU5.js} +74 -7
- package/dist/prisma/index.d.ts +2 -2
- package/dist/prisma/index.js +1 -1
- package/dist/{protected-action-DUYqb-Ma.js → protected-action-B6n6w7Rl.js} +1 -1
- package/dist/{protected-action-D8x73IGm.d.ts → protected-action-D3S9U4nc.d.ts} +14 -7
- package/dist/{protected-action-QEA8arRB.js → protected-action-qowj6nxN.js} +15 -5
- package/dist/{provider-C55OGXJ7.js → provider-CY4TSSJo.js} +2 -2
- package/dist/{provider-DfLeek9O.d.ts → provider-CjAu39fJ.d.ts} +1 -1
- package/dist/{provider-store-CaTv00tr.js → provider-store-BQP_pp8s.js} +2 -2
- package/dist/pull-CUVdB04v.js +1 -0
- package/dist/{pull-BBmCxnqX.js → pull-DVoZ0V9_.js} +6 -6
- package/dist/{push-Dq_ca4-j.js → push-eJl1Tvqm.js} +7 -7
- package/dist/{pushed-policy-CryQheKq.d.ts → pushed-policy-CUQuvlS3.d.ts} +1 -1
- package/dist/{pushed-policy-CDuOL2de.js → pushed-policy-DMXAOmEW.js} +1 -1
- package/dist/react/index.d.ts +8 -8
- package/dist/react/index.js +6 -6
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react/provider-client.js +1 -1
- package/dist/react-native/index.d.ts +10 -10
- package/dist/react-native/index.js +9 -9
- package/dist/refresh-on-L9UOwATg.d.ts +49 -0
- package/dist/{replay-Bs9Df2fQ.d.ts → replay-Dc3d8LhG.d.ts} +1 -1
- package/dist/{request-context-Duzdf0cd.js → request-context-Ch052blg.js} +2 -2
- package/dist/{request-schema-DhX7UbfQ.js → request-schema-CMP8Cmxd.js} +5 -0
- package/dist/resend/index.d.ts +4 -4
- package/dist/{resolve-names-Y1Cb22cp.js → resolve-names-1nCei24V.js} +6 -6
- package/dist/{rls-yK2nZUcm.js → rls-BVzoZCn3.js} +4 -4
- package/dist/{rls-BwKXdVEW.js → rls-ClJRblnR.js} +19 -19
- package/dist/{role-builder-BK2-T6oD.js → role-builder-BrmOcXch.js} +3 -157
- package/dist/{rpc-vHIwyXCp.js → rpc-BOu3FD6X.js} +2 -2
- package/dist/{run-D5WIJfs7.js → run-CnCaTjWX.js} +8 -40
- package/dist/run-D9N6V5WQ.js +1 -0
- package/dist/{run-ticket-ylovhyFQ.d.ts → run-ticket-C6lXvHM_.d.ts} +2 -2
- package/dist/{run-ticket-DfnZCh-u.js → run-ticket-CjvXr6wj.js} +1 -1
- package/dist/{runtime-BGnrOkVH.js → runtime-CBXkOcg9.js} +1 -1
- package/dist/{saas-DK4V-3Is.js → saas-BqM9mJkk.js} +13 -10
- package/dist/{scan-CzdMtHnq.js → scan-CepUXrFt.js} +1 -1
- package/dist/{schema-BDGEVO4g.js → schema-9_NDz8fx.js} +1 -1
- package/dist/{schema-BOJjqlWL.js → schema-CuX70xgH.js} +15 -2
- package/dist/scim/index.d.ts +1 -1
- package/dist/scim/index.js +1 -1
- package/dist/{scim-jJBJ7g1Z.js → scim-C30QBBoF.js} +2 -1
- package/dist/{scim-D8YupzX1.js → scim-CovliQUg.js} +2 -2
- package/dist/{scopes-0Up_UA2t.js → scopes-BSdYaGHs.js} +9 -40
- package/dist/server/index.d.ts +11 -11
- package/dist/server/index.js +8 -8
- package/dist/{server-3cVlTLde.js → server-D0PW6ZCw.js} +2 -2
- package/dist/{server-types-CyRN0-Cd.d.ts → server-types-Bw-lWqzR.d.ts} +8 -8
- package/dist/{shared-l0oGGetg.js → shared-BRmCJxDK.js} +2 -2
- package/dist/{shared-DrGLwM3s.js → shared-DyYVEjKC.js} +2 -2
- package/dist/{sink-B5zoUW_O.d.ts → sink-DUzt0e4B.d.ts} +2 -2
- package/dist/{skills-BZxPQ_09.js → skills-BUuH-QFt.js} +2 -2
- package/dist/{skills-BIsm1n26.js → skills-a4N6Y2Xm.js} +2 -2
- package/dist/{snapshot-CXlzi69u.js → snapshot-DN_8J27z.js} +6 -2
- package/dist/{snapshot-cache-Bx_4xC_6.js → snapshot-cache-B66h7FBK.js} +25 -8
- package/dist/{snapshot-cache-BjAWkchD.d.ts → snapshot-cache-Dbk-Gnij.d.ts} +20 -6
- package/dist/solid/index.d.ts +7 -7
- package/dist/solid/index.js +6 -6
- package/dist/solid-start/index.d.ts +4 -4
- package/dist/solid-start/index.js +3 -3
- package/dist/{sources-oB1Hg1Fm.d.ts → sources-CXY05xtB.d.ts} +1 -1
- package/dist/{src-C_pi2Rnh.js → src-nYNBfmgq.js} +187 -39
- package/dist/ssf/index.d.ts +3 -3
- package/dist/ssf/index.js +1 -1
- package/dist/{standard-webhooks-DOYEuOLx.d.ts → standard-webhooks-BFeEpjxy.d.ts} +2 -2
- package/dist/{store-RNFvaJJv.js → store-XgBMbfDy.js} +13 -7
- package/dist/{types-tQB2CEnY.d.ts → store-g5ctUrOI.d.ts} +114 -113
- package/dist/{store-options-Dil3lraY.js → store-options--zWn48PK.js} +76 -7
- package/dist/{stores-DxZWDXCs.js → stores-53_kOwPi.js} +3 -3
- package/dist/{stores-DZJvxFIZ.d.ts → stores-BtdN3eDO.d.ts} +5 -6
- package/dist/{stream-9y9qw51m.d.ts → stream-BMJg56jU.d.ts} +1 -1
- package/dist/{subject-BGoM5o8B.js → subject-C7RddW0G.js} +8 -1
- package/dist/supabase/client.d.ts +31 -0
- package/dist/supabase/client.js +21 -0
- package/dist/supabase/index.d.ts +37 -6
- package/dist/supabase/index.js +5 -4
- package/dist/supabase/middleware.d.ts +8 -7
- package/dist/supabase/middleware.js +6 -6
- package/dist/{supabase-DYWnT800.js → supabase-C6FyUeSh.js} +3 -3
- package/dist/{supabase-CDHMsDD0.js → supabase-C8cNzp4i.js} +31 -8
- package/dist/supabase-hook-CPBX4dy5.js +1 -0
- package/dist/{supabase-hook-HPgwYb9V.js → supabase-hook-Cj85nccs.js} +167 -21
- package/dist/{supautils-CGk4YpvC.js → supautils-BP_5WAIc.js} +20 -18
- package/dist/svelte/index.d.ts +7 -7
- package/dist/svelte/index.js +8 -8
- package/dist/svelte/runtime.d.ts +3 -3
- package/dist/svelte/runtime.js +3 -3
- package/dist/svelte/source.d.ts +7 -7
- package/dist/svelte/source.js +5 -5
- package/dist/sveltekit/index.d.ts +4 -4
- package/dist/sveltekit/index.js +2 -2
- package/dist/{tables-DimBcVWY.js → tables-BsGE6HBR.js} +7 -7
- package/dist/tanstack-start/index.d.ts +4 -4
- package/dist/tanstack-start/index.js +2 -2
- package/dist/{tenancy-5d1zVBvK.js → tenancy-DvOHHk3-.js} +1 -1
- package/dist/terminal/index.d.ts +5 -5
- package/dist/terminal/index.js +6 -6
- package/dist/testing/core.d.ts +1 -1
- package/dist/testing/core.js +1 -1
- package/dist/testing/fixtures/index.d.ts +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/index.d.ts +29 -22
- package/dist/testing/index.js +118 -46
- 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/token-D6pWn8Uj.d.ts +11 -0
- package/dist/{token-DC9EQiet.js → token-DaMnIU9O.js} +24 -8
- package/dist/{tool-refusal-Qpjs_W6M.js → tool-refusal-C1UlhU0V.js} +1 -1
- package/dist/trpc/index.d.ts +5 -5
- package/dist/trpc/index.js +3 -3
- package/dist/{type-helpers-c7Xo_2Cu.d.ts → type-helpers-C_OnZW8c.d.ts} +1 -1
- package/dist/{types-B2efzoSX.d.ts → types-AOP5HQku.d.ts} +1 -1
- package/dist/{types-DlelvQk4.d.ts → types-B3BOcI0J.d.ts} +2 -2
- package/dist/{types-DLvhVm1r.d.ts → types-BvBbkAu1.d.ts} +16 -7
- package/dist/{types-BB-zWDcR.d.ts → types-CA-A33Q5.d.ts} +5 -5
- package/dist/{types-Cklw5hJo.d.ts → types-CAAN7evk.d.ts} +24 -1
- package/dist/{types-DsHGPtkR.d.ts → types-CJC1aaoJ.d.ts} +2 -2
- package/dist/{types-CWBsAwqn.d.ts → types-D29K5ZNP.d.ts} +4 -4
- package/dist/{types-CEinc15V.d.ts → types-DVZNTkU0.d.ts} +3 -4
- package/dist/{types-ZzRGoViD.d.ts → types-NYoj8JBm.d.ts} +2 -2
- package/dist/{types-B6ExllNo.d.ts → types-Sj1U8HMm.d.ts} +2 -2
- package/dist/{types-CN0LsqbK.d.ts → types-UfpcY575.d.ts} +3 -3
- package/dist/{types-rCRV4Ge-.d.ts → types-e82uzrTn.d.ts} +4 -4
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/{usage-e6M1Mls1.js → usage-COsGLht5.js} +6 -6
- package/dist/{usage-DBNrpwoT.js → usage-CqcMeQgX.js} +2 -2
- package/dist/usage-D1cpHO7p.js +1 -0
- package/dist/{validation-error-uvp-kyfO.d.ts → validation-error-DpvsBwZJ.d.ts} +1 -1
- package/dist/{verify-CgIpJRcG.js → verify-C8G8D5mk.js} +19 -19
- package/dist/{version-cache-Df11C2Qp.d.ts → version-cache-9Vq5QVFC.d.ts} +9 -3
- package/dist/{views-CD8wuL4Z.js → views-TrZYlDnM.js} +1 -1
- package/dist/vue/index.d.ts +7 -7
- package/dist/vue/index.js +6 -6
- package/dist/{waiter-CqUKX6CY.d.ts → waiter-C2cXXLFZ.d.ts} +2 -2
- package/dist/{watch-DAkjm75Y.js → watch-DXRDBSCu.js} +3 -3
- package/dist/watch-DnymTAfe.js +1 -0
- package/dist/webmcp/index.d.ts +1 -1
- package/dist/webmcp/index.js +1 -1
- package/dist/{where-scope-DlCdCM_8.js → where-scope-BKrqUDVk.js} +5 -5
- package/dist/{who-can-BoDJm0Nc.js → who-can-BY5d3HPw.js} +4 -4
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +5 -4
- package/dist/workflow-sdk/index.d.ts +4 -4
- package/dist/{wrap-B2wziJI_.js → wrap-C5PWzgkq.js} +1 -1
- package/dist/{wrap-DxXB54Wu.d.ts → wrap-DpZAbxuD.d.ts} +2 -2
- package/package.json +8 -5
- package/schemas/approval-request-v1.json +5 -0
- package/schemas/catalog-v1.json +18 -2
- package/schemas/cli-result-v1.json +0 -2
- package/schemas/snapshot-v1.json +9 -0
- package/skills/permdock-approvals/SKILL.md +8 -8
- package/skills/permdock-approvals/references/stores-and-resume.md +7 -3
- package/skills/permdock-audit/SKILL.md +1 -1
- package/skills/permdock-data/references/queries-and-rls.md +1 -1
- package/dist/action-result-BcudBQOF.d.ts +0 -19
- package/dist/catalog-D3oS2GH3.js +0 -1
- package/dist/collect-D-eroIfV.js +0 -1
- package/dist/load-Dm0pSYH3.js +0 -1
- package/dist/output-files-BHOIlrfD.js +0 -1
- package/dist/powersync-CnGzxvEl.js +0 -1
- package/dist/pull-D6dloyrc.js +0 -1
- package/dist/renames-CGj7YwcQ.js +0 -175
- package/dist/run-DlQYPtPv.js +0 -1
- package/dist/supabase-hook-qsewAVZY.js +0 -1
- package/dist/usage-D3KJyaNS.js +0 -1
- package/dist/watch-CuPz0D2M.js +0 -1
package/dist/supabase/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { n as supabaseTenantClaim, t as supabaseMembershipsBudget } from "../budget-
|
|
2
|
-
import {
|
|
1
|
+
import { n as supabaseTenantClaim, t as supabaseMembershipsBudget } from "../budget-BBCPDOGP.js";
|
|
2
|
+
import { n as AUTHZ_TOPIC, r as authzUserTopic, t as AUTHZ_EVENT } from "../authz-topic-Dbc-HDOS.js";
|
|
3
|
+
import { a as supabaseApprovalStore, i as tableApprovalPolicySource, n as supabaseRls, o as supabaseClaims, r as tableApprovalDelegationSource, s as exchangeCapability, t as authorizeSql } from "../supabase-C8cNzp4i.js";
|
|
3
4
|
import { c as tableMembershipSource, i as authzVersion, o as junctionMembershipSource, s as supabasePostgresQuery, t as AUTHZ_VERSION_TABLE } from "../sources-C4vkzZJV.js";
|
|
4
|
-
import { a as delegationOf, c as subjectFromSupabaseSession, i as actorOf, n as postgrestSources, r as readSubjectRecord, s as subjectFromSupabase } from "../postgrest-
|
|
5
|
+
import { a as delegationOf, c as subjectFromSupabaseSession, i as actorOf, n as postgrestSources, r as readSubjectRecord, s as subjectFromSupabase } from "../postgrest-BrjrckDG.js";
|
|
5
6
|
import { n as parseSupabaseManifest, t as hasTokenHook } from "../manifest-BXTbHNIV.js";
|
|
6
|
-
export { AUTHZ_VERSION_TABLE, actorOf, authorizeSql, authzVersion, delegationOf, exchangeCapability, hasTokenHook, junctionMembershipSource, parseSupabaseManifest, postgrestSources, readSubjectRecord, subjectFromSupabase, subjectFromSupabaseSession, supabaseApprovalStore, supabaseClaims, supabaseMembershipsBudget, supabasePostgresQuery, supabaseRls, supabaseTenantClaim, tableApprovalDelegationSource, tableMembershipSource };
|
|
7
|
+
export { AUTHZ_EVENT, AUTHZ_TOPIC, AUTHZ_VERSION_TABLE, actorOf, authorizeSql, authzUserTopic, authzVersion, delegationOf, exchangeCapability, hasTokenHook, junctionMembershipSource, parseSupabaseManifest, postgrestSources, readSubjectRecord, subjectFromSupabase, subjectFromSupabaseSession, supabaseApprovalStore, supabaseClaims, supabaseMembershipsBudget, supabasePostgresQuery, supabaseRls, supabaseTenantClaim, tableApprovalDelegationSource, tableApprovalPolicySource, tableMembershipSource };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as Policy, M as PolicyVocabulary, _r as Principal, yr as Subject } from "../policy-types-IRJVABmm.js";
|
|
2
2
|
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
-
import { a as PermDock } from "../permdock-
|
|
4
|
-
import { t as InstanceOptions } from "../instance-options-
|
|
3
|
+
import { a as PermDock } from "../permdock-DUWZEOLR.js";
|
|
4
|
+
import { t as InstanceOptions } from "../instance-options-BOCRxEFb.js";
|
|
5
5
|
import { t as RequestContext } from "../request-context-C2_1lchh.js";
|
|
6
|
-
import { i as OpenApiHooks } from "../server-types-
|
|
7
|
-
import { n as ServerAdapterServices } from "../bind-
|
|
8
|
-
import { Middleware } from "@supabase/middleware";
|
|
6
|
+
import { i as OpenApiHooks } from "../server-types-Bw-lWqzR.js";
|
|
7
|
+
import { n as ServerAdapterServices } from "../bind-DjFNX0Pq.js";
|
|
8
|
+
import { FetchHandler, Middleware } from "@supabase/middleware";
|
|
9
9
|
//#region src/supabase/middleware.d.ts
|
|
10
10
|
/**
|
|
11
11
|
* The verified Supabase Auth access-token payload as `@supabase/server`
|
|
@@ -92,4 +92,5 @@ export type SupabaseMiddlewarePermDock<V extends PolicyVocabulary = PolicyVocabu
|
|
|
92
92
|
readonly openapi: OpenApiHooks;
|
|
93
93
|
};
|
|
94
94
|
export declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: SupabaseMiddlewarePermDockOptions<TUser>): SupabaseMiddlewarePermDock<V>;
|
|
95
|
-
//#endregion
|
|
95
|
+
//#endregion
|
|
96
|
+
export type { FetchHandler };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { l as withApp } from "../permdock-
|
|
3
|
-
import { t as composeWraps } from "../wrap-
|
|
4
|
-
import { r as credentialSubject } from "../credential-
|
|
2
|
+
import { l as withApp } from "../permdock-DdzMv5-F.js";
|
|
3
|
+
import { t as composeWraps } from "../wrap-C5PWzgkq.js";
|
|
4
|
+
import { r as credentialSubject } from "../credential-B3Hj4puZ.js";
|
|
5
5
|
import { o as methodNotAllowed } from "../problem-BVLHFK33.js";
|
|
6
|
-
import { r as instanceOptions } from "../build-instance-
|
|
7
|
-
import { t as createPermDock$1 } from "../create-
|
|
8
|
-
import { n as attached } from "../bind-
|
|
6
|
+
import { r as instanceOptions } from "../build-instance-lye7oEqf.js";
|
|
7
|
+
import { t as createPermDock$1 } from "../create-jCPwPWXf.js";
|
|
8
|
+
import { n as attached } from "../bind-BJFeLX1V.js";
|
|
9
9
|
import { defineMiddleware } from "@supabase/middleware";
|
|
10
10
|
//#region src/supabase/middleware.ts
|
|
11
11
|
const SECRET_KEY_NAME = /^[A-Za-z0-9_-]+$/u;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as defineLeaf } from "./command-L8EstFNm.js";
|
|
2
|
-
import { c as given, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-
|
|
2
|
+
import { c as given, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-BlmpmXoY.js";
|
|
3
3
|
//#region src/cli/commands/supabase.ts
|
|
4
4
|
const hookGenerate = defineLeaf({
|
|
5
5
|
flags: {
|
|
@@ -47,7 +47,7 @@ const hookGenerate = defineLeaf({
|
|
|
47
47
|
const budget = given(flags.budget);
|
|
48
48
|
const schema = given(flags.schema);
|
|
49
49
|
const grantsOut = given(flags["grants-out"]);
|
|
50
|
-
const { runSupabase } = await import("./supabase-hook-
|
|
50
|
+
const { runSupabase } = await import("./supabase-hook-CPBX4dy5.js");
|
|
51
51
|
return runSupabase({
|
|
52
52
|
cwd: ctx.cwd,
|
|
53
53
|
config: ctx.config,
|
|
@@ -76,7 +76,7 @@ const inspect = defineLeaf({
|
|
|
76
76
|
},
|
|
77
77
|
async run(ctx, { flags }) {
|
|
78
78
|
const out = flags.out === "" ? true : flags.out === "-" ? void 0 : flags.out;
|
|
79
|
-
const { runSupabase } = await import("./supabase-hook-
|
|
79
|
+
const { runSupabase } = await import("./supabase-hook-CPBX4dy5.js");
|
|
80
80
|
return runSupabase({
|
|
81
81
|
cwd: ctx.cwd,
|
|
82
82
|
config: ctx.config,
|
|
@@ -2,13 +2,13 @@ import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
|
|
|
2
2
|
import { d as isoNow, i as dateAt, p as nowSeconds, u as isoAt } from "./time-nR1JesoH.js";
|
|
3
3
|
import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
|
|
4
4
|
import { s as ApprovalError } from "./types-CcUXciSj.js";
|
|
5
|
-
import { c as decodeApprovalCursor, l as encodeApprovalCursor, s as approvalPageSize, t as applyApprovalVerdict } from "./store-
|
|
6
|
-
import { a as parseCapability } from "./capability-
|
|
5
|
+
import { c as decodeApprovalCursor, l as encodeApprovalCursor, s as approvalPageSize, t as applyApprovalVerdict } from "./store-XgBMbfDy.js";
|
|
6
|
+
import { a as parseCapability } from "./capability-zN6T9fxe.js";
|
|
7
7
|
import { t as loadJose } from "./load-jose-DZ4dnjri.js";
|
|
8
|
-
import "./budget-
|
|
8
|
+
import "./budget-BBCPDOGP.js";
|
|
9
9
|
import { a as quoteQualifiedTable, c as quoteSqlTable, d as sqlTextArray, i as qualifySqlTable, o as quoteSqlIdent, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
|
|
10
10
|
import { d as keptKeys, l as roleColumn } from "./sources-C4vkzZJV.js";
|
|
11
|
-
import { t as callRpc } from "./postgrest-
|
|
11
|
+
import { t as callRpc } from "./postgrest-BrjrckDG.js";
|
|
12
12
|
//#region src/supabase/capability.ts
|
|
13
13
|
const DEFAULT_TTL = 300;
|
|
14
14
|
const MAX_TTL = 3600;
|
|
@@ -96,8 +96,6 @@ function checkMembership(item, path, issues) {
|
|
|
96
96
|
for (const key of [
|
|
97
97
|
"scope",
|
|
98
98
|
"id",
|
|
99
|
-
"tenant",
|
|
100
|
-
"team",
|
|
101
99
|
"via",
|
|
102
100
|
"granted_by",
|
|
103
101
|
"reason"
|
|
@@ -110,7 +108,7 @@ function checkMembership(item, path, issues) {
|
|
|
110
108
|
optional(item, "entitlements", path, issues, isStrings, "an array of strings");
|
|
111
109
|
optional(item, "keep", path, issues, isStrings, "an array of strings");
|
|
112
110
|
optional(item, "grants", path, issues, isRecord, "an object");
|
|
113
|
-
if (!(own(item, "scope") !== void 0 && own(item, "id") !== void 0 || own(item, "
|
|
111
|
+
if (!(own(item, "scope") !== void 0 && own(item, "id") !== void 0 || own(item, "on") !== void 0)) issue(issues, path, "Expected scope and id, or on");
|
|
114
112
|
}
|
|
115
113
|
function checkPermDockClaims(record, tenantClaim, path, issues) {
|
|
116
114
|
optional(record, "user_role", path, issues, (value) => value === null || typeof value === "string" || isStrings(value), "a string, an array of strings or null");
|
|
@@ -341,6 +339,31 @@ function supabaseApprovalStore(client, options = {}) {
|
|
|
341
339
|
};
|
|
342
340
|
}
|
|
343
341
|
//#endregion
|
|
342
|
+
//#region src/supabase/approval-policies.ts
|
|
343
|
+
function rowsOf$1(result) {
|
|
344
|
+
return Array.isArray(result) ? result : result.rows;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Approval policies from the table `rls.approvals.tenantPolicies` generates:
|
|
348
|
+
* the subject's tenants' enabled rows and every platform floor. A row whose
|
|
349
|
+
* body is not an object throws, and the evaluator checks every entry with
|
|
350
|
+
* `validateApprovalPolicy`, so a bad row denies every call an allow would grant
|
|
351
|
+
* until it is fixed.
|
|
352
|
+
*/
|
|
353
|
+
function tableApprovalPolicySource(options) {
|
|
354
|
+
const fn = quoteQualifiedTable(`${options.schema ?? "permdock"}.permdock_approval_policies_for`);
|
|
355
|
+
return {
|
|
356
|
+
name: "table",
|
|
357
|
+
async approvalPoliciesFor(query) {
|
|
358
|
+
return rowsOf$1(await options.query(`select p.body from ${fn}($1::text[]) p(body)`, [[...query.tenants]])).map((row) => {
|
|
359
|
+
const body = row["body"];
|
|
360
|
+
if (!isRecord(body)) throw new TypeError("PermDock: an approval_policies row has a body that is not an object");
|
|
361
|
+
return body;
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
//#endregion
|
|
344
367
|
//#region src/supabase/approval-delegations.ts
|
|
345
368
|
function rowsOf(result) {
|
|
346
369
|
return Array.isArray(result) ? result : result.rows;
|
|
@@ -697,4 +720,4 @@ grant execute on function ${signature} to authenticated;
|
|
|
697
720
|
`;
|
|
698
721
|
}
|
|
699
722
|
//#endregion
|
|
700
|
-
export {
|
|
723
|
+
export { supabaseApprovalStore as a, tableApprovalPolicySource as i, supabaseRls as n, supabaseClaims as o, tableApprovalDelegationSource as r, exchangeCapability as s, authorizeSql as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { i as runSupabase } from "./supabase-hook-Cj85nccs.js";
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { r as isRecord } from "./compact-CAf557ZB.js";
|
|
2
2
|
import { o as hasConditionOp } from "./refs-C8BKxc_e.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as APPROVAL_REQUEST_SCHEMA } from "./request-schema-
|
|
5
|
-
import { a as describeError, i as configError } from "./errors-
|
|
3
|
+
import { c as rootScope, d as scopeList, l as scopeChain, s as resolveScope } from "./scopes-BSdYaGHs.js";
|
|
4
|
+
import { t as APPROVAL_REQUEST_SCHEMA } from "./request-schema-CMP8Cmxd.js";
|
|
5
|
+
import { a as describeError, i as configError } from "./errors-BhRkoNS7.js";
|
|
6
6
|
import { i as readJsonFile, o as sqlFiles, s as writeFileEnsuringDir } from "./files-BSjrtIHw.js";
|
|
7
7
|
import { a as SUPABASE_MANIFEST_SCHEMA } from "./version-DMQ0dnN5.js";
|
|
8
|
-
import { c as requirePolicy } from "./load-
|
|
9
|
-
import "./budget-
|
|
8
|
+
import { c as requirePolicy } from "./load-BaEamml-.js";
|
|
9
|
+
import "./budget-BBCPDOGP.js";
|
|
10
10
|
import { i as qualifySqlTable } from "./sql-0WjxIp9g.js";
|
|
11
|
-
import { i as scopeColumn } from "./compile-
|
|
12
|
-
import { t as
|
|
11
|
+
import { i as scopeColumn } from "./compile-B_oJqmIg.js";
|
|
12
|
+
import { t as AUTHZ_EVENT } from "./authz-topic-Dbc-HDOS.js";
|
|
13
|
+
import { t as authorizeSql } from "./supabase-C8cNzp4i.js";
|
|
13
14
|
import { a as hookApiNames, d as keptKeys, t as AUTHZ_VERSION_TABLE, u as roleManifest } from "./sources-C4vkzZJV.js";
|
|
14
|
-
import { o as readMemberships } from "./postgrest-
|
|
15
|
+
import { o as readMemberships } from "./postgrest-BrjrckDG.js";
|
|
15
16
|
import { t as beforeFirst } from "./text-BMFRfBqc.js";
|
|
16
17
|
import { n as GRANTS_MARKER, r as HOOK_MARKER, s as hookMarkerFields } from "./markers-BeHZ4x9Q.js";
|
|
17
18
|
import { n as formatManifestJson, t as MANIFEST_FILE } from "./manifest-json-CAGzls-C.js";
|
|
18
19
|
import { n as MIGRATION_DIRS } from "./constants-DcJABbLW.js";
|
|
19
|
-
import { f as writeOutputFiles, l as partPath, r as driftOf, u as pgDeltaPath } from "./output-files-
|
|
20
|
-
import { A as quoteQualified, D as qualified, F as firstScopeType, I as scopeTypeOf, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, l as USER_ID_HELPER, r as HELPERS, y as subjectIdSql } from "./shared-
|
|
21
|
-
import { E as TOKEN_SCOPE_ALLOWS, J as apiKeyFields, K as API_KEY_ALLOWS, R as globalRoleSource, _ as PERMISSION_HELPERS, at as memberForHelper, b as permissionKeysForHelper, bt as checkSuspension, ct as memberIdsHelper, dt as permittedForHelper, et as hasMemberFor, ft as permittedIdsHelper, g as OWNERSHIP, h as ASSIGNMENTS, lt as memberOfHelper, ot as memberForSources, rt as isTeamScope, st as memberForTable, tt as hasPermittedUsers, ut as memberRoleOf, v as checkName, vt as activeRowSql, x as permittedByPermissionHelper } from "./tables-
|
|
22
|
-
import { a as guardedTables, t as ownershipRules, u as roleNames } from "./ownership-
|
|
20
|
+
import { f as writeOutputFiles, l as partPath, r as driftOf, u as pgDeltaPath } from "./output-files-CM0BnH05.js";
|
|
21
|
+
import { A as quoteQualified, D as qualified, F as firstScopeType, I as scopeTypeOf, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, l as USER_ID_HELPER, r as HELPERS, y as subjectIdSql } from "./shared-DyYVEjKC.js";
|
|
22
|
+
import { E as TOKEN_SCOPE_ALLOWS, J as apiKeyFields, K as API_KEY_ALLOWS, R as globalRoleSource, _ as PERMISSION_HELPERS, at as memberForHelper, b as permissionKeysForHelper, bt as checkSuspension, ct as memberIdsHelper, dt as permittedForHelper, et as hasMemberFor, ft as permittedIdsHelper, g as OWNERSHIP, h as ASSIGNMENTS, lt as memberOfHelper, ot as memberForSources, rt as isTeamScope, st as memberForTable, tt as hasPermittedUsers, ut as memberRoleOf, v as checkName, vt as activeRowSql, x as permittedByPermissionHelper } from "./tables-BsGE6HBR.js";
|
|
23
|
+
import { a as guardedTables, t as ownershipRules, u as roleNames } from "./ownership-moSRhxl_.js";
|
|
23
24
|
import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
|
|
24
25
|
import { a as splitUndiffed, r as tableKey, t as decidingColumns } from "./deciding-columns-NB4wcyBf.js";
|
|
25
|
-
import { n as pgConnector } from "./pg-
|
|
26
|
-
import { c as ACTOR_MAY_WRITE, f as readOnlyActorKinds } from "./fields-
|
|
27
|
-
import { r as permittedUsersHelper, t as resolveNames } from "./resolve-names-
|
|
26
|
+
import { n as pgConnector } from "./pg-Ddxsd5ZB.js";
|
|
27
|
+
import { c as ACTOR_MAY_WRITE, f as readOnlyActorKinds } from "./fields-CrjL6A49.js";
|
|
28
|
+
import { r as permittedUsersHelper, t as resolveNames } from "./resolve-names-1nCei24V.js";
|
|
28
29
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
29
30
|
import { dirname, join, posix, resolve } from "node:path";
|
|
30
31
|
//#region ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/error.js
|
|
@@ -1885,6 +1886,94 @@ function customRolesOfSql(parts) {
|
|
|
1885
1886
|
);`;
|
|
1886
1887
|
}
|
|
1887
1888
|
//#endregion
|
|
1889
|
+
//#region src/cli/rls/approval-policies.ts
|
|
1890
|
+
/**
|
|
1891
|
+
* The objects `rls.approvals.tenantPolicies` adds; `tableApprovalPolicySource`
|
|
1892
|
+
* calls the function.
|
|
1893
|
+
*/
|
|
1894
|
+
const APPROVAL_POLICIES = {
|
|
1895
|
+
table: "approval_policies",
|
|
1896
|
+
read: "permdock_approval_policies_for"
|
|
1897
|
+
};
|
|
1898
|
+
const KEY = /^[A-Za-z][\w-]*(?:\.[A-Za-z][\w-]*)+$/u;
|
|
1899
|
+
/**
|
|
1900
|
+
* `rls.approvals.tenantPolicies`: one table of `ApprovalPolicy` bodies, a
|
|
1901
|
+
* tenant row per requirement a tenant adds and platform floors with `tenant`
|
|
1902
|
+
* null. Members read their tenants' rows and the floors; a holder of `manage`
|
|
1903
|
+
* in a tenant writes that tenant's rows; nobody but the owner writes a floor.
|
|
1904
|
+
* `permdock_approval_policies_for(p_tenants)` answers the enabled bodies with
|
|
1905
|
+
* the row's tenant set, floors first, and only the owner may execute it, since
|
|
1906
|
+
* it reads every tenant.
|
|
1907
|
+
*/
|
|
1908
|
+
function approvalPoliciesSql(ctx, options, actorMayWrite = false) {
|
|
1909
|
+
if (options === null || typeof options !== "object" || !("manage" in options) || typeof options.manage !== "string" || !KEY.test(options.manage)) throw configError("PermDock CLI: rls.approvals.tenantPolicies needs { manage: '<permission key>' }, the permission whose holders in a tenant edit its approval policies");
|
|
1910
|
+
const root = ctx.scopes[0]?.name;
|
|
1911
|
+
if (root === void 0) throw configError("PermDock CLI: rls.approvals.tenantPolicies needs a tenant scope; declare one in the policy's scopes");
|
|
1912
|
+
const table = qualified(ctx, APPROVAL_POLICIES.table);
|
|
1913
|
+
const fn = qualified(ctx, APPROVAL_POLICIES.read);
|
|
1914
|
+
const member = `tenant in (select m.id::text from ${qualified(ctx, memberIdsHelper(root))}() m(id))`;
|
|
1915
|
+
const manages = `exists (
|
|
1916
|
+
select 1
|
|
1917
|
+
from ${qualified(ctx, checkName(permittedByPermissionHelper(root)))}(${quoteLiteral(options.manage)}) i(id)
|
|
1918
|
+
where i.id::text = tenant
|
|
1919
|
+
)`;
|
|
1920
|
+
const writable = actorMayWrite ? ` and (select ${qualified(ctx, ACTOR_MAY_WRITE)}())` : "";
|
|
1921
|
+
const own = `tenant is not null and ${subjectIdSql(ctx)} is not null and ${manages}${writable}`;
|
|
1922
|
+
const policy = (name) => quoteIdent(`${APPROVAL_POLICIES.table}_${name}`);
|
|
1923
|
+
return `
|
|
1924
|
+
-- approval policies: requirements a tenant keeps as data, plus platform floors (tenant null); tableApprovalPolicySource reads them
|
|
1925
|
+
create table if not exists ${table} (
|
|
1926
|
+
id text primary key default gen_random_uuid()::text,
|
|
1927
|
+
tenant text,
|
|
1928
|
+
name text not null,
|
|
1929
|
+
body jsonb not null,
|
|
1930
|
+
enabled boolean not null default true,
|
|
1931
|
+
created_at timestamptz not null default now(),
|
|
1932
|
+
updated_at timestamptz not null default now(),
|
|
1933
|
+
constraint ${quoteIdent(`${APPROVAL_POLICIES.table}_body`)} check (jsonb_typeof(body) = 'object' and body ? 'approval')
|
|
1934
|
+
);
|
|
1935
|
+
create index if not exists ${quoteIdent(`${APPROVAL_POLICIES.table}_tenant`)} on ${table} (tenant);
|
|
1936
|
+
alter table ${table} enable row level security;
|
|
1937
|
+
revoke all on table ${table} from anon, public;
|
|
1938
|
+
grant select, insert, update, delete on table ${table} to authenticated;
|
|
1939
|
+
drop policy if exists ${policy("read")} on ${table};
|
|
1940
|
+
create policy ${policy("read")} on ${table}
|
|
1941
|
+
for select to authenticated
|
|
1942
|
+
using (tenant is null or ${member});
|
|
1943
|
+
drop policy if exists ${policy("insert")} on ${table};
|
|
1944
|
+
create policy ${policy("insert")} on ${table}
|
|
1945
|
+
for insert to authenticated
|
|
1946
|
+
with check (${own});
|
|
1947
|
+
drop policy if exists ${policy("update")} on ${table};
|
|
1948
|
+
create policy ${policy("update")} on ${table}
|
|
1949
|
+
for update to authenticated
|
|
1950
|
+
using (${own})
|
|
1951
|
+
with check (${own});
|
|
1952
|
+
drop policy if exists ${policy("delete")} on ${table};
|
|
1953
|
+
create policy ${policy("delete")} on ${table}
|
|
1954
|
+
for delete to authenticated
|
|
1955
|
+
using (${own});
|
|
1956
|
+
|
|
1957
|
+
-- approval policies: the enabled bodies for p_tenants and every floor, with the row's tenant; only the owner executes it
|
|
1958
|
+
create or replace function ${fn}(p_tenants text[])
|
|
1959
|
+
returns setof jsonb
|
|
1960
|
+
language sql
|
|
1961
|
+
stable
|
|
1962
|
+
set search_path = ''
|
|
1963
|
+
as $$
|
|
1964
|
+
select case
|
|
1965
|
+
when p.tenant is null then p.body - 'tenant'
|
|
1966
|
+
else p.body || jsonb_build_object('tenant', p.tenant)
|
|
1967
|
+
end
|
|
1968
|
+
from ${table} p
|
|
1969
|
+
where p.enabled
|
|
1970
|
+
and (p.tenant is null or p.tenant = any(coalesce(p_tenants, '{}')))
|
|
1971
|
+
order by p.tenant nulls first, p.created_at, p.id;
|
|
1972
|
+
$$;
|
|
1973
|
+
revoke execute on function ${fn}(text[]) from public, anon, authenticated;
|
|
1974
|
+
`;
|
|
1975
|
+
}
|
|
1976
|
+
//#endregion
|
|
1888
1977
|
//#region src/cli/rls/approvals.ts
|
|
1889
1978
|
/**
|
|
1890
1979
|
* `rls.approvals`' approver check; better-supabase's `isApprover` template
|
|
@@ -2188,14 +2277,14 @@ grant execute on function ${fn}(jsonb, text) to authenticated;
|
|
|
2188
2277
|
}
|
|
2189
2278
|
/**
|
|
2190
2279
|
* Everything `rls.approvals` writes: the generated or adopted store, the
|
|
2191
|
-
* approver check
|
|
2192
|
-
* `
|
|
2193
|
-
* `permdock_actor_may_write()`.
|
|
2280
|
+
* approver check, with `delegations: true` the covers, and with
|
|
2281
|
+
* `tenantPolicies` the tenant approval policies. With `actorMayWrite`, the
|
|
2282
|
+
* covers' write policies call `permdock_actor_may_write()`.
|
|
2194
2283
|
*/
|
|
2195
2284
|
function approvalsSql(ctx, approvals, jsonSchema, actorMayWrite = false) {
|
|
2196
2285
|
if (approvals === void 0 || approvals === false) return;
|
|
2197
2286
|
if (approvals === true) return approvalStoreSql(ctx, jsonSchema) + isApproverSql(ctx);
|
|
2198
|
-
const { table, delegations } = approvals;
|
|
2287
|
+
const { table, delegations, tenantPolicies } = approvals;
|
|
2199
2288
|
if (delegations !== void 0 && typeof delegations !== "boolean") throw new TypeError("PermDock CLI: rls.approvals.delegations must be a boolean");
|
|
2200
2289
|
let store;
|
|
2201
2290
|
if (table === void 0) {
|
|
@@ -2212,7 +2301,7 @@ function approvalsSql(ctx, approvals, jsonSchema, actorMayWrite = false) {
|
|
|
2212
2301
|
...approvals,
|
|
2213
2302
|
table
|
|
2214
2303
|
}, jsonSchema);
|
|
2215
|
-
return store + isApproverSql(ctx) + (delegations === true ? approvalDelegationsSql(ctx, actorMayWrite) : "");
|
|
2304
|
+
return store + isApproverSql(ctx) + (delegations === true ? approvalDelegationsSql(ctx, actorMayWrite) : "") + (tenantPolicies === void 0 ? "" : approvalPoliciesSql(ctx, tenantPolicies, actorMayWrite));
|
|
2216
2305
|
}
|
|
2217
2306
|
/**
|
|
2218
2307
|
* The objects `rls.approvals.delegations` adds; `tableApprovalDelegationSource`
|
|
@@ -2847,6 +2936,10 @@ function hookParts(scopes, config, overrides) {
|
|
|
2847
2936
|
sources: hook.memberships,
|
|
2848
2937
|
budget: positiveInteger(overrides.budget ?? hook.budget ?? 1024, "budget"),
|
|
2849
2938
|
version: hook.version !== false,
|
|
2939
|
+
broadcast: hook.version === false || hook.broadcast === false ? void 0 : {
|
|
2940
|
+
topic: hook.broadcast?.topic ?? "permdock:authz",
|
|
2941
|
+
receivePolicy: hook.broadcast?.receivePolicy ?? true
|
|
2942
|
+
},
|
|
2850
2943
|
jwtExpiry: positiveInteger(hook.jwtExpiry ?? 900, "jwtExpiry"),
|
|
2851
2944
|
tenantClaim,
|
|
2852
2945
|
users: suspension?.users,
|
|
@@ -2964,7 +3057,60 @@ revoke execute on function ${bump}() from public, anon, authenticated;
|
|
|
2964
3057
|
${tables.map(([name, user]) => `drop trigger if exists ${quoteIdent(VERSION_TRIGGER)} on ${quoteQualified(name)};
|
|
2965
3058
|
create trigger ${quoteIdent(VERSION_TRIGGER)}
|
|
2966
3059
|
after insert or update or delete on ${quoteQualified(name)}
|
|
2967
|
-
for each row execute function ${bump}(${quoteLiteral(user)});`).join("\n")}${memberUsersVersionSql(parts, bumpFor)}${roleKeysVersionSql(parts, versionTable)}`;
|
|
3060
|
+
for each row execute function ${bump}(${quoteLiteral(user)});`).join("\n")}${broadcastSql(parts, versionTable)}${memberUsersVersionSql(parts, bumpFor)}${roleKeysVersionSql(parts, versionTable)}`;
|
|
3061
|
+
}
|
|
3062
|
+
/**
|
|
3063
|
+
* Every version row written is sent as `{ user_id, version }` on the server
|
|
3064
|
+
* topic and on the user's `authz:<uid>`, in the shape better-supabase's
|
|
3065
|
+
* `subscribeAuthzVersions` and `SessionProvider` read.
|
|
3066
|
+
*/
|
|
3067
|
+
function broadcastSql(parts, versionTable) {
|
|
3068
|
+
const broadcast = parts.broadcast;
|
|
3069
|
+
if (broadcast === void 0) return "";
|
|
3070
|
+
const send = `${quoteIdent(parts.schema)}.permdock_broadcast_authz_version`;
|
|
3071
|
+
const payload = "jsonb_build_object('user_id', new.user_id, 'version', new.version)";
|
|
3072
|
+
const event = quoteLiteral(AUTHZ_EVENT);
|
|
3073
|
+
const receive = broadcast.receivePolicy ? `
|
|
3074
|
+
|
|
3075
|
+
-- each user receives their own authz:<uid> topic, and no user may join the server topic
|
|
3076
|
+
do $$
|
|
3077
|
+
begin
|
|
3078
|
+
if to_regclass('realtime.messages') is not null and not exists (
|
|
3079
|
+
select 1 from pg_policies
|
|
3080
|
+
where schemaname = 'realtime' and tablename = 'messages'
|
|
3081
|
+
and policyname = 'permdock_authz_version_receive'
|
|
3082
|
+
) then
|
|
3083
|
+
create policy permdock_authz_version_receive on realtime.messages
|
|
3084
|
+
for select to authenticated
|
|
3085
|
+
using (
|
|
3086
|
+
realtime.messages.extension = 'broadcast'
|
|
3087
|
+
and (select realtime.topic()) = 'authz:' || (select auth.uid())::text
|
|
3088
|
+
);
|
|
3089
|
+
end if;
|
|
3090
|
+
end;
|
|
3091
|
+
$$;` : "";
|
|
3092
|
+
return `
|
|
3093
|
+
|
|
3094
|
+
-- sends every version bump on the server topic and on the user's authz:<uid>
|
|
3095
|
+
create or replace function ${send}()
|
|
3096
|
+
returns trigger
|
|
3097
|
+
language plpgsql
|
|
3098
|
+
security definer
|
|
3099
|
+
set search_path = ''
|
|
3100
|
+
as $$
|
|
3101
|
+
begin
|
|
3102
|
+
if to_regprocedure('realtime.send(jsonb, text, text, boolean)') is not null then
|
|
3103
|
+
perform realtime.send(${payload}, ${event}, ${quoteLiteral(broadcast.topic)}, true);
|
|
3104
|
+
perform realtime.send(${payload}, ${event}, 'authz:' || new.user_id::text, true);
|
|
3105
|
+
end if;
|
|
3106
|
+
return null;
|
|
3107
|
+
end;
|
|
3108
|
+
$$;
|
|
3109
|
+
revoke execute on function ${send}() from public, anon, authenticated;
|
|
3110
|
+
drop trigger if exists permdock_authz_version_broadcast on ${versionTable};
|
|
3111
|
+
create trigger permdock_authz_version_broadcast
|
|
3112
|
+
after insert or update on ${versionTable}
|
|
3113
|
+
for each row execute function ${send}();${receive}`;
|
|
2968
3114
|
}
|
|
2969
3115
|
function signedUp(user) {
|
|
2970
3116
|
return `exists (select 1 from auth.users a where a.id = ${user})`;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { c as listPermissions, u as renamedKeys } from "./permission-registry-B8tYxPIt.js";
|
|
2
|
-
import {
|
|
2
|
+
import { d as scopeList, s as resolveScope } from "./scopes-BSdYaGHs.js";
|
|
3
3
|
import { o as flattenGrantee } from "./grantee-Dke-9rd1.js";
|
|
4
|
-
import { l as policyLevels } from "./policy-
|
|
5
|
-
import { a as describeError, i as configError } from "./errors-
|
|
6
|
-
import "./budget-
|
|
4
|
+
import { l as policyLevels } from "./policy-DxQyHKPB.js";
|
|
5
|
+
import { a as describeError, i as configError } from "./errors-BhRkoNS7.js";
|
|
6
|
+
import "./budget-BBCPDOGP.js";
|
|
7
7
|
import { d as sqlTextArray, i as qualifySqlTable } from "./sql-0WjxIp9g.js";
|
|
8
8
|
import { l as roleColumn } from "./sources-C4vkzZJV.js";
|
|
9
9
|
import { t as beforeFirst } from "./text-BMFRfBqc.js";
|
|
10
|
-
import { c as parseSplit } from "./output-files-
|
|
11
|
-
import { x as resolveAuthorize } from "./supabase-hook-
|
|
12
|
-
import { A as quoteQualified, C as parseMembershipsFlag, D as qualified, F as firstScopeType, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, s as signedIn, t as CUSTOM_ROLES } from "./shared-
|
|
13
|
-
import { G as byKey, H as rolesTableScope, O as tokenScopesPlan, Q as graphSqlName, V as raiseSql, W as byCodeUnit, Y as apiKeysPlan, a as closureDepths, bt as checkSuspension, i as tablelessResources, o as graphPlan, r as tableNames, t as resolveVias, z as currentKeyExpr } from "./tables-
|
|
14
|
-
import { o as assignableRoles, r as unsatisfiedKinds, t as ownershipRules, u as roleNames } from "./ownership-
|
|
10
|
+
import { c as parseSplit } from "./output-files-CM0BnH05.js";
|
|
11
|
+
import { x as resolveAuthorize } from "./supabase-hook-Cj85nccs.js";
|
|
12
|
+
import { A as quoteQualified, C as parseMembershipsFlag, D as qualified, F as firstScopeType, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, s as signedIn, t as CUSTOM_ROLES } from "./shared-DyYVEjKC.js";
|
|
13
|
+
import { G as byKey, H as rolesTableScope, O as tokenScopesPlan, Q as graphSqlName, V as raiseSql, W as byCodeUnit, Y as apiKeysPlan, a as closureDepths, bt as checkSuspension, i as tablelessResources, o as graphPlan, r as tableNames, t as resolveVias, z as currentKeyExpr } from "./tables-BsGE6HBR.js";
|
|
14
|
+
import { o as assignableRoles, r as unsatisfiedKinds, t as ownershipRules, u as roleNames } from "./ownership-moSRhxl_.js";
|
|
15
15
|
import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
|
|
16
16
|
import { i as group, o as sqlStatements } from "./deciding-columns-NB4wcyBf.js";
|
|
17
|
-
import { d as orSql, h as branchClauses } from "./fields-
|
|
18
|
-
import { t as resolveNames } from "./resolve-names-
|
|
19
|
-
import { m as tableFor } from "./verify-
|
|
17
|
+
import { d as orSql, h as branchClauses } from "./fields-CrjL6A49.js";
|
|
18
|
+
import { t as resolveNames } from "./resolve-names-1nCei24V.js";
|
|
19
|
+
import { m as tableFor } from "./verify-C8G8D5mk.js";
|
|
20
20
|
//#region src/cli/rls/custom-role-rebuild.ts
|
|
21
21
|
const PREFIX = "PermDock CLI";
|
|
22
22
|
/** A column of the roles-table row `r`. */
|
|
@@ -400,10 +400,11 @@ function permissionCase(key, branches) {
|
|
|
400
400
|
const granted = `coalesce((${allow}), false)`;
|
|
401
401
|
return ` when ${quoteLiteral(key)} then ${deny === void 0 ? granted : `${granted} and (${deny}) is not true`}`;
|
|
402
402
|
}
|
|
403
|
-
function forUserSql(ctx, fn, helper) {
|
|
403
|
+
function forUserSql(ctx, fn, helper, ids) {
|
|
404
404
|
const user = ctx.dialect === "supabase" ? "uuid" : "text";
|
|
405
|
-
const signature = `${user}, text, jsonb`;
|
|
406
|
-
const
|
|
405
|
+
const signature = `${user}, text, ${ids ? "text[], " : ""}jsonb`;
|
|
406
|
+
const call = `${helper}(p_permission${ids ? ", p_ids" : ""})`;
|
|
407
|
+
const head = `create or replace function ${fn}(p_user ${user}, p_permission text, ${ids ? "p_ids text[], " : ""}p_claims jsonb default '{}')
|
|
407
408
|
returns setof text
|
|
408
409
|
language plpgsql
|
|
409
410
|
volatile
|
|
@@ -420,7 +421,7 @@ begin
|
|
|
420
421
|
(coalesce(p_claims, '{}'::jsonb) || pg_catalog.jsonb_build_object('sub', p_user::text, 'role', 'authenticated'))::text,
|
|
421
422
|
true
|
|
422
423
|
);
|
|
423
|
-
return query select r.id from ${
|
|
424
|
+
return query select r.id from ${call} r(id);
|
|
424
425
|
perform pg_catalog.set_config('request.jwt.claims', coalesce(v_claims, ''), true);
|
|
425
426
|
end
|
|
426
427
|
$$;
|
|
@@ -440,7 +441,7 @@ begin
|
|
|
440
441
|
v_saved := v_saved || pg_catalog.jsonb_build_object(v_key, coalesce(pg_catalog.current_setting(${quoteLiteral(`${prefix}.`)} || v_key, true), ''));
|
|
441
442
|
perform pg_catalog.set_config(${quoteLiteral(`${prefix}.`)} || v_key, v_value, true);
|
|
442
443
|
end loop;
|
|
443
|
-
return query select r.id from ${
|
|
444
|
+
return query select r.id from ${call} r(id);
|
|
444
445
|
for v_key, v_value in select s.key, s.value from pg_catalog.jsonb_each_text(v_saved) s loop
|
|
445
446
|
perform pg_catalog.set_config(${quoteLiteral(`${prefix}.`)} || v_key, v_value, true);
|
|
446
447
|
end loop;
|
|
@@ -551,7 +552,8 @@ ${rowSql(ctx, name, table, near)}`;
|
|
|
551
552
|
if (ctx.dialect === "neon") return rows;
|
|
552
553
|
return `${rows}
|
|
553
554
|
-- the same rows for a user the caller names, with claims it supplies; no client role may execute it
|
|
554
|
-
${forUserSql(ctx, qualified(ctx, `${name}_for`), fn)}
|
|
555
|
+
${forUserSql(ctx, qualified(ctx, `${name}_for`), fn, false)}
|
|
556
|
+
${forUserSql(ctx, qualified(ctx, `${name}_for`), fn, true)}`;
|
|
555
557
|
}
|
|
556
558
|
/**
|
|
557
559
|
* `permitted_<resource>_rows(p_permission)` for each resource `select` names
|
package/dist/svelte/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { c as requiredPlans } from "../errors-
|
|
2
|
-
import { i as describe } from "../describe-
|
|
1
|
+
import { c as requiredPlans } from "../errors-Dc9FdamT.js";
|
|
2
|
+
import { i as describe } from "../describe-nalX_HHE.js";
|
|
3
3
|
import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
|
|
4
|
-
import {
|
|
4
|
+
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, 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-g5ctUrOI.js";
|
|
5
|
+
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
6
|
import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
|
|
6
|
-
import {
|
|
7
|
-
import { i as
|
|
8
|
-
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-DZJvxFIZ.js";
|
|
7
|
+
import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-DVZNTkU0.js";
|
|
8
|
+
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-BtdN3eDO.js";
|
|
9
9
|
import { Component } from "svelte";
|
|
10
10
|
//#region src/svelte/index.d.ts
|
|
11
11
|
export declare const Protected: Component<ProtectedProps>;
|
|
12
12
|
export declare const PermissionBoundary: Component<PermissionBoundaryProps>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { type ActionResult, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionReadable, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
|
|
14
|
+
export { type ActionResult, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionReadable, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
|
package/dist/svelte/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
|
|
2
|
-
import { n as describe } from "../describe-
|
|
2
|
+
import { n as describe } from "../describe-CogP1loh.js";
|
|
3
3
|
import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BV3O1eud.js";
|
|
4
|
-
import { r as approvalHeaders } from "../protected-action-
|
|
5
|
-
import { u as slotContent } from "../views-
|
|
6
|
-
import {
|
|
7
|
-
import { n as getUi, t as getStore } from "../context-
|
|
8
|
-
import { n as viewFor, t as scopedFor } from "../runtime-
|
|
9
|
-
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-
|
|
4
|
+
import { r as approvalHeaders } from "../protected-action-B6n6w7Rl.js";
|
|
5
|
+
import { u as slotContent } from "../views-TrZYlDnM.js";
|
|
6
|
+
import { a as eventSourceRefresh, i as broadcastChannelRefresh, o as focusRefresh, r as authzChangeRefresh, s as visibilityRefresh } from "../store-options--zWn48PK.js";
|
|
7
|
+
import { n as getUi, t as getStore } from "../context-DeammvFl.js";
|
|
8
|
+
import { n as viewFor, t as scopedFor } from "../runtime-CBXkOcg9.js";
|
|
9
|
+
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-53_kOwPi.js";
|
|
10
10
|
import "svelte/internal/disclose-version";
|
|
11
11
|
import * as $ from "svelte/internal/client";
|
|
12
12
|
import { onDestroy } from "svelte";
|
|
@@ -119,4 +119,4 @@ function Protected$1($$anchor, $$props) {
|
|
|
119
119
|
const Protected = Protected$1;
|
|
120
120
|
const PermissionBoundary = PermissionBoundary$1;
|
|
121
121
|
//#endregion
|
|
122
|
-
export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
|
|
122
|
+
export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
|
package/dist/svelte/runtime.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as DescribeMessages } from "../describe-
|
|
1
|
+
import { n as DescribeMessages } from "../describe-nalX_HHE.js";
|
|
2
2
|
import { n as boundaryDigest, r as boundaryFallback, t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
|
|
3
|
-
import {
|
|
4
|
-
import { a as scopedFor, c as slotContent, i as ProtectedProps, o as viewFor, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-
|
|
3
|
+
import { t as ClientStore } from "../store-g5ctUrOI.js";
|
|
4
|
+
import { a as scopedFor, c as slotContent, i as ProtectedProps, o as viewFor, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-DVZNTkU0.js";
|
|
5
5
|
//#region src/svelte/context.d.ts
|
|
6
6
|
/** The provider's `defaults` and `messages`. */
|
|
7
7
|
type PermDockUi = {
|
package/dist/svelte/runtime.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BV3O1eud.js";
|
|
2
|
-
import { u as slotContent } from "../views-
|
|
3
|
-
import { n as getUi, t as getStore } from "../context-
|
|
4
|
-
import { n as viewFor, t as scopedFor } from "../runtime-
|
|
2
|
+
import { u as slotContent } from "../views-TrZYlDnM.js";
|
|
3
|
+
import { n as getUi, t as getStore } from "../context-DeammvFl.js";
|
|
4
|
+
import { n as viewFor, t as scopedFor } from "../runtime-CBXkOcg9.js";
|
|
5
5
|
export { boundaryDigest, boundaryFallback, getStore, getUi, scopedFor, slotContent, viewFor };
|
package/dist/svelte/source.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { c as requiredPlans } from "../errors-
|
|
2
|
-
import { i as describe } from "../describe-
|
|
1
|
+
import { c as requiredPlans } from "../errors-Dc9FdamT.js";
|
|
2
|
+
import { i as describe } from "../describe-nalX_HHE.js";
|
|
3
3
|
import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
|
|
4
|
-
import {
|
|
4
|
+
import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, 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-g5ctUrOI.js";
|
|
5
|
+
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
6
|
import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
|
|
6
|
-
import {
|
|
7
|
-
import { i as
|
|
8
|
-
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-DZJvxFIZ.js";
|
|
7
|
+
import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-DVZNTkU0.js";
|
|
8
|
+
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-BtdN3eDO.js";
|
|
9
9
|
import { Component } from "svelte";
|
|
10
10
|
//#region src/svelte/source.d.ts
|
|
11
11
|
export declare const Protected: Component<ProtectedProps>;
|
|
12
12
|
export declare const PermissionBoundary: Component<PermissionBoundaryProps>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { type ActionResult, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionReadable, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
|
|
14
|
+
export { type ActionResult, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionReadable, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
|
package/dist/svelte/source.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
|
|
2
|
-
import { n as describe } from "../describe-
|
|
3
|
-
import { r as approvalHeaders } from "../protected-action-
|
|
4
|
-
import {
|
|
5
|
-
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-
|
|
2
|
+
import { n as describe } from "../describe-CogP1loh.js";
|
|
3
|
+
import { r as approvalHeaders } from "../protected-action-B6n6w7Rl.js";
|
|
4
|
+
import { a as eventSourceRefresh, i as broadcastChannelRefresh, o as focusRefresh, r as authzChangeRefresh, s as visibilityRefresh } from "../store-options--zWn48PK.js";
|
|
5
|
+
import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-53_kOwPi.js";
|
|
6
6
|
import PermissionBoundaryComponent from "./PermissionBoundary.svelte";
|
|
7
7
|
import ProtectedComponent from "./Protected.svelte";
|
|
8
8
|
//#region src/svelte/source.ts
|
|
9
9
|
const Protected = ProtectedComponent;
|
|
10
10
|
const PermissionBoundary = PermissionBoundaryComponent;
|
|
11
11
|
//#endregion
|
|
12
|
-
export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
|
|
12
|
+
export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
|