permdock 0.7.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 +1 -3
- package/dist/a2a/index.d.ts +7 -7
- package/dist/a2a/index.js +8 -8
- 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-D-feE7BE.js → adoption-scan-BLs67P1l.js} +5 -5
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +19 -13
- package/dist/ai-sdk/index.js +6 -6
- 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-K0faOLFp.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
- package/dist/approvals/index.d.ts +4 -4
- package/dist/approvals/index.js +6 -6
- package/dist/{approvals-CMRfsbBh.js → approvals-DnIBTuXE.js} +66 -42
- package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
- package/dist/{arazzo-ClrF3PVb.js → arazzo-3RhGfkAK.js} +2 -2
- package/dist/{arazzo-rdeJ8n1J.js → arazzo-B5-ulWif.js} +6 -6
- package/dist/{args-CC3OwyHW.js → args-0FrVs5EH.js} +14 -7
- package/dist/astro/index.d.ts +30 -12
- package/dist/astro/index.js +2 -2
- package/dist/{audience-BrMs8c4o.js → audience-BAkBDMqn.js} +8 -8
- package/dist/{auth-CscUX8Sy.js → auth--yPyZNgr.js} +19 -7
- package/dist/authzen/index.d.ts +34 -28
- package/dist/authzen/index.js +23 -20
- package/dist/{automation-DOtAFWdy.d.ts → automation-DqEoWHBc.d.ts} +42 -32
- package/dist/{automation-ySsxp_Yp.js → automation-x3KEUusw.js} +22 -21
- package/dist/better-auth/index.d.ts +2 -2
- package/dist/better-auth/index.js +13 -7
- package/dist/better-supabase/index.d.ts +357 -227
- package/dist/better-supabase/index.js +219 -140
- package/dist/{bind-JDuvxjuW.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
- package/dist/{bind-D1nO6fiC.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-DxE7czo9.js → build-instance-CNWaYJyr.js} +3 -3
- package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
- package/dist/{capability-D4UC9TTW.d.ts → capability-ChuiONQU.d.ts} +41 -29
- package/dist/{casbin-BW9pS47J.js → casbin-H0rKxBx2.js} +16 -8
- package/dist/{casbin-BHijLuHY.js → casbin-cbSbhT_k.js} +2 -2
- package/dist/{casl-CmJlgziS.js → casl-C4OINZHI.js} +2 -2
- package/dist/{casl-UbI8v-Wq.js → casl-CHHoCldP.js} +19 -10
- package/dist/catalog/index.d.ts +51 -30
- package/dist/catalog/index.js +18 -15
- package/dist/{catalog-D69WhFii.js → catalog-BFpz2EmT.js} +20 -19
- package/dist/{catalog-BaMQfQ6Y.js → catalog-DCspHDc8.js} +3 -3
- package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
- package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
- package/dist/catalog-mRQQQhNK.js +1 -0
- package/dist/catalog-operations-Dadrl7Z-.js +60 -0
- package/dist/{challenge-nGWma08S.js → challenge-DImNcR7B.js} +48 -27
- 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-BC_0mPIq.js → checks-CGkP3Z7A.js} +4 -1
- 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 +84 -52
- package/dist/cloud/index.js +53 -39
- package/dist/{cloud-CO8pYtwr.js → cloud-BFlGMaak.js} +4 -5
- package/dist/{codemod-i4N2BhDc.js → codemod-DLQ9Zpo4.js} +3 -4
- package/dist/{codemod-BP6n8N9L.js → codemod-DWSN2erG.js} +523 -201
- package/dist/collect-B5BL3klN.js +1 -0
- package/dist/{collect-BaWeMjwV.js → collect-B7ZFAJU3.js} +26 -63
- package/dist/{collect-DNm3oKOk.js → collect-Bzv3le0A.js} +4 -5
- 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-COM2VKuN.d.ts → compile-BFzysW3o.d.ts} +36 -12
- package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
- package/dist/{completion-BNdVf7X2.js → completion-saoYiRFO.js} +17 -8
- package/dist/config-BwPBfN0t.js +108 -0
- package/dist/{config-DGZzMV1B.js → config-DBeXXmBF.js} +2 -2
- package/dist/{config-report-Cm7UITNA.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-_VCSsdtD.js → connector-schema-CYLQNMYq.js} +3 -2
- package/dist/{context--uM9V3Ui.js → context-BnIzxTNE.js} +4 -3
- package/dist/convex/index.d.ts +13 -7
- package/dist/convex/index.js +9 -6
- package/dist/{core-B5-w6Kw9.js → core-H-mbhpZc.js} +26 -20
- package/dist/{core-CQkE8Esr.d.ts → core-hWIARPDz.d.ts} +49 -22
- package/dist/{create-UTnUVETj.d.ts → create-BSNrVuxh.d.ts} +70 -37
- package/dist/{create-B2-CQqCI.d.ts → create-BVq1lNQE.d.ts} +49 -28
- package/dist/{create-QHuuPw3q.d.ts → create-CM1FciYG.d.ts} +37 -29
- package/dist/{create-Cb86Z8Im.js → create-Cq4Uox0f.js} +10 -7
- package/dist/{create-DJrlhEp9.js → create-_noSrY1T.js} +15 -21
- package/dist/{credential-CIM7wHwA.js → credential-CyyyvCsL.js} +41 -38
- package/dist/{credentials-BpuTwd7a.js → credentials-CdDxp7jN.js} +6 -6
- package/dist/{deciding-columns-DRo2QM6E.js → deciding-columns-NB4wcyBf.js} +2 -2
- package/dist/{delegation-C5rOdTp5.js → delegation-CDB6_keF.js} +31 -22
- package/dist/delivery/index.d.ts +4 -4
- package/dist/delivery/index.js +5 -5
- package/dist/{delivery-rwOKLWRm.js → delivery-BupfvJIV.js} +34 -22
- package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
- package/dist/denied-text-CHNlVInN.d.ts +22 -0
- package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
- package/dist/{describe-O0SwYIK8.d.ts → describe-ByS9LgHK.d.ts} +5 -5
- package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
- package/dist/{diff-Btr1c1Ow.js → diff-CN8IYhC_.js} +2 -2
- package/dist/{diff-DzT-xD13.js → diff-iZWV65nC.js} +22 -13
- package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
- package/dist/{doctor-BU1szn63.js → doctor-CHD1M9R5.js} +287 -135
- package/dist/{doctor-BoK_y0KO.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-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
- package/dist/{errors-B_Qg9D3e.d.ts → errors-zi_4T-rx.d.ts} +22 -6
- package/dist/{evaluate-B_oqFbWC.js → evaluate-Dd8Ta0Ie.js} +140 -78
- package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
- package/dist/{evaluations-BCddEOfO.d.ts → evaluations-z8dQFDaN.d.ts} +11 -5
- 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-CuhyYwC1.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
- package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-JL43jD3E.js} +14 -11
- package/dist/fields-D0vUI6dq.js +498 -0
- package/dist/{files-acUbNwWt.js → files-B3AA05f1.js} +8 -5
- package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
- package/dist/{fixtures-BTMW6zgU.js → fixtures-A1_sp_tR.js} +15 -6
- package/dist/{flags-aaeRAdiD.js → flags-DXjoTVbS.js} +2 -2
- package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
- package/dist/{from-snapshot-Bz469dIh.js → from-snapshot-DCakWRsr.js} +18 -15
- package/dist/gen-B5kvbAoZ.js +58 -0
- package/dist/gen-DWCYcMQM.js +827 -0
- package/dist/{generate-3FNO5P5Q.js → generate-CRVV5V7l.js} +14 -8
- package/dist/generate-CezbCaTI.js +275 -0
- package/dist/{grantee-BrRANrpT.js → grantee-Dke-9rd1.js} +4 -4
- package/dist/{grantee-conditions-C6P1Tvol.js → grantee-conditions-BrYPe-w0.js} +12 -12
- package/dist/{grantee-match-0RtHWQDx.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-DY3vXuGs.js → helpers-DJicaG6f.js} +40 -28
- package/dist/hono/index.d.ts +16 -10
- package/dist/hono/index.js +5 -5
- package/dist/{hosted-BmjzxQhp.d.ts → hosted-Cmtxogd0.d.ts} +33 -21
- package/dist/{hosted-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
- package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
- package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
- package/dist/{http-Ca3Sr5x1.js → http-DOL33cO0.js} +11 -8
- package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
- package/dist/{import-DB2EG_iy.js → import-_YqhhwvX.js} +6 -6
- package/dist/{index-BSfRl0hZ.d.ts → index-B8s204GL.d.ts} +64 -52
- package/dist/{index-DH9DUDEM.d.ts → index-BT5-1VsX.d.ts} +54 -30
- package/dist/{index-BTkwrK7v.d.ts → index-BW_0MZOS.d.ts} +282 -172
- package/dist/{index-CMiPH2Tv.d.ts → index-BhxEUY9J.d.ts} +64 -37
- package/dist/{index-DLwcuCN_.d.ts → index-Bv5iXPqU.d.ts} +51 -30
- package/dist/{index-BE8y3moU.d.ts → index-_9UiQIkt.d.ts} +127 -82
- package/dist/index.d.ts +22 -22
- package/dist/index.js +33 -33
- package/dist/{init-5TXNji88.js → init-Dz_PsHdv.js} +5 -5
- package/dist/{init-B-4t1NzC.js → init-cE3A8aXq.js} +10 -10
- package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
- package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot--JWiTrvO.js} +75 -55
- 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 +57 -27
- package/dist/jwt/index.js +24 -21
- package/dist/{kernel-DVExUwkp.js → kernel-C-fYydV2.js} +32 -23
- 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-DxroEzH1.js → load-DjSU5KXO.js} +6 -6
- package/dist/load-Dm0pSYH3.js +1 -0
- package/dist/{login-ClSJh5t5.js → login-D-8tMqzo.js} +4 -4
- package/dist/{login-WC9HPJpU.js → login-DplQ0s84.js} +16 -9
- package/dist/{manifest-Dv6q4i5s.js → manifest-Cgiq5oqc.js} +49 -38
- package/dist/{manifest-BVhExYhw.d.ts → manifest-CzzWtnAb.d.ts} +126 -31
- package/dist/{manifest-schema-Cv492Qev.js → manifest-schema-2r37XRhD.js} +44 -3
- package/dist/{manifest-B79YuF2T.js → manifest-wg8WkkpD.js} +6 -6
- package/dist/{map-claims-etGIS_Dv.js → map-claims-BNWCJtmP.js} +14 -8
- package/dist/{map-error-BQGyDm_M.js → map-error-pasIGqMT.js} +7 -7
- package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
- package/dist/mcp/index.d.ts +114 -61
- package/dist/mcp/index.js +70 -40
- package/dist/{migrate-Dodel0IJ.js → migrate-B7oP_sQU.js} +35 -17
- 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 +51 -30
- package/dist/openapi/index.js +2 -2
- package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
- package/dist/{openapi-DMocl1bh.js → openapi-CBZUhA3l.js} +4 -5
- package/dist/{openapi-ztVaux6j.js → openapi-VeHHU2l9.js} +23 -14
- package/dist/{operation-findings-kRcEp8lE.js → operation-findings-CXtFzlKJ.js} +3 -3
- package/dist/{operations-BNLes61x.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-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
- package/dist/{output-DgSDLrta.js → output-tkju6U7R.js} +9 -5
- package/dist/ownership-B4L59T9u.js +1054 -0
- package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
- package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
- package/dist/{parse-local-manifest-T1Q8X3A2.js → parse-local-manifest-DEiCF4ah.js} +19 -7
- 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 +20 -13
- package/dist/{peer-DOzzMfZL.js → peer-C9LvBCcb.js} +1 -1
- package/dist/{peer-12Q5I_RH.js → peer-Q0fuZ6hx.js} +9 -3
- package/dist/{permdock-Dco6dyCK.d.ts → permdock-B6Sf4T_S.d.ts} +253 -129
- package/dist/{permdock-BfWEeMqk.js → permdock-L-_I_3zP.js} +59 -35
- package/dist/{permission-registry-DpPtSKNZ.js → permission-registry-B8tYxPIt.js} +23 -10
- package/dist/{permission-types-DhNEmoRG.d.ts → permission-types-CAY-GU7e.d.ts} +127 -41
- package/dist/{permissions-CoqCOfJ3.d.ts → permissions-Bx6UI8n1.d.ts} +6 -3
- package/dist/{permissions-CyH2MV_B.js → permissions-CVXmRILq.js} +3 -3
- package/dist/{permissions-DArULThq.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-5h8NgMQJ.js → pkce-CnmmYqUZ.js} +1 -1
- package/dist/{policy-B7dg_yzu.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
- package/dist/{policy-DaJy4nK4.js → policy-CLQ8__GF.js} +43 -23
- package/dist/{policy-from-catalog-DFWYkNdu.js → policy-from-catalog-CJgOm6aq.js} +28 -25
- package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
- package/dist/{policy-types-B-F-qAZk.d.ts → policy-types-CCiDRZBH.d.ts} +738 -349
- package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
- package/dist/{postgrest-r5faDIzD.js → postgrest-D4nuPXIQ.js} +52 -33
- package/dist/{postgrest-CYacM_u7.d.ts → postgrest-DicQyqm-.d.ts} +54 -35
- package/dist/{powersync-53ryOZip.js → powersync-DHNQX06W.js} +127 -69
- package/dist/{powersync-13odBwiM.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-CHTbd-DQ.js → preset-BjLzeFpp.js} +56 -32
- 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-DwtVemER.js → prompt-BYc6drYW.js} +4 -1
- package/dist/protected-action-BE7N_Luo.d.ts +58 -0
- package/dist/protected-action-DUYqb-Ma.js +80 -0
- package/dist/{protected-DXE3cQYg.js → protected-action-QEA8arRB.js} +48 -14
- package/dist/{provider-BQsTYYy0.js → provider-C55OGXJ7.js} +5 -4
- package/dist/{provider-Csk-THAn.d.ts → provider-DXfq5c2d.d.ts} +1 -1
- package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
- package/dist/pull-B65ndFNZ.js +1 -0
- package/dist/{pull-CN5OLxrF.js → pull-CwpGaQSi.js} +12 -11
- package/dist/{push-tVdG8dUL.js → push-DgssgzkK.js} +19 -13
- package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
- package/dist/{pushed-policy-CmYeSQqq.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 +94 -55
- package/dist/react-native/index.js +200 -61
- package/dist/{refs-CNJBiTFo.js → refs-C8BKxc_e.js} +2 -2
- 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-DCDD_ZfL.d.ts → replay-DNftIb_R.d.ts} +1 -1
- package/dist/{request-context-BykKLmyE.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-Wj6dkyDE.js → retire-B2xffQgY.js} +15 -6
- package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
- package/dist/{rls-CxBZb4rZ.js → rls-CNEH2_BG.js} +299 -124
- package/dist/{rls-Ck_PocSp.js → rls-Ca8Jz9b5.js} +13 -6
- package/dist/{role-builder-C1VJzvcr.js → role-builder-BK2-T6oD.js} +41 -20
- package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
- package/dist/{rpc-Bk1bE-ch.js → rpc-fNqAIqQk.js} +8 -5
- package/dist/{run-uLD2aWuO.js → run-Bz26OTfO.js} +26 -23
- package/dist/run-D-JE8QWb.js +1 -0
- package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-DbWI9f99.d.ts} +29 -14
- package/dist/{run-ticket-B5d_63Ma.js → run-ticket-Dv7aF7Dk.js} +9 -9
- package/dist/{runtime-Vif3_-zf.js → runtime-BGnrOkVH.js} +5 -2
- package/dist/{saas-Az_Kz-4D.js → saas-iWnUdwCt.js} +42 -29
- package/dist/{scan-DSljDE1Y.js → scan-DCj1KQfn.js} +1 -1
- package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
- package/dist/{schema-gIcCx7zM.js → schema-Dst9I9Gs.js} +8 -4
- package/dist/scim/index.d.ts +2 -2
- package/dist/scim/index.js +2 -2
- package/dist/{scim-C7JYhySg.js → scim-D8YupzX1.js} +2 -2
- package/dist/{scim-YNieBO1U.js → scim-jJBJ7g1Z.js} +33 -15
- package/dist/{scopes-BHsc-wp-.js → scopes-0Up_UA2t.js} +41 -23
- package/dist/server/index.d.ts +11 -11
- package/dist/server/index.js +12 -12
- package/dist/{server-Bnga6I50.js → server-3cVlTLde.js} +31 -31
- package/dist/{server-types-C4gZUEZy.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
- package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
- package/dist/{shared-fMKOv8hP.js → shared-Afctg7B0.js} +65 -32
- package/dist/{shared-C8LjUdVU.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-Cp_Eot9W.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
- package/dist/{skills-Dcjw9_1C.js → skills-Bjj7BNEQ.js} +12 -8
- package/dist/{skills-g_3BS9NC.js → skills-OuoMR49L.js} +3 -3
- package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
- package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
- package/dist/{snapshot-cache-DT2Kx1F8.js → snapshot-cache-Bx_4xC_6.js} +14 -11
- package/dist/solid/index.d.ts +55 -16
- 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-DEEuGb8S.d.ts → sources-B1Os_YUu.d.ts} +126 -53
- package/dist/{sources-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
- package/dist/{sql-B96movIM.js → sql-0WjxIp9g.js} +28 -7
- package/dist/{sql-CDEPCA0g.d.ts → sql-B80DFdpG.d.ts} +2 -2
- package/dist/{src-DLFrtrrC.js → src-DZ0l9UAg.js} +190 -100
- package/dist/ssf/index.d.ts +3 -3
- package/dist/ssf/index.js +47 -35
- package/dist/{standard-webhooks-B_qRg0ws.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-DSP9oGvh.js → store-RNFvaJJv.js} +32 -26
- package/dist/{store-options-B_poyYvg.js → store-options-Dil3lraY.js} +105 -15
- package/dist/stores-C0Kta5Ft.d.ts +59 -0
- package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
- package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
- package/dist/{stream-2Vwhl7Er.d.ts → stream-ltuLdtTG.d.ts} +4 -3
- package/dist/{style-Ds1gNm77.js → style-DblOtSga.js} +1 -1
- package/dist/{style-Cqo7-73x.js → style-Ds11Hmk4.js} +2 -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 -38
- package/dist/supabase/index.js +5 -5
- package/dist/supabase/middleware.d.ts +19 -13
- package/dist/supabase/middleware.js +7 -7
- package/dist/{supabase--0aJdLEd.js → supabase-BL1qJzzY.js} +79 -35
- package/dist/{supabase-Bqp7iIY2.js → supabase-D39cuGPt.js} +3 -3
- package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-B-yXnzUl.js} +175 -196
- package/dist/supabase-hook-H-MtE9Wd.js +1 -0
- package/dist/{supautils-MESd81bF.js → supautils-BU-pAEpf.js} +166 -47
- package/dist/{support-session-Cna49-3f.js → support-session-BsmPCbz8.js} +21 -21
- 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-Z2LpxsGa.js → tables-DeMNEy6V.js} +641 -1104
- 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-CmeBQ6Nv.js → tenancy-5d1zVBvK.js} +25 -19
- package/dist/terminal/index.d.ts +23 -14
- package/dist/terminal/index.js +17 -20
- package/dist/testing/core.d.ts +1 -1
- package/dist/testing/core.js +1 -1
- package/dist/testing/fixtures/index.d.ts +8 -5
- package/dist/testing/fixtures/index.js +78 -17
- package/dist/testing/index.d.ts +224 -141
- package/dist/testing/index.js +299 -234
- 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-DhITNCnD.js → text-diff-BtfSmdUo.js} +2 -2
- package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
- package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
- package/dist/{token-2qYDvXz2.js → token-DC9EQiet.js} +14 -12
- package/dist/{tool-refusal-reAhIzdl.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-DBHftjgS.d.ts → types-AMJ5qoU_.d.ts} +45 -33
- package/dist/{types-CfiKC5aN.d.ts → types-B2mlGuhW.d.ts} +14 -11
- package/dist/{types-D3A19w4A.d.ts → types-B4uqKDnp.d.ts} +22 -13
- package/dist/{types-CQVEQawv.d.ts → types-BJk0BKRX.d.ts} +24 -14
- package/dist/types-B_d_g7T3.d.ts +262 -0
- package/dist/{types-DC44-hqb.d.ts → types-B_tiYvk8.d.ts} +59 -32
- package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
- package/dist/{types-BWZybqs9.d.ts → types-DC1Loeh3.d.ts} +381 -202
- package/dist/{types-CIeZcG8v.d.ts → types-DHKPcqzr.d.ts} +2 -2
- package/dist/{types-cTos-H7p.d.ts → types-DjuMBNF9.d.ts} +68 -32
- package/dist/{types-CeIscIKp.d.ts → types-HzqOtvsJ.d.ts} +23 -12
- package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
- package/dist/{types-BfVmNJO5.d.ts → types-ah9NlU6j.d.ts} +128 -50
- package/dist/{types-DXmwu78Z.d.ts → types-djVzLlIV.d.ts} +31 -14
- package/dist/{types-g7Oy6Zg4.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-Bybmck7f.js → usage-CxEzS4ey.js} +50 -26
- package/dist/{usage-CDaLXCfL.js → usage-ab0PdusX.js} +2 -2
- package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
- package/dist/{validation-error-CQpoquwj.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-pe8rL_Qw.js → verify-DZeqoWu5.js} +148 -487
- package/dist/version-DMQ0dnN5.js +48 -0
- package/dist/version-DizhmD72.js +1 -0
- package/dist/{views-BB8E9dTP.js → views-CD8wuL4Z.js} +19 -6
- package/dist/{vocabulary-Bg3eeT2H.d.ts → vocabulary-DEJ5j4mR.d.ts} +7 -4
- package/dist/vue/index.d.ts +71 -22
- package/dist/vue/index.js +50 -13
- package/dist/{waiter-DwEyouan.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
- package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
- package/dist/{watch-C-4VmFlL.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-wq2coopv.js → where-scope-DlCdCM_8.js} +24 -18
- package/dist/{who-can-BwNsI_Js.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-CiSc_KCq.js → wrap-B2wziJI_.js} +4 -4
- package/dist/{wrap-B6R0cMRL.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
- package/package.json +7 -7
- package/schemas/catalog-v1.json +3 -0
- package/schemas/supabase-manifest-v1.json +33 -1
- package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
- package/skills/permdock-data/references/queries-and-rls.md +2 -1
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -2
- package/skills/permdock-wire/references/adapters.md +14 -22
- package/dist/catalog-BCCjSAdH.js +0 -1
- package/dist/collect-k_Dulxr5.js +0 -1
- package/dist/config-CoQHDrDi.js +0 -166
- package/dist/denied-text-D4qkEtFz.d.ts +0 -19
- package/dist/fields-ClcQLrVc.js +0 -238
- package/dist/generate-CNU1pIOo.js +0 -171
- package/dist/headers-BIjfMaoC.js +0 -8
- package/dist/headers-CIbDTUTK.d.ts +0 -7
- package/dist/load-DrMHXzgN.js +0 -1
- package/dist/output-files-DPAY7-GX.js +0 -1
- package/dist/package-root-Dk_ETdkp.js +0 -31
- package/dist/parse-local-manifest-e4mdwAKd.d.ts +0 -10
- package/dist/policies-B2lZIurj.js +0 -295
- package/dist/powersync-CExtTLyA.js +0 -1
- package/dist/problem-details-Tcfmj3bV.d.ts +0 -7
- package/dist/protected-BwZYL1X_.d.ts +0 -39
- package/dist/pull-Cty6Ovyu.js +0 -1
- package/dist/run-Bz7DXGEv.js +0 -1
- package/dist/stores-BAZwSYZA.d.ts +0 -31
- package/dist/supabase-hook-DJxC4PoP.js +0 -1
- package/dist/types-CKV71kKh.d.ts +0 -172
- package/dist/usage-y-kBNdqs.js +0 -1
- package/dist/version-CEbQ5UeM.js +0 -18
- package/dist/version-DXkYUISx.js +0 -1
- package/dist/watch-Bd9mx3rd.js +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Ct as Credential, Ln as Decision, St as ApiKeyPrincipal, T as Policy, Tt as CredentialKind, U as CredentialVerifier, Zt as AuthEvent, at as SettingsSource, dt as TokenVerifier, gt as SupportSession, j as PolicyVocabulary, lr as Subject, lt as TokenFailureCause, q as DecisionSink, sr as Principal, ut as TokenSigner } from "./policy-types-
|
|
2
|
-
import { f as PermissionTree, u as Permission } from "./permission-types-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { c as ServerPermDock, l as ServerPermDockOptions } from "./server-types-C4gZUEZy.js";
|
|
1
|
+
import { Ct as Credential, Ln as Decision, St as ApiKeyPrincipal, T as Policy, Tt as CredentialKind, U as CredentialVerifier, Zt as AuthEvent, at as SettingsSource, dt as TokenVerifier, gt as SupportSession, j as PolicyVocabulary, lr as Subject, lt as TokenFailureCause, q as DecisionSink, sr as Principal, ut as TokenSigner } from "./policy-types-CCiDRZBH.js";
|
|
2
|
+
import { f as PermissionTree, u as Permission } from "./permission-types-CAY-GU7e.js";
|
|
3
|
+
import { _ as PrincipalSource } from "./permdock-B6Sf4T_S.js";
|
|
4
|
+
import { a as ProblemDetails, s as Disclosure, t as ApprovalHint } from "./errors-zi_4T-rx.js";
|
|
5
|
+
import { c as ServerPermDock, l as ServerPermDockOptions } from "./server-types-CIlpSA2G.js";
|
|
7
6
|
//#region src/server/create.d.ts
|
|
8
7
|
/**
|
|
9
8
|
* The Fetch factory behind every HTTP adapter. The subject and actor are
|
|
@@ -21,9 +20,9 @@ type ProblemFromErrorOptions = {
|
|
|
21
20
|
};
|
|
22
21
|
/**
|
|
23
22
|
* Turns a thrown PermDock error into its Problem Details response, with the
|
|
24
|
-
* status, `WWW-Authenticate` and rate-limit fields `protect` sends for the
|
|
25
|
-
*
|
|
26
|
-
*
|
|
23
|
+
* status, `WWW-Authenticate` and rate-limit fields `protect` sends for the same
|
|
24
|
+
* decision. Returns `undefined` for anything else so the framework's own error
|
|
25
|
+
* path takes over.
|
|
27
26
|
*/
|
|
28
27
|
declare function problemFromError(error: unknown, options?: ProblemFromErrorOptions): Response | undefined;
|
|
29
28
|
//#endregion
|
|
@@ -35,7 +34,10 @@ type ApiKeyParts = {
|
|
|
35
34
|
readonly id: string;
|
|
36
35
|
readonly secret: string;
|
|
37
36
|
};
|
|
38
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* What an application stores per key: the credential and the key's hash, never
|
|
39
|
+
* the key.
|
|
40
|
+
*/
|
|
39
41
|
type StoredCredential = {
|
|
40
42
|
readonly credential: Credential;
|
|
41
43
|
readonly hash: string;
|
|
@@ -43,19 +45,19 @@ type StoredCredential = {
|
|
|
43
45
|
/**
|
|
44
46
|
* Splits `pdk_<id>_<secret><checksum>`: `id` is 1 to 128 of `A-Z a-z 0-9 _ -`,
|
|
45
47
|
* the secret 43 base62 characters and the checksum the 6 base62 characters of
|
|
46
|
-
* the CRC-32 of everything before it. Anything else, including a checksum
|
|
47
|
-
*
|
|
48
|
+
* the CRC-32 of everything before it. Anything else, including a checksum that
|
|
49
|
+
* does not match, is `undefined`.
|
|
48
50
|
*/
|
|
49
51
|
declare function parseApiKey(key: unknown): ApiKeyParts | undefined;
|
|
50
52
|
/**
|
|
51
|
-
* Splits `pdfeed_<id>_<secret><checksum>`. `id` is `isFeedId`, the secret is
|
|
52
|
-
*
|
|
53
|
-
*
|
|
53
|
+
* Splits `pdfeed_<id>_<secret><checksum>`. `id` is `isFeedId`, the secret is 26
|
|
54
|
+
* lowercase base32 characters and the checksum is 6 more. A checksum that does
|
|
55
|
+
* not match is `undefined`.
|
|
54
56
|
*/
|
|
55
57
|
declare function parseFeedKey(key: unknown): ApiKeyParts | undefined;
|
|
56
58
|
/**
|
|
57
|
-
* A fresh `pdfeed_<id>_<secret><checksum>`: 26 lowercase base32 characters
|
|
58
|
-
*
|
|
59
|
+
* A fresh `pdfeed_<id>_<secret><checksum>`: 26 lowercase base32 characters (130
|
|
60
|
+
* bits) and a 6-character CRC-32 checksum. The whole key is lowercase.
|
|
59
61
|
*/
|
|
60
62
|
declare function generateFeedKey(id: string): string;
|
|
61
63
|
/**
|
|
@@ -67,11 +69,11 @@ declare function generateApiKey(id: string): string;
|
|
|
67
69
|
/** base64url SHA-256 of the whole key, the value to store and compare. */
|
|
68
70
|
declare function hashApiKey(key: string): Promise<string>;
|
|
69
71
|
/**
|
|
70
|
-
* A `CredentialVerifier` over the application's own table: `find` looks a
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
72
|
+
* A `CredentialVerifier` over the application's own table: `find` looks a key
|
|
73
|
+
* up by the id in it, and the key's hash is compared in constant time. A record
|
|
74
|
+
* that is not a valid v1 credential, or whose id is not the key's, verifies to
|
|
75
|
+
* `null`. A throwing `find` propagates, so the resolver denies with
|
|
76
|
+
* `source-threw`.
|
|
75
77
|
*/
|
|
76
78
|
declare function apiKeyVerifier(options: {
|
|
77
79
|
readonly find: (id: string) => StoredCredential | null | undefined | Promise<StoredCredential | null | undefined>;
|
|
@@ -80,14 +82,14 @@ declare function apiKeyVerifier(options: {
|
|
|
80
82
|
}): CredentialVerifier;
|
|
81
83
|
type MemoryCredentialStore = CredentialVerifier & {
|
|
82
84
|
/** Stores `credential` and returns its key; the key is never stored. */
|
|
83
|
-
issue(credential: Credential)
|
|
85
|
+
issue: (credential: Credential) => Promise<string>;
|
|
84
86
|
/** A new secret for the same id; the old key stops verifying at once. */
|
|
85
|
-
rotate(id: string)
|
|
87
|
+
rotate: (id: string) => Promise<string | undefined>;
|
|
86
88
|
/** `true` when a credential was removed. */
|
|
87
|
-
revoke(id: string)
|
|
88
|
-
list()
|
|
89
|
+
revoke: (id: string) => boolean;
|
|
90
|
+
list: () => readonly Credential[];
|
|
89
91
|
/** When `touch` last recorded a use of `id`, as RFC 3339. */
|
|
90
|
-
lastUsedAt(id: string)
|
|
92
|
+
lastUsedAt: (id: string) => string | undefined;
|
|
91
93
|
};
|
|
92
94
|
/**
|
|
93
95
|
* In-process credentials for tests and single-replica apps. `issue`, `rotate`
|
|
@@ -99,24 +101,30 @@ declare function memoryCredentialStore(options?: {
|
|
|
99
101
|
}): MemoryCredentialStore;
|
|
100
102
|
type ApiKeySubjectOptions = {
|
|
101
103
|
readonly verifier: CredentialVerifier;
|
|
102
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* The definitions, to turn the credential's permission keys into its
|
|
106
|
+
* delegation.
|
|
107
|
+
*/
|
|
103
108
|
readonly permissions: PermissionTree;
|
|
104
109
|
/**
|
|
105
|
-
* Loads the live owner of a user-bound key: roles and memberships as of
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
+
* Loads the live owner of a user-bound key: roles and memberships as of this
|
|
111
|
+
* request, asked with the key's tenant. `null` (a deleted or suspended user)
|
|
112
|
+
* is anonymous with `owner-unavailable`, and a throw is `source-threw`.
|
|
113
|
+
* Without it the owner is `{ id, kind: 'user' }` and its rights come from the
|
|
114
|
+
* `memberships` source passed to `createPermDock`.
|
|
110
115
|
*/
|
|
111
116
|
readonly principals?: PrincipalSource;
|
|
112
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* The tenant the request acts in: a user key is held to its owner's
|
|
119
|
+
* memberships there.
|
|
120
|
+
*/
|
|
113
121
|
readonly tenant?: string;
|
|
114
122
|
/** `true` when the application revoked the credential id; a throw denies. */
|
|
115
123
|
readonly revoked?: (id: string) => boolean | Promise<boolean>;
|
|
116
124
|
/**
|
|
117
|
-
* The tenant `credentials` policy, checked on every use so a tightened
|
|
118
|
-
*
|
|
119
|
-
*
|
|
125
|
+
* The tenant `credentials` policy, checked on every use so a tightened policy
|
|
126
|
+
* reaches existing keys: a service key's own tenant, a user key's the
|
|
127
|
+
* `tenant` the resolver is called with. A throw denies.
|
|
120
128
|
*/
|
|
121
129
|
readonly settings?: SettingsSource;
|
|
122
130
|
/** Receives a `credential` event with operation `used` for sampled uses. */
|
|
@@ -132,10 +140,10 @@ type ApiKeySubjectOptions = {
|
|
|
132
140
|
};
|
|
133
141
|
/**
|
|
134
142
|
* Resolves an opaque API key (`pdk_<id>_<secret>`) into the subject its
|
|
135
|
-
* credential acts as. Every failure (a malformed or unknown key, a record
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
143
|
+
* credential acts as. Every failure (a malformed or unknown key, a record that
|
|
144
|
+
* is not a valid credential, expiry, a tenant policy the key breaks, a revoked
|
|
145
|
+
* id, a missing owner, a throwing verifier, source or callback) is the
|
|
146
|
+
* anonymous subject, never a throw.
|
|
139
147
|
*/
|
|
140
148
|
declare function subjectFromApiKey(key: string | undefined | null, options: ApiKeySubjectOptions): Promise<Subject<ApiKeyPrincipal>>;
|
|
141
149
|
//#endregion
|
|
@@ -145,7 +153,7 @@ type SupportSessionFailureCause = TokenFailureCause | "invalid-claims" | "sessio
|
|
|
145
153
|
/** The live state of each support session, so one can end before it expires. */
|
|
146
154
|
type SupportSessionSource = {
|
|
147
155
|
/** The session as of now, or `null` for an unknown one. A throw ends it. */
|
|
148
|
-
session(id: string)
|
|
156
|
+
session: (id: string) => {
|
|
149
157
|
readonly id: string;
|
|
150
158
|
readonly ended?: boolean;
|
|
151
159
|
} | null | Promise<{
|
|
@@ -176,19 +184,19 @@ type SupportSessionContext = {
|
|
|
176
184
|
};
|
|
177
185
|
/**
|
|
178
186
|
* Signs a granted `SupportSession` as a `vnd.permdock.support-session+jwt`
|
|
179
|
-
* (`sub` the viewed principal, `act` the support actor, `jti` the session
|
|
180
|
-
*
|
|
187
|
+
* (`sub` the viewed principal, `act` the support actor, `jti` the session id)
|
|
188
|
+
* that expires with the session. Throws a `TypeError` for a record
|
|
181
189
|
* `parseSupportSession` refuses.
|
|
182
190
|
*/
|
|
183
191
|
declare function signSupportSession(session: SupportSession, signer: TokenSigner, options?: {
|
|
184
192
|
readonly audience?: string | readonly string[];
|
|
185
193
|
}): Promise<string>;
|
|
186
194
|
/**
|
|
187
|
-
* Resolves a `vnd.permdock.support-session+jwt` into the subject each
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
195
|
+
* Resolves a `vnd.permdock.support-session+jwt` into the subject each request
|
|
196
|
+
* of the session acts as: the viewed principal loaded live, a `support` actor,
|
|
197
|
+
* the session's permissions as the delegation and `context.supportSession`. The
|
|
198
|
+
* actor must still exist. Every failure is the anonymous subject, never a
|
|
199
|
+
* throw.
|
|
192
200
|
*/
|
|
193
201
|
declare function subjectFromSupportSession(token: string | undefined | null, options: SupportSessionSubjectOptions): Promise<Subject>;
|
|
194
202
|
//#endregion
|
|
@@ -196,15 +204,19 @@ declare function subjectFromSupportSession(token: string | undefined | null, opt
|
|
|
196
204
|
declare function wwwAuthenticate(decision: Decision, permission: Permission | undefined, credentials?: boolean): string | undefined;
|
|
197
205
|
declare function problemResponse(details: ProblemDetails, permission?: Permission, decision?: Decision, extra?: Readonly<Record<string, string>>, credentials?: boolean): Response;
|
|
198
206
|
declare function validationProblem(detail: string): Response;
|
|
199
|
-
|
|
207
|
+
type DecisionProblemOptions = {
|
|
200
208
|
readonly instance?: string;
|
|
201
209
|
readonly approval?: ApprovalHint;
|
|
202
210
|
/** `'hide'` on a loaded row: a denial answers as `404` `/not-found`. */
|
|
203
211
|
readonly disclosure?: Disclosure;
|
|
204
212
|
/** Whether the request carried credentials, which picks the `401` challenge. */
|
|
205
213
|
readonly credentials?: boolean;
|
|
206
|
-
/**
|
|
214
|
+
/**
|
|
215
|
+
* The scope an `insufficient_scope` challenge names; the permission's own
|
|
216
|
+
* scope when absent.
|
|
217
|
+
*/
|
|
207
218
|
readonly scope?: string;
|
|
208
|
-
}
|
|
219
|
+
};
|
|
220
|
+
declare function problemFromDecision(decision: Decision, permission: Permission, subject: Subject | undefined, options?: DecisionProblemOptions): Response;
|
|
209
221
|
//#endregion
|
|
210
222
|
export { subjectFromApiKey as C, createPermDock as E, parseFeedKey as S, problemFromError as T, generateApiKey as _, SupportSessionContext as a, memoryCredentialStore as b, SupportSessionSubjectOptions as c, ApiKeyFailureCause as d, ApiKeyParts as f, apiKeyVerifier as g, StoredCredential as h, wwwAuthenticate as i, signSupportSession as l, MemoryCredentialStore as m, problemResponse as n, SupportSessionFailureCause as o, ApiKeySubjectOptions as p, validationProblem as r, SupportSessionSource as s, problemFromDecision as t, subjectFromSupportSession as u, generateFeedKey as v, ProblemFromErrorOptions as w, parseApiKey as x, hashApiKey as y };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { dt as TokenVerifier, et as MembershipSource, q as DecisionSink } from "./policy-types-
|
|
2
|
-
import {
|
|
3
|
-
import { n as RevocationFeed } from "./revocations-
|
|
4
|
-
import { t as ClaimsMap } from "./claims-map-
|
|
5
|
-
import { t as SqlQuery } from "./sql-
|
|
1
|
+
import { dt as TokenVerifier, et as MembershipSource, q as DecisionSink } from "./policy-types-CCiDRZBH.js";
|
|
2
|
+
import { M as AppData } from "./permission-types-CAY-GU7e.js";
|
|
3
|
+
import { n as RevocationFeed } from "./revocations-BaUXHM1N.js";
|
|
4
|
+
import { t as ClaimsMap } from "./claims-map-D1Pb5oRq.js";
|
|
5
|
+
import { t as SqlQuery } from "./sql-B80DFdpG.js";
|
|
6
6
|
//#region src/scim/types.d.ts
|
|
7
7
|
declare const SCIM_CONTENT_TYPE = "application/scim+json";
|
|
8
8
|
declare const USER_SCHEMA = "urn:ietf:params:scim:schemas:core:2.0:User";
|
|
@@ -12,7 +12,10 @@ declare const ERROR_SCHEMA = "urn:ietf:params:scim:api:messages:2.0:Error";
|
|
|
12
12
|
declare const PATCH_SCHEMA = "urn:ietf:params:scim:api:messages:2.0:PatchOp";
|
|
13
13
|
/** The RFC 7643 section 3.3 Group extension that carries PermDock roles. */
|
|
14
14
|
declare const ROLES_EXTENSION = "urn:ietf:params:scim:schemas:extension:permdock:2.0:Group";
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* The extension that carries the application's own data (`x`) on a User or a
|
|
17
|
+
* Group.
|
|
18
|
+
*/
|
|
16
19
|
declare const APP_DATA_EXTENSION = "urn:ietf:params:scim:schemas:extension:permdock:2.0:AppData";
|
|
17
20
|
type DirectoryMeta = {
|
|
18
21
|
readonly created: string;
|
|
@@ -31,7 +34,10 @@ type DirectoryUser = {
|
|
|
31
34
|
readonly userName: string;
|
|
32
35
|
readonly active: boolean;
|
|
33
36
|
readonly emails?: readonly DirectoryEmail[];
|
|
34
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* The application's own data, from the `AppData` extension; plain JSON, never
|
|
39
|
+
* read by a decision.
|
|
40
|
+
*/
|
|
35
41
|
readonly x?: AppData;
|
|
36
42
|
readonly meta: DirectoryMeta;
|
|
37
43
|
};
|
|
@@ -44,7 +50,10 @@ type DirectoryGroup = {
|
|
|
44
50
|
readonly displayName: string;
|
|
45
51
|
readonly members: readonly DirectoryGroupMember[];
|
|
46
52
|
readonly roles?: readonly string[];
|
|
47
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* The application's own data, from the `AppData` extension; plain JSON, never
|
|
55
|
+
* read by a decision.
|
|
56
|
+
*/
|
|
48
57
|
readonly x?: AppData;
|
|
49
58
|
readonly meta: DirectoryMeta;
|
|
50
59
|
};
|
|
@@ -80,17 +89,17 @@ type ScimPatchOp = {
|
|
|
80
89
|
type DirectoryStore = {
|
|
81
90
|
/** Shown in errors and events; optional, as on every extension interface. */
|
|
82
91
|
readonly name?: string;
|
|
83
|
-
getUser(tenant: string, id: string)
|
|
84
|
-
findUsers(tenant: string, filter: ScimFilter | undefined, page: ScimPage)
|
|
85
|
-
putUser(tenant: string, user: DirectoryUser)
|
|
86
|
-
patchUser(tenant: string, id: string, ops: readonly ScimPatchOp[])
|
|
87
|
-
deleteUser(tenant: string, id: string)
|
|
88
|
-
getGroup(tenant: string, id: string)
|
|
89
|
-
findGroups(tenant: string, filter: ScimFilter | undefined, page: ScimPage)
|
|
90
|
-
putGroup(tenant: string, group: DirectoryGroup)
|
|
91
|
-
patchGroup(tenant: string, id: string, ops: readonly ScimPatchOp[])
|
|
92
|
-
deleteGroup(tenant: string, id: string)
|
|
93
|
-
groupsFor(tenant: string, userId: string)
|
|
92
|
+
getUser: (tenant: string, id: string) => DirectoryUser | null | Promise<DirectoryUser | null>;
|
|
93
|
+
findUsers: (tenant: string, filter: ScimFilter | undefined, page: ScimPage) => ScimPageResult<DirectoryUser> | Promise<ScimPageResult<DirectoryUser>>;
|
|
94
|
+
putUser: (tenant: string, user: DirectoryUser) => DirectoryUser | Promise<DirectoryUser>;
|
|
95
|
+
patchUser: (tenant: string, id: string, ops: readonly ScimPatchOp[]) => DirectoryUser | Promise<DirectoryUser>;
|
|
96
|
+
deleteUser: (tenant: string, id: string) => void | Promise<void>;
|
|
97
|
+
getGroup: (tenant: string, id: string) => DirectoryGroup | null | Promise<DirectoryGroup | null>;
|
|
98
|
+
findGroups: (tenant: string, filter: ScimFilter | undefined, page: ScimPage) => ScimPageResult<DirectoryGroup> | Promise<ScimPageResult<DirectoryGroup>>;
|
|
99
|
+
putGroup: (tenant: string, group: DirectoryGroup) => DirectoryGroup | Promise<DirectoryGroup>;
|
|
100
|
+
patchGroup: (tenant: string, id: string, ops: readonly ScimPatchOp[]) => DirectoryGroup | Promise<DirectoryGroup>;
|
|
101
|
+
deleteGroup: (tenant: string, id: string) => void | Promise<void>;
|
|
102
|
+
groupsFor: (tenant: string, userId: string) => readonly DirectoryGroup[] | Promise<readonly DirectoryGroup[]>;
|
|
94
103
|
};
|
|
95
104
|
type ScimTokenOptions = {
|
|
96
105
|
readonly hash: "sha256";
|
|
@@ -99,7 +108,10 @@ type ScimTokenOptions = {
|
|
|
99
108
|
type DirectoryChange = {
|
|
100
109
|
readonly tenant: string;
|
|
101
110
|
readonly userIds: readonly string[];
|
|
102
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* `session-revoked` when a user was deactivated or deleted; `changed`
|
|
113
|
+
* otherwise.
|
|
114
|
+
*/
|
|
103
115
|
readonly kind: "session-revoked" | "changed";
|
|
104
116
|
};
|
|
105
117
|
type ScimHandlerOptions = {
|
|
@@ -108,7 +120,10 @@ type ScimHandlerOptions = {
|
|
|
108
120
|
readonly token?: ScimTokenOptions;
|
|
109
121
|
readonly verifier?: TokenVerifier;
|
|
110
122
|
readonly audience?: string;
|
|
111
|
-
/**
|
|
123
|
+
/**
|
|
124
|
+
* With `verifier`: where the JWT names its tenant (`claims.tenant`); default
|
|
125
|
+
* `tenant`, then `tid`.
|
|
126
|
+
*/
|
|
112
127
|
readonly claims?: Pick<ClaimsMap, "tenant">;
|
|
113
128
|
readonly groupRoles?: Readonly<Record<string, readonly string[]>>;
|
|
114
129
|
readonly assignable?: readonly string[];
|
|
@@ -116,8 +131,8 @@ type ScimHandlerOptions = {
|
|
|
116
131
|
readonly onChange?: (change: DirectoryChange) => void | Promise<void>;
|
|
117
132
|
/**
|
|
118
133
|
* Publishes for each affected user's id, `externalId` and `userName`:
|
|
119
|
-
* `session-revoked` when a user is deactivated (`active: false`) or
|
|
120
|
-
*
|
|
134
|
+
* `session-revoked` when a user is deactivated (`active: false`) or deleted,
|
|
135
|
+
* so open connections end; `changed` otherwise, so they revalidate.
|
|
121
136
|
*/
|
|
122
137
|
readonly revocations?: RevocationFeed;
|
|
123
138
|
readonly onUnknownRole?: (name: string) => void;
|
|
@@ -139,9 +154,15 @@ declare class DirectoryNotFoundError extends Error {
|
|
|
139
154
|
readonly code: "not-found";
|
|
140
155
|
constructor(message?: string);
|
|
141
156
|
}
|
|
142
|
-
/**
|
|
157
|
+
/**
|
|
158
|
+
* Matches by `name` and `code`, so an error from another copy of the module
|
|
159
|
+
* still maps.
|
|
160
|
+
*/
|
|
143
161
|
declare function isDirectoryUniquenessError(error: unknown): error is DirectoryUniquenessError;
|
|
144
|
-
/**
|
|
162
|
+
/**
|
|
163
|
+
* Matches by `name` and `code`, so an error from another copy of the module
|
|
164
|
+
* still maps.
|
|
165
|
+
*/
|
|
145
166
|
declare function isDirectoryNotFoundError(error: unknown): error is DirectoryNotFoundError;
|
|
146
167
|
//#endregion
|
|
147
168
|
//#region src/scim/auth.d.ts
|
|
@@ -195,15 +216,18 @@ declare function memoryDirectoryStore(): DirectoryStore;
|
|
|
195
216
|
//#endregion
|
|
196
217
|
//#region src/scim/postgres-store.d.ts
|
|
197
218
|
type PostgresDirectoryStoreOptions = {
|
|
198
|
-
/**
|
|
219
|
+
/**
|
|
220
|
+
* Schema of the generated tables (`permdock scim generate --schema`). Default
|
|
221
|
+
* `permdock`.
|
|
222
|
+
*/
|
|
199
223
|
readonly schema?: string;
|
|
200
224
|
};
|
|
201
225
|
/**
|
|
202
226
|
* A `DirectoryStore` over the tables `permdock scim generate` writes, called
|
|
203
|
-
* through a `SqlQuery` that may read and write them (the table owner, or a
|
|
204
|
-
*
|
|
205
|
-
* transaction: a group and its members change together, and a PATCH that
|
|
206
|
-
*
|
|
227
|
+
* through a `SqlQuery` that may read and write them (the table owner, or a role
|
|
228
|
+
* granted on them). Every method is one statement, so a pool needs no
|
|
229
|
+
* transaction: a group and its members change together, and a PATCH that races
|
|
230
|
+
* another write re-reads the row and applies its operations again.
|
|
207
231
|
*/
|
|
208
232
|
declare function postgresDirectoryStore(query: SqlQuery, options?: PostgresDirectoryStoreOptions): DirectoryStore;
|
|
209
233
|
//#endregion
|