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
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { t as compact } from "./compact-CAf557ZB.js";
|
|
2
|
-
import {
|
|
3
|
-
import { c as
|
|
4
|
-
import {
|
|
5
|
-
import { n as
|
|
2
|
+
import { g as secondsOf } from "./time-DkWjdL98.js";
|
|
3
|
+
import { c as rowIdOf } from "./delegation-j6-rc37o.js";
|
|
4
|
+
import { c as nowSeconds } from "./tenancy-DN2QAx9z.js";
|
|
5
|
+
import { n as payloadDigest } from "./token-BLZcjQgt.js";
|
|
6
|
+
import { n as parseSnapshot } from "./snapshot-B7DkYg6g.js";
|
|
7
|
+
import { s as snapshotClaim } from "./where-scope-C9vfEphl.js";
|
|
8
|
+
import { n as fromSnapshot, t as emptySnapshot } from "./from-snapshot-CTCMsFZk.js";
|
|
6
9
|
import { t as timeoutSignal } from "./timeout-D51niuQP.js";
|
|
10
|
+
//#region src/client/source.ts
|
|
11
|
+
/** A compact JWS: three non-empty dot-separated parts. */
|
|
12
|
+
function isJws(value) {
|
|
13
|
+
const parts = value.split(".");
|
|
14
|
+
return parts.length === 3 && parts.every((part) => part.length > 0);
|
|
15
|
+
}
|
|
16
|
+
function isPromiseLike(value) {
|
|
17
|
+
return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
7
20
|
//#region src/client/approvals.ts
|
|
8
21
|
/** Ceiling for the approval poll backoff after a failed status request. */
|
|
9
22
|
const APPROVAL_BACKOFF_CAP_MS = 6e4;
|
|
@@ -237,16 +250,6 @@ function storeRequest(fetchImpl, headers) {
|
|
|
237
250
|
});
|
|
238
251
|
}
|
|
239
252
|
//#endregion
|
|
240
|
-
//#region src/client/source.ts
|
|
241
|
-
/** A compact JWS: three non-empty dot-separated parts. */
|
|
242
|
-
function isJws(value) {
|
|
243
|
-
const parts = value.split(".");
|
|
244
|
-
return parts.length === 3 && parts.every((part) => part.length > 0);
|
|
245
|
-
}
|
|
246
|
-
function isPromiseLike(value) {
|
|
247
|
-
return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
|
|
248
|
-
}
|
|
249
|
-
//#endregion
|
|
250
253
|
//#region src/client/store.ts
|
|
251
254
|
function withTenant(source, tenant) {
|
|
252
255
|
if (tenant === void 0) return source;
|
|
@@ -380,11 +383,13 @@ function createClientStore(options) {
|
|
|
380
383
|
return "ready";
|
|
381
384
|
};
|
|
382
385
|
const isStale = () => {
|
|
383
|
-
const
|
|
384
|
-
|
|
386
|
+
const issuedAt = secondsOf(snapshot.issuedAt) ?? 0;
|
|
387
|
+
const expiresAt = secondsOf(snapshot.expiresAt);
|
|
388
|
+
const maxAge = issuedAt > 0 ? options.maxAge : void 0;
|
|
389
|
+
if (expiresAt === void 0 && maxAge === void 0) return false;
|
|
385
390
|
const now = nowSeconds();
|
|
386
|
-
if (
|
|
387
|
-
return maxAge !== void 0 && now -
|
|
391
|
+
if (expiresAt !== void 0 && expiresAt <= now) return true;
|
|
392
|
+
return maxAge !== void 0 && now - issuedAt > maxAge;
|
|
388
393
|
};
|
|
389
394
|
const serverOnly = () => {
|
|
390
395
|
hydrate(emptySnapshot());
|
|
@@ -401,8 +406,8 @@ function createClientStore(options) {
|
|
|
401
406
|
const verifyJws = async (raw) => {
|
|
402
407
|
if (options.verifier === void 0) return;
|
|
403
408
|
try {
|
|
404
|
-
const verified = await options.verifier.verify(raw, { typ: "permdock
|
|
405
|
-
return verified.ok ? verified.claims
|
|
409
|
+
const verified = await options.verifier.verify(raw, { typ: "vnd.permdock.snapshot+jwt" });
|
|
410
|
+
return verified.ok ? snapshotClaim(verified.claims) : void 0;
|
|
406
411
|
} catch {
|
|
407
412
|
return;
|
|
408
413
|
}
|
|
@@ -565,7 +570,7 @@ function createClientStore(options) {
|
|
|
565
570
|
signed = body;
|
|
566
571
|
body = await verifyJws(body);
|
|
567
572
|
ok = body !== void 0;
|
|
568
|
-
}
|
|
573
|
+
} else if (ok && options.verifier !== void 0) ok = false;
|
|
569
574
|
refreshing -= 1;
|
|
570
575
|
if (started !== generation || seq !== refreshSeq) {
|
|
571
576
|
emit();
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { r as
|
|
4
|
-
import { r as
|
|
5
|
-
import {
|
|
6
|
-
import { n as PermDockSvelteOptions } from "./types-ByUo56un.js";
|
|
1
|
+
import { Nn as Decision, nr as Membership } from "./policy-types-n0uRTsW8.js";
|
|
2
|
+
import { r as Role, w as Permission } from "./vocabulary-CN8H_9UF.js";
|
|
3
|
+
import { r as DescribeOptions, t as DecisionDescription } from "./describe-B5qgDvEW.js";
|
|
4
|
+
import { a as FilterResult, c as PermissionSet, d as RolesOptions, f as SubjectView, l as PermissionState, p as TenantView, r as ClientPermDock, t as ApprovalHandle } from "./types-B3_ooZgZ.js";
|
|
5
|
+
import { n as SveltePermDockOptions } from "./types-CVZSNocA.js";
|
|
7
6
|
import { Readable } from "svelte/store";
|
|
8
7
|
//#region src/svelte/stores.d.ts
|
|
9
|
-
declare function setPermDock(options:
|
|
8
|
+
declare function setPermDock(options: SveltePermDockOptions): ClientPermDock;
|
|
10
9
|
declare function getPermDock(): ClientPermDock;
|
|
11
10
|
/** `describe` with the provider's `messages`; a call's own `messages` win. Call it during component init. */
|
|
12
11
|
declare function getDescribe(): (decision: Decision, options?: DescribeOptions) => DecisionDescription;
|
|
@@ -15,7 +14,7 @@ declare function permissions(references: () => readonly Permission[], data?: ()
|
|
|
15
14
|
declare function filtered<T>(reference: Permission<string, T, "instance">, rows: () => readonly T[]): Readable<FilterResult<T>>;
|
|
16
15
|
declare function tenant(): Readable<TenantView>;
|
|
17
16
|
declare function memberships(): Readable<readonly Membership[]>;
|
|
18
|
-
declare function roles(options?: () =>
|
|
17
|
+
declare function roles(options?: () => RolesOptions): Readable<{
|
|
19
18
|
readonly roles: readonly Role[];
|
|
20
19
|
}>;
|
|
21
20
|
declare function assignable(): Readable<readonly Role[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
import { n as getUi, r as providePermDock, t as getStore } from "./context-
|
|
1
|
+
import { a as livePermDock, c as rolesView, d as subjectView, f as tenantView, n as describeWith, o as permissionSet, r as filterResult, t as approvalHandle } from "./views-DTIIO-oQ.js";
|
|
2
|
+
import { n as getUi, r as providePermDock, t as getStore } from "./context-B_u3_bDJ.js";
|
|
3
3
|
import { readable, toStore } from "svelte/store";
|
|
4
4
|
//#region src/svelte/stores.ts
|
|
5
5
|
function fromStore(store, compute) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { o as ProtectOptions } from "./server-types-
|
|
1
|
+
import { w as Permission } from "./vocabulary-CN8H_9UF.js";
|
|
2
|
+
import { o as ProtectOptions } from "./server-types-CKQiCnON.js";
|
|
3
3
|
//#region src/server/stream.d.ts
|
|
4
4
|
type StreamProtectOptions = ProtectOptions & {
|
|
5
5
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as PermDockRevokedError } from "./errors-
|
|
1
|
+
import { r as PermDockRevokedError } from "./errors-BKy0EfhN.js";
|
|
2
2
|
//#region src/server/stream.ts
|
|
3
3
|
function isAsyncIterable(value) {
|
|
4
4
|
return value !== null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function";
|
|
@@ -50,6 +50,13 @@ function reloadAfter(loaded, load) {
|
|
|
50
50
|
}
|
|
51
51
|
/** WebSocket close code for a policy violation (RFC 6455 section 7.4.1). */
|
|
52
52
|
const POLICY_VIOLATION = 1008;
|
|
53
|
+
/**
|
|
54
|
+
* The close reason for a problem: its PermDock type URI, or its `detail`
|
|
55
|
+
* code for an `about:blank` one. RFC 6455 caps a reason at 123 bytes.
|
|
56
|
+
*/
|
|
57
|
+
function closeReason(problem) {
|
|
58
|
+
return problem.type === "about:blank" ? problem.detail : problem.type;
|
|
59
|
+
}
|
|
53
60
|
/** The Problem Details for an aborted connection signal. */
|
|
54
61
|
function revokedProblem(signal) {
|
|
55
62
|
const reason = signal.reason;
|
|
@@ -64,4 +71,4 @@ function onRevoked(connection, end) {
|
|
|
64
71
|
else connection.signal.addEventListener("abort", fire, { once: true });
|
|
65
72
|
}
|
|
66
73
|
//#endregion
|
|
67
|
-
export {
|
|
74
|
+
export { onRevoked as a, isAsyncIterable as i, closeReason as n, reloadAfter as o, guardIterable as r, POLICY_VIOLATION as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as createStyle, n as streamHasColors } from "./style-Uao76wO7.js";
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { styleText } from "node:util";
|
|
2
|
-
//#region src/cli/style.ts
|
|
2
|
+
//#region src/cli/core/style.ts
|
|
3
3
|
function createStyle(color) {
|
|
4
4
|
const paint = (format, text) => color ? styleText(format, text, { validateStream: false }) : text;
|
|
5
5
|
return {
|
|
6
6
|
color,
|
|
7
7
|
paint,
|
|
8
8
|
errorMark: color ? paint("red", "✖") : "error",
|
|
9
|
-
warnMark: color ? paint("yellow", "⚠") : "warn"
|
|
9
|
+
warnMark: color ? paint("yellow", "⚠") : "warn",
|
|
10
|
+
okMark: color ? paint("green", "✔") : "ok"
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/core/subject.ts
|
|
2
|
+
function isSubject(value) {
|
|
3
|
+
return value !== null && typeof value === "object" && "principal" in value && "context" in value && typeof value.context === "object";
|
|
4
|
+
}
|
|
5
|
+
function isActor(value) {
|
|
6
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
7
|
+
const record = value;
|
|
8
|
+
return typeof record.id === "string" && typeof record.kind === "string";
|
|
9
|
+
}
|
|
10
|
+
function anonymousSubject(context = {}) {
|
|
11
|
+
return Object.freeze({
|
|
12
|
+
principal: null,
|
|
13
|
+
context: Object.freeze({ ...context })
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { isActor as n, isSubject as r, anonymousSubject as t };
|
package/dist/supabase/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
5
|
-
import { a as
|
|
1
|
+
import { Rt as Instant, ar as Subject } from "../policy-types-n0uRTsW8.js";
|
|
2
|
+
import { a as ApprovalDelegationSource, m as ApprovalStore, u as ApprovalRequest } from "../types-BdtSDbBO.js";
|
|
3
|
+
import { a as SupabaseRpcClient, c as readSubjectRecord, i as SupabaseRpcCaller, n as PostgrestSourcesOptions, o as SupabaseRpcResult, r as SubjectRecord, s as postgrestSources, t as PostgrestSources } from "../postgrest-CEgRbefE.js";
|
|
4
|
+
import { C as SupabaseClaimsSchema, E as supabaseClaims, S as SupabaseClaimsOptions, T as SupabasePermDockClaims, _ as SupabaseSuspendedMembership, a as SupabaseActorResult, b as SupabaseActClaim, c as SupabaseMembershipTable, d as SupabaseRealtime, f as SupabaseRlsConfig, g as SupabaseSubjectOptions, h as SupabaseStorage, i as SupabaseActor, l as SupabasePermissionRef, m as SupabaseSessionLike, n as RoleThrough, o as SupabaseDelegation, p as SupabaseRlsOptions, r as SupabaseActiveRow, s as SupabaseInclude, t as AuthorizeSqlOptions, u as SupabasePrincipal, v as SupabaseSuspendedScope, w as SupabaseMembershipClaim, x as SupabaseClaims, y as SupabaseSuspension } from "../types-BzzaHxt3.js";
|
|
5
|
+
import { a as SupabaseManifestHelper, c as SupabaseManifestRls, d as SupabaseManifestValue, f as parseSupabaseManifest, i as SupabaseManifestColumn, l as SupabaseManifestRole, n as SupabaseHookManifest, o as SupabaseManifestMembership, r as SupabaseManifestActiveRow, s as SupabaseManifestRequires, t as SupabaseHookClaim, u as SupabaseManifestThrough } from "../manifest-mx5ghSFM.js";
|
|
6
|
+
import { a as MembershipTableOptions, c as SupabasePostgres, d as supabasePostgresQuery, f as tableMembershipSource, i as MembershipSql, l as authzVersion, n as MembershipHolders, o as SqlMembershipSource, r as MembershipJunctionOptions, s as SqlQuery, t as AUTHZ_VERSION_TABLE, u as junctionMembershipSource } from "../sources-Xc4zkszI.js";
|
|
6
7
|
import { n as supabaseTenantClaim, t as supabaseMembershipsBudget } from "../budget-JqcRqyhK.js";
|
|
7
8
|
//#region src/supabase/capability.d.ts
|
|
8
9
|
type ExchangeCapabilityOptions = {
|
|
@@ -20,7 +21,7 @@ type ExchangeCapabilityOptions = {
|
|
|
20
21
|
readonly issuer?: string;
|
|
21
22
|
/** Lifetime in seconds, capped by the capability's own expiry. Default 300. */
|
|
22
23
|
readonly ttl?: number;
|
|
23
|
-
readonly now?:
|
|
24
|
+
readonly now?: Instant;
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
27
|
* Exchanges a verified link subject (from `subjectFromCapability`) for a
|
|
@@ -30,109 +31,11 @@ type ExchangeCapabilityOptions = {
|
|
|
30
31
|
*/
|
|
31
32
|
export declare function exchangeCapability(subject: Subject, options: ExchangeCapabilityOptions): Promise<string | undefined>;
|
|
32
33
|
//#endregion
|
|
33
|
-
//#region src/supabase/postgrest.d.ts
|
|
34
|
-
/** What a supabase-js `rpc` call resolves to: `data` or an `error` with a message. */
|
|
35
|
-
type SupabaseRpcResult = {
|
|
36
|
-
readonly data: unknown;
|
|
37
|
-
readonly error: {
|
|
38
|
-
readonly message: string;
|
|
39
|
-
} | null;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* The part of a supabase-js client `postgrestSources` calls:
|
|
43
|
-
* `client.schema(name).rpc(fn, args)`. Pass a client that may execute the
|
|
44
|
-
* function, such as a `service_role` client after the grant the docs show.
|
|
45
|
-
*/
|
|
46
|
-
type SupabaseRpcClient = {
|
|
47
|
-
schema(name: string): {
|
|
48
|
-
rpc(fn: string, args: Readonly<Record<string, unknown>>): PromiseLike<SupabaseRpcResult>;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
type SupabaseRpcCaller = {
|
|
52
|
-
schema(name: never): {
|
|
53
|
-
rpc(fn: never, args: never): PromiseLike<SupabaseRpcResult>;
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
type PostgrestSourcesOptions = {
|
|
57
|
-
/**
|
|
58
|
-
* The `supabase.hook.api` setting the hook file was generated with: the
|
|
59
|
-
* wrappers live in `schema` (default `public`) as `<prefix>subject_for`,
|
|
60
|
-
* `<prefix>members_of` and `<prefix>authz_version_for` (default prefix
|
|
61
|
-
* `permdock_`). It sets the defaults of `schema`, `fn`, `membersFn` and
|
|
62
|
-
* `versionFn`, which still override it.
|
|
63
|
-
*/
|
|
64
|
-
readonly api?: {
|
|
65
|
-
readonly schema?: string;
|
|
66
|
-
readonly prefix?: string;
|
|
67
|
-
};
|
|
68
|
-
/** Schema of the functions. Default `permdock`, where the hook generates `subject_for` and `members_of`. */
|
|
69
|
-
readonly schema?: string;
|
|
70
|
-
/** Function name, for a wrapper in an exposed schema. Default `subject_for`. */
|
|
71
|
-
readonly fn?: string;
|
|
72
|
-
readonly membersFn?: string;
|
|
73
|
-
/** The version-only function `memberships.version` calls. Default `authz_version_for`. */
|
|
74
|
-
readonly versionFn?: string;
|
|
75
|
-
/**
|
|
76
|
-
* The policy whose declared roles tell custom roles apart. With it,
|
|
77
|
-
* `customRoles` reads nothing while every role the subject holds is
|
|
78
|
-
* declared, and `memberships.version` reads the whole subject in one call
|
|
79
|
-
* when the token claims a custom role, which the custom roles need anyway.
|
|
80
|
-
*/
|
|
81
|
-
readonly policy?: Policy;
|
|
82
|
-
};
|
|
83
|
-
/** One user as `subject_for(p_user)` returns it. */
|
|
84
|
-
type SubjectRecord = {
|
|
85
|
-
readonly id: string;
|
|
86
|
-
/** `false` for a suspended user, who holds no roles or memberships. */
|
|
87
|
-
readonly active: boolean;
|
|
88
|
-
readonly roles: readonly string[];
|
|
89
|
-
readonly memberships: readonly Membership[];
|
|
90
|
-
readonly customRoles: readonly CustomRole[];
|
|
91
|
-
readonly authzVersion?: number;
|
|
92
|
-
};
|
|
93
|
-
type PostgrestSources = {
|
|
94
|
-
/**
|
|
95
|
-
* Memberships and the authorization version of any principal, and `list`,
|
|
96
|
-
* the live members of one scope instance through `members_of`, for
|
|
97
|
-
* `countHolders` and `whoCan`. Wrap it in `claimsFirst` to read only when
|
|
98
|
-
* the token was truncated.
|
|
99
|
-
*/
|
|
100
|
-
readonly memberships: MembershipSource & {
|
|
101
|
-
list(query: {
|
|
102
|
-
readonly scope: string;
|
|
103
|
-
readonly id: string;
|
|
104
|
-
}): Promise<MemberEntry[]>;
|
|
105
|
-
};
|
|
106
|
-
/** The custom roles `principal` holds, for `createPermDock`'s `customRoles`. */
|
|
107
|
-
customRoles(principal: {
|
|
108
|
-
readonly id: string;
|
|
109
|
-
}): RoleSource;
|
|
110
|
-
/** The subject the hook would mint for `userId`: anonymous when the user is unknown or suspended. */
|
|
111
|
-
subject(userId: string): Promise<Subject>;
|
|
112
|
-
/** The raw record, `undefined` for an unknown user. */
|
|
113
|
-
record(userId: string): Promise<SubjectRecord | undefined>;
|
|
114
|
-
};
|
|
115
|
-
/** Reads `subject_for`'s JSON; anything it cannot read is left out, and a malformed record is no record. */
|
|
116
|
-
export declare function readSubjectRecord(value: unknown): SubjectRecord | undefined;
|
|
117
|
-
/**
|
|
118
|
-
* Membership, custom-role and subject sources over the `subject_for(p_user)`,
|
|
119
|
-
* `authz_version_for(p_user)` and `members_of(p_scope, p_id)` functions
|
|
120
|
-
* `permdock supabase hook generate` writes, for a backend that reaches
|
|
121
|
-
* Postgres only through PostgREST. `memberships.version` reads only the
|
|
122
|
-
* version, so `claimsFirst` with `onStale: 'reread'` reads the full subject
|
|
123
|
-
* only for a stale token; when the version function is missing it falls back
|
|
124
|
-
* to `subject_for`. With `policy`, a token that claims a custom role has its
|
|
125
|
-
* subject read in one `subject_for` call instead, and custom roles are read
|
|
126
|
-
* only for a subject that holds one. Each user and each instance is read once per
|
|
127
|
-
* `postgrestSources` call, so create it per request or per job.
|
|
128
|
-
*/
|
|
129
|
-
export declare function postgrestSources(client: SupabaseRpcCaller, options?: PostgrestSourcesOptions): PostgrestSources;
|
|
130
|
-
//#endregion
|
|
131
34
|
//#region src/supabase/approval-store.d.ts
|
|
132
35
|
type SupabaseApprovalStoreOptions = {
|
|
133
36
|
/** Schema of the generated store functions (`rls.schema`). Default `permdock`. */
|
|
134
37
|
readonly schema?: string;
|
|
135
|
-
/**
|
|
38
|
+
/** Seconds a request stays open when the caller sets no `ttl`. */
|
|
136
39
|
readonly ttl?: number;
|
|
137
40
|
/**
|
|
138
41
|
* Runs once per stored request, after the call that stored it, with the
|
|
@@ -152,6 +55,20 @@ type SupabaseApprovalStoreOptions = {
|
|
|
152
55
|
*/
|
|
153
56
|
export declare function supabaseApprovalStore(client: SupabaseRpcCaller, options?: SupabaseApprovalStoreOptions): ApprovalStore;
|
|
154
57
|
//#endregion
|
|
58
|
+
//#region src/supabase/approval-delegations.d.ts
|
|
59
|
+
type TableApprovalDelegationSourceOptions = {
|
|
60
|
+
readonly query: SqlQuery;
|
|
61
|
+
/** Defaults to `permdock.approval_delegations`, the table `rls.approvals.delegations` generates. */
|
|
62
|
+
readonly table?: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Approval delegations (out-of-office covers) from the table
|
|
66
|
+
* `rls.approvals.delegations` generates, so `approvalsHandler` and
|
|
67
|
+
* `permdock_is_approver` read the same rows. A cover without a tenant
|
|
68
|
+
* applies everywhere; a malformed row is skipped.
|
|
69
|
+
*/
|
|
70
|
+
export declare function tableApprovalDelegationSource(options: TableApprovalDelegationSourceOptions): ApprovalDelegationSource;
|
|
71
|
+
//#endregion
|
|
155
72
|
//#region src/supabase/rls.d.ts
|
|
156
73
|
export declare function supabaseRls(options?: SupabaseRlsOptions): SupabaseRlsConfig;
|
|
157
74
|
/**
|
|
@@ -191,4 +108,4 @@ export declare function subjectFromSupabase(claims: unknown, options?: SupabaseS
|
|
|
191
108
|
*/
|
|
192
109
|
export declare function subjectFromSupabaseSession(session: SupabaseSessionLike | null | undefined, options?: SupabaseSubjectOptions): Subject<SupabasePrincipal>;
|
|
193
110
|
//#endregion
|
|
194
|
-
export { AUTHZ_VERSION_TABLE, type AuthorizeSqlOptions, type ExchangeCapabilityOptions, type MembershipHolders, type MembershipJunctionOptions, type MembershipSql, type MembershipTableOptions, type PostgrestSources, type PostgrestSourcesOptions, type RoleThrough, type SqlMembershipSource, type SqlQuery, type SubjectRecord, type SupabaseActClaim, type SupabaseActiveRow, type SupabaseActor, type SupabaseActorResult, type SupabaseApprovalStoreOptions, type SupabaseClaims, type SupabaseClaimsOptions, type SupabaseClaimsSchema, type SupabaseDelegation, type SupabaseHookClaim, type SupabaseHookManifest, type SupabaseInclude, type SupabaseManifestActiveRow, type SupabaseManifestColumn, type SupabaseManifestHelper, type SupabaseManifestMembership, type SupabaseManifestRequires, type SupabaseManifestRls, type SupabaseManifestRole, type SupabaseManifestThrough, type SupabaseManifestValue, type SupabaseMembershipClaim, type SupabaseMembershipTable, type SupabasePermDockClaims, type SupabasePermissionRef, type SupabasePostgres, type SupabasePrincipal, type SupabaseRealtime, type SupabaseRlsConfig, type SupabaseRlsOptions, type SupabaseRpcCaller, type SupabaseRpcClient, type SupabaseRpcResult, type SupabaseSessionLike, type SupabaseStorage, type SupabaseSubjectOptions, type SupabaseSuspendedMembership, type SupabaseSuspendedScope, type SupabaseSuspension, authzVersion,
|
|
111
|
+
export { AUTHZ_VERSION_TABLE, type AuthorizeSqlOptions, type ExchangeCapabilityOptions, type MembershipHolders, type MembershipJunctionOptions, type MembershipSql, type MembershipTableOptions, type PostgrestSources, type PostgrestSourcesOptions, type RoleThrough, type SqlMembershipSource, type SqlQuery, type SubjectRecord, type SupabaseActClaim, type SupabaseActiveRow, type SupabaseActor, type SupabaseActorResult, type SupabaseApprovalStoreOptions, type SupabaseClaims, type SupabaseClaimsOptions, type SupabaseClaimsSchema, type SupabaseDelegation, type SupabaseHookClaim, type SupabaseHookManifest, type SupabaseInclude, type SupabaseManifestActiveRow, type SupabaseManifestColumn, type SupabaseManifestHelper, type SupabaseManifestMembership, type SupabaseManifestRequires, type SupabaseManifestRls, type SupabaseManifestRole, type SupabaseManifestThrough, type SupabaseManifestValue, type SupabaseMembershipClaim, type SupabaseMembershipTable, type SupabasePermDockClaims, type SupabasePermissionRef, type SupabasePostgres, type SupabasePrincipal, type SupabaseRealtime, type SupabaseRlsConfig, type SupabaseRlsOptions, type SupabaseRpcCaller, type SupabaseRpcClient, type SupabaseRpcResult, type SupabaseSessionLike, type SupabaseStorage, type SupabaseSubjectOptions, type SupabaseSuspendedMembership, type SupabaseSuspendedScope, type SupabaseSuspension, type TableApprovalDelegationSourceOptions, authzVersion, junctionMembershipSource, parseSupabaseManifest, postgrestSources, readSubjectRecord, supabaseClaims, supabaseMembershipsBudget, supabasePostgresQuery, supabaseTenantClaim, tableMembershipSource };
|
package/dist/supabase/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as supabaseClaims, i as supabaseApprovalStore, n as supabaseRls, o as exchangeCapability, r as tableApprovalDelegationSource, t as authorizeSql } from "../supabase-x5JtR2tc.js";
|
|
2
2
|
import { n as supabaseTenantClaim, t as supabaseMembershipsBudget } from "../budget-NbEtbJC_.js";
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
5
|
-
|
|
3
|
+
import { c as tableMembershipSource, i as authzVersion, o as junctionMembershipSource, s as supabasePostgresQuery, t as AUTHZ_VERSION_TABLE } from "../sources-vs5dGOsS.js";
|
|
4
|
+
import { a as delegationOf, c as subjectFromSupabaseSession, i as actorOf, n as postgrestSources, r as readSubjectRecord, s as subjectFromSupabase } from "../postgrest-DAjUkF9w.js";
|
|
5
|
+
import { t as parseSupabaseManifest } from "../manifest-C8IzW3Do.js";
|
|
6
|
+
export { AUTHZ_VERSION_TABLE, actorOf, authorizeSql, authzVersion, delegationOf, exchangeCapability, junctionMembershipSource, parseSupabaseManifest, postgrestSources, readSubjectRecord, subjectFromSupabase, subjectFromSupabaseSession, supabaseApprovalStore, supabaseClaims, supabaseMembershipsBudget, supabasePostgresQuery, supabaseRls, supabaseTenantClaim, tableApprovalDelegationSource, tableMembershipSource };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { T as Policy, ar as Subject, j as PolicyVocabulary, rr as Principal } from "../policy-types-n0uRTsW8.js";
|
|
2
|
+
import { w as Permission } from "../vocabulary-CN8H_9UF.js";
|
|
3
|
+
import { r as PermDock } from "../permdock-SV8ZINYT.js";
|
|
4
|
+
import { t as InstanceOptions } from "../instance-options-BsVpyGIk.js";
|
|
4
5
|
import { t as RequestContext } from "../request-context-C2_1lchh.js";
|
|
5
|
-
import { i as OpenApiHooks } from "../server-types-
|
|
6
|
-
import { n as ServerAdapterServices } from "../bind-
|
|
6
|
+
import { i as OpenApiHooks } from "../server-types-CKQiCnON.js";
|
|
7
|
+
import { n as ServerAdapterServices } from "../bind-DOyrv6zi.js";
|
|
7
8
|
import { Middleware } from "@supabase/middleware";
|
|
8
9
|
//#region src/supabase/middleware.d.ts
|
|
9
10
|
/**
|
|
@@ -84,5 +85,5 @@ export type SupabaseMiddlewarePermDock<V extends PolicyVocabulary = PolicyVocabu
|
|
|
84
85
|
readonly permdockHandler: () => SupabaseMiddlewareHandler;
|
|
85
86
|
readonly openapi: OpenApiHooks;
|
|
86
87
|
};
|
|
87
|
-
export declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>,
|
|
88
|
+
export declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: SupabaseMiddlewarePermDockOptions<TUser>): SupabaseMiddlewarePermDock<V>;
|
|
88
89
|
//#endregion
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { c as withApp } from "../permdock-BrAscV28.js";
|
|
3
|
+
import { t as composeWraps } from "../wrap-gX61EtpB.js";
|
|
4
|
+
import { r as credentialSubject } from "../credential-BcoiejpY.js";
|
|
5
|
+
import { a as methodNotAllowed } from "../problem-CTviyH5L.js";
|
|
6
|
+
import { r as instanceOptions } from "../build-instance-Bu_eDqYw.js";
|
|
7
|
+
import { t as createPermDock$1 } from "../create-DCF2SvoT.js";
|
|
8
|
+
import { n as attached } from "../bind-CAvgUuKs.js";
|
|
8
9
|
import { defineMiddleware } from "@supabase/middleware";
|
|
9
10
|
//#region src/supabase/middleware.ts
|
|
10
11
|
const SECRET_KEY_NAME = /^[A-Za-z0-9_-]+$/u;
|
|
@@ -22,7 +23,7 @@ function secretKeySubjects(keys, permissions) {
|
|
|
22
23
|
roles: [...key.roles],
|
|
23
24
|
permissions: key.permissions.map((permission) => ({ permission: permission.key })),
|
|
24
25
|
createdBy: key.id,
|
|
25
|
-
createdAt:
|
|
26
|
+
createdAt: "1970-01-01T00:00:00.000Z",
|
|
26
27
|
name
|
|
27
28
|
};
|
|
28
29
|
subjects.set(name, credentialSubject(credential, { permissions }));
|
|
@@ -43,12 +44,13 @@ function secretKeySubject(subjects, ctx) {
|
|
|
43
44
|
const name = readString(ctx, "authKeyName");
|
|
44
45
|
return name === void 0 ? void 0 : subjects.get(name);
|
|
45
46
|
}
|
|
46
|
-
function createPermDock(policy,
|
|
47
|
+
function createPermDock(policy, given) {
|
|
48
|
+
const options = withApp(policy, given);
|
|
47
49
|
const contexts = /* @__PURE__ */ new WeakMap();
|
|
48
50
|
const tenantOption = options.tenant;
|
|
49
51
|
const contextFor = (request) => contexts.get(request) ?? { jwtClaims: null };
|
|
50
52
|
const secretKeys = secretKeySubjects(options.secretKeys, policy.permissions);
|
|
51
|
-
const kernel =
|
|
53
|
+
const kernel = createPermDock$1(policy, compact({
|
|
52
54
|
subject: (request) => {
|
|
53
55
|
const ctx = contextFor(request);
|
|
54
56
|
return secretKeySubject(secretKeys, ctx) ?? options.subject(ctx, request);
|
|
@@ -61,7 +63,7 @@ function createPermDock(policy, options) {
|
|
|
61
63
|
webBotAuth: options.webBotAuth,
|
|
62
64
|
adapter: "supabase-middleware",
|
|
63
65
|
wrap: composeWraps(options.otel, options.wrap),
|
|
64
|
-
|
|
66
|
+
deniedResponse: options.deniedResponse
|
|
65
67
|
}));
|
|
66
68
|
const bind = (request, ctx) => {
|
|
67
69
|
contexts.set(request, ctx);
|
|
@@ -72,7 +74,7 @@ function createPermDock(policy, options) {
|
|
|
72
74
|
run: (config) => async (request, ctx) => {
|
|
73
75
|
bind(request, ctx);
|
|
74
76
|
if (config?.protect === void 0 && config?.oauthScopes === void 0) {
|
|
75
|
-
const instance = await attached(() => kernel.
|
|
77
|
+
const instance = await attached(() => kernel.getPermDock(request));
|
|
76
78
|
return instance.ok ? { permdock: instance.permdock } : instance.response;
|
|
77
79
|
}
|
|
78
80
|
const loadData = config.data;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { t as defineLeaf } from "./command-L8EstFNm.js";
|
|
2
|
+
import { c as given, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-C3DktBDY.js";
|
|
3
|
+
//#region src/cli/commands/supabase.ts
|
|
4
|
+
const hookGenerate = defineLeaf({
|
|
5
|
+
flags: {
|
|
6
|
+
out: {
|
|
7
|
+
type: "string",
|
|
8
|
+
description: "File to write",
|
|
9
|
+
valueHint: "file"
|
|
10
|
+
},
|
|
11
|
+
...checkFlag,
|
|
12
|
+
...dbUrlFlags,
|
|
13
|
+
"active-from": {
|
|
14
|
+
type: "string",
|
|
15
|
+
description: "Where the hook reads the active tenant",
|
|
16
|
+
valueHint: "source"
|
|
17
|
+
},
|
|
18
|
+
budget: {
|
|
19
|
+
type: "string",
|
|
20
|
+
description: "Byte budget for the memberships claim",
|
|
21
|
+
valueHint: "bytes"
|
|
22
|
+
},
|
|
23
|
+
schema: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "Schema for the hook function",
|
|
26
|
+
valueHint: "name"
|
|
27
|
+
},
|
|
28
|
+
schemas: {
|
|
29
|
+
type: "enum",
|
|
30
|
+
options: [
|
|
31
|
+
"pg-delta",
|
|
32
|
+
"migra",
|
|
33
|
+
"migrations"
|
|
34
|
+
],
|
|
35
|
+
description: "Schema workflow (default supabase.schemas, else pg-delta)"
|
|
36
|
+
},
|
|
37
|
+
"grants-out": {
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "migra: file for the privileges supabase db diff drops",
|
|
40
|
+
valueHint: "file"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
async run(ctx, { flags }) {
|
|
44
|
+
const out = fileOut("supabase hook generate", flags.out);
|
|
45
|
+
const db = await dbUrl(ctx, flags);
|
|
46
|
+
const activeFrom = given(flags["active-from"]);
|
|
47
|
+
const budget = given(flags.budget);
|
|
48
|
+
const schema = given(flags.schema);
|
|
49
|
+
const grantsOut = given(flags["grants-out"]);
|
|
50
|
+
const { runSupabase } = await import("./supabase-hook-CCw5m35C.js");
|
|
51
|
+
return runSupabase({
|
|
52
|
+
cwd: ctx.cwd,
|
|
53
|
+
config: ctx.config,
|
|
54
|
+
rest: ["hook", "generate"],
|
|
55
|
+
check: flags.check,
|
|
56
|
+
json: ctx.json,
|
|
57
|
+
io: ctx.io,
|
|
58
|
+
...out === void 0 ? {} : { out },
|
|
59
|
+
...db === void 0 ? {} : { db },
|
|
60
|
+
...activeFrom === void 0 ? {} : { activeFrom },
|
|
61
|
+
...budget === void 0 ? {} : { budget },
|
|
62
|
+
...schema === void 0 ? {} : { schema },
|
|
63
|
+
...grantsOut === void 0 ? {} : { grantsOut },
|
|
64
|
+
...flags.schemas === void 0 ? {} : { schemas: flags.schemas }
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
const inspect = defineLeaf({
|
|
69
|
+
flags: {
|
|
70
|
+
out: {
|
|
71
|
+
type: "string",
|
|
72
|
+
description: "File to write; a bare --out writes permdock.manifest.json",
|
|
73
|
+
valueHint: "file"
|
|
74
|
+
},
|
|
75
|
+
...checkFlag
|
|
76
|
+
},
|
|
77
|
+
async run(ctx, { flags }) {
|
|
78
|
+
const out = flags.out === "" ? true : flags.out === "-" ? void 0 : flags.out;
|
|
79
|
+
const { runSupabase } = await import("./supabase-hook-CCw5m35C.js");
|
|
80
|
+
return runSupabase({
|
|
81
|
+
cwd: ctx.cwd,
|
|
82
|
+
config: ctx.config,
|
|
83
|
+
rest: ["inspect"],
|
|
84
|
+
check: flags.check,
|
|
85
|
+
json: ctx.json,
|
|
86
|
+
io: ctx.io,
|
|
87
|
+
...out === void 0 ? {} : { out }
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
//#endregion
|
|
92
|
+
export { hookGenerate, inspect };
|