permdock 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/{2020-C9VN-x8c.js → 2020-CJbO8Bvz.js} +1 -3
- package/dist/a2a/index.d.ts +5 -5
- package/dist/a2a/index.js +4 -4
- package/dist/{adoption-scan-B4R5fnMU.js → adoption-scan-D-feE7BE.js} +1 -1
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +21 -6
- package/dist/ai-sdk/index.js +19 -9
- package/dist/{approval-prompt-Djo_PyZc.d.ts → approval-prompt-K0faOLFp.d.ts} +2 -2
- package/dist/approvals/index.d.ts +4 -4
- package/dist/approvals/index.js +4 -4
- package/dist/{approvals-DJ6Yd5z1.js → approvals-CMRfsbBh.js} +74 -48
- package/dist/{arazzo-B6lebmiQ.js → arazzo-ClrF3PVb.js} +2 -2
- package/dist/{arazzo-BWhNF-k0.js → arazzo-rdeJ8n1J.js} +4 -4
- package/dist/{args-IIolxxKA.js → args-CC3OwyHW.js} +112 -2
- package/dist/astro/index.d.ts +6 -6
- package/dist/astro/index.js +2 -2
- package/dist/{audience-Dg8XsRaO.js → audience-BrMs8c4o.js} +1 -1
- package/dist/{auth-DRLEizbL.js → auth-CscUX8Sy.js} +3 -4
- package/dist/authzen/index.d.ts +162 -22
- package/dist/authzen/index.js +315 -146
- package/dist/{automation-BMZPIVUM.d.ts → automation-DOtAFWdy.d.ts} +3 -3
- package/dist/{automation-DVjOckjV.js → automation-ySsxp_Yp.js} +1 -1
- package/dist/base-url-BQbddZO5.js +9 -0
- package/dist/better-auth/index.d.ts +2 -2
- package/dist/better-auth/index.js +2 -2
- package/dist/better-supabase/index.d.ts +50 -8
- package/dist/better-supabase/index.js +94 -32
- package/dist/{bind-CZzhx-Vj.js → bind-D1nO6fiC.js} +5 -5
- package/dist/{bind--9EFVYWF.d.ts → bind-JDuvxjuW.d.ts} +7 -7
- package/dist/{build-instance-BMnAudHn.js → build-instance-DxE7czo9.js} +1 -1
- package/dist/{canonical-json-BC8_nMTw.js → canonical-json-DwilZ1iB.js} +6 -3
- package/dist/{capability-BSslw1QV.d.ts → capability-D4UC9TTW.d.ts} +2 -2
- package/dist/{capability-N1K9IpqS.js → capability-L7NnfhiE.js} +1 -1
- package/dist/{casbin-Cr7RLtA3.js → casbin-BHijLuHY.js} +2 -2
- package/dist/{casbin-Dyu2gnUD.js → casbin-BW9pS47J.js} +1 -1
- package/dist/{casl-64gpT-8x.js → casl-CmJlgziS.js} +2 -2
- package/dist/{casl-DjEDhTCP.js → casl-UbI8v-Wq.js} +1 -1
- package/dist/catalog/index.d.ts +70 -10
- package/dist/catalog/index.js +112 -6
- package/dist/catalog-BCCjSAdH.js +1 -0
- package/dist/{catalog-R_A__RsH.js → catalog-BaMQfQ6Y.js} +3 -3
- package/dist/{catalog-BECMPrwc.js → catalog-D69WhFii.js} +43 -13
- package/dist/{catalog-doc-C9wjsfNY.js → catalog-doc-CV9s6B1S.js} +28 -5
- package/dist/{catalog-fingerprint-CCP0-yQS.js → catalog-fingerprint-C144oW4M.js} +1 -1
- package/dist/{create-BWRSXgOF.js → challenge-nGWma08S.js} +122 -25
- 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-BC_0mPIq.js +37 -0
- package/dist/claude-agent/index.d.ts +3 -3
- package/dist/claude-agent/index.js +2 -2
- package/dist/clerk/index.d.ts +3 -3
- package/dist/clerk/index.js +1 -1
- package/dist/cli/bin.js +2 -2
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +3 -3
- package/dist/cloud/index.d.ts +127 -11
- package/dist/cloud/index.js +251 -3
- package/dist/{cloud-CIoHNevm.js → cloud-CO8pYtwr.js} +5 -5
- package/dist/{codemod-Cxvvc70T.js → codemod-BP6n8N9L.js} +3 -3
- package/dist/{codemod-Bmj9dWMH.js → codemod-i4N2BhDc.js} +3 -3
- package/dist/{collect-CrZJJnEF.js → collect-BaWeMjwV.js} +17 -8
- package/dist/{collect-DloHbDVa.js → collect-DNm3oKOk.js} +6 -5
- package/dist/collect-k_Dulxr5.js +1 -0
- package/dist/compile/index.d.ts +1 -1
- package/dist/compile/index.js +1 -1
- package/dist/{compile-CMqMx_IN.js → compile-BAEO5bOk.js} +2 -2
- package/dist/{compile-Ckm2HqBZ.d.ts → compile-COM2VKuN.d.ts} +3 -3
- package/dist/{completion-BqhRBJD8.js → completion-BNdVf7X2.js} +3 -3
- package/dist/{config-bs_kZeYq.js → config-CoQHDrDi.js} +7 -3
- package/dist/{config-B46rm9sc.js → config-DGZzMV1B.js} +2 -2
- package/dist/{config-report-DUgj62Ai.js → config-report-Cm7UITNA.js} +3 -3
- package/dist/connector-schema-_VCSsdtD.js +433 -0
- package/dist/{context-bbFHR-0D.js → context--uM9V3Ui.js} +2 -2
- package/dist/convex/index.d.ts +5 -5
- package/dist/convex/index.js +2 -2
- package/dist/core-B5-w6Kw9.js +335 -0
- package/dist/core-CQkE8Esr.d.ts +179 -0
- package/dist/{create-0VZ7Pdiu.d.ts → create-B2-CQqCI.d.ts} +5 -5
- package/dist/{create-C3b4B5eF.js → create-Cb86Z8Im.js} +9 -8
- package/dist/{create-DnrmLnLW.js → create-DJrlhEp9.js} +5 -5
- package/dist/{create-BFfm17UA.d.ts → create-QHuuPw3q.d.ts} +7 -7
- package/dist/{create-BDS7wc3y.d.ts → create-UTnUVETj.d.ts} +30 -10
- package/dist/{credential-DM2um3ha.js → credential-CIM7wHwA.js} +4 -4
- package/dist/{credentials-DPyHmYz5.js → credentials-BpuTwd7a.js} +1 -1
- package/dist/{deciding-columns-Sq12mEA6.js → deciding-columns-DRo2QM6E.js} +13 -2
- package/dist/{delegation-DaXVdDhM.js → delegation-C5rOdTp5.js} +5 -5
- package/dist/delivery/index.d.ts +5 -5
- package/dist/delivery/index.js +4 -3
- package/dist/{delivery-DCAgNyCn.js → delivery-rwOKLWRm.js} +51 -2
- package/dist/{denied-text-D8jDHgsl.d.ts → denied-text-D4qkEtFz.d.ts} +2 -2
- package/dist/{describe-BybMRY7A.js → describe-DZlnEtLy.js} +1 -0
- package/dist/{describe-BZUsixiL.d.ts → describe-O0SwYIK8.d.ts} +2 -2
- package/dist/{diff-CxZo9pTq.js → diff-Btr1c1Ow.js} +2 -2
- package/dist/{diff-DCePiN6M.js → diff-DzT-xD13.js} +10 -10
- package/dist/{doctor-DFjUxf2f.js → doctor-BU1szn63.js} +241 -49
- package/dist/{doctor-CxiwSfqH.js → doctor-BoK_y0KO.js} +4 -4
- package/dist/drizzle/index.d.ts +3 -3
- package/dist/drizzle/index.js +1 -1
- package/dist/elysia/index.d.ts +5 -5
- package/dist/elysia/index.js +3 -3
- package/dist/{errors-C2PXIv4c.d.ts → errors-B_Qg9D3e.d.ts} +2 -2
- package/dist/{errors-CWTY6uih.js → errors-DpP_U6Bf.js} +1 -0
- package/dist/{evaluate-_R8QkWaf.js → evaluate-B_oqFbWC.js} +130 -34
- package/dist/{evaluations-16UqqQ6W.d.ts → evaluations-BCddEOfO.d.ts} +4 -4
- package/dist/{evaluations-DZ2CbV5k.js → evaluations-DReoiVBw.js} +4 -4
- package/dist/eve/index.d.ts +5 -5
- package/dist/eve/index.js +3 -3
- package/dist/express/index.d.ts +5 -5
- package/dist/express/index.js +3 -3
- package/dist/fastify/index.d.ts +5 -5
- package/dist/fastify/index.js +3 -3
- package/dist/{fetch-adapter-qKJBuRqy.d.ts → fetch-adapter-CuhyYwC1.d.ts} +4 -4
- package/dist/{fetch-adapter-g0ypLkID.js → fetch-adapter-De-u6vhJ.js} +3 -3
- package/dist/{fields-D9tPVUUS.js → fields-ClcQLrVc.js} +48 -13
- package/dist/{files-C5ZI27eV.js → files-acUbNwWt.js} +15 -2
- package/dist/{fixtures-B7XrLeY7.js → fixtures-BTMW6zgU.js} +2 -2
- package/dist/{flags-C3DktBDY.js → flags-aaeRAdiD.js} +2 -2
- package/dist/{from-snapshot-D2lZt4Dd.js → from-snapshot-Bz469dIh.js} +17 -10
- package/dist/generate-3FNO5P5Q.js +159 -0
- package/dist/{grantee-Cn1HyUsI.js → grantee-BrRANrpT.js} +14 -4
- package/dist/{grantee-conditions-CcXf8hMM.js → grantee-conditions-C6P1Tvol.js} +1 -1
- package/dist/{grantee-match-DHArqY82.js → grantee-match-0RtHWQDx.js} +3 -3
- package/dist/h3/index.d.ts +4 -4
- package/dist/h3/index.js +3 -3
- package/dist/{helpers-DTcZOzhF.js → helpers-DY3vXuGs.js} +3 -3
- package/dist/hono/index.d.ts +5 -5
- package/dist/hono/index.js +3 -3
- package/dist/{hosted-DBDX0M-P.d.ts → hosted-BmjzxQhp.d.ts} +14 -2
- package/dist/{hosted-BZIAYvon.js → hosted-XBgU6RGT.js} +34 -12
- package/dist/{http-DXJ37RDA.js → http-Ca3Sr5x1.js} +1 -1
- package/dist/{import-DMmOG27O.js → import-Bz0GefWg.js} +5 -5
- package/dist/{import-CNV7I2Dw.js → import-DB2EG_iy.js} +3 -3
- package/dist/{index-CxGUswIC.d.ts → index-BE8y3moU.d.ts} +50 -8
- package/dist/{index-Chrs5fQ-.d.ts → index-BSfRl0hZ.d.ts} +6 -6
- package/dist/{index-DOVf7RJv.d.ts → index-BTkwrK7v.d.ts} +155 -17
- package/dist/index-CMiPH2Tv.d.ts +206 -0
- package/dist/{index-SGdIQyzc.d.ts → index-DH9DUDEM.d.ts} +18 -3
- package/dist/{index-BcHcPyIo.d.ts → index-DLwcuCN_.d.ts} +86 -7
- package/dist/index.d.ts +18 -17
- package/dist/index.js +27 -25
- package/dist/{init-GG6Jh8HD.js → init-5TXNji88.js} +5 -5
- package/dist/{init-DeMYsnYJ.js → init-B-4t1NzC.js} +4 -4
- package/dist/{instance-options-Omfd793B.d.ts → instance-options-CU0YQCLH.d.ts} +1 -1
- package/dist/{instance-snapshot-Cxq4ygFc.js → instance-snapshot-CjcwnEiV.js} +20 -14
- package/dist/jwt/index.d.ts +83 -5
- package/dist/jwt/index.js +143 -5
- package/dist/{kernel-5JatXyND.js → kernel-DVExUwkp.js} +138 -12
- package/dist/kysely/index.d.ts +3 -3
- package/dist/kysely/index.js +1 -1
- package/dist/load-DrMHXzgN.js +1 -0
- package/dist/{load-DFS_ry0W.js → load-DxroEzH1.js} +2 -2
- package/dist/{login-Dfe5RlYk.js → login-ClSJh5t5.js} +4 -4
- package/dist/{login-imhuwvn3.js → login-WC9HPJpU.js} +6 -10
- package/dist/{manifest-C8IzW3Do.js → manifest-B79YuF2T.js} +6 -2
- package/dist/{manifest-mx5ghSFM.d.ts → manifest-BVhExYhw.d.ts} +23 -2
- package/dist/{manifest-CtKR3GXL.js → manifest-Dv6q4i5s.js} +54 -35
- package/dist/{manifest-schema-C0kK_8V0.js → manifest-schema-Cv492Qev.js} +37 -7
- package/dist/{map-claims-D3oRmTk0.js → map-claims-etGIS_Dv.js} +14 -11
- package/dist/{map-error-TCAdw-eW.js → map-error-BQGyDm_M.js} +1 -1
- package/dist/mcp/index.d.ts +64 -10
- package/dist/mcp/index.js +151 -22
- package/dist/{migrate-BShP7Vf4.js → migrate-Dodel0IJ.js} +77 -24
- package/dist/nest/index.d.ts +5 -5
- package/dist/nest/index.js +3 -3
- package/dist/next/index.d.ts +9 -9
- package/dist/next/index.js +5 -5
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +2 -2
- package/dist/node/index.d.ts +5 -5
- package/dist/node/index.js +2 -2
- package/dist/openai/index.d.ts +5 -5
- package/dist/openai/index.js +3 -3
- package/dist/openapi/index.d.ts +14 -4
- package/dist/openapi/index.js +1 -1
- package/dist/{openapi-ahr8rHu3.js → openapi-DMocl1bh.js} +4 -4
- package/dist/{openapi-B7HZ0f-r.js → openapi-Ddb4628T.js} +2 -7
- package/dist/{openapi-DTaEmTSW.js → openapi-ztVaux6j.js} +8 -8
- package/dist/{operation-findings-DgATDpvh.js → operation-findings-kRcEp8lE.js} +1 -1
- package/dist/{operations-CxybZErY.d.ts → operations-BNLes61x.d.ts} +1 -1
- package/dist/orpc/index.d.ts +6 -6
- package/dist/orpc/index.js +4 -4
- package/dist/otel/index.d.ts +3 -3
- package/dist/otel/index.js +1 -1
- package/dist/{output-Dyw8fyPF.js → output-DgSDLrta.js} +7 -3
- package/dist/{output-files-DhRBBE4n.js → output-files-CCMdcFWb.js} +2 -2
- package/dist/output-files-DPAY7-GX.js +1 -0
- package/dist/{ownership-BatFgAA4.js → ownership-Z2LpxsGa.js} +1349 -883
- package/dist/parse-Ddhz2xf4.js +148 -0
- package/dist/{parse-local-manifest-CVSs6J9I.js → parse-local-manifest-T1Q8X3A2.js} +24 -1
- package/dist/{parse-local-manifest-DgqtruPn.d.ts → parse-local-manifest-e4mdwAKd.d.ts} +1 -1
- package/dist/pdp/index.d.ts +3 -3
- package/dist/pdp/index.js +7 -3
- package/dist/peer-12Q5I_RH.js +976 -0
- package/dist/{peer-CRvC7Hg1.js → peer-DOzzMfZL.js} +1 -1
- package/dist/{permdock-B9JxkBwC.js → permdock-BfWEeMqk.js} +177 -49
- package/dist/{permdock-D7eeLJER.d.ts → permdock-Dco6dyCK.d.ts} +34 -5
- package/dist/{permission-registry-Br4jSNVi.js → permission-registry-DpPtSKNZ.js} +1 -1
- package/dist/{vocabulary-D6lPdb4Z.d.ts → permission-types-DhNEmoRG.d.ts} +4 -62
- package/dist/{permissions-oEWfl-kl.d.ts → permissions-CoqCOfJ3.d.ts} +2 -1
- package/dist/{permissions-B-wCP5ZC.js → permissions-CyH2MV_B.js} +1 -1
- package/dist/{permissions-CZKiUfFM.js → permissions-DArULThq.js} +4 -4
- package/dist/pkce-5h8NgMQJ.js +21 -0
- package/dist/{policies-CO1oOymN.js → policies-B2lZIurj.js} +3 -3
- package/dist/{policy-Czo4n3Hs.d.ts → policy-B7dg_yzu.d.ts} +2 -2
- package/dist/{policy-DLZJ5gAp.js → policy-DaJy4nK4.js} +17 -8
- package/dist/{policy-from-catalog-DzhEc3Y9.js → policy-from-catalog-DFWYkNdu.js} +9 -9
- package/dist/{policy-types-DzwivBgR.d.ts → policy-types-B-F-qAZk.d.ts} +109 -5
- package/dist/postgres-store-BL9M_CA1.js +1001 -0
- package/dist/{postgrest-NUqZT-RB.d.ts → postgrest-CYacM_u7.d.ts} +12 -1
- package/dist/{postgrest-CW0IqC-U.js → postgrest-r5faDIzD.js} +47 -5
- package/dist/{powersync-BHfuehf3.js → powersync-13odBwiM.js} +3 -3
- package/dist/powersync-53ryOZip.js +1059 -0
- package/dist/powersync-CExtTLyA.js +1 -0
- package/dist/preset/index.js +1 -1
- package/dist/{preset-DZdU0tne.js → preset-CHTbd-DQ.js} +2 -2
- package/dist/prisma/index.d.ts +2 -2
- package/dist/prisma/index.js +1 -1
- package/dist/{problem-details-DXlt-vks.d.ts → problem-details-Tcfmj3bV.d.ts} +1 -1
- package/dist/prompt-DwtVemER.js +935 -0
- package/dist/{protected-DEPHc2xV.d.ts → protected-BwZYL1X_.d.ts} +6 -5
- package/dist/{protected-DfjY5mLA.js → protected-DXE3cQYg.js} +2 -2
- package/dist/{provider-CC-u3bYP.js → provider-BQsTYYy0.js} +2 -2
- package/dist/{provider-DMVt6yYn.d.ts → provider-Csk-THAn.d.ts} +1 -1
- package/dist/{provider-store-B5Yrkhzr.js → provider-store-IgqQipCO.js} +2 -2
- package/dist/{pull-BgIfno6w.js → pull-CN5OLxrF.js} +7 -7
- package/dist/pull-Cty6Ovyu.js +1 -0
- package/dist/{push-CmFVBOeI.js → push-tVdG8dUL.js} +54 -14
- package/dist/{pushed-policy-BImMTTIM.d.ts → pushed-policy-BbcY9r_4.d.ts} +1 -1
- package/dist/{pushed-policy-DobP7AHI.js → pushed-policy-CmYeSQqq.js} +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/provider-client.js +1 -1
- package/dist/react-native/index.d.ts +25 -11
- package/dist/react-native/index.js +214 -24
- package/dist/{refs-K6eWUJ0H.js → refs-CNJBiTFo.js} +15 -1
- package/dist/{replay-D7iKcLFe.d.ts → replay-DCDD_ZfL.d.ts} +1 -1
- package/dist/{request-context-BTRTG7OT.js → request-context-BykKLmyE.js} +2 -2
- package/dist/resend/index.d.ts +4 -4
- package/dist/{retire-CALjIQ7e.js → retire-Wj6dkyDE.js} +2 -2
- package/dist/{rls-BA8an5Ap.js → rls-Ck_PocSp.js} +32 -8
- package/dist/{rls-j6t43t7n.js → rls-CxBZb4rZ.js} +478 -534
- package/dist/{role-builder-CXbis5-X.js → role-builder-C1VJzvcr.js} +3 -3
- package/dist/rolldown-runtime-C3I60J0A.js +4 -0
- package/dist/{rpc-aPyNi6tA.js → rpc-Bk1bE-ch.js} +1 -1
- package/dist/run-Bz7DXGEv.js +1 -0
- package/dist/{run-ticket-sxFI6LAk.js → run-ticket-B5d_63Ma.js} +22 -1
- package/dist/{run-ticket-BjhTOi6u.d.ts → run-ticket-BpNi7BCi.d.ts} +8 -3
- package/dist/{run-DOfMtc9V.js → run-uLD2aWuO.js} +7 -7
- package/dist/{runtime-D3VTAiCA.js → runtime-Vif3_-zf.js} +1 -1
- package/dist/{saas-FO-Q8oj0.js → saas-Az_Kz-4D.js} +7 -7
- package/dist/{scan-BOI5tJ-6.js → scan-DSljDE1Y.js} +1 -1
- package/dist/{schema-yLuBWWsh.js → schema-gIcCx7zM.js} +1 -1
- package/dist/scim/index.d.ts +3 -2
- package/dist/scim/index.js +3 -1
- package/dist/scim-C7JYhySg.js +44 -0
- package/dist/{scim-ClHtpyV3.js → scim-YNieBO1U.js} +3 -537
- package/dist/{scopes-CUPSjo9q.js → scopes-BHsc-wp-.js} +1 -1
- package/dist/server/index.d.ts +11 -11
- package/dist/server/index.js +7 -7
- package/dist/{server-DqCT4CgZ.js → server-Bnga6I50.js} +3 -3
- package/dist/{server-types-BLd4MnBX.d.ts → server-types-C4gZUEZy.d.ts} +9 -9
- package/dist/{shared-DvvFzYXe.js → shared-C8LjUdVU.js} +1 -1
- package/dist/{shared-CD11nBbC.js → shared-fMKOv8hP.js} +46 -39
- package/dist/{sink-Bj_lDUDq.d.ts → sink-Cp_Eot9W.d.ts} +4 -4
- package/dist/{skills-B6lVdD_W.js → skills-Dcjw9_1C.js} +5 -5
- package/dist/{skills-CTYwkl44.js → skills-g_3BS9NC.js} +3 -3
- package/dist/{snapshot-CXUWfsNy.js → snapshot-CbGmYiJx.js} +4 -4
- package/dist/{snapshot-cache-DZHQ0KF6.js → snapshot-cache-DT2Kx1F8.js} +1 -1
- package/dist/{snapshot-cache-DqK9eDmM.d.ts → snapshot-cache-Pahd3IYJ.d.ts} +1 -1
- package/dist/solid/index.d.ts +6 -5
- package/dist/solid/index.js +4 -4
- package/dist/solid-start/index.d.ts +6 -6
- package/dist/solid-start/index.js +3 -3
- package/dist/{sources-vs5dGOsS.js → sources-B-zYB4GS.js} +111 -25
- package/dist/{sources-BV9j0DeZ.d.ts → sources-DEEuGb8S.d.ts} +63 -14
- package/dist/sources-qoIJQrJv.js +11 -0
- package/dist/{sql-B5T1IL83.js → sql-B96movIM.js} +5 -1
- package/dist/sql-CDEPCA0g.d.ts +10 -0
- package/dist/{src-DLfUWFAI.js → src-DLFrtrrC.js} +154 -53
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +640 -211
- package/dist/{standard-webhooks-6lg8v_is.d.ts → standard-webhooks-B_qRg0ws.d.ts} +2 -2
- package/dist/{store-4u_hxjWa.js → store-DSP9oGvh.js} +15 -7
- package/dist/{store-options-BqEakYRa.js → store-options-B_poyYvg.js} +6 -6
- package/dist/{stores-ClZUgeoP.d.ts → stores-BAZwSYZA.d.ts} +6 -5
- package/dist/{stores-BbsD4fAR.js → stores-BqEuHC05.js} +2 -2
- package/dist/{stream-7-xmnf3U.d.ts → stream-2Vwhl7Er.d.ts} +2 -2
- package/dist/{style-Uao76wO7.js → style-Cqo7-73x.js} +1 -0
- package/dist/{style-DiKWnAvn.js → style-Ds1gNm77.js} +1 -1
- package/dist/supabase/index.d.ts +8 -7
- package/dist/supabase/index.js +5 -5
- package/dist/supabase/middleware.d.ts +6 -6
- package/dist/supabase/middleware.js +6 -6
- package/dist/{supabase-Dxlp8A94.js → supabase--0aJdLEd.js} +9 -7
- package/dist/{supabase-9pqI57pW.js → supabase-Bqp7iIY2.js} +3 -3
- package/dist/supabase-hook-DJxC4PoP.js +1 -0
- package/dist/{supabase-hook-DdDQhMlw.js → supabase-hook-Dg0SrQWR.js} +1069 -123
- package/dist/supautils-MESd81bF.js +689 -0
- package/dist/{support-session-C6xJQYut.js → support-session-Cna49-3f.js} +2 -2
- 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 +3 -3
- package/dist/svelte/source.d.ts +5 -5
- package/dist/svelte/source.js +2 -2
- package/dist/sveltekit/index.d.ts +6 -6
- package/dist/sveltekit/index.js +2 -2
- package/dist/tanstack-start/index.d.ts +6 -6
- package/dist/tanstack-start/index.js +2 -2
- package/dist/{tenancy-DN2QAx9z.js → tenancy-CmeBQ6Nv.js} +12 -3
- package/dist/terminal/index.d.ts +6 -6
- package/dist/terminal/index.js +3 -3
- package/dist/testing/core.d.ts +2 -0
- package/dist/testing/core.js +1 -0
- package/dist/testing/fixtures/index.d.ts +12 -0
- package/dist/testing/fixtures/index.js +770 -0
- package/dist/testing/index.d.ts +41 -174
- package/dist/testing/index.js +241 -731
- package/dist/testing/saas/index.d.ts +5 -5
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/text-diff-DhITNCnD.js +444 -0
- package/dist/{token-BLZcjQgt.js → token-2qYDvXz2.js} +1 -1
- package/dist/{tool-refusal-CMLN5xhn.js → tool-refusal-reAhIzdl.js} +1 -1
- package/dist/trpc/index.d.ts +6 -6
- package/dist/trpc/index.js +3 -3
- package/dist/{types-5Ut_pbKy.d.ts → types-BWZybqs9.d.ts} +112 -8
- package/dist/{types-CZTnPFzM.d.ts → types-BXMYB7BY.d.ts} +2 -2
- package/dist/{types-CdlxsYQh.d.ts → types-BfVmNJO5.d.ts} +14 -3
- package/dist/{types-BqAKcRNW.d.ts → types-CIeZcG8v.d.ts} +2 -2
- package/dist/{types-BNORmDM8.d.ts → types-CKV71kKh.d.ts} +4 -4
- package/dist/{types-tIgIeIKJ.d.ts → types-CQVEQawv.d.ts} +4 -4
- package/dist/{types-BjV-fqcA.d.ts → types-CeIscIKp.d.ts} +4 -4
- package/dist/{types-_sHy8BQf.d.ts → types-CfiKC5aN.d.ts} +1 -1
- package/dist/{types-ClZaWzfb.d.ts → types-D3A19w4A.d.ts} +8 -4
- package/dist/{types-C8-KNsFf.d.ts → types-DBHftjgS.d.ts} +15 -8
- package/dist/{types-CCpc2Dcv.d.ts → types-DC44-hqb.d.ts} +2 -2
- package/dist/{types-fbZ7JEXr.d.ts → types-DXmwu78Z.d.ts} +4 -4
- package/dist/{types-DiQjupG2.d.ts → types-cTos-H7p.d.ts} +2 -2
- package/dist/{types-DX0LaKTb.d.ts → types-g7Oy6Zg4.d.ts} +3 -3
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/{usage-T5mXq98v.js → usage-Bybmck7f.js} +7 -7
- package/dist/{usage-DHtE8j4E.js → usage-CDaLXCfL.js} +2 -2
- package/dist/usage-y-kBNdqs.js +1 -0
- package/dist/{validation-error-Bg5Tpluk.d.ts → validation-error-CQpoquwj.d.ts} +1 -1
- package/dist/{verify-DbCL9bnB.js → verify-pe8rL_Qw.js} +350 -83
- package/dist/{views-DTIIO-oQ.js → views-BB8E9dTP.js} +1 -1
- package/dist/vocabulary-Bg3eeT2H.d.ts +67 -0
- package/dist/vue/index.d.ts +6 -5
- package/dist/vue/index.js +4 -4
- package/dist/{waiter-CKy4MQSY.d.ts → waiter-DwEyouan.d.ts} +2 -2
- package/dist/watch-Bd9mx3rd.js +1 -0
- package/dist/{watch-CszoTJMq.js → watch-C-4VmFlL.js} +3 -3
- package/dist/webmcp/index.d.ts +2 -2
- package/dist/webmcp/index.js +2 -2
- package/dist/{where-scope-Dv-WTP-w.js → where-scope-wq2coopv.js} +41 -21
- package/dist/{who-can-D0QoYbEb.js → who-can-BwNsI_Js.js} +6 -6
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +5 -5
- package/dist/workflow-sdk/index.d.ts +5 -5
- package/dist/{wrap-Bd1Tejur.d.ts → wrap-B6R0cMRL.d.ts} +2 -2
- package/dist/{wrap-gX61EtpB.js → wrap-CiSc_KCq.js} +8 -2
- package/package.json +22 -11
- package/schemas/cli-result-v1.json +1 -0
- package/schemas/cloud-api-v1.json +152 -7
- package/schemas/connector-v1.json +8 -0
- package/schemas/supabase-claims-v1.json +5 -0
- package/schemas/supabase-manifest-v1.json +276 -75
- package/skills/permdock/SKILL.md +1 -0
- package/skills/permdock-agents/references/runtimes.md +3 -1
- package/skills/permdock-approvals/references/stores-and-resume.md +2 -1
- package/skills/permdock-data/references/queries-and-rls.md +5 -2
- package/skills/permdock-tenancy/SKILL.md +1 -1
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -0
- package/skills/permdock-wire/references/adapters.md +14 -0
- package/skills/permdock-wire/references/policy-options.md +1 -0
- package/dist/catalog-DjhMYYCq.js +0 -1
- package/dist/collect-FlXJlhus.js +0 -1
- package/dist/index-D8EovfsP.d.ts +0 -91
- package/dist/load-BxEtwlBS.js +0 -1
- package/dist/output-files-B3IZJksC.js +0 -1
- package/dist/parse-Cxq0WxrA.js +0 -53
- package/dist/peer-C8swJ2GH.js +0 -50
- package/dist/powersync-CbzkqL_M.js +0 -1
- package/dist/powersync-bYUDLOAO.js +0 -538
- package/dist/prompt-DfZLJLIn.js +0 -32
- package/dist/pull-ByOks_Tg.js +0 -1
- package/dist/run-CNsApDpd.js +0 -1
- package/dist/supabase-hook-CXcGpHqq.js +0 -1
- package/dist/supautils-B6HYL9eL.js +0 -91
- package/dist/text-diff-BQcUapOb.js +0 -15
- package/dist/usage-CHOtwL19.js +0 -1
- package/dist/watch-Cb-NcaUw.js +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Ct as Credential,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as Disclosure } from "./problem-details-
|
|
5
|
-
import { a as ProblemDetails, t as ApprovalHint } from "./errors-
|
|
6
|
-
import { c as ServerPermDock, l as ServerPermDockOptions } from "./server-types-
|
|
1
|
+
import { Ct as Credential, Ln as Decision, St as ApiKeyPrincipal, T as Policy, Tt as CredentialKind, U as CredentialVerifier, Zt as AuthEvent, at as SettingsSource, dt as TokenVerifier, gt as SupportSession, j as PolicyVocabulary, lr as Subject, lt as TokenFailureCause, q as DecisionSink, sr as Principal, ut as TokenSigner } from "./policy-types-B-F-qAZk.js";
|
|
2
|
+
import { f as PermissionTree, u as Permission } from "./permission-types-DhNEmoRG.js";
|
|
3
|
+
import { h as PrincipalSource } from "./permdock-Dco6dyCK.js";
|
|
4
|
+
import { t as Disclosure } from "./problem-details-Tcfmj3bV.js";
|
|
5
|
+
import { a as ProblemDetails, t as ApprovalHint } from "./errors-B_Qg9D3e.js";
|
|
6
|
+
import { c as ServerPermDock, l as ServerPermDockOptions } from "./server-types-C4gZUEZy.js";
|
|
7
7
|
//#region src/server/create.d.ts
|
|
8
8
|
/**
|
|
9
9
|
* The Fetch factory behind every HTTP adapter. The subject and actor are
|
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { Bn as DenialReason, C as MembershipFixture, Cr as SqlFunctionArg, D as PolicyDelegation, Gt as Snapshot, I as SeparationConflict, J as EntitlementSource, Ln as Decision, Lt as InstanceHandle, N as RoleBinding, P as RoleOptions, R as SupportAccessOptions, Rn as Denial, Rt as Instant, T as Policy, Ut as LocalSnapshotManifest, V as VocabularyFromInput, W as CustomRoleSource, Xt as AccessEvent, Y as JwtClaims, at as SettingsSource, c as BreakGlassOptions, ct as TenantSettings, dn as PolicyScopesInput, en as DecisionEvent, et as MembershipSource, fn as Scope, g as GrantCondition, h as Grant, hr as ConditionRef, i as ApprovalOption, it as RelationSource, j as PolicyVocabulary, k as PolicyOptions, lr as Subject, nn as DeliveryEvent, nt as RelationGroup, or as Membership, ot as SnapshotSource, rr as Delegation, s as AssuranceRequirement, sn as SinkEvent, sr as Principal, tr as CustomRole, ut as TokenSigner, wr as SqlFunctionCondition, yr as OpaqueCondition } from "./policy-types-B-F-qAZk.js";
|
|
2
|
+
import { E as ResourceXTree, S as ResourceParent, T as ResourceRestricted, b as ResourceNode, d as PermissionKind, f as PermissionTree, g as ResourceInit, m as PermissionsOptions, n as ActionMeta, p as PermissionsOf, t as ActionList, u as Permission, w as ResourceRelationInput, x as ResourceOptions, y as ResourceMeta } from "./permission-types-DhNEmoRG.js";
|
|
3
|
+
import { a as RoleTree, r as Role } from "./vocabulary-Bg3eeT2H.js";
|
|
4
|
+
import { a as PermDock, o as PermDockOptions } from "./permdock-Dco6dyCK.js";
|
|
5
|
+
import { o as PolicyDocument } from "./hosted-BmjzxQhp.js";
|
|
6
|
+
import { m as ApprovalStore } from "./types-DC44-hqb.js";
|
|
7
|
+
import { t as InstanceOptions } from "./instance-options-CU0YQCLH.js";
|
|
8
|
+
import { n as PermDockWrap } from "./wrap-B6R0cMRL.js";
|
|
8
9
|
import { t as JsonSchemaNode } from "./json-schema-CN_iLFH2.js";
|
|
9
|
-
import { i as CatalogEventData, s as CloudEvent } from "./sink-
|
|
10
|
+
import { i as CatalogEventData, s as CloudEvent } from "./sink-Cp_Eot9W.js";
|
|
10
11
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
11
12
|
//#region src/conditions/refs.d.ts
|
|
12
|
-
type KnownRefField = "id" | "issuer" | "kind" | "tenant" | "team" | "roles" | "plans" | "memberships" | "assurance" | "binding" | "session";
|
|
13
|
+
type KnownRefField = "id" | "issuer" | "kind" | "tenant" | "team" | "roles" | "plans" | "memberships" | "assurance" | "binding" | "session" | "claims";
|
|
13
14
|
type SubjectRef = ConditionRef & { readonly [K in KnownRefField]: SubjectRef; } & {
|
|
14
15
|
readonly [key: string]: SubjectRef;
|
|
15
16
|
};
|
|
16
17
|
declare const principal: SubjectRef;
|
|
17
18
|
declare const context: SubjectRef;
|
|
19
|
+
/**
|
|
20
|
+
* `principal.claims.<path>` for a dot path such as `team_ids` or
|
|
21
|
+
* `attrs.region`, typed `SubjectRef` under `noUncheckedIndexedAccess` and
|
|
22
|
+
* `noPropertyAccessFromIndexSignature`.
|
|
23
|
+
*/
|
|
24
|
+
declare function claim(path: string): SubjectRef;
|
|
18
25
|
//#endregion
|
|
19
26
|
//#region src/core/custom-roles.d.ts
|
|
20
27
|
type CustomRoleDropReason = "unknown-permission" | "outside-ceiling" | "condition-not-allowed" | "unknown-level";
|
|
@@ -27,6 +34,9 @@ type CustomRoleDrop = {
|
|
|
27
34
|
} | {
|
|
28
35
|
readonly role: string;
|
|
29
36
|
readonly reason: "unknown-role";
|
|
37
|
+
} | {
|
|
38
|
+
readonly role: string;
|
|
39
|
+
readonly reason: "name-taken";
|
|
30
40
|
};
|
|
31
41
|
/** A stored grant that named a permission by a key it was renamed from. */
|
|
32
42
|
type CustomRoleRename = {
|
|
@@ -57,7 +67,29 @@ type CustomRoleValidation = {
|
|
|
57
67
|
* together with the denies of the roles those grants belong to.
|
|
58
68
|
*/
|
|
59
69
|
declare function resolveCustomRole(policy: Policy, role: CustomRole): ResolvedCustomRole;
|
|
60
|
-
|
|
70
|
+
type ValidateCustomRoleOptions = {
|
|
71
|
+
/** The shared custom roles: a tenant role with one of their names is dropped as `name-taken`. */
|
|
72
|
+
readonly shared?: readonly CustomRole[];
|
|
73
|
+
};
|
|
74
|
+
declare function validateCustomRole(policy: Policy, role: CustomRole, options?: ValidateCustomRoleOptions): CustomRoleValidation;
|
|
75
|
+
/** The outcome of one stored allow entry, `<permission>[@<level>]`. */
|
|
76
|
+
type CustomRoleEntry = {
|
|
77
|
+
readonly ok: true;
|
|
78
|
+
/** The current key, after a `renamed` key resolves. */
|
|
79
|
+
readonly permission: string;
|
|
80
|
+
readonly level?: string;
|
|
81
|
+
} | {
|
|
82
|
+
readonly ok: false;
|
|
83
|
+
readonly cause: "unknown-permission" | "outside-ceiling" | "unknown-level";
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Checks one stored allow entry, `<permission>[@<level>]`, the way
|
|
87
|
+
* `permdock_custom_role_entry_problem` does in SQL. `scope` defaults to the
|
|
88
|
+
* first scope; its ceiling is the allows of that scope's assignable roles.
|
|
89
|
+
*/
|
|
90
|
+
declare function parseCustomRoleEntry(policy: Policy, entry: string, options?: {
|
|
91
|
+
readonly scope?: string;
|
|
92
|
+
}): CustomRoleEntry;
|
|
61
93
|
/**
|
|
62
94
|
* The compact JWT form of custom roles for the `memberships[].grants` claim
|
|
63
95
|
* RLS reads in `jwt` mode: role name to entries, where `key` allows, `-key`
|
|
@@ -81,6 +113,19 @@ declare function requiresApproval(approval: Grant["approval"] | undefined): bool
|
|
|
81
113
|
//#endregion
|
|
82
114
|
//#region src/core/policy.d.ts
|
|
83
115
|
declare function definePolicy<TUser, TPrincipal extends Principal, const Input extends PermissionTree | PolicyVocabulary, const S extends PolicyScopesInput = PolicyScopesInput>(permissions: Input, options: PolicyOptions<TUser, TPrincipal, S>): Policy<TUser, TPrincipal, VocabularyFromInput<Input>>;
|
|
116
|
+
/** The role names a policy declares: the keys of its `defineRoles` vocabulary, else `string`. */
|
|
117
|
+
type RoleNameOf<P> = P extends {
|
|
118
|
+
readonly vocabulary: infer V;
|
|
119
|
+
} ? V extends {
|
|
120
|
+
readonly roles: infer R extends RoleTree;
|
|
121
|
+
} ? R[keyof R]["key"] : string : string;
|
|
122
|
+
/**
|
|
123
|
+
* Whether `value` names a role the policy declares, for a role read as a
|
|
124
|
+
* string from a database or a token. A name it rejects is an unknown role,
|
|
125
|
+
* which grants nothing (`unknown-role`). A tenant's custom roles are not
|
|
126
|
+
* declared; `CustomRoleSource` resolves them.
|
|
127
|
+
*/
|
|
128
|
+
declare function isRoleName<P extends Policy<never>>(policy: P, value: unknown): value is RoleNameOf<P>;
|
|
84
129
|
declare function separationConflicts(policy: Policy, memberships: readonly MembershipFixture[]): readonly SeparationConflict[];
|
|
85
130
|
//#endregion
|
|
86
131
|
//#region src/core/permission-registry.d.ts
|
|
@@ -284,11 +329,23 @@ type SignSnapshotOptions = {
|
|
|
284
329
|
/** `aud`; a signer with no default audience refuses to sign without one. */
|
|
285
330
|
readonly audience?: string | readonly string[];
|
|
286
331
|
};
|
|
332
|
+
/** The claims of a `vnd.permdock.snapshot+jwt` apart from `iss`, `aud` and `jti`. */
|
|
333
|
+
type SnapshotClaims = {
|
|
334
|
+
readonly snapshot: Omit<Snapshot, "issuedAt" | "expiresAt">;
|
|
335
|
+
/** The principal's id; absent for an anonymous snapshot. */
|
|
336
|
+
readonly sub?: string;
|
|
337
|
+
/** `issuedAt` in NumericDate seconds; absent when it is not after the epoch. */
|
|
338
|
+
readonly iat?: number;
|
|
339
|
+
/** `expiresAt` in NumericDate seconds; absent when the snapshot has none, and the signer then sets its default. */
|
|
340
|
+
readonly exp?: number;
|
|
341
|
+
};
|
|
287
342
|
/**
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
343
|
+
* The claims `signSnapshot` signs for `snapshot`. `issuedAt` and `expiresAt`
|
|
344
|
+
* become `iat` and `exp` and leave the `snapshot` claim, so the registered
|
|
345
|
+
* claims are the only times a verifier reads.
|
|
291
346
|
*/
|
|
347
|
+
declare function snapshotClaims(snapshot: Snapshot): SnapshotClaims;
|
|
348
|
+
/** Signs `snapshot` as a `vnd.permdock.snapshot+jwt` with the claims `snapshotClaims` answers. */
|
|
292
349
|
declare function signSnapshot(snapshot: Snapshot, signer: TokenSigner, options?: SignSnapshotOptions): Promise<string>;
|
|
293
350
|
/**
|
|
294
351
|
* The snapshot a verified `vnd.permdock.snapshot+jwt` carries, parsed as
|
|
@@ -433,6 +490,8 @@ type CustomRoleReader = {
|
|
|
433
490
|
assignable?(tenant: string): string[] | Promise<string[]>;
|
|
434
491
|
/** Platform custom roles (`scope: 'global'`). */
|
|
435
492
|
globalRoles?(): CustomRole[] | Promise<CustomRole[]>;
|
|
493
|
+
/** Shared custom roles (`shared: true`), the same for every tenant. */
|
|
494
|
+
sharedRoles?(): CustomRole[] | Promise<CustomRole[]>;
|
|
436
495
|
};
|
|
437
496
|
type CustomRoleSourceOptions = {
|
|
438
497
|
/** `'all'` (default): read every custom role of each tenant, so `assignableRoles` and `decideRoleChange` see them all. */
|
|
@@ -445,8 +504,8 @@ type CustomRoleSourceOptions = {
|
|
|
445
504
|
/**
|
|
446
505
|
* A `CustomRoleSource` over a reader that returns every custom role of a tenant.
|
|
447
506
|
* It keeps only the roles of the requested tenant. With `read: 'held'` it
|
|
448
|
-
* skips a tenant's read, and `globalRoles`, when the
|
|
449
|
-
* declared roles there.
|
|
507
|
+
* skips a tenant's read, and `globalRoles` and `sharedRoles`, when the
|
|
508
|
+
* subject holds only declared roles there.
|
|
450
509
|
*/
|
|
451
510
|
declare function customRoleSource(reader: CustomRoleReader, options?: CustomRoleSourceOptions): CustomRoleSource;
|
|
452
511
|
//#endregion
|
|
@@ -481,7 +540,7 @@ type SnapshotForOptions = {
|
|
|
481
540
|
declare function snapshotFor<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, user: TUser | Subject | null, options?: SnapshotForOptions): Snapshot;
|
|
482
541
|
//#endregion
|
|
483
542
|
//#region src/core/permissions.d.ts
|
|
484
|
-
declare function definePermissions<const Input, PX = never, RX = never>(input: Input, options?: PermissionsOptions<PX, RX>):
|
|
543
|
+
declare function definePermissions<const Input, PX = never, RX = never>(input: Input, options?: PermissionsOptions<PX, RX>): PermissionsOf<Input, PX, RX>;
|
|
485
544
|
//#endregion
|
|
486
545
|
//#region src/core/permission-leaf.d.ts
|
|
487
546
|
/**
|
|
@@ -565,7 +624,15 @@ declare function normalizeAssurance(input: AssuranceRequirement | undefined): As
|
|
|
565
624
|
//#endregion
|
|
566
625
|
//#region src/core/grant-builders.d.ts
|
|
567
626
|
declare function allow<T, K extends PermissionKind = PermissionKind>(permission: Permission<string, T, K> | readonly Permission<string, T, K>[], condition?: GrantCondition<T, K>): Omit<Grant, "role" | "scope"> | Omit<Grant, "role" | "scope">[];
|
|
627
|
+
/**
|
|
628
|
+
* Every action of a resource (`permissions.post`), of several, or of the
|
|
629
|
+
* whole tree, unconditionally. Each grant is listed in the policy as if
|
|
630
|
+
* written out, and an action added to the resource later is granted too.
|
|
631
|
+
*/
|
|
632
|
+
declare function allow(permissions: PermissionTree | readonly (Permission | PermissionTree)[]): Omit<Grant, "role" | "scope"> | Omit<Grant, "role" | "scope">[];
|
|
568
633
|
declare function deny<T, K extends PermissionKind = PermissionKind>(permission: Permission<string, T, K> | readonly Permission<string, T, K>[], condition?: GrantCondition<T, K>): Omit<Grant, "role" | "scope"> | Omit<Grant, "role" | "scope">[];
|
|
634
|
+
/** Every action of a resource, of several, or of the whole tree, unconditionally. */
|
|
635
|
+
declare function deny(permissions: PermissionTree | readonly (Permission | PermissionTree)[]): Omit<Grant, "role" | "scope"> | Omit<Grant, "role" | "scope">[];
|
|
569
636
|
//#endregion
|
|
570
637
|
//#region src/core/approval-normalize.d.ts
|
|
571
638
|
declare function normalizeApproval(approval: ApprovalOption | undefined, permission?: string): Grant["approval"];
|
|
@@ -615,6 +682,22 @@ type ActivateInput = {
|
|
|
615
682
|
*/
|
|
616
683
|
declare function activate(permdock: InstanceHandle, input: ActivateInput): Decision;
|
|
617
684
|
//#endregion
|
|
685
|
+
//#region src/core/scope-helpers.d.ts
|
|
686
|
+
/**
|
|
687
|
+
* The canonical form PermDock evaluates one membership in, or `undefined`
|
|
688
|
+
* when it is malformed and grants nothing. `scopes` is the policy's or the
|
|
689
|
+
* catalog's scope list; absent or empty means the implicit `tenant` and
|
|
690
|
+
* `team` pair.
|
|
691
|
+
*/
|
|
692
|
+
declare function normalizeMembership(input: unknown, scopes?: readonly Scope[]): Membership | undefined;
|
|
693
|
+
/** Every well-formed membership of `input` in canonical form; malformed entries are dropped. */
|
|
694
|
+
declare function normalizeMemberships(input: unknown, scopes?: readonly Scope[]): readonly Membership[];
|
|
695
|
+
/**
|
|
696
|
+
* The declared scope `name` stands for: the name itself, or the scope the
|
|
697
|
+
* `tenant` (first) or `team` (second) alias names. `undefined` otherwise.
|
|
698
|
+
*/
|
|
699
|
+
declare function resolveScope(scopes: readonly Scope[] | undefined, name: unknown): string | undefined;
|
|
700
|
+
//#endregion
|
|
618
701
|
//#region src/core/ownership.d.ts
|
|
619
702
|
/** Who a role change is about: their principal id and their membership in the scope instance. */
|
|
620
703
|
type RoleChangeTarget = {
|
|
@@ -667,6 +750,44 @@ type RoleChangeDecision = {
|
|
|
667
750
|
readonly change: RoleChange;
|
|
668
751
|
readonly denials: readonly Denial[];
|
|
669
752
|
};
|
|
753
|
+
/** The holder-count, membership-kind, exclusivity and `assigns` rules of one role, as the catalog lists them (`CatalogRole`). */
|
|
754
|
+
type RoleRules = {
|
|
755
|
+
readonly key: string;
|
|
756
|
+
readonly min?: number;
|
|
757
|
+
readonly max?: number;
|
|
758
|
+
readonly transferOnly?: boolean;
|
|
759
|
+
readonly assigns?: readonly string[];
|
|
760
|
+
readonly for?: readonly string[];
|
|
761
|
+
readonly exclusiveWith?: readonly string[];
|
|
762
|
+
};
|
|
763
|
+
type RoleChangeCheckInput = {
|
|
764
|
+
readonly change: {
|
|
765
|
+
readonly kind: "assign" | "revoke" | "transfer";
|
|
766
|
+
readonly target: Pick<RoleChangeTarget, "via" | "roles">;
|
|
767
|
+
};
|
|
768
|
+
/** How many principals hold the role in the instance now; without it a role with `min`, `max` or `transferOnly` is denied. */
|
|
769
|
+
readonly holders?: number;
|
|
770
|
+
/** Every declared role: adds the `exclusiveWith` other roles declare against this one, and with `actorRoles` the `assigns` rule. */
|
|
771
|
+
readonly roles?: readonly RoleRules[];
|
|
772
|
+
/** The roles the actor holds at the instance, highest rank first. With `roles` naming any `assigns`, one of them must assign this role. */
|
|
773
|
+
readonly actorRoles?: readonly string[];
|
|
774
|
+
};
|
|
775
|
+
/** `by` names the actor role whose `assigns` allowed the change, `null` when the rule did not apply. */
|
|
776
|
+
type RoleChangeCheck = {
|
|
777
|
+
readonly ok: true;
|
|
778
|
+
readonly by: string | null;
|
|
779
|
+
} | {
|
|
780
|
+
readonly ok: false;
|
|
781
|
+
readonly denials: readonly Denial[];
|
|
782
|
+
};
|
|
783
|
+
/**
|
|
784
|
+
* The rules of a role change that need no subject: `assigns`, `for`,
|
|
785
|
+
* `exclusiveWith`, `min`, `max` and `transferOnly`, from holder counts and
|
|
786
|
+
* the target's roles alone. `decideRoleChange` runs the same function after
|
|
787
|
+
* its actor, tenant and ceiling checks; a service that holds only the
|
|
788
|
+
* catalog calls it with the `CatalogRole` entries.
|
|
789
|
+
*/
|
|
790
|
+
declare function checkRoleChange(role: RoleRules, input: RoleChangeCheckInput): RoleChangeCheck;
|
|
670
791
|
type RoleChangeOptions = {
|
|
671
792
|
/**
|
|
672
793
|
* `true` when the application loaded `change.within` from its own store
|
|
@@ -879,6 +1000,23 @@ declare function toCsvRow(event: DecisionEvent): string;
|
|
|
879
1000
|
*/
|
|
880
1001
|
declare function catalogFingerprint(catalog: unknown): string;
|
|
881
1002
|
//#endregion
|
|
1003
|
+
//#region src/core/canonical-json.d.ts
|
|
1004
|
+
/**
|
|
1005
|
+
* RFC 8785 (JCS) output for I-JSON input: keys sorted by UTF-16 code units,
|
|
1006
|
+
* ECMAScript number and string serialisation, no whitespace. `undefined`
|
|
1007
|
+
* members are dropped. Outside I-JSON, Dates become ISO strings, bigints
|
|
1008
|
+
* `"<n>n"`, and a repeated object on the current path `"[Circular]"`, so any
|
|
1009
|
+
* validated row serialises.
|
|
1010
|
+
*/
|
|
1011
|
+
declare function canonicalJson(value: unknown): string;
|
|
1012
|
+
//#endregion
|
|
1013
|
+
//#region src/core/sha256.d.ts
|
|
1014
|
+
/**
|
|
1015
|
+
* The one digest notation: `sha-256:` plus the unpadded base64url SHA-256
|
|
1016
|
+
* of `text`. An RFC 9651 sf-token, so it fits a structured header as is.
|
|
1017
|
+
*/
|
|
1018
|
+
declare function sha256Digest(text: string): string;
|
|
1019
|
+
//#endregion
|
|
882
1020
|
//#region src/core/delegation.d.ts
|
|
883
1021
|
type DelegatedPermission = Pick<Permission, "scope" | "resource" | "action">;
|
|
884
1022
|
/**
|
|
@@ -897,4 +1035,4 @@ declare function coveredByDelegation(permission: DelegatedPermission, delegation
|
|
|
897
1035
|
*/
|
|
898
1036
|
declare function delegatedPermissions(delegations: readonly PolicyDelegation[] | undefined, subject: Subject, heldRoles: ReadonlySet<string>, now: number): ReadonlySet<string> | undefined;
|
|
899
1037
|
//#endregion
|
|
900
|
-
export {
|
|
1038
|
+
export { resource as $, listPermissions as $t, RoleChangeCheckInput as A, HoldingVia as At, ActivateInput as B, countHolders as Bt, parseCatalogEventData as C, SnapshotClaims as Ct, parseSinkEvents as D, SignPolicyDocumentOptions as Dt, parseSinkEvent as E, snapshotFromClaims as Et, checkRoleChange as F, memoryRelationSource as Ft, allow as G, memoryMembershipSource as Gt, breakGlass as H, APPROVAL_POLICY_UNAVAILABLE as Ht, decideRoleChange as I, StripeEntitlementsClient as It, role as J, sqlFunction as Jt, deny as K, memorySettingsSource as Kt, normalizeMembership as L, stripeEntitlementSource as Lt, RoleChangeOptions as M, whoCan as Mt, RoleChangeTarget as N, MemoryEdge as Nt, RoleChange as O, signPolicyDocument as Ot, RoleRules as P, MemoryRelationSourceData as Pt, formerKeys as Q, isPermission as Qt, normalizeMemberships as R, claimsFirst as Rt, SINK_EVENT_SCHEMAS as S, principal as Sn, SignSnapshotOptions as St, parseCloudEventBatch as T, snapshotClaims as Tt, supportAccess as U, memoryCustomRoleSource as Ut, activate as V, isExternallyManaged as Vt, normalizeApproval as W, memoryEntitlementSource as Wt, readable as X, findPermission as Xt, crud as Y, opaque as Yt, writable as Z, getResource as Zt, DECISION_EVENT_SCHEMA as _, parseCustomRoleEntry as _n, ArazzoSimulateInput as _t, catalogFingerprint as a, requiresApproval as an, customRoleSource as at, EVENT_SCHEMA_IDS as b, claim as bn, simulateArazzo as bt, OCSF_VERSION as c, parseSnapshot as cn, ShadowMismatch as ct, accessToOcsf as d, CustomRoleEntry as dn, defineApp as dt, mergePermissions as en, definePermissions as et, toOcsf as f, CustomRoleRename as fn, AppOptions as ft, CREDENTIAL_EVENT_SCHEMA as g, customRoleClaim as gn, ArazzoPlan as gt, CATALOG_EVENT_SCHEMA as h, ValidateCustomRoleOptions as hn, ArazzoFinding as ht, canonicalJson as i, separationConflicts as in, CustomRoleSourceOptions as it, RoleChangeDecision as j, WhoCan as jt, RoleChangeCheck as k, Holder as kt, OcsfAuthorizeSession as l, CustomRoleDrop as ln, ShadowOptions as lt, AUTOMATION_EVENT_SCHEMA as m, ResolvedCustomRole as mn, localSnapshotManifest as mt, delegatedPermissions as n, definePolicy as nn, snapshotFor as nt, CSV_COLUMNS as o, emptySnapshot as on, mayAccess as ot, ACCESS_EVENT_SCHEMA as p, CustomRoleValidation as pn, AppProfile as pt, normalizeAssurance as q, memorySnapshotSource as qt, sha256Digest as r, isRoleName as rn, CustomRoleReader as rt, toCsvRow as s, fromSnapshot as sn, LegacyCheck as st, coveredByDelegation as t, RoleNameOf as tn, SnapshotForOptions as tt, OcsfUserManagement as u, CustomRoleDropReason as un, shadowMode as ut, DELIVERY_EVENT_SCHEMA as v, resolveCustomRole as vn, ArazzoStepResult as vt, parseCloudEvent as w, signSnapshot as wt, MEMBERSHIP_EVENT_SCHEMA as x, context as xn, deliveryEvent as xt, DIRECTORY_EVENT_SCHEMA as y, validateCustomRole as yn, arazzoFindings as yt, resolveScope as z, composeMemberships as zt };
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { T as Policy, sr as Principal, ut as TokenSigner } from "./policy-types-B-F-qAZk.js";
|
|
2
|
+
import { E as SsfPermDockOptions, O as SsfStreamConfiguration, T as SsfPermDock, _ as SetSubject, c as PushSetOptions, d as SetDelivery, g as SetQueue, h as SetPollHandlerOptions, k as SsfStreamStatus, m as SetEvent, p as SetError, t as CaepCommon, v as SignSetOptions } from "./types-cTos-H7p.js";
|
|
3
|
+
//#region src/ssf/create.d.ts
|
|
4
|
+
declare function createPermDock<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, options: SsfPermDockOptions): SsfPermDock;
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/ssf/poll-client.d.ts
|
|
7
|
+
type PollSetsOptions = {
|
|
8
|
+
/** The transmitter's RFC 8936 poll endpoint, the stream's `delivery.endpoint_url`. */
|
|
9
|
+
readonly endpoint: string;
|
|
10
|
+
/** The `Authorization` header value. */
|
|
11
|
+
readonly authorization?: string;
|
|
12
|
+
/** `jti` values of SETs the receiver accepted. */
|
|
13
|
+
readonly acks?: readonly string[];
|
|
14
|
+
/** SETs the receiver refused, by `jti`. */
|
|
15
|
+
readonly setErrs?: Readonly<Record<string, SetError>>;
|
|
16
|
+
/** At most this many SETs in the response; default 100. `0` only acknowledges. */
|
|
17
|
+
readonly maxEvents?: number;
|
|
18
|
+
/** Default `true`: answer at once rather than wait for a SET. */
|
|
19
|
+
readonly returnImmediately?: boolean;
|
|
20
|
+
readonly fetch?: typeof fetch;
|
|
21
|
+
readonly signal?: AbortSignal;
|
|
22
|
+
};
|
|
23
|
+
/** One SET from a poll response: its `jti` and the compact JWS, not yet verified. */
|
|
24
|
+
type PolledSet = {
|
|
25
|
+
readonly jti: string;
|
|
26
|
+
readonly set: string;
|
|
27
|
+
};
|
|
28
|
+
type PollSetsResult = {
|
|
29
|
+
readonly ok: true;
|
|
30
|
+
readonly sets: readonly PolledSet[];
|
|
31
|
+
readonly moreAvailable: boolean;
|
|
32
|
+
} | Extract<SetDelivery, {
|
|
33
|
+
readonly ok: false;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* One RFC 8936 poll request: sends `acks` and `setErrs` and answers the SETs
|
|
37
|
+
* the transmitter returns, unverified. A failure maps as `pushSet`'s does; a
|
|
38
|
+
* `2xx` body without a `sets` object is `invalid-request`. Never throws.
|
|
39
|
+
*/
|
|
40
|
+
declare function pollSets(options: PollSetsOptions): Promise<PollSetsResult>;
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/ssf/set-queue.d.ts
|
|
43
|
+
/**
|
|
44
|
+
* An in-process `SetQueue`: pending SETs per stream in insertion order. A
|
|
45
|
+
* process restart loses them; a deployment with more than one instance needs
|
|
46
|
+
* a shared queue.
|
|
47
|
+
*/
|
|
48
|
+
declare function memorySetQueue(): SetQueue;
|
|
49
|
+
/**
|
|
50
|
+
* The RFC 8936 poll endpoint over a `SetQueue`. It applies the request's
|
|
51
|
+
* `acks` and `setErrs`, then answers `{ sets, moreAvailable }` with up to
|
|
52
|
+
* `maxEvents` pending SETs. It answers at once whatever `returnImmediately`
|
|
53
|
+
* says, which RFC 8936 section 2.4 allows.
|
|
54
|
+
*/
|
|
55
|
+
declare function setPollHandler(options: SetPollHandlerOptions): (request: Request) => Promise<Response>;
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/ssf/streams.d.ts
|
|
58
|
+
/** One stream a transmitter holds and the receiver that created it. */
|
|
59
|
+
type SsfStream = {
|
|
60
|
+
/** The receiver `ssfTransmitter`'s `authorize` answered when the stream was created. */
|
|
61
|
+
readonly owner: string;
|
|
62
|
+
readonly configuration: SsfStreamConfiguration;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* The streams an SSF 1.0 transmitter serves (section 8.1). A new stream is
|
|
66
|
+
* `enabled`; `status` answers `null` for a stream that does not exist.
|
|
67
|
+
*/
|
|
68
|
+
type SsfStreamStore = {
|
|
69
|
+
/** Names the implementation in errors and events. */
|
|
70
|
+
readonly name?: string;
|
|
71
|
+
create(owner: string, configuration: SsfStreamConfiguration): void | Promise<void>;
|
|
72
|
+
get(streamId: string): SsfStream | null | Promise<SsfStream | null>;
|
|
73
|
+
/** Every stream of `owner`, or every stream when `owner` is absent, oldest first. */
|
|
74
|
+
list(owner?: string): readonly SsfStream[] | Promise<readonly SsfStream[]>;
|
|
75
|
+
/** Replaces the configuration of the stream `configuration.stream_id`; the owner and status stay. */
|
|
76
|
+
update(configuration: SsfStreamConfiguration): void | Promise<void>;
|
|
77
|
+
delete(streamId: string): void | Promise<void>;
|
|
78
|
+
status(streamId: string): SsfStreamStatus | null | Promise<SsfStreamStatus | null>;
|
|
79
|
+
setStatus(status: SsfStreamStatus): void | Promise<void>;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* An in-process `SsfStreamStore`. A process restart loses every stream; a
|
|
83
|
+
* deployment with more than one instance needs a shared store.
|
|
84
|
+
*/
|
|
85
|
+
declare function memorySsfStreamStore(): SsfStreamStore;
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/ssf/transmitter-handler.d.ts
|
|
88
|
+
type SsfTransmitterOptions = {
|
|
89
|
+
/** `iss` of every stream and of the metadata; the `iss` the signer writes. */
|
|
90
|
+
readonly issuer: string;
|
|
91
|
+
/** The URL the handler is mounted at; endpoints are `<endpoint>/stream`, `/status`, `/verify` and `/poll`. Default `issuer`. */
|
|
92
|
+
readonly endpoint?: string;
|
|
93
|
+
readonly streams: SsfStreamStore;
|
|
94
|
+
readonly queue: SetQueue;
|
|
95
|
+
readonly signer: TokenSigner;
|
|
96
|
+
/** The receiver the request's credentials authenticate, or `null` to refuse it with `401`. */
|
|
97
|
+
readonly authorize: (request: Request) => string | null | Promise<string | null>;
|
|
98
|
+
/** `aud` of a receiver's streams; default the receiver itself. */
|
|
99
|
+
readonly audience?: (receiver: string) => string | readonly string[];
|
|
100
|
+
readonly jwksUri?: string;
|
|
101
|
+
/** Default every CAEP and RISC event PermDock's receiver handles. */
|
|
102
|
+
readonly eventsSupported?: readonly string[];
|
|
103
|
+
/** The largest `maxEvents` a poll is answered with; default 100. */
|
|
104
|
+
readonly maxEvents?: number;
|
|
105
|
+
readonly fetch?: typeof fetch;
|
|
106
|
+
};
|
|
107
|
+
type FanOutSetOptions = {
|
|
108
|
+
readonly streams: SsfStreamStore;
|
|
109
|
+
readonly queue: SetQueue;
|
|
110
|
+
readonly signer: TokenSigner;
|
|
111
|
+
readonly fetch?: typeof fetch;
|
|
112
|
+
};
|
|
113
|
+
/** How one stream took a SET. `queued` is `true` for a poll stream and for a paused push stream. */
|
|
114
|
+
type SsfFanOut = {
|
|
115
|
+
readonly stream: string;
|
|
116
|
+
readonly jti: string;
|
|
117
|
+
readonly queued: boolean;
|
|
118
|
+
readonly delivery: SetDelivery;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Signs `event` once per distinct stream audience and delivers it to every
|
|
122
|
+
* stream that is not disabled and has the event in `events_delivered`: a
|
|
123
|
+
* push stream through `pushSet`, a poll stream or a paused stream into the
|
|
124
|
+
* queue. Answers one row per stream that took the event.
|
|
125
|
+
*/
|
|
126
|
+
declare function fanOutSet(event: SetEvent, options: FanOutSetOptions): Promise<readonly SsfFanOut[]>;
|
|
127
|
+
/**
|
|
128
|
+
* An SSF 1.0 transmitter as one Fetch handler, routed by path suffix:
|
|
129
|
+
* `/.well-known/ssf-configuration` (section 7.1), `/stream` (8.1.1),
|
|
130
|
+
* `/status` (8.1.2), `/verify` (8.1.4) and `/poll` (RFC 8936). Each receiver
|
|
131
|
+
* sees only the streams it created. Disabling or deleting a stream drops its
|
|
132
|
+
* pending SETs; a paused stream holds them until it is enabled again.
|
|
133
|
+
*/
|
|
134
|
+
declare function ssfTransmitter(options: SsfTransmitterOptions): (request: Request) => Promise<Response>;
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/ssf/transmitter.d.ts
|
|
137
|
+
/** SSF 1.0 delivery method URN for RFC 8935 push. */
|
|
138
|
+
declare const SSF_PUSH_DELIVERY = "urn:ietf:rfc:8935";
|
|
139
|
+
/** SSF 1.0 delivery method URN for RFC 8936 poll. */
|
|
140
|
+
declare const SSF_POLL_DELIVERY = "urn:ietf:rfc:8936";
|
|
141
|
+
/**
|
|
142
|
+
* Signs one event as an RFC 8417 Security Event Token (`typ: secevent+jwt`):
|
|
143
|
+
* `sub_id` is the event's subject and `events` holds exactly one entry, as
|
|
144
|
+
* SSF 1.0 requires. `iss` is the signer's own.
|
|
145
|
+
*/
|
|
146
|
+
declare function signSet(event: SetEvent, signer: TokenSigner, options: SignSetOptions): Promise<string>;
|
|
147
|
+
/**
|
|
148
|
+
* Pushes one SET to a receiver (RFC 8935). A `2xx` is delivery; a `400`
|
|
149
|
+
* maps the receiver's `err` to a cause; `401` and `403` are
|
|
150
|
+
* `authentication-failed` and `access-denied`; a network failure, a timeout,
|
|
151
|
+
* a `429` or a `5xx` is `unavailable` with `retry: true`. Never throws.
|
|
152
|
+
*/
|
|
153
|
+
declare function pushSet(set: string, options: PushSetOptions): Promise<SetDelivery>;
|
|
154
|
+
type CaepCredentialChange = CaepCommon & {
|
|
155
|
+
readonly credentialType: string;
|
|
156
|
+
readonly changeType: "create" | "revoke" | "update" | "delete";
|
|
157
|
+
readonly friendlyName?: string;
|
|
158
|
+
readonly x509Issuer?: string;
|
|
159
|
+
readonly x509Serial?: string;
|
|
160
|
+
readonly fido2Aaguid?: string;
|
|
161
|
+
};
|
|
162
|
+
type CaepTokenClaimsChange = CaepCommon & {
|
|
163
|
+
readonly claims: Readonly<Record<string, unknown>>;
|
|
164
|
+
};
|
|
165
|
+
type CaepAssuranceLevelChange = CaepCommon & {
|
|
166
|
+
readonly namespace: string;
|
|
167
|
+
readonly currentLevel: string;
|
|
168
|
+
readonly previousLevel?: string;
|
|
169
|
+
readonly changeDirection?: "increase" | "decrease";
|
|
170
|
+
};
|
|
171
|
+
type CaepDeviceComplianceChange = CaepCommon & {
|
|
172
|
+
readonly previousStatus: "compliant" | "not-compliant";
|
|
173
|
+
readonly currentStatus: "compliant" | "not-compliant";
|
|
174
|
+
};
|
|
175
|
+
type CaepEvents = {
|
|
176
|
+
readonly sessionRevoked: (input: CaepCommon) => SetEvent;
|
|
177
|
+
readonly credentialChange: (input: CaepCredentialChange) => SetEvent;
|
|
178
|
+
readonly tokenClaimsChange: (input: CaepTokenClaimsChange) => SetEvent;
|
|
179
|
+
readonly assuranceLevelChange: (input: CaepAssuranceLevelChange) => SetEvent;
|
|
180
|
+
readonly deviceComplianceChange: (input: CaepDeviceComplianceChange) => SetEvent;
|
|
181
|
+
};
|
|
182
|
+
/** CAEP 1.0 event builders; each returns a `SetEvent` for `signSet`. */
|
|
183
|
+
declare const caepEvents: CaepEvents;
|
|
184
|
+
type RiscAccountDisabled = {
|
|
185
|
+
readonly subject: SetSubject;
|
|
186
|
+
readonly reason?: "hijacking" | "bulk-account";
|
|
187
|
+
};
|
|
188
|
+
type RiscCredentialCompromise = CaepCommon & {
|
|
189
|
+
readonly credentialType: string;
|
|
190
|
+
};
|
|
191
|
+
type RiscEvents = {
|
|
192
|
+
readonly accountDisabled: (input: RiscAccountDisabled) => SetEvent;
|
|
193
|
+
readonly accountPurged: (input: {
|
|
194
|
+
readonly subject: SetSubject;
|
|
195
|
+
}) => SetEvent;
|
|
196
|
+
readonly credentialCompromise: (input: RiscCredentialCompromise) => SetEvent;
|
|
197
|
+
};
|
|
198
|
+
/** RISC 1.0 event builders for the events PermDock's receiver treats as revoking every session. */
|
|
199
|
+
declare const riscEvents: RiscEvents;
|
|
200
|
+
/**
|
|
201
|
+
* The SSF 1.0 section 8.1.4 verification event for `stream`, echoing the
|
|
202
|
+
* receiver's `state`. Its subject is the stream, never a principal.
|
|
203
|
+
*/
|
|
204
|
+
declare function streamVerificationEvent(stream: string, state?: string): SetEvent;
|
|
205
|
+
//#endregion
|
|
206
|
+
export { createPermDock as A, memorySsfStreamStore as C, PollSetsResult as D, PollSetsOptions as E, PolledSet as O, SsfStreamStore as S, setPollHandler as T, SsfFanOut as _, CaepTokenClaimsChange as a, ssfTransmitter as b, RiscEvents as c, caepEvents as d, pushSet as f, FanOutSetOptions as g, streamVerificationEvent as h, CaepEvents as i, pollSets as k, SSF_POLL_DELIVERY as l, signSet as m, CaepCredentialChange as n, RiscAccountDisabled as o, riscEvents as p, CaepDeviceComplianceChange as r, RiscCredentialCompromise as s, CaepAssuranceLevelChange as t, SSF_PUSH_DELIVERY as u, SsfTransmitterOptions as v, memorySetQueue as w, SsfStream as x, fanOutSet as y };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { dt as TokenVerifier, et as MembershipSource, q as DecisionSink } from "./policy-types-
|
|
2
|
-
import {
|
|
1
|
+
import { dt as TokenVerifier, et as MembershipSource, q as DecisionSink } from "./policy-types-B-F-qAZk.js";
|
|
2
|
+
import { O as AppData } from "./permission-types-DhNEmoRG.js";
|
|
3
3
|
import { n as RevocationFeed } from "./revocations-R07lFBnX.js";
|
|
4
4
|
import { t as ClaimsMap } from "./claims-map-Ca-QX8C6.js";
|
|
5
|
+
import { t as SqlQuery } from "./sql-CDEPCA0g.js";
|
|
5
6
|
//#region src/scim/types.d.ts
|
|
6
7
|
declare const SCIM_CONTENT_TYPE = "application/scim+json";
|
|
7
8
|
declare const USER_SCHEMA = "urn:ietf:params:scim:schemas:core:2.0:User";
|
|
@@ -192,4 +193,18 @@ declare function directoryMembershipSource(store: DirectoryStore, options?: Dire
|
|
|
192
193
|
//#region src/scim/store.d.ts
|
|
193
194
|
declare function memoryDirectoryStore(): DirectoryStore;
|
|
194
195
|
//#endregion
|
|
195
|
-
|
|
196
|
+
//#region src/scim/postgres-store.d.ts
|
|
197
|
+
type PostgresDirectoryStoreOptions = {
|
|
198
|
+
/** Schema of the generated tables (`permdock scim generate --schema`). Default `permdock`. */
|
|
199
|
+
readonly schema?: string;
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* A `DirectoryStore` over the tables `permdock scim generate` writes, called
|
|
203
|
+
* through a `SqlQuery` that may read and write them (the table owner, or a
|
|
204
|
+
* role granted on them). Every method is one statement, so a pool needs no
|
|
205
|
+
* transaction: a group and its members change together, and a PATCH that
|
|
206
|
+
* races another write re-reads the row and applies its operations again.
|
|
207
|
+
*/
|
|
208
|
+
declare function postgresDirectoryStore(query: SqlQuery, options?: PostgresDirectoryStoreOptions): DirectoryStore;
|
|
209
|
+
//#endregion
|
|
210
|
+
export { ScimFilter as A, DirectoryUser as C, PATCH_SCHEMA as D, LIST_SCHEMA as E, ScimTokenOptions as F, USER_SCHEMA as I, isDirectoryNotFoundError as L, ScimPage as M, ScimPageResult as N, ROLES_EXTENSION as O, ScimPatchOp as P, isDirectoryUniquenessError as R, DirectoryUniquenessError as S, GROUP_SCHEMA as T, DirectoryChange as _, normalizePatchOps as a, DirectoryNotFoundError as b, filterSupported as c, resourceTypes as d, schemas as f, APP_DATA_EXTENSION as g, sha256Hex as h, directoryMembershipSource as i, ScimHandlerOptions as j, SCIM_CONTENT_TYPE as k, matchFilter as l, authenticateScim as m, postgresDirectoryStore as n, tenantFromPath as o, serviceProviderConfig as p, memoryDirectoryStore as r, scimHandler as s, PostgresDirectoryStoreOptions as t, parseScimFilter as u, DirectoryGroup as v, ERROR_SCHEMA as w, DirectoryStore as x, DirectoryMembershipSourceOptions as y };
|