permdock 0.7.0 → 0.9.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-BcudBQOF.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-Ch07MdxN.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-K0faOLFp.d.ts → approval-prompt-3BqWczTt.d.ts} +13 -11
- package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
- 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-BpS7LnV0.js} +2 -2
- package/dist/{arazzo-rdeJ8n1J.js → arazzo-CmQaGPkM.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-DTjR8xet.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-C6Jg75xq.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-D1nO6fiC.js → bind-BNQA9JK9.js} +26 -10
- package/dist/{bind-JDuvxjuW.d.ts → bind-YYjvfpB9.d.ts} +32 -12
- 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-BWXqwQYU.js} +3 -3
- package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
- package/dist/{capability-D4UC9TTW.d.ts → capability-Di9tiUvi.d.ts} +41 -29
- package/dist/{casbin-BHijLuHY.js → casbin-B7_yS-oo.js} +2 -2
- package/dist/{casbin-BW9pS47J.js → casbin-bHyIxTNQ.js} +16 -8
- 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-CGlSwU6j.js} +20 -19
- package/dist/catalog-D3oS2GH3.js +1 -0
- package/dist/{catalog-BaMQfQ6Y.js → catalog-amPDr0JQ.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-operations-DeHTrJSV.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-3kWfjnYy.js} +4 -5
- package/dist/{codemod-BP6n8N9L.js → codemod-Bv5i-Mzo.js} +523 -201
- package/dist/{codemod-i4N2BhDc.js → codemod-D9Aiii1r.js} +3 -4
- package/dist/{collect-DNm3oKOk.js → collect-B80GYEot.js} +4 -5
- package/dist/collect-D-eroIfV.js +1 -0
- package/dist/{collect-BaWeMjwV.js → collect-WCl8cJQV.js} +26 -63
- 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-BEklRUYo.d.ts} +36 -12
- package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
- package/dist/{completion-BNdVf7X2.js → completion-_bc0OUQ-.js} +17 -8
- package/dist/config-BwPBfN0t.js +108 -0
- package/dist/{config-DGZzMV1B.js → config-D5XrLWpk.js} +2 -2
- package/dist/{config-report-Cm7UITNA.js → config-report-BmWIskD7.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-CQkE8Esr.d.ts → core-CFepFiDP.d.ts} +49 -22
- package/dist/{core-B5-w6Kw9.js → core-DzVINFbU.js} +26 -20
- package/dist/{create-Cb86Z8Im.js → create-6EwRQlig.js} +10 -7
- package/dist/{create-DJrlhEp9.js → create-BLPKnJKa.js} +35 -25
- package/dist/{create-UTnUVETj.d.ts → create-BPUopdfL.d.ts} +70 -37
- package/dist/{create-QHuuPw3q.d.ts → create-BamXmeob.d.ts} +37 -29
- package/dist/{create-B2-CQqCI.d.ts → create-DBvUsgzK.d.ts} +49 -28
- 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-DHldhVUv.d.ts +22 -0
- package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
- package/dist/{describe-O0SwYIK8.d.ts → describe-BbFPBSms.d.ts} +5 -5
- package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
- package/dist/{diff-Btr1c1Ow.js → diff-BwR1JdP2.js} +2 -2
- package/dist/{diff-DzT-xD13.js → diff-CQegtBAo.js} +22 -13
- package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
- package/dist/{doctor-BU1szn63.js → doctor-ClRVAtXQ.js} +287 -135
- package/dist/{doctor-BoK_y0KO.js → doctor-LPMYjSqO.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-B_Qg9D3e.d.ts → errors-BIM4MFsJ.d.ts} +22 -6
- 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/{evaluate-B_oqFbWC.js → evaluate-BAmf_AQd.js} +153 -82
- package/dist/{evaluations-BCddEOfO.d.ts → evaluations-DOWuBpWv.d.ts} +11 -5
- package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
- 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-BIbBAtPZ.d.ts} +9 -6
- package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-dPTgJVHd.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-BFfzZSLH.js +58 -0
- package/dist/gen-BtfFWGbz.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-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
- package/dist/{hosted-BmjzxQhp.d.ts → hosted-DVxlLZMe.d.ts} +33 -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-DB2EG_iy.js → import-ACkOrv6g.js} +6 -6
- package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
- package/dist/{index-CMiPH2Tv.d.ts → index-BinlXeU-.d.ts} +64 -37
- package/dist/{index-BSfRl0hZ.d.ts → index-CV-7DWeD.d.ts} +64 -52
- package/dist/{index-BE8y3moU.d.ts → index-DJwEgYzA.d.ts} +127 -82
- package/dist/{index-DH9DUDEM.d.ts → index-Dj2qF9VC.d.ts} +54 -30
- package/dist/{index-BTkwrK7v.d.ts → index-vYjMrXyK.d.ts} +336 -173
- package/dist/{index-DLwcuCN_.d.ts → index-ymept53A.d.ts} +51 -30
- package/dist/index.d.ts +22 -22
- package/dist/index.js +34 -34
- package/dist/{init-B-4t1NzC.js → init-BjuFDYT1.js} +10 -10
- package/dist/{init-5TXNji88.js → init-txYTuW9u.js} +5 -5
- package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-CoHn-0e8.d.ts} +4 -4
- package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot-DuWf1cT3.js} +86 -61
- 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-qv4cr9w8.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-CfImTJGb.js} +4 -4
- package/dist/{login-WC9HPJpU.js → login-CgfCTO3F.js} +16 -9
- package/dist/{manifest-Dv6q4i5s.js → manifest-B2QPh19C.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-C-nv08_n.js} +16 -9
- 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 +79 -26
- package/dist/next/index.js +121 -10
- 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-ztVaux6j.js → openapi-BGeuunWC.js} +23 -14
- package/dist/{openapi-DMocl1bh.js → openapi-BIpw3Mb7.js} +4 -5
- package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
- 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-DgSDLrta.js → output-DV5dwOTs.js} +9 -5
- package/dist/output-files-BHOIlrfD.js +1 -0
- package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
- package/dist/ownership-DA5YdYTm.js +1059 -0
- package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
- package/dist/parse-local-manifest-CCmbhnxP.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-BfWEeMqk.js → permdock-BvjivVb9.js} +200 -140
- package/dist/{permdock-Dco6dyCK.d.ts → permdock-CprAPN3w.d.ts} +260 -129
- 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-CYcHj_w7.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-BycVKnXv.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-CU3An8uP.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-DGIO_gxq.d.ts} +782 -357
- package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
- package/dist/{postgrest-r5faDIzD.js → postgrest-5Dr3W64L.js} +84 -86
- package/dist/{postgrest-CYacM_u7.d.ts → postgrest-D5nUGm-c.d.ts} +55 -35
- package/dist/powersync-B701tvhE.js +1 -0
- package/dist/{powersync-13odBwiM.js → powersync-Bg8u-JcR.js} +3 -3
- package/dist/{powersync-53ryOZip.js → powersync-CJrT1DSc.js} +127 -69
- 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-D8x73IGm.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-DfLeek9O.d.ts} +1 -1
- package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
- package/dist/{pull-CN5OLxrF.js → pull-2nJr0qg_.js} +12 -11
- package/dist/pull-C3EEGzSw.js +1 -0
- package/dist/{push-tVdG8dUL.js → push-Bn-lMEmI.js} +19 -13
- package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-CDuOL2de.js} +10 -7
- package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-CryQheKq.d.ts} +12 -6
- 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-Bs9Df2fQ.d.ts} +1 -1
- package/dist/{request-context-BykKLmyE.js → request-context-Duzdf0cd.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-ConCSj1y.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-Ck_PocSp.js → rls-Ba9wN0SP.js} +13 -6
- package/dist/{rls-CxBZb4rZ.js → rls-Cx0dtsB7.js} +310 -128
- 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-vHIwyXCp.js} +8 -5
- package/dist/run-Ck22anC2.js +1 -0
- package/dist/{run-uLD2aWuO.js → run-PbRlXTfh.js} +26 -23
- package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-B2o2Kxz8.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-DK4V-3Is.js} +42 -29
- package/dist/{scan-DSljDE1Y.js → scan-CRTj6fke.js} +1 -1
- package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
- package/dist/{schema-gIcCx7zM.js → schema-BTsE1WRT.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-CyRN0-Cd.d.ts} +88 -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-Cp_Eot9W.d.ts → sink-B5zoUW_O.d.ts} +44 -20
- package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
- package/dist/{skills-g_3BS9NC.js → skills-C9uKfSF5.js} +3 -3
- package/dist/{skills-Dcjw9_1C.js → skills-CQQcuGBi.js} +12 -8
- package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
- package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BjAWkchD.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-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
- package/dist/{sources-DEEuGb8S.d.ts → sources-CWG32C0G.d.ts} +126 -53
- 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-C_pi2Rnh.js} +292 -101
- package/dist/ssf/index.d.ts +3 -3
- package/dist/ssf/index.js +47 -35
- package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
- package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-DOYEuOLx.d.ts} +7 -7
- 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-DZJvxFIZ.d.ts +59 -0
- package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
- package/dist/{stream-2Vwhl7Er.d.ts → stream-9y9qw51m.d.ts} +4 -3
- package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
- 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-DnMMg5Fn.js} +79 -35
- package/dist/{supabase-Bqp7iIY2.js → supabase-SBs3MYUE.js} +3 -3
- package/dist/supabase-hook-C0FyEACZ.js +1 -0
- package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-CrgU06WH.js} +175 -196
- package/dist/{supautils-MESd81bF.js → supautils-ByezN3b8.js} +385 -219
- 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-BqrxBCir.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 +225 -141
- package/dist/testing/index.js +352 -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-c7Xo_2Cu.d.ts +50 -0
- package/dist/{types-CfiKC5aN.d.ts → types-B2efzoSX.d.ts} +14 -11
- package/dist/{types-CIeZcG8v.d.ts → types-B6ExllNo.d.ts} +2 -2
- package/dist/{types-DBHftjgS.d.ts → types-BB-zWDcR.d.ts} +45 -33
- package/dist/{types-BfVmNJO5.d.ts → types-BMVDHvI0.d.ts} +128 -50
- package/dist/{types-DXmwu78Z.d.ts → types-CEinc15V.d.ts} +31 -14
- package/dist/{types-g7Oy6Zg4.d.ts → types-CN0LsqbK.d.ts} +47 -24
- package/dist/{types-CeIscIKp.d.ts → types-CWBsAwqn.d.ts} +23 -12
- package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
- package/dist/{types-BWZybqs9.d.ts → types-CzOeVvcC.d.ts} +384 -203
- package/dist/{types-DC44-hqb.d.ts → types-DLvhVm1r.d.ts} +59 -32
- package/dist/{types-D3A19w4A.d.ts → types-DlelvQk4.d.ts} +22 -13
- package/dist/{types-cTos-H7p.d.ts → types-DsHGPtkR.d.ts} +68 -32
- package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
- package/dist/{types-CQVEQawv.d.ts → types-rCRV4Ge-.d.ts} +24 -14
- package/dist/types-tQB2CEnY.d.ts +262 -0
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-0hjZPIRX.js +1 -0
- package/dist/{usage-Bybmck7f.js → usage-B9EtHWLa.js} +50 -26
- package/dist/{usage-CDaLXCfL.js → usage-CBzgwfIs.js} +2 -2
- package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
- package/dist/{validation-error-CQpoquwj.d.ts → validation-error-uvp-kyfO.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-DlUcTDBz.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-CqUKX6CY.d.ts} +13 -10
- package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
- package/dist/{watch-C-4VmFlL.js → watch-BFDKqmUa.js} +8 -8
- package/dist/watch-ClLuO2TL.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-BoDJm0Nc.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-DxXB54Wu.d.ts} +8 -5
- package/package.json +8 -8
- 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 +16 -23
- 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,18 +1,24 @@
|
|
|
1
1
|
import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
|
|
2
|
-
import { n as freezeDeep } from "./freeze-
|
|
3
|
-
import { i as dateAt, p as nowSeconds } from "./time-
|
|
4
|
-
import { u as policyDocumentFromClaims } from "./hosted-
|
|
5
|
-
import { l as isApprovalErrorCode, s as ApprovalError, t as APPROVAL_HEADER } from "./types-
|
|
6
|
-
import { h as toCloudEvent, l as isAbsoluteUri } from "./sink-
|
|
7
|
-
import { n as parseCatalogEventData, t as catalogFingerprint } from "./catalog-fingerprint-
|
|
8
|
-
import { t as parseApprovalRequest } from "./parse-request-
|
|
2
|
+
import { n as freezeDeep } from "./freeze-jjan0lCv.js";
|
|
3
|
+
import { i as dateAt, p as nowSeconds } from "./time-nR1JesoH.js";
|
|
4
|
+
import { u as policyDocumentFromClaims } from "./hosted-D0IzESu_.js";
|
|
5
|
+
import { l as isApprovalErrorCode, s as ApprovalError, t as APPROVAL_HEADER } from "./types-CcUXciSj.js";
|
|
6
|
+
import { h as toCloudEvent, l as isAbsoluteUri } from "./sink-D9_vh372.js";
|
|
7
|
+
import { n as parseCatalogEventData, t as catalogFingerprint } from "./catalog-fingerprint-e6aCWosn.js";
|
|
8
|
+
import { t as parseApprovalRequest } from "./parse-request-CwCZpyjV.js";
|
|
9
9
|
import { t as timeoutSignal } from "./timeout-D51niuQP.js";
|
|
10
10
|
import { t as CLOUD_BASE_URL } from "./base-url-BQbddZO5.js";
|
|
11
11
|
//#region src/cloud/approver.ts
|
|
12
12
|
const APPROVER_HEADER = "PermDock-Approver";
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* The RFC 9396 `authorization_details` type that binds an approver token to one
|
|
15
|
+
* verdict.
|
|
16
|
+
*/
|
|
14
17
|
const APPROVAL_DETAIL_TYPE = "permdock_approval";
|
|
15
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Seconds an approver token lives: it proves one resolve call, and the Cloud
|
|
20
|
+
* refuses a replayed `jti`.
|
|
21
|
+
*/
|
|
16
22
|
const APPROVER_TTL = 60;
|
|
17
23
|
async function facts(read, request, verdict, fallback) {
|
|
18
24
|
if (read === void 0) return fallback ?? [];
|
|
@@ -25,7 +31,10 @@ async function facts(read, request, verdict, fallback) {
|
|
|
25
31
|
function unauthenticated(detail) {
|
|
26
32
|
return new ApprovalError("approver-unauthenticated", detail);
|
|
27
33
|
}
|
|
28
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* A rejection only denies, so the Cloud takes a `system` one without an
|
|
36
|
+
* approver token.
|
|
37
|
+
*/
|
|
29
38
|
function isSystemRejection(verdict) {
|
|
30
39
|
return verdict.status === "rejected" && verdict.by.actor?.kind === "system";
|
|
31
40
|
}
|
|
@@ -36,10 +45,10 @@ function isSystemRejection(verdict) {
|
|
|
36
45
|
* the request id, the verdict status, `vouched`, and the approver's
|
|
37
46
|
* `permissions` and `relations`. With the `roles`, `memberships` and `tenant`
|
|
38
47
|
* claims they are the only facts the Cloud checks a request's `approvers`
|
|
39
|
-
* against in bring-your-own mode. `target` runs only after the
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
48
|
+
* against in bring-your-own mode. `target` runs only after the approver checks
|
|
49
|
+
* pass. Throws an `ApprovalError` before any resolve when the approver cannot
|
|
50
|
+
* be proven: no signer, no principal, an actor, a failed lookup or a signer
|
|
51
|
+
* failure.
|
|
43
52
|
*/
|
|
44
53
|
async function approverHeaders(verdict, options, issuer, target) {
|
|
45
54
|
if (isSystemRejection(verdict)) return {};
|
|
@@ -80,7 +89,10 @@ async function approverHeaders(verdict, options, issuer, target) {
|
|
|
80
89
|
}
|
|
81
90
|
//#endregion
|
|
82
91
|
//#region src/cloud/request.ts
|
|
83
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Milliseconds a PermDock Cloud request may take; a slower one fails like an
|
|
94
|
+
* unreachable Cloud.
|
|
95
|
+
*/
|
|
84
96
|
const CLOUD_TIMEOUT_MS = 1e4;
|
|
85
97
|
function readEnv(name) {
|
|
86
98
|
const value = globalThis.process?.env?.[name];
|
|
@@ -103,15 +115,18 @@ function endpointsOf(url, environment) {
|
|
|
103
115
|
jwks: `${issuer}/.well-known/jwks.json`
|
|
104
116
|
});
|
|
105
117
|
}
|
|
106
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* `options.environment`, else `PERMDOCK_CLOUD_ENV`, else `""` for the key-bound
|
|
120
|
+
* lookup.
|
|
121
|
+
*/
|
|
107
122
|
function configuredEnvironment(options) {
|
|
108
123
|
return firstNonEmpty(options.environment, readEnv("PERMDOCK_CLOUD_ENV"));
|
|
109
124
|
}
|
|
110
125
|
/**
|
|
111
126
|
* The environment URL and JWK Set URL `cloud()` uses when the environment is
|
|
112
|
-
* configured: `environment`, else `PERMDOCK_CLOUD_ENV`. Throws when neither
|
|
113
|
-
*
|
|
114
|
-
*
|
|
127
|
+
* configured: `environment`, else `PERMDOCK_CLOUD_ENV`. Throws when neither is
|
|
128
|
+
* set; `resolveCloudEndpoints` then asks the Cloud which environment the key
|
|
129
|
+
* belongs to.
|
|
115
130
|
*/
|
|
116
131
|
function cloudEndpoints(options = {}) {
|
|
117
132
|
const url = cloudUrl(options);
|
|
@@ -134,7 +149,10 @@ async function keyEnvironment(url, key, fetchFn) {
|
|
|
134
149
|
if (body["issuer"] !== endpoints.issuer) throw new Error(`PermDock Cloud named issuer ${String(body["issuer"])}, not ${endpoints.issuer}`);
|
|
135
150
|
return endpoints;
|
|
136
151
|
}
|
|
137
|
-
/**
|
|
152
|
+
/**
|
|
153
|
+
* The authenticated connection every `permdock/cloud` client shares. Throws
|
|
154
|
+
* without a key.
|
|
155
|
+
*/
|
|
138
156
|
function cloudConnection(options) {
|
|
139
157
|
const key = firstNonEmpty(options.key, readEnv("PERMDOCK_CLOUD_KEY"));
|
|
140
158
|
const url = cloudUrl(options);
|
|
@@ -172,10 +190,10 @@ function cloudConnection(options) {
|
|
|
172
190
|
});
|
|
173
191
|
}
|
|
174
192
|
/**
|
|
175
|
-
* The environment URL and JWK Set URL for a key: `cloudEndpoints(options)`
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
193
|
+
* The environment URL and JWK Set URL for a key: `cloudEndpoints(options)` when
|
|
194
|
+
* the environment is configured, else the environment `GET /v1/environment`
|
|
195
|
+
* names for `key` (`PERMDOCK_CLOUD_KEY`). Rejects when the Cloud does not
|
|
196
|
+
* answer or answers another issuer.
|
|
179
197
|
*/
|
|
180
198
|
async function resolveCloudEndpoints(options = {}) {
|
|
181
199
|
return await cloudConnection(options).endpoints();
|
|
@@ -212,7 +230,10 @@ function asApproval(value) {
|
|
|
212
230
|
if (!isRecord(value) || value["v"] !== 1 || typeof value["token"] !== "string") return null;
|
|
213
231
|
return value;
|
|
214
232
|
}
|
|
215
|
-
/**
|
|
233
|
+
/**
|
|
234
|
+
* The refusal PermDock Cloud names in its body, else the one its status
|
|
235
|
+
* implies.
|
|
236
|
+
*/
|
|
216
237
|
async function approvalErrorFrom(response) {
|
|
217
238
|
let body;
|
|
218
239
|
try {
|
|
@@ -467,8 +488,8 @@ const SCHEME = /^[\s,]*([!#$%&'*+.^_`|~0-9A-Za-z-]+)(?=[\s,]|$)/u;
|
|
|
467
488
|
const PARAM = /^\s*([!#$%&'*+.^_`|~0-9A-Za-z-]+)\s*=\s*(?:"((?:[^"\\]|\\.)*)"|([!#$%&'*+.^_`|~0-9A-Za-z-]+))\s*(?:,|$)/u;
|
|
468
489
|
const TOKEN68 = /^\s*[A-Za-z0-9._~+/-]+=*\s*(?:,|$)/u;
|
|
469
490
|
/**
|
|
470
|
-
* The first `Bearer` challenge in `header` (RFC 9110 section 11.6.1 syntax),
|
|
471
|
-
*
|
|
491
|
+
* The first `Bearer` challenge in `header` (RFC 9110 section 11.6.1 syntax), or
|
|
492
|
+
* `null`. Other schemes in the same field are skipped.
|
|
472
493
|
*/
|
|
473
494
|
function bearerChallenge(header) {
|
|
474
495
|
if (header === null) return null;
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ChatCommandResult, c as createPermDock, d as SubjectFromChatOptions, f as isChatAuthor, i as ChatCommandContext, l as ChatAuthor, n as ChatActionResult, o as ChatPermDock, p as subjectFromChat, r as ChatCommand, s as ChatPermDockOptions, t as ChatAction, u as ChatPrincipal } from "../create-
|
|
1
|
+
import { a as ChatCommandResult, c as createPermDock, d as SubjectFromChatOptions, f as isChatAuthor, i as ChatCommandContext, l as ChatAuthor, n as ChatActionResult, o as ChatPermDock, p as subjectFromChat, r as ChatCommand, s as ChatPermDockOptions, t as ChatAction, u as ChatPrincipal } from "../create-DBvUsgzK.js";
|
|
2
2
|
export { type ChatAction, type ChatActionResult, type ChatAuthor, type ChatCommand, type ChatCommandContext, type ChatCommandResult, type ChatPermDock, type ChatPermDockOptions, type ChatPrincipal, type SubjectFromChatOptions, createPermDock, isChatAuthor, subjectFromChat };
|
package/dist/chat/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as freezeDeep } from "../freeze-
|
|
3
|
-
import { n as loadPrincipalByIdentity } from "../principal-source-
|
|
4
|
-
import { f as nowMillis } from "../time-
|
|
5
|
-
import { l as withApp, t as getPermDock } from "../permdock-
|
|
6
|
-
import { c as isApprovalError } from "../types-
|
|
7
|
-
import { a as requestApproval, o as resolveApproval, s as resumeDecision } from "../helpers-
|
|
8
|
-
import { t as approvalPrompt } from "../approval-prompt-
|
|
2
|
+
import { n as freezeDeep } from "../freeze-jjan0lCv.js";
|
|
3
|
+
import { n as loadPrincipalByIdentity } from "../principal-source-C6N60GtM.js";
|
|
4
|
+
import { f as nowMillis } from "../time-nR1JesoH.js";
|
|
5
|
+
import { l as withApp, t as getPermDock } from "../permdock-BvjivVb9.js";
|
|
6
|
+
import { c as isApprovalError } from "../types-CcUXciSj.js";
|
|
7
|
+
import { a as requestApproval, o as resolveApproval, s as resumeDecision } from "../helpers-DJicaG6f.js";
|
|
8
|
+
import { t as approvalPrompt } from "../approval-prompt-B8hQY69x.js";
|
|
9
9
|
//#region src/chat/subject.ts
|
|
10
10
|
function nonEmpty(value) {
|
|
11
11
|
return typeof value === "string" && value !== "";
|
|
@@ -17,7 +17,10 @@ function isChatAuthor(value) {
|
|
|
17
17
|
const workspace = Reflect.get(value, "workspace");
|
|
18
18
|
return nonEmpty(provider) && nonEmpty(userId) && (workspace === void 0 || nonEmpty(workspace));
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* The principal linked to `author`, or `null` for an unlinked or malformed
|
|
22
|
+
* author. Never throws.
|
|
23
|
+
*/
|
|
21
24
|
function principalFromChat(author, principals) {
|
|
22
25
|
if (!isChatAuthor(author)) return Promise.resolve(null);
|
|
23
26
|
return loadPrincipalByIdentity(principals, compact({
|
|
@@ -28,8 +31,8 @@ function principalFromChat(author, principals) {
|
|
|
28
31
|
}));
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
31
|
-
* The subject a chat author acts as: the principal its identity link
|
|
32
|
-
*
|
|
34
|
+
* The subject a chat author acts as: the principal its identity link names, or
|
|
35
|
+
* anonymous when there is no link. Never throws.
|
|
33
36
|
*/
|
|
34
37
|
async function subjectFromChat(author, options) {
|
|
35
38
|
return {
|
package/dist/chat-sdk/index.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { n as ApprovalUrl, t as ApprovalPrompt } from "../approval-prompt-
|
|
2
|
-
import { l as ChatAuthor, n as ChatActionResult, o as ChatPermDock } from "../create-
|
|
3
|
-
import { n as ChatTransport } from "../types-
|
|
1
|
+
import { n as ApprovalUrl, t as ApprovalPrompt } from "../approval-prompt-3BqWczTt.js";
|
|
2
|
+
import { l as ChatAuthor, n as ChatActionResult, o as ChatPermDock } from "../create-DBvUsgzK.js";
|
|
3
|
+
import { n as ChatTransport } from "../types-CN0LsqbK.js";
|
|
4
4
|
import { ActionEvent, Author, CardElement } from "chat";
|
|
5
5
|
//#region src/chat-sdk/author.d.ts
|
|
6
6
|
type ChatSdkAuthorOptions = {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* The platform workspace the bot is installed in, matched against identity
|
|
9
|
+
* links.
|
|
10
|
+
*/
|
|
8
11
|
readonly workspace?: string;
|
|
9
12
|
};
|
|
10
13
|
/**
|
|
11
14
|
* The `ChatAuthor` of a Chat SDK message or action, named by its adapter
|
|
12
|
-
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
+
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the platform
|
|
16
|
+
* itself or an empty id. Reads only `userId`: the email and display name never
|
|
17
|
+
* identify anyone.
|
|
15
18
|
*/
|
|
16
19
|
export declare function chatSdkAuthor(user: Pick<Author, "userId" | "isBot" | "isMe" | "isSystem">, adapter: {
|
|
17
20
|
readonly name: string;
|
|
@@ -23,17 +26,23 @@ export declare const APPROVE_ACTION = "permdock:approve";
|
|
|
23
26
|
/** The `actionId` of the card's reject button; its `value` is the request id. */
|
|
24
27
|
export declare const REJECT_ACTION = "permdock:reject";
|
|
25
28
|
type ApprovalCardOptions = {
|
|
26
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* The app's approval page: a base URL the request id is appended to, or a
|
|
31
|
+
* function of the prompt. Must be https.
|
|
32
|
+
*/
|
|
27
33
|
readonly approvalUrl: ApprovalUrl;
|
|
28
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* `false` leaves out the approve and reject buttons, so the page is the only
|
|
36
|
+
* place to decide. Defaults to `true`.
|
|
37
|
+
*/
|
|
29
38
|
readonly buttons?: boolean;
|
|
30
39
|
};
|
|
31
40
|
/**
|
|
32
|
-
* A Chat SDK card for an approval prompt: the detail, who asked, the
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
41
|
+
* A Chat SDK card for an approval prompt: the detail, who asked, the permission
|
|
42
|
+
* and the expiry, a link to the approval page, and approve and reject buttons
|
|
43
|
+
* that carry the request id, never its token. A click is applied by
|
|
44
|
+
* `approvalActions` as the verified clicking user. Throws a `TypeError` for an
|
|
45
|
+
* approval page that is not https.
|
|
37
46
|
*/
|
|
38
47
|
export declare function approvalCard(prompt: ApprovalPrompt, options: ApprovalCardOptions): CardElement;
|
|
39
48
|
//#endregion
|
|
@@ -46,31 +55,40 @@ type ApprovalActionsOptions = ChatSdkAuthorOptions & {
|
|
|
46
55
|
readonly onResult?: (result: ChatActionResult, event: ActionEvent) => void | Promise<void>;
|
|
47
56
|
};
|
|
48
57
|
type ApprovalActions = {
|
|
49
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* The action ids to register: `chat.onAction(actions.actionIds,
|
|
60
|
+
* actions.onAction)`.
|
|
61
|
+
*/
|
|
50
62
|
readonly actionIds: readonly [typeof APPROVE_ACTION, typeof REJECT_ACTION];
|
|
51
63
|
readonly onAction: (event: ActionEvent) => Promise<void>;
|
|
52
64
|
};
|
|
53
65
|
/**
|
|
54
|
-
* Applies the approve and reject buttons of `approvalCard`. The clicking
|
|
55
|
-
*
|
|
56
|
-
* `ChatPermDock.resolveAction`; the button value names the request by id.
|
|
57
|
-
*
|
|
66
|
+
* Applies the approve and reject buttons of `approvalCard`. The clicking user,
|
|
67
|
+
* as the Chat SDK adapter verified them, is resolved through
|
|
68
|
+
* `ChatPermDock.resolveAction`; the button value names the request by id. A
|
|
69
|
+
* click from an unlinked user, the requester or a bot records nothing.
|
|
58
70
|
*/
|
|
59
71
|
export declare function approvalActions(permdock: ChatPermDock, options?: ApprovalActionsOptions): ApprovalActions;
|
|
60
72
|
//#endregion
|
|
61
73
|
//#region src/chat-sdk/transport.d.ts
|
|
62
74
|
/** The part of a Chat SDK `Chat` the transport calls; a `new Chat(...)` fits. */
|
|
63
75
|
type ChatSdkClient = {
|
|
64
|
-
openDM(user: string)
|
|
65
|
-
post(message: string | CardElement)
|
|
76
|
+
openDM: (user: string) => Promise<{
|
|
77
|
+
post: (message: string | CardElement) => Promise<{
|
|
66
78
|
readonly id: string;
|
|
67
79
|
}>;
|
|
68
80
|
}>;
|
|
69
81
|
};
|
|
70
82
|
type ChatSdkTransportOptions = {
|
|
71
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* The adapter name recipients are on (`slack`, `teams`, …); a target for
|
|
85
|
+
* another provider is rejected.
|
|
86
|
+
*/
|
|
72
87
|
readonly provider: string;
|
|
73
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* The workspace the bot is installed in; a target for another workspace is
|
|
90
|
+
* rejected.
|
|
91
|
+
*/
|
|
74
92
|
readonly workspace?: string;
|
|
75
93
|
/** Keys this transport remembers to skip a repeat post. Defaults to 1000. */
|
|
76
94
|
readonly remember?: number;
|
|
@@ -78,9 +96,9 @@ type ChatSdkTransportOptions = {
|
|
|
78
96
|
/**
|
|
79
97
|
* The chat channel of `permdock/delivery` over the Chat SDK: opens a direct
|
|
80
98
|
* message with the target's platform user id and posts the text, or the
|
|
81
|
-
* approval card when the message carries an approval prompt. The Chat SDK
|
|
82
|
-
*
|
|
83
|
-
*
|
|
99
|
+
* approval card when the message carries an approval prompt. The Chat SDK takes
|
|
100
|
+
* no idempotency key, so the transport skips a key it already sent, per
|
|
101
|
+
* instance and in memory only.
|
|
84
102
|
*/
|
|
85
103
|
export declare function chatSdkTransport(chat: ChatSdkClient, options: ChatSdkTransportOptions): ChatTransport;
|
|
86
104
|
//#endregion
|
package/dist/chat-sdk/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as approvalUrlFor } from "../approval-prompt-
|
|
3
|
-
import { i as isDeliveryTarget } from "../target-
|
|
2
|
+
import { n as approvalUrlFor } from "../approval-prompt-B8hQY69x.js";
|
|
3
|
+
import { i as isDeliveryTarget } from "../target-qdEAnnhU.js";
|
|
4
4
|
import { Actions, Button, Card, CardText, Field, Fields, LinkButton } from "chat";
|
|
5
5
|
//#region src/chat-sdk/author.ts
|
|
6
6
|
/**
|
|
7
7
|
* The `ChatAuthor` of a Chat SDK message or action, named by its adapter
|
|
8
|
-
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the platform
|
|
9
|
+
* itself or an empty id. Reads only `userId`: the email and display name never
|
|
10
|
+
* identify anyone.
|
|
11
11
|
*/
|
|
12
12
|
function chatSdkAuthor(user, adapter, options = {}) {
|
|
13
13
|
const provider = typeof adapter === "string" ? adapter : adapter.name;
|
|
@@ -28,11 +28,11 @@ function oneLine(value) {
|
|
|
28
28
|
return value.replaceAll(/\s+/gu, " ").trim();
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* A Chat SDK card for an approval prompt: the detail, who asked, the
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* A Chat SDK card for an approval prompt: the detail, who asked, the permission
|
|
32
|
+
* and the expiry, a link to the approval page, and approve and reject buttons
|
|
33
|
+
* that carry the request id, never its token. A click is applied by
|
|
34
|
+
* `approvalActions` as the verified clicking user. Throws a `TypeError` for an
|
|
35
|
+
* approval page that is not https.
|
|
36
36
|
*/
|
|
37
37
|
function approvalCard(prompt, options) {
|
|
38
38
|
const url = approvalUrlFor(prompt, options.approvalUrl);
|
|
@@ -101,10 +101,10 @@ async function reply(result, event) {
|
|
|
101
101
|
await thread.postEphemeral(event.user, `The approval was not recorded: ${result.cause}.`, { fallbackToDM: false });
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
|
-
* Applies the approve and reject buttons of `approvalCard`. The clicking
|
|
105
|
-
*
|
|
106
|
-
* `ChatPermDock.resolveAction`; the button value names the request by id.
|
|
107
|
-
*
|
|
104
|
+
* Applies the approve and reject buttons of `approvalCard`. The clicking user,
|
|
105
|
+
* as the Chat SDK adapter verified them, is resolved through
|
|
106
|
+
* `ChatPermDock.resolveAction`; the button value names the request by id. A
|
|
107
|
+
* click from an unlinked user, the requester or a bot records nothing.
|
|
108
108
|
*/
|
|
109
109
|
function approvalActions(permdock, options = {}) {
|
|
110
110
|
const onAction = async (event) => {
|
|
@@ -147,9 +147,9 @@ function chatSdkFailure(error) {
|
|
|
147
147
|
/**
|
|
148
148
|
* The chat channel of `permdock/delivery` over the Chat SDK: opens a direct
|
|
149
149
|
* message with the target's platform user id and posts the text, or the
|
|
150
|
-
* approval card when the message carries an approval prompt. The Chat SDK
|
|
151
|
-
*
|
|
152
|
-
*
|
|
150
|
+
* approval card when the message carries an approval prompt. The Chat SDK takes
|
|
151
|
+
* no idempotency key, so the transport skips a key it already sent, per
|
|
152
|
+
* instance and in memory only.
|
|
153
153
|
*/
|
|
154
154
|
function chatSdkTransport(chat, options) {
|
|
155
155
|
const remember = options.remember ?? DEFAULT_REMEMBER;
|
|
@@ -3,7 +3,10 @@ import { n as isReadonlyArray } from "./compact-CAf557ZB.js";
|
|
|
3
3
|
function partsOf(check) {
|
|
4
4
|
return isReadonlyArray(check) ? [check[0], check[1]] : [check, void 0];
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* `true` when every check is granted, stopping at the first that is not; an
|
|
8
|
+
* empty list is `false`.
|
|
9
|
+
*/
|
|
7
10
|
function canAllWith(can, checks, options) {
|
|
8
11
|
if (checks.length === 0) return false;
|
|
9
12
|
return checks.every((check) => {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { o as readPath } from "./paths-
|
|
1
|
+
import { o as readPath } from "./paths-CUvURzHp.js";
|
|
2
2
|
//#region src/core/claims-map.ts
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The value at `path`; a function that throws reads as absent, so a bad mapping
|
|
5
|
+
* fails closed.
|
|
6
|
+
*/
|
|
4
7
|
function readClaim(claims, path) {
|
|
5
8
|
if (typeof path === "string") return readPath(claims, path);
|
|
6
9
|
try {
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
//#region src/core/claims-map.d.ts
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Where a value lives in verified claims: a dotted path (`app_metadata.roles`),
|
|
4
|
+
* or a function over the claims.
|
|
5
|
+
*/
|
|
3
6
|
type ClaimPath = string | ((claims: Readonly<Record<string, unknown>>) => unknown);
|
|
4
7
|
/**
|
|
5
|
-
* How one provider's verified claims map to a principal. Every subject
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
8
|
+
* How one provider's verified claims map to a principal. Every subject provider
|
|
9
|
+
* takes it as `claims`; each field it leaves out keeps that provider's default.
|
|
10
|
+
* Mapping only: core never verifies a token, and a claim becomes a principal
|
|
11
|
+
* field only after the provider verified the token.
|
|
9
12
|
*/
|
|
10
13
|
type ClaimsMap = {
|
|
11
14
|
readonly id?: ClaimPath;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { T as Policy, j as PolicyVocabulary,
|
|
2
|
-
import { a as PermDock } from "../permdock-
|
|
3
|
-
import { o as AgentAdapterOptions, t as AgentPermDock } from "../create-
|
|
1
|
+
import { T as Policy, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
|
|
2
|
+
import { a as PermDock } from "../permdock-CprAPN3w.js";
|
|
3
|
+
import { o as AgentAdapterOptions, t as AgentPermDock } from "../create-BPUopdfL.js";
|
|
4
4
|
//#region src/claude-agent/create.d.ts
|
|
5
5
|
/** Structural `McpServerProvenance` from `@anthropic-ai/claude-agent-sdk`. */
|
|
6
6
|
type ClaudeMcpServer = {
|
|
@@ -8,9 +8,9 @@ type ClaudeMcpServer = {
|
|
|
8
8
|
readonly source: string;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
* What `subject`, `actor` and `tenant` receive: the `canUseTool` options or
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* What `subject`, `actor` and `tenant` receive: the `canUseTool` options or the
|
|
12
|
+
* hook input. The subject comes from the app that started the query, never from
|
|
13
|
+
* these fields.
|
|
14
14
|
*/
|
|
15
15
|
type ClaudeAgentContext = {
|
|
16
16
|
readonly toolName: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as isRecord, t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { l as withApp } from "../permdock-
|
|
3
|
-
import { t as agentRuntime } from "../create-
|
|
2
|
+
import { l as withApp } from "../permdock-BvjivVb9.js";
|
|
3
|
+
import { t as agentRuntime } from "../create-6EwRQlig.js";
|
|
4
4
|
//#region src/claude-agent/create.ts
|
|
5
5
|
const MCP_PREFIX = "mcp__";
|
|
6
6
|
function asInput(input) {
|
|
@@ -31,7 +31,10 @@ function createPermDock(policy, given) {
|
|
|
31
31
|
const options = withApp(policy, given);
|
|
32
32
|
const sources = options.mcpSources ?? ["sdk"];
|
|
33
33
|
const { agent, kernel } = agentRuntime(policy, options, "claude-agent");
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* `null`: an unmapped tool under `unmapped: 'allow'`, which PermDock does not
|
|
36
|
+
* decide.
|
|
37
|
+
*/
|
|
35
38
|
const decide = async (context, input) => {
|
|
36
39
|
const untrusted = untrustedServer(context, sources);
|
|
37
40
|
if (untrusted !== void 0) return {
|
package/dist/clerk/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { u as Permission } from "../permission-types-
|
|
3
|
-
import { s as RemotePdpCache } from "../types-
|
|
4
|
-
import { t as ClaimsMap } from "../claims-map-
|
|
1
|
+
import { G as CustomRoleSource, hr as Subject, pr as Principal } from "../policy-types-DGIO_gxq.js";
|
|
2
|
+
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
+
import { s as RemotePdpCache } from "../types-DlelvQk4.js";
|
|
4
|
+
import { t as ClaimsMap } from "../claims-map-D1Pb5oRq.js";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
6
|
//#region src/clerk/types.d.ts
|
|
7
7
|
type ClerkPrincipal = Principal & {
|
|
@@ -37,7 +37,11 @@ type ClerkSubjectOptions = {
|
|
|
37
37
|
readonly customRoles?: CustomRoleSource;
|
|
38
38
|
readonly permissions?: Readonly<Record<string, Permission>>;
|
|
39
39
|
readonly schema?: StandardSchemaV1;
|
|
40
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Where the session token carries platform roles (`claims.roles`): a path
|
|
42
|
+
* such as `publicMetadata.staff`, or a function. Organization roles come from
|
|
43
|
+
* the `o` claim.
|
|
44
|
+
*/
|
|
41
45
|
readonly claims?: Pick<ClaimsMap, "roles">;
|
|
42
46
|
readonly features?: Readonly<Record<string, string>>;
|
|
43
47
|
readonly declared?: readonly string[];
|
|
@@ -58,8 +62,8 @@ type ClerkSubjectResolverOptions = ClerkSubjectOptions & {
|
|
|
58
62
|
//#region src/clerk/subject.d.ts
|
|
59
63
|
export declare function subjectFromClerk(authObject: unknown, options?: ClerkSubjectOptions): Promise<Subject<ClerkPrincipal>>;
|
|
60
64
|
/**
|
|
61
|
-
* A resolver that keeps each user's `memberships: 'all'` list for
|
|
62
|
-
*
|
|
65
|
+
* A resolver that keeps each user's `memberships: 'all'` list for `cache.ttl`
|
|
66
|
+
* (at most 30 seconds), so a removed membership grants until then.
|
|
63
67
|
*/
|
|
64
68
|
export declare function clerkSubjectResolver(options?: ClerkSubjectResolverOptions): (authObject: unknown) => Promise<Subject<ClerkPrincipal>>;
|
|
65
69
|
//#endregion
|
package/dist/clerk/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { i as omitKeys, r as isRecord, t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as freezeDeep } from "../freeze-
|
|
3
|
-
import { r as validateRecord } from "../thenable-
|
|
2
|
+
import { n as freezeDeep } from "../freeze-jjan0lCv.js";
|
|
3
|
+
import { r as validateRecord } from "../thenable-BNSM1U2R.js";
|
|
4
4
|
import { t as anonymousSubject } from "../subject-BGoM5o8B.js";
|
|
5
|
-
import { t as readClaim } from "../claims-map-
|
|
6
|
-
import { c as ttlMs, s as ttlCache } from "../shared-
|
|
5
|
+
import { t as readClaim } from "../claims-map-CKkoAAYF.js";
|
|
6
|
+
import { c as ttlMs, s as ttlCache } from "../shared-l0oGGetg.js";
|
|
7
7
|
//#region src/clerk/subject.ts
|
|
8
8
|
function asRoles(value) {
|
|
9
9
|
if (typeof value === "string") return value === "" ? [] : [value];
|
|
@@ -198,8 +198,8 @@ function subjectFromClerk(authObject, options = {}) {
|
|
|
198
198
|
return fromClerk(authObject, options, extraMemberships);
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
201
|
-
* A resolver that keeps each user's `memberships: 'all'` list for
|
|
202
|
-
*
|
|
201
|
+
* A resolver that keeps each user's `memberships: 'all'` list for `cache.ttl`
|
|
202
|
+
* (at most 30 seconds), so a removed membership grants until then.
|
|
203
203
|
*/
|
|
204
204
|
function clerkSubjectResolver(options = {}) {
|
|
205
205
|
const { cache, ...rest } = options;
|
package/dist/cli/bin.js
CHANGED
|
@@ -5,14 +5,14 @@ import { text } from "node:stream/consumers";
|
|
|
5
5
|
module.enableCompileCache?.();
|
|
6
6
|
const argv = process.argv.slice(2);
|
|
7
7
|
if (argv.length === 1 && (argv[0] === "--version" || argv[0] === "-v")) {
|
|
8
|
-
const { cliVersion } = await import("../version-
|
|
8
|
+
const { cliVersion } = await import("../version-DizhmD72.js");
|
|
9
9
|
process.stdout.write(`${cliVersion()}\n`);
|
|
10
10
|
} else {
|
|
11
11
|
const [{ isCi }, { trapSignals }, { run }, { streamHasColors }] = await Promise.all([
|
|
12
12
|
import("../env-DJZrPjRi.js"),
|
|
13
|
-
import("../signals-
|
|
14
|
-
import("../run-
|
|
15
|
-
import("../style-
|
|
13
|
+
import("../signals-B1vHR3fN.js"),
|
|
14
|
+
import("../run-Ck22anC2.js"),
|
|
15
|
+
import("../style-DblOtSga.js")
|
|
16
16
|
]);
|
|
17
17
|
const signals = trapSignals();
|
|
18
18
|
const result = await run(argv, {
|