permdock 0.4.0 → 0.6.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 +37 -35
- package/dist/{schema-Bol6gqXA.js → 2020-C9VN-x8c.js} +5 -130
- package/dist/a2a/index.d.ts +6 -6
- package/dist/a2a/index.js +14 -17
- package/dist/{adapter-context-mlWsVGGg.js → adapter-context-CRhqyzCk.js} +1 -1
- package/dist/adoption-scan-DCYe60Pi.js +107 -0
- package/dist/agent/index.d.ts +3 -0
- package/dist/agent/index.js +1 -0
- package/dist/ai-sdk/index.d.ts +18 -35
- package/dist/ai-sdk/index.js +37 -23
- package/dist/{app-data-CV8pqqMi.js → app-data-MuyzVqX8.js} +2 -1
- package/dist/approval-header-CJACtHkv.js +23 -0
- package/dist/approval-prompt-Dg5LeAcT.js +62 -0
- package/dist/approval-prompt-DvSSPQJX.d.ts +57 -0
- package/dist/approvals/index.d.ts +5 -3
- package/dist/approvals/index.js +8 -5
- package/dist/approvals-p1PGoVjb.js +995 -0
- package/dist/arazzo-41WuzHou.js +36 -0
- package/dist/{arazzo-C4BcskbX.js → arazzo-CaUVBn7D.js} +20 -14
- package/dist/args-IIolxxKA.js +197 -0
- package/dist/astro/index.d.ts +43 -0
- package/dist/astro/index.js +27 -0
- package/dist/audience-DabClFLQ.js +55 -0
- package/dist/auth-DRLEizbL.js +178 -0
- package/dist/authzen/index.d.ts +26 -6
- package/dist/authzen/index.js +94 -79
- package/dist/automation-BNM3TtDo.d.ts +114 -0
- package/dist/automation-DVjOckjV.js +157 -0
- package/dist/better-auth/index.d.ts +8 -6
- package/dist/better-auth/index.js +9 -8
- package/dist/better-supabase/index.d.ts +357 -30
- package/dist/better-supabase/index.js +936 -194
- package/dist/{bind-kk-uyCwH.js → bind-CAvgUuKs.js} +14 -10
- package/dist/{bind-BzqG8SMb.d.ts → bind-DOyrv6zi.d.ts} +12 -10
- package/dist/body-CH5of8Ne.js +10 -0
- package/dist/body-text-QcXok_SI.js +52 -0
- package/dist/{build-instance-DIIV9DbC.js → build-instance-Bu_eDqYw.js} +4 -3
- package/dist/{canonical-json-CFKyFOke.js → canonical-json-BC8_nMTw.js} +5 -3
- package/dist/{capability-CksyCWDH.d.ts → capability-Drg-1YhL.d.ts} +44 -25
- package/dist/{capability-txATtKV4.js → capability-N1K9IpqS.js} +68 -42
- package/dist/casbin-Cr7RLtA3.js +30 -0
- package/dist/casbin-Dyu2gnUD.js +234 -0
- package/dist/casl-64gpT-8x.js +24 -0
- package/dist/casl-DjEDhTCP.js +299 -0
- package/dist/catalog/index.d.ts +74 -2
- package/dist/catalog/index.js +51 -2
- package/dist/catalog-BoWglDPI.js +1 -0
- package/dist/catalog-DZVbrF-z.js +52 -0
- package/dist/{catalog-tZUyOfOv.js → catalog-HD2gf5mY.js} +51 -6
- package/dist/{catalog-doc-DWtg0gGR.js → catalog-doc-Cdn7-0pQ.js} +45 -23
- package/dist/catalog-fingerprint-CCP0-yQS.js +153 -0
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.js +224 -0
- package/dist/chat-sdk/index.d.ts +87 -0
- package/dist/chat-sdk/index.js +197 -0
- package/dist/claims-map-7oQ3ue4X.js +13 -0
- package/dist/claims-map-Ca-QX8C6.d.ts +32 -0
- package/dist/claude-agent/index.d.ts +7 -14
- package/dist/claude-agent/index.js +24 -27
- package/dist/clerk/index.d.ts +9 -8
- package/dist/clerk/index.js +9 -14
- package/dist/cli/bin.js +36 -17
- package/dist/cli/index.d.ts +19 -5
- package/dist/cli/index.js +164 -4
- package/dist/cloud/index.d.ts +102 -63
- package/dist/cloud/index.js +239 -340
- package/dist/cloud-ytQ3uviA.js +87 -0
- package/dist/codemod-5mpSpnUY.js +37 -0
- package/dist/codemod-ua2hHy7w.js +2084 -0
- package/dist/collect-Ci6akVwH.js +55 -0
- package/dist/collect-D7eQDffE.js +1 -0
- package/dist/{collect-2SrB7lfk.js → collect-mLTY4nwb.js} +75 -11
- package/dist/command-L8EstFNm.js +6 -0
- package/dist/compile/index.d.ts +1 -1
- package/dist/compile/index.js +1 -2
- package/dist/{compile-CtTP7eur.d.ts → compile-1bsAezL0.d.ts} +5 -3
- package/dist/{compile-CcEu2ZQ1.js → compile-CMqMx_IN.js} +11 -8
- package/dist/completion-BTFrHZhX.js +143 -0
- package/dist/config-Bj2Ixq3d.js +26 -0
- package/dist/{config-BIjREpyE.js → config-bs_kZeYq.js} +12 -7
- package/dist/{config-report--Xb9APJS.js → config-report-DSpsLpCE.js} +15 -5
- package/dist/{connection-DUsczpB5.js → connection-DjhIJSs2.js} +6 -5
- package/dist/{context-DieZVJXu.js → context-B_u3_bDJ.js} +2 -2
- package/dist/convex/index.d.ts +11 -10
- package/dist/convex/index.js +6 -4
- package/dist/create-B30OMUOJ.d.ts +107 -0
- package/dist/create-CBMmFie-.d.ts +138 -0
- package/dist/create-CGm28gyI.js +130 -0
- package/dist/create-CQWIpUG-.js +403 -0
- package/dist/{create-BBO24vj6.js → create-DCF2SvoT.js} +31 -32
- package/dist/create-D_NmPOdH.d.ts +110 -0
- package/dist/{credential-kue0qpbm.js → credential-BcoiejpY.js} +152 -31
- package/dist/credentials-DPyHmYz5.js +74 -0
- package/dist/delegation-j6-rc37o.js +286 -0
- package/dist/delivery/index.d.ts +5 -0
- package/dist/delivery/index.js +5 -0
- package/dist/delivery-DCAgNyCn.js +499 -0
- package/dist/delivery-event-xX4obB8F.js +40 -0
- package/dist/{denied-text-DfRk15uw.d.ts → denied-text-CiFQNuMV.d.ts} +5 -5
- package/dist/{describe-C3ldA9os.d.ts → describe-B5qgDvEW.d.ts} +2 -2
- package/dist/{describe-Cgkp7eP0.js → describe-BybMRY7A.js} +6 -2
- package/dist/device-BARQ8eYG.js +193 -0
- package/dist/{diff-rpqoe7Ag.js → diff-3jbx6Rm4.js} +60 -54
- package/dist/diff-CmuSD3vc.js +37 -0
- package/dist/doctor-3ZqNHX_G.js +44 -0
- package/dist/{doctor-owlv6ddh.js → doctor-BdZw53-k.js} +245 -50
- package/dist/drizzle/index.d.ts +5 -3
- package/dist/drizzle/index.js +2 -2
- package/dist/elysia/index.d.ts +16 -13
- package/dist/elysia/index.js +13 -12
- package/dist/env-DJZrPjRi.js +8 -0
- package/dist/errors-BDUwg2qC.js +27 -0
- package/dist/{errors-drnfxYtm.js → errors-BKy0EfhN.js} +5 -9
- package/dist/errors-BWXBMaKK.d.ts +11 -0
- package/dist/errors-CWTY6uih.js +143 -0
- package/dist/{errors-OD_4c__H.d.ts → errors-DH5QEGXh.d.ts} +2 -2
- package/dist/evaluate-CNClBvcj.js +1785 -0
- package/dist/evaluations-C_1vdSZc.d.ts +32 -0
- package/dist/{evaluations-C9YJsv3H.js → evaluations-beAooV0n.js} +145 -34
- package/dist/eve/index.d.ts +12 -16
- package/dist/eve/index.js +22 -28
- package/dist/event-time-CsegxXxB.js +23 -0
- package/dist/expiry-D4_YKRKD.js +52 -0
- package/dist/express/index.d.ts +13 -10
- package/dist/express/index.js +12 -11
- package/dist/fastify/index.d.ts +25 -22
- package/dist/fastify/index.js +13 -12
- package/dist/fetch-adapter-DD_gfmrC.js +120 -0
- package/dist/fetch-adapter-Dw0MTS3D.d.ts +31 -0
- package/dist/fields-OYG_JR78.js +203 -0
- package/dist/files-C5ZI27eV.js +124 -0
- package/dist/{fixtures-h2eG2OZV.js → fixtures-B7XrLeY7.js} +8 -7
- package/dist/flags-C3DktBDY.js +86 -0
- package/dist/{from-snapshot-7REQZe0H.js → from-snapshot-CTCMsFZk.js} +55 -52
- package/dist/{grantee-conditions-MQs5NIuX.js → grantee-conditions-CcXf8hMM.js} +4 -3
- package/dist/{grantee-CXY-0C87.js → grantee-hxrUsbpM.js} +16 -6
- package/dist/{grantee-match-fxYp9Nmt.js → grantee-match-DbENBHLB.js} +5 -4
- package/dist/h3/index.d.ts +37 -0
- package/dist/h3/index.js +35 -0
- package/dist/headers-BIjfMaoC.js +8 -0
- package/dist/headers-CIbDTUTK.d.ts +7 -0
- package/dist/{helpers-C9YmyBIa.js → helpers-CBYVMjwh.js} +45 -38
- package/dist/hono/index.d.ts +12 -9
- package/dist/hono/index.js +13 -12
- package/dist/hosted-B46-5LYE.js +315 -0
- package/dist/hosted-BPk51-kX.d.ts +78 -0
- package/dist/{http-DPuDaChb.d.ts → http-B_LphE5Y.d.ts} +1 -2
- package/dist/http-DXJ37RDA.js +46 -0
- package/dist/{http-BEbdMZ05.js → http-ujKm0JXE.js} +1 -2
- package/dist/{import-UHk1N7vH.js → import-CNV7I2Dw.js} +25 -20
- package/dist/{import-BFIlhetD.js → import-wyqXUyjm.js} +190 -53
- package/dist/index-B8YjkEZ4.d.ts +210 -0
- package/dist/index-C-6Letxg.d.ts +431 -0
- package/dist/index-CaxrMD1A.d.ts +1 -0
- package/dist/{index-BwMe94Xq.d.ts → index-Ch8LpNDp.d.ts} +34 -16
- package/dist/index-Cp_ilKi1.d.ts +91 -0
- package/dist/index-CueFnxQc.d.ts +110 -0
- package/dist/index-DuWxc5dt.d.ts +909 -0
- package/dist/index.d.ts +19 -15
- package/dist/index.js +31 -21
- package/dist/init-DeMYsnYJ.js +96 -0
- package/dist/init-GG6Jh8HD.js +95 -0
- package/dist/{instance-options-plkrsAog.d.ts → instance-options-BsVpyGIk.d.ts} +2 -2
- package/dist/instance-snapshot-BOEhcqIF.js +601 -0
- package/dist/instant-BluqDvyS.js +19 -0
- package/dist/internals-Dk8A8fX3.js +17 -0
- package/dist/{json-schema-DBkdUuCO.js → json-schema-B-vAwlde.js} +45 -6
- package/dist/json-schema-CN_iLFH2.d.ts +40 -0
- package/dist/jwt/index.d.ts +18 -11
- package/dist/jwt/index.js +156 -135
- package/dist/{kernel-CB3LrIJM.js → kernel-D0NVb1cK.js} +52 -24
- package/dist/kysely/index.d.ts +5 -3
- package/dist/kysely/index.js +2 -2
- package/dist/load-BxEtwlBS.js +1 -0
- package/dist/{load-C3_oTHyO.js → load-DFS_ry0W.js} +22 -6
- package/dist/{load-jose-BL6LH4bL.js → load-jose-DZ4dnjri.js} +1 -4
- package/dist/login-Dfe5RlYk.js +68 -0
- package/dist/login-imhuwvn3.js +254 -0
- package/dist/manifest-C8IzW3Do.js +42 -0
- package/dist/manifest-dvL2XEe1.js +370 -0
- package/dist/manifest-json-CAGzls-C.js +9 -0
- package/dist/{manifest-uDS9y5de.d.ts → manifest-mx5ghSFM.d.ts} +9 -2
- package/dist/manifest-schema-C0kK_8V0.js +399 -0
- package/dist/{map-claims-AVlBaJoa.js → map-claims-D3oRmTk0.js} +13 -10
- package/dist/{map-error-BE27PYkE.js → map-error-Dr70oA_3.js} +3 -3
- package/dist/{markers-CiwAOZtO.js → markers-C6joDI3o.js} +2 -1
- package/dist/mcp/index.d.ts +22 -12
- package/dist/mcp/index.js +57 -39
- package/dist/{migrate-BwlB5-Wk.js → migrate-CIq4-E9F.js} +53 -14
- package/dist/nest/index.d.ts +12 -9
- package/dist/nest/index.js +15 -14
- package/dist/next/index.d.ts +18 -21
- package/dist/next/index.js +13 -11
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +2 -2
- package/dist/node/index.d.ts +10 -10
- package/dist/node/index.js +7 -9
- package/dist/{ocsf-uYFXGVw2.js → ocsf-BFp-PZZA.js} +22 -11
- package/dist/openai/index.d.ts +9 -16
- package/dist/openai/index.js +17 -24
- package/dist/openapi/index.d.ts +3 -3
- package/dist/openapi/index.js +1 -1
- package/dist/{openapi-DBzHQbov.js → openapi-B7HZ0f-r.js} +8 -8
- package/dist/openapi-C4dDTVEd.js +138 -0
- package/dist/{openapi-BJdBmYDG.js → openapi-DD1SV-5-.js} +10 -9
- package/dist/operation-findings-DgATDpvh.js +36 -0
- package/dist/operations-X0VM7F3m.d.ts +59 -0
- package/dist/orpc/index.d.ts +13 -10
- package/dist/orpc/index.js +20 -15
- package/dist/otel/index.d.ts +3 -2
- package/dist/otel/index.js +30 -7
- package/dist/output-1im__-08.js +88 -0
- package/dist/output-files-B3IZJksC.js +1 -0
- package/dist/{output-files-CgIsvdSa.js → output-files-DhRBBE4n.js} +24 -26
- package/dist/{permission-keys-B26jeyUv.js → ownership-DqaJNJPn.js} +1045 -153
- package/dist/{package-root-DtNnpmUd.js → package-root-Dk_ETdkp.js} +1 -1
- package/dist/{parse-CVFQHk6c.js → parse-Cxq0WxrA.js} +2 -2
- package/dist/{parse-local-manifest-DvYUR0QL.d.ts → parse-local-manifest-5ODwqu8b.d.ts} +1 -1
- package/dist/{parse-local-manifest-C-q02Pal.js → parse-local-manifest-CVSs6J9I.js} +1 -1
- package/dist/parse-request-D_tUXG6M.js +26 -0
- package/dist/paths-DXSHAMIa.js +42 -0
- package/dist/pdp/index.d.ts +7 -3
- package/dist/pdp/index.js +45 -26
- package/dist/{peer-BOr_kJE1.js → peer-C8swJ2GH.js} +23 -4
- package/dist/peer-CRvC7Hg1.js +1 -0
- package/dist/permdock-BrAscV28.js +868 -0
- package/dist/permdock-SV8ZINYT.d.ts +502 -0
- package/dist/{permission-registry-BsblpB-z.js → permission-registry-Br4jSNVi.js} +3 -3
- package/dist/permissions-B-wCP5ZC.js +30 -0
- package/dist/{permissions-CCJ6lmxB.js → permissions-BPxlwVhN.js} +4 -3
- package/dist/{permissions-COH-KRgT.d.ts → permissions-u_KHg-sN.d.ts} +1 -2
- package/dist/policies-DP2nqRoF.js +295 -0
- package/dist/{policy-ur0BBK_e.d.ts → policy-77FSAq_V.d.ts} +2 -2
- package/dist/{hosted-CBHgkzDl.js → policy-DbM5YYtV.js} +17 -273
- package/dist/policy-from-catalog-C2gMa2Dj.js +450 -0
- package/dist/policy-module-CTlwMvLI.js +89 -0
- package/dist/{policy-types-sp9P1iIV.d.ts → policy-types-n0uRTsW8.d.ts} +460 -632
- package/dist/postgrest-CEgRbefE.d.ts +100 -0
- package/dist/postgrest-DAjUkF9w.js +575 -0
- package/dist/{powersync-cZe4kzhL.js → powersync-BkWWCS1K.js} +23 -24
- package/dist/powersync-DISt6SUe.js +62 -0
- package/dist/powersync-MMJ2mI2q.js +1 -0
- package/dist/preset/index.d.ts +146 -0
- package/dist/preset/index.js +1 -0
- package/dist/preset-DZdU0tne.js +1768 -0
- package/dist/principal-source-pHneukrx.js +103 -0
- package/dist/prisma/index.d.ts +6 -3
- package/dist/prisma/index.js +2 -2
- package/dist/{problem-CnWraVhC.js → problem-CTviyH5L.js} +13 -23
- package/dist/{problem-details-rIIo8B2C.d.ts → problem-details-B45V5d2b.d.ts} +1 -1
- package/dist/{problem-details-DECUnXAn.js → problem-details-cn5X30gZ.js} +43 -40
- package/dist/problem-types-CJ2325SZ.js +5 -0
- package/dist/{prompt-CXYhLfsS.js → prompt-DfZLJLIn.js} +2 -2
- package/dist/{protected-BN7BUdY1.js → protected-BlF0F6wL.js} +21 -4
- package/dist/{protected-B3_P7xuw.d.ts → protected-RFGpakN9.d.ts} +16 -8
- package/dist/{provider-Bi-0HNL3.js → provider-B1al-AZz.js} +2 -2
- package/dist/{provider-kwHC9CZD.d.ts → provider-DILL9oPK.d.ts} +1 -1
- package/dist/{provider-store-Ctt-81Ni.js → provider-store-DM6DNcta.js} +2 -2
- package/dist/pull-CvpINcMK.js +1 -0
- package/dist/pull-jEwbf80J.js +256 -0
- package/dist/push-BD4f15co.js +116 -0
- package/dist/pushed-policy-CqtxkV4G.js +238 -0
- package/dist/pushed-policy-DCW91KQU.d.ts +57 -0
- package/dist/react/index.d.ts +8 -8
- package/dist/react/index.js +6 -6
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react/provider-client.js +1 -2
- package/dist/react-native/index.d.ts +24 -72
- package/dist/react-native/index.js +29 -25
- package/dist/{refs-f3imMjNW.js → refs-K6eWUJ0H.js} +1 -1
- package/dist/{relation-walk-BXnlLtg2.js → relation-walk-3OyDBF0S.js} +2 -2
- package/dist/{relations-CvmSpG67.js → relations-BnCWnJGI.js} +3 -3
- package/dist/renames-CGj7YwcQ.js +175 -0
- package/dist/{replay-COpmZUfx.d.ts → replay-Bkm-Ne4l.d.ts} +1 -1
- package/dist/{replay-BsOyTrdV.js → replay-Du1tJjG7.js} +2 -1
- package/dist/{request-context-BVM7aWNs.js → request-context-C81Pip9n.js} +3 -3
- package/dist/request-schema-CMreVuFM.js +148 -0
- package/dist/resend/index.d.ts +126 -0
- package/dist/resend/index.js +379 -0
- package/dist/{resource-relations-D1Un3pcz.js → resource-relations-D_jw0BFx.js} +1 -1
- package/dist/{retire-BFcxL6un.js → retire-CALjIQ7e.js} +2 -2
- package/dist/{revocations-Cy06JNx2.d.ts → revocations-R07lFBnX.d.ts} +2 -0
- package/dist/rls-BAqP4q66.js +336 -0
- package/dist/{rls-BEktUaqg.js → rls-DTvYd-lI.js} +288 -690
- package/dist/{role-builder-B4GbKM-i.js → role-builder-uWQZ4v84.js} +14 -207
- package/dist/{rpc-nYC3cR_u.js → rpc-VSl5ylaQ.js} +7 -7
- package/dist/run-CUKuz0A8.js +723 -0
- package/dist/run-DDwUaJDU.js +1 -0
- package/dist/run-ticket-DocwaTKn.d.ts +124 -0
- package/dist/run-ticket-sxFI6LAk.js +337 -0
- package/dist/{runtime-D_tMXnsq.js → runtime-D3VTAiCA.js} +1 -1
- package/dist/{saas-DtaA4JuW.js → saas-BCXRuXca.js} +16 -14
- package/dist/scan-qvOe0hS3.js +29 -0
- package/dist/{schema-DjQBcAP9.js → schema-B4v0Qrac.js} +102 -8
- package/dist/schema-yLuBWWsh.js +130 -0
- package/dist/scim/index.d.ts +2 -2
- package/dist/scim/index.js +1 -2
- package/dist/{scim-vFR1O5oG.js → scim-ClHtpyV3.js} +208 -76
- package/dist/{scopes-tvpa34ep.js → scopes-CUPSjo9q.js} +12 -7
- package/dist/server/index.d.ts +12 -143
- package/dist/server/index.js +12 -9
- package/dist/server-C3WXAHZj.js +453 -0
- package/dist/{server-types-DdqBwZN_.d.ts → server-types-CKQiCnON.d.ts} +51 -68
- package/dist/{sha256-BO0swRXL.js → sha256-D9ihqmvd.js} +8 -1
- package/dist/{shared-1uhI-e-b.js → shared-BAK8t4Uo.js} +20 -9
- package/dist/{shared-JhMeOsDF.js → shared-DvvFzYXe.js} +8 -9
- package/dist/signals-D3NcTKUS.js +32 -0
- package/dist/sink-4-eQIRWf.d.ts +225 -0
- package/dist/sink-BEZSlMS_.js +957 -0
- package/dist/{skills-BZdRQkxs.js → skills-B6lVdD_W.js} +13 -6
- package/dist/skills-CTYwkl44.js +51 -0
- package/dist/snapshot-B7DkYg6g.js +269 -0
- package/dist/{snapshot-cache-Cod40D-X.js → snapshot-cache-DZHQ0KF6.js} +11 -5
- package/dist/{snapshot-cache-J5T7t_vD.d.ts → snapshot-cache-PXI-vGpY.d.ts} +7 -5
- package/dist/solid/index.d.ts +11 -12
- package/dist/solid/index.js +7 -7
- package/dist/solid-start/index.d.ts +52 -0
- package/dist/solid-start/index.js +49 -0
- package/dist/{sources-Dljy06zL.d.ts → sources-Xc4zkszI.d.ts} +7 -13
- package/dist/{sources-B1-b-R0t.js → sources-vs5dGOsS.js} +125 -119
- package/dist/{sql-t8teWOfo.js → sql-B5T1IL83.js} +13 -1
- package/dist/src-Cu2m75uo.js +1860 -0
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +384 -47
- package/dist/standard-webhooks-DgFFD-Ga.js +228 -0
- package/dist/standard-webhooks-rbD7LS6h.d.ts +88 -0
- package/dist/storage-C2bWdvJH.js +132 -0
- package/dist/{store-ILkLUj_o.js → store-BDutJkDL.js} +40 -53
- package/dist/{store-options-CbUHDoSe.js → store-options-u0ycEe8s.js} +26 -21
- package/dist/{stores-Cxz_80g-.d.ts → stores-BUGNbJTt.d.ts} +7 -8
- package/dist/{stores-BHXdSbw9.js → stores-CGhM8BN_.js} +2 -2
- package/dist/{stream-Dwsg6WwE.d.ts → stream-CeCMJmBB.d.ts} +2 -2
- package/dist/{stream-BMui98KK.js → stream-CvdUS9V1.js} +9 -2
- package/dist/style-DiKWnAvn.js +1 -0
- package/dist/{style-CTm1AXDT.js → style-Uao76wO7.js} +3 -2
- package/dist/subject-BGoM5o8B.js +17 -0
- package/dist/supabase/index.d.ts +23 -106
- package/dist/supabase/index.js +5 -4
- package/dist/supabase/middleware.d.ts +7 -6
- package/dist/supabase/middleware.js +13 -11
- package/dist/supabase-By_frk3U.js +92 -0
- package/dist/{supabase-hook-Cva3ikXz.js → supabase-hook-BMoEhZir.js} +960 -64
- package/dist/supabase-hook-CCw5m35C.js +1 -0
- package/dist/{supabase-C1TWlnYt.js → supabase-x5JtR2tc.js} +99 -206
- package/dist/support-session-C6xJQYut.js +158 -0
- package/dist/svelte/Protected.svelte +4 -4
- package/dist/svelte/index.d.ts +7 -7
- package/dist/svelte/index.js +10 -10
- package/dist/svelte/runtime.d.ts +3 -3
- package/dist/svelte/runtime.js +3 -3
- package/dist/svelte/source.d.ts +7 -7
- package/dist/svelte/source.js +4 -4
- package/dist/sveltekit/index.d.ts +51 -0
- package/dist/sveltekit/index.js +27 -0
- package/dist/tanstack-start/index.d.ts +51 -0
- package/dist/tanstack-start/index.js +40 -0
- package/dist/target-Bw37TFNA.js +51 -0
- package/dist/{tenancy-DshjqY0n.js → tenancy-DN2QAx9z.js} +5 -5
- package/dist/terminal/index.d.ts +11 -9
- package/dist/terminal/index.js +23 -287
- package/dist/testing/index.d.ts +311 -38
- package/dist/testing/index.js +3475 -201
- package/dist/testing/saas/index.d.ts +9 -8
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -2
- package/dist/text-BMFRfBqc.js +8 -0
- package/dist/{text-diff-BdkkYSbi.js → text-diff-BQcUapOb.js} +1 -1
- package/dist/thenable-yD7SabqG.js +31 -0
- package/dist/time-DkWjdL98.js +71 -0
- package/dist/{token-Bx9qy30p.js → token-BLZcjQgt.js} +15 -6
- package/dist/{tool-refusal-CQ7OEia9.js → tool-refusal-CMLN5xhn.js} +2 -2
- package/dist/trpc/index.d.ts +12 -9
- package/dist/trpc/index.js +16 -14
- package/dist/types-8RnwUAvE.d.ts +107 -0
- package/dist/{store-9KO4BlkB.d.ts → types-B3_ooZgZ.d.ts} +100 -75
- package/dist/{types-Br9IXUBG.d.ts → types-BdtSDbBO.d.ts} +77 -17
- package/dist/types-BtHtcKMr.d.ts +157 -0
- package/dist/{types-CqrjB9o6.d.ts → types-BzzaHxt3.d.ts} +23 -11
- package/dist/types-C791HFu9.d.ts +332 -0
- package/dist/types-C863OQiR.d.ts +57 -0
- package/dist/{types-ByUo56un.d.ts → types-CVZSNocA.d.ts} +23 -22
- package/dist/{types-DHrmBJLH.d.ts → types-CX7AvRqP.d.ts} +7 -7
- package/dist/types-C_IiEs64.d.ts +65 -0
- package/dist/{types-7rJVLWe5.d.ts → types-Dfv0aTER.d.ts} +63 -11
- package/dist/types-DqzsnlSA.js +67 -0
- package/dist/{types-DpWfQdSh.d.ts → types-Druu9wLM.d.ts} +46 -11
- package/dist/{types-CIlTojhq.d.ts → types-_WhUP7ud.d.ts} +9 -6
- package/dist/{types-CUcFZfpU.d.ts → types-lUlG3TVd.d.ts} +2 -1
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-CRVl9V3t.js +32 -0
- package/dist/usage-CZpSQP6L.js +1 -0
- package/dist/{usage-CG9nOYZw.js → usage-SveTRTyr.js} +54 -11
- package/dist/{validation-error-BSSw0l_8.d.ts → validation-error-DHUrAkku.d.ts} +1 -1
- package/dist/{validity-dVrUEPJt.js → validity-CZ7-y0Cj.js} +32 -15
- package/dist/{verifier-DMr_Zmb_.js → verifier-DHuh-okk.js} +18 -7
- package/dist/{verify-BztUB3GX.js → verify-BaAKx7t6.js} +645 -50
- package/dist/{version-BEogC-rB.js → version-CEbQ5UeM.js} +4 -3
- package/dist/version-DXkYUISx.js +1 -0
- package/dist/{views-CJsrBS1f.js → views-DTIIO-oQ.js} +22 -5
- package/dist/{permission-types-Dg39z9Kv.d.ts → vocabulary-CN8H_9UF.d.ts} +67 -2
- package/dist/vue/index.d.ts +9 -10
- package/dist/vue/index.js +8 -8
- package/dist/waiter-B986w1oK.d.ts +36 -0
- package/dist/waiter-BGUtGYoU.js +67 -0
- package/dist/watch--ovlPOc0.js +1 -0
- package/dist/{watch-zeucB7eF.js → watch-vea54PRw.js} +44 -5
- package/dist/webmcp/index.d.ts +2 -2
- package/dist/webmcp/index.js +3 -3
- package/dist/where-scope-C9vfEphl.js +306 -0
- package/dist/who-can-DWBAcaCQ.js +364 -0
- package/dist/wire-delegation-Cv3W2eaM.js +36 -0
- package/dist/wire-denial-C7PaVYEM.js +27 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.js +223 -0
- package/dist/workflow-sdk/index.d.ts +56 -0
- package/dist/workflow-sdk/index.js +78 -0
- package/dist/{wrap-Cr93qqdP.d.ts → wrap-C5jC6sKI.d.ts} +2 -1
- package/dist/{wrap-DWsU_5Bd.js → wrap-gX61EtpB.js} +7 -6
- package/package.json +136 -37
- package/schemas/access-event-v1.json +118 -0
- package/schemas/approval-request-v1.json +34 -1
- package/schemas/approval-signature-v1.json +94 -0
- package/schemas/automation-event-v1.json +113 -0
- package/schemas/capability-v1.json +84 -0
- package/schemas/catalog-event-v1.json +87 -0
- package/schemas/catalog-v1.json +123 -12
- package/schemas/cli-commands-v1.json +164 -0
- package/schemas/cli-result-v1.json +96 -0
- package/schemas/cloud-api-v1.json +5407 -0
- package/schemas/connector-v1.json +408 -0
- package/schemas/credential-event-v1.json +81 -0
- package/schemas/credential-v1.json +134 -0
- package/schemas/decision-event-v1.json +288 -0
- package/schemas/delivery-event-v1.json +117 -0
- package/schemas/directory-event-v1.json +85 -0
- package/schemas/evidence-export-v1.json +54 -0
- package/schemas/membership-event-v1.json +93 -0
- package/schemas/policy-v1.json +68 -0
- package/schemas/pushed-policy-v1.json +236 -0
- package/schemas/run-v1.json +162 -0
- package/schemas/snapshot-v1.json +138 -0
- package/schemas/supabase-claims-v1.json +4 -4
- package/schemas/supabase-manifest-v1.json +5 -1
- package/schemas/support-session-v1.json +111 -0
- package/skills/permdock/SKILL.md +16 -12
- package/skills/permdock-agents/SKILL.md +40 -23
- package/skills/permdock-agents/references/operations-automations-chat.md +221 -0
- package/skills/permdock-agents/references/runtimes.md +22 -18
- package/skills/permdock-approvals/SKILL.md +29 -13
- package/skills/permdock-approvals/references/delivery-and-waiters.md +172 -0
- package/skills/permdock-approvals/references/stores-and-resume.md +21 -7
- package/skills/permdock-audit/SKILL.md +3 -3
- package/skills/permdock-credentials/SKILL.md +5 -5
- package/skills/permdock-credentials/references/tokens-keys-links.md +14 -10
- package/skills/permdock-data/SKILL.md +6 -6
- package/skills/permdock-data/references/queries-and-rls.md +10 -9
- package/skills/permdock-data/references/relationships.md +3 -3
- package/skills/permdock-tenancy/SKILL.md +20 -7
- package/skills/permdock-tenancy/references/contacts-and-support-sessions.md +122 -0
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +6 -4
- package/skills/permdock-wire/SKILL.md +17 -11
- package/skills/permdock-wire/references/adapters.md +139 -51
- package/skills/permdock-wire/references/policy-options.md +5 -5
- package/skills/permdock-wire/references/presets-and-recipes.md +58 -0
- package/dist/approvals-DZL76lKW.js +0 -240
- package/dist/arazzo-CD8d0WLb.js +0 -54
- package/dist/catalog-6yWAX6Ps.js +0 -2
- package/dist/catalog-WHG4kBq7.js +0 -48
- package/dist/cloud-C7bSDgX4.js +0 -50
- package/dist/cloud-PeBN3IEn.js +0 -118
- package/dist/collect-Bw2Jdq1q.js +0 -2
- package/dist/collect-CQx4hX4N.js +0 -83
- package/dist/commands-Cpip4ULx.js +0 -97
- package/dist/config-DLt6BvV7.js +0 -36
- package/dist/diff-Cnghh_Ip.js +0 -48
- package/dist/doctor-CuVJvhV_.js +0 -53
- package/dist/duration-xK2jGFVc.js +0 -25
- package/dist/errors-CWfoNg9N.js +0 -47
- package/dist/errors-DRnGZHzF.js +0 -30
- package/dist/expiry-BoBJ8Tvc.js +0 -7
- package/dist/fields-fwfXN01n.js +0 -1016
- package/dist/headers-BZSDieNT.js +0 -6
- package/dist/headers-Cf-zWvsO.d.ts +0 -6
- package/dist/ids-DC4V4CFu.js +0 -18
- package/dist/index-DgM7w96K.d.ts +0 -6
- package/dist/index-Dz7didpC.d.ts +0 -201
- package/dist/index-UdVQgq48.d.ts +0 -550
- package/dist/load-B_shHrmd.js +0 -2
- package/dist/manifest-BngWKryL.js +0 -770
- package/dist/may-use-BOn_dR_w.js +0 -78
- package/dist/openapi-DcQ1Kg40.js +0 -164
- package/dist/ownership-BgnbOJFT.js +0 -851
- package/dist/permdock-L26udHSk.js +0 -3646
- package/dist/powersync-BFSbSElQ.js +0 -62
- package/dist/powersync-DCDgZgfZ.js +0 -2
- package/dist/rls-55DQTuf5.js +0 -250
- package/dist/run-DMcNW_8T.js +0 -174
- package/dist/server-ZYEHtNHS.js +0 -268
- package/dist/sink-BTtmfPnE.js +0 -141
- package/dist/sink-CPN4zLfs.d.ts +0 -104
- package/dist/skills-Dle4ZoLF.js +0 -56
- package/dist/snapshot-Dc9CHPME.js +0 -1078
- package/dist/src-Bb7no-hS.js +0 -639
- package/dist/subject-C6dLxqHU.js +0 -24
- package/dist/supabase-Dbqr141s.js +0 -83
- package/dist/supabase-hook-BULg7Ut_.js +0 -2
- package/dist/thenable-QSmvt-vZ.js +0 -65
- package/dist/types-C0dee0Qf.d.ts +0 -197
- package/dist/types-DvupZE0w.d.ts +0 -9
- package/dist/usage-4G6t643F.js +0 -42
- package/dist/usage-iFLJ0-rr.js +0 -2
- package/dist/vocabulary-hhEFLFoL.d.ts +0 -65
- package/dist/watch-C8TpsAl4.js +0 -2
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
//#region src/cli/core/manifest.ts
|
|
2
|
+
const DOCS_BASE = "https://permdock.com/docs/cli";
|
|
3
|
+
function leaf(name, summary, options) {
|
|
4
|
+
return {
|
|
5
|
+
kind: "leaf",
|
|
6
|
+
name,
|
|
7
|
+
summary,
|
|
8
|
+
...options
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function group(name, summary, docs, children) {
|
|
12
|
+
return {
|
|
13
|
+
kind: "group",
|
|
14
|
+
name,
|
|
15
|
+
summary,
|
|
16
|
+
docs,
|
|
17
|
+
children
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const SECTIONS = [
|
|
21
|
+
{
|
|
22
|
+
title: "Get started",
|
|
23
|
+
entries: [
|
|
24
|
+
leaf("init", "Write a preset's permissions, policy, app and wiring into the project", {
|
|
25
|
+
examples: [
|
|
26
|
+
"permdock init --preset p1AQIDBAc",
|
|
27
|
+
"permdock init --archetype b2b --framework hono --integration mcp",
|
|
28
|
+
"permdock init --archetype api --auth supabase --backend drizzle --service cloud-decision-log"
|
|
29
|
+
],
|
|
30
|
+
docs: "init",
|
|
31
|
+
effects: ["files"],
|
|
32
|
+
config: false,
|
|
33
|
+
load: async () => (await import("./init-GG6Jh8HD.js")).init
|
|
34
|
+
}),
|
|
35
|
+
group("preset", "Decode a preset code, or print its permdock.com/create link", "preset", [leaf("decode", "Print what a preset code holds", {
|
|
36
|
+
examples: ["permdock preset decode p1AQIDBAc"],
|
|
37
|
+
docs: "preset",
|
|
38
|
+
effects: [],
|
|
39
|
+
config: false,
|
|
40
|
+
load: async () => (await import("./init-GG6Jh8HD.js")).presetDecode
|
|
41
|
+
}), leaf("url", "Print the permdock.com/create link that opens a code", {
|
|
42
|
+
examples: ["permdock preset url p1AQIDBAc"],
|
|
43
|
+
docs: "preset",
|
|
44
|
+
effects: [],
|
|
45
|
+
config: false,
|
|
46
|
+
load: async () => (await import("./init-GG6Jh8HD.js")).presetUrl
|
|
47
|
+
})]),
|
|
48
|
+
group("skills", "Install, update or list the PermDock Agent Skills", "skills", [
|
|
49
|
+
leaf("install", "Copy the Agent Skills into the agent folders", {
|
|
50
|
+
examples: [
|
|
51
|
+
"permdock skills install",
|
|
52
|
+
"permdock skills install --for cursor --for claude",
|
|
53
|
+
"permdock skills install --check"
|
|
54
|
+
],
|
|
55
|
+
docs: "skills",
|
|
56
|
+
effects: ["files"],
|
|
57
|
+
config: false,
|
|
58
|
+
load: async () => (await import("./skills-CTYwkl44.js")).install
|
|
59
|
+
}),
|
|
60
|
+
leaf("update", "Replace installed skills with this version's", {
|
|
61
|
+
examples: ["permdock skills update"],
|
|
62
|
+
docs: "skills",
|
|
63
|
+
effects: ["files"],
|
|
64
|
+
config: false,
|
|
65
|
+
load: async () => (await import("./skills-CTYwkl44.js")).update
|
|
66
|
+
}),
|
|
67
|
+
leaf("list", "List the skills and where each is installed", {
|
|
68
|
+
examples: ["permdock skills list"],
|
|
69
|
+
docs: "skills",
|
|
70
|
+
effects: [],
|
|
71
|
+
config: false,
|
|
72
|
+
load: async () => (await import("./skills-CTYwkl44.js")).list
|
|
73
|
+
})
|
|
74
|
+
]),
|
|
75
|
+
leaf("doctor", "Check a PermDock installation and print a fix for each finding", {
|
|
76
|
+
examples: [
|
|
77
|
+
"permdock doctor",
|
|
78
|
+
"permdock doctor --only imports,references",
|
|
79
|
+
"permdock doctor --format github"
|
|
80
|
+
],
|
|
81
|
+
docs: "doctor",
|
|
82
|
+
effects: ["files"],
|
|
83
|
+
config: true,
|
|
84
|
+
findings: true,
|
|
85
|
+
load: async () => (await import("./doctor-3ZqNHX_G.js")).doctor
|
|
86
|
+
}),
|
|
87
|
+
leaf("completion", "Print the shell completion script for bash, zsh or fish", {
|
|
88
|
+
examples: ["permdock completion zsh > ~/.zfunc/_permdock", "eval \"$(permdock completion bash)\""],
|
|
89
|
+
docs: "completion",
|
|
90
|
+
effects: [],
|
|
91
|
+
config: false,
|
|
92
|
+
shellOutput: true,
|
|
93
|
+
load: async () => (await import("./completion-BTFrHZhX.js")).completion
|
|
94
|
+
})
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
title: "Permissions",
|
|
99
|
+
entries: [
|
|
100
|
+
leaf("collect", "Scan the sources for definePermissions() and references; write the catalog and barrel", {
|
|
101
|
+
examples: [
|
|
102
|
+
"permdock collect",
|
|
103
|
+
"permdock collect --check",
|
|
104
|
+
"permdock collect --watch"
|
|
105
|
+
],
|
|
106
|
+
docs: "collect",
|
|
107
|
+
effects: ["files"],
|
|
108
|
+
config: true,
|
|
109
|
+
load: async () => (await import("./collect-Ci6akVwH.js")).collect
|
|
110
|
+
}),
|
|
111
|
+
leaf("catalog", "Export the catalog as catalog JSON, JSON Schema or Markdown", {
|
|
112
|
+
examples: ["permdock catalog --out permissions.catalog.json", "permdock catalog --kind markdown"],
|
|
113
|
+
docs: "catalog",
|
|
114
|
+
effects: ["files"],
|
|
115
|
+
config: true,
|
|
116
|
+
load: async () => (await import("./catalog-DZVbrF-z.js")).catalog
|
|
117
|
+
}),
|
|
118
|
+
leaf("usage", "Report unused, ungranted and role-less permissions and conditions on undeclared fields", {
|
|
119
|
+
examples: ["permdock usage", "permdock usage --fail-on warning"],
|
|
120
|
+
docs: "usage",
|
|
121
|
+
effects: [],
|
|
122
|
+
config: true,
|
|
123
|
+
findings: true,
|
|
124
|
+
load: async () => (await import("./usage-CRVl9V3t.js")).usage
|
|
125
|
+
}),
|
|
126
|
+
leaf("diff", "Compare two policies or catalogs; exit 1 on a breaking change", {
|
|
127
|
+
examples: ["permdock diff main.catalog.json permissions.catalog.json", "permdock diff ./old-policy.ts ./src/policy.ts --impact"],
|
|
128
|
+
docs: "diff",
|
|
129
|
+
effects: [],
|
|
130
|
+
config: true,
|
|
131
|
+
load: async () => (await import("./diff-CmuSD3vc.js")).diff
|
|
132
|
+
}),
|
|
133
|
+
leaf("config", "Check permdock.config.ts for unknown keys, or print the effective config", {
|
|
134
|
+
examples: ["permdock config", "permdock config --print"],
|
|
135
|
+
docs: "config",
|
|
136
|
+
effects: [],
|
|
137
|
+
config: true,
|
|
138
|
+
findings: true,
|
|
139
|
+
load: async () => (await import("./config-Bj2Ixq3d.js")).config
|
|
140
|
+
})
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
title: "Database",
|
|
145
|
+
entries: [
|
|
146
|
+
group("rls", "Generate, import, verify or migrate Postgres RLS policies", "rls", [
|
|
147
|
+
leaf("generate", "Compile the policy into RLS policies and helpers", {
|
|
148
|
+
examples: ["permdock rls generate --target sql --out supabase/schemas/permdock.sql", "permdock rls generate --check"],
|
|
149
|
+
docs: "rls",
|
|
150
|
+
effects: [
|
|
151
|
+
"files",
|
|
152
|
+
"database:read",
|
|
153
|
+
"network"
|
|
154
|
+
],
|
|
155
|
+
config: true,
|
|
156
|
+
load: async () => (await import("./rls-BAqP4q66.js")).generate
|
|
157
|
+
}),
|
|
158
|
+
leaf("import", "Turn existing RLS policies into a generated definition", {
|
|
159
|
+
examples: ["permdock rls import --sql schema.sql --out src/permissions.generated.ts", "permdock rls import --db-url-stdin --out src/permissions.generated.ts"],
|
|
160
|
+
docs: "rls",
|
|
161
|
+
effects: ["files", "database:read"],
|
|
162
|
+
config: true,
|
|
163
|
+
load: async () => (await import("./rls-BAqP4q66.js")).importPolicies
|
|
164
|
+
}),
|
|
165
|
+
leaf("verify", "Run the fixtures against the policies, or compare a live database", {
|
|
166
|
+
examples: [
|
|
167
|
+
"permdock rls verify",
|
|
168
|
+
"permdock rls verify --kind pgtap",
|
|
169
|
+
"permdock rls verify --introspect --db-url-stdin"
|
|
170
|
+
],
|
|
171
|
+
docs: "rls",
|
|
172
|
+
effects: ["database:read"],
|
|
173
|
+
config: true,
|
|
174
|
+
load: async () => (await import("./rls-BAqP4q66.js")).verify
|
|
175
|
+
}),
|
|
176
|
+
leaf("migrate", "Rewrite hand-written policies onto the generated helpers", {
|
|
177
|
+
examples: ["permdock rls migrate --sql supabase/migrations --dry-run", "permdock rls migrate --sql supabase/migrations"],
|
|
178
|
+
docs: "rls",
|
|
179
|
+
effects: ["rewrite", "files"],
|
|
180
|
+
config: true,
|
|
181
|
+
load: async () => (await import("./rls-BAqP4q66.js")).migrate
|
|
182
|
+
})
|
|
183
|
+
]),
|
|
184
|
+
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", {
|
|
185
|
+
examples: ["permdock supabase hook generate --out supabase/schemas/permdock_hook.sql", "permdock supabase hook generate --check"],
|
|
186
|
+
docs: "supabase",
|
|
187
|
+
effects: ["files", "database:read"],
|
|
188
|
+
config: true,
|
|
189
|
+
load: async () => (await import("./supabase-By_frk3U.js")).hookGenerate
|
|
190
|
+
})]), leaf("inspect", "Print or write the hook and helper manifest", {
|
|
191
|
+
examples: ["permdock supabase inspect", "permdock supabase inspect --out"],
|
|
192
|
+
docs: "supabase",
|
|
193
|
+
effects: ["files"],
|
|
194
|
+
config: true,
|
|
195
|
+
load: async () => (await import("./supabase-By_frk3U.js")).inspect
|
|
196
|
+
})]),
|
|
197
|
+
group("powersync", "Generate PowerSync Sync Streams from the policy, or verify them", "powersync", [leaf("generate", "Compile the read grants into sync-config.yaml", {
|
|
198
|
+
examples: ["permdock powersync generate", "permdock powersync generate --check"],
|
|
199
|
+
docs: "powersync",
|
|
200
|
+
effects: ["files"],
|
|
201
|
+
config: true,
|
|
202
|
+
load: async () => (await import("./powersync-DISt6SUe.js")).generate
|
|
203
|
+
}), leaf("verify", "Fail on stale streams or a stream that syncs a denied row", {
|
|
204
|
+
examples: ["permdock powersync verify", "permdock powersync verify --db-url-stdin"],
|
|
205
|
+
docs: "powersync",
|
|
206
|
+
effects: ["database:read"],
|
|
207
|
+
config: true,
|
|
208
|
+
load: async () => (await import("./powersync-DISt6SUe.js")).verify
|
|
209
|
+
})])
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
title: "Interop",
|
|
214
|
+
entries: [
|
|
215
|
+
group("openapi", "Emit security into an OpenAPI document, or import one into a definition", "openapi", [leaf("emit", "Write security and securitySchemes into an OpenAPI document", {
|
|
216
|
+
examples: ["permdock openapi emit --doc openapi.json --out openapi.secured.json", "permdock openapi emit --doc openapi.json --kind overlay --out overlay.json"],
|
|
217
|
+
docs: "openapi",
|
|
218
|
+
effects: ["files"],
|
|
219
|
+
config: true,
|
|
220
|
+
load: async () => (await import("./openapi-C4dDTVEd.js")).emit
|
|
221
|
+
}), leaf("import", "Turn an OpenAPI document into a generated definition", {
|
|
222
|
+
examples: ["permdock openapi import --doc openapi.yaml --out src/permissions.generated.ts"],
|
|
223
|
+
docs: "openapi",
|
|
224
|
+
effects: ["files", "network"],
|
|
225
|
+
config: false,
|
|
226
|
+
load: async () => (await import("./openapi-C4dDTVEd.js")).importDocument
|
|
227
|
+
})]),
|
|
228
|
+
group("arazzo", "Check Arazzo workflows against the permissions", "arazzo", [leaf("check", "Resolve every Arazzo step to x-permdock-permissions", {
|
|
229
|
+
examples: ["permdock arazzo check --doc arazzo.json --openapi openapi.json"],
|
|
230
|
+
docs: "arazzo",
|
|
231
|
+
effects: [],
|
|
232
|
+
config: true,
|
|
233
|
+
findings: true,
|
|
234
|
+
load: async () => (await import("./arazzo-41WuzHou.js")).check
|
|
235
|
+
})]),
|
|
236
|
+
leaf("scan", "List authorization checks written without PermDock, to adopt it in an existing app", {
|
|
237
|
+
examples: ["permdock scan", "permdock scan --src app,lib --pattern isBeta"],
|
|
238
|
+
docs: "scan",
|
|
239
|
+
effects: [],
|
|
240
|
+
config: true,
|
|
241
|
+
findings: true,
|
|
242
|
+
load: async () => (await import("./scan-qvOe0hS3.js")).scan
|
|
243
|
+
}),
|
|
244
|
+
group("casl", "Import CASL rules into a generated module", "casl", [leaf("import", "Turn CASL rules per role into a permissions and policy module", {
|
|
245
|
+
examples: ["permdock casl import --rules rules.json --out src/permissions.generated.ts"],
|
|
246
|
+
docs: "casl",
|
|
247
|
+
effects: ["files"],
|
|
248
|
+
config: false,
|
|
249
|
+
load: async () => (await import("./casl-64gpT-8x.js")).caslImport
|
|
250
|
+
})]),
|
|
251
|
+
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
|
+
examples: ["permdock casbin import --model model.conf --policy policy.csv --out src/permissions.generated.ts"],
|
|
253
|
+
docs: "casbin",
|
|
254
|
+
effects: ["files"],
|
|
255
|
+
config: false,
|
|
256
|
+
load: async () => (await import("./casbin-Cr7RLtA3.js")).casbinImport
|
|
257
|
+
})])
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
title: "Account and Cloud",
|
|
262
|
+
entries: [
|
|
263
|
+
leaf("login", "Log in to PermDock Cloud with the device flow (RFC 8628) or a loopback redirect (RFC 8252)", {
|
|
264
|
+
examples: ["permdock login", "permdock login --scope catalog:write"],
|
|
265
|
+
docs: "login",
|
|
266
|
+
effects: ["network", "files"],
|
|
267
|
+
config: false,
|
|
268
|
+
load: async () => (await import("./login-Dfe5RlYk.js")).login
|
|
269
|
+
}),
|
|
270
|
+
leaf("logout", "Revoke and delete the stored PermDock Cloud login", {
|
|
271
|
+
examples: ["permdock logout"],
|
|
272
|
+
docs: "login",
|
|
273
|
+
effects: ["network", "files"],
|
|
274
|
+
config: false,
|
|
275
|
+
load: async () => (await import("./login-Dfe5RlYk.js")).logout
|
|
276
|
+
}),
|
|
277
|
+
leaf("whoami", "Print the PermDock Cloud identity the CLI acts as", {
|
|
278
|
+
examples: ["permdock whoami", "permdock whoami --json"],
|
|
279
|
+
docs: "login",
|
|
280
|
+
effects: [],
|
|
281
|
+
config: false,
|
|
282
|
+
load: async () => (await import("./login-Dfe5RlYk.js")).whoami
|
|
283
|
+
}),
|
|
284
|
+
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
|
+
examples: ["permdock cloud push --dry-run", "permdock cloud push --project prj_123"],
|
|
286
|
+
docs: "cloud",
|
|
287
|
+
effects: ["network", "cloud:write"],
|
|
288
|
+
config: true,
|
|
289
|
+
load: async () => (await import("./cloud-ytQ3uviA.js")).push
|
|
290
|
+
}), leaf("pull", "Write a Cloud project's published catalog and manifest", {
|
|
291
|
+
examples: ["permdock cloud pull --project prj_123"],
|
|
292
|
+
docs: "cloud",
|
|
293
|
+
effects: ["network", "files"],
|
|
294
|
+
config: true,
|
|
295
|
+
load: async () => (await import("./cloud-ytQ3uviA.js")).pull
|
|
296
|
+
})])
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
title: "Upgrade",
|
|
301
|
+
entries: [leaf("codemod", "Apply a release's renames to files that import permdock; list call sites to edit by hand", {
|
|
302
|
+
examples: ["permdock codemod 0.5 --dry-run", "permdock codemod 0.5 src"],
|
|
303
|
+
docs: "codemod",
|
|
304
|
+
effects: ["rewrite"],
|
|
305
|
+
config: false,
|
|
306
|
+
load: async () => (await import("./codemod-5mpSpnUY.js")).codemod
|
|
307
|
+
})]
|
|
308
|
+
}
|
|
309
|
+
];
|
|
310
|
+
/** The hidden leaf shells call for dynamic completion candidates. */
|
|
311
|
+
const COMPLETE_LEAF = leaf("__complete", "Print completion candidates for a partial command line", {
|
|
312
|
+
examples: [],
|
|
313
|
+
docs: "completion",
|
|
314
|
+
effects: [],
|
|
315
|
+
config: false,
|
|
316
|
+
shellOutput: true,
|
|
317
|
+
hidden: true,
|
|
318
|
+
load: async () => (await import("./completion-BTFrHZhX.js")).complete
|
|
319
|
+
});
|
|
320
|
+
const ROOT = group("permdock", "Collect, export, diff and check the permissions a PermDock policy declares", "", [...SECTIONS.flatMap((section) => section.entries), COMPLETE_LEAF]);
|
|
321
|
+
/** Each leaf with its path from the root, in manifest order. */
|
|
322
|
+
function leaves(entry = ROOT, path = []) {
|
|
323
|
+
return entry.children.flatMap((child) => child.kind === "leaf" ? [{
|
|
324
|
+
path: [...path, child.name],
|
|
325
|
+
entry: child
|
|
326
|
+
}] : leaves(child, [...path, child.name]));
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Walks positional tokens down the tree until a leaf. Flags may sit
|
|
330
|
+
* anywhere; only bare words name a child.
|
|
331
|
+
*/
|
|
332
|
+
function resolve(argv) {
|
|
333
|
+
let node = ROOT;
|
|
334
|
+
const path = [];
|
|
335
|
+
const rest = [];
|
|
336
|
+
for (const [i, token] of argv.entries()) {
|
|
337
|
+
if (token === "--") {
|
|
338
|
+
rest.push(...argv.slice(i));
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
if (token.startsWith("-") && token !== "-") {
|
|
342
|
+
rest.push(token);
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
const child = node.children.find((item) => item.name === token);
|
|
346
|
+
if (child === void 0) return {
|
|
347
|
+
kind: "group",
|
|
348
|
+
path,
|
|
349
|
+
entry: node,
|
|
350
|
+
unknown: token,
|
|
351
|
+
rest: [...rest, ...argv.slice(i + 1)]
|
|
352
|
+
};
|
|
353
|
+
path.push(child.name);
|
|
354
|
+
if (child.kind === "leaf") return {
|
|
355
|
+
kind: "leaf",
|
|
356
|
+
path,
|
|
357
|
+
entry: child,
|
|
358
|
+
rest: [...rest, ...argv.slice(i + 1)]
|
|
359
|
+
};
|
|
360
|
+
node = child;
|
|
361
|
+
}
|
|
362
|
+
return {
|
|
363
|
+
kind: "group",
|
|
364
|
+
path,
|
|
365
|
+
entry: node,
|
|
366
|
+
rest
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
//#endregion
|
|
370
|
+
export { resolve as a, leaves as i, ROOT as n, SECTIONS as r, DOCS_BASE as t };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/cli/manifest-json.ts
|
|
2
|
+
/** Where `permdock supabase inspect --out` writes the manifest by default. */
|
|
3
|
+
const MANIFEST_FILE = "permdock.manifest.json";
|
|
4
|
+
/** The bytes `permdock supabase inspect --out` and `permdock cloud pull` write. */
|
|
5
|
+
function formatManifestJson(manifest) {
|
|
6
|
+
return `${JSON.stringify(manifest, null, 2)}\n`;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { formatManifestJson as n, MANIFEST_FILE as t };
|
|
@@ -13,6 +13,13 @@ type SupabaseHookManifest = {
|
|
|
13
13
|
readonly schema: string;
|
|
14
14
|
readonly function: "custom_access_token_hook";
|
|
15
15
|
readonly out: string;
|
|
16
|
+
/**
|
|
17
|
+
* How the project turns SQL into migrations: `pg-delta` (`supabase db
|
|
18
|
+
* schema declarative sync`, which keeps the hook's grants in `out`),
|
|
19
|
+
* `migra` (`supabase db diff`, which drops them) or `migrations`
|
|
20
|
+
* (hand-written). Absent means `pg-delta`.
|
|
21
|
+
*/
|
|
22
|
+
readonly schemas?: "pg-delta" | "migra" | "migrations";
|
|
16
23
|
readonly before?: readonly string[];
|
|
17
24
|
};
|
|
18
25
|
readonly helpers: {
|
|
@@ -91,7 +98,7 @@ type SupabaseManifestThrough = {
|
|
|
91
98
|
type SupabaseManifestRole = SupabaseManifestValue | (SupabaseManifestColumn & {
|
|
92
99
|
readonly through: SupabaseManifestThrough;
|
|
93
100
|
});
|
|
94
|
-
/** One `
|
|
101
|
+
/** One `tableMembershipSource` or `junctionMembershipSource` source. */
|
|
95
102
|
type SupabaseManifestMembership = {
|
|
96
103
|
/** `schema.table`, `public` when the source names no schema. */
|
|
97
104
|
readonly table: string;
|
|
@@ -99,7 +106,7 @@ type SupabaseManifestMembership = {
|
|
|
99
106
|
readonly user: SupabaseManifestColumn | (SupabaseManifestColumn & {
|
|
100
107
|
readonly through: SupabaseManifestThrough;
|
|
101
108
|
});
|
|
102
|
-
/** A column for `
|
|
109
|
+
/** A column for `tableMembershipSource`, the fixed scope for `junctionMembershipSource`. */
|
|
103
110
|
readonly scope: SupabaseManifestValue;
|
|
104
111
|
readonly id: SupabaseManifestColumn;
|
|
105
112
|
/** A role column, the fixed roles every row holds, or several role columns whose keys the row holds together. */
|