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
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import { Y as JwtClaims, ar as Subject, dt as TokenVerifier, et as MembershipSource, lt as TokenFailureCause, qn as Actor, qt as AuthEvent, rr as Principal } from "./policy-types-n0uRTsW8.js";
|
|
2
|
+
import { m as ApprovalStore } from "./types-BdtSDbBO.js";
|
|
3
|
+
import { n as RevocationFeed } from "./revocations-R07lFBnX.js";
|
|
4
|
+
import { t as ClaimsMap } from "./claims-map-Ca-QX8C6.js";
|
|
5
|
+
import { t as ClientNames } from "./clients-C7zLFuWT.js";
|
|
6
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
7
|
+
//#region src/jwt/types.d.ts
|
|
8
|
+
type JwtAlgorithm = "ES256" | "PS256" | "Ed25519" | "RS256" | "HS256" | "EdDSA";
|
|
9
|
+
type JwtProfile = "fapi2";
|
|
10
|
+
type JsonWebKeySet = {
|
|
11
|
+
readonly keys: readonly Record<string, unknown>[];
|
|
12
|
+
};
|
|
13
|
+
type JwtJwks = URL | string | JsonWebKeySet | {
|
|
14
|
+
readonly secret: Uint8Array | string;
|
|
15
|
+
};
|
|
16
|
+
type DiscoveryInput = string | {
|
|
17
|
+
readonly issuer: string;
|
|
18
|
+
readonly metadata?: {
|
|
19
|
+
readonly issuer?: string;
|
|
20
|
+
readonly jwks_uri?: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
type JwksCacheOptions = {
|
|
24
|
+
readonly minTtl?: number;
|
|
25
|
+
readonly maxTtl?: number;
|
|
26
|
+
readonly cooldown?: number;
|
|
27
|
+
/** Milliseconds a discovery or JWKS request may take before it counts as failed. Default 5000. */
|
|
28
|
+
readonly timeout?: number;
|
|
29
|
+
};
|
|
30
|
+
type JoseTokenVerifierOptions = {
|
|
31
|
+
readonly jwks?: JwtJwks;
|
|
32
|
+
readonly discovery?: DiscoveryInput;
|
|
33
|
+
readonly issuer?: string;
|
|
34
|
+
readonly algorithms?: readonly JwtAlgorithm[];
|
|
35
|
+
readonly typ?: string | readonly string[];
|
|
36
|
+
readonly audience?: string | readonly string[];
|
|
37
|
+
readonly clockTolerance?: number;
|
|
38
|
+
readonly decryptionKeys?: JsonWebKeySet | Record<string, unknown>;
|
|
39
|
+
readonly decryptionAlgorithms?: readonly string[];
|
|
40
|
+
readonly profile?: JwtProfile;
|
|
41
|
+
readonly jwksCache?: JwksCacheOptions;
|
|
42
|
+
readonly fetch?: typeof fetch;
|
|
43
|
+
};
|
|
44
|
+
type JoseTokenSignerOptions = {
|
|
45
|
+
readonly key: Record<string, unknown> | Uint8Array;
|
|
46
|
+
readonly alg: JwtAlgorithm;
|
|
47
|
+
readonly kid: string;
|
|
48
|
+
/** `iss` of every output; required. */
|
|
49
|
+
readonly issuer: string;
|
|
50
|
+
/** `aud` for an output whose `sign` call names none; without either, `sign` rejects. */
|
|
51
|
+
readonly audience?: string | readonly string[];
|
|
52
|
+
};
|
|
53
|
+
type JwtDelegationPaths = {
|
|
54
|
+
readonly scopes?: string;
|
|
55
|
+
readonly authorizationDetails?: string;
|
|
56
|
+
readonly access?: string;
|
|
57
|
+
};
|
|
58
|
+
type JwtSubjectOptions = Omit<JoseTokenVerifierOptions, "audience"> & {
|
|
59
|
+
/**
|
|
60
|
+
* The `aud` this resource server accepts. Required unless a `verifier` is
|
|
61
|
+
* passed: `false` accepts any audience and must be a deliberate choice.
|
|
62
|
+
*/
|
|
63
|
+
readonly audience?: string | readonly string[] | false;
|
|
64
|
+
readonly accept?: "access-token" | "id-token";
|
|
65
|
+
readonly claims?: ClaimsMap;
|
|
66
|
+
readonly groupRoles?: Readonly<Record<string, readonly string[]>>;
|
|
67
|
+
readonly schema?: StandardSchemaV1;
|
|
68
|
+
readonly delegation?: JwtDelegationPaths;
|
|
69
|
+
readonly actor?: {
|
|
70
|
+
readonly from?: "act";
|
|
71
|
+
readonly kind?: string;
|
|
72
|
+
/** Names for client ids (`ClientNames`): the actor gets `client` set to the name of `act.sub`. */
|
|
73
|
+
readonly clients?: ClientNames;
|
|
74
|
+
} | ((claims: JwtClaims) => Actor | undefined);
|
|
75
|
+
readonly sender?: "none" | "dpop" | "mtls";
|
|
76
|
+
/** With `sender: "dpop"`, rejects a proof `jti` already used by the same key within 60 seconds. */
|
|
77
|
+
readonly replay?: ReplayStore;
|
|
78
|
+
readonly memberships?: MembershipSource;
|
|
79
|
+
readonly verifier?: TokenVerifier;
|
|
80
|
+
readonly certificateThumbprint?: string;
|
|
81
|
+
readonly onAuth?: (event: AuthEvent) => void;
|
|
82
|
+
readonly requestId?: string;
|
|
83
|
+
};
|
|
84
|
+
type JwtPrincipal = Principal & {
|
|
85
|
+
readonly issuer?: string;
|
|
86
|
+
readonly claims?: Readonly<Record<string, unknown>>;
|
|
87
|
+
};
|
|
88
|
+
type DpopProofResult = {
|
|
89
|
+
readonly ok: true;
|
|
90
|
+
} | {
|
|
91
|
+
readonly ok: false;
|
|
92
|
+
readonly cause: TokenFailureCause;
|
|
93
|
+
};
|
|
94
|
+
/** The principal `subjectFromIntrospection` maps an RFC 7662 response to. */
|
|
95
|
+
type IntrospectionPrincipal = JwtPrincipal;
|
|
96
|
+
type MappedSubject = Subject<JwtPrincipal>;
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/ssf/types.d.ts
|
|
99
|
+
/** Every CAEP 1.0 event type, by the last segment of its URI. */
|
|
100
|
+
type CaepEventName = "session-revoked" | "credential-change" | "assurance-level-change" | "token-claims-change" | "device-compliance-change" | "session-established" | "session-presented" | "risk-level-change";
|
|
101
|
+
/** The RISC 1.0 event types PermDock treats as a revocation of every session. */
|
|
102
|
+
type RiscEventName = "account-disabled" | "account-purged" | "credential-compromise";
|
|
103
|
+
type SsfEventName = CaepEventName | RiscEventName;
|
|
104
|
+
/** An SSF 1.0 stream `verification` event: the `state` the receiver asked the transmitter to echo. */
|
|
105
|
+
type SsfVerification = {
|
|
106
|
+
readonly state?: string;
|
|
107
|
+
readonly jti: string;
|
|
108
|
+
readonly issuer?: string;
|
|
109
|
+
};
|
|
110
|
+
type SetSubject = {
|
|
111
|
+
readonly format: string;
|
|
112
|
+
readonly [key: string]: unknown;
|
|
113
|
+
};
|
|
114
|
+
type SsfSubject = {
|
|
115
|
+
readonly id: string;
|
|
116
|
+
readonly session?: string;
|
|
117
|
+
readonly issuer?: string;
|
|
118
|
+
};
|
|
119
|
+
type SsfSubjectResolver = (setSubject: SetSubject, meta?: {
|
|
120
|
+
readonly session?: string;
|
|
121
|
+
readonly issuer?: string;
|
|
122
|
+
}) => string | SsfSubject | null | undefined | Promise<string | SsfSubject | null | undefined>;
|
|
123
|
+
type SsfEventInput = {
|
|
124
|
+
readonly subject: SsfSubject;
|
|
125
|
+
readonly event: Readonly<Record<string, unknown>>;
|
|
126
|
+
readonly event_timestamp?: number;
|
|
127
|
+
readonly jti: string;
|
|
128
|
+
readonly type: string;
|
|
129
|
+
};
|
|
130
|
+
type SsfEventHandler = (input: SsfEventInput) => void | Promise<void>;
|
|
131
|
+
type SsfOnEvent = { readonly [K in SsfEventName]?: SsfEventHandler; } & {
|
|
132
|
+
readonly "*"?: SsfEventHandler;
|
|
133
|
+
/** SSF 1.0 section 8.1.4.1 stream verification; it names a stream, never a subject. */
|
|
134
|
+
readonly verification?: (input: SsfVerification) => void | Promise<void>;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Keys are opaque strings namespaced by issuer. A store that implements both
|
|
138
|
+
* `claim` and `release` makes concurrent deliveries of one SET dispatch once;
|
|
139
|
+
* one with only `seen` and `remember` is checked and recorded non-atomically.
|
|
140
|
+
*/
|
|
141
|
+
type ReplayStore = {
|
|
142
|
+
/** Names the implementation in errors and events. */
|
|
143
|
+
readonly name?: string;
|
|
144
|
+
seen(key: string): boolean | Promise<boolean>;
|
|
145
|
+
remember(key: string, expiresAt?: number): void | Promise<void>;
|
|
146
|
+
/** Records `key` and returns `true` only if it was not already recorded. */
|
|
147
|
+
claim?(key: string, expiresAt?: number): boolean | Promise<boolean>;
|
|
148
|
+
/** Forgets a claimed `key` so a failed delivery can be retried. */
|
|
149
|
+
release?(key: string): void | Promise<void>;
|
|
150
|
+
};
|
|
151
|
+
type SsfAuditEvent = {
|
|
152
|
+
readonly type: string;
|
|
153
|
+
readonly subject?: SsfSubject;
|
|
154
|
+
readonly transmitter?: string;
|
|
155
|
+
readonly jti?: string;
|
|
156
|
+
readonly replayed?: true;
|
|
157
|
+
readonly cancelled?: number;
|
|
158
|
+
readonly unknown?: "event" | "subject";
|
|
159
|
+
/** The `state` of a stream `verification` event. */
|
|
160
|
+
readonly state?: string;
|
|
161
|
+
readonly err?: string;
|
|
162
|
+
readonly cause?: TokenFailureCause;
|
|
163
|
+
};
|
|
164
|
+
type SsfEventListener = (event: SsfAuditEvent) => void;
|
|
165
|
+
type PollOptions = {
|
|
166
|
+
readonly endpoint: string;
|
|
167
|
+
readonly every?: number | string;
|
|
168
|
+
readonly token?: string;
|
|
169
|
+
readonly fetch?: typeof fetch;
|
|
170
|
+
readonly signal?: AbortSignal;
|
|
171
|
+
};
|
|
172
|
+
type PollHandle = {
|
|
173
|
+
readonly stop: () => void;
|
|
174
|
+
};
|
|
175
|
+
type PollResult = {
|
|
176
|
+
readonly acked: readonly string[];
|
|
177
|
+
};
|
|
178
|
+
type SsfPermDockOptions = {
|
|
179
|
+
readonly issuer?: string;
|
|
180
|
+
readonly audience: string | readonly string[];
|
|
181
|
+
readonly jwks?: JwtJwks | string;
|
|
182
|
+
readonly discovery?: DiscoveryInput;
|
|
183
|
+
readonly verifier?: TokenVerifier;
|
|
184
|
+
readonly subject: SsfSubjectResolver;
|
|
185
|
+
readonly onEvent?: SsfOnEvent;
|
|
186
|
+
readonly replay?: ReplayStore;
|
|
187
|
+
readonly approvals?: ApprovalStore;
|
|
188
|
+
/**
|
|
189
|
+
* Publishes `session-revoked` for a revoked session and `changed` for
|
|
190
|
+
* credential, assurance and claims changes, so open connections end or
|
|
191
|
+
* revalidate.
|
|
192
|
+
*/
|
|
193
|
+
readonly revocations?: RevocationFeed;
|
|
194
|
+
readonly clockTolerance?: number;
|
|
195
|
+
/**
|
|
196
|
+
* Seconds a SET without `exp` is accepted after its `iat`; default one
|
|
197
|
+
* day. The replay record is kept at least that long, so a replayed SET
|
|
198
|
+
* is refused for as long as its signature would verify.
|
|
199
|
+
*/
|
|
200
|
+
readonly maxTokenAge?: number;
|
|
201
|
+
};
|
|
202
|
+
type SsfReceiver = {
|
|
203
|
+
push(request: Request): Promise<Response>;
|
|
204
|
+
logout(request: Request): Promise<Response>;
|
|
205
|
+
poll(options: PollOptions): Promise<PollResult> | PollHandle;
|
|
206
|
+
on(event: "event", handler: SsfEventListener): () => void;
|
|
207
|
+
};
|
|
208
|
+
type SsfPermDock = {
|
|
209
|
+
readonly receiver: SsfReceiver;
|
|
210
|
+
};
|
|
211
|
+
/** One event of a SET: the event-type URI, the RFC 9493 subject and the event's own claims. */
|
|
212
|
+
type SetEvent = {
|
|
213
|
+
readonly type: string;
|
|
214
|
+
readonly subject: SetSubject;
|
|
215
|
+
readonly payload: Readonly<Record<string, unknown>>;
|
|
216
|
+
};
|
|
217
|
+
/** `initiating_entity` (CAEP 1.0 section 2). */
|
|
218
|
+
type CaepInitiatingEntity = "admin" | "user" | "policy" | "system";
|
|
219
|
+
/** A reason as text, or a map of language tag to text (CAEP 1.0 section 2). */
|
|
220
|
+
type CaepReason = string | Readonly<Record<string, string>>;
|
|
221
|
+
/** The CAEP 1.0 common claims every event builder accepts. */
|
|
222
|
+
type CaepCommon = {
|
|
223
|
+
readonly subject: SetSubject;
|
|
224
|
+
/** NumericDate seconds the event happened at; the signing time when absent. */
|
|
225
|
+
readonly eventTimestamp?: number;
|
|
226
|
+
readonly initiatingEntity?: CaepInitiatingEntity;
|
|
227
|
+
readonly reasonAdmin?: CaepReason;
|
|
228
|
+
readonly reasonUser?: CaepReason;
|
|
229
|
+
};
|
|
230
|
+
type SignSetOptions = {
|
|
231
|
+
/** `aud`: the receiver the stream delivers to. */
|
|
232
|
+
readonly audience: string | readonly string[];
|
|
233
|
+
/** `jti`; a fresh UUID when absent. */
|
|
234
|
+
readonly jti?: string;
|
|
235
|
+
/** `txn` (RFC 8417 section 2.2): ties SETs from one transaction together. */
|
|
236
|
+
readonly txn?: string;
|
|
237
|
+
/** `iat`, NumericDate seconds; the signer's clock when absent. */
|
|
238
|
+
readonly issuedAt?: number;
|
|
239
|
+
};
|
|
240
|
+
/** Why `pushSet` did not deliver: the RFC 8935 `err` code in kebab case, or a transport failure. */
|
|
241
|
+
type SetDeliveryFailureCause = "invalid-request" | "invalid-key" | "invalid-issuer" | "invalid-audience" | "authentication-failed" | "access-denied" | "unavailable";
|
|
242
|
+
type SetDelivery = {
|
|
243
|
+
readonly ok: true;
|
|
244
|
+
} | {
|
|
245
|
+
readonly ok: false;
|
|
246
|
+
readonly cause: SetDeliveryFailureCause;
|
|
247
|
+
readonly description?: string;
|
|
248
|
+
/** `true` when the same SET may be pushed again: a network failure, a timeout or a `5xx`. */
|
|
249
|
+
readonly retry: boolean;
|
|
250
|
+
};
|
|
251
|
+
type PushSetOptions = {
|
|
252
|
+
/** The receiver's RFC 8935 push endpoint, the stream's `delivery.endpoint_url`. */
|
|
253
|
+
readonly endpoint: string;
|
|
254
|
+
/** The `Authorization` header value, the stream's `delivery.authorization_header`. */
|
|
255
|
+
readonly authorization?: string;
|
|
256
|
+
readonly fetch?: typeof fetch;
|
|
257
|
+
readonly signal?: AbortSignal;
|
|
258
|
+
};
|
|
259
|
+
/** A receiver's report that one SET failed (RFC 8936 section 2.4 `setErrs`). */
|
|
260
|
+
type SetError = {
|
|
261
|
+
readonly err: string;
|
|
262
|
+
readonly description: string;
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* The SETs a transmitter holds for RFC 8936 poll delivery, per stream. A SET
|
|
266
|
+
* stays pending until the receiver acknowledges it or reports it failed.
|
|
267
|
+
*/
|
|
268
|
+
type SetQueue = {
|
|
269
|
+
/** Names the implementation in errors and events. */
|
|
270
|
+
readonly name?: string;
|
|
271
|
+
enqueue(stream: string, jti: string, set: string): void | Promise<void>;
|
|
272
|
+
/** Up to `max` pending SETs, oldest first. */
|
|
273
|
+
pending(stream: string, max: number): readonly {
|
|
274
|
+
readonly jti: string;
|
|
275
|
+
readonly set: string;
|
|
276
|
+
}[] | Promise<readonly {
|
|
277
|
+
readonly jti: string;
|
|
278
|
+
readonly set: string;
|
|
279
|
+
}[]>;
|
|
280
|
+
ack(stream: string, jti: string): void | Promise<void>;
|
|
281
|
+
fail(stream: string, jti: string, error: SetError): void | Promise<void>;
|
|
282
|
+
};
|
|
283
|
+
type SetPollHandlerOptions = {
|
|
284
|
+
readonly queue: SetQueue;
|
|
285
|
+
/** The stream id the request's credentials may poll, or `null` to refuse it with `401`. */
|
|
286
|
+
readonly authorize: (request: Request) => string | null | Promise<string | null>;
|
|
287
|
+
/** The largest `maxEvents` honoured; default 100. */
|
|
288
|
+
readonly maxEvents?: number;
|
|
289
|
+
};
|
|
290
|
+
/** SSF 1.0 section 7.1: the document at `/.well-known/ssf-configuration`. */
|
|
291
|
+
type SsfTransmitterConfiguration = {
|
|
292
|
+
readonly spec_version?: string;
|
|
293
|
+
readonly issuer: string;
|
|
294
|
+
readonly jwks_uri?: string;
|
|
295
|
+
readonly delivery_methods_supported?: readonly string[];
|
|
296
|
+
readonly configuration_endpoint?: string;
|
|
297
|
+
readonly status_endpoint?: string;
|
|
298
|
+
readonly add_subject_endpoint?: string;
|
|
299
|
+
readonly remove_subject_endpoint?: string;
|
|
300
|
+
readonly verification_endpoint?: string;
|
|
301
|
+
readonly critical_subject_members?: readonly string[];
|
|
302
|
+
readonly authorization_schemes?: readonly {
|
|
303
|
+
readonly spec_urn: string;
|
|
304
|
+
}[];
|
|
305
|
+
readonly default_subjects?: "ALL" | "NONE";
|
|
306
|
+
};
|
|
307
|
+
/** SSF 1.0 section 8.1.1: one stream as the configuration endpoint returns it. */
|
|
308
|
+
type SsfStreamConfiguration = {
|
|
309
|
+
readonly stream_id: string;
|
|
310
|
+
readonly iss: string;
|
|
311
|
+
readonly aud: string | readonly string[];
|
|
312
|
+
readonly events_supported?: readonly string[];
|
|
313
|
+
readonly events_requested?: readonly string[];
|
|
314
|
+
readonly events_delivered?: readonly string[];
|
|
315
|
+
readonly delivery: {
|
|
316
|
+
/** `urn:ietf:rfc:8935` (push) or `urn:ietf:rfc:8936` (poll). */
|
|
317
|
+
readonly method: string;
|
|
318
|
+
readonly endpoint_url?: string;
|
|
319
|
+
readonly authorization_header?: string;
|
|
320
|
+
};
|
|
321
|
+
readonly min_verification_interval?: number;
|
|
322
|
+
readonly inactivity_timeout?: number;
|
|
323
|
+
readonly description?: string;
|
|
324
|
+
};
|
|
325
|
+
/** SSF 1.0 section 8.1.2: a stream's status. */
|
|
326
|
+
type SsfStreamStatus = {
|
|
327
|
+
readonly stream_id: string;
|
|
328
|
+
readonly status: "enabled" | "paused" | "disabled";
|
|
329
|
+
readonly reason?: string;
|
|
330
|
+
};
|
|
331
|
+
//#endregion
|
|
332
|
+
export { SsfSubject as A, JwtAlgorithm as B, SsfEventName as C, SsfReceiver as D, SsfPermDockOptions as E, DpopProofResult as F, JwtPrincipal as H, IntrospectionPrincipal as I, JoseTokenSignerOptions as L, SsfTransmitterConfiguration as M, SsfVerification as N, SsfStreamConfiguration as O, DiscoveryInput as P, JoseTokenVerifierOptions as R, SsfEventListener as S, SsfPermDock as T, JwtSubjectOptions as U, JwtJwks as V, MappedSubject as W, SetSubject as _, PollHandle as a, SsfEventHandler as b, PushSetOptions as c, SetDelivery as d, SetDeliveryFailureCause as f, SetQueue as g, SetPollHandlerOptions as h, CaepReason as i, SsfSubjectResolver as j, SsfStreamStatus as k, ReplayStore as l, SetEvent as m, CaepEventName as n, PollOptions as o, SetError as p, CaepInitiatingEntity as r, PollResult as s, CaepCommon as t, RiscEventName as u, SignSetOptions as v, SsfOnEvent as w, SsfEventInput as x, SsfAuditEvent as y, JsonWebKeySet as z };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Vt as Snapshot, dt as TokenVerifier, ot as SnapshotSource } from "./policy-types-n0uRTsW8.js";
|
|
2
|
+
import { n as DescribeMessages } from "./describe-B5qgDvEW.js";
|
|
3
|
+
import { h as ClientStoreOptions } from "./types-B3_ooZgZ.js";
|
|
4
|
+
import { t as PermDockDefaults } from "./types-CX7AvRqP.js";
|
|
5
|
+
import { ReactNode } from "react";
|
|
6
|
+
//#region src/react-native/types.d.ts
|
|
7
|
+
type SnapshotStorage = {
|
|
8
|
+
/** Names the implementation in errors and events. */
|
|
9
|
+
readonly name?: string;
|
|
10
|
+
getItem(key: string): string | null | Promise<string | null>;
|
|
11
|
+
setItem(key: string, value: string): void | Promise<void>;
|
|
12
|
+
removeItem(key: string): void | Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
type NativeRevalidate = "launch" | "focus" | number;
|
|
15
|
+
/**
|
|
16
|
+
* Calls `listener` when the app changes state; `active` is `false` when it
|
|
17
|
+
* goes to the background. A listener called without an argument counts as
|
|
18
|
+
* a return to the foreground.
|
|
19
|
+
*/
|
|
20
|
+
type SubscribeForeground = (listener: (active?: boolean) => void) => () => void;
|
|
21
|
+
/** Calls `listener` with `false` when the device loses connectivity and `true` when it returns. */
|
|
22
|
+
type SubscribeOnline = (listener: (online: boolean) => void) => () => void;
|
|
23
|
+
type ReactNativePermDockProviderProps = {
|
|
24
|
+
readonly storage: SnapshotStorage;
|
|
25
|
+
/**
|
|
26
|
+
* The signed-in principal's id, or `null` when nobody is signed in. Only a
|
|
27
|
+
* persisted snapshot for this id is read or written; `null` clears storage.
|
|
28
|
+
*/
|
|
29
|
+
readonly subjectId: string | null;
|
|
30
|
+
readonly snapshot?: Snapshot | string;
|
|
31
|
+
readonly snapshotUrl?: string;
|
|
32
|
+
/** Hydrates from the device's own rows (`localSnapshot`); with `snapshotUrl` too, the latest answer wins. */
|
|
33
|
+
readonly source?: SnapshotSource;
|
|
34
|
+
readonly endpoint?: string;
|
|
35
|
+
readonly approvals?: string;
|
|
36
|
+
readonly tenant?: string;
|
|
37
|
+
readonly revalidate?: NativeRevalidate;
|
|
38
|
+
readonly subscribeForeground?: SubscribeForeground;
|
|
39
|
+
readonly subscribeOnline?: SubscribeOnline;
|
|
40
|
+
readonly fetch?: typeof fetch;
|
|
41
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
42
|
+
readonly maxAge?: number;
|
|
43
|
+
readonly verifier?: TokenVerifier;
|
|
44
|
+
/** What every `<Protected>` below renders for a slot it leaves out. */
|
|
45
|
+
readonly defaults?: PermDockDefaults;
|
|
46
|
+
/** Localised text for `useDescribe()`. */
|
|
47
|
+
readonly messages?: DescribeMessages;
|
|
48
|
+
/** Called with each snapshot the store accepts, after it is persisted. */
|
|
49
|
+
readonly onSnapshot?: NonNullable<ClientStoreOptions["onSnapshot"]>;
|
|
50
|
+
/** Called when the store drops its snapshot, after storage is cleared. */
|
|
51
|
+
readonly onClear?: () => void;
|
|
52
|
+
/** Milliseconds between approval status polls. Defaults to 2000. */
|
|
53
|
+
readonly approvalInterval?: number;
|
|
54
|
+
readonly children: ReactNode;
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
export { SubscribeOnline as a, SubscribeForeground as i, ReactNativePermDockProviderProps as n, SnapshotStorage as r, NativeRevalidate as t };
|
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Mn as ApprovalRequiredDecision, Nn as Decision, Vt as Snapshot, dt as TokenVerifier, zn as GrantedDecision } from "./policy-types-n0uRTsW8.js";
|
|
2
|
+
import { w as Permission } from "./vocabulary-CN8H_9UF.js";
|
|
3
|
+
import { r as PermDock } from "./permdock-SV8ZINYT.js";
|
|
3
4
|
import { t as PermissionBoundaryState } from "./boundary-BmHxVH1J.js";
|
|
4
|
-
import { l as PermissionState,
|
|
5
|
+
import { l as PermissionState, m as ClientStore, u as ProviderOptionsBase } from "./types-B3_ooZgZ.js";
|
|
5
6
|
import { Snippet } from "svelte";
|
|
6
7
|
import { Readable } from "svelte/store";
|
|
7
|
-
//#region src/svelte/boundary.d.ts
|
|
8
|
-
type PermissionBoundaryProps = {
|
|
9
|
-
readonly children?: Snippet;
|
|
10
|
-
/** Rendered in place of the children when one throws `PermDockDeniedError`. */
|
|
11
|
-
readonly denied?: Snippet<[PermissionBoundaryState]>;
|
|
12
|
-
/** Rendered for `PermDockApprovalRequiredError`; defaults to `denied`. */
|
|
13
|
-
readonly approval?: Snippet<[PermissionBoundaryState]>;
|
|
14
|
-
};
|
|
15
|
-
//#endregion
|
|
16
8
|
//#region src/client/views.d.ts
|
|
17
9
|
/**
|
|
18
10
|
* What `Protected` renders: `pending` while an endpoint answer is in flight,
|
|
19
|
-
* `approval` for an approval-required decision, `
|
|
11
|
+
* `approval` for an approval-required decision, `denied` for any other
|
|
20
12
|
* denial.
|
|
21
13
|
*/
|
|
22
14
|
type ProtectedView = (PermissionState & {
|
|
23
|
-
readonly slot: "pending" | "
|
|
15
|
+
readonly slot: "pending" | "denied";
|
|
24
16
|
}) | {
|
|
25
17
|
readonly allowed: false;
|
|
26
18
|
readonly status: PermissionState["status"];
|
|
@@ -35,18 +27,27 @@ type ProtectedView = (PermissionState & {
|
|
|
35
27
|
/** Provider-wide content for the `Protected` slots a component leaves out. */
|
|
36
28
|
type SlotDefaults<P, F, A = F> = {
|
|
37
29
|
readonly pending?: P;
|
|
38
|
-
readonly
|
|
30
|
+
readonly denied?: F;
|
|
39
31
|
readonly approval?: A;
|
|
40
32
|
};
|
|
41
33
|
/**
|
|
42
34
|
* The content `Protected` renders for a non-default slot. Its own prop wins
|
|
43
|
-
* over the provider default; `approval` falls back to `
|
|
35
|
+
* over the provider default; `approval` falls back to `denied`, first the
|
|
44
36
|
* component's, then the provider's.
|
|
45
37
|
*/
|
|
46
38
|
declare function slotContent<P, F, A>(slot: "pending", own: SlotDefaults<P, F, A>, defaults: SlotDefaults<P, F, A> | undefined): P | undefined;
|
|
47
|
-
declare function slotContent<P, F, A>(slot: "
|
|
39
|
+
declare function slotContent<P, F, A>(slot: "denied", own: SlotDefaults<P, F, A>, defaults: SlotDefaults<P, F, A> | undefined): F | undefined;
|
|
48
40
|
declare function slotContent<P, F, A>(slot: "approval", own: SlotDefaults<P, F, A>, defaults: SlotDefaults<P, F, A> | undefined): F | A | undefined;
|
|
49
41
|
//#endregion
|
|
42
|
+
//#region src/svelte/boundary.d.ts
|
|
43
|
+
type PermissionBoundaryProps = {
|
|
44
|
+
readonly children?: Snippet;
|
|
45
|
+
/** Rendered in place of the children when one throws `PermDockDeniedError`. */
|
|
46
|
+
readonly denied?: Snippet<[PermissionBoundaryState]>;
|
|
47
|
+
/** Rendered for `PermDockApprovalRequiredError`; defaults to `denied`. */
|
|
48
|
+
readonly approval?: Snippet<[PermissionBoundaryState]>;
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
50
51
|
//#region src/svelte/protected.d.ts
|
|
51
52
|
type ProtectedProps = {
|
|
52
53
|
readonly permission: Permission;
|
|
@@ -54,8 +55,8 @@ type ProtectedProps = {
|
|
|
54
55
|
readonly tenant?: string;
|
|
55
56
|
readonly children?: Snippet<[GrantedDecision]>;
|
|
56
57
|
readonly pending?: Snippet;
|
|
57
|
-
readonly
|
|
58
|
-
/** Rendered for an approval-required decision; defaults to `
|
|
58
|
+
readonly denied?: Snippet<[Decision]>;
|
|
59
|
+
/** Rendered for an approval-required decision; defaults to `denied`. */
|
|
59
60
|
readonly approval?: Snippet<[ApprovalRequiredDecision]>;
|
|
60
61
|
};
|
|
61
62
|
/** The instance for `tenant`, built once per store change rather than once per check. */
|
|
@@ -63,7 +64,7 @@ declare function scopedFor(store: ClientStore, tenant: string | undefined, _gene
|
|
|
63
64
|
declare function viewFor(store: ClientStore, reference: Permission, data: unknown, scoped: PermDock | undefined, _generation?: number): ProtectedView;
|
|
64
65
|
//#endregion
|
|
65
66
|
//#region src/svelte/types.d.ts
|
|
66
|
-
type
|
|
67
|
+
type SveltePermDockOptions = ProviderOptionsBase & {
|
|
67
68
|
/**
|
|
68
69
|
* A getter (`() => data.snapshot`) or a readable store re-hydrates the
|
|
69
70
|
* store when it changes; a promise keeps the store `pending` until it
|
|
@@ -81,8 +82,8 @@ type PermDockSvelteOptions = ProviderOptionsBase & {
|
|
|
81
82
|
/** Snippets for the `<Protected>` slots a component leaves out. */
|
|
82
83
|
type PermDockDefaults = {
|
|
83
84
|
readonly pending?: Snippet;
|
|
84
|
-
readonly
|
|
85
|
+
readonly denied?: Snippet<[Decision]>;
|
|
85
86
|
readonly approval?: Snippet<[ApprovalRequiredDecision]>;
|
|
86
87
|
};
|
|
87
88
|
//#endregion
|
|
88
|
-
export { viewFor as a, scopedFor as i,
|
|
89
|
+
export { viewFor as a, scopedFor as i, SveltePermDockOptions as n, PermissionBoundaryProps as o, ProtectedProps as r, slotContent as s, PermDockDefaults as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as DescribeMessages } from "./describe-
|
|
4
|
-
import {
|
|
1
|
+
import { Mn as ApprovalRequiredDecision, Nn as Decision, Vt as Snapshot, dt as TokenVerifier, zn as GrantedDecision } from "./policy-types-n0uRTsW8.js";
|
|
2
|
+
import { w as Permission } from "./vocabulary-CN8H_9UF.js";
|
|
3
|
+
import { n as DescribeMessages } from "./describe-B5qgDvEW.js";
|
|
4
|
+
import { h as ClientStoreOptions } from "./types-B3_ooZgZ.js";
|
|
5
5
|
import { ReactNode } from "react";
|
|
6
6
|
//#region src/react/types.d.ts
|
|
7
7
|
type PermDockProviderProps = ({
|
|
@@ -49,7 +49,7 @@ type PermDockProviderProps = ({
|
|
|
49
49
|
/** Provider-wide content for the `<Protected>` slots a component leaves out. */
|
|
50
50
|
type PermDockDefaults = {
|
|
51
51
|
readonly pending?: ReactNode;
|
|
52
|
-
readonly
|
|
52
|
+
readonly denied?: ReactNode | ((decision: Decision) => ReactNode);
|
|
53
53
|
readonly approval?: ReactNode | ((decision: ApprovalRequiredDecision) => ReactNode);
|
|
54
54
|
};
|
|
55
55
|
type ProtectedProps = {
|
|
@@ -57,8 +57,8 @@ type ProtectedProps = {
|
|
|
57
57
|
readonly data?: unknown;
|
|
58
58
|
readonly tenant?: string;
|
|
59
59
|
readonly pending?: ReactNode;
|
|
60
|
-
readonly
|
|
61
|
-
/** Rendered for an approval-required decision; defaults to `
|
|
60
|
+
readonly denied?: ReactNode | ((decision: Decision) => ReactNode);
|
|
61
|
+
/** Rendered for an approval-required decision; defaults to `denied`. */
|
|
62
62
|
readonly approval?: ReactNode | ((decision: ApprovalRequiredDecision) => ReactNode);
|
|
63
63
|
readonly children: ReactNode | ((decision: GrantedDecision) => ReactNode);
|
|
64
64
|
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { fn as Approver } from "./policy-types-n0uRTsW8.js";
|
|
2
|
+
//#region src/approvals/access-reviews/types.d.ts
|
|
3
|
+
type AccessReviewStatus = "open" | "closed";
|
|
4
|
+
type AccessReviewItemStatus = "pending" | "kept" | "revoked";
|
|
5
|
+
/**
|
|
6
|
+
* Access review v1: who holds `permissions` in one tenant, and who may
|
|
7
|
+
* confirm or revoke each holding. PermDock records the reviewer's decision
|
|
8
|
+
* and never changes the role or membership itself.
|
|
9
|
+
*/
|
|
10
|
+
type AccessReview = {
|
|
11
|
+
readonly v: 1;
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly tenant: string;
|
|
14
|
+
readonly permissions: readonly string[];
|
|
15
|
+
readonly reviewers: Approver | readonly Approver[];
|
|
16
|
+
readonly createdBy: string;
|
|
17
|
+
readonly createdAt: string;
|
|
18
|
+
readonly dueAt: string;
|
|
19
|
+
readonly status: AccessReviewStatus;
|
|
20
|
+
/** `false` when the population can omit a holder, such as a global role. */
|
|
21
|
+
readonly complete: boolean;
|
|
22
|
+
};
|
|
23
|
+
/** One holding in a review. `via` names the roles the population attributed it to. */
|
|
24
|
+
type AccessReviewItem = {
|
|
25
|
+
readonly v: 1;
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly review: string;
|
|
28
|
+
readonly principal: string;
|
|
29
|
+
readonly permission: string;
|
|
30
|
+
readonly via: readonly string[];
|
|
31
|
+
readonly status: AccessReviewItemStatus;
|
|
32
|
+
readonly decidedBy?: string;
|
|
33
|
+
readonly decidedAt?: string;
|
|
34
|
+
readonly note?: string;
|
|
35
|
+
/** Set by the application after it revoked the holding at its source. */
|
|
36
|
+
readonly appliedAt?: string;
|
|
37
|
+
};
|
|
38
|
+
type AccessReviewItemQuery = {
|
|
39
|
+
readonly review: string;
|
|
40
|
+
readonly status?: AccessReviewItemStatus;
|
|
41
|
+
readonly limit?: number;
|
|
42
|
+
readonly cursor?: string;
|
|
43
|
+
};
|
|
44
|
+
type AccessReviewItemPage = {
|
|
45
|
+
readonly items: readonly AccessReviewItem[];
|
|
46
|
+
readonly next?: string;
|
|
47
|
+
};
|
|
48
|
+
type AccessReviewDecision = {
|
|
49
|
+
readonly status: "kept" | "revoked";
|
|
50
|
+
readonly decidedBy: string;
|
|
51
|
+
readonly decidedAt: string;
|
|
52
|
+
readonly note?: string;
|
|
53
|
+
};
|
|
54
|
+
type AccessReviewStore = {
|
|
55
|
+
/** Names the implementation in errors and events. */
|
|
56
|
+
readonly name?: string;
|
|
57
|
+
create(review: AccessReview, items: readonly AccessReviewItem[]): Promise<void> | void;
|
|
58
|
+
get(id: string): Promise<AccessReview | null> | AccessReview | null;
|
|
59
|
+
items(query: AccessReviewItemQuery): Promise<AccessReviewItemPage> | AccessReviewItemPage;
|
|
60
|
+
decide(reviewId: string, itemId: string, decision: AccessReviewDecision): Promise<AccessReviewItem> | AccessReviewItem;
|
|
61
|
+
markApplied(reviewId: string, itemId: string, at: string): Promise<AccessReviewItem> | AccessReviewItem;
|
|
62
|
+
close(id: string): Promise<AccessReview> | AccessReview;
|
|
63
|
+
};
|
|
64
|
+
//#endregion
|
|
65
|
+
export { AccessReviewItemQuery as a, AccessReviewStore as c, AccessReviewItemPage as i, AccessReviewDecision as n, AccessReviewItemStatus as o, AccessReviewItem as r, AccessReviewStatus as s, AccessReview as t };
|