permdock 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/dist/{2020-C9VN-x8c.js → 2020-CJbO8Bvz.js} +1 -3
- package/dist/a2a/index.d.ts +7 -7
- package/dist/a2a/index.js +9 -9
- package/dist/action-result-CL-QCITA.d.ts +19 -0
- package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
- package/dist/{adoption-scan-DCYe60Pi.js → adoption-scan-BLs67P1l.js} +5 -5
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +31 -10
- package/dist/ai-sdk/index.js +22 -12
- package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
- package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
- package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
- package/dist/{approval-prompt-DvSSPQJX.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
- package/dist/approvals/index.d.ts +5 -5
- package/dist/approvals/index.js +7 -7
- package/dist/{approvals-p1PGoVjb.js → approvals-DnIBTuXE.js} +128 -78
- package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
- package/dist/{arazzo-41WuzHou.js → arazzo-3RhGfkAK.js} +2 -2
- package/dist/{arazzo-CaUVBn7D.js → arazzo-B5-ulWif.js} +6 -6
- package/dist/{args-IIolxxKA.js → args-0FrVs5EH.js} +125 -8
- package/dist/astro/index.d.ts +30 -12
- package/dist/astro/index.js +2 -2
- package/dist/{audience-DabClFLQ.js → audience-BAkBDMqn.js} +8 -8
- package/dist/{auth-DRLEizbL.js → auth--yPyZNgr.js} +21 -10
- package/dist/authzen/index.d.ts +171 -25
- package/dist/authzen/index.js +321 -149
- package/dist/{automation-BNM3TtDo.d.ts → automation-DqEoWHBc.d.ts} +42 -32
- package/dist/{automation-DVjOckjV.js → automation-x3KEUusw.js} +22 -21
- package/dist/base-url-BQbddZO5.js +9 -0
- package/dist/better-auth/index.d.ts +2 -2
- package/dist/better-auth/index.js +13 -7
- package/dist/better-supabase/index.d.ts +392 -220
- package/dist/better-supabase/index.js +293 -152
- package/dist/{bind-DOyrv6zi.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
- package/dist/{bind-CAvgUuKs.js → bind-D_sZSVA3.js} +22 -10
- package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
- package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
- package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
- package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
- package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
- package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
- package/dist/{build-instance-Bu_eDqYw.js → build-instance-CNWaYJyr.js} +3 -3
- package/dist/{canonical-json-BC8_nMTw.js → canonical-json-DwilZ1iB.js} +6 -3
- package/dist/{capability-N1K9IpqS.js → capability-BqX94r07.js} +31 -25
- package/dist/{capability-Drg-1YhL.d.ts → capability-ChuiONQU.d.ts} +41 -29
- package/dist/{casbin-Dyu2gnUD.js → casbin-H0rKxBx2.js} +16 -8
- package/dist/{casbin-Cr7RLtA3.js → casbin-cbSbhT_k.js} +2 -2
- package/dist/{casl-64gpT-8x.js → casl-C4OINZHI.js} +2 -2
- package/dist/{casl-DjEDhTCP.js → casl-CHHoCldP.js} +19 -10
- package/dist/catalog/index.d.ts +104 -23
- package/dist/catalog/index.js +117 -8
- package/dist/{catalog-HD2gf5mY.js → catalog-BFpz2EmT.js} +57 -26
- package/dist/{catalog-DZVbrF-z.js → catalog-DCspHDc8.js} +3 -3
- package/dist/{catalog-doc-Cdn7-0pQ.js → catalog-doc-DjMKzJp9.js} +53 -16
- package/dist/{catalog-fingerprint-CCP0-yQS.js → catalog-fingerprint-e6aCWosn.js} +19 -15
- package/dist/catalog-mRQQQhNK.js +1 -0
- package/dist/catalog-operations-Dadrl7Z-.js +60 -0
- package/dist/{create-CQWIpUG-.js → challenge-DImNcR7B.js} +157 -39
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +13 -10
- package/dist/chat-sdk/index.d.ts +44 -26
- package/dist/chat-sdk/index.js +17 -17
- package/dist/checks-CGkP3Z7A.js +40 -0
- package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
- package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
- package/dist/claude-agent/index.d.ts +6 -6
- package/dist/claude-agent/index.js +6 -3
- package/dist/clerk/index.d.ts +11 -7
- package/dist/clerk/index.js +6 -6
- package/dist/cli/bin.js +4 -4
- package/dist/cli/index.d.ts +82 -7
- package/dist/cli/index.js +6 -6
- package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
- package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
- package/dist/cloud/index.d.ts +186 -38
- package/dist/cloud/index.js +293 -31
- package/dist/{cloud-ytQ3uviA.js → cloud-BFlGMaak.js} +5 -6
- package/dist/{codemod-5mpSpnUY.js → codemod-DLQ9Zpo4.js} +3 -4
- package/dist/{codemod-ua2hHy7w.js → codemod-DWSN2erG.js} +523 -201
- package/dist/collect-B5BL3klN.js +1 -0
- package/dist/{collect-mLTY4nwb.js → collect-B7ZFAJU3.js} +36 -64
- package/dist/{collect-Ci6akVwH.js → collect-Bzv3le0A.js} +6 -6
- package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
- package/dist/compile/index.d.ts +2 -2
- package/dist/compile/index.js +1 -1
- package/dist/{compile-1bsAezL0.d.ts → compile-BFzysW3o.d.ts} +36 -12
- package/dist/{compile-CMqMx_IN.js → compile-EzEMB-7v.js} +77 -33
- package/dist/{completion-BTFrHZhX.js → completion-saoYiRFO.js} +17 -8
- package/dist/config-BwPBfN0t.js +108 -0
- package/dist/{config-Bj2Ixq3d.js → config-DBeXXmBF.js} +2 -2
- package/dist/{config-report-DSpsLpCE.js → config-report-BipSWA6V.js} +9 -6
- package/dist/config-shape-ykV0Vm2n.js +134 -0
- package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
- package/dist/connector-schema-CYLQNMYq.js +434 -0
- package/dist/{context-B_u3_bDJ.js → context-BnIzxTNE.js} +4 -3
- package/dist/convex/index.d.ts +13 -7
- package/dist/convex/index.js +9 -6
- package/dist/core-H-mbhpZc.js +341 -0
- package/dist/core-hWIARPDz.d.ts +206 -0
- package/dist/{create-CBMmFie-.d.ts → create-BSNrVuxh.d.ts} +87 -34
- package/dist/{create-B30OMUOJ.d.ts → create-BVq1lNQE.d.ts} +49 -28
- package/dist/{create-D_NmPOdH.d.ts → create-CM1FciYG.d.ts} +37 -29
- package/dist/{create-CGm28gyI.js → create-Cq4Uox0f.js} +13 -9
- package/dist/{create-DCF2SvoT.js → create-_noSrY1T.js} +15 -21
- package/dist/{credential-BcoiejpY.js → credential-CyyyvCsL.js} +42 -39
- package/dist/{credentials-DPyHmYz5.js → credentials-CdDxp7jN.js} +6 -6
- package/dist/{deciding-columns-Sq12mEA6.js → deciding-columns-NB4wcyBf.js} +13 -2
- package/dist/{delegation-j6-rc37o.js → delegation-CDB6_keF.js} +31 -22
- package/dist/delivery/index.d.ts +5 -5
- package/dist/delivery/index.js +6 -5
- package/dist/{delivery-DCAgNyCn.js → delivery-BupfvJIV.js} +81 -20
- package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
- package/dist/denied-text-CHNlVInN.d.ts +22 -0
- package/dist/{describe-BybMRY7A.js → describe-Bb4hGK5d.js} +6 -5
- package/dist/{describe-B5qgDvEW.d.ts → describe-ByS9LgHK.d.ts} +5 -5
- package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
- package/dist/{diff-CmuSD3vc.js → diff-CN8IYhC_.js} +2 -2
- package/dist/{diff-3jbx6Rm4.js → diff-iZWV65nC.js} +23 -14
- package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
- package/dist/{doctor-BdZw53-k.js → doctor-CHD1M9R5.js} +485 -141
- package/dist/{doctor-3ZqNHX_G.js → doctor-D3wo-yuz.js} +4 -4
- package/dist/drizzle/index.d.ts +33 -19
- package/dist/drizzle/index.js +17 -9
- package/dist/elysia/index.d.ts +17 -11
- package/dist/elysia/index.js +5 -5
- package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
- package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
- package/dist/{errors-CWTY6uih.js → errors-Vpu6rKHl.js} +14 -10
- package/dist/{errors-DH5QEGXh.d.ts → errors-zi_4T-rx.d.ts} +22 -6
- package/dist/{evaluate-CNClBvcj.js → evaluate-Dd8Ta0Ie.js} +185 -80
- package/dist/{evaluations-beAooV0n.js → evaluations-IBceAeKT.js} +41 -20
- package/dist/{evaluations-C_1vdSZc.d.ts → evaluations-z8dQFDaN.d.ts} +12 -6
- package/dist/eve/index.d.ts +9 -6
- package/dist/eve/index.js +4 -4
- package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
- package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
- package/dist/express/index.d.ts +9 -6
- package/dist/express/index.js +9 -6
- package/dist/fastify/index.d.ts +16 -10
- package/dist/fastify/index.js +8 -5
- package/dist/{fetch-adapter-Dw0MTS3D.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
- package/dist/{fetch-adapter-DD_gfmrC.js → fetch-adapter-JL43jD3E.js} +14 -11
- package/dist/fields-D0vUI6dq.js +498 -0
- package/dist/{files-C5ZI27eV.js → files-B3AA05f1.js} +21 -5
- package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
- package/dist/{fixtures-B7XrLeY7.js → fixtures-A1_sp_tR.js} +15 -6
- package/dist/{flags-C3DktBDY.js → flags-DXjoTVbS.js} +2 -2
- package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
- package/dist/{from-snapshot-CTCMsFZk.js → from-snapshot-DCakWRsr.js} +26 -16
- package/dist/gen-B5kvbAoZ.js +58 -0
- package/dist/gen-DWCYcMQM.js +827 -0
- package/dist/generate-CRVV5V7l.js +165 -0
- package/dist/generate-CezbCaTI.js +275 -0
- package/dist/{grantee-hxrUsbpM.js → grantee-Dke-9rd1.js} +4 -4
- package/dist/{grantee-conditions-CcXf8hMM.js → grantee-conditions-BrYPe-w0.js} +12 -12
- package/dist/{grantee-match-DbENBHLB.js → grantee-match-7RZZvoT_.js} +12 -6
- package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
- package/dist/h3/index.d.ts +10 -7
- package/dist/h3/index.js +3 -3
- package/dist/headers-B9jQxjtW.d.ts +10 -0
- package/dist/{helpers-CBYVMjwh.js → helpers-DJicaG6f.js} +40 -28
- package/dist/hono/index.d.ts +16 -10
- package/dist/hono/index.js +5 -5
- package/dist/{hosted-BPk51-kX.d.ts → hosted-Cmtxogd0.d.ts} +44 -20
- package/dist/{hosted-B46-5LYE.js → hosted-D0IzESu_.js} +68 -25
- package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
- package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
- package/dist/{http-DXJ37RDA.js → http-DOL33cO0.js} +11 -8
- package/dist/{import-wyqXUyjm.js → import-CST57XLp.js} +64 -51
- package/dist/{import-CNV7I2Dw.js → import-_YqhhwvX.js} +6 -6
- package/dist/{index-B8YjkEZ4.d.ts → index-B8s204GL.d.ts} +64 -52
- package/dist/{index-Ch8LpNDp.d.ts → index-BT5-1VsX.d.ts} +64 -25
- package/dist/{index-DuWxc5dt.d.ts → index-BW_0MZOS.d.ts} +388 -149
- package/dist/index-BhxEUY9J.d.ts +233 -0
- package/dist/index-Bv5iXPqU.d.ts +210 -0
- package/dist/{index-C-6Letxg.d.ts → index-_9UiQIkt.d.ts} +164 -77
- package/dist/index.d.ts +22 -21
- package/dist/index.js +35 -33
- package/dist/{init-GG6Jh8HD.js → init-Dz_PsHdv.js} +5 -5
- package/dist/{init-DeMYsnYJ.js → init-cE3A8aXq.js} +10 -10
- package/dist/{instance-options-BsVpyGIk.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
- package/dist/{instance-snapshot-BOEhcqIF.js → instance-snapshot--JWiTrvO.js} +81 -56
- package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
- package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
- package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
- package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
- package/dist/jwt/index.d.ts +125 -17
- package/dist/jwt/index.js +157 -16
- package/dist/{kernel-D0NVb1cK.js → kernel-C-fYydV2.js} +151 -16
- package/dist/kysely/index.d.ts +49 -33
- package/dist/kysely/index.js +9 -7
- package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
- package/dist/{load-DFS_ry0W.js → load-DjSU5KXO.js} +6 -6
- package/dist/load-Dm0pSYH3.js +1 -0
- package/dist/{login-Dfe5RlYk.js → login-D-8tMqzo.js} +4 -4
- package/dist/{login-imhuwvn3.js → login-DplQ0s84.js} +18 -15
- package/dist/{manifest-dvL2XEe1.js → manifest-Cgiq5oqc.js} +67 -37
- package/dist/{manifest-mx5ghSFM.d.ts → manifest-CzzWtnAb.d.ts} +144 -28
- package/dist/{manifest-schema-C0kK_8V0.js → manifest-schema-2r37XRhD.js} +80 -9
- package/dist/{manifest-C8IzW3Do.js → manifest-wg8WkkpD.js} +11 -7
- package/dist/{map-claims-D3oRmTk0.js → map-claims-BNWCJtmP.js} +27 -18
- package/dist/{map-error-Dr70oA_3.js → map-error-pasIGqMT.js} +7 -7
- package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
- package/dist/mcp/index.d.ts +154 -47
- package/dist/mcp/index.js +200 -41
- package/dist/{migrate-CIq4-E9F.js → migrate-B7oP_sQU.js} +102 -31
- package/dist/module-values-BJTBdo6y.js +107 -0
- package/dist/nest/index.d.ts +23 -13
- package/dist/nest/index.js +18 -11
- package/dist/next/client.d.ts +5 -2
- package/dist/next/client.js +1 -1
- package/dist/next/index.d.ts +72 -26
- package/dist/next/index.js +110 -6
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +4 -3
- package/dist/node/index.d.ts +5 -5
- package/dist/node/index.js +3 -3
- package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
- package/dist/openai/index.d.ts +13 -7
- package/dist/openai/index.js +3 -3
- package/dist/openapi/index.d.ts +61 -30
- package/dist/openapi/index.js +2 -2
- package/dist/{openapi-B7HZ0f-r.js → openapi-BOsx0xn9.js} +34 -24
- package/dist/{openapi-C4dDTVEd.js → openapi-CBZUhA3l.js} +4 -5
- package/dist/{openapi-DD1SV-5-.js → openapi-VeHHU2l9.js} +23 -14
- package/dist/{operation-findings-DgATDpvh.js → operation-findings-CXtFzlKJ.js} +3 -3
- package/dist/{operations-X0VM7F3m.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
- package/dist/orpc/index.d.ts +68 -14
- package/dist/orpc/index.js +62 -13
- package/dist/otel/index.d.ts +7 -4
- package/dist/otel/index.js +8 -5
- package/dist/output-files-BHOIlrfD.js +1 -0
- package/dist/{output-files-DhRBBE4n.js → output-files-BIQ_9pIs.js} +29 -17
- package/dist/{output-1im__-08.js → output-tkju6U7R.js} +15 -7
- package/dist/ownership-B4L59T9u.js +1054 -0
- package/dist/parse-1_ZheTW5.js +151 -0
- package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
- package/dist/parse-local-manifest-DEiCF4ah.js +69 -0
- package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
- package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
- package/dist/pdp/index.d.ts +9 -6
- package/dist/pdp/index.js +23 -12
- package/dist/{peer-CRvC7Hg1.js → peer-C9LvBCcb.js} +1 -1
- package/dist/peer-Q0fuZ6hx.js +982 -0
- package/dist/{permdock-SV8ZINYT.d.ts → permdock-B6Sf4T_S.d.ts} +270 -117
- package/dist/{permdock-BrAscV28.js → permdock-L-_I_3zP.js} +226 -74
- package/dist/{permission-registry-Br4jSNVi.js → permission-registry-B8tYxPIt.js} +24 -11
- package/dist/{vocabulary-CN8H_9UF.d.ts → permission-types-CAY-GU7e.d.ts} +130 -104
- package/dist/{permissions-u_KHg-sN.d.ts → permissions-Bx6UI8n1.d.ts} +6 -2
- package/dist/{permissions-B-wCP5ZC.js → permissions-CVXmRILq.js} +3 -3
- package/dist/{permissions-BPxlwVhN.js → permissions-mDcTWoBs.js} +8 -5
- package/dist/pg-DQTqRrou.js +60 -0
- package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
- package/dist/pkce-CnmmYqUZ.js +21 -0
- package/dist/{policy-77FSAq_V.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
- package/dist/{policy-DbM5YYtV.js → policy-CLQ8__GF.js} +49 -20
- package/dist/{policy-from-catalog-C2gMa2Dj.js → policy-from-catalog-CJgOm6aq.js} +28 -25
- package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
- package/dist/{policy-types-n0uRTsW8.d.ts → policy-types-CCiDRZBH.d.ts} +802 -334
- package/dist/postgres-store-DcyrPS-r.js +1028 -0
- package/dist/{postgrest-DAjUkF9w.js → postgrest-D4nuPXIQ.js} +88 -36
- package/dist/{postgrest-CEgRbefE.d.ts → postgrest-DicQyqm-.d.ts} +60 -30
- package/dist/powersync-DHNQX06W.js +1117 -0
- package/dist/{powersync-DISt6SUe.js → powersync-DXqGuq9A.js} +3 -3
- package/dist/powersync-Djf-zCpB.js +1 -0
- package/dist/preset/index.d.ts +38 -28
- package/dist/preset/index.js +1 -1
- package/dist/{preset-DZdU0tne.js → preset-BjLzeFpp.js} +58 -34
- package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
- package/dist/prisma/index.d.ts +69 -41
- package/dist/prisma/index.js +21 -17
- package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
- package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
- package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
- package/dist/prompt-BYc6drYW.js +938 -0
- package/dist/protected-action-BE7N_Luo.d.ts +58 -0
- package/dist/protected-action-DUYqb-Ma.js +80 -0
- package/dist/{protected-BlF0F6wL.js → protected-action-QEA8arRB.js} +48 -14
- package/dist/{provider-B1al-AZz.js → provider-C55OGXJ7.js} +5 -4
- package/dist/{provider-DILL9oPK.d.ts → provider-DXfq5c2d.d.ts} +1 -1
- package/dist/{provider-store-DM6DNcta.js → provider-store-CaTv00tr.js} +13 -9
- package/dist/pull-B65ndFNZ.js +1 -0
- package/dist/{pull-jEwbf80J.js → pull-CwpGaQSi.js} +12 -11
- package/dist/{push-BD4f15co.js → push-DgssgzkK.js} +62 -16
- package/dist/{pushed-policy-DCW91KQU.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
- package/dist/{pushed-policy-CqtxkV4G.js → pushed-policy-ITwYKvvH.js} +10 -7
- package/dist/react/index.d.ts +9 -8
- package/dist/react/index.js +7 -6
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react/provider-client.js +1 -1
- package/dist/react-native/index.d.ts +104 -51
- package/dist/react-native/index.js +394 -67
- package/dist/{refs-K6eWUJ0H.js → refs-C8BKxc_e.js} +17 -3
- package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
- package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
- package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
- package/dist/{replay-Bkm-Ne4l.d.ts → replay-DNftIb_R.d.ts} +1 -1
- package/dist/{request-context-C81Pip9n.js → request-context-C25ilqiJ.js} +8 -8
- package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
- package/dist/resend/index.d.ts +34 -28
- package/dist/resend/index.js +29 -29
- package/dist/resolve-names-CF7xXLSG.js +201 -0
- package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
- package/dist/{retire-CALjIQ7e.js → retire-B2xffQgY.js} +15 -6
- package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
- package/dist/{rls-DTvYd-lI.js → rls-CNEH2_BG.js} +743 -624
- package/dist/{rls-BAqP4q66.js → rls-Ca8Jz9b5.js} +41 -10
- package/dist/{role-builder-uWQZ4v84.js → role-builder-BK2-T6oD.js} +41 -20
- package/dist/rolldown-runtime-C3I60J0A.js +4 -0
- package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
- package/dist/{rpc-VSl5ylaQ.js → rpc-fNqAIqQk.js} +8 -5
- package/dist/{run-CUKuz0A8.js → run-Bz26OTfO.js} +26 -23
- package/dist/run-D-JE8QWb.js +1 -0
- package/dist/{run-ticket-DocwaTKn.d.ts → run-ticket-DbWI9f99.d.ts} +33 -13
- package/dist/{run-ticket-sxFI6LAk.js → run-ticket-Dv7aF7Dk.js} +29 -8
- package/dist/{runtime-D3VTAiCA.js → runtime-BGnrOkVH.js} +5 -2
- package/dist/{saas-BCXRuXca.js → saas-iWnUdwCt.js} +42 -29
- package/dist/{scan-qvOe0hS3.js → scan-DCj1KQfn.js} +1 -1
- package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
- package/dist/{schema-yLuBWWsh.js → schema-Dst9I9Gs.js} +9 -5
- package/dist/scim/index.d.ts +3 -2
- package/dist/scim/index.js +3 -1
- package/dist/scim-D8YupzX1.js +44 -0
- package/dist/{scim-ClHtpyV3.js → scim-jJBJ7g1Z.js} +35 -551
- package/dist/{scopes-CUPSjo9q.js → scopes-0Up_UA2t.js} +42 -24
- package/dist/server/index.d.ts +12 -12
- package/dist/server/index.js +13 -13
- package/dist/{server-C3WXAHZj.js → server-3cVlTLde.js} +31 -31
- package/dist/{server-types-CKQiCnON.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
- package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
- package/dist/{shared-BAK8t4Uo.js → shared-Afctg7B0.js} +100 -61
- package/dist/{shared-DvvFzYXe.js → shared-l0oGGetg.js} +9 -6
- package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
- package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
- package/dist/{sink-4-eQIRWf.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
- package/dist/{skills-B6lVdD_W.js → skills-Bjj7BNEQ.js} +16 -12
- package/dist/{skills-CTYwkl44.js → skills-OuoMR49L.js} +3 -3
- package/dist/{snapshot-B7DkYg6g.js → snapshot-CXlzi69u.js} +21 -18
- package/dist/{snapshot-cache-PXI-vGpY.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
- package/dist/{snapshot-cache-DZHQ0KF6.js → snapshot-cache-Bx_4xC_6.js} +14 -11
- package/dist/solid/index.d.ts +55 -15
- package/dist/solid/index.js +46 -12
- package/dist/solid-start/index.d.ts +30 -12
- package/dist/solid-start/index.js +3 -3
- package/dist/sources-B1Os_YUu.d.ts +312 -0
- package/dist/{sources-vs5dGOsS.js → sources-CMAM-2A3.js} +156 -51
- package/dist/sources-qoIJQrJv.js +11 -0
- package/dist/{sql-B5T1IL83.js → sql-0WjxIp9g.js} +32 -7
- package/dist/sql-B80DFdpG.d.ts +10 -0
- package/dist/{src-Cu2m75uo.js → src-DZ0l9UAg.js} +305 -123
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +665 -224
- package/dist/{standard-webhooks-rbD7LS6h.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
- package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
- package/dist/{store-BDutJkDL.js → store-RNFvaJJv.js} +43 -29
- package/dist/{store-options-u0ycEe8s.js → store-options-Dil3lraY.js} +105 -15
- package/dist/stores-C0Kta5Ft.d.ts +59 -0
- package/dist/{stores-CGhM8BN_.js → stores-DxZWDXCs.js} +42 -5
- package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
- package/dist/{stream-CeCMJmBB.d.ts → stream-ltuLdtTG.d.ts} +4 -3
- package/dist/{style-DiKWnAvn.js → style-DblOtSga.js} +1 -1
- package/dist/{style-Uao76wO7.js → style-Ds11Hmk4.js} +3 -1
- package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
- package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
- package/dist/supabase/index.d.ts +48 -37
- package/dist/supabase/index.js +6 -6
- package/dist/supabase/middleware.d.ts +19 -13
- package/dist/supabase/middleware.js +7 -7
- package/dist/{supabase-x5JtR2tc.js → supabase-BL1qJzzY.js} +82 -36
- package/dist/{supabase-By_frk3U.js → supabase-D39cuGPt.js} +3 -3
- package/dist/{supabase-hook-BMoEhZir.js → supabase-hook-B-yXnzUl.js} +1206 -286
- package/dist/supabase-hook-H-MtE9Wd.js +1 -0
- package/dist/supautils-BU-pAEpf.js +808 -0
- package/dist/{support-session-C6xJQYut.js → support-session-BsmPCbz8.js} +22 -22
- package/dist/svelte/PermissionBoundary.svelte +2 -6
- package/dist/svelte/Protected.svelte +2 -8
- package/dist/svelte/index.d.ts +9 -8
- package/dist/svelte/index.js +10 -9
- package/dist/svelte/runtime.d.ts +4 -4
- package/dist/svelte/runtime.js +4 -4
- package/dist/svelte/source.d.ts +9 -8
- package/dist/svelte/source.js +6 -5
- package/dist/sveltekit/index.d.ts +30 -12
- package/dist/sveltekit/index.js +2 -2
- package/dist/{ownership-DqaJNJPn.js → tables-DeMNEy6V.js} +1025 -1085
- package/dist/tanstack-start/index.d.ts +22 -10
- package/dist/tanstack-start/index.js +2 -2
- package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
- package/dist/{tenancy-DN2QAx9z.js → tenancy-5d1zVBvK.js} +36 -21
- package/dist/terminal/index.d.ts +23 -14
- package/dist/terminal/index.js +17 -20
- package/dist/testing/core.d.ts +2 -0
- package/dist/testing/core.js +1 -0
- package/dist/testing/fixtures/index.d.ts +15 -0
- package/dist/testing/fixtures/index.js +831 -0
- package/dist/testing/index.d.ts +235 -285
- package/dist/testing/index.js +502 -927
- package/dist/testing/saas/index.d.ts +43 -27
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/text-diff-BtfSmdUo.js +444 -0
- package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
- package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
- package/dist/{token-BLZcjQgt.js → token-DC9EQiet.js} +15 -13
- package/dist/{tool-refusal-CMLN5xhn.js → tool-refusal-Qpjs_W6M.js} +5 -2
- package/dist/trpc/index.d.ts +11 -8
- package/dist/trpc/index.js +15 -9
- package/dist/type-helpers-BIPIDa6a.d.ts +50 -0
- package/dist/{types-8RnwUAvE.d.ts → types-AMJ5qoU_.d.ts} +49 -30
- package/dist/{types-C_IiEs64.d.ts → types-B2mlGuhW.d.ts} +14 -11
- package/dist/{types-_WhUP7ud.d.ts → types-B4uqKDnp.d.ts} +25 -12
- package/dist/{types-CX7AvRqP.d.ts → types-BJk0BKRX.d.ts} +24 -14
- package/dist/types-B_d_g7T3.d.ts +262 -0
- package/dist/{types-BdtSDbBO.d.ts → types-B_tiYvk8.d.ts} +59 -32
- package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
- package/dist/{types-Dfv0aTER.d.ts → types-DC1Loeh3.d.ts} +449 -168
- package/dist/{types-lUlG3TVd.d.ts → types-DHKPcqzr.d.ts} +2 -2
- package/dist/{types-C791HFu9.d.ts → types-DjuMBNF9.d.ts} +68 -32
- package/dist/{types-C863OQiR.d.ts → types-HzqOtvsJ.d.ts} +23 -12
- package/dist/{types-Druu9wLM.d.ts → types-ZzRGoViD.d.ts} +77 -24
- package/dist/{types-BzzaHxt3.d.ts → types-ah9NlU6j.d.ts} +137 -48
- package/dist/{types-CVZSNocA.d.ts → types-djVzLlIV.d.ts} +31 -14
- package/dist/{types-BtHtcKMr.d.ts → types-yUuPR5Hy.d.ts} +47 -24
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-CYeXek0p.js +1 -0
- package/dist/{usage-SveTRTyr.js → usage-CxEzS4ey.js} +50 -26
- package/dist/{usage-CRVl9V3t.js → usage-ab0PdusX.js} +2 -2
- package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
- package/dist/{validation-error-DHUrAkku.d.ts → validation-error-YGg2mXyH.d.ts} +5 -2
- package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
- package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
- package/dist/{verify-BaAKx7t6.js → verify-DZeqoWu5.js} +417 -489
- package/dist/version-DMQ0dnN5.js +48 -0
- package/dist/version-DizhmD72.js +1 -0
- package/dist/{views-DTIIO-oQ.js → views-CD8wuL4Z.js} +19 -6
- package/dist/vocabulary-DEJ5j4mR.d.ts +70 -0
- package/dist/vue/index.d.ts +71 -21
- package/dist/vue/index.js +50 -13
- package/dist/{waiter-B986w1oK.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
- package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
- package/dist/{watch-vea54PRw.js → watch-Cx_WciLE.js} +8 -8
- package/dist/watch-DB42U1ib.js +1 -0
- package/dist/webmcp/index.d.ts +11 -11
- package/dist/webmcp/index.js +8 -5
- package/dist/{where-scope-C9vfEphl.js → where-scope-DlCdCM_8.js} +56 -30
- package/dist/{who-can-DWBAcaCQ.js → who-can-rI7dCR9Q.js} +23 -20
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +13 -13
- package/dist/workflow-sdk/index.d.ts +19 -13
- package/dist/workflow-sdk/index.js +6 -6
- package/dist/{wrap-gX61EtpB.js → wrap-B2wziJI_.js} +11 -5
- package/dist/{wrap-C5jC6sKI.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
- package/package.json +25 -14
- package/schemas/catalog-v1.json +3 -0
- package/schemas/cli-result-v1.json +1 -0
- package/schemas/cloud-api-v1.json +152 -7
- package/schemas/connector-v1.json +8 -0
- package/schemas/supabase-claims-v1.json +5 -0
- package/schemas/supabase-manifest-v1.json +308 -75
- package/skills/permdock/SKILL.md +1 -0
- package/skills/permdock-agents/references/runtimes.md +3 -1
- package/skills/permdock-approvals/references/stores-and-resume.md +2 -1
- package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
- package/skills/permdock-data/references/queries-and-rls.md +6 -2
- package/skills/permdock-tenancy/SKILL.md +1 -1
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -1
- package/skills/permdock-wire/references/adapters.md +28 -22
- package/skills/permdock-wire/references/policy-options.md +1 -0
- package/dist/catalog-BoWglDPI.js +0 -1
- package/dist/collect-D7eQDffE.js +0 -1
- package/dist/config-bs_kZeYq.js +0 -162
- package/dist/denied-text-CiFQNuMV.d.ts +0 -19
- package/dist/fields-OYG_JR78.js +0 -203
- package/dist/generate-CNU1pIOo.js +0 -171
- package/dist/headers-BIjfMaoC.js +0 -8
- package/dist/headers-CIbDTUTK.d.ts +0 -7
- package/dist/index-Cp_ilKi1.d.ts +0 -91
- package/dist/index-CueFnxQc.d.ts +0 -110
- package/dist/load-BxEtwlBS.js +0 -1
- package/dist/output-files-B3IZJksC.js +0 -1
- package/dist/package-root-Dk_ETdkp.js +0 -31
- package/dist/parse-Cxq0WxrA.js +0 -53
- package/dist/parse-local-manifest-5ODwqu8b.d.ts +0 -10
- package/dist/parse-local-manifest-CVSs6J9I.js +0 -34
- package/dist/peer-C8swJ2GH.js +0 -50
- package/dist/policies-DP2nqRoF.js +0 -295
- package/dist/powersync-BkWWCS1K.js +0 -538
- package/dist/powersync-MMJ2mI2q.js +0 -1
- package/dist/problem-details-B45V5d2b.d.ts +0 -7
- package/dist/prompt-DfZLJLIn.js +0 -32
- package/dist/protected-RFGpakN9.d.ts +0 -38
- package/dist/pull-CvpINcMK.js +0 -1
- package/dist/run-DDwUaJDU.js +0 -1
- package/dist/sources-Xc4zkszI.d.ts +0 -190
- package/dist/stores-BUGNbJTt.d.ts +0 -30
- package/dist/supabase-hook-CCw5m35C.js +0 -1
- package/dist/supautils-B6HYL9eL.js +0 -91
- package/dist/text-diff-BQcUapOb.js +0 -15
- package/dist/types-B3_ooZgZ.d.ts +0 -172
- package/dist/usage-CZpSQP6L.js +0 -1
- package/dist/version-CEbQ5UeM.js +0 -18
- package/dist/version-DXkYUISx.js +0 -1
- package/dist/watch--ovlPOc0.js +0 -1
package/dist/kysely/index.d.ts
CHANGED
|
@@ -1,30 +1,32 @@
|
|
|
1
|
-
import { Rt as Instant,
|
|
2
|
-
import {
|
|
3
|
-
import { r as RelationsMapping } from "../graph-sql-
|
|
4
|
-
import { s as MembershipsMapping } from "../compile-
|
|
5
|
-
import { n as
|
|
1
|
+
import { Rt as Instant, lr as Subject, mr as Condition } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { f as WhereResult } from "../permdock-B6Sf4T_S.js";
|
|
3
|
+
import { r as RelationsMapping } from "../graph-sql-BwFC4Qjs.js";
|
|
4
|
+
import { s as MembershipsMapping } from "../compile-BFzysW3o.js";
|
|
5
|
+
import { n as RowCheck, t as WithSubjectOptions } from "../subject-settings-vNW8qmUH.js";
|
|
6
6
|
//#region src/kysely/types.d.ts
|
|
7
7
|
type KyselySelectQuery = {
|
|
8
|
-
select(expr: unknown)
|
|
9
|
-
where
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
select: (expr: unknown) => KyselySelectQuery;
|
|
9
|
+
where: {
|
|
10
|
+
(column: string, op: string, value: unknown): KyselySelectQuery;
|
|
11
|
+
(expression: unknown): KyselySelectQuery;
|
|
12
|
+
};
|
|
13
|
+
whereRef: (left: string, op: string, right: string) => KyselySelectQuery;
|
|
12
14
|
};
|
|
13
15
|
type KyselyExpressionBuilder = {
|
|
14
16
|
(left: unknown, op: string, right: unknown): unknown;
|
|
15
|
-
and(args: readonly unknown[])
|
|
16
|
-
or(args: readonly unknown[])
|
|
17
|
-
not(value: unknown)
|
|
18
|
-
lit(value: unknown)
|
|
19
|
-
val(value: unknown)
|
|
20
|
-
ref(column: string)
|
|
21
|
-
exists
|
|
22
|
-
selectFrom
|
|
17
|
+
and: (args: readonly unknown[]) => unknown;
|
|
18
|
+
or: (args: readonly unknown[]) => unknown;
|
|
19
|
+
not: (value: unknown) => unknown;
|
|
20
|
+
lit: (value: unknown) => unknown;
|
|
21
|
+
val: (value: unknown) => unknown;
|
|
22
|
+
ref: (column: string) => unknown;
|
|
23
|
+
exists?: (query: unknown) => unknown;
|
|
24
|
+
selectFrom?: (table: string) => KyselySelectQuery;
|
|
23
25
|
};
|
|
24
26
|
/** Kysely's `sql` tag; `import { sql } from 'kysely'`. */
|
|
25
27
|
type KyselySql = {
|
|
26
28
|
(strings: TemplateStringsArray, ...values: unknown[]): unknown;
|
|
27
|
-
ref(reference: string)
|
|
29
|
+
ref: (reference: string) => unknown;
|
|
28
30
|
};
|
|
29
31
|
type KyselyWhereOptions = {
|
|
30
32
|
readonly columns?: Readonly<Record<string, string>>;
|
|
@@ -32,38 +34,51 @@ type KyselyWhereOptions = {
|
|
|
32
34
|
readonly listFields?: readonly string[];
|
|
33
35
|
readonly subject?: Subject;
|
|
34
36
|
readonly memberships?: MembershipsMapping;
|
|
35
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Where the relation graph lives; graph grants compile to Postgres subqueries
|
|
39
|
+
* with it and are refused without.
|
|
40
|
+
*/
|
|
36
41
|
readonly relations?: RelationsMapping;
|
|
37
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* The clock membership expiry is read at; a `Temporal.Instant` fits. Defaults
|
|
44
|
+
* to the current time.
|
|
45
|
+
*/
|
|
38
46
|
readonly now?: Instant;
|
|
39
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Kysely's `sql` tag, for graph subqueries on runtimes without `require`;
|
|
49
|
+
* loaded from the `kysely` peer by default.
|
|
50
|
+
*/
|
|
40
51
|
readonly sql?: KyselySql;
|
|
41
52
|
};
|
|
42
53
|
type KyselyWithSubjectOptions = WithSubjectOptions & {
|
|
43
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Kysely's `sql` tag, on runtimes without `require`; loaded from the `kysely`
|
|
56
|
+
* peer by default.
|
|
57
|
+
*/
|
|
44
58
|
readonly sql?: KyselySql;
|
|
45
59
|
};
|
|
46
60
|
//#endregion
|
|
47
61
|
//#region src/kysely/to-where.d.ts
|
|
48
62
|
export declare function toWhere(input: Condition | WhereResult, table: string, options?: KyselyWhereOptions): (eb: KyselyExpressionBuilder) => unknown;
|
|
49
63
|
type KyselyLike<Trx> = {
|
|
50
|
-
transaction()
|
|
51
|
-
execute<T>(fn: (trx: Trx) => Promise<T>)
|
|
64
|
+
transaction: () => {
|
|
65
|
+
execute: <T>(fn: (trx: Trx) => Promise<T>) => Promise<T>;
|
|
52
66
|
};
|
|
53
67
|
};
|
|
54
68
|
/**
|
|
55
|
-
* Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so
|
|
56
|
-
* RLS policies decide for the same subject as the in-process
|
|
69
|
+
* Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so
|
|
70
|
+
* the generated RLS policies decide for the same subject as the in-process
|
|
71
|
+
* checks.
|
|
57
72
|
*/
|
|
58
73
|
export declare function withSubject<Trx, T>(db: KyselyLike<Trx>, permdock: {
|
|
59
74
|
readonly subject: Subject;
|
|
60
75
|
}, fn: (trx: Trx) => Promise<T>, options?: KyselyWithSubjectOptions): Promise<T>;
|
|
61
76
|
type KyselySelectable = {
|
|
62
|
-
selectFrom(table: never)
|
|
63
|
-
select(selection: (eb: never) => unknown)
|
|
64
|
-
where(where: never)
|
|
65
|
-
limit(count: number)
|
|
66
|
-
execute()
|
|
77
|
+
selectFrom: (table: never) => {
|
|
78
|
+
select: (selection: (eb: never) => unknown) => {
|
|
79
|
+
where: (where: never) => {
|
|
80
|
+
limit: (count: number) => {
|
|
81
|
+
execute: () => Promise<readonly {
|
|
67
82
|
readonly granted?: unknown;
|
|
68
83
|
}[]>;
|
|
69
84
|
};
|
|
@@ -72,8 +87,9 @@ type KyselySelectable = {
|
|
|
72
87
|
};
|
|
73
88
|
};
|
|
74
89
|
/**
|
|
75
|
-
* One query for one row: `{ found: false }` when `key` matches nothing,
|
|
76
|
-
* permission filter keeps the row. Throws when `key`
|
|
90
|
+
* One query for one row: `{ found: false }` when `key` matches nothing,
|
|
91
|
+
* otherwise whether the permission filter keeps the row. Throws when `key`
|
|
92
|
+
* matches more than one row.
|
|
77
93
|
*/
|
|
78
94
|
export declare function checkRow(db: KyselySelectable, table: string, input: Condition | WhereResult, key: (eb: KyselyExpressionBuilder) => unknown, options?: KyselyWhereOptions): Promise<RowCheck>;
|
|
79
95
|
//#endregion
|
package/dist/kysely/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { t as assertSafeKey } from "../paths-
|
|
3
|
-
import { n as
|
|
4
|
-
import { a as rowCheckFrom, i as templateOf, r as subjectStatements, s as loadPeer, t as statementTemplate } from "../subject-settings-
|
|
2
|
+
import { t as assertSafeKey } from "../paths-CUvURzHp.js";
|
|
3
|
+
import { n as compileWhere, r as escapeLike } from "../compile-EzEMB-7v.js";
|
|
4
|
+
import { a as rowCheckFrom, i as templateOf, r as subjectStatements, s as loadPeer, t as statementTemplate } from "../subject-settings-8sH5HlII.js";
|
|
5
5
|
//#region src/kysely/to-where.ts
|
|
6
6
|
function ident(name) {
|
|
7
7
|
assertSafeKey(name, "sql identifier");
|
|
@@ -96,8 +96,9 @@ function toWhere(input, table, options = {}) {
|
|
|
96
96
|
return (eb) => render(eb, compiled, table, options);
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
|
-
* Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so
|
|
100
|
-
* RLS policies decide for the same subject as the in-process
|
|
99
|
+
* Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so
|
|
100
|
+
* the generated RLS policies decide for the same subject as the in-process
|
|
101
|
+
* checks.
|
|
101
102
|
*/
|
|
102
103
|
function withSubject(db, permdock, fn, options = {}) {
|
|
103
104
|
const statements = subjectStatements(permdock, options);
|
|
@@ -108,8 +109,9 @@ function withSubject(db, permdock, fn, options = {}) {
|
|
|
108
109
|
});
|
|
109
110
|
}
|
|
110
111
|
/**
|
|
111
|
-
* One query for one row: `{ found: false }` when `key` matches nothing,
|
|
112
|
-
* permission filter keeps the row. Throws when `key`
|
|
112
|
+
* One query for one row: `{ found: false }` when `key` matches nothing,
|
|
113
|
+
* otherwise whether the permission filter keeps the row. Throws when `key`
|
|
114
|
+
* matches more than one row.
|
|
113
115
|
*/
|
|
114
116
|
async function checkRow(db, table, input, key, options = {}) {
|
|
115
117
|
const sql = loadSql(options.sql);
|
|
@@ -7,8 +7,8 @@ const PermDockSnapshotPromiseContext = createContext(null);
|
|
|
7
7
|
//#region src/react/keyed.ts
|
|
8
8
|
/**
|
|
9
9
|
* `create()` once per distinct `inputs`, held in state: React may drop a
|
|
10
|
-
* `useMemo` value and rebuild it, and a rebuilt store loses its answers,
|
|
11
|
-
*
|
|
10
|
+
* `useMemo` value and rebuild it, and a rebuilt store loses its answers, polls
|
|
11
|
+
* and followed snapshot.
|
|
12
12
|
*/
|
|
13
13
|
function useKeyed(create, inputs) {
|
|
14
14
|
const [held, setHeld] = useState(() => ({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as listPermissions } from "./permission-registry-
|
|
2
|
-
import { a as describeError, n as CliError } from "./errors-
|
|
1
|
+
import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
|
|
2
|
+
import { a as describeError, n as CliError } from "./errors-Vpu6rKHl.js";
|
|
3
3
|
import { dirname, resolve } from "node:path";
|
|
4
4
|
import { pathToFileURL } from "node:url";
|
|
5
5
|
import { createJiti } from "jiti";
|
|
@@ -38,10 +38,10 @@ function importWithJiti(abs, fresh) {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Imports a project module the way its bundler would. Node's own `import()`
|
|
41
|
-
* comes first; a module it cannot resolve or parse (tsconfig `paths`
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
41
|
+
* comes first; a module it cannot resolve or parse (tsconfig `paths` aliases,
|
|
42
|
+
* extensionless relative imports, `enum`, TSX) loads through jiti with the
|
|
43
|
+
* `paths` of the nearest `tsconfig.json` above it. Exports are returned as
|
|
44
|
+
* written; `default` is not merged into the namespace.
|
|
45
45
|
*/
|
|
46
46
|
async function loadModule(abs, options) {
|
|
47
47
|
try {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { a as loadModule, s as pickNamed } from "./load-DjSU5KXO.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as defineLeaf } from "./command-L8EstFNm.js";
|
|
2
|
-
import { c as given } from "./flags-
|
|
2
|
+
import { c as given } from "./flags-DXjoTVbS.js";
|
|
3
3
|
//#region src/cli/commands/login.ts
|
|
4
4
|
const urlFlag = { url: {
|
|
5
5
|
type: "string",
|
|
@@ -27,7 +27,7 @@ const login = defineLeaf({
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
async run(ctx, { flags }) {
|
|
30
|
-
const { runLogin } = await import("./login-
|
|
30
|
+
const { runLogin } = await import("./login-DplQ0s84.js");
|
|
31
31
|
return runLogin({
|
|
32
32
|
cwd: ctx.cwd,
|
|
33
33
|
url: given(flags.url),
|
|
@@ -43,7 +43,7 @@ const login = defineLeaf({
|
|
|
43
43
|
const logout = defineLeaf({
|
|
44
44
|
flags: { ...urlFlag },
|
|
45
45
|
async run(ctx, { flags }) {
|
|
46
|
-
const { runLogout } = await import("./login-
|
|
46
|
+
const { runLogout } = await import("./login-DplQ0s84.js");
|
|
47
47
|
return runLogout({
|
|
48
48
|
url: given(flags.url),
|
|
49
49
|
json: ctx.json,
|
|
@@ -55,7 +55,7 @@ const logout = defineLeaf({
|
|
|
55
55
|
const whoami = defineLeaf({
|
|
56
56
|
flags: { ...urlFlag },
|
|
57
57
|
async run(ctx, { flags }) {
|
|
58
|
-
const { runWhoami } = await import("./login-
|
|
58
|
+
const { runWhoami } = await import("./login-DplQ0s84.js");
|
|
59
59
|
return runWhoami({
|
|
60
60
|
url: given(flags.url),
|
|
61
61
|
json: ctx.json,
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { h as secondsAt, i as dateAt, s as instantAt } from "./time-
|
|
2
|
-
import { n as CliError } from "./errors-
|
|
3
|
-
import { i as postForm, r as parseToken, s as runDeviceFlow } from "./device-
|
|
1
|
+
import { h as secondsAt, i as dateAt, s as instantAt } from "./time-nR1JesoH.js";
|
|
2
|
+
import { n as CliError } from "./errors-Vpu6rKHl.js";
|
|
3
|
+
import { i as postForm, r as parseToken, s as runDeviceFlow } from "./device-BwbJNmb2.js";
|
|
4
4
|
import { i as writeCredentials, n as deleteCredentials, r as readCredentials, t as credentialsPath } from "./storage-C2bWdvJH.js";
|
|
5
|
-
import { n as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { n as randomToken, t as pkce } from "./pkce-CnmmYqUZ.js";
|
|
6
|
+
import { a as nonEmptyOr } from "./output-tkju6U7R.js";
|
|
7
|
+
import { n as httpRequest } from "./http-DOL33cO0.js";
|
|
8
|
+
import { c as READ_SCOPES, d as issuerMetadata, i as credentialsInsideRepository, l as cloudUrl, n as cliRuntime, r as credentialStorage, s as CLI_CLIENT_ID, t as CREDENTIAL_SERVICE } from "./auth--yPyZNgr.js";
|
|
8
9
|
import { spawn } from "node:child_process";
|
|
9
10
|
import { createServer } from "node:http";
|
|
10
11
|
//#region src/cli/cloud/loopback.ts
|
|
11
12
|
/** How long the loopback listener waits for the browser to come back. */
|
|
12
13
|
const LOOPBACK_TIMEOUT_MS = 3e5;
|
|
13
|
-
function base64url(bytes) {
|
|
14
|
-
return bytes.toString("base64url");
|
|
15
|
-
}
|
|
16
14
|
function listen(server) {
|
|
17
15
|
return new Promise((resolve, reject) => {
|
|
18
16
|
server.once("error", reject);
|
|
@@ -28,9 +26,8 @@ function listen(server) {
|
|
|
28
26
|
* `state` that the callback must echo.
|
|
29
27
|
*/
|
|
30
28
|
async function runLoopbackFlow(options, runtime) {
|
|
31
|
-
const verifier =
|
|
32
|
-
const
|
|
33
|
-
const state = base64url(randomBytes(16));
|
|
29
|
+
const { verifier, challenge } = await pkce();
|
|
30
|
+
const state = randomToken(16);
|
|
34
31
|
const { promise: callback, resolve: settle } = Promise.withResolvers();
|
|
35
32
|
const server = createServer((request, response) => {
|
|
36
33
|
const url = new URL(request.url ?? "/", "http://127.0.0.1");
|
|
@@ -94,7 +91,10 @@ async function runLoopbackFlow(options, runtime) {
|
|
|
94
91
|
}
|
|
95
92
|
//#endregion
|
|
96
93
|
//#region src/cli/cloud/login.ts
|
|
97
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* Opens `url` in the default browser; a failure leaves the printed URL to the
|
|
96
|
+
* user.
|
|
97
|
+
*/
|
|
98
98
|
function openBrowser(url) {
|
|
99
99
|
const [command, args] = process.platform === "darwin" ? ["open", [url]] : process.platform === "win32" ? ["cmd", [
|
|
100
100
|
"/c",
|
|
@@ -176,7 +176,10 @@ async function runLogin(input) {
|
|
|
176
176
|
}) : `logged in to ${issuer} (${granted.scope ?? scope}); credentials in ${where}`
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
|
-
/**
|
|
179
|
+
/**
|
|
180
|
+
* Revokes the stored login (RFC 7009) and deletes it; a revocation failure
|
|
181
|
+
* still deletes it.
|
|
182
|
+
*/
|
|
180
183
|
async function runLogout(input) {
|
|
181
184
|
const issuer = cloudUrl(input.url, input.env);
|
|
182
185
|
const runtime = cliRuntime(input.io, input.env);
|
|
@@ -246,7 +249,7 @@ async function runWhoami(input) {
|
|
|
246
249
|
};
|
|
247
250
|
return {
|
|
248
251
|
code: 0,
|
|
249
|
-
output: input.json ? JSON.stringify(data) : `${issuer}: logged in (${scopes.join(" ")
|
|
252
|
+
output: input.json ? JSON.stringify(data) : `${issuer}: logged in (${nonEmptyOr(scopes.join(" "), "no scopes")})${expired ? "; the login has expired, run permdock login" : ""}`,
|
|
250
253
|
data
|
|
251
254
|
};
|
|
252
255
|
}
|
|
@@ -30,20 +30,20 @@ const SECTIONS = [
|
|
|
30
30
|
docs: "init",
|
|
31
31
|
effects: ["files"],
|
|
32
32
|
config: false,
|
|
33
|
-
load: async () => (await import("./init-
|
|
33
|
+
load: async () => (await import("./init-Dz_PsHdv.js")).init
|
|
34
34
|
}),
|
|
35
35
|
group("preset", "Decode a preset code, or print its permdock.com/create link", "preset", [leaf("decode", "Print what a preset code holds", {
|
|
36
36
|
examples: ["permdock preset decode p1AQIDBAc"],
|
|
37
37
|
docs: "preset",
|
|
38
38
|
effects: [],
|
|
39
39
|
config: false,
|
|
40
|
-
load: async () => (await import("./init-
|
|
40
|
+
load: async () => (await import("./init-Dz_PsHdv.js")).presetDecode
|
|
41
41
|
}), leaf("url", "Print the permdock.com/create link that opens a code", {
|
|
42
42
|
examples: ["permdock preset url p1AQIDBAc"],
|
|
43
43
|
docs: "preset",
|
|
44
44
|
effects: [],
|
|
45
45
|
config: false,
|
|
46
|
-
load: async () => (await import("./init-
|
|
46
|
+
load: async () => (await import("./init-Dz_PsHdv.js")).presetUrl
|
|
47
47
|
})]),
|
|
48
48
|
group("skills", "Install, update or list the PermDock Agent Skills", "skills", [
|
|
49
49
|
leaf("install", "Copy the Agent Skills into the agent folders", {
|
|
@@ -55,21 +55,21 @@ const SECTIONS = [
|
|
|
55
55
|
docs: "skills",
|
|
56
56
|
effects: ["files"],
|
|
57
57
|
config: false,
|
|
58
|
-
load: async () => (await import("./skills-
|
|
58
|
+
load: async () => (await import("./skills-OuoMR49L.js")).install
|
|
59
59
|
}),
|
|
60
60
|
leaf("update", "Replace installed skills with this version's", {
|
|
61
61
|
examples: ["permdock skills update"],
|
|
62
62
|
docs: "skills",
|
|
63
63
|
effects: ["files"],
|
|
64
64
|
config: false,
|
|
65
|
-
load: async () => (await import("./skills-
|
|
65
|
+
load: async () => (await import("./skills-OuoMR49L.js")).update
|
|
66
66
|
}),
|
|
67
67
|
leaf("list", "List the skills and where each is installed", {
|
|
68
68
|
examples: ["permdock skills list"],
|
|
69
69
|
docs: "skills",
|
|
70
70
|
effects: [],
|
|
71
71
|
config: false,
|
|
72
|
-
load: async () => (await import("./skills-
|
|
72
|
+
load: async () => (await import("./skills-OuoMR49L.js")).list
|
|
73
73
|
})
|
|
74
74
|
]),
|
|
75
75
|
leaf("doctor", "Check a PermDock installation and print a fix for each finding", {
|
|
@@ -82,7 +82,7 @@ const SECTIONS = [
|
|
|
82
82
|
effects: ["files"],
|
|
83
83
|
config: true,
|
|
84
84
|
findings: true,
|
|
85
|
-
load: async () => (await import("./doctor-
|
|
85
|
+
load: async () => (await import("./doctor-D3wo-yuz.js")).doctor
|
|
86
86
|
}),
|
|
87
87
|
leaf("completion", "Print the shell completion script for bash, zsh or fish", {
|
|
88
88
|
examples: ["permdock completion zsh > ~/.zfunc/_permdock", "eval \"$(permdock completion bash)\""],
|
|
@@ -90,7 +90,7 @@ const SECTIONS = [
|
|
|
90
90
|
effects: [],
|
|
91
91
|
config: false,
|
|
92
92
|
shellOutput: true,
|
|
93
|
-
load: async () => (await import("./completion-
|
|
93
|
+
load: async () => (await import("./completion-saoYiRFO.js")).completion
|
|
94
94
|
})
|
|
95
95
|
]
|
|
96
96
|
},
|
|
@@ -106,14 +106,25 @@ const SECTIONS = [
|
|
|
106
106
|
docs: "collect",
|
|
107
107
|
effects: ["files"],
|
|
108
108
|
config: true,
|
|
109
|
-
load: async () => (await import("./collect-
|
|
109
|
+
load: async () => (await import("./collect-Bzv3le0A.js")).collect
|
|
110
110
|
}),
|
|
111
111
|
leaf("catalog", "Export the catalog as catalog JSON, JSON Schema or Markdown", {
|
|
112
112
|
examples: ["permdock catalog --out permissions.catalog.json", "permdock catalog --kind markdown"],
|
|
113
113
|
docs: "catalog",
|
|
114
114
|
effects: ["files"],
|
|
115
115
|
config: true,
|
|
116
|
-
load: async () => (await import("./catalog-
|
|
116
|
+
load: async () => (await import("./catalog-DCspHDc8.js")).catalog
|
|
117
|
+
}),
|
|
118
|
+
leaf("gen", "Write typed constants, schemas, factories, hooks and messages from the policy", {
|
|
119
|
+
examples: [
|
|
120
|
+
"permdock gen",
|
|
121
|
+
"permdock gen --kind zod --kind factories",
|
|
122
|
+
"permdock gen --check"
|
|
123
|
+
],
|
|
124
|
+
docs: "gen",
|
|
125
|
+
effects: ["files"],
|
|
126
|
+
config: true,
|
|
127
|
+
load: async () => (await import("./gen-B5kvbAoZ.js")).gen
|
|
117
128
|
}),
|
|
118
129
|
leaf("usage", "Report unused, ungranted and role-less permissions and conditions on undeclared fields", {
|
|
119
130
|
examples: ["permdock usage", "permdock usage --fail-on warning"],
|
|
@@ -121,14 +132,14 @@ const SECTIONS = [
|
|
|
121
132
|
effects: [],
|
|
122
133
|
config: true,
|
|
123
134
|
findings: true,
|
|
124
|
-
load: async () => (await import("./usage-
|
|
135
|
+
load: async () => (await import("./usage-ab0PdusX.js")).usage
|
|
125
136
|
}),
|
|
126
137
|
leaf("diff", "Compare two policies or catalogs; exit 1 on a breaking change", {
|
|
127
138
|
examples: ["permdock diff main.catalog.json permissions.catalog.json", "permdock diff ./old-policy.ts ./src/policy.ts --impact"],
|
|
128
139
|
docs: "diff",
|
|
129
140
|
effects: [],
|
|
130
141
|
config: true,
|
|
131
|
-
load: async () => (await import("./diff-
|
|
142
|
+
load: async () => (await import("./diff-CN8IYhC_.js")).diff
|
|
132
143
|
}),
|
|
133
144
|
leaf("config", "Check permdock.config.ts for unknown keys, or print the effective config", {
|
|
134
145
|
examples: ["permdock config", "permdock config --print"],
|
|
@@ -136,7 +147,7 @@ const SECTIONS = [
|
|
|
136
147
|
effects: [],
|
|
137
148
|
config: true,
|
|
138
149
|
findings: true,
|
|
139
|
-
load: async () => (await import("./config-
|
|
150
|
+
load: async () => (await import("./config-DBeXXmBF.js")).config
|
|
140
151
|
})
|
|
141
152
|
]
|
|
142
153
|
},
|
|
@@ -153,14 +164,14 @@ const SECTIONS = [
|
|
|
153
164
|
"network"
|
|
154
165
|
],
|
|
155
166
|
config: true,
|
|
156
|
-
load: async () => (await import("./rls-
|
|
167
|
+
load: async () => (await import("./rls-Ca8Jz9b5.js")).generate
|
|
157
168
|
}),
|
|
158
169
|
leaf("import", "Turn existing RLS policies into a generated definition", {
|
|
159
170
|
examples: ["permdock rls import --sql schema.sql --out src/permissions.generated.ts", "permdock rls import --db-url-stdin --out src/permissions.generated.ts"],
|
|
160
171
|
docs: "rls",
|
|
161
172
|
effects: ["files", "database:read"],
|
|
162
173
|
config: true,
|
|
163
|
-
load: async () => (await import("./rls-
|
|
174
|
+
load: async () => (await import("./rls-Ca8Jz9b5.js")).importPolicies
|
|
164
175
|
}),
|
|
165
176
|
leaf("verify", "Run the fixtures against the policies, or compare a live database", {
|
|
166
177
|
examples: [
|
|
@@ -169,16 +180,24 @@ const SECTIONS = [
|
|
|
169
180
|
"permdock rls verify --introspect --db-url-stdin"
|
|
170
181
|
],
|
|
171
182
|
docs: "rls",
|
|
172
|
-
effects: ["database:read"],
|
|
183
|
+
effects: ["files", "database:read"],
|
|
173
184
|
config: true,
|
|
174
|
-
|
|
185
|
+
findings: true,
|
|
186
|
+
load: async () => (await import("./rls-Ca8Jz9b5.js")).verify
|
|
175
187
|
}),
|
|
176
188
|
leaf("migrate", "Rewrite hand-written policies onto the generated helpers", {
|
|
177
189
|
examples: ["permdock rls migrate --sql supabase/migrations --dry-run", "permdock rls migrate --sql supabase/migrations"],
|
|
178
190
|
docs: "rls",
|
|
179
191
|
effects: ["rewrite", "files"],
|
|
180
192
|
config: true,
|
|
181
|
-
load: async () => (await import("./rls-
|
|
193
|
+
load: async () => (await import("./rls-Ca8Jz9b5.js")).migrate
|
|
194
|
+
}),
|
|
195
|
+
leaf("explain", "Show the tables, membership sources and triggers the SQL binds to", {
|
|
196
|
+
examples: ["permdock rls explain", "permdock rls explain --db-url-stdin --json"],
|
|
197
|
+
docs: "rls",
|
|
198
|
+
effects: ["database:read"],
|
|
199
|
+
config: true,
|
|
200
|
+
load: async () => (await import("./rls-Ca8Jz9b5.js")).explain
|
|
182
201
|
})
|
|
183
202
|
]),
|
|
184
203
|
group("supabase", "Generate the Supabase Custom Access Token Hook, or inspect its manifest", "supabase", [group("hook", "The Custom Access Token Hook", "supabase", [leaf("generate", "Compile the membership sources into the hook migration", {
|
|
@@ -186,26 +205,37 @@ const SECTIONS = [
|
|
|
186
205
|
docs: "supabase",
|
|
187
206
|
effects: ["files", "database:read"],
|
|
188
207
|
config: true,
|
|
189
|
-
load: async () => (await import("./supabase-
|
|
208
|
+
load: async () => (await import("./supabase-D39cuGPt.js")).hookGenerate
|
|
190
209
|
})]), leaf("inspect", "Print or write the hook and helper manifest", {
|
|
191
210
|
examples: ["permdock supabase inspect", "permdock supabase inspect --out"],
|
|
192
211
|
docs: "supabase",
|
|
193
212
|
effects: ["files"],
|
|
194
213
|
config: true,
|
|
195
|
-
load: async () => (await import("./supabase-
|
|
214
|
+
load: async () => (await import("./supabase-D39cuGPt.js")).inspect
|
|
196
215
|
})]),
|
|
197
216
|
group("powersync", "Generate PowerSync Sync Streams from the policy, or verify them", "powersync", [leaf("generate", "Compile the read grants into sync-config.yaml", {
|
|
198
217
|
examples: ["permdock powersync generate", "permdock powersync generate --check"],
|
|
199
218
|
docs: "powersync",
|
|
200
219
|
effects: ["files"],
|
|
201
220
|
config: true,
|
|
202
|
-
load: async () => (await import("./powersync-
|
|
221
|
+
load: async () => (await import("./powersync-DXqGuq9A.js")).generate
|
|
203
222
|
}), leaf("verify", "Fail on stale streams or a stream that syncs a denied row", {
|
|
204
223
|
examples: ["permdock powersync verify", "permdock powersync verify --db-url-stdin"],
|
|
205
224
|
docs: "powersync",
|
|
206
225
|
effects: ["database:read"],
|
|
207
226
|
config: true,
|
|
208
|
-
load: async () => (await import("./powersync-
|
|
227
|
+
load: async () => (await import("./powersync-DXqGuq9A.js")).verify
|
|
228
|
+
})]),
|
|
229
|
+
group("scim", "Generate the Postgres tables postgresDirectoryStore keeps a SCIM directory in", "scim", [leaf("generate", "Write the tenant-keyed users, groups and members tables", {
|
|
230
|
+
examples: [
|
|
231
|
+
"permdock scim generate",
|
|
232
|
+
"permdock scim generate --dialect guc --out db/scim.sql",
|
|
233
|
+
"permdock scim generate --check"
|
|
234
|
+
],
|
|
235
|
+
docs: "scim",
|
|
236
|
+
effects: ["files"],
|
|
237
|
+
config: true,
|
|
238
|
+
load: async () => (await import("./scim-D8YupzX1.js")).generate
|
|
209
239
|
})])
|
|
210
240
|
]
|
|
211
241
|
},
|
|
@@ -217,13 +247,13 @@ const SECTIONS = [
|
|
|
217
247
|
docs: "openapi",
|
|
218
248
|
effects: ["files"],
|
|
219
249
|
config: true,
|
|
220
|
-
load: async () => (await import("./openapi-
|
|
250
|
+
load: async () => (await import("./openapi-CBZUhA3l.js")).emit
|
|
221
251
|
}), leaf("import", "Turn an OpenAPI document into a generated definition", {
|
|
222
252
|
examples: ["permdock openapi import --doc openapi.yaml --out src/permissions.generated.ts"],
|
|
223
253
|
docs: "openapi",
|
|
224
254
|
effects: ["files", "network"],
|
|
225
255
|
config: false,
|
|
226
|
-
load: async () => (await import("./openapi-
|
|
256
|
+
load: async () => (await import("./openapi-CBZUhA3l.js")).importDocument
|
|
227
257
|
})]),
|
|
228
258
|
group("arazzo", "Check Arazzo workflows against the permissions", "arazzo", [leaf("check", "Resolve every Arazzo step to x-permdock-permissions", {
|
|
229
259
|
examples: ["permdock arazzo check --doc arazzo.json --openapi openapi.json"],
|
|
@@ -231,7 +261,7 @@ const SECTIONS = [
|
|
|
231
261
|
effects: [],
|
|
232
262
|
config: true,
|
|
233
263
|
findings: true,
|
|
234
|
-
load: async () => (await import("./arazzo-
|
|
264
|
+
load: async () => (await import("./arazzo-3RhGfkAK.js")).check
|
|
235
265
|
})]),
|
|
236
266
|
leaf("scan", "List authorization checks written without PermDock, to adopt it in an existing app", {
|
|
237
267
|
examples: ["permdock scan", "permdock scan --src app,lib --pattern isBeta"],
|
|
@@ -239,21 +269,21 @@ const SECTIONS = [
|
|
|
239
269
|
effects: [],
|
|
240
270
|
config: true,
|
|
241
271
|
findings: true,
|
|
242
|
-
load: async () => (await import("./scan-
|
|
272
|
+
load: async () => (await import("./scan-DCj1KQfn.js")).scan
|
|
243
273
|
}),
|
|
244
274
|
group("casl", "Import CASL rules into a generated module", "casl", [leaf("import", "Turn CASL rules per role into a permissions and policy module", {
|
|
245
275
|
examples: ["permdock casl import --rules rules.json --out src/permissions.generated.ts"],
|
|
246
276
|
docs: "casl",
|
|
247
277
|
effects: ["files"],
|
|
248
278
|
config: false,
|
|
249
|
-
load: async () => (await import("./casl-
|
|
279
|
+
load: async () => (await import("./casl-C4OINZHI.js")).caslImport
|
|
250
280
|
})]),
|
|
251
281
|
group("casbin", "Import a Casbin model and policy into a generated module", "casbin", [leaf("import", "Turn a Casbin RBAC model and policy into a permissions and policy module", {
|
|
252
282
|
examples: ["permdock casbin import --model model.conf --policy policy.csv --out src/permissions.generated.ts"],
|
|
253
283
|
docs: "casbin",
|
|
254
284
|
effects: ["files"],
|
|
255
285
|
config: false,
|
|
256
|
-
load: async () => (await import("./casbin-
|
|
286
|
+
load: async () => (await import("./casbin-cbSbhT_k.js")).casbinImport
|
|
257
287
|
})])
|
|
258
288
|
]
|
|
259
289
|
},
|
|
@@ -265,34 +295,34 @@ const SECTIONS = [
|
|
|
265
295
|
docs: "login",
|
|
266
296
|
effects: ["network", "files"],
|
|
267
297
|
config: false,
|
|
268
|
-
load: async () => (await import("./login-
|
|
298
|
+
load: async () => (await import("./login-D-8tMqzo.js")).login
|
|
269
299
|
}),
|
|
270
300
|
leaf("logout", "Revoke and delete the stored PermDock Cloud login", {
|
|
271
301
|
examples: ["permdock logout"],
|
|
272
302
|
docs: "login",
|
|
273
303
|
effects: ["network", "files"],
|
|
274
304
|
config: false,
|
|
275
|
-
load: async () => (await import("./login-
|
|
305
|
+
load: async () => (await import("./login-D-8tMqzo.js")).logout
|
|
276
306
|
}),
|
|
277
307
|
leaf("whoami", "Print the PermDock Cloud identity the CLI acts as", {
|
|
278
308
|
examples: ["permdock whoami", "permdock whoami --json"],
|
|
279
309
|
docs: "login",
|
|
280
310
|
effects: [],
|
|
281
311
|
config: false,
|
|
282
|
-
load: async () => (await import("./login-
|
|
312
|
+
load: async () => (await import("./login-D-8tMqzo.js")).whoami
|
|
283
313
|
}),
|
|
284
314
|
group("cloud", "Publish to or pull from a PermDock Cloud project", "cloud", [leaf("push", "Publish the catalog, policy and manifest to a Cloud project", {
|
|
285
315
|
examples: ["permdock cloud push --dry-run", "permdock cloud push --project prj_123"],
|
|
286
316
|
docs: "cloud",
|
|
287
317
|
effects: ["network", "cloud:write"],
|
|
288
318
|
config: true,
|
|
289
|
-
load: async () => (await import("./cloud-
|
|
319
|
+
load: async () => (await import("./cloud-BFlGMaak.js")).push
|
|
290
320
|
}), leaf("pull", "Write a Cloud project's published catalog and manifest", {
|
|
291
321
|
examples: ["permdock cloud pull --project prj_123"],
|
|
292
322
|
docs: "cloud",
|
|
293
323
|
effects: ["network", "files"],
|
|
294
324
|
config: true,
|
|
295
|
-
load: async () => (await import("./cloud-
|
|
325
|
+
load: async () => (await import("./cloud-BFlGMaak.js")).pull
|
|
296
326
|
})])
|
|
297
327
|
]
|
|
298
328
|
},
|
|
@@ -303,7 +333,7 @@ const SECTIONS = [
|
|
|
303
333
|
docs: "codemod",
|
|
304
334
|
effects: ["rewrite"],
|
|
305
335
|
config: false,
|
|
306
|
-
load: async () => (await import("./codemod-
|
|
336
|
+
load: async () => (await import("./codemod-DLQ9Zpo4.js")).codemod
|
|
307
337
|
})]
|
|
308
338
|
}
|
|
309
339
|
];
|
|
@@ -315,7 +345,7 @@ const COMPLETE_LEAF = leaf("__complete", "Print completion candidates for a part
|
|
|
315
345
|
config: false,
|
|
316
346
|
shellOutput: true,
|
|
317
347
|
hidden: true,
|
|
318
|
-
load: async () => (await import("./completion-
|
|
348
|
+
load: async () => (await import("./completion-saoYiRFO.js")).complete
|
|
319
349
|
});
|
|
320
350
|
const ROOT = group("permdock", "Collect, export, diff and check the permissions a PermDock policy declares", "", [...SECTIONS.flatMap((section) => section.entries), COMPLETE_LEAF]);
|
|
321
351
|
/** Each leaf with its path from the root, in manifest order. */
|
|
@@ -326,8 +356,8 @@ function leaves(entry = ROOT, path = []) {
|
|
|
326
356
|
}] : leaves(child, [...path, child.name]));
|
|
327
357
|
}
|
|
328
358
|
/**
|
|
329
|
-
* Walks positional tokens down the tree until a leaf. Flags may sit
|
|
330
|
-
*
|
|
359
|
+
* Walks positional tokens down the tree until a leaf. Flags may sit anywhere;
|
|
360
|
+
* only bare words name a child.
|
|
331
361
|
*/
|
|
332
362
|
function resolve(argv) {
|
|
333
363
|
let node = ROOT;
|