permdock 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -35
- package/dist/{schema-Bol6gqXA.js → 2020-C9VN-x8c.js} +5 -130
- package/dist/a2a/index.d.ts +6 -6
- package/dist/a2a/index.js +14 -17
- package/dist/{adapter-context-mlWsVGGg.js → adapter-context-CRhqyzCk.js} +1 -1
- package/dist/adoption-scan-DCYe60Pi.js +107 -0
- package/dist/agent/index.d.ts +3 -0
- package/dist/agent/index.js +1 -0
- package/dist/ai-sdk/index.d.ts +18 -35
- package/dist/ai-sdk/index.js +37 -23
- package/dist/{app-data-CV8pqqMi.js → app-data-MuyzVqX8.js} +2 -1
- package/dist/approval-header-CJACtHkv.js +23 -0
- package/dist/approval-prompt-Dg5LeAcT.js +62 -0
- package/dist/approval-prompt-DvSSPQJX.d.ts +57 -0
- package/dist/approvals/index.d.ts +5 -3
- package/dist/approvals/index.js +8 -5
- package/dist/approvals-p1PGoVjb.js +995 -0
- package/dist/arazzo-41WuzHou.js +36 -0
- package/dist/{arazzo-C4BcskbX.js → arazzo-CaUVBn7D.js} +20 -14
- package/dist/args-IIolxxKA.js +197 -0
- package/dist/astro/index.d.ts +43 -0
- package/dist/astro/index.js +27 -0
- package/dist/audience-DabClFLQ.js +55 -0
- package/dist/auth-DRLEizbL.js +178 -0
- package/dist/authzen/index.d.ts +26 -6
- package/dist/authzen/index.js +94 -79
- package/dist/automation-BNM3TtDo.d.ts +114 -0
- package/dist/automation-DVjOckjV.js +157 -0
- package/dist/better-auth/index.d.ts +8 -6
- package/dist/better-auth/index.js +9 -8
- package/dist/better-supabase/index.d.ts +357 -30
- package/dist/better-supabase/index.js +936 -194
- package/dist/{bind-kk-uyCwH.js → bind-CAvgUuKs.js} +14 -10
- package/dist/{bind-BzqG8SMb.d.ts → bind-DOyrv6zi.d.ts} +12 -10
- package/dist/body-CH5of8Ne.js +10 -0
- package/dist/body-text-QcXok_SI.js +52 -0
- package/dist/{build-instance-DIIV9DbC.js → build-instance-Bu_eDqYw.js} +4 -3
- package/dist/{canonical-json-CFKyFOke.js → canonical-json-BC8_nMTw.js} +5 -3
- package/dist/{capability-CksyCWDH.d.ts → capability-Drg-1YhL.d.ts} +44 -25
- package/dist/{capability-txATtKV4.js → capability-N1K9IpqS.js} +68 -42
- package/dist/casbin-Cr7RLtA3.js +30 -0
- package/dist/casbin-Dyu2gnUD.js +234 -0
- package/dist/casl-64gpT-8x.js +24 -0
- package/dist/casl-DjEDhTCP.js +299 -0
- package/dist/catalog/index.d.ts +74 -2
- package/dist/catalog/index.js +51 -2
- package/dist/catalog-BoWglDPI.js +1 -0
- package/dist/catalog-DZVbrF-z.js +52 -0
- package/dist/{catalog-tZUyOfOv.js → catalog-HD2gf5mY.js} +51 -6
- package/dist/{catalog-doc-DWtg0gGR.js → catalog-doc-Cdn7-0pQ.js} +45 -23
- package/dist/catalog-fingerprint-CCP0-yQS.js +153 -0
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.js +224 -0
- package/dist/chat-sdk/index.d.ts +87 -0
- package/dist/chat-sdk/index.js +197 -0
- package/dist/claims-map-7oQ3ue4X.js +13 -0
- package/dist/claims-map-Ca-QX8C6.d.ts +32 -0
- package/dist/claude-agent/index.d.ts +7 -14
- package/dist/claude-agent/index.js +24 -27
- package/dist/clerk/index.d.ts +9 -8
- package/dist/clerk/index.js +9 -14
- package/dist/cli/bin.js +36 -17
- package/dist/cli/index.d.ts +19 -5
- package/dist/cli/index.js +164 -4
- package/dist/cloud/index.d.ts +102 -63
- package/dist/cloud/index.js +239 -340
- package/dist/cloud-ytQ3uviA.js +87 -0
- package/dist/codemod-5mpSpnUY.js +37 -0
- package/dist/codemod-ua2hHy7w.js +2084 -0
- package/dist/collect-Ci6akVwH.js +55 -0
- package/dist/collect-D7eQDffE.js +1 -0
- package/dist/{collect-2SrB7lfk.js → collect-mLTY4nwb.js} +75 -11
- package/dist/command-L8EstFNm.js +6 -0
- package/dist/compile/index.d.ts +1 -1
- package/dist/compile/index.js +1 -2
- package/dist/{compile-CtTP7eur.d.ts → compile-1bsAezL0.d.ts} +5 -3
- package/dist/{compile-CcEu2ZQ1.js → compile-CMqMx_IN.js} +11 -8
- package/dist/completion-BTFrHZhX.js +143 -0
- package/dist/config-Bj2Ixq3d.js +26 -0
- package/dist/{config-BIjREpyE.js → config-bs_kZeYq.js} +12 -7
- package/dist/{config-report--Xb9APJS.js → config-report-DSpsLpCE.js} +15 -5
- package/dist/{connection-DUsczpB5.js → connection-DjhIJSs2.js} +6 -5
- package/dist/{context-DieZVJXu.js → context-B_u3_bDJ.js} +2 -2
- package/dist/convex/index.d.ts +11 -10
- package/dist/convex/index.js +6 -4
- package/dist/create-B30OMUOJ.d.ts +107 -0
- package/dist/create-CBMmFie-.d.ts +138 -0
- package/dist/create-CGm28gyI.js +130 -0
- package/dist/create-CQWIpUG-.js +403 -0
- package/dist/{create-BBO24vj6.js → create-DCF2SvoT.js} +31 -32
- package/dist/create-D_NmPOdH.d.ts +110 -0
- package/dist/{credential-kue0qpbm.js → credential-BcoiejpY.js} +152 -31
- package/dist/credentials-DPyHmYz5.js +74 -0
- package/dist/delegation-j6-rc37o.js +286 -0
- package/dist/delivery/index.d.ts +5 -0
- package/dist/delivery/index.js +5 -0
- package/dist/delivery-DCAgNyCn.js +499 -0
- package/dist/delivery-event-xX4obB8F.js +40 -0
- package/dist/{denied-text-DfRk15uw.d.ts → denied-text-CiFQNuMV.d.ts} +5 -5
- package/dist/{describe-C3ldA9os.d.ts → describe-B5qgDvEW.d.ts} +2 -2
- package/dist/{describe-Cgkp7eP0.js → describe-BybMRY7A.js} +6 -2
- package/dist/device-BARQ8eYG.js +193 -0
- package/dist/{diff-rpqoe7Ag.js → diff-3jbx6Rm4.js} +60 -54
- package/dist/diff-CmuSD3vc.js +37 -0
- package/dist/doctor-3ZqNHX_G.js +44 -0
- package/dist/{doctor-owlv6ddh.js → doctor-BdZw53-k.js} +245 -50
- package/dist/drizzle/index.d.ts +5 -3
- package/dist/drizzle/index.js +2 -2
- package/dist/elysia/index.d.ts +16 -13
- package/dist/elysia/index.js +13 -12
- package/dist/env-DJZrPjRi.js +8 -0
- package/dist/errors-BDUwg2qC.js +27 -0
- package/dist/{errors-drnfxYtm.js → errors-BKy0EfhN.js} +5 -9
- package/dist/errors-BWXBMaKK.d.ts +11 -0
- package/dist/errors-CWTY6uih.js +143 -0
- package/dist/{errors-OD_4c__H.d.ts → errors-DH5QEGXh.d.ts} +2 -2
- package/dist/evaluate-CNClBvcj.js +1785 -0
- package/dist/evaluations-C_1vdSZc.d.ts +32 -0
- package/dist/{evaluations-C9YJsv3H.js → evaluations-beAooV0n.js} +145 -34
- package/dist/eve/index.d.ts +12 -16
- package/dist/eve/index.js +22 -28
- package/dist/event-time-CsegxXxB.js +23 -0
- package/dist/expiry-D4_YKRKD.js +52 -0
- package/dist/express/index.d.ts +13 -10
- package/dist/express/index.js +12 -11
- package/dist/fastify/index.d.ts +25 -22
- package/dist/fastify/index.js +13 -12
- package/dist/fetch-adapter-DD_gfmrC.js +120 -0
- package/dist/fetch-adapter-Dw0MTS3D.d.ts +31 -0
- package/dist/fields-OYG_JR78.js +203 -0
- package/dist/files-C5ZI27eV.js +124 -0
- package/dist/{fixtures-h2eG2OZV.js → fixtures-B7XrLeY7.js} +8 -7
- package/dist/flags-C3DktBDY.js +86 -0
- package/dist/{from-snapshot-7REQZe0H.js → from-snapshot-CTCMsFZk.js} +55 -52
- package/dist/{grantee-conditions-MQs5NIuX.js → grantee-conditions-CcXf8hMM.js} +4 -3
- package/dist/{grantee-CXY-0C87.js → grantee-hxrUsbpM.js} +16 -6
- package/dist/{grantee-match-fxYp9Nmt.js → grantee-match-DbENBHLB.js} +5 -4
- package/dist/h3/index.d.ts +37 -0
- package/dist/h3/index.js +35 -0
- package/dist/headers-BIjfMaoC.js +8 -0
- package/dist/headers-CIbDTUTK.d.ts +7 -0
- package/dist/{helpers-C9YmyBIa.js → helpers-CBYVMjwh.js} +45 -38
- package/dist/hono/index.d.ts +12 -9
- package/dist/hono/index.js +13 -12
- package/dist/hosted-B46-5LYE.js +315 -0
- package/dist/hosted-BPk51-kX.d.ts +78 -0
- package/dist/{http-DPuDaChb.d.ts → http-B_LphE5Y.d.ts} +1 -2
- package/dist/http-DXJ37RDA.js +46 -0
- package/dist/{http-BEbdMZ05.js → http-ujKm0JXE.js} +1 -2
- package/dist/{import-UHk1N7vH.js → import-CNV7I2Dw.js} +25 -20
- package/dist/{import-BFIlhetD.js → import-wyqXUyjm.js} +190 -53
- package/dist/index-B8YjkEZ4.d.ts +210 -0
- package/dist/index-C-6Letxg.d.ts +431 -0
- package/dist/index-CaxrMD1A.d.ts +1 -0
- package/dist/{index-BwMe94Xq.d.ts → index-Ch8LpNDp.d.ts} +34 -16
- package/dist/index-Cp_ilKi1.d.ts +91 -0
- package/dist/index-CueFnxQc.d.ts +110 -0
- package/dist/index-DuWxc5dt.d.ts +909 -0
- package/dist/index.d.ts +19 -15
- package/dist/index.js +31 -21
- package/dist/init-DeMYsnYJ.js +96 -0
- package/dist/init-GG6Jh8HD.js +95 -0
- package/dist/{instance-options-plkrsAog.d.ts → instance-options-BsVpyGIk.d.ts} +2 -2
- package/dist/instance-snapshot-BOEhcqIF.js +601 -0
- package/dist/instant-BluqDvyS.js +19 -0
- package/dist/internals-Dk8A8fX3.js +17 -0
- package/dist/{json-schema-DBkdUuCO.js → json-schema-B-vAwlde.js} +45 -6
- package/dist/json-schema-CN_iLFH2.d.ts +40 -0
- package/dist/jwt/index.d.ts +18 -11
- package/dist/jwt/index.js +156 -135
- package/dist/{kernel-CB3LrIJM.js → kernel-D0NVb1cK.js} +52 -24
- package/dist/kysely/index.d.ts +5 -3
- package/dist/kysely/index.js +2 -2
- package/dist/load-BxEtwlBS.js +1 -0
- package/dist/{load-C3_oTHyO.js → load-DFS_ry0W.js} +22 -6
- package/dist/{load-jose-BL6LH4bL.js → load-jose-DZ4dnjri.js} +1 -4
- package/dist/login-Dfe5RlYk.js +68 -0
- package/dist/login-imhuwvn3.js +254 -0
- package/dist/manifest-C8IzW3Do.js +42 -0
- package/dist/manifest-dvL2XEe1.js +370 -0
- package/dist/manifest-json-CAGzls-C.js +9 -0
- package/dist/{manifest-uDS9y5de.d.ts → manifest-mx5ghSFM.d.ts} +9 -2
- package/dist/manifest-schema-C0kK_8V0.js +399 -0
- package/dist/{map-claims-AVlBaJoa.js → map-claims-D3oRmTk0.js} +13 -10
- package/dist/{map-error-BE27PYkE.js → map-error-Dr70oA_3.js} +3 -3
- package/dist/{markers-CiwAOZtO.js → markers-C6joDI3o.js} +2 -1
- package/dist/mcp/index.d.ts +22 -12
- package/dist/mcp/index.js +57 -39
- package/dist/{migrate-BwlB5-Wk.js → migrate-CIq4-E9F.js} +53 -14
- package/dist/nest/index.d.ts +12 -9
- package/dist/nest/index.js +15 -14
- package/dist/next/index.d.ts +18 -21
- package/dist/next/index.js +13 -11
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +2 -2
- package/dist/node/index.d.ts +10 -10
- package/dist/node/index.js +7 -9
- package/dist/{ocsf-uYFXGVw2.js → ocsf-BFp-PZZA.js} +22 -11
- package/dist/openai/index.d.ts +9 -16
- package/dist/openai/index.js +17 -24
- package/dist/openapi/index.d.ts +3 -3
- package/dist/openapi/index.js +1 -1
- package/dist/{openapi-DBzHQbov.js → openapi-B7HZ0f-r.js} +8 -8
- package/dist/openapi-C4dDTVEd.js +138 -0
- package/dist/{openapi-BJdBmYDG.js → openapi-DD1SV-5-.js} +10 -9
- package/dist/operation-findings-DgATDpvh.js +36 -0
- package/dist/operations-X0VM7F3m.d.ts +59 -0
- package/dist/orpc/index.d.ts +13 -10
- package/dist/orpc/index.js +20 -15
- package/dist/otel/index.d.ts +3 -2
- package/dist/otel/index.js +30 -7
- package/dist/output-1im__-08.js +88 -0
- package/dist/output-files-B3IZJksC.js +1 -0
- package/dist/{output-files-CgIsvdSa.js → output-files-DhRBBE4n.js} +24 -26
- package/dist/{permission-keys-B26jeyUv.js → ownership-DqaJNJPn.js} +1045 -153
- package/dist/{package-root-DtNnpmUd.js → package-root-Dk_ETdkp.js} +1 -1
- package/dist/{parse-CVFQHk6c.js → parse-Cxq0WxrA.js} +2 -2
- package/dist/{parse-local-manifest-DvYUR0QL.d.ts → parse-local-manifest-5ODwqu8b.d.ts} +1 -1
- package/dist/{parse-local-manifest-C-q02Pal.js → parse-local-manifest-CVSs6J9I.js} +1 -1
- package/dist/parse-request-D_tUXG6M.js +26 -0
- package/dist/paths-DXSHAMIa.js +42 -0
- package/dist/pdp/index.d.ts +7 -3
- package/dist/pdp/index.js +45 -26
- package/dist/{peer-BOr_kJE1.js → peer-C8swJ2GH.js} +23 -4
- package/dist/peer-CRvC7Hg1.js +1 -0
- package/dist/permdock-BrAscV28.js +868 -0
- package/dist/permdock-SV8ZINYT.d.ts +502 -0
- package/dist/{permission-registry-BsblpB-z.js → permission-registry-Br4jSNVi.js} +3 -3
- package/dist/permissions-B-wCP5ZC.js +30 -0
- package/dist/{permissions-CCJ6lmxB.js → permissions-BPxlwVhN.js} +4 -3
- package/dist/{permissions-COH-KRgT.d.ts → permissions-u_KHg-sN.d.ts} +1 -2
- package/dist/policies-DP2nqRoF.js +295 -0
- package/dist/{policy-ur0BBK_e.d.ts → policy-77FSAq_V.d.ts} +2 -2
- package/dist/{hosted-CBHgkzDl.js → policy-DbM5YYtV.js} +17 -273
- package/dist/policy-from-catalog-C2gMa2Dj.js +450 -0
- package/dist/policy-module-CTlwMvLI.js +89 -0
- package/dist/{policy-types-sp9P1iIV.d.ts → policy-types-n0uRTsW8.d.ts} +460 -632
- package/dist/postgrest-CEgRbefE.d.ts +100 -0
- package/dist/postgrest-DAjUkF9w.js +575 -0
- package/dist/{powersync-cZe4kzhL.js → powersync-BkWWCS1K.js} +23 -24
- package/dist/powersync-DISt6SUe.js +62 -0
- package/dist/powersync-MMJ2mI2q.js +1 -0
- package/dist/preset/index.d.ts +146 -0
- package/dist/preset/index.js +1 -0
- package/dist/preset-DZdU0tne.js +1768 -0
- package/dist/principal-source-pHneukrx.js +103 -0
- package/dist/prisma/index.d.ts +6 -3
- package/dist/prisma/index.js +2 -2
- package/dist/{problem-CnWraVhC.js → problem-CTviyH5L.js} +13 -23
- package/dist/{problem-details-rIIo8B2C.d.ts → problem-details-B45V5d2b.d.ts} +1 -1
- package/dist/{problem-details-DECUnXAn.js → problem-details-cn5X30gZ.js} +43 -40
- package/dist/problem-types-CJ2325SZ.js +5 -0
- package/dist/{prompt-CXYhLfsS.js → prompt-DfZLJLIn.js} +2 -2
- package/dist/{protected-BN7BUdY1.js → protected-BlF0F6wL.js} +21 -4
- package/dist/{protected-B3_P7xuw.d.ts → protected-RFGpakN9.d.ts} +16 -8
- package/dist/{provider-Bi-0HNL3.js → provider-B1al-AZz.js} +2 -2
- package/dist/{provider-kwHC9CZD.d.ts → provider-DILL9oPK.d.ts} +1 -1
- package/dist/{provider-store-Ctt-81Ni.js → provider-store-DM6DNcta.js} +2 -2
- package/dist/pull-CvpINcMK.js +1 -0
- package/dist/pull-jEwbf80J.js +256 -0
- package/dist/push-BD4f15co.js +116 -0
- package/dist/pushed-policy-CqtxkV4G.js +238 -0
- package/dist/pushed-policy-DCW91KQU.d.ts +57 -0
- 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 -2
- package/dist/react-native/index.d.ts +24 -72
- package/dist/react-native/index.js +29 -25
- package/dist/{refs-f3imMjNW.js → refs-K6eWUJ0H.js} +1 -1
- package/dist/{relation-walk-BXnlLtg2.js → relation-walk-3OyDBF0S.js} +2 -2
- package/dist/{relations-CvmSpG67.js → relations-BnCWnJGI.js} +3 -3
- package/dist/renames-CGj7YwcQ.js +175 -0
- package/dist/{replay-COpmZUfx.d.ts → replay-Bkm-Ne4l.d.ts} +1 -1
- package/dist/{replay-BsOyTrdV.js → replay-Du1tJjG7.js} +2 -1
- package/dist/{request-context-BVM7aWNs.js → request-context-C81Pip9n.js} +3 -3
- package/dist/request-schema-CMreVuFM.js +148 -0
- package/dist/resend/index.d.ts +126 -0
- package/dist/resend/index.js +379 -0
- package/dist/{resource-relations-D1Un3pcz.js → resource-relations-D_jw0BFx.js} +1 -1
- package/dist/{retire-BFcxL6un.js → retire-CALjIQ7e.js} +2 -2
- package/dist/{revocations-Cy06JNx2.d.ts → revocations-R07lFBnX.d.ts} +2 -0
- package/dist/rls-BAqP4q66.js +336 -0
- package/dist/{rls-BEktUaqg.js → rls-DTvYd-lI.js} +288 -690
- package/dist/{role-builder-B4GbKM-i.js → role-builder-uWQZ4v84.js} +14 -207
- package/dist/{rpc-nYC3cR_u.js → rpc-VSl5ylaQ.js} +7 -7
- package/dist/run-CUKuz0A8.js +723 -0
- package/dist/run-DDwUaJDU.js +1 -0
- package/dist/run-ticket-DocwaTKn.d.ts +124 -0
- package/dist/run-ticket-sxFI6LAk.js +337 -0
- package/dist/{runtime-D_tMXnsq.js → runtime-D3VTAiCA.js} +1 -1
- package/dist/{saas-DtaA4JuW.js → saas-BCXRuXca.js} +16 -14
- package/dist/scan-qvOe0hS3.js +29 -0
- package/dist/{schema-DjQBcAP9.js → schema-B4v0Qrac.js} +102 -8
- package/dist/schema-yLuBWWsh.js +130 -0
- package/dist/scim/index.d.ts +2 -2
- package/dist/scim/index.js +1 -2
- package/dist/{scim-vFR1O5oG.js → scim-ClHtpyV3.js} +208 -76
- package/dist/{scopes-tvpa34ep.js → scopes-CUPSjo9q.js} +12 -7
- package/dist/server/index.d.ts +12 -143
- package/dist/server/index.js +12 -9
- package/dist/server-C3WXAHZj.js +453 -0
- package/dist/{server-types-DdqBwZN_.d.ts → server-types-CKQiCnON.d.ts} +51 -68
- package/dist/{sha256-BO0swRXL.js → sha256-D9ihqmvd.js} +8 -1
- package/dist/{shared-1uhI-e-b.js → shared-BAK8t4Uo.js} +20 -9
- package/dist/{shared-JhMeOsDF.js → shared-DvvFzYXe.js} +8 -9
- package/dist/signals-D3NcTKUS.js +32 -0
- package/dist/sink-4-eQIRWf.d.ts +225 -0
- package/dist/sink-BEZSlMS_.js +957 -0
- package/dist/{skills-BZdRQkxs.js → skills-B6lVdD_W.js} +13 -6
- package/dist/skills-CTYwkl44.js +51 -0
- package/dist/snapshot-B7DkYg6g.js +269 -0
- package/dist/{snapshot-cache-Cod40D-X.js → snapshot-cache-DZHQ0KF6.js} +11 -5
- package/dist/{snapshot-cache-J5T7t_vD.d.ts → snapshot-cache-PXI-vGpY.d.ts} +7 -5
- package/dist/solid/index.d.ts +11 -12
- package/dist/solid/index.js +7 -7
- package/dist/solid-start/index.d.ts +52 -0
- package/dist/solid-start/index.js +49 -0
- package/dist/{sources-Dljy06zL.d.ts → sources-Xc4zkszI.d.ts} +7 -13
- package/dist/{sources-B1-b-R0t.js → sources-vs5dGOsS.js} +125 -119
- package/dist/{sql-t8teWOfo.js → sql-B5T1IL83.js} +13 -1
- package/dist/src-Cu2m75uo.js +1860 -0
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +384 -47
- package/dist/standard-webhooks-DgFFD-Ga.js +228 -0
- package/dist/standard-webhooks-rbD7LS6h.d.ts +88 -0
- package/dist/storage-C2bWdvJH.js +132 -0
- package/dist/{store-ILkLUj_o.js → store-BDutJkDL.js} +40 -53
- package/dist/{store-options-CbUHDoSe.js → store-options-u0ycEe8s.js} +26 -21
- package/dist/{stores-Cxz_80g-.d.ts → stores-BUGNbJTt.d.ts} +7 -8
- package/dist/{stores-BHXdSbw9.js → stores-CGhM8BN_.js} +2 -2
- package/dist/{stream-Dwsg6WwE.d.ts → stream-CeCMJmBB.d.ts} +2 -2
- package/dist/{stream-BMui98KK.js → stream-CvdUS9V1.js} +9 -2
- package/dist/style-DiKWnAvn.js +1 -0
- package/dist/{style-CTm1AXDT.js → style-Uao76wO7.js} +3 -2
- package/dist/subject-BGoM5o8B.js +17 -0
- package/dist/supabase/index.d.ts +23 -106
- package/dist/supabase/index.js +5 -4
- package/dist/supabase/middleware.d.ts +7 -6
- package/dist/supabase/middleware.js +13 -11
- package/dist/supabase-By_frk3U.js +92 -0
- package/dist/{supabase-hook-Cva3ikXz.js → supabase-hook-BMoEhZir.js} +960 -64
- package/dist/supabase-hook-CCw5m35C.js +1 -0
- package/dist/{supabase-C1TWlnYt.js → supabase-x5JtR2tc.js} +99 -206
- package/dist/support-session-C6xJQYut.js +158 -0
- package/dist/svelte/Protected.svelte +4 -4
- package/dist/svelte/index.d.ts +7 -7
- package/dist/svelte/index.js +10 -10
- 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 +4 -4
- package/dist/sveltekit/index.d.ts +51 -0
- package/dist/sveltekit/index.js +27 -0
- package/dist/tanstack-start/index.d.ts +51 -0
- package/dist/tanstack-start/index.js +40 -0
- package/dist/target-Bw37TFNA.js +51 -0
- package/dist/{tenancy-DshjqY0n.js → tenancy-DN2QAx9z.js} +5 -5
- package/dist/terminal/index.d.ts +11 -9
- package/dist/terminal/index.js +23 -287
- package/dist/testing/index.d.ts +311 -38
- package/dist/testing/index.js +3475 -201
- package/dist/testing/saas/index.d.ts +9 -8
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -2
- package/dist/text-BMFRfBqc.js +8 -0
- package/dist/{text-diff-BdkkYSbi.js → text-diff-BQcUapOb.js} +1 -1
- package/dist/thenable-yD7SabqG.js +31 -0
- package/dist/time-DkWjdL98.js +71 -0
- package/dist/{token-Bx9qy30p.js → token-BLZcjQgt.js} +15 -6
- package/dist/{tool-refusal-CQ7OEia9.js → tool-refusal-CMLN5xhn.js} +2 -2
- package/dist/trpc/index.d.ts +12 -9
- package/dist/trpc/index.js +16 -14
- package/dist/types-8RnwUAvE.d.ts +107 -0
- package/dist/{store-9KO4BlkB.d.ts → types-B3_ooZgZ.d.ts} +100 -75
- package/dist/{types-Br9IXUBG.d.ts → types-BdtSDbBO.d.ts} +77 -17
- package/dist/types-BtHtcKMr.d.ts +157 -0
- package/dist/{types-CqrjB9o6.d.ts → types-BzzaHxt3.d.ts} +23 -11
- package/dist/types-C791HFu9.d.ts +332 -0
- package/dist/types-C863OQiR.d.ts +57 -0
- package/dist/{types-ByUo56un.d.ts → types-CVZSNocA.d.ts} +23 -22
- package/dist/{types-DHrmBJLH.d.ts → types-CX7AvRqP.d.ts} +7 -7
- package/dist/types-C_IiEs64.d.ts +65 -0
- package/dist/{types-7rJVLWe5.d.ts → types-Dfv0aTER.d.ts} +63 -11
- package/dist/types-DqzsnlSA.js +67 -0
- package/dist/{types-DpWfQdSh.d.ts → types-Druu9wLM.d.ts} +46 -11
- package/dist/{types-CIlTojhq.d.ts → types-_WhUP7ud.d.ts} +9 -6
- package/dist/{types-CUcFZfpU.d.ts → types-lUlG3TVd.d.ts} +2 -1
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-CRVl9V3t.js +32 -0
- package/dist/usage-CZpSQP6L.js +1 -0
- package/dist/{usage-CG9nOYZw.js → usage-SveTRTyr.js} +54 -11
- package/dist/{validation-error-BSSw0l_8.d.ts → validation-error-DHUrAkku.d.ts} +1 -1
- package/dist/{validity-dVrUEPJt.js → validity-CZ7-y0Cj.js} +32 -15
- package/dist/{verifier-DMr_Zmb_.js → verifier-DHuh-okk.js} +18 -7
- package/dist/{verify-BztUB3GX.js → verify-BaAKx7t6.js} +645 -50
- package/dist/{version-BEogC-rB.js → version-CEbQ5UeM.js} +4 -3
- package/dist/version-DXkYUISx.js +1 -0
- package/dist/{views-CJsrBS1f.js → views-DTIIO-oQ.js} +22 -5
- package/dist/{permission-types-Dg39z9Kv.d.ts → vocabulary-CN8H_9UF.d.ts} +67 -2
- package/dist/vue/index.d.ts +9 -10
- package/dist/vue/index.js +8 -8
- package/dist/waiter-B986w1oK.d.ts +36 -0
- package/dist/waiter-BGUtGYoU.js +67 -0
- package/dist/watch--ovlPOc0.js +1 -0
- package/dist/{watch-zeucB7eF.js → watch-vea54PRw.js} +44 -5
- package/dist/webmcp/index.d.ts +2 -2
- package/dist/webmcp/index.js +3 -3
- package/dist/where-scope-C9vfEphl.js +306 -0
- package/dist/who-can-DWBAcaCQ.js +364 -0
- package/dist/wire-delegation-Cv3W2eaM.js +36 -0
- package/dist/wire-denial-C7PaVYEM.js +27 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.js +223 -0
- package/dist/workflow-sdk/index.d.ts +56 -0
- package/dist/workflow-sdk/index.js +78 -0
- package/dist/{wrap-Cr93qqdP.d.ts → wrap-C5jC6sKI.d.ts} +2 -1
- package/dist/{wrap-DWsU_5Bd.js → wrap-gX61EtpB.js} +7 -6
- package/package.json +136 -37
- package/schemas/access-event-v1.json +118 -0
- package/schemas/approval-request-v1.json +34 -1
- package/schemas/approval-signature-v1.json +94 -0
- package/schemas/automation-event-v1.json +113 -0
- package/schemas/capability-v1.json +84 -0
- package/schemas/catalog-event-v1.json +87 -0
- package/schemas/catalog-v1.json +123 -12
- package/schemas/cli-commands-v1.json +164 -0
- package/schemas/cli-result-v1.json +96 -0
- package/schemas/cloud-api-v1.json +5407 -0
- package/schemas/connector-v1.json +408 -0
- package/schemas/credential-event-v1.json +81 -0
- package/schemas/credential-v1.json +134 -0
- package/schemas/decision-event-v1.json +288 -0
- package/schemas/delivery-event-v1.json +117 -0
- package/schemas/directory-event-v1.json +85 -0
- package/schemas/evidence-export-v1.json +54 -0
- package/schemas/membership-event-v1.json +93 -0
- package/schemas/policy-v1.json +68 -0
- package/schemas/pushed-policy-v1.json +236 -0
- package/schemas/run-v1.json +162 -0
- package/schemas/snapshot-v1.json +138 -0
- package/schemas/supabase-claims-v1.json +4 -4
- package/schemas/supabase-manifest-v1.json +5 -1
- package/schemas/support-session-v1.json +111 -0
- package/skills/permdock/SKILL.md +16 -12
- package/skills/permdock-agents/SKILL.md +40 -23
- package/skills/permdock-agents/references/operations-automations-chat.md +221 -0
- package/skills/permdock-agents/references/runtimes.md +22 -18
- package/skills/permdock-approvals/SKILL.md +29 -13
- package/skills/permdock-approvals/references/delivery-and-waiters.md +172 -0
- package/skills/permdock-approvals/references/stores-and-resume.md +21 -7
- package/skills/permdock-audit/SKILL.md +3 -3
- package/skills/permdock-credentials/SKILL.md +5 -5
- package/skills/permdock-credentials/references/tokens-keys-links.md +14 -10
- package/skills/permdock-data/SKILL.md +6 -6
- package/skills/permdock-data/references/queries-and-rls.md +10 -9
- package/skills/permdock-data/references/relationships.md +3 -3
- package/skills/permdock-tenancy/SKILL.md +20 -7
- package/skills/permdock-tenancy/references/contacts-and-support-sessions.md +122 -0
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +6 -4
- package/skills/permdock-wire/SKILL.md +17 -11
- package/skills/permdock-wire/references/adapters.md +139 -51
- package/skills/permdock-wire/references/policy-options.md +5 -5
- package/skills/permdock-wire/references/presets-and-recipes.md +58 -0
- package/dist/approvals-DZL76lKW.js +0 -240
- package/dist/arazzo-CD8d0WLb.js +0 -54
- package/dist/catalog-6yWAX6Ps.js +0 -2
- package/dist/catalog-WHG4kBq7.js +0 -48
- package/dist/cloud-C7bSDgX4.js +0 -50
- package/dist/cloud-PeBN3IEn.js +0 -118
- package/dist/collect-Bw2Jdq1q.js +0 -2
- package/dist/collect-CQx4hX4N.js +0 -83
- package/dist/commands-Cpip4ULx.js +0 -97
- package/dist/config-DLt6BvV7.js +0 -36
- package/dist/diff-Cnghh_Ip.js +0 -48
- package/dist/doctor-CuVJvhV_.js +0 -53
- package/dist/duration-xK2jGFVc.js +0 -25
- package/dist/errors-CWfoNg9N.js +0 -47
- package/dist/errors-DRnGZHzF.js +0 -30
- package/dist/expiry-BoBJ8Tvc.js +0 -7
- package/dist/fields-fwfXN01n.js +0 -1016
- package/dist/headers-BZSDieNT.js +0 -6
- package/dist/headers-Cf-zWvsO.d.ts +0 -6
- package/dist/ids-DC4V4CFu.js +0 -18
- package/dist/index-DgM7w96K.d.ts +0 -6
- package/dist/index-Dz7didpC.d.ts +0 -201
- package/dist/index-UdVQgq48.d.ts +0 -550
- package/dist/load-B_shHrmd.js +0 -2
- package/dist/manifest-BngWKryL.js +0 -770
- package/dist/may-use-BOn_dR_w.js +0 -78
- package/dist/openapi-DcQ1Kg40.js +0 -164
- package/dist/ownership-BgnbOJFT.js +0 -851
- package/dist/permdock-L26udHSk.js +0 -3646
- package/dist/powersync-BFSbSElQ.js +0 -62
- package/dist/powersync-DCDgZgfZ.js +0 -2
- package/dist/rls-55DQTuf5.js +0 -250
- package/dist/run-DMcNW_8T.js +0 -174
- package/dist/server-ZYEHtNHS.js +0 -268
- package/dist/sink-BTtmfPnE.js +0 -141
- package/dist/sink-CPN4zLfs.d.ts +0 -104
- package/dist/skills-Dle4ZoLF.js +0 -56
- package/dist/snapshot-Dc9CHPME.js +0 -1078
- package/dist/src-Bb7no-hS.js +0 -639
- package/dist/subject-C6dLxqHU.js +0 -24
- package/dist/supabase-Dbqr141s.js +0 -83
- package/dist/supabase-hook-BULg7Ut_.js +0 -2
- package/dist/thenable-QSmvt-vZ.js +0 -65
- package/dist/types-C0dee0Qf.d.ts +0 -197
- package/dist/types-DvupZE0w.d.ts +0 -9
- package/dist/usage-4G6t643F.js +0 -42
- package/dist/usage-iFLJ0-rr.js +0 -2
- package/dist/vocabulary-hhEFLFoL.d.ts +0 -65
- package/dist/watch-C8TpsAl4.js +0 -2
package/dist/index-UdVQgq48.d.ts
DELETED
|
@@ -1,550 +0,0 @@
|
|
|
1
|
-
import { Br as SqlFunctionArg, Dr as Membership, E as Policy, G as EntitlementSource, I as SeparationConflict, Ir as OpaqueCondition, Mr as ConditionRef, N as RoleBinding, O as PolicyDelegation, Or as Principal, P as RoleOptions, Sr as CustomRole, V as VocabularyFromInput, Vr as SqlFunctionCondition, Y as LimitStore, Z as MembershipSource, _ as GrantCondition, an as Snapshot, at as SnapshotSource, g as Grant, i as ApprovalOption, in as LocalSnapshotManifest, it as SettingsSource, j as PolicyVocabulary, jt as PermDock, kr as Subject, mn as PolicyScopesInput, nt as RoleSource, p as DefinePolicyOptions, s as AssuranceRequirement, sr as DenialReason, st as TenantSettings, tt as RelationSource, vn as AccessEvent, w as MembershipFixture, wr as Delegation, xn as DecisionEvent } from "./policy-types-sp9P1iIV.js";
|
|
2
|
-
import { C as ResourceRelationInput, T as ResourceXTree, b as ResourceOptions, d as Permission, f as PermissionKind, h as ResourceInit, i as DefinePermissionsOptions, n as ActionMeta, p as PermissionTree, t as ActionList, u as InferPermissionTree, v as ResourceMeta, w as ResourceRestricted, x as ResourceParent, y as ResourceNode } from "./permission-types-Dg39z9Kv.js";
|
|
3
|
-
import { r as Role } from "./vocabulary-hhEFLFoL.js";
|
|
4
|
-
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
5
|
-
//#region src/conditions/refs.d.ts
|
|
6
|
-
type KnownRefField = "id" | "issuer" | "kind" | "tenant" | "team" | "roles" | "plans" | "memberships" | "assurance" | "binding" | "session";
|
|
7
|
-
type SubjectRef = ConditionRef & { readonly [K in KnownRefField]: SubjectRef; } & {
|
|
8
|
-
readonly [key: string]: SubjectRef;
|
|
9
|
-
};
|
|
10
|
-
declare const principal: SubjectRef;
|
|
11
|
-
declare const context: SubjectRef;
|
|
12
|
-
//#endregion
|
|
13
|
-
//#region src/core/custom-roles.d.ts
|
|
14
|
-
type CustomRoleDropReason = "unknown-permission" | "outside-ceiling" | "condition-not-allowed" | "unknown-level";
|
|
15
|
-
/** Why part of a custom role was left out: a permission, or an undeclared include. */
|
|
16
|
-
type CustomRoleDrop = {
|
|
17
|
-
readonly permission: string;
|
|
18
|
-
readonly reason: CustomRoleDropReason;
|
|
19
|
-
/** The stored level, for `unknown-level`. */
|
|
20
|
-
readonly level?: string;
|
|
21
|
-
} | {
|
|
22
|
-
readonly role: string;
|
|
23
|
-
readonly reason: "unknown-role";
|
|
24
|
-
};
|
|
25
|
-
/** A stored grant that named a permission by a key it was renamed from. */
|
|
26
|
-
type CustomRoleRename = {
|
|
27
|
-
readonly from: string;
|
|
28
|
-
readonly to: string;
|
|
29
|
-
};
|
|
30
|
-
type ResolvedCustomRole = {
|
|
31
|
-
/** Declared grants re-targeted to the custom role; conditions and approvals kept. */
|
|
32
|
-
readonly grants: readonly Grant[];
|
|
33
|
-
readonly dropped: readonly CustomRoleDrop[];
|
|
34
|
-
/** Grants stored under a former key (`definePermissions` `renamed`), resolved to the current one. */
|
|
35
|
-
readonly renamed: readonly CustomRoleRename[];
|
|
36
|
-
};
|
|
37
|
-
type CustomRoleValidation = {
|
|
38
|
-
readonly ok: boolean;
|
|
39
|
-
/** Permission keys the role allows after the ceiling, sorted. */
|
|
40
|
-
readonly permissions: readonly string[];
|
|
41
|
-
readonly dropped: readonly CustomRoleDrop[];
|
|
42
|
-
/** Grants to rewrite in storage: each still resolves, under its current key. */
|
|
43
|
-
readonly renamed: readonly CustomRoleRename[];
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* The one resolver behind evaluation, snapshots and `validateCustomRole`.
|
|
47
|
-
* Included roles' grants plus the role's own allows, minus its denies, all
|
|
48
|
-
* intersected with the ceiling. An allow inherits the condition, approval and
|
|
49
|
-
* limit of the declared grant it comes from: an included assignable role's
|
|
50
|
-
* grant when there is one, otherwise every ceiling grant of that permission,
|
|
51
|
-
* together with the denies of the roles those grants belong to.
|
|
52
|
-
*/
|
|
53
|
-
declare function resolveCustomRole(policy: Policy, role: CustomRole): ResolvedCustomRole;
|
|
54
|
-
declare function validateCustomRole(policy: Policy, role: CustomRole): CustomRoleValidation;
|
|
55
|
-
/**
|
|
56
|
-
* The compact JWT form of custom roles for the `memberships[].grants` claim
|
|
57
|
-
* RLS reads in `jwt` mode: role name to entries, where `key` allows, `-key`
|
|
58
|
-
* denies and `@role` includes. Put a team custom role on its team membership.
|
|
59
|
-
* Pass `policy` to write keys stored under a former name as the current key.
|
|
60
|
-
*/
|
|
61
|
-
declare function customRoleClaim(roles: readonly CustomRole[], policy?: Policy): Readonly<Record<string, readonly string[]>>;
|
|
62
|
-
//#endregion
|
|
63
|
-
//#region src/core/snapshot.d.ts
|
|
64
|
-
declare function parseSnapshot(json: unknown): Snapshot;
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region src/core/from-snapshot.d.ts
|
|
67
|
-
declare function fromSnapshot(snapshot: Snapshot, options?: {
|
|
68
|
-
readonly tenant?: string;
|
|
69
|
-
readonly team?: string;
|
|
70
|
-
}): PermDock;
|
|
71
|
-
declare function emptySnapshot(): Snapshot;
|
|
72
|
-
//#endregion
|
|
73
|
-
//#region src/core/approval-required.d.ts
|
|
74
|
-
declare function requiresApproval(approval: Grant["approval"] | undefined): boolean;
|
|
75
|
-
//#endregion
|
|
76
|
-
//#region src/core/policy.d.ts
|
|
77
|
-
declare function definePolicy<TUser, TPrincipal extends Principal, const Input extends PermissionTree | PolicyVocabulary, const S extends PolicyScopesInput = PolicyScopesInput>(permissions: Input, options: DefinePolicyOptions<TUser, TPrincipal, S>): Policy<TUser, TPrincipal, VocabularyFromInput<Input>>;
|
|
78
|
-
declare function separationConflicts(policy: Policy, memberships: readonly MembershipFixture[]): readonly SeparationConflict[];
|
|
79
|
-
//#endregion
|
|
80
|
-
//#region src/conditions/opaque.d.ts
|
|
81
|
-
declare function opaque(input: {
|
|
82
|
-
readonly sql: string;
|
|
83
|
-
readonly fingerprint: string;
|
|
84
|
-
}): OpaqueCondition;
|
|
85
|
-
//#endregion
|
|
86
|
-
//#region src/conditions/sql-function.d.ts
|
|
87
|
-
declare function sqlFunction(name: string, options: {
|
|
88
|
-
readonly args?: readonly SqlFunctionArg[];
|
|
89
|
-
readonly twin: unknown;
|
|
90
|
-
}): SqlFunctionCondition;
|
|
91
|
-
//#endregion
|
|
92
|
-
//#region src/core/memory-sources.d.ts
|
|
93
|
-
declare function memoryEntitlementSource(entries: Readonly<Record<string, readonly string[]>>): EntitlementSource;
|
|
94
|
-
declare function memorySettings(settings: Readonly<Record<string, TenantSettings>>): SettingsSource;
|
|
95
|
-
/** Memberships keyed by principal id; `tenant` is not a filter, as for a database source. */
|
|
96
|
-
declare function memoryMembershipSource(entries: Readonly<Record<string, readonly Membership[]>>): MembershipSource;
|
|
97
|
-
/** A snapshot held in memory; `set` replaces it and notifies every subscriber. */
|
|
98
|
-
declare function memorySnapshotSource(initial: Snapshot | string): SnapshotSource & {
|
|
99
|
-
set(snapshot: Snapshot | string): void;
|
|
100
|
-
};
|
|
101
|
-
declare function memoryRoleSource(customRoles: readonly CustomRole[]): RoleSource;
|
|
102
|
-
//#endregion
|
|
103
|
-
//#region src/core/memberships.d.ts
|
|
104
|
-
/**
|
|
105
|
-
* One `MembershipSource` over several: memberships are merged and
|
|
106
|
-
* de-duplicated, `list` concatenates the sources that can list, and `version`
|
|
107
|
-
* is the highest version any source reports. A source that throws makes the
|
|
108
|
-
* whole lookup throw, which the subject resolver turns into no memberships.
|
|
109
|
-
*/
|
|
110
|
-
declare function composeMemberships(sources: readonly MembershipSource[]): MembershipSource;
|
|
111
|
-
/**
|
|
112
|
-
* Trust the memberships the verified token carries, and read `source` only
|
|
113
|
-
* when the token marks them truncated. With `version`, a token minted before
|
|
114
|
-
* the latest membership change is stale for the policy's `fresh` permissions,
|
|
115
|
-
* or with `onStale: 'reread'` has its memberships read from `source` instead.
|
|
116
|
-
*/
|
|
117
|
-
declare function claimsFirst(source: MembershipSource | readonly MembershipSource[], options?: {
|
|
118
|
-
readonly version?: MembershipSource["version"];
|
|
119
|
-
readonly onStale?: "deny" | "reread";
|
|
120
|
-
}): MembershipSource;
|
|
121
|
-
/** Whether the identity provider owns `membership`: the application must not add, change or remove it. */
|
|
122
|
-
declare function isExternallyManaged(membership: Membership): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* How many principals hold `role` in one scope instance now, from the
|
|
125
|
-
* source's member list (`MembershipSource.list`): live memberships of exactly
|
|
126
|
-
* that scope and instance, each principal counted once. The `holders` a
|
|
127
|
-
* `decideRoleChange` with `min`, `max` or `transferOnly` needs. `undefined`
|
|
128
|
-
* when the source cannot list or the read fails, which that check denies.
|
|
129
|
-
*/
|
|
130
|
-
declare function countHolders(source: MembershipSource | readonly MembershipSource[], query: {
|
|
131
|
-
readonly scope: string;
|
|
132
|
-
readonly id: string;
|
|
133
|
-
readonly role: string | {
|
|
134
|
-
readonly key: string;
|
|
135
|
-
};
|
|
136
|
-
}): Promise<number | undefined>;
|
|
137
|
-
//#endregion
|
|
138
|
-
//#region src/core/stripe-entitlements.d.ts
|
|
139
|
-
/** The part of the Stripe Node SDK this source calls: `stripe.entitlements.activeEntitlements.list`. */
|
|
140
|
-
type StripeEntitlementsClient = {
|
|
141
|
-
readonly entitlements: {
|
|
142
|
-
readonly activeEntitlements: {
|
|
143
|
-
list(params: {
|
|
144
|
-
readonly customer: string;
|
|
145
|
-
readonly limit?: number;
|
|
146
|
-
readonly starting_after?: string;
|
|
147
|
-
}): PromiseLike<{
|
|
148
|
-
readonly data: readonly {
|
|
149
|
-
readonly id: string;
|
|
150
|
-
readonly lookup_key: string;
|
|
151
|
-
}[];
|
|
152
|
-
readonly has_more: boolean;
|
|
153
|
-
}>;
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
};
|
|
157
|
-
/**
|
|
158
|
-
* Plan names from Stripe Entitlements: the `lookup_key` of every active
|
|
159
|
-
* entitlement of the tenant's Stripe customer. `customer` maps the active
|
|
160
|
-
* tenant to its customer id; no tenant or no customer means no entitlements.
|
|
161
|
-
* Pass it as `entitlements`, and grant with `plan('<lookup_key>')`.
|
|
162
|
-
*/
|
|
163
|
-
declare function fromStripeEntitlements(options: {
|
|
164
|
-
readonly stripe: StripeEntitlementsClient;
|
|
165
|
-
readonly customer: (tenant: string, principal: {
|
|
166
|
-
readonly id: string;
|
|
167
|
-
}) => string | undefined | PromiseLike<string | undefined>;
|
|
168
|
-
}): EntitlementSource;
|
|
169
|
-
//#endregion
|
|
170
|
-
//#region src/core/limits.d.ts
|
|
171
|
-
declare function memoryLimitStore(): LimitStore & {
|
|
172
|
-
/** Live counters, for tests and diagnostics. */
|
|
173
|
-
size(): number;
|
|
174
|
-
};
|
|
175
|
-
//#endregion
|
|
176
|
-
//#region src/core/memory-relations.d.ts
|
|
177
|
-
type MemoryEdge = {
|
|
178
|
-
/** The object's id. */
|
|
179
|
-
readonly id: string;
|
|
180
|
-
readonly principal: string;
|
|
181
|
-
readonly startsAt?: number;
|
|
182
|
-
readonly expiresAt?: number;
|
|
183
|
-
};
|
|
184
|
-
type MemoryRelationsData = {
|
|
185
|
-
/** Rows per resource: parent pointers, links, restricted flags and relation columns are read from them. */
|
|
186
|
-
readonly rows?: Readonly<Record<string, readonly Readonly<Record<string, unknown>>[]>>;
|
|
187
|
-
/** Edge-table rows per resource and relation. */
|
|
188
|
-
readonly edges?: Readonly<Record<string, Readonly<Record<string, readonly MemoryEdge[]>>>>;
|
|
189
|
-
/**
|
|
190
|
-
* Edge tables as the database holds them, keyed by `edge` name: each row
|
|
191
|
-
* is read through the relation's `object`, `subject`, `expiresAt`, `match`
|
|
192
|
-
* and `groups` columns. A relation whose table is here ignores `edges`.
|
|
193
|
-
*/
|
|
194
|
-
readonly tables?: Readonly<Record<string, readonly Readonly<Record<string, unknown>>[]>>;
|
|
195
|
-
};
|
|
196
|
-
/**
|
|
197
|
-
* An in-process `RelationSource` over plain rows and edges, read against the
|
|
198
|
-
* resource definitions in `permissions`. For tests, fixtures and small apps.
|
|
199
|
-
*/
|
|
200
|
-
declare function memoryRelations(permissions: PermissionTree, data?: MemoryRelationsData): RelationSource;
|
|
201
|
-
//#endregion
|
|
202
|
-
//#region src/core/local-manifest.d.ts
|
|
203
|
-
/**
|
|
204
|
-
* What the policy grants, as JSON a device turns into snapshots from its own
|
|
205
|
-
* membership rows (`localSnapshot` in `permdock/react-native`). Write it at
|
|
206
|
-
* build time; the policy itself never ships to the client.
|
|
207
|
-
*/
|
|
208
|
-
declare function localSnapshotManifest(policy: Policy): LocalSnapshotManifest;
|
|
209
|
-
//#endregion
|
|
210
|
-
//#region src/core/may-access.d.ts
|
|
211
|
-
/**
|
|
212
|
-
* An optimistic routing hint for a proxy or middleware, never a decision.
|
|
213
|
-
* `false` only when the subject's declared roles provably lack `permission`;
|
|
214
|
-
* `true` whenever custom roles, plans, memberships the claims do not carry or
|
|
215
|
-
* row conditions could still grant it. Synchronous, no network, never throws.
|
|
216
|
-
* Pages, Server Actions and RLS remain the enforcement points.
|
|
217
|
-
*/
|
|
218
|
-
declare function mayAccess(policy: Policy, user: unknown, permission: Permission, options?: {
|
|
219
|
-
readonly tenant?: string;
|
|
220
|
-
}): boolean;
|
|
221
|
-
//#endregion
|
|
222
|
-
//#region src/core/may-use.d.ts
|
|
223
|
-
/**
|
|
224
|
-
* Whether `permission` could be granted to this instance's subject for some
|
|
225
|
-
* row: the grants its snapshot carries for the active tenant, minus an
|
|
226
|
-
* unconditional deny, within its delegation. A listing hint for tools and
|
|
227
|
-
* skills, never a decision; the call itself is decided in full.
|
|
228
|
-
*/
|
|
229
|
-
declare function mayUse(permdock: PermDock, permission: Permission): boolean;
|
|
230
|
-
type PermittedIdsOptions = {
|
|
231
|
-
readonly within?: string;
|
|
232
|
-
readonly conditioned?: boolean;
|
|
233
|
-
};
|
|
234
|
-
/**
|
|
235
|
-
* The instances of `scope` in which the subject holds `permission`, from its
|
|
236
|
-
* live memberships of exactly that scope, within its delegation: by default
|
|
237
|
-
* those with an allow that carries no row condition (`where`, `check`, a
|
|
238
|
-
* validity window or a non-portable test; a `fields` limit is not a row
|
|
239
|
-
* condition), minus the instances any deny of the permission reaches. The
|
|
240
|
-
* in-process mirror of the SQL `permitted_<scope>_ids_by_permission`. With
|
|
241
|
-
* `conditioned: true` it also lists the instances where a conditioned allow
|
|
242
|
-
* applies, minus only unconditional denies, as
|
|
243
|
-
* `permitted_<scope>_ids_by_permission(p_permission, true)` does. A listing,
|
|
244
|
-
* never a decision: a row's own check still runs `can`.
|
|
245
|
-
*/
|
|
246
|
-
declare function permittedIds(permdock: PermDock, permission: Permission, scope: string, options?: PermittedIdsOptions): readonly string[];
|
|
247
|
-
//#endregion
|
|
248
|
-
//#region src/core/custom-role-source.d.ts
|
|
249
|
-
/** Reads custom roles from the application's store, as `customRoleSource` takes them. */
|
|
250
|
-
type CustomRoleReader = {
|
|
251
|
-
/** Every custom role of `tenant`, whether or not anyone in the request holds it. */
|
|
252
|
-
rolesOf(tenant: string): CustomRole[] | Promise<CustomRole[]>;
|
|
253
|
-
assignable?(tenant: string): string[] | Promise<string[]>;
|
|
254
|
-
/** Platform custom roles (`scope: 'global'`). */
|
|
255
|
-
globalRoles?(): CustomRole[] | Promise<CustomRole[]>;
|
|
256
|
-
};
|
|
257
|
-
type CustomRoleSourceOptions = {
|
|
258
|
-
/** `'all'` (default): read every custom role of each tenant, so `assignableRoles` and `decideRoleChange` see them all. */
|
|
259
|
-
readonly read?: "all";
|
|
260
|
-
} | {
|
|
261
|
-
/** `'held'`: skip a tenant's read, and the platform read, when every role the subject holds there is declared in `policy`. For requests that never manage roles. */
|
|
262
|
-
readonly read: "held";
|
|
263
|
-
readonly policy: Policy;
|
|
264
|
-
};
|
|
265
|
-
/**
|
|
266
|
-
* A `RoleSource` over a reader that returns every custom role of a tenant.
|
|
267
|
-
* It keeps only the roles of the requested tenant. With `read: 'held'` it
|
|
268
|
-
* skips a tenant's read, and `globalRoles`, when the subject holds only
|
|
269
|
-
* declared roles there.
|
|
270
|
-
*/
|
|
271
|
-
declare function customRoleSource(reader: CustomRoleReader, options?: CustomRoleSourceOptions): RoleSource;
|
|
272
|
-
//#endregion
|
|
273
|
-
//#region src/core/instance-snapshot.d.ts
|
|
274
|
-
type SnapshotInclude = readonly (Permission | {
|
|
275
|
-
readonly [key: string]: unknown;
|
|
276
|
-
})[];
|
|
277
|
-
//#endregion
|
|
278
|
-
//#region src/core/snapshot-for.d.ts
|
|
279
|
-
type SnapshotForOptions = {
|
|
280
|
-
/** Active tenant; ignored unless the subject holds a membership in it. */
|
|
281
|
-
readonly tenant?: string;
|
|
282
|
-
/** Database mode: replaces the memberships carried by the subject. */
|
|
283
|
-
readonly memberships?: readonly Membership[];
|
|
284
|
-
/** The tenant's custom roles, typically from a shared, tagged cache. */
|
|
285
|
-
readonly customRoles?: readonly CustomRole[];
|
|
286
|
-
/** Per tenant, the role names `RoleSource.assignable` returns; narrows `assignable`. */
|
|
287
|
-
readonly assignable?: Readonly<Record<string, readonly string[]>>;
|
|
288
|
-
/** Plans of the active tenant; replaces `principal.plans`. */
|
|
289
|
-
readonly plans?: readonly string[];
|
|
290
|
-
readonly include?: SnapshotInclude;
|
|
291
|
-
readonly tenants?: "all";
|
|
292
|
-
/** Epoch seconds for `issuedAt` and membership expiry. Defaults to the clock. */
|
|
293
|
-
readonly now?: number;
|
|
294
|
-
};
|
|
295
|
-
/**
|
|
296
|
-
* Builds the serializable access snapshot for a subject without a request,
|
|
297
|
-
* a network call or a cache directive: call it inside the app's own
|
|
298
|
-
* `'use cache: private'` function. Synchronous; the policy's `subject` and
|
|
299
|
-
* `context` mappers must be synchronous too.
|
|
300
|
-
*/
|
|
301
|
-
declare function snapshotFor<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, user: TUser | Subject | null, options?: SnapshotForOptions): Snapshot;
|
|
302
|
-
//#endregion
|
|
303
|
-
//#region src/core/permissions.d.ts
|
|
304
|
-
declare function definePermissions<const Input, PX = never, RX = never>(input: Input, options?: DefinePermissionsOptions<PX, RX>): InferPermissionTree<Input, "", PX> & ResourceXTree<RX>;
|
|
305
|
-
//#endregion
|
|
306
|
-
//#region src/core/permission-registry.d.ts
|
|
307
|
-
declare function getResource<RX = never>(tree: PermissionTree & ResourceXTree<RX>, name: string): ([RX] extends [never] ? ResourceNode : ResourceNode & {
|
|
308
|
-
readonly meta?: ResourceMeta<Readonly<RX>>;
|
|
309
|
-
}) | undefined;
|
|
310
|
-
declare function listPermissions(tree: PermissionTree | Permission): readonly Permission[];
|
|
311
|
-
declare function findPermission(tree: PermissionTree, keyOrScope: string): Permission | undefined;
|
|
312
|
-
/**
|
|
313
|
-
* A permission leaf: string `key`, `scope`, `resource` and `action` plus an
|
|
314
|
-
* object `meta`. `kind` is non-enumerable and does not survive
|
|
315
|
-
* `JSON.stringify`, so a leaf that crossed a serialisation boundary passes
|
|
316
|
-
* without it; when present it must be `instance` or `collection`.
|
|
317
|
-
*/
|
|
318
|
-
declare function isPermission(value: unknown): value is Permission;
|
|
319
|
-
declare function mergePermissions<const Trees extends readonly PermissionTree[]>(...trees: Trees): PermissionTree;
|
|
320
|
-
//#endregion
|
|
321
|
-
//#region src/core/permission-leaf.d.ts
|
|
322
|
-
/**
|
|
323
|
-
* The keys `permission` was renamed from, sorted. Empty for a leaf without
|
|
324
|
-
* renames and for one that crossed a serialisation boundary.
|
|
325
|
-
*/
|
|
326
|
-
declare function formerKeys(permission: object): readonly string[];
|
|
327
|
-
declare function resource<T, const A extends ActionList = readonly [], const C extends ActionList = readonly []>(schema: StandardSchemaV1<unknown, T>, options?: ResourceOptions<A, C>): ResourceInit<T, A, C>;
|
|
328
|
-
declare function resource<const A extends ActionList = readonly [], const C extends ActionList = readonly []>(options: ResourceOptions<A, C>): ResourceInit<unknown, A, C>;
|
|
329
|
-
//#endregion
|
|
330
|
-
//#region src/core/presets.d.ts
|
|
331
|
-
type ReadOnlyMeta = {
|
|
332
|
-
readonly readOnly: true;
|
|
333
|
-
};
|
|
334
|
-
type DestructiveMeta = {
|
|
335
|
-
readonly destructive: true;
|
|
336
|
-
};
|
|
337
|
-
type CrudActions = {
|
|
338
|
-
readonly read: ReadOnlyMeta;
|
|
339
|
-
readonly update: ActionMeta;
|
|
340
|
-
readonly delete: DestructiveMeta;
|
|
341
|
-
};
|
|
342
|
-
type CrudCollection = {
|
|
343
|
-
readonly create: ActionMeta;
|
|
344
|
-
readonly list: ReadOnlyMeta;
|
|
345
|
-
};
|
|
346
|
-
type ReadableActions = {
|
|
347
|
-
readonly read: ReadOnlyMeta;
|
|
348
|
-
};
|
|
349
|
-
type ReadableCollection = {
|
|
350
|
-
readonly list: ReadOnlyMeta;
|
|
351
|
-
};
|
|
352
|
-
type WritableActions = {
|
|
353
|
-
readonly read: ReadOnlyMeta;
|
|
354
|
-
readonly update: ActionMeta;
|
|
355
|
-
};
|
|
356
|
-
declare const CRUD_ACTIONS: CrudActions;
|
|
357
|
-
declare const CRUD_COLLECTION: CrudCollection;
|
|
358
|
-
declare const READABLE_ACTIONS: ReadableActions;
|
|
359
|
-
declare const READABLE_COLLECTION: ReadableCollection;
|
|
360
|
-
declare const WRITABLE_ACTIONS: WritableActions;
|
|
361
|
-
type EmptyRecord = Record<never, never>;
|
|
362
|
-
declare const WRITABLE_COLLECTION: EmptyRecord;
|
|
363
|
-
type ActionNames<A extends ActionList | undefined> = A extends readonly string[] ? A[number] & string : A extends Record<string, ActionMeta> ? keyof A & string : never;
|
|
364
|
-
type ToActionRecord<A extends ActionList | undefined> = [ActionNames<A>] extends [never] ? EmptyRecord : { readonly [K in ActionNames<A>]: ActionMeta; };
|
|
365
|
-
type OverlayMeta<Base extends ActionMeta, Extra extends ActionMeta> = Omit<Base, keyof Extra> & Extra;
|
|
366
|
-
type MergeActionRecords<Base extends Record<string, ActionMeta>, Extra extends Record<string, ActionMeta>> = { readonly [K in keyof Base | keyof Extra]: K extends keyof Extra ? K extends keyof Base ? OverlayMeta<Base[K] & ActionMeta, Extra[K] & ActionMeta> : Extra[K] & ActionMeta : K extends keyof Base ? Base[K] & ActionMeta : never; };
|
|
367
|
-
type PresetOptions<A extends ActionList | undefined = undefined, C extends ActionList | undefined = undefined> = {
|
|
368
|
-
readonly id?: string;
|
|
369
|
-
readonly parent?: ResourceParent;
|
|
370
|
-
readonly relations?: Readonly<Record<string, ResourceRelationInput>>;
|
|
371
|
-
readonly restricted?: string | ResourceRestricted;
|
|
372
|
-
readonly disclosure?: "hide" | "reveal";
|
|
373
|
-
readonly actions?: A;
|
|
374
|
-
readonly collection?: C;
|
|
375
|
-
};
|
|
376
|
-
type PresetResult<BaseA extends Record<string, ActionMeta>, BaseC extends Record<string, ActionMeta>, A extends ActionList | undefined, C extends ActionList | undefined> = {
|
|
377
|
-
readonly id?: string;
|
|
378
|
-
readonly parent?: ResourceParent;
|
|
379
|
-
readonly relations?: Readonly<Record<string, ResourceRelationInput>>;
|
|
380
|
-
readonly restricted?: string | ResourceRestricted;
|
|
381
|
-
readonly disclosure?: "hide" | "reveal";
|
|
382
|
-
readonly actions: MergeActionRecords<BaseA, ToActionRecord<A>>;
|
|
383
|
-
readonly collection?: MergeActionRecords<BaseC, ToActionRecord<C>>;
|
|
384
|
-
};
|
|
385
|
-
declare function crud<const A extends ActionList | undefined = undefined, const C extends ActionList | undefined = undefined>(options?: PresetOptions<A, C>): PresetResult<typeof CRUD_ACTIONS, typeof CRUD_COLLECTION, A, C>;
|
|
386
|
-
declare function readable<const A extends ActionList | undefined = undefined, const C extends ActionList | undefined = undefined>(options?: PresetOptions<A, C>): PresetResult<typeof READABLE_ACTIONS, typeof READABLE_COLLECTION, A, C>;
|
|
387
|
-
declare function writable<const A extends ActionList | undefined = undefined, const C extends ActionList | undefined = undefined>(options?: PresetOptions<A, C>): PresetResult<typeof WRITABLE_ACTIONS, typeof WRITABLE_COLLECTION, A, C>;
|
|
388
|
-
//#endregion
|
|
389
|
-
//#region src/core/role-builder.d.ts
|
|
390
|
-
type RoleGrants = readonly (Omit<Grant, "role" | "scope"> | readonly Omit<Grant, "role" | "scope">[])[];
|
|
391
|
-
/** A role held at a named scope: `on` is checked against `definePolicy({ scopes })`. */
|
|
392
|
-
declare function role<const S extends string>(name: string | Role, grants: RoleGrants, options: RoleOptions<S> & {
|
|
393
|
-
readonly on: S;
|
|
394
|
-
}): RoleBinding<S>;
|
|
395
|
-
/** A global role, or one held on a resource. */
|
|
396
|
-
declare function role(name: string | Role, grants: RoleGrants, options?: RoleOptions<never>): RoleBinding<never>;
|
|
397
|
-
/** Options built at runtime: the scope name is only checked by `definePolicy`. */
|
|
398
|
-
declare function role(name: string | Role, grants: RoleGrants, options?: RoleOptions): RoleBinding;
|
|
399
|
-
declare function normalizeAssurance(input: AssuranceRequirement | undefined): AssuranceRequirement | undefined;
|
|
400
|
-
//#endregion
|
|
401
|
-
//#region src/core/grant-builders.d.ts
|
|
402
|
-
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">[];
|
|
403
|
-
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">[];
|
|
404
|
-
//#endregion
|
|
405
|
-
//#region src/core/approval-normalize.d.ts
|
|
406
|
-
declare function normalizeApproval(approval: ApprovalOption | undefined, permission?: string): Grant["approval"];
|
|
407
|
-
//#endregion
|
|
408
|
-
//#region src/core/duration.d.ts
|
|
409
|
-
declare function parseDuration(input: unknown): number | undefined;
|
|
410
|
-
//#endregion
|
|
411
|
-
//#region src/core/ocsf.d.ts
|
|
412
|
-
/** The OCSF schema version `toOcsf` emits. */
|
|
413
|
-
declare const OCSF_VERSION = "1.3.0";
|
|
414
|
-
/** An OCSF Authorize Session (class 3003, category Identity and Access Management) event. */
|
|
415
|
-
type OcsfAuthorizeSession = {
|
|
416
|
-
readonly class_uid: 3003;
|
|
417
|
-
readonly category_uid: 3;
|
|
418
|
-
readonly activity_id: 1;
|
|
419
|
-
readonly type_uid: 300301;
|
|
420
|
-
readonly severity_id: 1 | 4;
|
|
421
|
-
readonly time: number;
|
|
422
|
-
readonly status_id: 0 | 1 | 2 | 99;
|
|
423
|
-
readonly status: "Unknown" | "Success" | "Failure" | "Other";
|
|
424
|
-
readonly status_detail?: string;
|
|
425
|
-
readonly message: string;
|
|
426
|
-
readonly privileges: readonly string[];
|
|
427
|
-
/** OCSF requires `user`; an anonymous subject is `{ name: 'anonymous' }`. */
|
|
428
|
-
readonly user: {
|
|
429
|
-
readonly uid: string;
|
|
430
|
-
} | {
|
|
431
|
-
readonly name: "anonymous";
|
|
432
|
-
};
|
|
433
|
-
readonly actor?: {
|
|
434
|
-
readonly user?: {
|
|
435
|
-
readonly uid: string;
|
|
436
|
-
};
|
|
437
|
-
readonly app_name?: string;
|
|
438
|
-
};
|
|
439
|
-
readonly metadata: {
|
|
440
|
-
readonly version: typeof OCSF_VERSION;
|
|
441
|
-
readonly product: {
|
|
442
|
-
readonly name: "PermDock";
|
|
443
|
-
readonly vendor_name: "PermDock";
|
|
444
|
-
readonly feature?: {
|
|
445
|
-
readonly name: string;
|
|
446
|
-
};
|
|
447
|
-
};
|
|
448
|
-
readonly tenant_uid?: string;
|
|
449
|
-
readonly correlation_uid?: string;
|
|
450
|
-
};
|
|
451
|
-
readonly unmapped: {
|
|
452
|
-
readonly outcome: DecisionEvent["outcome"];
|
|
453
|
-
readonly scope: string;
|
|
454
|
-
readonly resource: DecisionEvent["resource"];
|
|
455
|
-
readonly source: DecisionEvent["source"];
|
|
456
|
-
readonly phase?: DecisionEvent["phase"];
|
|
457
|
-
readonly role?: string | null;
|
|
458
|
-
/** The matched grant's declared `name`. */
|
|
459
|
-
readonly grant?: string;
|
|
460
|
-
/** The names of the app obligations the decision carries. */
|
|
461
|
-
readonly obligations?: readonly string[];
|
|
462
|
-
readonly via?: string | null;
|
|
463
|
-
/** Set high-severity break-glass events apart in a SIEM. */
|
|
464
|
-
readonly breakGlass?: true;
|
|
465
|
-
readonly purpose?: readonly string[];
|
|
466
|
-
readonly reason?: string;
|
|
467
|
-
};
|
|
468
|
-
};
|
|
469
|
-
/** Projects a decision or approval event onto OCSF Authorize Session; the event itself is unchanged. */
|
|
470
|
-
declare function toOcsf(event: DecisionEvent): OcsfAuthorizeSession;
|
|
471
|
-
/**
|
|
472
|
-
* An OCSF Account Change (class 3001) event for a support-access lifecycle
|
|
473
|
-
* event: `started` enables the session, `ended` and `revoked` disable it.
|
|
474
|
-
* Support access is high severity, so a SIEM can alert on vendor access.
|
|
475
|
-
*/
|
|
476
|
-
type OcsfAccountChange = {
|
|
477
|
-
readonly class_uid: 3001;
|
|
478
|
-
readonly category_uid: 3;
|
|
479
|
-
/** 2 Enable for `started`, 5 Disable for `ended` and `revoked`. */
|
|
480
|
-
readonly activity_id: 2 | 5;
|
|
481
|
-
readonly type_uid: 300102 | 300105;
|
|
482
|
-
readonly severity_id: 4;
|
|
483
|
-
readonly time: number;
|
|
484
|
-
readonly message: string;
|
|
485
|
-
readonly user: {
|
|
486
|
-
readonly uid: string;
|
|
487
|
-
};
|
|
488
|
-
readonly actor?: {
|
|
489
|
-
readonly user?: {
|
|
490
|
-
readonly uid: string;
|
|
491
|
-
};
|
|
492
|
-
};
|
|
493
|
-
readonly metadata: {
|
|
494
|
-
readonly version: typeof OCSF_VERSION;
|
|
495
|
-
readonly product: {
|
|
496
|
-
readonly name: "PermDock";
|
|
497
|
-
readonly vendor_name: "PermDock";
|
|
498
|
-
};
|
|
499
|
-
readonly tenant_uid: string;
|
|
500
|
-
};
|
|
501
|
-
readonly unmapped: {
|
|
502
|
-
readonly operation: AccessEvent["operation"];
|
|
503
|
-
readonly via: string;
|
|
504
|
-
readonly roles: readonly string[];
|
|
505
|
-
readonly member?: {
|
|
506
|
-
readonly group: string;
|
|
507
|
-
};
|
|
508
|
-
readonly grantedBy?: string;
|
|
509
|
-
readonly reason?: string;
|
|
510
|
-
};
|
|
511
|
-
};
|
|
512
|
-
declare function accessToOcsf(event: AccessEvent): OcsfAccountChange;
|
|
513
|
-
//#endregion
|
|
514
|
-
//#region src/core/csv.d.ts
|
|
515
|
-
/** The CSV export columns, in order; the header row of every CSV file. */
|
|
516
|
-
declare const CSV_COLUMNS: readonly ["time", "principal", "actor", "tenant", "permission", "outcome", "matched.role", "via", "denials.reason", "token"];
|
|
517
|
-
/**
|
|
518
|
-
* One RFC 4180 row for a decision or approval event, without a line
|
|
519
|
-
* terminator; join rows with CRLF under a `CSV_COLUMNS` header.
|
|
520
|
-
*/
|
|
521
|
-
declare function toCsvRow(event: DecisionEvent): string;
|
|
522
|
-
//#endregion
|
|
523
|
-
//#region src/core/catalog-fingerprint.d.ts
|
|
524
|
-
/**
|
|
525
|
-
* The catalog v1 fingerprint: base64url SHA-256 of canonical JSON (keys
|
|
526
|
-
* sorted, no whitespace) without `generatedAt`, `generator`, `fingerprint`
|
|
527
|
-
* and every `permissions[].usages`, so neither the CLI version, the clock nor
|
|
528
|
-
* call sites change it.
|
|
529
|
-
*/
|
|
530
|
-
declare function catalogFingerprint(catalog: unknown): string;
|
|
531
|
-
//#endregion
|
|
532
|
-
//#region src/core/delegation.d.ts
|
|
533
|
-
type DelegatedPermission = Pick<Permission, "scope" | "resource" | "action">;
|
|
534
|
-
/**
|
|
535
|
-
* Whether a delegated caller may use a permission its principal holds, through
|
|
536
|
-
* OAuth `scopes`, RFC 9396 `authorizationDetails` or GNAP `access`.
|
|
537
|
-
* `undefined` means covered; otherwise the denial reason `decide` would add.
|
|
538
|
-
*/
|
|
539
|
-
declare function coveredByDelegation(permission: DelegatedPermission, delegation: Delegation | undefined, resourceId?: string, hasActor?: boolean): DenialReason | undefined;
|
|
540
|
-
/**
|
|
541
|
-
* The permission keys the policy's delegations let `subject.actor` use for
|
|
542
|
-
* `subject.principal` right now: the union over every active delegation whose
|
|
543
|
-
* `to` matches the actor and whose `from` the principal holds. `undefined`
|
|
544
|
-
* when none applies, so the call falls back to the token delegation alone.
|
|
545
|
-
* An actor with `readOnly: true` gets only each delegation's read-only keys.
|
|
546
|
-
* Attenuation only: a key here still needs a matching allow and no deny.
|
|
547
|
-
*/
|
|
548
|
-
declare function delegatedPermissions(delegations: readonly PolicyDelegation[] | undefined, subject: Subject, heldRoles: ReadonlySet<string>, now: number): ReadonlySet<string> | undefined;
|
|
549
|
-
//#endregion
|
|
550
|
-
export { sqlFunction as $, CustomRoleReader as A, memoryRelations as B, getResource as C, definePermissions as D, mergePermissions as E, permittedIds as F, composeMemberships as G, StripeEntitlementsClient as H, mayAccess as I, memoryEntitlementSource as J, countHolders as K, localSnapshotManifest as L, customRoleSource as M, PermittedIdsOptions as N, SnapshotForOptions as O, mayUse as P, memorySnapshotSource as Q, MemoryEdge as R, findPermission as S, listPermissions as T, fromStripeEntitlements as U, memoryLimitStore as V, claimsFirst as W, memoryRoleSource as X, memoryMembershipSource as Y, memorySettings as Z, crud as _, toCsvRow as a, fromSnapshot as at, formerKeys as b, OcsfAuthorizeSession as c, CustomRoleDropReason as ct, parseDuration as d, ResolvedCustomRole as dt, opaque as et, normalizeApproval as f, customRoleClaim as ft, role as g, principal as gt, normalizeAssurance as h, context as ht, CSV_COLUMNS as i, emptySnapshot as it, CustomRoleSourceOptions as j, snapshotFor as k, accessToOcsf as l, CustomRoleRename as lt, deny as m, validateCustomRole as mt, delegatedPermissions as n, separationConflicts as nt, OCSF_VERSION as o, parseSnapshot as ot, allow as p, resolveCustomRole as pt, isExternallyManaged as q, catalogFingerprint as r, requiresApproval as rt, OcsfAccountChange as s, CustomRoleDrop as st, coveredByDelegation as t, definePolicy as tt, toOcsf as u, CustomRoleValidation as ut, readable as v, isPermission as w, resource as x, writable as y, MemoryRelationsData as z };
|
package/dist/load-B_shHrmd.js
DELETED