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,7 +1,7 @@
|
|
|
1
|
-
import { $t as CredentialEvent, Ct as Credential, Qt as AutomationEvent, Xt as AccessEvent, gt as SupportSession, on as MembershipEvent, q as DecisionSink, sn as SinkEvent, ut as TokenSigner } from "./policy-types-
|
|
2
|
-
import {
|
|
3
|
-
import { u as OperationRisk } from "./operations-
|
|
4
|
-
import { t as Automation } from "./automation-
|
|
1
|
+
import { $t as CredentialEvent, Ct as Credential, Qt as AutomationEvent, Xt as AccessEvent, gt as SupportSession, on as MembershipEvent, q as DecisionSink, sn as SinkEvent, ut as TokenSigner } from "./policy-types-CCiDRZBH.js";
|
|
2
|
+
import { M as AppData } from "./permission-types-CAY-GU7e.js";
|
|
3
|
+
import { u as OperationRisk } from "./operations-Ci_rT6Uo.js";
|
|
4
|
+
import { t as Automation } from "./automation-DqEoWHBc.js";
|
|
5
5
|
//#region src/core/sink.d.ts
|
|
6
6
|
/**
|
|
7
7
|
* The closed list of CloudEvents `type` values, `com.permdock.<family>` or
|
|
@@ -40,7 +40,10 @@ declare const CLOUD_EVENT_TYPES: {
|
|
|
40
40
|
readonly deliveryFailed: "com.permdock.delivery.failed";
|
|
41
41
|
};
|
|
42
42
|
type CloudEventType = (typeof CLOUD_EVENT_TYPES)[keyof typeof CLOUD_EVENT_TYPES];
|
|
43
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Types named for a later release; a receiver refuses them until then. None are
|
|
45
|
+
* reserved now.
|
|
46
|
+
*/
|
|
44
47
|
declare const RESERVED_CLOUD_EVENT_TYPES: readonly CloudEventType[];
|
|
45
48
|
/** The CloudEvents JSON format media type for one event (structured mode). */
|
|
46
49
|
declare const CLOUDEVENTS_CONTENT_TYPE = "application/cloudevents+json";
|
|
@@ -51,27 +54,42 @@ declare const CLOUDEVENTS_BATCH_CONTENT_TYPE = "application/cloudevents-batch+js
|
|
|
51
54
|
* which the Cloud then suspends; the `operation-*` codes only report.
|
|
52
55
|
*/
|
|
53
56
|
type CatalogFindingCode = "permission-removed" | "not-hostable" | "grantee-removed" | "approval-tightened" | "operation-risk-raised" | "operation-approval-removed";
|
|
54
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* One drift finding: the permission key and, when one broke, the hosted grant
|
|
59
|
+
* id.
|
|
60
|
+
*/
|
|
55
61
|
type CatalogFinding = {
|
|
56
62
|
readonly code: CatalogFindingCode;
|
|
57
63
|
readonly permission: string;
|
|
58
64
|
readonly grant?: string;
|
|
59
65
|
/** The operation name, on the `operation-*` codes. */
|
|
60
66
|
readonly operation?: string;
|
|
61
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* `meta.risk` before the publish, on `operation-risk-raised`; an unset risk
|
|
69
|
+
* is `low`.
|
|
70
|
+
*/
|
|
62
71
|
readonly previous?: OperationRisk;
|
|
63
72
|
/** `meta.risk` after the publish, on `operation-risk-raised`. */
|
|
64
73
|
readonly risk?: OperationRisk;
|
|
65
74
|
};
|
|
66
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* `data` of a `com.permdock.catalog.*` event: a `permdock cloud push` or a
|
|
77
|
+
* drift against live hosted grants.
|
|
78
|
+
*/
|
|
67
79
|
type CatalogEventData = {
|
|
68
80
|
readonly kind: "publish" | "drift";
|
|
69
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* The catalog fingerprint after the publish, or the one drift was measured
|
|
83
|
+
* against.
|
|
84
|
+
*/
|
|
70
85
|
readonly fingerprint: string;
|
|
71
86
|
readonly previous?: string;
|
|
72
87
|
readonly findings?: readonly CatalogFinding[];
|
|
73
88
|
};
|
|
74
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* A CloudEvents 1.0 event in the JSON format, with the distributed-tracing
|
|
91
|
+
* extension.
|
|
92
|
+
*/
|
|
75
93
|
type CloudEvent = {
|
|
76
94
|
readonly specversion: "1.0";
|
|
77
95
|
readonly type: CloudEventType;
|
|
@@ -82,9 +100,15 @@ type CloudEvent = {
|
|
|
82
100
|
/** An RFC 3339 instant: the sink event's `at`. */
|
|
83
101
|
readonly time: string;
|
|
84
102
|
readonly datacontenttype: "application/json";
|
|
85
|
-
/**
|
|
103
|
+
/**
|
|
104
|
+
* The published JSON Schema of `data`,
|
|
105
|
+
* `https://permdock.com/schemas/<family>-event-v1.json`.
|
|
106
|
+
*/
|
|
86
107
|
readonly dataschema: string;
|
|
87
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* W3C Trace Context `traceparent`, the CloudEvents distributed-tracing
|
|
110
|
+
* extension.
|
|
111
|
+
*/
|
|
88
112
|
readonly traceparent?: string;
|
|
89
113
|
readonly tracestate?: string;
|
|
90
114
|
readonly data: SinkEvent | CatalogEventData;
|
|
@@ -141,9 +165,9 @@ declare function automationEvent(input: {
|
|
|
141
165
|
readonly x?: AppData;
|
|
142
166
|
}): AutomationEvent;
|
|
143
167
|
/**
|
|
144
|
-
* The `access` event of a `SupportSession`: `started` when it begins,
|
|
145
|
-
*
|
|
146
|
-
*
|
|
168
|
+
* The `access` event of a `SupportSession`: `started` when it begins, `ended`
|
|
169
|
+
* when it lapses, `revoked` when it is ended early. `principal` is the staff
|
|
170
|
+
* member, as for a support membership.
|
|
147
171
|
*/
|
|
148
172
|
declare function supportSessionEvent(input: {
|
|
149
173
|
readonly operation: AccessEvent["operation"];
|
|
@@ -155,8 +179,8 @@ declare function supportSessionEvent(input: {
|
|
|
155
179
|
readonly x?: AppData;
|
|
156
180
|
}): AccessEvent;
|
|
157
181
|
/**
|
|
158
|
-
* A `credential` sink event for `credential`. `sample` belongs on `used`
|
|
159
|
-
*
|
|
182
|
+
* A `credential` sink event for `credential`. `sample` belongs on `used` events
|
|
183
|
+
* only and must be in `(0, 1]`.
|
|
160
184
|
*/
|
|
161
185
|
declare function credentialEvent(input: {
|
|
162
186
|
readonly operation: CredentialEvent["operation"];
|
|
@@ -215,9 +239,9 @@ declare function accessEvent(input: {
|
|
|
215
239
|
*/
|
|
216
240
|
declare function toCloudEvent(event: SinkEvent, options: CloudEventOptions): CloudEvent;
|
|
217
241
|
/**
|
|
218
|
-
* Signs sink events as an offline evidence export: a compact JWS with
|
|
219
|
-
*
|
|
220
|
-
*
|
|
242
|
+
* Signs sink events as an offline evidence export: a compact JWS with `typ:
|
|
243
|
+
* vnd.permdock.evidence+jwt` whose `events` claim holds CloudEvents. Live
|
|
244
|
+
* deliveries use Standard Webhooks instead.
|
|
221
245
|
*/
|
|
222
246
|
declare function signDecisionBatch(events: readonly SinkEvent[], signer: TokenSigner, options: SignDecisionBatchOptions): Promise<string>;
|
|
223
247
|
declare function memoryDecisionSink(options?: MemoryDecisionSinkOptions): MemoryDecisionSink;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { t as byCodePoint } from "./compare-
|
|
2
|
-
import { i as readJsonFile } from "./files-
|
|
3
|
-
import {
|
|
4
|
-
import { t as didYouMean } from "./args-
|
|
1
|
+
import { t as byCodePoint } from "./compare-DTfyUunF.js";
|
|
2
|
+
import { i as readJsonFile } from "./files-BSjrtIHw.js";
|
|
3
|
+
import { l as packageRoot } from "./version-DMQ0dnN5.js";
|
|
4
|
+
import { t as didYouMean } from "./args-0FrVs5EH.js";
|
|
5
|
+
import { a as nonEmptyOr } from "./output-tkju6U7R.js";
|
|
5
6
|
import { cpSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, readlinkSync, realpathSync, writeFileSync } from "node:fs";
|
|
6
7
|
import { basename, dirname, join, relative, resolve } from "node:path";
|
|
7
8
|
import { pathToFileURL } from "node:url";
|
|
@@ -24,7 +25,10 @@ const AGENT_FOLDERS = {
|
|
|
24
25
|
};
|
|
25
26
|
/** The `--for` names `skills install` knows, with the folder each writes. */
|
|
26
27
|
const SKILL_AGENTS = AGENT_FOLDERS;
|
|
27
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Agents whose config folder (`.claude`, `.cursor`, `.agents`) the project
|
|
30
|
+
* already has.
|
|
31
|
+
*/
|
|
28
32
|
function detectedAgents(cwd) {
|
|
29
33
|
return Object.entries(AGENT_FOLDERS).filter(([, folder]) => existsSync(join(cwd, dirname(folder)))).map(([agent]) => agent);
|
|
30
34
|
}
|
|
@@ -80,13 +84,13 @@ function runSkillsInstall(input) {
|
|
|
80
84
|
const links = linked.length === 0 ? "" : `; linked ${linked.join(", ")}`;
|
|
81
85
|
return {
|
|
82
86
|
code: 0,
|
|
83
|
-
output: `installed ${copied.join(", ")
|
|
87
|
+
output: `installed ${nonEmptyOr(copied.join(", "), "no skills")}${links} (permdock@${version})`
|
|
84
88
|
};
|
|
85
89
|
}
|
|
86
90
|
/**
|
|
87
91
|
* Compares the installed skills with the ones this version ships and writes
|
|
88
|
-
* nothing: exit 1 lists every file that is missing or differs. Without
|
|
89
|
-
*
|
|
92
|
+
* nothing: exit 1 lists every file that is missing or differs. Without agents
|
|
93
|
+
* it checks the agent folders the project has, else every folder.
|
|
90
94
|
*/
|
|
91
95
|
function runSkillsCheck(input) {
|
|
92
96
|
const source = resolveSkillsRoot(input.cwd, input.bundled ?? join(packageRoot(), "skills"));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as defineLeaf } from "./command-L8EstFNm.js";
|
|
2
|
-
import { t as checkFlag } from "./flags-
|
|
3
|
-
import { r as pick, t as CANCELLED } from "./prompt-
|
|
4
|
-
import { n as detectedAgents, r as runSkills, t as SKILL_AGENTS } from "./skills-
|
|
2
|
+
import { t as checkFlag } from "./flags-DXjoTVbS.js";
|
|
3
|
+
import { r as pick, t as CANCELLED } from "./prompt-BYc6drYW.js";
|
|
4
|
+
import { n as detectedAgents, r as runSkills, t as SKILL_AGENTS } from "./skills-Bjj7BNEQ.js";
|
|
5
5
|
//#region src/cli/commands/skills.ts
|
|
6
6
|
const forFlag = { for: {
|
|
7
7
|
type: "string",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as compact } from "./compact-CAf557ZB.js";
|
|
2
|
-
import { n as freezeDeep } from "./freeze-
|
|
3
|
-
import { n as isForbiddenKey } from "./paths-
|
|
4
|
-
import { a as resolveConditionRef, l as isConditionRef } from "./refs-
|
|
5
|
-
import { l as isRfc3339, m as rfc3339, p as nowSeconds } from "./time-
|
|
6
|
-
import { f as scopeList } from "./scopes-
|
|
7
|
-
import { _ as listPlans, v as listRoles } from "./grantee-
|
|
8
|
-
import { i as wireValidity } from "./validity-
|
|
9
|
-
import { m as tenantsOf } from "./tenancy-
|
|
2
|
+
import { n as freezeDeep } from "./freeze-jjan0lCv.js";
|
|
3
|
+
import { n as isForbiddenKey } from "./paths-CUvURzHp.js";
|
|
4
|
+
import { a as resolveConditionRef, l as isConditionRef } from "./refs-C8BKxc_e.js";
|
|
5
|
+
import { l as isRfc3339, m as rfc3339, p as nowSeconds } from "./time-nR1JesoH.js";
|
|
6
|
+
import { f as scopeList } from "./scopes-0Up_UA2t.js";
|
|
7
|
+
import { _ as listPlans, v as listRoles } from "./grantee-Dke-9rd1.js";
|
|
8
|
+
import { i as wireValidity } from "./validity-Buc7w8E9.js";
|
|
9
|
+
import { m as tenantsOf } from "./tenancy-5d1zVBvK.js";
|
|
10
10
|
import { n as toWireDelegation } from "./wire-delegation-Cv3W2eaM.js";
|
|
11
11
|
//#region src/conditions/bind.ts
|
|
12
12
|
function isPrimitive(value) {
|
|
@@ -36,10 +36,10 @@ function bindArg(arg, subject, only) {
|
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Replaces every `principal.*` / `context.*` ref with the subject's value, and
|
|
39
|
-
* a `liveSession` node with a constant, so a `where()` result compiles the
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
39
|
+
* a `liveSession` node with a constant, so a `where()` result compiles the same
|
|
40
|
+
* without the subject. A ref the subject does not hold binds to `null` (or `[]`
|
|
41
|
+
* in a list), which never matches, as in `evaluateCondition`. With `only`, refs
|
|
42
|
+
* it rejects stay refs.
|
|
43
43
|
*/
|
|
44
44
|
function bindConditionRefs(condition, subject, only) {
|
|
45
45
|
switch (condition.op) {
|
|
@@ -141,7 +141,10 @@ const CARRIED = /* @__PURE__ */ new Set([
|
|
|
141
141
|
"tenant",
|
|
142
142
|
"memberships"
|
|
143
143
|
]);
|
|
144
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* Principal refs the snapshot principal does not carry (`claims`, `teamIds`, …)
|
|
146
|
+
* are bound to the subject's values.
|
|
147
|
+
*/
|
|
145
148
|
function isClaimRef(ref) {
|
|
146
149
|
const [root, head] = ref.split(".", 2);
|
|
147
150
|
return root === "principal" && !CARRIED.has(String(head));
|
|
@@ -229,10 +232,10 @@ function buildSnapshot(input) {
|
|
|
229
232
|
}));
|
|
230
233
|
}
|
|
231
234
|
/**
|
|
232
|
-
* The token delegation as the client sees it. An actor with no token
|
|
233
|
-
*
|
|
234
|
-
* `no-delegation`, unless a policy delegation applies (`delegated`), which
|
|
235
|
-
*
|
|
235
|
+
* The token delegation as the client sees it. An actor with no token delegation
|
|
236
|
+
* gets an empty `scopes` list so the client ceiling agrees with
|
|
237
|
+
* `no-delegation`, unless a policy delegation applies (`delegated`), which then
|
|
238
|
+
* is the ceiling.
|
|
236
239
|
*/
|
|
237
240
|
function snapshotDelegation(subject, delegated) {
|
|
238
241
|
const delegation = subject.delegation;
|
|
@@ -266,4 +269,4 @@ function parseSnapshot(json) {
|
|
|
266
269
|
return freezeDeep(value);
|
|
267
270
|
}
|
|
268
271
|
//#endregion
|
|
269
|
-
export { bindConditionRefs as i, parseSnapshot as n,
|
|
272
|
+
export { bindConditionRefs as a, snapshotGrant as i, parseSnapshot as n, plainPermission as r, buildSnapshot as t };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { Gt as Snapshot, Rt as Instant } from "./policy-types-
|
|
1
|
+
import { Gt as Snapshot, Rt as Instant } from "./policy-types-CCiDRZBH.js";
|
|
2
2
|
//#region src/core/snapshot-cache.d.ts
|
|
3
3
|
type CacheLifeForOptions = {
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Lower bound in seconds. Next.js includes a private entry in per-link
|
|
6
|
+
* prefetches from 30.
|
|
7
|
+
*/
|
|
5
8
|
readonly min?: number;
|
|
6
9
|
/** Upper bound in seconds. Next.js keeps a per-session App Shell entry from 300. */
|
|
7
10
|
readonly max?: number;
|
|
@@ -9,9 +12,10 @@ type CacheLifeForOptions = {
|
|
|
9
12
|
readonly now?: Instant;
|
|
10
13
|
};
|
|
11
14
|
/**
|
|
12
|
-
* `{ stale }` in seconds: `max` when the value never expires, otherwise the
|
|
13
|
-
* to `[min, max]`. A value with less than `min` seconds
|
|
14
|
-
* leaves it out of prefetches and an
|
|
15
|
+
* `{ stale }` in seconds: `max` when the value never expires, otherwise the
|
|
16
|
+
* seconds left, clamped to `[min, max]`. A value with less than `min` seconds
|
|
17
|
+
* left gets its real remainder, so Next.js leaves it out of prefetches and an
|
|
18
|
+
* HTTP cache does not serve it past `expiresAt`.
|
|
15
19
|
*/
|
|
16
20
|
declare function cacheLifeFor(value: {
|
|
17
21
|
/** RFC 3339, or a NumericDate. */
|
|
@@ -22,13 +26,17 @@ declare function cacheLifeFor(value: {
|
|
|
22
26
|
readonly stale: number;
|
|
23
27
|
};
|
|
24
28
|
/**
|
|
25
|
-
* The `cacheTag` for one subject's cached snapshots: `permdock:<sub>`, or
|
|
26
|
-
* without a subject. Tag the private cache with it and pass it
|
|
27
|
-
* `revalidateTag` on every write that changes the subject's
|
|
29
|
+
* The `cacheTag` for one subject's cached snapshots: `permdock:<sub>`, or
|
|
30
|
+
* `permdock:anon` without a subject. Tag the private cache with it and pass it
|
|
31
|
+
* to `updateTag` or `revalidateTag` on every write that changes the subject's
|
|
32
|
+
* snapshot.
|
|
28
33
|
*/
|
|
29
34
|
declare function snapshotTag(sub?: string | null): string;
|
|
30
35
|
type SnapshotHeadersOptions = CacheLifeForOptions & {
|
|
31
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Sent in `Cache-Tag` after `snapshotTag(sub)`, such as the app's own
|
|
38
|
+
* organisation tag.
|
|
39
|
+
*/
|
|
32
40
|
readonly tags?: readonly string[];
|
|
33
41
|
};
|
|
34
42
|
type SnapshotHeaders = {
|
|
@@ -38,9 +46,10 @@ type SnapshotHeaders = {
|
|
|
38
46
|
readonly "Cache-Tag": string;
|
|
39
47
|
};
|
|
40
48
|
/**
|
|
41
|
-
* Response headers for a loader or route that returns `snapshot`:
|
|
42
|
-
* `max-age` from `cacheLifeFor`, `Vary:
|
|
43
|
-
*
|
|
49
|
+
* Response headers for a loader or route that returns `snapshot`:
|
|
50
|
+
* `Cache-Control: private` with `max-age` from `cacheLifeFor`, `Vary:
|
|
51
|
+
* Authorization, Cookie`, an `ETag` over everything but `issuedAt`, and
|
|
52
|
+
* `Cache-Tag` with `snapshotTag(sub)` and `tags`.
|
|
44
53
|
*/
|
|
45
54
|
declare function snapshotHeaders(snapshot: Snapshot, options?: SnapshotHeadersOptions): SnapshotHeaders;
|
|
46
55
|
//#endregion
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { g as secondsOf, p as nowSeconds } from "./time-
|
|
2
|
-
import { n as payloadDigest } from "./token-
|
|
1
|
+
import { g as secondsOf, p as nowSeconds } from "./time-nR1JesoH.js";
|
|
2
|
+
import { n as payloadDigest } from "./token-DC9EQiet.js";
|
|
3
3
|
//#region src/core/snapshot-cache.ts
|
|
4
4
|
/** Seconds since the epoch of a NumericDate or an RFC 3339 instant. */
|
|
5
5
|
function epochSeconds(value) {
|
|
6
6
|
return typeof value === "number" ? value : secondsOf(value);
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* `{ stale }` in seconds: `max` when the value never expires, otherwise the
|
|
10
|
-
* to `[min, max]`. A value with less than `min` seconds
|
|
11
|
-
* leaves it out of prefetches and an
|
|
9
|
+
* `{ stale }` in seconds: `max` when the value never expires, otherwise the
|
|
10
|
+
* seconds left, clamped to `[min, max]`. A value with less than `min` seconds
|
|
11
|
+
* left gets its real remainder, so Next.js leaves it out of prefetches and an
|
|
12
|
+
* HTTP cache does not serve it past `expiresAt`.
|
|
12
13
|
*/
|
|
13
14
|
function cacheLifeFor(value, options = {}) {
|
|
14
15
|
const min = options.min ?? 30;
|
|
@@ -23,17 +24,19 @@ function cacheLifeFor(value, options = {}) {
|
|
|
23
24
|
return { stale: Math.min(max, remaining) };
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
|
-
* The `cacheTag` for one subject's cached snapshots: `permdock:<sub>`, or
|
|
27
|
-
* without a subject. Tag the private cache with it and pass it
|
|
28
|
-
* `revalidateTag` on every write that changes the subject's
|
|
27
|
+
* The `cacheTag` for one subject's cached snapshots: `permdock:<sub>`, or
|
|
28
|
+
* `permdock:anon` without a subject. Tag the private cache with it and pass it
|
|
29
|
+
* to `updateTag` or `revalidateTag` on every write that changes the subject's
|
|
30
|
+
* snapshot.
|
|
29
31
|
*/
|
|
30
32
|
function snapshotTag(sub) {
|
|
31
33
|
return `permdock:${sub === void 0 || sub === null || sub === "" ? "anon" : sub}`;
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
|
-
* Response headers for a loader or route that returns `snapshot`:
|
|
35
|
-
* `max-age` from `cacheLifeFor`, `Vary:
|
|
36
|
-
*
|
|
36
|
+
* Response headers for a loader or route that returns `snapshot`:
|
|
37
|
+
* `Cache-Control: private` with `max-age` from `cacheLifeFor`, `Vary:
|
|
38
|
+
* Authorization, Cookie`, an `ETag` over everything but `issuedAt`, and
|
|
39
|
+
* `Cache-Tag` with `snapshotTag(sub)` and `tags`.
|
|
37
40
|
*/
|
|
38
41
|
function snapshotHeaders(snapshot, options = {}) {
|
|
39
42
|
const content = {};
|
package/dist/solid/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { Gt as Snapshot, In as ApprovalRequiredDecision, Ln as Decision, Un as GrantedDecision, dt as TokenVerifier, or as Membership } from "../policy-types-
|
|
2
|
-
import { u as Permission } from "../permission-types-
|
|
3
|
-
import { r as Role } from "../vocabulary-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
1
|
+
import { Gt as Snapshot, In as ApprovalRequiredDecision, Ln as Decision, Un as GrantedDecision, dt as TokenVerifier, j as PolicyVocabulary, or as Membership } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
+
import { r as Role } from "../vocabulary-DEJ5j4mR.js";
|
|
4
|
+
import { d as UncheckedData, s as RowData } from "../permdock-B6Sf4T_S.js";
|
|
5
|
+
import { c as requiredPlans } from "../errors-zi_4T-rx.js";
|
|
6
|
+
import { i as describe, r as DescribeOptions, t as DecisionDescription } from "../describe-ByS9LgHK.js";
|
|
7
|
+
import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
|
|
8
|
+
import { n as ProtectedAction, t as ActionResult } from "../action-result-CL-QCITA.js";
|
|
9
|
+
import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
|
|
10
|
+
import { a as FilterResult, b as eventSourceRefresh, c as PermissionSet, d as ProtectedActionView, f as ProviderOptionsBase, h as TenantView, i as ClientStatus, l as PermissionState, m as SubjectView, n as ApprovalState, o as GateMode, p as RolesOptions, r as ClientPermDock, s as GateView, t as ApprovalHandle, v as EventSourceRefreshOptions, y as RefreshTrigger } from "../types-B_d_g7T3.js";
|
|
9
11
|
import { Accessor, Accessor as Accessor$1, JSX } from "solid-js";
|
|
10
12
|
//#region src/solid/types.d.ts
|
|
11
13
|
/** Structural `JSX.Element`: text, a DOM node or a list of children. */
|
|
@@ -21,7 +23,10 @@ type PermDockProviderProps = ProviderOptionsBase & {
|
|
|
21
23
|
readonly snapshot: Snapshot | string | Accessor$1<Snapshot | string | undefined> | PromiseLike<Snapshot | string>;
|
|
22
24
|
/** A change switches the active tenant (`refresh({ tenant })`). */
|
|
23
25
|
readonly tenant?: string;
|
|
24
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Read on every request, with `verifier`, so a rotated token applies without
|
|
28
|
+
* a new store.
|
|
29
|
+
*/
|
|
25
30
|
readonly headers?: Readonly<Record<string, string>>;
|
|
26
31
|
readonly verifier?: TokenVerifier;
|
|
27
32
|
/** What every `<Protected>` below renders for a slot it leaves out. */
|
|
@@ -51,12 +56,35 @@ type ProtectedProps = {
|
|
|
51
56
|
readonly approval?: SolidChild | ((decision: ApprovalRequiredDecision) => SolidChild);
|
|
52
57
|
readonly children: SolidChild | ((decision: GrantedDecision) => SolidChild);
|
|
53
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* `useProtectedAction` in Solid: the fields of `ProtectedActionView` as
|
|
61
|
+
* accessors.
|
|
62
|
+
*/
|
|
63
|
+
type ProtectedActionAccessors<T> = {
|
|
64
|
+
readonly gate: Accessor$1<GateView>;
|
|
65
|
+
readonly result: Accessor$1<ActionResult<T> | undefined>;
|
|
66
|
+
readonly pending: Accessor$1<boolean>;
|
|
67
|
+
readonly approval: Accessor$1<ApprovalHandle | undefined>;
|
|
68
|
+
readonly run: (input: unknown) => Promise<ActionResult<T>>;
|
|
69
|
+
readonly retry: () => Promise<ActionResult<T> | undefined>;
|
|
70
|
+
};
|
|
54
71
|
//#endregion
|
|
55
72
|
//#region src/solid/hooks.d.ts
|
|
56
|
-
export declare function usePermDock(): ClientPermDock
|
|
57
|
-
export declare function usePermission(permission: Permission | Accessor<Permission>, data?: Accessor<
|
|
73
|
+
export declare function usePermDock<V extends PolicyVocabulary = PolicyVocabulary>(): ClientPermDock<V>;
|
|
74
|
+
export declare function usePermission<D>(permission: Permission | Accessor<Permission>, data?: Accessor<UncheckedData<D>>): Accessor<PermissionState>;
|
|
75
|
+
export declare function usePermission<P extends Permission>(permission: P | Accessor<P>, data?: Accessor<RowData<P>>): Accessor<PermissionState>;
|
|
76
|
+
/**
|
|
77
|
+
* What a permission-gated control renders, as `useGate` in React: `hidden`,
|
|
78
|
+
* `disabled`, `needsApproval`, `upgrade` and a localised `reason`.
|
|
79
|
+
*/
|
|
80
|
+
export declare function useGate<D>(permission: Permission | Accessor<Permission>, data?: Accessor<UncheckedData<D>>, options?: {
|
|
81
|
+
readonly mode?: GateMode;
|
|
82
|
+
}): Accessor<GateView>;
|
|
83
|
+
export declare function useGate<P extends Permission>(permission: P | Accessor<P>, data?: Accessor<RowData<P>>, options?: {
|
|
84
|
+
readonly mode?: GateMode;
|
|
85
|
+
}): Accessor<GateView>;
|
|
58
86
|
export declare function usePermissions(permissions: Accessor<readonly Permission[]>, data?: Accessor<unknown>): Accessor<PermissionSet>;
|
|
59
|
-
export declare function useFilter<T>(permission: Permission<string, T
|
|
87
|
+
export declare function useFilter<T>(permission: Permission<string, NoInfer<T>, "instance">, rows: Accessor<readonly T[]>): Accessor<FilterResult<T>>;
|
|
60
88
|
export declare function useTenant(): Accessor<TenantView>;
|
|
61
89
|
export declare function useMemberships(): Accessor<readonly Membership[]>;
|
|
62
90
|
export declare function useRoles(options?: Accessor<RolesOptions>): Accessor<{
|
|
@@ -72,13 +100,24 @@ export declare function useSubject(): Accessor<SubjectView>;
|
|
|
72
100
|
export declare function useApproval(decision: Accessor<Decision>): Accessor<ApprovalHandle>;
|
|
73
101
|
/** `describe` with the provider's `messages`; a call's own `messages` win. */
|
|
74
102
|
export declare function useDescribe(): (decision: Decision, options?: DescribeOptions) => DecisionDescription;
|
|
103
|
+
/**
|
|
104
|
+
* A `protectAction` server action wired to a control, as `useProtectedAction`
|
|
105
|
+
* in React: accessors for `gate`, `result`, `pending` and `approval`, plus
|
|
106
|
+
* `run` and `retry`.
|
|
107
|
+
*/
|
|
108
|
+
export declare function useProtectedAction<T, D>(action: ProtectedAction<T>, permission: Permission | Accessor<Permission>, data?: Accessor<UncheckedData<D>>, options?: {
|
|
109
|
+
readonly mode?: GateMode;
|
|
110
|
+
}): ProtectedActionAccessors<T>;
|
|
111
|
+
export declare function useProtectedAction<T, P extends Permission>(action: ProtectedAction<T>, permission: P | Accessor<P>, data?: Accessor<RowData<P>>, options?: {
|
|
112
|
+
readonly mode?: GateMode;
|
|
113
|
+
}): ProtectedActionAccessors<T>;
|
|
75
114
|
//#endregion
|
|
76
115
|
//#region src/solid/boundary.d.ts
|
|
77
116
|
/**
|
|
78
117
|
* Catches `PermDockDeniedError` and `PermDockApprovalRequiredError` thrown
|
|
79
|
-
* below it and renders `denied`, or `approval` for an approval request
|
|
80
|
-
*
|
|
81
|
-
*
|
|
118
|
+
* below it and renders `denied`, or `approval` for an approval request (default
|
|
119
|
+
* `denied`), with the refused permission and `retry()`. Any other error goes to
|
|
120
|
+
* the next `ErrorBoundary` up.
|
|
82
121
|
*/
|
|
83
122
|
export declare function PermissionBoundary(props: PermissionBoundaryProps): JSX.Element;
|
|
84
123
|
/** Inside a `PermissionBoundary` fallback: what was refused and `retry()`. */
|
|
@@ -90,4 +129,4 @@ export declare function Protected(props: ProtectedProps): JSX.Element;
|
|
|
90
129
|
//#region src/solid/provider.d.ts
|
|
91
130
|
export declare function PermDockProvider(props: PermDockProviderProps): JSX.Element;
|
|
92
131
|
//#endregion
|
|
93
|
-
export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockDefaults, type PermDockProviderProps, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedProps, type RolesOptions, type SolidChild, type SubjectView, type TenantView, approvalHeaders, describe, requiredPlans };
|
|
132
|
+
export { type ActionResult, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermDockProviderProps, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionAccessors, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SolidChild, type SubjectView, type TenantView, approvalHeaders, describe, eventSourceRefresh, requiredPlans };
|
package/dist/solid/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { r as requiredPlans } from "../problem-details-
|
|
3
|
-
import {
|
|
4
|
-
import { n as boundaryFallback, t as boundaryDigest } from "../boundary-
|
|
5
|
-
import {
|
|
6
|
-
import { i as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
2
|
+
import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
|
|
3
|
+
import { n as describe } from "../describe-Bb4hGK5d.js";
|
|
4
|
+
import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BV3O1eud.js";
|
|
5
|
+
import { n as actionRunner, r as approvalHeaders, t as actionApproval } from "../protected-action-DUYqb-Ma.js";
|
|
6
|
+
import { a as livePermDock, c as rolesView, d as subjectView, f as tenantView, i as gateView, l as scopedTenant, n as describeWith, o as permissionSet, r as filterResult, s as protectedView, t as approvalHandle, u as slotContent } from "../views-CD8wuL4Z.js";
|
|
7
|
+
import { a as isPromiseLike, r as eventSourceRefresh } from "../store-options-Dil3lraY.js";
|
|
8
|
+
import { n as switchTenant, t as providerStore } from "../provider-store-CaTv00tr.js";
|
|
9
9
|
import { ErrorBoundary, createComponent, createComputed, createContext, createMemo, createSignal, getOwner, on, onCleanup, useContext } from "solid-js";
|
|
10
10
|
//#region src/solid/context.ts
|
|
11
11
|
const PermDockContext = createContext(void 0);
|
|
@@ -42,6 +42,16 @@ function usePermission(permission, data) {
|
|
|
42
42
|
return store.permissionState(current, data?.());
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
function useGate(permission, data, options = {}) {
|
|
46
|
+
const store = useStore();
|
|
47
|
+
const version = useVersion(store);
|
|
48
|
+
const describeDecision = useDescribe();
|
|
49
|
+
return createMemo(() => {
|
|
50
|
+
version();
|
|
51
|
+
const current = typeof permission === "function" ? permission() : permission;
|
|
52
|
+
return gateView(store.permissionState(current, data?.()), (decision) => describeDecision(decision, { permission: current }), options.mode);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
45
55
|
function usePermissions(permissions, data) {
|
|
46
56
|
const store = useStore();
|
|
47
57
|
const version = useVersion(store);
|
|
@@ -91,14 +101,37 @@ function useDescribe() {
|
|
|
91
101
|
const ui = useContext(PermDockUiContext);
|
|
92
102
|
return (decision, options) => describeWith(ui.messages)(decision, options);
|
|
93
103
|
}
|
|
104
|
+
function useProtectedAction(action, permission, data, options = {}) {
|
|
105
|
+
const store = useStore();
|
|
106
|
+
const version = useVersion(store);
|
|
107
|
+
const gate = useGate(permission, data, options);
|
|
108
|
+
const [state, setState] = createSignal({
|
|
109
|
+
result: void 0,
|
|
110
|
+
pending: false
|
|
111
|
+
});
|
|
112
|
+
const runner = actionRunner(() => action, (next) => {
|
|
113
|
+
setState(next);
|
|
114
|
+
});
|
|
115
|
+
return {
|
|
116
|
+
gate,
|
|
117
|
+
result: () => state().result,
|
|
118
|
+
pending: () => state().pending,
|
|
119
|
+
approval: createMemo(() => {
|
|
120
|
+
version();
|
|
121
|
+
return actionApproval(store, state().result);
|
|
122
|
+
}),
|
|
123
|
+
run: runner.run,
|
|
124
|
+
retry: runner.retry
|
|
125
|
+
};
|
|
126
|
+
}
|
|
94
127
|
//#endregion
|
|
95
128
|
//#region src/solid/boundary.ts
|
|
96
129
|
const BoundaryContext = createContext(null);
|
|
97
130
|
/**
|
|
98
131
|
* Catches `PermDockDeniedError` and `PermDockApprovalRequiredError` thrown
|
|
99
|
-
* below it and renders `denied`, or `approval` for an approval request
|
|
100
|
-
*
|
|
101
|
-
*
|
|
132
|
+
* below it and renders `denied`, or `approval` for an approval request (default
|
|
133
|
+
* `denied`), with the refused permission and `retry()`. Any other error goes to
|
|
134
|
+
* the next `ErrorBoundary` up.
|
|
102
135
|
*/
|
|
103
136
|
function PermissionBoundary(props) {
|
|
104
137
|
return createComponent(ErrorBoundary, {
|
|
@@ -164,7 +197,8 @@ function PermDockProvider(props) {
|
|
|
164
197
|
maxAge: props.maxAge,
|
|
165
198
|
onSnapshot: props.onSnapshot,
|
|
166
199
|
onClear: props.onClear,
|
|
167
|
-
approvalInterval: props.approvalInterval
|
|
200
|
+
approvalInterval: props.approvalInterval,
|
|
201
|
+
refreshOn: props.refreshOn
|
|
168
202
|
}), () => ({
|
|
169
203
|
headers: props.headers,
|
|
170
204
|
fetch: props.fetch,
|
|
@@ -215,4 +249,4 @@ function uiProvider(ui, props) {
|
|
|
215
249
|
});
|
|
216
250
|
}
|
|
217
251
|
//#endregion
|
|
218
|
-
export { PermDockProvider, PermissionBoundary, Protected, approvalHeaders, describe, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useMemberships, usePermDock, usePermission, usePermissionBoundary, usePermissions, useRoles, useSubject, useTenant };
|
|
252
|
+
export { PermDockProvider, PermissionBoundary, Protected, approvalHeaders, describe, eventSourceRefresh, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissionBoundary, usePermissions, useProtectedAction, useRoles, useSubject, useTenant };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Gt as Snapshot, T as Policy, j as PolicyVocabulary, sr as Principal } from "../policy-types-
|
|
2
|
-
import { u as Permission } from "../permission-types-
|
|
3
|
-
import { a as OperationInput, t as Operation } from "../operations-
|
|
4
|
-
import { a as PermDock } from "../permdock-
|
|
5
|
-
import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-
|
|
6
|
-
import { a as ProtectTarget, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-
|
|
1
|
+
import { Gt as Snapshot, T as Policy, j as PolicyVocabulary, sr as Principal } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
+
import { a as OperationInput, t as Operation } from "../operations-Ci_rT6Uo.js";
|
|
4
|
+
import { a as PermDock } from "../permdock-B6Sf4T_S.js";
|
|
5
|
+
import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CIlpSA2G.js";
|
|
6
|
+
import { a as ProtectTarget, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-C1DCvpqV.js";
|
|
7
7
|
import { APIEvent, FetchEvent } from "@solidjs/start/server";
|
|
8
8
|
//#region src/solid-start/create.d.ts
|
|
9
9
|
/** The h3 event under every SolidStart request; `subject` and `scope` read it. */
|
|
@@ -16,7 +16,10 @@ type SolidStartPermDockLocals<TData = unknown, V extends PolicyVocabulary = Poli
|
|
|
16
16
|
readonly permdock: PermDock<V>;
|
|
17
17
|
readonly permdockData: TData;
|
|
18
18
|
};
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* The event a wrapped API route receives: its own `APIEvent` with typed
|
|
21
|
+
* `locals`.
|
|
22
|
+
*/
|
|
20
23
|
type SolidStartPermDockEvent<TEvent extends FetchEvent = APIEvent, TData = unknown, V extends PolicyVocabulary = PolicyVocabulary> = TEvent & {
|
|
21
24
|
readonly locals: SolidStartPermDockLocals<TData, V>;
|
|
22
25
|
};
|
|
@@ -32,18 +35,33 @@ type SolidStartPermDockHandlers = {
|
|
|
32
35
|
readonly POST: (event: FetchEvent) => Promise<Response>;
|
|
33
36
|
};
|
|
34
37
|
type SolidStartPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
|
|
35
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Sets `event.context.permdock` on the h3 event; a bad Web Bot Auth
|
|
40
|
+
* signature is a `401`.
|
|
41
|
+
*/
|
|
36
42
|
readonly middleware: () => SolidStartMiddleware;
|
|
37
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* `export const DELETE = protect(permissions.post.delete,
|
|
45
|
+
* loadPost)(handler)`.
|
|
46
|
+
*/
|
|
38
47
|
readonly protect: SolidStartProtect<V>;
|
|
39
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Types `event.locals.permdock` for an API route and answers a thrown
|
|
50
|
+
* PermDock error with Problem Details.
|
|
51
|
+
*/
|
|
40
52
|
readonly withPermDock: SolidStartGuarded<unknown, V>;
|
|
41
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* The instance for an API route, or a server function through
|
|
55
|
+
* `getRequestEvent()`.
|
|
56
|
+
*/
|
|
42
57
|
readonly getPermDock: (event: FetchEvent) => Promise<PermDock<V>>;
|
|
43
58
|
/** The snapshot a route `query` returns for `permdock/solid`. */
|
|
44
59
|
readonly getSnapshot: (event: FetchEvent, query?: SnapshotQuery) => Promise<Snapshot>;
|
|
45
60
|
readonly connection: (event: FetchEvent, connectionOptions?: ConnectionOptions) => Promise<Connection>;
|
|
46
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* `export const { GET, POST } = permdockHandler()` in
|
|
63
|
+
* `src/routes/api/permdock.ts`.
|
|
64
|
+
*/
|
|
47
65
|
readonly permdockHandler: () => SolidStartPermDockHandlers;
|
|
48
66
|
readonly openapi: OpenApiHooks;
|
|
49
67
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-
|
|
2
|
-
import { i as decorate } from "../bind-
|
|
3
|
-
import { n as guardedRoute, t as fetchAdapter } from "../fetch-adapter-
|
|
1
|
+
import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
|
|
2
|
+
import { i as decorate } from "../bind-D_sZSVA3.js";
|
|
3
|
+
import { n as guardedRoute, t as fetchAdapter } from "../fetch-adapter-JL43jD3E.js";
|
|
4
4
|
//#region src/solid-start/create.ts
|
|
5
5
|
/**
|
|
6
6
|
* `event.locals`. Its type, `App.RequestEventLocals`, is declared by
|