permdock 0.4.0 → 0.5.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-B4R5fnMU.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-Djo_PyZc.d.ts +57 -0
- package/dist/approvals/index.d.ts +5 -3
- package/dist/approvals/index.js +8 -5
- package/dist/approvals-DJ6Yd5z1.js +995 -0
- package/dist/arazzo-B6lebmiQ.js +36 -0
- package/dist/{arazzo-C4BcskbX.js → arazzo-BWhNF-k0.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-Dg8XsRaO.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-BMZPIVUM.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-BzqG8SMb.d.ts → bind--9EFVYWF.d.ts} +12 -10
- package/dist/{bind-kk-uyCwH.js → bind-CZzhx-Vj.js} +14 -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-BMnAudHn.js} +4 -3
- package/dist/{canonical-json-CFKyFOke.js → canonical-json-BC8_nMTw.js} +5 -3
- package/dist/{capability-CksyCWDH.d.ts → capability-BSslw1QV.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-tZUyOfOv.js → catalog-BECMPrwc.js} +51 -6
- package/dist/catalog-DjhMYYCq.js +1 -0
- package/dist/catalog-R_A__RsH.js +52 -0
- package/dist/{catalog-doc-DWtg0gGR.js → catalog-doc-C9wjsfNY.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-CIoHNevm.js +87 -0
- package/dist/codemod-Bmj9dWMH.js +37 -0
- package/dist/codemod-Cxvvc70T.js +2084 -0
- package/dist/{collect-2SrB7lfk.js → collect-CrZJJnEF.js} +75 -11
- package/dist/collect-DloHbDVa.js +55 -0
- package/dist/collect-FlXJlhus.js +1 -0
- 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-CcEu2ZQ1.js → compile-CMqMx_IN.js} +11 -8
- package/dist/{compile-CtTP7eur.d.ts → compile-Ckm2HqBZ.d.ts} +5 -3
- package/dist/completion-BqhRBJD8.js +143 -0
- package/dist/config-B46rm9sc.js +26 -0
- package/dist/{config-BIjREpyE.js → config-bs_kZeYq.js} +12 -7
- package/dist/{config-report--Xb9APJS.js → config-report-DUgj62Ai.js} +15 -5
- package/dist/{connection-DUsczpB5.js → connection-DjhIJSs2.js} +6 -5
- package/dist/{context-DieZVJXu.js → context-bbFHR-0D.js} +2 -2
- package/dist/convex/index.d.ts +11 -10
- package/dist/convex/index.js +6 -4
- package/dist/create-0VZ7Pdiu.d.ts +107 -0
- package/dist/create-BDS7wc3y.d.ts +138 -0
- package/dist/create-BFfm17UA.d.ts +110 -0
- package/dist/create-BWRSXgOF.js +403 -0
- package/dist/create-C3b4B5eF.js +130 -0
- package/dist/{create-BBO24vj6.js → create-DnrmLnLW.js} +31 -32
- package/dist/{credential-kue0qpbm.js → credential-DM2um3ha.js} +152 -31
- package/dist/credentials-DPyHmYz5.js +74 -0
- package/dist/delegation-DaXVdDhM.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-D8jDHgsl.d.ts} +5 -5
- package/dist/{describe-C3ldA9os.d.ts → describe-BZUsixiL.d.ts} +2 -2
- package/dist/{describe-Cgkp7eP0.js → describe-BybMRY7A.js} +6 -2
- package/dist/device-BARQ8eYG.js +193 -0
- package/dist/diff-CxZo9pTq.js +37 -0
- package/dist/{diff-rpqoe7Ag.js → diff-DCePiN6M.js} +60 -54
- package/dist/doctor-CxiwSfqH.js +44 -0
- package/dist/{doctor-owlv6ddh.js → doctor-DFjUxf2f.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-OD_4c__H.d.ts → errors-C2PXIv4c.d.ts} +2 -2
- package/dist/errors-CWTY6uih.js +143 -0
- package/dist/evaluate-_R8QkWaf.js +1732 -0
- package/dist/evaluations-16UqqQ6W.d.ts +32 -0
- package/dist/{evaluations-C9YJsv3H.js → evaluations-DZ2CbV5k.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-g0ypLkID.js +120 -0
- package/dist/fetch-adapter-qKJBuRqy.d.ts +31 -0
- package/dist/fields-D9tPVUUS.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-D2lZt4Dd.js} +55 -52
- package/dist/{grantee-CXY-0C87.js → grantee-Cn1HyUsI.js} +3 -3
- package/dist/{grantee-conditions-MQs5NIuX.js → grantee-conditions-CcXf8hMM.js} +4 -3
- package/dist/{grantee-match-fxYp9Nmt.js → grantee-match-DHArqY82.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-DTcZOzhF.js} +45 -38
- package/dist/hono/index.d.ts +12 -9
- package/dist/hono/index.js +13 -12
- package/dist/hosted-BZIAYvon.js +315 -0
- package/dist/hosted-DBDX0M-P.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-DMmOG27O.js} +190 -53
- package/dist/index-BcHcPyIo.d.ts +110 -0
- package/dist/index-CaxrMD1A.d.ts +1 -0
- package/dist/index-Chrs5fQ-.d.ts +210 -0
- package/dist/index-CxGUswIC.d.ts +431 -0
- package/dist/index-D8EovfsP.d.ts +91 -0
- package/dist/{index-UdVQgq48.d.ts → index-DOVf7RJv.d.ts} +431 -81
- package/dist/{index-BwMe94Xq.d.ts → index-SGdIQyzc.d.ts} +34 -16
- 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-Omfd793B.d.ts} +2 -2
- package/dist/instance-snapshot-Cxq4ygFc.js +600 -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-5JatXyND.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-CtKR3GXL.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-TCAdw-eW.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-BShP7Vf4.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-BJdBmYDG.js → openapi-DTaEmTSW.js} +10 -9
- package/dist/openapi-ahr8rHu3.js +138 -0
- package/dist/operation-findings-DgATDpvh.js +36 -0
- package/dist/operations-CxybZErY.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-Dyw8fyPF.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-BatFgAA4.js} +1698 -869
- 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-C-q02Pal.js → parse-local-manifest-CVSs6J9I.js} +1 -1
- package/dist/{parse-local-manifest-DvYUR0QL.d.ts → parse-local-manifest-DgqtruPn.d.ts} +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-B9JxkBwC.js +868 -0
- package/dist/permdock-D7eeLJER.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-CZKiUfFM.js} +4 -3
- package/dist/{permissions-COH-KRgT.d.ts → permissions-oEWfl-kl.d.ts} +1 -2
- package/dist/policies-CO1oOymN.js +295 -0
- package/dist/{policy-ur0BBK_e.d.ts → policy-Czo4n3Hs.d.ts} +2 -2
- package/dist/{hosted-CBHgkzDl.js → policy-DLZJ5gAp.js} +17 -273
- package/dist/policy-from-catalog-DzhEc3Y9.js +450 -0
- package/dist/policy-module-CTlwMvLI.js +89 -0
- package/dist/{policy-types-sp9P1iIV.d.ts → policy-types-DzwivBgR.d.ts} +434 -631
- package/dist/postgrest-CW0IqC-U.js +566 -0
- package/dist/postgrest-NUqZT-RB.d.ts +100 -0
- package/dist/powersync-BHfuehf3.js +62 -0
- package/dist/powersync-CbzkqL_M.js +1 -0
- package/dist/{powersync-cZe4kzhL.js → powersync-bYUDLOAO.js} +23 -24
- 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-DXlt-vks.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-B3_P7xuw.d.ts → protected-DEPHc2xV.d.ts} +16 -8
- package/dist/{protected-BN7BUdY1.js → protected-DfjY5mLA.js} +21 -4
- package/dist/{provider-Bi-0HNL3.js → provider-CC-u3bYP.js} +2 -2
- package/dist/{provider-kwHC9CZD.d.ts → provider-DMVt6yYn.d.ts} +1 -1
- package/dist/{provider-store-Ctt-81Ni.js → provider-store-B5Yrkhzr.js} +2 -2
- package/dist/pull-BgIfno6w.js +256 -0
- package/dist/pull-ByOks_Tg.js +1 -0
- package/dist/push-CmFVBOeI.js +116 -0
- package/dist/pushed-policy-BImMTTIM.d.ts +57 -0
- package/dist/pushed-policy-DobP7AHI.js +238 -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 +24 -22
- 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-D7iKcLFe.d.ts} +1 -1
- package/dist/{replay-BsOyTrdV.js → replay-Du1tJjG7.js} +2 -1
- package/dist/{request-context-BVM7aWNs.js → request-context-BTRTG7OT.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-BA8an5Ap.js +336 -0
- package/dist/{rls-BEktUaqg.js → rls-j6t43t7n.js} +287 -689
- package/dist/{role-builder-B4GbKM-i.js → role-builder-CXbis5-X.js} +14 -207
- package/dist/{rpc-nYC3cR_u.js → rpc-aPyNi6tA.js} +7 -7
- package/dist/run-CNsApDpd.js +1 -0
- package/dist/run-DOfMtc9V.js +723 -0
- package/dist/run-ticket-BjhTOi6u.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-FO-Q8oj0.js} +16 -14
- package/dist/scan-BOI5tJ-6.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-DqCT4CgZ.js +453 -0
- package/dist/{server-types-DdqBwZN_.d.ts → server-types-BLd4MnBX.d.ts} +51 -68
- package/dist/{sha256-BO0swRXL.js → sha256-D9ihqmvd.js} +8 -1
- package/dist/{shared-1uhI-e-b.js → shared-CD11nBbC.js} +18 -8
- package/dist/{shared-JhMeOsDF.js → shared-DvvFzYXe.js} +8 -9
- package/dist/signals-D3NcTKUS.js +32 -0
- package/dist/sink-BEZSlMS_.js +957 -0
- package/dist/sink-Bj_lDUDq.d.ts +225 -0
- package/dist/{skills-BZdRQkxs.js → skills-B6lVdD_W.js} +13 -6
- package/dist/skills-CTYwkl44.js +51 -0
- package/dist/snapshot-CXUWfsNy.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-DqK9eDmM.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-BV9j0DeZ.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-DLfUWFAI.js +1851 -0
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +384 -47
- package/dist/standard-webhooks-6lg8v_is.d.ts +88 -0
- package/dist/standard-webhooks-DgFFD-Ga.js +228 -0
- package/dist/storage-C2bWdvJH.js +132 -0
- package/dist/{store-ILkLUj_o.js → store-4u_hxjWa.js} +40 -53
- package/dist/{store-options-CbUHDoSe.js → store-options-BqEakYRa.js} +26 -21
- package/dist/{stores-BHXdSbw9.js → stores-BbsD4fAR.js} +2 -2
- package/dist/{stores-Cxz_80g-.d.ts → stores-ClZUgeoP.d.ts} +7 -8
- package/dist/{stream-Dwsg6WwE.d.ts → stream-7-xmnf3U.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-9pqI57pW.js +92 -0
- package/dist/{supabase-C1TWlnYt.js → supabase-Dxlp8A94.js} +98 -205
- package/dist/supabase-hook-CXcGpHqq.js +1 -0
- package/dist/{supabase-hook-Cva3ikXz.js → supabase-hook-DdDQhMlw.js} +951 -60
- 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-7rJVLWe5.d.ts → types-5Ut_pbKy.d.ts} +61 -11
- package/dist/{store-9KO4BlkB.d.ts → types-BNORmDM8.d.ts} +100 -75
- package/dist/types-BjV-fqcA.d.ts +57 -0
- package/dist/{types-CUcFZfpU.d.ts → types-BqAKcRNW.d.ts} +2 -1
- package/dist/types-C8-KNsFf.d.ts +107 -0
- package/dist/{types-Br9IXUBG.d.ts → types-CCpc2Dcv.d.ts} +77 -17
- package/dist/{types-DpWfQdSh.d.ts → types-CZTnPFzM.d.ts} +46 -11
- package/dist/{types-CqrjB9o6.d.ts → types-CdlxsYQh.d.ts} +23 -11
- package/dist/{types-CIlTojhq.d.ts → types-ClZaWzfb.d.ts} +9 -6
- package/dist/types-DX0LaKTb.d.ts +157 -0
- package/dist/types-DiQjupG2.d.ts +332 -0
- package/dist/types-DqzsnlSA.js +67 -0
- package/dist/types-_sHy8BQf.d.ts +65 -0
- package/dist/{types-ByUo56un.d.ts → types-fbZ7JEXr.d.ts} +23 -22
- package/dist/{types-DHrmBJLH.d.ts → types-tIgIeIKJ.d.ts} +7 -7
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-CHOtwL19.js +1 -0
- package/dist/usage-DHtE8j4E.js +32 -0
- package/dist/{usage-CG9nOYZw.js → usage-T5mXq98v.js} +54 -11
- package/dist/{validation-error-BSSw0l_8.d.ts → validation-error-Bg5Tpluk.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-DbCL9bnB.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-D6lPdb4Z.d.ts} +65 -2
- package/dist/vue/index.d.ts +9 -10
- package/dist/vue/index.js +8 -8
- package/dist/waiter-BGUtGYoU.js +67 -0
- package/dist/waiter-CKy4MQSY.d.ts +36 -0
- package/dist/watch-Cb-NcaUw.js +1 -0
- package/dist/{watch-zeucB7eF.js → watch-CszoTJMq.js} +44 -5
- package/dist/webmcp/index.d.ts +2 -2
- package/dist/webmcp/index.js +3 -3
- package/dist/where-scope-Dv-WTP-w.js +306 -0
- package/dist/who-can-D0QoYbEb.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-Bd1Tejur.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 +9 -8
- 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 +5 -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/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,7 +1,7 @@
|
|
|
1
|
-
import { t as packageRoot } from "./package-root-
|
|
1
|
+
import { t as packageRoot } from "./package-root-Dk_ETdkp.js";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
//#region src/cli/version.ts
|
|
4
|
+
//#region src/cli/core/version.ts
|
|
5
5
|
function cliVersion() {
|
|
6
6
|
return JSON.parse(readFileSync(join(packageRoot(), "package.json"), "utf8")).version;
|
|
7
7
|
}
|
|
@@ -13,5 +13,6 @@ const SUPABASE_MANIFEST_SCHEMA = "https://permdock.com/schemas/supabase-manifest
|
|
|
13
13
|
const USAGE_REPORT_SCHEMA = "https://permdock.com/schemas/usage-report-v1.json";
|
|
14
14
|
const DOCTOR_REPORT_SCHEMA = "https://permdock.com/schemas/doctor-report-v1.json";
|
|
15
15
|
const CONFIG_REPORT_SCHEMA = "https://permdock.com/schemas/config-report-v1.json";
|
|
16
|
+
const ARAZZO_REPORT_SCHEMA = "https://permdock.com/schemas/arazzo-report-v1.json";
|
|
16
17
|
//#endregion
|
|
17
|
-
export {
|
|
18
|
+
export { SUPABASE_MANIFEST_SCHEMA as a, generatorBanner as c, DOCTOR_REPORT_SCHEMA as i, CATALOG_SCHEMA as n, USAGE_REPORT_SCHEMA as o, CONFIG_REPORT_SCHEMA as r, cliVersion as s, ARAZZO_REPORT_SCHEMA as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { s as cliVersion } from "./version-CEbQ5UeM.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as requiredPlans } from "./problem-details-cn5X30gZ.js";
|
|
2
|
+
import { t as describe } from "./describe-BybMRY7A.js";
|
|
2
3
|
//#region src/client/views.ts
|
|
3
4
|
function permissionSet(store, permissions, data) {
|
|
4
5
|
const granted = [];
|
|
@@ -73,7 +74,7 @@ function protectedView(local, root, permission, data, scoped) {
|
|
|
73
74
|
};
|
|
74
75
|
if (!state.allowed || decision.outcome !== "granted") return {
|
|
75
76
|
...state,
|
|
76
|
-
slot: "
|
|
77
|
+
slot: "denied"
|
|
77
78
|
};
|
|
78
79
|
return {
|
|
79
80
|
allowed: true,
|
|
@@ -101,8 +102,8 @@ function approvalHandle(store, decision) {
|
|
|
101
102
|
function slotContent(slot, own, defaults) {
|
|
102
103
|
switch (slot) {
|
|
103
104
|
case "pending": return own.pending ?? defaults?.pending;
|
|
104
|
-
case "
|
|
105
|
-
case "approval": return own.approval ?? own.
|
|
105
|
+
case "denied": return own.denied ?? defaults?.denied;
|
|
106
|
+
case "approval": return own.approval ?? own.denied ?? defaults?.approval ?? defaults?.denied;
|
|
106
107
|
default: return slot;
|
|
107
108
|
}
|
|
108
109
|
}
|
|
@@ -113,5 +114,21 @@ function describeWith(messages) {
|
|
|
113
114
|
messages
|
|
114
115
|
});
|
|
115
116
|
}
|
|
117
|
+
/** The `GateView` of a permission state; `describeDecision` localises the reason. */
|
|
118
|
+
function gateView(state, describeDecision, mode = "disable") {
|
|
119
|
+
const pending = state.status === "pending";
|
|
120
|
+
const needsApproval = state.decision.outcome === "approval-required";
|
|
121
|
+
const allowed = state.allowed && !pending;
|
|
122
|
+
return {
|
|
123
|
+
allowed,
|
|
124
|
+
pending,
|
|
125
|
+
hidden: mode === "hide" && !allowed && !pending && !needsApproval,
|
|
126
|
+
disabled: !allowed,
|
|
127
|
+
needsApproval,
|
|
128
|
+
upgrade: requiredPlans(state.decision),
|
|
129
|
+
reason: describeDecision(state.decision),
|
|
130
|
+
decision: state.decision
|
|
131
|
+
};
|
|
132
|
+
}
|
|
116
133
|
//#endregion
|
|
117
|
-
export {
|
|
134
|
+
export { livePermDock as a, rolesView as c, subjectView as d, tenantView as f, gateView as i, scopedTenant as l, describeWith as n, permissionSet as o, filterResult as r, protectedView as s, approvalHandle as t, slotContent as u };
|
|
@@ -28,7 +28,7 @@ declare const RESOURCE_X: unique symbol;
|
|
|
28
28
|
//#endregion
|
|
29
29
|
//#region src/core/permission-types.d.ts
|
|
30
30
|
/** `definePermissions` options. */
|
|
31
|
-
type
|
|
31
|
+
type PermissionsOptions<PX = never, RX = never> = {
|
|
32
32
|
/**
|
|
33
33
|
* Keys a permission used to have, mapped to its current key. Old keys are
|
|
34
34
|
* accepted wherever a key arrives as a string (stored custom roles, OAuth
|
|
@@ -239,4 +239,67 @@ type LeavesFrom<Prefix extends string, Names extends string, T, Kind extends Per
|
|
|
239
239
|
type InferResourceLeaves<R extends ResourceInit, Prefix extends string, X = never> = R extends ResourceInit<infer T, infer A, infer C> ? LeavesFrom<Prefix, ActionNames<A>, T, "instance", X> & LeavesFrom<Prefix, ActionNames<C>, T, "collection", X> : object;
|
|
240
240
|
type InferPermissionTree<Input, Prefix extends string = "", X = never> = Input extends ResourceInit ? InferResourceLeaves<Input, Prefix, X> : Input extends Record<string, unknown> ? { readonly [K in keyof Input & string]: InferPermissionTree<Input[K], Prefix extends "" ? K : `${Prefix}.${K}`, X>; } : never;
|
|
241
241
|
//#endregion
|
|
242
|
-
|
|
242
|
+
//#region src/core/vocabulary.d.ts
|
|
243
|
+
declare const ROLE_KIND: "role";
|
|
244
|
+
declare const PLAN_KIND: "plan";
|
|
245
|
+
/** `defineRoles` and `definePlans` options. */
|
|
246
|
+
type VocabularyOptions<X = never> = {
|
|
247
|
+
/**
|
|
248
|
+
* A Standard Schema for every leaf's `meta.x`, validated synchronously at
|
|
249
|
+
* definition time. On a role tree it also checks the `meta.x` of custom
|
|
250
|
+
* roles a `CustomRoleSource` returns; an invalid one is dropped, not the role.
|
|
251
|
+
*/
|
|
252
|
+
readonly x?: AppDataSchema<X>;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* A role's metadata. `audience` names the surface its holders use (`'staff'`,
|
|
256
|
+
* `'portal'`, `'platform'`); `permdock.audiences()` lists the distinct
|
|
257
|
+
* audiences of the roles held in the active scope.
|
|
258
|
+
*/
|
|
259
|
+
type RoleMeta = ActionMeta & {
|
|
260
|
+
readonly audience?: string;
|
|
261
|
+
};
|
|
262
|
+
type Role<K extends string = string> = {
|
|
263
|
+
readonly key: K;
|
|
264
|
+
/** A declared scope name, or the `tenant` / `team` alias. */
|
|
265
|
+
readonly on?: string;
|
|
266
|
+
readonly assignable: boolean;
|
|
267
|
+
readonly meta: RoleMeta;
|
|
268
|
+
readonly kind: typeof ROLE_KIND;
|
|
269
|
+
};
|
|
270
|
+
type Plan<K extends string = string> = {
|
|
271
|
+
readonly key: K;
|
|
272
|
+
readonly meta: ActionMeta;
|
|
273
|
+
readonly kind: typeof PLAN_KIND;
|
|
274
|
+
};
|
|
275
|
+
type RoleInit = {
|
|
276
|
+
/** A declared scope name, or the `tenant` / `team` alias. */
|
|
277
|
+
readonly on?: string;
|
|
278
|
+
readonly assignable?: boolean;
|
|
279
|
+
readonly meta?: RoleMeta;
|
|
280
|
+
};
|
|
281
|
+
type PlanInit = {
|
|
282
|
+
readonly meta?: ActionMeta;
|
|
283
|
+
};
|
|
284
|
+
type RoleTree = {
|
|
285
|
+
readonly [key: string]: Role;
|
|
286
|
+
};
|
|
287
|
+
type PlanTree = {
|
|
288
|
+
readonly [key: string]: Plan;
|
|
289
|
+
};
|
|
290
|
+
type Vocabulary = {
|
|
291
|
+
readonly permissions?: unknown;
|
|
292
|
+
readonly roles?: RoleTree;
|
|
293
|
+
readonly plans?: PlanTree;
|
|
294
|
+
};
|
|
295
|
+
type InferRoleTree<Input, X = never> = { readonly [K in keyof Input & string]: WithX<Role<K>, X>; };
|
|
296
|
+
type InferPlanTree<Input, X = never> = { readonly [K in keyof Input & string]: WithX<Plan<K>, X>; };
|
|
297
|
+
declare function isRole(value: unknown): value is Role;
|
|
298
|
+
declare function isPlan(value: unknown): value is Plan;
|
|
299
|
+
declare function defineRoles<const Input extends Record<string, RoleInit>, X = never>(input: Input, options?: VocabularyOptions<X>): InferRoleTree<Input, X>;
|
|
300
|
+
declare function definePlans<const Input extends Record<string, PlanInit>, X = never>(input: Input, options?: VocabularyOptions<X>): InferPlanTree<Input, X>;
|
|
301
|
+
declare function listRoles(tree: RoleTree | undefined): readonly Role[];
|
|
302
|
+
declare function listPlans(tree: PlanTree | undefined): readonly Plan[];
|
|
303
|
+
declare function findRole(tree: RoleTree | undefined, key: string): Role | undefined;
|
|
304
|
+
//#endregion
|
|
305
|
+
export { ResourceLevel as A, RESOURCE_X as B, InferPermissionTree as C, PermissionsOptions as D, PermissionTree as E, ResourceParent as F, AppDataSchema as H, ResourceRelation as I, ResourceRelationInput as L, ResourceMeta as M, ResourceNode as N, PrincipalRelation as O, ResourceOptions as P, ResourceRestricted as R, FieldRelation as S, PermissionKind as T, MetaValue as U, AppData as V, ComputedRelation as _, RoleTree as a, EdgeMatch as b, definePlans as c, isPlan as d, isRole as f, ActionMeta as g, ActionList as h, RoleMeta as i, ResourceLink as j, ResourceInit as k, defineRoles as l, listRoles as m, PlanTree as n, Vocabulary as o, listPlans as p, Role as r, VocabularyOptions as s, Plan as t, findRole as u, EdgeGroup as v, Permission as w, EdgeRelation as x, EdgeGroups as y, ResourceXTree as z };
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { i as describe, r as DescribeOptions, t as DecisionDescription } from "../describe-C3ldA9os.js";
|
|
1
|
+
import { Mn as ApprovalRequiredDecision, Nn as Decision, Vt as Snapshot, dt as TokenVerifier, nr as Membership } from "../policy-types-DzwivBgR.js";
|
|
2
|
+
import { r as Role, w as Permission } from "../vocabulary-D6lPdb4Z.js";
|
|
3
|
+
import { n as requiredPlans } from "../problem-details-DXlt-vks.js";
|
|
4
|
+
import { i as describe, r as DescribeOptions, t as DecisionDescription } from "../describe-BZUsixiL.js";
|
|
6
5
|
import { t as PermissionBoundaryState } from "../boundary-BmHxVH1J.js";
|
|
7
|
-
import { t as approvalHeaders } from "../headers-
|
|
8
|
-
import { a as
|
|
6
|
+
import { t as approvalHeaders } from "../headers-CIbDTUTK.js";
|
|
7
|
+
import { a as FilterResult, c as PermissionSet, d as RolesOptions, f as SubjectView, i as ClientStatus, l as PermissionState, n as ApprovalState, p as TenantView, r as ClientPermDock, t as ApprovalHandle, u as ProviderOptionsBase } from "../types-BNORmDM8.js";
|
|
9
8
|
import { ComputedRef, DefineComponent, MaybeRefOrGetter, Plugin, VNode } from "vue";
|
|
10
9
|
//#region src/vue/types.d.ts
|
|
11
10
|
type PermDockPluginOptions = ProviderOptionsBase & {
|
|
@@ -28,7 +27,7 @@ type SlotOutput = VNode | VNode[] | string | null;
|
|
|
28
27
|
/** Render functions for the `<Protected>` slots a component leaves out; they get the slot props. */
|
|
29
28
|
type PermDockDefaults = {
|
|
30
29
|
readonly pending?: () => SlotOutput;
|
|
31
|
-
readonly
|
|
30
|
+
readonly denied?: (props: {
|
|
32
31
|
readonly decision: Decision;
|
|
33
32
|
}) => SlotOutput;
|
|
34
33
|
readonly approval?: (props: {
|
|
@@ -47,7 +46,7 @@ export declare function usePermissions(permissions: MaybeRefOrGetter<readonly Pe
|
|
|
47
46
|
export declare function useFilter<T>(permission: Permission<string, T, "instance">, rows: MaybeRefOrGetter<readonly T[]>): ComputedRef<FilterResult<T>>;
|
|
48
47
|
export declare function useTenant(): ComputedRef<TenantView>;
|
|
49
48
|
export declare function useMemberships(): ComputedRef<readonly Membership[]>;
|
|
50
|
-
export declare function useRoles(options?: MaybeRefOrGetter<
|
|
49
|
+
export declare function useRoles(options?: MaybeRefOrGetter<RolesOptions>): ComputedRef<{
|
|
51
50
|
readonly roles: readonly Role[];
|
|
52
51
|
}>;
|
|
53
52
|
export declare function useAssignableRoles(): ComputedRef<readonly Role[]>;
|
|
@@ -81,4 +80,4 @@ type ProtectedProps = {
|
|
|
81
80
|
};
|
|
82
81
|
export declare const Protected: DefineComponent<ProtectedProps>;
|
|
83
82
|
//#endregion
|
|
84
|
-
export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockDefaults, type PermDockPluginOptions, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedProps, type
|
|
83
|
+
export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockDefaults, type PermDockPluginOptions, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedProps, type RolesOptions, type SubjectView, type TenantView, approvalHeaders, describe, requiredPlans };
|
package/dist/vue/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { r as requiredPlans } from "../problem-details-
|
|
2
|
-
import { t as describe } from "../describe-
|
|
3
|
-
import { t as approvalHeaders } from "../headers-BZSDieNT.js";
|
|
4
|
-
import { i as isPromiseLike } from "../store-options-CbUHDoSe.js";
|
|
5
|
-
import { a as permissionSet, c as scopedTenant, d as tenantView, i as livePermDock, l as slotContent, n as describeWith, o as protectedView, r as filterResult, s as rolesView, t as approvalHandle, u as subjectView } from "../views-CJsrBS1f.js";
|
|
1
|
+
import { r as requiredPlans } from "../problem-details-cn5X30gZ.js";
|
|
2
|
+
import { t as describe } from "../describe-BybMRY7A.js";
|
|
6
3
|
import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BM8a_P6E.js";
|
|
7
|
-
import {
|
|
4
|
+
import { t as approvalHeaders } from "../headers-BIjfMaoC.js";
|
|
5
|
+
import { i as isPromiseLike } from "../store-options-BqEakYRa.js";
|
|
6
|
+
import { n as switchTenant, t as providerStore } from "../provider-store-B5Yrkhzr.js";
|
|
7
|
+
import { a as livePermDock, c as rolesView, d as subjectView, f as tenantView, l as scopedTenant, n as describeWith, o as permissionSet, r as filterResult, s as protectedView, t as approvalHandle, u as slotContent } from "../views-DTIIO-oQ.js";
|
|
8
8
|
import { computed, defineComponent, effectScope, getCurrentScope, inject, isRef, onErrorCaptured, onScopeDispose, provide, shallowRef, toValue, watch } from "vue";
|
|
9
9
|
//#region src/vue/context.ts
|
|
10
10
|
const permDockKey = Symbol("permdock");
|
|
@@ -195,12 +195,12 @@ const Protected = defineComponent({
|
|
|
195
195
|
}, root, props.permission, props.data, scoped.value);
|
|
196
196
|
const own = {
|
|
197
197
|
pending: slots["pending"],
|
|
198
|
-
|
|
198
|
+
denied: slots["denied"],
|
|
199
199
|
approval: slots["approval"]
|
|
200
200
|
};
|
|
201
201
|
switch (view.slot) {
|
|
202
202
|
case "pending": return slotContent("pending", own, defaults)?.() ?? null;
|
|
203
|
-
case "
|
|
203
|
+
case "denied": return slotContent("denied", own, defaults)?.({ decision: view.decision }) ?? null;
|
|
204
204
|
case "approval": return slotContent("approval", own, defaults)?.({ decision: view.decision }) ?? null;
|
|
205
205
|
case "default": return slots["default"]?.({ decision: view.decision }) ?? null;
|
|
206
206
|
default: return view;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { f as nowMillis } from "./time-DkWjdL98.js";
|
|
2
|
+
//#region src/workflow/waiter.ts
|
|
3
|
+
const DEFAULT_INTERVAL = 5e3;
|
|
4
|
+
/**
|
|
5
|
+
* An in-process `ApprovalWaiter` that reads `store` every `interval`
|
|
6
|
+
* milliseconds. `wake` ends a wait in the same process at once. A store read
|
|
7
|
+
* that throws counts as still pending until the request expires.
|
|
8
|
+
*/
|
|
9
|
+
function pollingApprovalWaiter(options) {
|
|
10
|
+
const interval = options.interval ?? DEFAULT_INTERVAL;
|
|
11
|
+
if (!Number.isFinite(interval) || interval <= 0) throw new RangeError("PermDock: pollingApprovalWaiter interval must be a positive number");
|
|
12
|
+
const woken = /* @__PURE__ */ new Map();
|
|
13
|
+
const decided = async (token) => {
|
|
14
|
+
try {
|
|
15
|
+
return (await options.store.get(token))?.status !== "pending";
|
|
16
|
+
} catch {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
return Object.freeze({
|
|
21
|
+
wait(token, waitOptions = {}) {
|
|
22
|
+
const { signal, expiresAt } = waitOptions;
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
let timer;
|
|
25
|
+
const listeners = woken.get(token) ?? /* @__PURE__ */ new Set();
|
|
26
|
+
woken.set(token, listeners);
|
|
27
|
+
const finish = (error) => {
|
|
28
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
29
|
+
listeners.delete(done);
|
|
30
|
+
if (listeners.size === 0) woken.delete(token);
|
|
31
|
+
signal?.removeEventListener("abort", aborted);
|
|
32
|
+
if (error === void 0) resolve();
|
|
33
|
+
else reject(error);
|
|
34
|
+
};
|
|
35
|
+
const done = () => {
|
|
36
|
+
finish();
|
|
37
|
+
};
|
|
38
|
+
const aborted = () => {
|
|
39
|
+
const reason = signal?.reason;
|
|
40
|
+
finish(reason instanceof Error ? reason : new Error("PermDock: approval wait aborted", { cause: reason }));
|
|
41
|
+
};
|
|
42
|
+
if (signal?.aborted === true) {
|
|
43
|
+
aborted();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
listeners.add(done);
|
|
47
|
+
signal?.addEventListener("abort", aborted, { once: true });
|
|
48
|
+
const poll = async () => {
|
|
49
|
+
if (!listeners.has(done)) return;
|
|
50
|
+
if (expiresAt !== void 0 && expiresAt.epochMilliseconds <= nowMillis() || await decided(token)) {
|
|
51
|
+
finish();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (listeners.has(done)) timer = setTimeout(() => {
|
|
55
|
+
poll();
|
|
56
|
+
}, interval);
|
|
57
|
+
};
|
|
58
|
+
poll();
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
wake(token) {
|
|
62
|
+
for (const listener of woken.get(token) ?? []) listener();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { pollingApprovalWaiter as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Rt as Instant } from "./policy-types-DzwivBgR.js";
|
|
2
|
+
import { m as ApprovalStore } from "./types-CCpc2Dcv.js";
|
|
3
|
+
//#region src/workflow/waiter.d.ts
|
|
4
|
+
type ApprovalWaitOptions = {
|
|
5
|
+
/** When the approval request expires; the wait ends then whatever the store says. */
|
|
6
|
+
readonly expiresAt?: Instant;
|
|
7
|
+
/** Aborting rejects the wait with the signal's reason. */
|
|
8
|
+
readonly signal?: AbortSignal;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Suspends a run until an approval request is decided. `wait` resolves once
|
|
12
|
+
* the request is no longer pending, `wake` is called for its token, or it
|
|
13
|
+
* expires; it never says how the request was decided, so the caller always
|
|
14
|
+
* decides again with the token. A durable runner implements it with its own
|
|
15
|
+
* suspension primitive.
|
|
16
|
+
*/
|
|
17
|
+
type ApprovalWaiter = {
|
|
18
|
+
/** Names the implementation in errors and events. */
|
|
19
|
+
readonly name?: string;
|
|
20
|
+
wait(token: string, options?: ApprovalWaitOptions): Promise<void>;
|
|
21
|
+
/** Called after an approver resolves the request for `token`. */
|
|
22
|
+
wake(token: string): void | Promise<void>;
|
|
23
|
+
};
|
|
24
|
+
type PollingApprovalWaiterOptions = {
|
|
25
|
+
readonly store: ApprovalStore;
|
|
26
|
+
/** Milliseconds between reads of the store. Defaults to 5000. */
|
|
27
|
+
readonly interval?: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* An in-process `ApprovalWaiter` that reads `store` every `interval`
|
|
31
|
+
* milliseconds. `wake` ends a wait in the same process at once. A store read
|
|
32
|
+
* that throws counts as still pending until the request expires.
|
|
33
|
+
*/
|
|
34
|
+
declare function pollingApprovalWaiter(options: PollingApprovalWaiterOptions): ApprovalWaiter;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { pollingApprovalWaiter as i, ApprovalWaiter as n, PollingApprovalWaiterOptions as r, ApprovalWaitOptions as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { i as watchCollect } from "./watch-CszoTJMq.js";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { i as
|
|
1
|
+
import { i as dateAt } from "./time-DkWjdL98.js";
|
|
2
|
+
import { a as describeError } from "./errors-CWTY6uih.js";
|
|
2
3
|
import { t as defaultSrcPath } from "./files-D_JIzUrP.js";
|
|
3
|
-
import { r as runCollect } from "./collect-
|
|
4
|
-
import { n as isConfigFile, r as loadConfig } from "./config-
|
|
4
|
+
import { r as runCollect } from "./collect-CrZJJnEF.js";
|
|
5
|
+
import { n as isConfigFile, r as loadConfig } from "./config-bs_kZeYq.js";
|
|
5
6
|
import { watch } from "node:fs";
|
|
6
7
|
import { basename, dirname, relative, resolve, sep } from "node:path";
|
|
7
8
|
//#region src/cli/watch.ts
|
|
@@ -19,7 +20,7 @@ function within(dirs, file) {
|
|
|
19
20
|
return path !== "" && !path.startsWith("..") && !path.startsWith(sep);
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
|
-
async function collectOnce(cwd, options, check, fresh, configFile, now = () =>
|
|
23
|
+
async function collectOnce(cwd, options, check, fresh, configFile, now = () => dateAt()) {
|
|
23
24
|
const config = await loadConfig(cwd, configFile, { fresh });
|
|
24
25
|
const collect = {
|
|
25
26
|
...config.collect,
|
|
@@ -124,5 +125,43 @@ function createCollectScheduler(cwd, options, settings) {
|
|
|
124
125
|
close
|
|
125
126
|
};
|
|
126
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* `collect --watch`: one collect now, then one per change until Ctrl-C.
|
|
130
|
+
* Under `--json` each collect is an NDJSON event on stdout; otherwise a
|
|
131
|
+
* line on stderr.
|
|
132
|
+
*/
|
|
133
|
+
async function watchCollect(ctx, overrides) {
|
|
134
|
+
const emit = (status, message) => {
|
|
135
|
+
if (ctx.json) ctx.io.stdout(`${JSON.stringify({
|
|
136
|
+
event: "collect",
|
|
137
|
+
status,
|
|
138
|
+
message,
|
|
139
|
+
at: dateAt().toISOString()
|
|
140
|
+
})}\n`);
|
|
141
|
+
else ctx.log(message);
|
|
142
|
+
};
|
|
143
|
+
const scheduler = createCollectScheduler(ctx.cwd, { collect: overrides }, {
|
|
144
|
+
...ctx.configFile === void 0 ? {} : { configFile: ctx.configFile },
|
|
145
|
+
report: (message) => {
|
|
146
|
+
emit(message === void 0 ? "success" : "error", message ?? "catalog updated");
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
try {
|
|
150
|
+
const message = await scheduler.run(false);
|
|
151
|
+
emit(message === void 0 ? "success" : "error", message ?? "catalog written");
|
|
152
|
+
} catch (error) {
|
|
153
|
+
emit("error", describeError(error));
|
|
154
|
+
}
|
|
155
|
+
scheduler.watch();
|
|
156
|
+
ctx.signal.addEventListener("abort", () => {
|
|
157
|
+
scheduler.close();
|
|
158
|
+
});
|
|
159
|
+
ctx.log("watching for changes; Ctrl-C to stop");
|
|
160
|
+
return {
|
|
161
|
+
code: 0,
|
|
162
|
+
output: "",
|
|
163
|
+
streamed: true
|
|
164
|
+
};
|
|
165
|
+
}
|
|
127
166
|
//#endregion
|
|
128
|
-
export { createCollectScheduler as n, report as r, collectOnce as t };
|
|
167
|
+
export { watchCollect as i, createCollectScheduler as n, report as r, collectOnce as t };
|
package/dist/webmcp/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Nn as Decision, Vt as Snapshot } from "../policy-types-DzwivBgR.js";
|
|
2
|
+
import { E as PermissionTree, w as Permission } from "../vocabulary-D6lPdb4Z.js";
|
|
3
3
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
4
4
|
//#region src/webmcp/types.d.ts
|
|
5
5
|
type WebMcpClientStatus = "ready" | "pending" | "stale" | "server-only";
|
package/dist/webmcp/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as isRecord, t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as isThenable, t as ignoreRejection } from "../thenable-QSmvt-vZ.js";
|
|
3
2
|
import { n as PermDockValidationError } from "../validation-error-ZfUHbKvf.js";
|
|
4
|
-
import { c as listPermissions, f as resourceOfNode, i as getRegistry, m as annotationsFor, s as isRegistryTree } from "../permission-registry-
|
|
3
|
+
import { c as listPermissions, f as resourceOfNode, i as getRegistry, m as annotationsFor, s as isRegistryTree } from "../permission-registry-Br4jSNVi.js";
|
|
4
|
+
import { n as isThenable, t as ignoreRejection } from "../thenable-yD7SabqG.js";
|
|
5
5
|
import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
|
|
6
|
-
import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-
|
|
6
|
+
import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-CMLN5xhn.js";
|
|
7
7
|
//#region src/webmcp/register.ts
|
|
8
8
|
const MISSING_CONTEXT = "permdock/webmcp: document.modelContext is absent; registerTools is a no-op.";
|
|
9
9
|
const CURRENT = Symbol.for("permdock.current");
|