permdock 0.6.0 → 0.8.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 +2 -3
- package/dist/{2020-C9VN-x8c.js → 2020-CJbO8Bvz.js} +1 -3
- package/dist/a2a/index.d.ts +7 -7
- package/dist/a2a/index.js +9 -9
- package/dist/action-result-CL-QCITA.d.ts +19 -0
- package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
- package/dist/{adoption-scan-DCYe60Pi.js → adoption-scan-BLs67P1l.js} +5 -5
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +31 -10
- package/dist/ai-sdk/index.js +22 -12
- package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
- package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
- package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
- package/dist/{approval-prompt-DvSSPQJX.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
- package/dist/approvals/index.d.ts +5 -5
- package/dist/approvals/index.js +7 -7
- package/dist/{approvals-p1PGoVjb.js → approvals-DnIBTuXE.js} +128 -78
- package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
- package/dist/{arazzo-41WuzHou.js → arazzo-3RhGfkAK.js} +2 -2
- package/dist/{arazzo-CaUVBn7D.js → arazzo-B5-ulWif.js} +6 -6
- package/dist/{args-IIolxxKA.js → args-0FrVs5EH.js} +125 -8
- package/dist/astro/index.d.ts +30 -12
- package/dist/astro/index.js +2 -2
- package/dist/{audience-DabClFLQ.js → audience-BAkBDMqn.js} +8 -8
- package/dist/{auth-DRLEizbL.js → auth--yPyZNgr.js} +21 -10
- package/dist/authzen/index.d.ts +171 -25
- package/dist/authzen/index.js +321 -149
- package/dist/{automation-BNM3TtDo.d.ts → automation-DqEoWHBc.d.ts} +42 -32
- package/dist/{automation-DVjOckjV.js → automation-x3KEUusw.js} +22 -21
- package/dist/base-url-BQbddZO5.js +9 -0
- package/dist/better-auth/index.d.ts +2 -2
- package/dist/better-auth/index.js +13 -7
- package/dist/better-supabase/index.d.ts +392 -220
- package/dist/better-supabase/index.js +293 -152
- package/dist/{bind-DOyrv6zi.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
- package/dist/{bind-CAvgUuKs.js → bind-D_sZSVA3.js} +22 -10
- package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
- package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
- package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
- package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
- package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
- package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
- package/dist/{build-instance-Bu_eDqYw.js → build-instance-CNWaYJyr.js} +3 -3
- package/dist/{canonical-json-BC8_nMTw.js → canonical-json-DwilZ1iB.js} +6 -3
- package/dist/{capability-N1K9IpqS.js → capability-BqX94r07.js} +31 -25
- package/dist/{capability-Drg-1YhL.d.ts → capability-ChuiONQU.d.ts} +41 -29
- package/dist/{casbin-Dyu2gnUD.js → casbin-H0rKxBx2.js} +16 -8
- package/dist/{casbin-Cr7RLtA3.js → casbin-cbSbhT_k.js} +2 -2
- package/dist/{casl-64gpT-8x.js → casl-C4OINZHI.js} +2 -2
- package/dist/{casl-DjEDhTCP.js → casl-CHHoCldP.js} +19 -10
- package/dist/catalog/index.d.ts +104 -23
- package/dist/catalog/index.js +117 -8
- package/dist/{catalog-HD2gf5mY.js → catalog-BFpz2EmT.js} +57 -26
- package/dist/{catalog-DZVbrF-z.js → catalog-DCspHDc8.js} +3 -3
- package/dist/{catalog-doc-Cdn7-0pQ.js → catalog-doc-DjMKzJp9.js} +53 -16
- package/dist/{catalog-fingerprint-CCP0-yQS.js → catalog-fingerprint-e6aCWosn.js} +19 -15
- package/dist/catalog-mRQQQhNK.js +1 -0
- package/dist/catalog-operations-Dadrl7Z-.js +60 -0
- package/dist/{create-CQWIpUG-.js → challenge-DImNcR7B.js} +157 -39
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +13 -10
- package/dist/chat-sdk/index.d.ts +44 -26
- package/dist/chat-sdk/index.js +17 -17
- package/dist/checks-CGkP3Z7A.js +40 -0
- package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
- package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
- package/dist/claude-agent/index.d.ts +6 -6
- package/dist/claude-agent/index.js +6 -3
- package/dist/clerk/index.d.ts +11 -7
- package/dist/clerk/index.js +6 -6
- package/dist/cli/bin.js +4 -4
- package/dist/cli/index.d.ts +82 -7
- package/dist/cli/index.js +6 -6
- package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
- package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
- package/dist/cloud/index.d.ts +186 -38
- package/dist/cloud/index.js +293 -31
- package/dist/{cloud-ytQ3uviA.js → cloud-BFlGMaak.js} +5 -6
- package/dist/{codemod-5mpSpnUY.js → codemod-DLQ9Zpo4.js} +3 -4
- package/dist/{codemod-ua2hHy7w.js → codemod-DWSN2erG.js} +523 -201
- package/dist/collect-B5BL3klN.js +1 -0
- package/dist/{collect-mLTY4nwb.js → collect-B7ZFAJU3.js} +36 -64
- package/dist/{collect-Ci6akVwH.js → collect-Bzv3le0A.js} +6 -6
- package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
- package/dist/compile/index.d.ts +2 -2
- package/dist/compile/index.js +1 -1
- package/dist/{compile-1bsAezL0.d.ts → compile-BFzysW3o.d.ts} +36 -12
- package/dist/{compile-CMqMx_IN.js → compile-EzEMB-7v.js} +77 -33
- package/dist/{completion-BTFrHZhX.js → completion-saoYiRFO.js} +17 -8
- package/dist/config-BwPBfN0t.js +108 -0
- package/dist/{config-Bj2Ixq3d.js → config-DBeXXmBF.js} +2 -2
- package/dist/{config-report-DSpsLpCE.js → config-report-BipSWA6V.js} +9 -6
- package/dist/config-shape-ykV0Vm2n.js +134 -0
- package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
- package/dist/connector-schema-CYLQNMYq.js +434 -0
- package/dist/{context-B_u3_bDJ.js → context-BnIzxTNE.js} +4 -3
- package/dist/convex/index.d.ts +13 -7
- package/dist/convex/index.js +9 -6
- package/dist/core-H-mbhpZc.js +341 -0
- package/dist/core-hWIARPDz.d.ts +206 -0
- package/dist/{create-CBMmFie-.d.ts → create-BSNrVuxh.d.ts} +87 -34
- package/dist/{create-B30OMUOJ.d.ts → create-BVq1lNQE.d.ts} +49 -28
- package/dist/{create-D_NmPOdH.d.ts → create-CM1FciYG.d.ts} +37 -29
- package/dist/{create-CGm28gyI.js → create-Cq4Uox0f.js} +13 -9
- package/dist/{create-DCF2SvoT.js → create-_noSrY1T.js} +15 -21
- package/dist/{credential-BcoiejpY.js → credential-CyyyvCsL.js} +42 -39
- package/dist/{credentials-DPyHmYz5.js → credentials-CdDxp7jN.js} +6 -6
- package/dist/{deciding-columns-Sq12mEA6.js → deciding-columns-NB4wcyBf.js} +13 -2
- package/dist/{delegation-j6-rc37o.js → delegation-CDB6_keF.js} +31 -22
- package/dist/delivery/index.d.ts +5 -5
- package/dist/delivery/index.js +6 -5
- package/dist/{delivery-DCAgNyCn.js → delivery-BupfvJIV.js} +81 -20
- package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
- package/dist/denied-text-CHNlVInN.d.ts +22 -0
- package/dist/{describe-BybMRY7A.js → describe-Bb4hGK5d.js} +6 -5
- package/dist/{describe-B5qgDvEW.d.ts → describe-ByS9LgHK.d.ts} +5 -5
- package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
- package/dist/{diff-CmuSD3vc.js → diff-CN8IYhC_.js} +2 -2
- package/dist/{diff-3jbx6Rm4.js → diff-iZWV65nC.js} +23 -14
- package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
- package/dist/{doctor-BdZw53-k.js → doctor-CHD1M9R5.js} +485 -141
- package/dist/{doctor-3ZqNHX_G.js → doctor-D3wo-yuz.js} +4 -4
- package/dist/drizzle/index.d.ts +33 -19
- package/dist/drizzle/index.js +17 -9
- package/dist/elysia/index.d.ts +17 -11
- package/dist/elysia/index.js +5 -5
- package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
- package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
- package/dist/{errors-CWTY6uih.js → errors-Vpu6rKHl.js} +14 -10
- package/dist/{errors-DH5QEGXh.d.ts → errors-zi_4T-rx.d.ts} +22 -6
- package/dist/{evaluate-CNClBvcj.js → evaluate-Dd8Ta0Ie.js} +185 -80
- package/dist/{evaluations-beAooV0n.js → evaluations-IBceAeKT.js} +41 -20
- package/dist/{evaluations-C_1vdSZc.d.ts → evaluations-z8dQFDaN.d.ts} +12 -6
- package/dist/eve/index.d.ts +9 -6
- package/dist/eve/index.js +4 -4
- package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
- package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
- package/dist/express/index.d.ts +9 -6
- package/dist/express/index.js +9 -6
- package/dist/fastify/index.d.ts +16 -10
- package/dist/fastify/index.js +8 -5
- package/dist/{fetch-adapter-Dw0MTS3D.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
- package/dist/{fetch-adapter-DD_gfmrC.js → fetch-adapter-JL43jD3E.js} +14 -11
- package/dist/fields-D0vUI6dq.js +498 -0
- package/dist/{files-C5ZI27eV.js → files-B3AA05f1.js} +21 -5
- package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
- package/dist/{fixtures-B7XrLeY7.js → fixtures-A1_sp_tR.js} +15 -6
- package/dist/{flags-C3DktBDY.js → flags-DXjoTVbS.js} +2 -2
- package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
- package/dist/{from-snapshot-CTCMsFZk.js → from-snapshot-DCakWRsr.js} +26 -16
- package/dist/gen-B5kvbAoZ.js +58 -0
- package/dist/gen-DWCYcMQM.js +827 -0
- package/dist/generate-CRVV5V7l.js +165 -0
- package/dist/generate-CezbCaTI.js +275 -0
- package/dist/{grantee-hxrUsbpM.js → grantee-Dke-9rd1.js} +4 -4
- package/dist/{grantee-conditions-CcXf8hMM.js → grantee-conditions-BrYPe-w0.js} +12 -12
- package/dist/{grantee-match-DbENBHLB.js → grantee-match-7RZZvoT_.js} +12 -6
- package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
- package/dist/h3/index.d.ts +10 -7
- package/dist/h3/index.js +3 -3
- package/dist/headers-B9jQxjtW.d.ts +10 -0
- package/dist/{helpers-CBYVMjwh.js → helpers-DJicaG6f.js} +40 -28
- package/dist/hono/index.d.ts +16 -10
- package/dist/hono/index.js +5 -5
- package/dist/{hosted-BPk51-kX.d.ts → hosted-Cmtxogd0.d.ts} +44 -20
- package/dist/{hosted-B46-5LYE.js → hosted-D0IzESu_.js} +68 -25
- package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
- package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
- package/dist/{http-DXJ37RDA.js → http-DOL33cO0.js} +11 -8
- package/dist/{import-wyqXUyjm.js → import-CST57XLp.js} +64 -51
- package/dist/{import-CNV7I2Dw.js → import-_YqhhwvX.js} +6 -6
- package/dist/{index-B8YjkEZ4.d.ts → index-B8s204GL.d.ts} +64 -52
- package/dist/{index-Ch8LpNDp.d.ts → index-BT5-1VsX.d.ts} +64 -25
- package/dist/{index-DuWxc5dt.d.ts → index-BW_0MZOS.d.ts} +388 -149
- package/dist/index-BhxEUY9J.d.ts +233 -0
- package/dist/index-Bv5iXPqU.d.ts +210 -0
- package/dist/{index-C-6Letxg.d.ts → index-_9UiQIkt.d.ts} +164 -77
- package/dist/index.d.ts +22 -21
- package/dist/index.js +35 -33
- package/dist/{init-GG6Jh8HD.js → init-Dz_PsHdv.js} +5 -5
- package/dist/{init-DeMYsnYJ.js → init-cE3A8aXq.js} +10 -10
- package/dist/{instance-options-BsVpyGIk.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
- package/dist/{instance-snapshot-BOEhcqIF.js → instance-snapshot--JWiTrvO.js} +81 -56
- package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
- package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
- package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
- package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
- package/dist/jwt/index.d.ts +125 -17
- package/dist/jwt/index.js +157 -16
- package/dist/{kernel-D0NVb1cK.js → kernel-C-fYydV2.js} +151 -16
- package/dist/kysely/index.d.ts +49 -33
- package/dist/kysely/index.js +9 -7
- package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
- package/dist/{load-DFS_ry0W.js → load-DjSU5KXO.js} +6 -6
- package/dist/load-Dm0pSYH3.js +1 -0
- package/dist/{login-Dfe5RlYk.js → login-D-8tMqzo.js} +4 -4
- package/dist/{login-imhuwvn3.js → login-DplQ0s84.js} +18 -15
- package/dist/{manifest-dvL2XEe1.js → manifest-Cgiq5oqc.js} +67 -37
- package/dist/{manifest-mx5ghSFM.d.ts → manifest-CzzWtnAb.d.ts} +144 -28
- package/dist/{manifest-schema-C0kK_8V0.js → manifest-schema-2r37XRhD.js} +80 -9
- package/dist/{manifest-C8IzW3Do.js → manifest-wg8WkkpD.js} +11 -7
- package/dist/{map-claims-D3oRmTk0.js → map-claims-BNWCJtmP.js} +27 -18
- package/dist/{map-error-Dr70oA_3.js → map-error-pasIGqMT.js} +7 -7
- package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
- package/dist/mcp/index.d.ts +154 -47
- package/dist/mcp/index.js +200 -41
- package/dist/{migrate-CIq4-E9F.js → migrate-B7oP_sQU.js} +102 -31
- package/dist/module-values-BJTBdo6y.js +107 -0
- package/dist/nest/index.d.ts +23 -13
- package/dist/nest/index.js +18 -11
- package/dist/next/client.d.ts +5 -2
- package/dist/next/client.js +1 -1
- package/dist/next/index.d.ts +72 -26
- package/dist/next/index.js +110 -6
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +4 -3
- package/dist/node/index.d.ts +5 -5
- package/dist/node/index.js +3 -3
- package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
- package/dist/openai/index.d.ts +13 -7
- package/dist/openai/index.js +3 -3
- package/dist/openapi/index.d.ts +61 -30
- package/dist/openapi/index.js +2 -2
- package/dist/{openapi-B7HZ0f-r.js → openapi-BOsx0xn9.js} +34 -24
- package/dist/{openapi-C4dDTVEd.js → openapi-CBZUhA3l.js} +4 -5
- package/dist/{openapi-DD1SV-5-.js → openapi-VeHHU2l9.js} +23 -14
- package/dist/{operation-findings-DgATDpvh.js → operation-findings-CXtFzlKJ.js} +3 -3
- package/dist/{operations-X0VM7F3m.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
- package/dist/orpc/index.d.ts +68 -14
- package/dist/orpc/index.js +62 -13
- package/dist/otel/index.d.ts +7 -4
- package/dist/otel/index.js +8 -5
- package/dist/output-files-BHOIlrfD.js +1 -0
- package/dist/{output-files-DhRBBE4n.js → output-files-BIQ_9pIs.js} +29 -17
- package/dist/{output-1im__-08.js → output-tkju6U7R.js} +15 -7
- package/dist/ownership-B4L59T9u.js +1054 -0
- package/dist/parse-1_ZheTW5.js +151 -0
- package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
- package/dist/parse-local-manifest-DEiCF4ah.js +69 -0
- package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
- package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
- package/dist/pdp/index.d.ts +9 -6
- package/dist/pdp/index.js +23 -12
- package/dist/{peer-CRvC7Hg1.js → peer-C9LvBCcb.js} +1 -1
- package/dist/peer-Q0fuZ6hx.js +982 -0
- package/dist/{permdock-SV8ZINYT.d.ts → permdock-B6Sf4T_S.d.ts} +270 -117
- package/dist/{permdock-BrAscV28.js → permdock-L-_I_3zP.js} +226 -74
- package/dist/{permission-registry-Br4jSNVi.js → permission-registry-B8tYxPIt.js} +24 -11
- package/dist/{vocabulary-CN8H_9UF.d.ts → permission-types-CAY-GU7e.d.ts} +130 -104
- package/dist/{permissions-u_KHg-sN.d.ts → permissions-Bx6UI8n1.d.ts} +6 -2
- package/dist/{permissions-B-wCP5ZC.js → permissions-CVXmRILq.js} +3 -3
- package/dist/{permissions-BPxlwVhN.js → permissions-mDcTWoBs.js} +8 -5
- package/dist/pg-DQTqRrou.js +60 -0
- package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
- package/dist/pkce-CnmmYqUZ.js +21 -0
- package/dist/{policy-77FSAq_V.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
- package/dist/{policy-DbM5YYtV.js → policy-CLQ8__GF.js} +49 -20
- package/dist/{policy-from-catalog-C2gMa2Dj.js → policy-from-catalog-CJgOm6aq.js} +28 -25
- package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
- package/dist/{policy-types-n0uRTsW8.d.ts → policy-types-CCiDRZBH.d.ts} +802 -334
- package/dist/postgres-store-DcyrPS-r.js +1028 -0
- package/dist/{postgrest-DAjUkF9w.js → postgrest-D4nuPXIQ.js} +88 -36
- package/dist/{postgrest-CEgRbefE.d.ts → postgrest-DicQyqm-.d.ts} +60 -30
- package/dist/powersync-DHNQX06W.js +1117 -0
- package/dist/{powersync-DISt6SUe.js → powersync-DXqGuq9A.js} +3 -3
- package/dist/powersync-Djf-zCpB.js +1 -0
- package/dist/preset/index.d.ts +38 -28
- package/dist/preset/index.js +1 -1
- package/dist/{preset-DZdU0tne.js → preset-BjLzeFpp.js} +58 -34
- package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
- package/dist/prisma/index.d.ts +69 -41
- package/dist/prisma/index.js +21 -17
- package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
- package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
- package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
- package/dist/prompt-BYc6drYW.js +938 -0
- package/dist/protected-action-BE7N_Luo.d.ts +58 -0
- package/dist/protected-action-DUYqb-Ma.js +80 -0
- package/dist/{protected-BlF0F6wL.js → protected-action-QEA8arRB.js} +48 -14
- package/dist/{provider-B1al-AZz.js → provider-C55OGXJ7.js} +5 -4
- package/dist/{provider-DILL9oPK.d.ts → provider-DXfq5c2d.d.ts} +1 -1
- package/dist/{provider-store-DM6DNcta.js → provider-store-CaTv00tr.js} +13 -9
- package/dist/pull-B65ndFNZ.js +1 -0
- package/dist/{pull-jEwbf80J.js → pull-CwpGaQSi.js} +12 -11
- package/dist/{push-BD4f15co.js → push-DgssgzkK.js} +62 -16
- package/dist/{pushed-policy-DCW91KQU.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
- package/dist/{pushed-policy-CqtxkV4G.js → pushed-policy-ITwYKvvH.js} +10 -7
- package/dist/react/index.d.ts +9 -8
- package/dist/react/index.js +7 -6
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react/provider-client.js +1 -1
- package/dist/react-native/index.d.ts +104 -51
- package/dist/react-native/index.js +394 -67
- package/dist/{refs-K6eWUJ0H.js → refs-C8BKxc_e.js} +17 -3
- package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
- package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
- package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
- package/dist/{replay-Bkm-Ne4l.d.ts → replay-DNftIb_R.d.ts} +1 -1
- package/dist/{request-context-C81Pip9n.js → request-context-C25ilqiJ.js} +8 -8
- package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
- package/dist/resend/index.d.ts +34 -28
- package/dist/resend/index.js +29 -29
- package/dist/resolve-names-CF7xXLSG.js +201 -0
- package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
- package/dist/{retire-CALjIQ7e.js → retire-B2xffQgY.js} +15 -6
- package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
- package/dist/{rls-DTvYd-lI.js → rls-CNEH2_BG.js} +743 -624
- package/dist/{rls-BAqP4q66.js → rls-Ca8Jz9b5.js} +41 -10
- package/dist/{role-builder-uWQZ4v84.js → role-builder-BK2-T6oD.js} +41 -20
- package/dist/rolldown-runtime-C3I60J0A.js +4 -0
- package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
- package/dist/{rpc-VSl5ylaQ.js → rpc-fNqAIqQk.js} +8 -5
- package/dist/{run-CUKuz0A8.js → run-Bz26OTfO.js} +26 -23
- package/dist/run-D-JE8QWb.js +1 -0
- package/dist/{run-ticket-DocwaTKn.d.ts → run-ticket-DbWI9f99.d.ts} +33 -13
- package/dist/{run-ticket-sxFI6LAk.js → run-ticket-Dv7aF7Dk.js} +29 -8
- package/dist/{runtime-D3VTAiCA.js → runtime-BGnrOkVH.js} +5 -2
- package/dist/{saas-BCXRuXca.js → saas-iWnUdwCt.js} +42 -29
- package/dist/{scan-qvOe0hS3.js → scan-DCj1KQfn.js} +1 -1
- package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
- package/dist/{schema-yLuBWWsh.js → schema-Dst9I9Gs.js} +9 -5
- package/dist/scim/index.d.ts +3 -2
- package/dist/scim/index.js +3 -1
- package/dist/scim-D8YupzX1.js +44 -0
- package/dist/{scim-ClHtpyV3.js → scim-jJBJ7g1Z.js} +35 -551
- package/dist/{scopes-CUPSjo9q.js → scopes-0Up_UA2t.js} +42 -24
- package/dist/server/index.d.ts +12 -12
- package/dist/server/index.js +13 -13
- package/dist/{server-C3WXAHZj.js → server-3cVlTLde.js} +31 -31
- package/dist/{server-types-CKQiCnON.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
- package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
- package/dist/{shared-BAK8t4Uo.js → shared-Afctg7B0.js} +100 -61
- package/dist/{shared-DvvFzYXe.js → shared-l0oGGetg.js} +9 -6
- package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
- package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
- package/dist/{sink-4-eQIRWf.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
- package/dist/{skills-B6lVdD_W.js → skills-Bjj7BNEQ.js} +16 -12
- package/dist/{skills-CTYwkl44.js → skills-OuoMR49L.js} +3 -3
- package/dist/{snapshot-B7DkYg6g.js → snapshot-CXlzi69u.js} +21 -18
- package/dist/{snapshot-cache-PXI-vGpY.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
- package/dist/{snapshot-cache-DZHQ0KF6.js → snapshot-cache-Bx_4xC_6.js} +14 -11
- package/dist/solid/index.d.ts +55 -15
- package/dist/solid/index.js +46 -12
- package/dist/solid-start/index.d.ts +30 -12
- package/dist/solid-start/index.js +3 -3
- package/dist/sources-B1Os_YUu.d.ts +312 -0
- package/dist/{sources-vs5dGOsS.js → sources-CMAM-2A3.js} +156 -51
- package/dist/sources-qoIJQrJv.js +11 -0
- package/dist/{sql-B5T1IL83.js → sql-0WjxIp9g.js} +32 -7
- package/dist/sql-B80DFdpG.d.ts +10 -0
- package/dist/{src-Cu2m75uo.js → src-DZ0l9UAg.js} +305 -123
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +665 -224
- package/dist/{standard-webhooks-rbD7LS6h.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
- package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
- package/dist/{store-BDutJkDL.js → store-RNFvaJJv.js} +43 -29
- package/dist/{store-options-u0ycEe8s.js → store-options-Dil3lraY.js} +105 -15
- package/dist/stores-C0Kta5Ft.d.ts +59 -0
- package/dist/{stores-CGhM8BN_.js → stores-DxZWDXCs.js} +42 -5
- package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
- package/dist/{stream-CeCMJmBB.d.ts → stream-ltuLdtTG.d.ts} +4 -3
- package/dist/{style-DiKWnAvn.js → style-DblOtSga.js} +1 -1
- package/dist/{style-Uao76wO7.js → style-Ds11Hmk4.js} +3 -1
- package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
- package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
- package/dist/supabase/index.d.ts +48 -37
- package/dist/supabase/index.js +6 -6
- package/dist/supabase/middleware.d.ts +19 -13
- package/dist/supabase/middleware.js +7 -7
- package/dist/{supabase-x5JtR2tc.js → supabase-BL1qJzzY.js} +82 -36
- package/dist/{supabase-By_frk3U.js → supabase-D39cuGPt.js} +3 -3
- package/dist/{supabase-hook-BMoEhZir.js → supabase-hook-B-yXnzUl.js} +1206 -286
- package/dist/supabase-hook-H-MtE9Wd.js +1 -0
- package/dist/supautils-BU-pAEpf.js +808 -0
- package/dist/{support-session-C6xJQYut.js → support-session-BsmPCbz8.js} +22 -22
- package/dist/svelte/PermissionBoundary.svelte +2 -6
- package/dist/svelte/Protected.svelte +2 -8
- package/dist/svelte/index.d.ts +9 -8
- package/dist/svelte/index.js +10 -9
- package/dist/svelte/runtime.d.ts +4 -4
- package/dist/svelte/runtime.js +4 -4
- package/dist/svelte/source.d.ts +9 -8
- package/dist/svelte/source.js +6 -5
- package/dist/sveltekit/index.d.ts +30 -12
- package/dist/sveltekit/index.js +2 -2
- package/dist/{ownership-DqaJNJPn.js → tables-DeMNEy6V.js} +1025 -1085
- package/dist/tanstack-start/index.d.ts +22 -10
- package/dist/tanstack-start/index.js +2 -2
- package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
- package/dist/{tenancy-DN2QAx9z.js → tenancy-5d1zVBvK.js} +36 -21
- package/dist/terminal/index.d.ts +23 -14
- package/dist/terminal/index.js +17 -20
- package/dist/testing/core.d.ts +2 -0
- package/dist/testing/core.js +1 -0
- package/dist/testing/fixtures/index.d.ts +15 -0
- package/dist/testing/fixtures/index.js +831 -0
- package/dist/testing/index.d.ts +235 -285
- package/dist/testing/index.js +502 -927
- package/dist/testing/saas/index.d.ts +43 -27
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/text-diff-BtfSmdUo.js +444 -0
- package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
- package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
- package/dist/{token-BLZcjQgt.js → token-DC9EQiet.js} +15 -13
- package/dist/{tool-refusal-CMLN5xhn.js → tool-refusal-Qpjs_W6M.js} +5 -2
- package/dist/trpc/index.d.ts +11 -8
- package/dist/trpc/index.js +15 -9
- package/dist/type-helpers-BIPIDa6a.d.ts +50 -0
- package/dist/{types-8RnwUAvE.d.ts → types-AMJ5qoU_.d.ts} +49 -30
- package/dist/{types-C_IiEs64.d.ts → types-B2mlGuhW.d.ts} +14 -11
- package/dist/{types-_WhUP7ud.d.ts → types-B4uqKDnp.d.ts} +25 -12
- package/dist/{types-CX7AvRqP.d.ts → types-BJk0BKRX.d.ts} +24 -14
- package/dist/types-B_d_g7T3.d.ts +262 -0
- package/dist/{types-BdtSDbBO.d.ts → types-B_tiYvk8.d.ts} +59 -32
- package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
- package/dist/{types-Dfv0aTER.d.ts → types-DC1Loeh3.d.ts} +449 -168
- package/dist/{types-lUlG3TVd.d.ts → types-DHKPcqzr.d.ts} +2 -2
- package/dist/{types-C791HFu9.d.ts → types-DjuMBNF9.d.ts} +68 -32
- package/dist/{types-C863OQiR.d.ts → types-HzqOtvsJ.d.ts} +23 -12
- package/dist/{types-Druu9wLM.d.ts → types-ZzRGoViD.d.ts} +77 -24
- package/dist/{types-BzzaHxt3.d.ts → types-ah9NlU6j.d.ts} +137 -48
- package/dist/{types-CVZSNocA.d.ts → types-djVzLlIV.d.ts} +31 -14
- package/dist/{types-BtHtcKMr.d.ts → types-yUuPR5Hy.d.ts} +47 -24
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-CYeXek0p.js +1 -0
- package/dist/{usage-SveTRTyr.js → usage-CxEzS4ey.js} +50 -26
- package/dist/{usage-CRVl9V3t.js → usage-ab0PdusX.js} +2 -2
- package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
- package/dist/{validation-error-DHUrAkku.d.ts → validation-error-YGg2mXyH.d.ts} +5 -2
- package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
- package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
- package/dist/{verify-BaAKx7t6.js → verify-DZeqoWu5.js} +417 -489
- package/dist/version-DMQ0dnN5.js +48 -0
- package/dist/version-DizhmD72.js +1 -0
- package/dist/{views-DTIIO-oQ.js → views-CD8wuL4Z.js} +19 -6
- package/dist/vocabulary-DEJ5j4mR.d.ts +70 -0
- package/dist/vue/index.d.ts +71 -21
- package/dist/vue/index.js +50 -13
- package/dist/{waiter-B986w1oK.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
- package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
- package/dist/{watch-vea54PRw.js → watch-Cx_WciLE.js} +8 -8
- package/dist/watch-DB42U1ib.js +1 -0
- package/dist/webmcp/index.d.ts +11 -11
- package/dist/webmcp/index.js +8 -5
- package/dist/{where-scope-C9vfEphl.js → where-scope-DlCdCM_8.js} +56 -30
- package/dist/{who-can-DWBAcaCQ.js → who-can-rI7dCR9Q.js} +23 -20
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +13 -13
- package/dist/workflow-sdk/index.d.ts +19 -13
- package/dist/workflow-sdk/index.js +6 -6
- package/dist/{wrap-gX61EtpB.js → wrap-B2wziJI_.js} +11 -5
- package/dist/{wrap-C5jC6sKI.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
- package/package.json +25 -14
- package/schemas/catalog-v1.json +3 -0
- package/schemas/cli-result-v1.json +1 -0
- package/schemas/cloud-api-v1.json +152 -7
- package/schemas/connector-v1.json +8 -0
- package/schemas/supabase-claims-v1.json +5 -0
- package/schemas/supabase-manifest-v1.json +308 -75
- package/skills/permdock/SKILL.md +1 -0
- package/skills/permdock-agents/references/runtimes.md +3 -1
- package/skills/permdock-approvals/references/stores-and-resume.md +2 -1
- package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
- package/skills/permdock-data/references/queries-and-rls.md +6 -2
- package/skills/permdock-tenancy/SKILL.md +1 -1
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -1
- package/skills/permdock-wire/references/adapters.md +28 -22
- package/skills/permdock-wire/references/policy-options.md +1 -0
- package/dist/catalog-BoWglDPI.js +0 -1
- package/dist/collect-D7eQDffE.js +0 -1
- package/dist/config-bs_kZeYq.js +0 -162
- package/dist/denied-text-CiFQNuMV.d.ts +0 -19
- package/dist/fields-OYG_JR78.js +0 -203
- package/dist/generate-CNU1pIOo.js +0 -171
- package/dist/headers-BIjfMaoC.js +0 -8
- package/dist/headers-CIbDTUTK.d.ts +0 -7
- package/dist/index-Cp_ilKi1.d.ts +0 -91
- package/dist/index-CueFnxQc.d.ts +0 -110
- package/dist/load-BxEtwlBS.js +0 -1
- package/dist/output-files-B3IZJksC.js +0 -1
- package/dist/package-root-Dk_ETdkp.js +0 -31
- package/dist/parse-Cxq0WxrA.js +0 -53
- package/dist/parse-local-manifest-5ODwqu8b.d.ts +0 -10
- package/dist/parse-local-manifest-CVSs6J9I.js +0 -34
- package/dist/peer-C8swJ2GH.js +0 -50
- package/dist/policies-DP2nqRoF.js +0 -295
- package/dist/powersync-BkWWCS1K.js +0 -538
- package/dist/powersync-MMJ2mI2q.js +0 -1
- package/dist/problem-details-B45V5d2b.d.ts +0 -7
- package/dist/prompt-DfZLJLIn.js +0 -32
- package/dist/protected-RFGpakN9.d.ts +0 -38
- package/dist/pull-CvpINcMK.js +0 -1
- package/dist/run-DDwUaJDU.js +0 -1
- package/dist/sources-Xc4zkszI.d.ts +0 -190
- package/dist/stores-BUGNbJTt.d.ts +0 -30
- package/dist/supabase-hook-CCw5m35C.js +0 -1
- package/dist/supautils-B6HYL9eL.js +0 -91
- package/dist/text-diff-BQcUapOb.js +0 -15
- package/dist/types-B3_ooZgZ.d.ts +0 -172
- package/dist/usage-CZpSQP6L.js +0 -1
- package/dist/version-CEbQ5UeM.js +0 -18
- package/dist/version-DXkYUISx.js +0 -1
- package/dist/watch--ovlPOc0.js +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { t as whoCan } from "./who-can-
|
|
1
|
+
import { t as whoCan } from "./who-can-rI7dCR9Q.js";
|
|
2
2
|
//#region src/delivery/audience.ts
|
|
3
3
|
async function granted(permdock, ids, permission, row) {
|
|
4
4
|
const unique = [...new Set(ids.filter((id) => typeof id === "string" && id !== ""))];
|
|
5
5
|
const decisions = await Promise.all(unique.map(async (id) => {
|
|
6
6
|
try {
|
|
7
|
-
|
|
7
|
+
const { outcome } = await permdock.decideFor(id, permission, row);
|
|
8
|
+
return outcome;
|
|
8
9
|
} catch {
|
|
9
10
|
return "denied";
|
|
10
11
|
}
|
|
@@ -14,8 +15,8 @@ async function granted(permdock, ids, permission, row) {
|
|
|
14
15
|
/**
|
|
15
16
|
* Who may receive a delivery about `row`: the holders `whoCan` lists (or
|
|
16
17
|
* `candidates`), kept only where `decideFor` grants `permission` in the
|
|
17
|
-
* sender's active tenant. A collection permission has no holders to list,
|
|
18
|
-
*
|
|
18
|
+
* sender's active tenant. A collection permission has no holders to list, so it
|
|
19
|
+
* needs `candidates`; without them it is empty and incomplete.
|
|
19
20
|
*/
|
|
20
21
|
async function audience(permdock, permission, row, options = {}) {
|
|
21
22
|
if (options.candidates !== void 0) return Object.freeze({
|
|
@@ -41,10 +42,9 @@ async function audience(permdock, permission, row, options = {}) {
|
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
|
-
* The subscribers whose principal `decideFor` grants the event's
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* `principal` is dropped.
|
|
45
|
+
* The subscribers whose principal `decideFor` grants the event's permission on
|
|
46
|
+
* its row, in their order: the per-event filter for webhook endpoints and
|
|
47
|
+
* realtime channels. A subscriber without a string `principal` is dropped.
|
|
48
48
|
*/
|
|
49
49
|
async function subscribersFor(permdock, event, subscribers) {
|
|
50
50
|
const ids = subscribers.map((subscriber) => subscriber.principal).filter((id) => typeof id === "string");
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { r as isRecord } from "./compact-CAf557ZB.js";
|
|
2
|
-
import { h as secondsAt } from "./time-
|
|
3
|
-
import { n as CliError } from "./errors-
|
|
4
|
-
import { a as refreshCredential, c as stringField, n as discoverAuthorizationServer } from "./device-
|
|
2
|
+
import { h as secondsAt } from "./time-nR1JesoH.js";
|
|
3
|
+
import { n as CliError } from "./errors-Vpu6rKHl.js";
|
|
4
|
+
import { a as refreshCredential, c as stringField, n as discoverAuthorizationServer } from "./device-BwbJNmb2.js";
|
|
5
5
|
import { i as writeCredentials, r as readCredentials, t as credentialsPath } from "./storage-C2bWdvJH.js";
|
|
6
|
+
import { t as CLOUD_BASE_URL } from "./base-url-BQbddZO5.js";
|
|
6
7
|
import { existsSync } from "node:fs";
|
|
7
8
|
import path from "node:path";
|
|
8
9
|
//#region src/cli/cloud/issuer.ts
|
|
9
|
-
/** The PermDock Cloud platform issuer and API base. */
|
|
10
|
-
const PLATFORM_ISSUER = "https://permdock.com/api";
|
|
11
10
|
/** The public OAuth client the `permdock` binary registers as. */
|
|
12
11
|
const CLI_CLIENT_ID = "permdock-cli";
|
|
13
12
|
const READ_SCOPES = ["projects:read", "policy:read"];
|
|
@@ -16,9 +15,12 @@ function firstNonEmpty(...values) {
|
|
|
16
15
|
for (const value of values) if (value !== void 0 && value !== "") return value;
|
|
17
16
|
return "";
|
|
18
17
|
}
|
|
19
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* `--url`, then `PERMDOCK_CLOUD_URL`, then the platform issuer; never a
|
|
20
|
+
* trailing slash.
|
|
21
|
+
*/
|
|
20
22
|
function cloudUrl(flag, env) {
|
|
21
|
-
return firstNonEmpty(flag, env["PERMDOCK_CLOUD_URL"],
|
|
23
|
+
return firstNonEmpty(flag, env["PERMDOCK_CLOUD_URL"], CLOUD_BASE_URL).replace(/\/+$/u, "");
|
|
22
24
|
}
|
|
23
25
|
async function issuerMetadata(issuer, runtime) {
|
|
24
26
|
const body = await discoverAuthorizationServer(issuer, runtime);
|
|
@@ -55,7 +57,10 @@ function isHttps(value, issuer) {
|
|
|
55
57
|
}
|
|
56
58
|
//#endregion
|
|
57
59
|
//#region src/cli/cloud/auth.ts
|
|
58
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* The service name credentials are stored under, in the keychain or the config
|
|
62
|
+
* directory.
|
|
63
|
+
*/
|
|
59
64
|
const CREDENTIAL_SERVICE = "permdock";
|
|
60
65
|
/** Seconds before `expires_at` at which a stored access token counts as expired. */
|
|
61
66
|
const EXPIRY_SKEW_SECONDS = 30;
|
|
@@ -99,7 +104,10 @@ function repositoryRoot(cwd) {
|
|
|
99
104
|
dir = parent;
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
|
-
/**
|
|
107
|
+
/**
|
|
108
|
+
* The credentials file when it would land inside the repository at `cwd`;
|
|
109
|
+
* `null` when it is outside.
|
|
110
|
+
*/
|
|
103
111
|
function credentialsInsideRepository(cwd, runtime) {
|
|
104
112
|
const root = repositoryRoot(cwd);
|
|
105
113
|
if (root === null) return null;
|
|
@@ -160,7 +168,10 @@ async function readAuth(command, issuer, env, runtime) {
|
|
|
160
168
|
source: "login"
|
|
161
169
|
};
|
|
162
170
|
}
|
|
163
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* The bearer for `cloud push`: `PERMDOCK_CLOUD_KEY`, then a login holding
|
|
173
|
+
* `catalog:write`.
|
|
174
|
+
*/
|
|
164
175
|
async function pushAuth(issuer, env, runtime) {
|
|
165
176
|
const key = env["PERMDOCK_CLOUD_KEY"];
|
|
166
177
|
if (key !== void 0 && key !== "") return {
|
package/dist/authzen/index.d.ts
CHANGED
|
@@ -1,7 +1,92 @@
|
|
|
1
|
-
import { T as Policy, rr as Principal } from "../policy-types-
|
|
2
|
-
import { m as ApprovalStore } from "../types-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { T as Policy, Zn as Actor, rr as Delegation, sr as Principal } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { m as ApprovalStore } from "../types-B_tiYvk8.js";
|
|
3
|
+
import { a as ProblemDetails } from "../errors-zi_4T-rx.js";
|
|
4
|
+
import { t as InstanceOptions } from "../instance-options-B0KXqTrJ.js";
|
|
5
|
+
import { a as evaluationsSemantic, n as EvaluationsSemantic, r as evaluateBatch, t as EVALUATIONS_SEMANTICS } from "../evaluations-z8dQFDaN.js";
|
|
6
|
+
//#region src/authzen/map.d.ts
|
|
7
|
+
type AuthzenEntity = {
|
|
8
|
+
readonly type?: unknown;
|
|
9
|
+
readonly id?: unknown;
|
|
10
|
+
readonly properties?: unknown;
|
|
11
|
+
readonly name?: unknown;
|
|
12
|
+
};
|
|
13
|
+
type AuthzenItem = {
|
|
14
|
+
readonly subject?: AuthzenEntity;
|
|
15
|
+
readonly action?: AuthzenEntity;
|
|
16
|
+
readonly resource?: AuthzenEntity;
|
|
17
|
+
readonly context?: unknown;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* One item of an `evaluations` batch with the request's top-level `subject`,
|
|
21
|
+
* `action`, `resource` and `context` filled in where the item omits them.
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeEvaluationItem(shared: AuthzenItem, item: unknown): AuthzenItem;
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/authzen/search.d.ts
|
|
26
|
+
/** One `search/action` result. */
|
|
27
|
+
type AuthzenAction = {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
};
|
|
30
|
+
/** One `search/subject` result. */
|
|
31
|
+
type AuthzenSubject = {
|
|
32
|
+
readonly type: "user";
|
|
33
|
+
readonly id: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* What `search/subject` asks a lister for: candidates of `type` for one action
|
|
37
|
+
* on one resource.
|
|
38
|
+
*/
|
|
39
|
+
type AuthzenSubjectQuery = {
|
|
40
|
+
readonly type: string;
|
|
41
|
+
readonly action: AuthzenEntity;
|
|
42
|
+
readonly resource: AuthzenEntity;
|
|
43
|
+
readonly context?: unknown;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The principals a policy decision point may answer `search/subject` with, the
|
|
47
|
+
* way `AuthzenResourceAdapter.list` supplies rows. Each record is decided as `{
|
|
48
|
+
* type: "user", id, properties }`; only candidates that are granted are
|
|
49
|
+
* returned, so a lister may answer a superset.
|
|
50
|
+
*/
|
|
51
|
+
type AuthzenSubjectLister = {
|
|
52
|
+
readonly name?: string;
|
|
53
|
+
readonly list: (query: AuthzenSubjectQuery) => readonly AuthzenSubjectRecord[] | Promise<readonly AuthzenSubjectRecord[]>;
|
|
54
|
+
};
|
|
55
|
+
type AuthzenSearchOptions = InstanceOptions & {
|
|
56
|
+
readonly tenant?: string;
|
|
57
|
+
readonly actor?: Actor;
|
|
58
|
+
readonly delegation?: Delegation;
|
|
59
|
+
};
|
|
60
|
+
type SearchActionsOptions = AuthzenSearchOptions & {
|
|
61
|
+
/**
|
|
62
|
+
* The row the server loaded for `resource`, trusted. Without it the
|
|
63
|
+
* resource's `properties` (or `{ id }`) are boundary-validated.
|
|
64
|
+
*/
|
|
65
|
+
readonly data?: unknown;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The AuthZEN `search/action` answer for `user` on `resource`: every permission
|
|
69
|
+
* of `resource.type` in the policy is decided, and the distinct actions of the
|
|
70
|
+
* granted ones are returned in catalog order. Paging is the caller's
|
|
71
|
+
* (`authzenPage`).
|
|
72
|
+
*/
|
|
73
|
+
export declare function searchActions<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, user: TUser, resource: AuthzenEntity & {
|
|
74
|
+
readonly type: string;
|
|
75
|
+
}, options?: SearchActionsOptions): Promise<readonly AuthzenAction[]>;
|
|
76
|
+
/**
|
|
77
|
+
* The AuthZEN `search/subject` answer: the candidates `lister` returns for
|
|
78
|
+
* `request`, each decided as itself, filtered to those granted `action` on
|
|
79
|
+
* `resource`. An unknown action, a subject type other than `user`, or a lister
|
|
80
|
+
* that throws answers none.
|
|
81
|
+
*/
|
|
82
|
+
export declare function searchSubjects<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, lister: AuthzenSubjectLister, request: AuthzenItem & {
|
|
83
|
+
readonly subject: {
|
|
84
|
+
readonly type: string;
|
|
85
|
+
};
|
|
86
|
+
readonly action: AuthzenEntity;
|
|
87
|
+
readonly resource: AuthzenEntity;
|
|
88
|
+
}, options?: AuthzenSearchOptions): Promise<readonly AuthzenSubject[]>;
|
|
89
|
+
//#endregion
|
|
5
90
|
//#region src/authzen/types.d.ts
|
|
6
91
|
type AuthzenResourceAdapter = {
|
|
7
92
|
readonly data?: (id: string) => unknown;
|
|
@@ -17,15 +102,14 @@ type AuthzenPermDockOptions<TUser = unknown> = InstanceOptions & {
|
|
|
17
102
|
readonly subject: (request: Request) => TUser | Promise<TUser>;
|
|
18
103
|
readonly anonymous?: boolean;
|
|
19
104
|
/**
|
|
20
|
-
* Allow-list over the authenticated PEP. Only a PEP it returns `true` for
|
|
21
|
-
*
|
|
22
|
-
*
|
|
105
|
+
* Allow-list over the authenticated PEP. Only a PEP it returns `true` for may
|
|
106
|
+
* evaluate the body's `subject`, `actor` and `delegation`; every other caller
|
|
107
|
+
* is evaluated as itself. Off by default.
|
|
23
108
|
*/
|
|
24
109
|
readonly trustedPep?: (pep: unknown) => boolean;
|
|
25
110
|
readonly resources?: Readonly<Record<string, AuthzenResourceAdapter>>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
111
|
+
/** Enables `search/subject`; discovery advertises it only when set. */
|
|
112
|
+
readonly subjects?: AuthzenSubjectLister;
|
|
29
113
|
readonly store?: ApprovalStore;
|
|
30
114
|
readonly maxEvaluations?: number;
|
|
31
115
|
};
|
|
@@ -37,23 +121,85 @@ type AuthzenFactory = <TUser, TPrincipal extends Principal = Principal>(policy:
|
|
|
37
121
|
//#region src/authzen/create.d.ts
|
|
38
122
|
export declare const createPermDock: AuthzenFactory;
|
|
39
123
|
//#endregion
|
|
40
|
-
//#region src/authzen/
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
readonly
|
|
124
|
+
//#region src/authzen/page.d.ts
|
|
125
|
+
/** The largest page a search answers; a larger `page.limit` is capped to it. */
|
|
126
|
+
export declare const AUTHZEN_MAX_PAGE = 200;
|
|
127
|
+
/** Where a search page starts and how many results it holds. */
|
|
128
|
+
type AuthzenPageRequest = {
|
|
129
|
+
readonly offset: number;
|
|
130
|
+
readonly size: number;
|
|
46
131
|
};
|
|
47
|
-
type
|
|
48
|
-
readonly
|
|
49
|
-
readonly
|
|
50
|
-
|
|
51
|
-
|
|
132
|
+
type AuthzenPage<T> = {
|
|
133
|
+
readonly results: readonly T[];
|
|
134
|
+
readonly page: {
|
|
135
|
+
/**
|
|
136
|
+
* The offset of the next page as a decimal string, or `""` on the last
|
|
137
|
+
* page.
|
|
138
|
+
*/
|
|
139
|
+
readonly next_token: string;
|
|
140
|
+
readonly count: number;
|
|
141
|
+
readonly total: number;
|
|
142
|
+
};
|
|
52
143
|
};
|
|
53
144
|
/**
|
|
54
|
-
*
|
|
55
|
-
* `
|
|
145
|
+
* The page a search body asks for. The token is `page.token`, else
|
|
146
|
+
* `page.next_token`, read as a decimal offset; anything else starts at 0. The
|
|
147
|
+
* size is `page.limit`, else `page.size`, capped at 200 and 50 by default.
|
|
56
148
|
*/
|
|
57
|
-
export declare function
|
|
149
|
+
export declare function readAuthzenPage(body: unknown): AuthzenPageRequest;
|
|
150
|
+
/** One page of `items` with the AuthZEN `page` object. */
|
|
151
|
+
export declare function authzenPage<T>(items: readonly T[], request: AuthzenPageRequest): AuthzenPage<T>;
|
|
152
|
+
/** The answer to a search the PDP cannot run: no results and no next page. */
|
|
153
|
+
export declare function emptyAuthzenPage<T>(): AuthzenPage<T>;
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region src/authzen/parse.d.ts
|
|
156
|
+
type AuthzenRequestKind = "evaluation" | "evaluations" | "search/subject" | "search/resource" | "search/action";
|
|
157
|
+
type AuthzenSearchKind = Extract<AuthzenRequestKind, `search/${string}`>;
|
|
158
|
+
/**
|
|
159
|
+
* A checked AuthZEN request. An `evaluations` body with no items is the single
|
|
160
|
+
* evaluation AuthZEN 1.0 section 7.1 makes it, so it parses as `kind:
|
|
161
|
+
* "evaluation"`; the `evaluations` items already carry the shared top-level
|
|
162
|
+
* fields.
|
|
163
|
+
*/
|
|
164
|
+
type AuthzenRequest = AuthzenEvaluationRequest | AuthzenEvaluationsRequest | AuthzenSearchRequest;
|
|
165
|
+
type AuthzenEvaluationRequest = {
|
|
166
|
+
readonly kind: "evaluation";
|
|
167
|
+
readonly item: AuthzenItem;
|
|
168
|
+
};
|
|
169
|
+
type AuthzenEvaluationsRequest = {
|
|
170
|
+
readonly kind: "evaluations";
|
|
171
|
+
readonly semantic: EvaluationsSemantic;
|
|
172
|
+
readonly items: readonly AuthzenItem[];
|
|
173
|
+
};
|
|
174
|
+
type AuthzenSearchRequest<K extends AuthzenSearchKind = AuthzenSearchKind> = {
|
|
175
|
+
readonly kind: K;
|
|
176
|
+
readonly item: AuthzenItem;
|
|
177
|
+
readonly page: AuthzenPageRequest;
|
|
178
|
+
};
|
|
179
|
+
/** The requests a body for `kind` can parse into. */
|
|
180
|
+
type AuthzenRequestOf<K extends AuthzenRequestKind> = K extends "evaluation" ? AuthzenEvaluationRequest : K extends "evaluations" ? AuthzenEvaluationRequest | AuthzenEvaluationsRequest : K extends AuthzenSearchKind ? AuthzenSearchRequest<K> : never;
|
|
181
|
+
type ParseAuthzenRequestResult<R extends AuthzenRequest = AuthzenRequest> = {
|
|
182
|
+
readonly ok: true;
|
|
183
|
+
readonly request: R;
|
|
184
|
+
} | {
|
|
185
|
+
readonly ok: false;
|
|
186
|
+
readonly problem: ProblemDetails;
|
|
187
|
+
};
|
|
188
|
+
type ParseAuthzenRequestOptions = {
|
|
189
|
+
/** The largest `evaluations` batch; default 256. A larger one is a 413. */
|
|
190
|
+
readonly maxEvaluations?: number;
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Checks a parsed AuthZEN body the way `permdock/authzen` answers it: the body
|
|
194
|
+
* is an object, then each required entity and field in a fixed order, then the
|
|
195
|
+
* `evaluations` array, batch size and semantic. A failure is the 400 (or 413)
|
|
196
|
+
* Problem Details the handler sends, with the same `detail`.
|
|
197
|
+
*/
|
|
198
|
+
export declare function parseAuthzenRequest<K extends AuthzenRequestKind>(kind: K, body: unknown, options?: ParseAuthzenRequestOptions): ParseAuthzenRequestResult<AuthzenRequestOf<K>>;
|
|
199
|
+
/**
|
|
200
|
+
* Reads `request` as an AuthZEN body: `Content-Type: application/json`, at most
|
|
201
|
+
* 1 MiB (a 413 above it), valid JSON, then `parseAuthzenRequest`.
|
|
202
|
+
*/
|
|
203
|
+
export declare function readAuthzenRequest<K extends AuthzenRequestKind>(kind: K, request: Request, options?: ParseAuthzenRequestOptions): Promise<ParseAuthzenRequestResult<AuthzenRequestOf<K>>>;
|
|
58
204
|
//#endregion
|
|
59
|
-
export { type AuthzenEntity, type AuthzenFactory, type AuthzenItem, type AuthzenPermDock, type AuthzenPermDockOptions, type AuthzenResourceAdapter, type AuthzenSubjectRecord, EVALUATIONS_SEMANTICS, type EvaluationsSemantic, evaluateBatch, evaluationsSemantic };
|
|
205
|
+
export { type AuthzenAction, type AuthzenEntity, type AuthzenEvaluationRequest, type AuthzenEvaluationsRequest, type AuthzenFactory, type AuthzenItem, type AuthzenPage, type AuthzenPageRequest, type AuthzenPermDock, type AuthzenPermDockOptions, type AuthzenRequest, type AuthzenRequestKind, type AuthzenRequestOf, type AuthzenResourceAdapter, type AuthzenSearchKind, type AuthzenSearchOptions, type AuthzenSearchRequest, type AuthzenSubject, type AuthzenSubjectLister, type AuthzenSubjectQuery, type AuthzenSubjectRecord, EVALUATIONS_SEMANTICS, type EvaluationsSemantic, type ParseAuthzenRequestOptions, type ParseAuthzenRequestResult, type SearchActionsOptions, evaluateBatch, evaluationsSemantic };
|