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
package/dist/clerk/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { s as RemotePdpCache } from "../types-
|
|
1
|
+
import { W as CustomRoleSource, ir as Subject, rr as Principal } from "../policy-types-DzwivBgR.js";
|
|
2
|
+
import { w as Permission } from "../vocabulary-D6lPdb4Z.js";
|
|
3
|
+
import { s as RemotePdpCache } from "../types-ClZaWzfb.js";
|
|
4
|
+
import { t as ClaimsMap } from "../claims-map-Ca-QX8C6.js";
|
|
4
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
5
6
|
//#region src/clerk/types.d.ts
|
|
6
7
|
type ClerkPrincipal = Principal & {
|
|
@@ -30,14 +31,14 @@ type ClerkBackend = {
|
|
|
30
31
|
} | readonly ClerkMembershipListItem[]>;
|
|
31
32
|
};
|
|
32
33
|
};
|
|
33
|
-
type ClerkGlobalRoles = string | ((claims: Readonly<Record<string, unknown>>) => readonly string[]);
|
|
34
34
|
type ClerkSubjectOptions = {
|
|
35
35
|
readonly memberships?: "active" | "all";
|
|
36
36
|
readonly backend?: ClerkBackend;
|
|
37
|
-
readonly customRoles?:
|
|
37
|
+
readonly customRoles?: CustomRoleSource;
|
|
38
38
|
readonly permissions?: Readonly<Record<string, Permission>>;
|
|
39
39
|
readonly schema?: StandardSchemaV1;
|
|
40
|
-
|
|
40
|
+
/** Where the session token carries platform roles (`claims.roles`): a path such as `publicMetadata.staff`, or a function. Organization roles come from the `o` claim. */
|
|
41
|
+
readonly claims?: Pick<ClaimsMap, "roles">;
|
|
41
42
|
readonly features?: Readonly<Record<string, string>>;
|
|
42
43
|
readonly declared?: readonly string[];
|
|
43
44
|
};
|
|
@@ -60,6 +61,6 @@ export declare function subjectFromClerk(authObject: unknown, options?: ClerkSub
|
|
|
60
61
|
* A resolver that keeps each user's `memberships: 'all'` list for
|
|
61
62
|
* `cache.ttl` (at most 30 seconds), so a removed membership grants until then.
|
|
62
63
|
*/
|
|
63
|
-
export declare function
|
|
64
|
+
export declare function clerkSubjectResolver(options?: ClerkSubjectResolverOptions): (authObject: unknown) => Promise<Subject<ClerkPrincipal>>;
|
|
64
65
|
//#endregion
|
|
65
|
-
export type { ClerkAuthObject, ClerkBackend,
|
|
66
|
+
export type { ClerkAuthObject, ClerkBackend, ClerkMembershipListItem, ClerkPrincipal, ClerkSubjectOptions, ClerkSubjectResolverOptions };
|
package/dist/clerk/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { i as omitKeys, r as isRecord, t as compact } from "../compact-CAf557ZB.js";
|
|
2
2
|
import { n as freezeDeep } from "../freeze-CrU8nQeX.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as anonymousSubject } from "../subject-
|
|
5
|
-
import {
|
|
3
|
+
import { r as validateRecord } from "../thenable-yD7SabqG.js";
|
|
4
|
+
import { t as anonymousSubject } from "../subject-BGoM5o8B.js";
|
|
5
|
+
import { t as readClaim } from "../claims-map-7oQ3ue4X.js";
|
|
6
|
+
import { c as ttlMs, s as ttlCache } from "../shared-DvvFzYXe.js";
|
|
6
7
|
//#region src/clerk/subject.ts
|
|
7
8
|
function asRoles(value) {
|
|
8
9
|
if (typeof value === "string") return value === "" ? [] : [value];
|
|
@@ -80,14 +81,8 @@ function featureRoles(fea, map) {
|
|
|
80
81
|
sources
|
|
81
82
|
};
|
|
82
83
|
}
|
|
83
|
-
function globalRolesFrom(claims,
|
|
84
|
-
|
|
85
|
-
if (typeof option === "function") try {
|
|
86
|
-
return asRoles(option(claims));
|
|
87
|
-
} catch {
|
|
88
|
-
return [];
|
|
89
|
-
}
|
|
90
|
-
return asRoles(readPath(claims, option));
|
|
84
|
+
function globalRolesFrom(claims, path) {
|
|
85
|
+
return path === void 0 ? [] : asRoles(readClaim(claims, path));
|
|
91
86
|
}
|
|
92
87
|
function splitList(value) {
|
|
93
88
|
return typeof value === "string" ? value.split(",").map((item) => item.trim()).filter((item) => item !== "") : [];
|
|
@@ -206,7 +201,7 @@ function subjectFromClerk(authObject, options = {}) {
|
|
|
206
201
|
* A resolver that keeps each user's `memberships: 'all'` list for
|
|
207
202
|
* `cache.ttl` (at most 30 seconds), so a removed membership grants until then.
|
|
208
203
|
*/
|
|
209
|
-
function
|
|
204
|
+
function clerkSubjectResolver(options = {}) {
|
|
210
205
|
const { cache, ...rest } = options;
|
|
211
206
|
const lists = ttlCache(ttlMs(cache));
|
|
212
207
|
const load = async (backend, userId) => {
|
|
@@ -249,7 +244,7 @@ async function fromClerk(authObject, options, loadMemberships) {
|
|
|
249
244
|
})];
|
|
250
245
|
let claims = extraClaims(mapped.claims);
|
|
251
246
|
if (options.schema !== void 0) claims = validateRecord(options.schema, claims) ?? {};
|
|
252
|
-
const global = [...globalRolesFrom(mapped.claims, options.
|
|
247
|
+
const global = [...globalRolesFrom(mapped.claims, options.claims?.roles), ...features.user];
|
|
253
248
|
const exp = mapped.claims["exp"];
|
|
254
249
|
const principal = compact({
|
|
255
250
|
id: mapped.id,
|
|
@@ -273,4 +268,4 @@ async function fromClerk(authObject, options, loadMemberships) {
|
|
|
273
268
|
}
|
|
274
269
|
}
|
|
275
270
|
//#endregion
|
|
276
|
-
export {
|
|
271
|
+
export { clerkSubjectResolver, subjectFromClerk };
|
package/dist/cli/bin.js
CHANGED
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import module from "node:module";
|
|
3
|
+
import { text } from "node:stream/consumers";
|
|
4
4
|
//#region src/cli/bin.ts
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
process.
|
|
5
|
+
module.enableCompileCache?.();
|
|
6
|
+
const argv = process.argv.slice(2);
|
|
7
|
+
if (argv.length === 1 && (argv[0] === "--version" || argv[0] === "-v")) {
|
|
8
|
+
const { cliVersion } = await import("../version-DXkYUISx.js");
|
|
9
|
+
process.stdout.write(`${cliVersion()}\n`);
|
|
10
|
+
} else {
|
|
11
|
+
const [{ isCi }, { trapSignals }, { run }, { streamHasColors }] = await Promise.all([
|
|
12
|
+
import("../env-DJZrPjRi.js"),
|
|
13
|
+
import("../signals-D3NcTKUS.js"),
|
|
14
|
+
import("../run-CNsApDpd.js"),
|
|
15
|
+
import("../style-DiKWnAvn.js")
|
|
16
|
+
]);
|
|
17
|
+
const signals = trapSignals();
|
|
18
|
+
const result = await run(argv, {
|
|
19
|
+
cwd: process.cwd(),
|
|
20
|
+
io: {
|
|
21
|
+
env: process.env,
|
|
22
|
+
signal: signals.signal,
|
|
23
|
+
stdout: (chunk) => {
|
|
24
|
+
process.stdout.write(chunk);
|
|
25
|
+
},
|
|
26
|
+
stderr: (chunk) => {
|
|
27
|
+
process.stderr.write(chunk);
|
|
28
|
+
},
|
|
29
|
+
color: streamHasColors(process.stdout),
|
|
30
|
+
errColor: streamHasColors(process.stderr),
|
|
31
|
+
stdoutIsTty: process.stdout.isTTY === true,
|
|
32
|
+
stderrIsTty: process.stderr.isTTY === true,
|
|
33
|
+
readStdin: () => text(process.stdin),
|
|
34
|
+
interactive: process.stdin.isTTY === true && process.stdout.isTTY === true && !isCi(process.env)
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
process.exitCode ??= result.code;
|
|
38
|
+
}
|
|
20
39
|
//#endregion
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { a as CatalogDocument,
|
|
2
|
-
import {
|
|
1
|
+
import { a as CatalogDocument, d as CatalogRole, f as CatalogScope, l as CatalogPermission, m as CatalogUsage, n as CatalogApproval, p as CatalogSupportAccess, r as CatalogBreakGlass, t as CatalogActivation, u as CatalogResource } from "../types-CZTnPFzM.js";
|
|
2
|
+
import { a as pushedPolicy, i as parsePushedPolicy, n as PushedGrant, r as PushedPolicy, t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-BImMTTIM.js";
|
|
3
|
+
import { _ as RunResult, c as RlsConfig, d as RlsMembershipTable, f as RlsMemberships, g as RlsTarget, h as RlsSuspension, i as PermDockConfig, l as RlsDialect, m as RlsSuspendedScope, n as CliIo, o as RlsActiveRow, p as RlsSuspendedMembership, r as CollectConfig, s as RlsApiKeys, t as CatalogConfig, u as RlsFunctionMapping } from "../types-5Ut_pbKy.js";
|
|
3
4
|
//#region src/cli/catalog-path.d.ts
|
|
4
5
|
/**
|
|
5
6
|
* The absolute path `permdock collect` writes the catalog to: `collect.out`,
|
|
@@ -8,7 +9,7 @@ import { _ as RunResult, c as RlsConfig, d as RlsMembershipTable, f as RlsMember
|
|
|
8
9
|
*/
|
|
9
10
|
export declare function catalogPath(config: PermDockConfig, cwd: string, out?: string): string;
|
|
10
11
|
//#endregion
|
|
11
|
-
//#region src/cli/config.d.ts
|
|
12
|
+
//#region src/cli/project/config.d.ts
|
|
12
13
|
export declare function defineConfig<T extends PermDockConfig>(config: T): T;
|
|
13
14
|
//#endregion
|
|
14
15
|
//#region src/cli/sql/markers.d.ts
|
|
@@ -37,10 +38,23 @@ export declare function parseHookMarker(sql: string): SupabaseHookMarker | undef
|
|
|
37
38
|
*/
|
|
38
39
|
export declare function parseGrantsMarker(sql: string): SupabaseGrantsMarker | undefined;
|
|
39
40
|
//#endregion
|
|
40
|
-
//#region src/cli/
|
|
41
|
+
//#region src/cli/token-schemas.d.ts
|
|
42
|
+
/**
|
|
43
|
+
* `schemas/run-v1.json`: the claims of a `vnd.permdock.run+jwt`, as
|
|
44
|
+
* `signRunTicket` writes them and `parseRunTicket` accepts them. Unknown
|
|
45
|
+
* claims are allowed; `parseRunTicket` drops them.
|
|
46
|
+
*/
|
|
47
|
+
export declare const RUN_TICKET_SCHEMA: Readonly<Record<string, unknown>>;
|
|
48
|
+
/**
|
|
49
|
+
* `schemas/support-session-v1.json`: the claims of a
|
|
50
|
+
* `vnd.permdock.support-session+jwt`, as `signSupportSession` writes them.
|
|
51
|
+
*/
|
|
52
|
+
export declare const SUPPORT_SESSION_SCHEMA: Readonly<Record<string, unknown>>;
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/cli/core/run.d.ts
|
|
41
55
|
export declare function run(argv: readonly string[], options?: {
|
|
42
56
|
readonly cwd?: string;
|
|
43
57
|
readonly io?: CliIo;
|
|
44
58
|
}): Promise<RunResult>;
|
|
45
59
|
//#endregion
|
|
46
|
-
export type
|
|
60
|
+
export { type CatalogActivation, type CatalogApproval, type CatalogBreakGlass, type CatalogConfig, type CatalogDocument, type CatalogPermission, type CatalogResource, type CatalogRole, type CatalogScope, type CatalogSupportAccess, type CatalogUsage, type CollectConfig, PUSHED_POLICY_SCHEMA, type PermDockConfig, type PushedGrant, type PushedPolicy, type RlsActiveRow, type RlsApiKeys, type RlsConfig, type RlsDialect, type RlsFunctionMapping, type RlsMembershipTable, type RlsMemberships, type RlsSuspendedMembership, type RlsSuspendedScope, type RlsSuspension, type RlsTarget, type RunResult, type SupabaseGrantsMarker, type SupabaseHookMarker, parsePushedPolicy, pushedPolicy };
|
package/dist/cli/index.js
CHANGED
|
@@ -1,5 +1,165 @@
|
|
|
1
1
|
import { t as catalogPath } from "../catalog-path-CnI0XTFK.js";
|
|
2
|
-
import { t as defineConfig } from "../config-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
import { t as defineConfig } from "../config-bs_kZeYq.js";
|
|
3
|
+
import { n as parsePushedPolicy, r as pushedPolicy, t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-DobP7AHI.js";
|
|
4
|
+
import { c as parseGrantsMarker, l as parseHookMarker } from "../markers-C6joDI3o.js";
|
|
5
|
+
import { t as run } from "../run-DOfMtc9V.js";
|
|
6
|
+
//#region src/cli/token-schemas.ts
|
|
7
|
+
const ID = {
|
|
8
|
+
type: "string",
|
|
9
|
+
minLength: 1,
|
|
10
|
+
maxLength: 256
|
|
11
|
+
};
|
|
12
|
+
const NUMERIC_DATE = {
|
|
13
|
+
type: "integer",
|
|
14
|
+
minimum: 0
|
|
15
|
+
};
|
|
16
|
+
const AUDIENCE = { anyOf: [ID, {
|
|
17
|
+
type: "array",
|
|
18
|
+
items: ID,
|
|
19
|
+
minItems: 1
|
|
20
|
+
}] };
|
|
21
|
+
/**
|
|
22
|
+
* `schemas/run-v1.json`: the claims of a `vnd.permdock.run+jwt`, as
|
|
23
|
+
* `signRunTicket` writes them and `parseRunTicket` accepts them. Unknown
|
|
24
|
+
* claims are allowed; `parseRunTicket` drops them.
|
|
25
|
+
*/
|
|
26
|
+
const RUN_TICKET_SCHEMA = {
|
|
27
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
28
|
+
$id: "https://permdock.com/schemas/run-v1.json",
|
|
29
|
+
title: "PermDock run ticket",
|
|
30
|
+
description: "The claims of a vnd.permdock.run+jwt, wire format v1. At least one of scope and authorization_details is present; automation is present exactly when kind is automation.",
|
|
31
|
+
type: "object",
|
|
32
|
+
required: [
|
|
33
|
+
"v",
|
|
34
|
+
"iss",
|
|
35
|
+
"sub",
|
|
36
|
+
"aud",
|
|
37
|
+
"jti",
|
|
38
|
+
"iat",
|
|
39
|
+
"exp",
|
|
40
|
+
"kind"
|
|
41
|
+
],
|
|
42
|
+
properties: {
|
|
43
|
+
v: { const: 1 },
|
|
44
|
+
iss: ID,
|
|
45
|
+
sub: ID,
|
|
46
|
+
aud: AUDIENCE,
|
|
47
|
+
jti: ID,
|
|
48
|
+
iat: NUMERIC_DATE,
|
|
49
|
+
exp: NUMERIC_DATE,
|
|
50
|
+
kind: { enum: [
|
|
51
|
+
"automation",
|
|
52
|
+
"job",
|
|
53
|
+
"caller"
|
|
54
|
+
] },
|
|
55
|
+
act: { $ref: "#/$defs/act" },
|
|
56
|
+
scope: { type: "string" },
|
|
57
|
+
authorization_details: {
|
|
58
|
+
type: "array",
|
|
59
|
+
items: {
|
|
60
|
+
type: "object",
|
|
61
|
+
required: ["type"],
|
|
62
|
+
properties: { type: { type: "string" } }
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
automation: {
|
|
66
|
+
type: "object",
|
|
67
|
+
required: ["id", "version"],
|
|
68
|
+
properties: {
|
|
69
|
+
id: ID,
|
|
70
|
+
version: { anyOf: [ID, {
|
|
71
|
+
type: "integer",
|
|
72
|
+
minimum: 0
|
|
73
|
+
}] }
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
tenant: ID,
|
|
77
|
+
trigger: { type: "object" },
|
|
78
|
+
binding: {
|
|
79
|
+
type: "object",
|
|
80
|
+
properties: {
|
|
81
|
+
connector: ID,
|
|
82
|
+
tools: {
|
|
83
|
+
type: "array",
|
|
84
|
+
items: ID,
|
|
85
|
+
maxItems: 64
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
anyOf: [{
|
|
91
|
+
required: ["scope"],
|
|
92
|
+
properties: { scope: true }
|
|
93
|
+
}, {
|
|
94
|
+
required: ["authorization_details"],
|
|
95
|
+
properties: { authorization_details: true }
|
|
96
|
+
}],
|
|
97
|
+
$defs: { act: {
|
|
98
|
+
description: "RFC 8693 act: the party running the work; at most 8 nested levels.",
|
|
99
|
+
type: "object",
|
|
100
|
+
required: ["sub"],
|
|
101
|
+
properties: {
|
|
102
|
+
sub: ID,
|
|
103
|
+
kind: ID,
|
|
104
|
+
act: { $ref: "#/$defs/act" }
|
|
105
|
+
}
|
|
106
|
+
} }
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* `schemas/support-session-v1.json`: the claims of a
|
|
110
|
+
* `vnd.permdock.support-session+jwt`, as `signSupportSession` writes them.
|
|
111
|
+
*/
|
|
112
|
+
const SUPPORT_SESSION_SCHEMA = {
|
|
113
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
114
|
+
$id: "https://permdock.com/schemas/support-session-v1.json",
|
|
115
|
+
title: "PermDock support session",
|
|
116
|
+
description: "The claims of a vnd.permdock.support-session+jwt, wire format v1: sub is the viewed principal, act the support actor, jti the session id. exp is after iat, by at most one day.",
|
|
117
|
+
type: "object",
|
|
118
|
+
required: [
|
|
119
|
+
"v",
|
|
120
|
+
"iss",
|
|
121
|
+
"sub",
|
|
122
|
+
"aud",
|
|
123
|
+
"jti",
|
|
124
|
+
"iat",
|
|
125
|
+
"exp",
|
|
126
|
+
"act",
|
|
127
|
+
"tenant",
|
|
128
|
+
"reason",
|
|
129
|
+
"permissions"
|
|
130
|
+
],
|
|
131
|
+
properties: {
|
|
132
|
+
v: { const: 1 },
|
|
133
|
+
iss: ID,
|
|
134
|
+
sub: ID,
|
|
135
|
+
aud: AUDIENCE,
|
|
136
|
+
jti: ID,
|
|
137
|
+
iat: NUMERIC_DATE,
|
|
138
|
+
exp: NUMERIC_DATE,
|
|
139
|
+
act: {
|
|
140
|
+
type: "object",
|
|
141
|
+
required: ["sub", "kind"],
|
|
142
|
+
additionalProperties: false,
|
|
143
|
+
properties: {
|
|
144
|
+
sub: ID,
|
|
145
|
+
kind: { const: "support" }
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
tenant: ID,
|
|
149
|
+
reason: {
|
|
150
|
+
type: "string",
|
|
151
|
+
minLength: 1,
|
|
152
|
+
maxLength: 1e3
|
|
153
|
+
},
|
|
154
|
+
permissions: {
|
|
155
|
+
type: "array",
|
|
156
|
+
items: ID,
|
|
157
|
+
minItems: 1,
|
|
158
|
+
maxItems: 64
|
|
159
|
+
},
|
|
160
|
+
approved_by: ID,
|
|
161
|
+
reference: ID
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
//#endregion
|
|
165
|
+
export { PUSHED_POLICY_SCHEMA, RUN_TICKET_SCHEMA, SUPPORT_SESSION_SCHEMA, catalogPath, defineConfig, parseGrantsMarker, parseHookMarker, parsePushedPolicy, pushedPolicy, run };
|
package/dist/cloud/index.d.ts
CHANGED
|
@@ -1,90 +1,129 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
type CloudEndpoints = {
|
|
11
|
-
/** The environment URL, `<url>/v1/environments/<env>`: `iss` and `aud` of the policy document. */
|
|
12
|
-
readonly issuer: string;
|
|
13
|
-
/** The environment's JWK Set URL, for `joseTokenVerifier({ jwks })`. */
|
|
14
|
-
readonly jwks: string;
|
|
15
|
-
};
|
|
16
|
-
type CloudOptions = CloudEndpointOptions & {
|
|
17
|
-
readonly key?: string;
|
|
18
|
-
readonly fetch?: typeof fetch;
|
|
19
|
-
readonly flushAt?: number;
|
|
20
|
-
/** Most events the sink holds while the Cloud is unreachable (default 10 000); the oldest are dropped first. */
|
|
21
|
-
readonly capacity?: number;
|
|
22
|
-
readonly waitUntil?: (task: Promise<void>) => void;
|
|
23
|
-
/**
|
|
24
|
-
* Verifies the environment's signed policy document, typically
|
|
25
|
-
* `joseTokenVerifier({ jwks: cloudEndpoints().jwks })`. Without one,
|
|
26
|
-
* `policies.current()` stays `null`: an unverifiable document is never applied.
|
|
27
|
-
*/
|
|
28
|
-
readonly verifier?: TokenVerifier;
|
|
29
|
-
};
|
|
30
|
-
type CloudClient = CloudEndpoints & {
|
|
31
|
-
readonly approvals: ApprovalStore;
|
|
32
|
-
readonly sink: DecisionSink;
|
|
33
|
-
readonly snapshots: SnapshotSource;
|
|
34
|
-
readonly policies: PolicySource;
|
|
35
|
-
};
|
|
36
|
-
//#endregion
|
|
37
|
-
//#region src/cloud/create.d.ts
|
|
1
|
+
import { Jt as AutomationEvent, Kt as AccessEvent, Qt as DeliveryEvent, Rt as Instant, Xt as DecisionEvent, Yt as CredentialEvent, Zt as DeliveryChannel, en as DirectoryEvent, nn as MembershipEvent, ut as TokenSigner } from "../policy-types-DzwivBgR.js";
|
|
2
|
+
import { m as ApprovalStore } from "../types-CCpc2Dcv.js";
|
|
3
|
+
import { i as CatalogEventData, l as CloudEventType, r as CLOUD_EVENT_TYPES, s as CloudEvent } from "../sink-Bj_lDUDq.js";
|
|
4
|
+
import { c as DeliveryTransport } from "../types-DX0LaKTb.js";
|
|
5
|
+
import { a as CloudConnectionOptions, c as CloudOptions, i as CloudClient, l as CloudSignerOptions, n as CloudCatalog, o as CloudEndpointOptions, r as CloudCatalogPush, s as CloudEndpoints, t as CloudApproverOptions } from "../types-C8-KNsFf.js";
|
|
6
|
+
import { n as ApprovalWaiter } from "../waiter-CKy4MQSY.js";
|
|
7
|
+
import { l as ReplayStore } from "../types-DiQjupG2.js";
|
|
8
|
+
import { f as WebhookVerifier, r as WebhookFailureCause$1, s as WebhookJwks } from "../standard-webhooks-6lg8v_is.js";
|
|
9
|
+
//#region src/cloud/request.d.ts
|
|
38
10
|
/**
|
|
39
11
|
* The environment URL and JWK Set URL `cloud()` uses, resolved with the same
|
|
40
12
|
* fallbacks (`PERMDOCK_CLOUD_URL`; `PERMDOCK_CLOUD_ENV`, `VERCEL_ENV`, `production`).
|
|
41
13
|
*/
|
|
42
14
|
export declare function cloudEndpoints(options?: CloudEndpointOptions): CloudEndpoints;
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/cloud/create.d.ts
|
|
43
17
|
export declare function cloud(options?: CloudOptions): CloudClient;
|
|
44
18
|
//#endregion
|
|
19
|
+
//#region src/cloud/delivery.d.ts
|
|
20
|
+
/**
|
|
21
|
+
* A `DeliveryTransport` for `channel` that hands each checked recipient to
|
|
22
|
+
* PermDock Cloud, which sends it from its hosted email, chat or webhook
|
|
23
|
+
* sender and reports back through `com.permdock.delivery.*` events. The
|
|
24
|
+
* router has already decided the recipient: the Cloud receives the target
|
|
25
|
+
* and the permission that let it through, never a decision to make.
|
|
26
|
+
* `Idempotency-Key` is the delivery's idempotency key, so a retry repeats it.
|
|
27
|
+
*/
|
|
28
|
+
export declare function cloudDeliveryTransport<C extends DeliveryChannel>(channel: C, options?: CloudConnectionOptions): DeliveryTransport<C>;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/cloud/signer.d.ts
|
|
31
|
+
/**
|
|
32
|
+
* A `TokenSigner` backed by the environment's PermDock Cloud keys, typically
|
|
33
|
+
* KMS-held, for run tickets (`vnd.permdock.run+jwt`) and every other signed
|
|
34
|
+
* output an app issues. The Cloud signs only what the app sends: it sets
|
|
35
|
+
* `iss` to the environment URL and adds no claim. Policy documents,
|
|
36
|
+
* snapshots, evidence exports, Security Event Tokens and `at+jwt` access tokens are the Cloud's own
|
|
37
|
+
* outputs, so their `typ` values are refused here. Verify what it signs with
|
|
38
|
+
* `joseTokenVerifier({ jwks: cloudEndpoints().jwks })`.
|
|
39
|
+
*/
|
|
40
|
+
export declare function cloudSigner(options?: CloudSignerOptions): TokenSigner;
|
|
41
|
+
//#endregion
|
|
45
42
|
//#region src/cloud/webhook.d.ts
|
|
46
|
-
type Envelope<TType extends CloudEventType, TData> = {
|
|
47
|
-
readonly specversion: "1.0";
|
|
43
|
+
type Envelope<TType extends CloudEventType, TData> = Omit<CloudEvent, "type" | "data"> & {
|
|
48
44
|
readonly type: TType;
|
|
49
|
-
readonly source: string;
|
|
50
|
-
readonly subject?: string;
|
|
51
|
-
readonly id: string;
|
|
52
|
-
readonly time: string;
|
|
53
|
-
readonly datacontenttype: "application/json";
|
|
54
45
|
readonly data: TData;
|
|
55
46
|
};
|
|
47
|
+
type Types = typeof CLOUD_EVENT_TYPES;
|
|
56
48
|
/** A CloudEvent PermDock Cloud delivers, discriminated by `type`. */
|
|
57
|
-
type PermDockCloudEvent = Envelope<"
|
|
58
|
-
type
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
49
|
+
type PermDockCloudEvent = Envelope<Types["decision"], DecisionEvent> | Envelope<Types["approvalRequested"] | Types["approvalResolved"] | Types["approvalExpired"] | Types["approvalCancelled"], DecisionEvent> | Envelope<Types["directoryCreated"] | Types["directoryReplaced"] | Types["directoryPatched"] | Types["directoryDeleted"], DirectoryEvent> | Envelope<Types["membershipAdded"] | Types["membershipRemoved"] | Types["membershipChanged"], MembershipEvent> | Envelope<Types["credentialCreated"] | Types["credentialUsed"] | Types["credentialRotated"] | Types["credentialRevoked"], CredentialEvent> | Envelope<Types["catalogPublished"] | Types["catalogDrifted"], CatalogEventData> | Envelope<Types["supportSessionStarted"] | Types["supportSessionEnded"], AccessEvent> | Envelope<Types["automationPublished"] | Types["automationChanged"] | Types["automationRevoked"] | Types["automationRun"], AutomationEvent> | Envelope<Types["deliverySent"] | Types["deliveryDelivered"] | Types["deliveryBounced"] | Types["deliveryComplained"] | Types["deliveryFailed"], DeliveryEvent>;
|
|
50
|
+
type WebhookOptions = {
|
|
51
|
+
/**
|
|
52
|
+
* A verifier to reuse across deliveries, so the JWKS is fetched once;
|
|
53
|
+
* built from `jwks`, `secret`, `replay`, `tolerance` and `now` when absent.
|
|
54
|
+
*/
|
|
55
|
+
readonly verifier?: WebhookVerifier;
|
|
56
|
+
/** `cloud().jwks`, a JWKS URL or an inline key set, for `v1a` signatures. */
|
|
57
|
+
readonly jwks?: WebhookJwks;
|
|
58
|
+
/** The endpoint's `whsec_` secret, for `v1` signatures. */
|
|
59
|
+
readonly secret?: string | readonly string[];
|
|
60
|
+
/** Records each `webhook-id`; required unless `verifier` is set. */
|
|
66
61
|
readonly replay?: ReplayStore;
|
|
62
|
+
/** Seconds a timestamp may differ from the clock. Defaults to 300. */
|
|
63
|
+
readonly tolerance?: number;
|
|
64
|
+
readonly now?: () => Instant;
|
|
65
|
+
readonly fetch?: typeof fetch;
|
|
67
66
|
};
|
|
68
|
-
|
|
67
|
+
/** The Standard Webhooks verifier's cause, or `invalid-events` for a signed body that is not a CloudEvents batch. */
|
|
68
|
+
type WebhookFailureCause = WebhookFailureCause$1 | "invalid-events";
|
|
69
69
|
type VerifiedWebhook = {
|
|
70
70
|
readonly ok: true;
|
|
71
|
+
/** The `webhook-id`, unique per message across retries. */
|
|
71
72
|
readonly id: string;
|
|
73
|
+
/** The `webhook-timestamp` as an RFC 3339 instant. */
|
|
74
|
+
readonly timestamp: string;
|
|
72
75
|
readonly events: readonly PermDockCloudEvent[];
|
|
73
76
|
} | {
|
|
74
77
|
readonly ok: false;
|
|
75
|
-
readonly
|
|
76
|
-
readonly cause?: TokenFailureCause;
|
|
78
|
+
readonly cause: WebhookFailureCause;
|
|
77
79
|
};
|
|
78
80
|
/**
|
|
79
|
-
* Validates one CloudEvent against the closed type list
|
|
80
|
-
* returns `null` for anything else, never throws.
|
|
81
|
+
* Validates one CloudEvent against the closed type list, its `dataschema` and
|
|
82
|
+
* its data shape; returns `null` for anything else, never throws.
|
|
81
83
|
*/
|
|
82
84
|
export declare function parseCloudEvent(value: unknown): PermDockCloudEvent | null;
|
|
83
85
|
/**
|
|
84
|
-
* Verifies a PermDock Cloud webhook delivery:
|
|
85
|
-
* `
|
|
86
|
-
* There is no unsigned mode, and it
|
|
86
|
+
* Verifies a PermDock Cloud webhook delivery: Standard Webhooks headers over
|
|
87
|
+
* an `application/cloudevents-batch+json` body (or one
|
|
88
|
+
* `application/cloudevents+json` event). There is no unsigned mode, and it
|
|
89
|
+
* never throws.
|
|
90
|
+
*/
|
|
91
|
+
export declare function verifyWebhook(request: Request, options: WebhookOptions): Promise<VerifiedWebhook>;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/cloud/waiter.d.ts
|
|
94
|
+
type CloudApprovalWaiterOptions = WebhookOptions & ({
|
|
95
|
+
/** Read when a wait starts and every `interval` after; typically `cloud().approvals`. */
|
|
96
|
+
readonly store: ApprovalStore;
|
|
97
|
+
/** Milliseconds between fallback reads of `store`. Defaults to 60000. */
|
|
98
|
+
readonly interval?: number;
|
|
99
|
+
readonly waiter?: undefined;
|
|
100
|
+
} | {
|
|
101
|
+
/** A durable runner's waiter (`workflowSdkWaiter()`); `wait` and `wake` go to it. */
|
|
102
|
+
readonly waiter: ApprovalWaiter;
|
|
103
|
+
readonly store?: undefined;
|
|
104
|
+
readonly interval?: undefined;
|
|
105
|
+
});
|
|
106
|
+
type CloudApprovalWaiter = ApprovalWaiter & {
|
|
107
|
+
/**
|
|
108
|
+
* The endpoint for the environment's webhook connector. It verifies the
|
|
109
|
+
* Standard Webhooks signature and wakes the wait of every
|
|
110
|
+
* `com.permdock.approval.resolved`, `.expired` and `.cancelled` event in
|
|
111
|
+
* the batch. It answers `204` once handled or replayed, and Problem
|
|
112
|
+
* Details otherwise.
|
|
113
|
+
*/
|
|
114
|
+
readonly webhook: (request: Request) => Promise<Response>;
|
|
115
|
+
};
|
|
116
|
+
/** The approval token of each event that ends a wait, in delivery order. */
|
|
117
|
+
export declare function approvalTokensOf(events: readonly PermDockCloudEvent[]): readonly string[];
|
|
118
|
+
/**
|
|
119
|
+
* An `ApprovalWaiter` that PermDock Cloud wakes. Mount `webhook` on the
|
|
120
|
+
* route the environment's webhook connector posts to: when an approval is
|
|
121
|
+
* resolved, expires or is cancelled, the parked run for its token wakes.
|
|
122
|
+
* Waking never approves anything. The run decides again with the token, and
|
|
123
|
+
* only the app's `decide` and its approval store can grant. Without
|
|
124
|
+
* `waiter`, waits poll `store` as a fallback for a webhook another process
|
|
125
|
+
* received.
|
|
87
126
|
*/
|
|
88
|
-
export declare function
|
|
127
|
+
export declare function cloudApprovalWaiter(options: CloudApprovalWaiterOptions): CloudApprovalWaiter;
|
|
89
128
|
//#endregion
|
|
90
|
-
export type { CloudClient, CloudEndpointOptions, CloudEndpoints, CloudOptions, PermDockCloudEvent, VerifiedWebhook,
|
|
129
|
+
export type { CloudApprovalWaiter, CloudApprovalWaiterOptions, CloudApproverOptions, CloudCatalog, CloudCatalogPush, CloudClient, CloudConnectionOptions, CloudEndpointOptions, CloudEndpoints, CloudOptions, CloudSignerOptions, PermDockCloudEvent, VerifiedWebhook, WebhookFailureCause, WebhookOptions };
|