permdock 0.3.1 → 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/{openapi-schema--ARjyfQr.js → 2020-C9VN-x8c.js} +5 -132
- package/dist/a2a/index.d.ts +8 -6
- package/dist/a2a/index.js +21 -31
- 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 -23
- package/dist/ai-sdk/index.js +38 -21
- package/dist/app-data-MuyzVqX8.js +60 -0
- 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/{approvers-DT4AVyIg.js → approvers-CqPOLD-o.js} +1 -1
- package/dist/arazzo-B6lebmiQ.js +36 -0
- package/dist/{arazzo-BAgw9ap6.js → arazzo-BWhNF-k0.js} +24 -17
- 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 +228 -75
- 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 +11 -23
- package/dist/better-supabase/index.d.ts +438 -86
- package/dist/better-supabase/index.js +1027 -184
- package/dist/bind--9EFVYWF.d.ts +38 -0
- package/dist/{bind-CuzGytRf.js → bind-CZzhx-Vj.js} +22 -10
- package/dist/body-CH5of8Ne.js +10 -0
- package/dist/body-text-QcXok_SI.js +52 -0
- package/dist/build-instance-BMnAudHn.js +52 -0
- package/dist/{canonical-json-DemiK4Vp.js → canonical-json-BC8_nMTw.js} +6 -6
- package/dist/{capability-2kYTMWDv.d.ts → capability-BSslw1QV.d.ts} +44 -25
- package/dist/{capability-4qPdO9gk.js → capability-N1K9IpqS.js} +69 -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-BECMPrwc.js +100 -0
- package/dist/catalog-DjhMYYCq.js +1 -0
- package/dist/catalog-R_A__RsH.js +52 -0
- package/dist/{catalog-doc-DdGm82XT.js → catalog-doc-C9wjsfNY.js} +54 -25
- 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 +26 -30
- package/dist/clerk/index.d.ts +9 -8
- package/dist/clerk/index.js +15 -45
- package/dist/cli/bin.js +36 -17
- package/dist/cli/index.d.ts +20 -6
- package/dist/cli/index.js +164 -4
- package/dist/cloud/index.d.ts +102 -63
- package/dist/cloud/index.js +240 -347
- package/dist/cloud-CIoHNevm.js +87 -0
- package/dist/codemod-Bmj9dWMH.js +37 -0
- package/dist/codemod-Cxvvc70T.js +2084 -0
- package/dist/{collect-DSTE3ml9.js → collect-CrZJJnEF.js} +79 -17
- package/dist/collect-DloHbDVa.js +55 -0
- package/dist/collect-FlXJlhus.js +1 -0
- package/dist/command-L8EstFNm.js +6 -0
- package/dist/{compact-y6vfu2_f.js → compact-CAf557ZB.js} +11 -1
- package/dist/compile/index.d.ts +1 -1
- package/dist/compile/index.js +1 -2
- package/dist/{compile-Ba4blROR.js → compile-CMqMx_IN.js} +13 -9
- package/dist/{compile-BkRyBDBw.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-BJiM-xAm.js → config-bs_kZeYq.js} +15 -10
- package/dist/{config-report-CdCgbRnV.js → config-report-DUgj62Ai.js} +17 -8
- package/dist/{connection-CU8MQxRi.js → connection-DjhIJSs2.js} +8 -6
- package/dist/constants-DcJABbLW.js +20 -0
- package/dist/{context-Bcy85rGi.js → context-bbFHR-0D.js} +16 -5
- package/dist/convex/index.d.ts +11 -10
- package/dist/convex/index.js +18 -18
- 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-DnrmLnLW.js +323 -0
- package/dist/{credential-8P81ff4u.js → credential-DM2um3ha.js} +153 -32
- package/dist/credentials-DPyHmYz5.js +74 -0
- package/dist/deciding-columns-Sq12mEA6.js +123 -0
- package/dist/delegation-DaXVdDhM.js +286 -0
- package/dist/delegation-input-FTxMK3ji.js +19 -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-D8jDHgsl.d.ts +19 -0
- package/dist/{describe-DMYiCjJV.d.ts → describe-BZUsixiL.d.ts} +11 -2
- package/dist/{describe-B_gVZEVi.js → describe-BybMRY7A.js} +10 -5
- package/dist/device-BARQ8eYG.js +193 -0
- package/dist/diff-CxZo9pTq.js +37 -0
- package/dist/{diff-2VaeChzX.js → diff-DCePiN6M.js} +61 -55
- package/dist/doctor-CxiwSfqH.js +44 -0
- package/dist/doctor-DFjUxf2f.js +2361 -0
- package/dist/drizzle/index.d.ts +5 -3
- package/dist/drizzle/index.js +6 -14
- package/dist/elysia/index.d.ts +16 -13
- package/dist/elysia/index.js +14 -13
- package/dist/env-DJZrPjRi.js +8 -0
- package/dist/errors-BDUwg2qC.js +27 -0
- package/dist/{errors-Cz5zn0mW.js → errors-BKy0EfhN.js} +6 -10
- package/dist/errors-BWXBMaKK.d.ts +11 -0
- package/dist/{errors-DPdqI50v.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-tz6D9A2G.js → evaluations-DZ2CbV5k.js} +181 -32
- package/dist/eve/index.d.ts +12 -16
- package/dist/eve/index.js +23 -29
- 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 +14 -12
- package/dist/fastify/index.d.ts +26 -13
- package/dist/fastify/index.js +17 -36
- 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/{files-DWUN9PzI.js → files-D_JIzUrP.js} +12 -3
- package/dist/{fixtures-ht28Cplr.js → fixtures-B7XrLeY7.js} +12 -12
- package/dist/flags-C3DktBDY.js +86 -0
- package/dist/{from-snapshot-CTLijvdm.js → from-snapshot-D2lZt4Dd.js} +78 -65
- package/dist/{generate-CH7ThJ14.js → generate-CNU1pIOo.js} +1 -3
- package/dist/grantee-Cn1HyUsI.js +254 -0
- package/dist/grantee-conditions-CcXf8hMM.js +271 -0
- package/dist/grantee-match-DHArqY82.js +142 -0
- 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-H_KARDVC.js → helpers-DTcZOzhF.js} +47 -39
- package/dist/hono/index.d.ts +12 -9
- package/dist/hono/index.js +14 -13
- package/dist/{hosted-DJQw46hn.js → hosted-BZIAYvon.js} +64 -15
- package/dist/hosted-DBDX0M-P.d.ts +78 -0
- package/dist/{http-SO7qGttf.js → http-BBoKefeS.js} +35 -2
- package/dist/{http-DPuDaChb.d.ts → http-B_LphE5Y.d.ts} +1 -2
- package/dist/http-DXJ37RDA.js +46 -0
- package/dist/{http-BIhmLfCc.js → http-ujKm0JXE.js} +3 -26
- package/dist/{openapi-import-cmwetbzw.js → import-CNV7I2Dw.js} +30 -26
- package/dist/{rls-import-4lLW_pbb.js → import-DMmOG27O.js} +271 -128
- 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-DOVf7RJv.d.ts +900 -0
- package/dist/{index-C8z4RjQV.d.ts → index-SGdIQyzc.d.ts} +34 -16
- package/dist/index.d.ts +20 -14
- package/dist/index.js +33 -23
- package/dist/init-DeMYsnYJ.js +96 -0
- package/dist/init-GG6Jh8HD.js +95 -0
- package/dist/{instance-options-jARdwfPN.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-BsAflUGW.js → json-schema-B-vAwlde.js} +46 -9
- package/dist/json-schema-CN_iLFH2.d.ts +40 -0
- package/dist/jwt/index.d.ts +18 -11
- package/dist/jwt/index.js +166 -145
- package/dist/{kernel-_RRHmnMY.js → kernel-5JatXyND.js} +120 -43
- package/dist/kysely/index.d.ts +5 -3
- package/dist/kysely/index.js +6 -14
- package/dist/{live-options-H2eG8dfJ.js → live-options-BaAFCIiu.js} +16 -3
- package/dist/load-BxEtwlBS.js +1 -0
- package/dist/{load-DhWEB9P1.js → load-DFS_ry0W.js} +31 -7
- 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-Z4QZOiFF.js → map-claims-D3oRmTk0.js} +19 -25
- package/dist/{map-error-pgUWNNtG.js → map-error-TCAdw-eW.js} +5 -5
- package/dist/{markers-B0hYLvMD.js → markers-C6joDI3o.js} +8 -3
- package/dist/mcp/index.d.ts +36 -9
- package/dist/mcp/index.js +476 -448
- package/dist/{rls-migrate-CN4TlJTO.js → migrate-BShP7Vf4.js} +119 -20
- package/dist/nest/index.d.ts +12 -9
- package/dist/nest/index.js +20 -20
- package/dist/next/index.d.ts +40 -20
- package/dist/next/index.js +37 -39
- 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-BFp-PZZA.js +126 -0
- package/dist/openai/index.d.ts +9 -16
- package/dist/openai/index.js +18 -25
- package/dist/openapi/index.d.ts +3 -3
- package/dist/openapi/index.js +1 -1
- package/dist/{openapi-BqRBvAng.js → openapi-B7HZ0f-r.js} +9 -12
- package/dist/{openapi-CqqEbHsL.js → openapi-DTaEmTSW.js} +23 -26
- 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 +23 -20
- package/dist/otel/index.d.ts +3 -2
- package/dist/otel/index.js +53 -27
- package/dist/output-Dyw8fyPF.js +88 -0
- package/dist/output-files-B3IZJksC.js +1 -0
- package/dist/output-files-DhRBBE4n.js +138 -0
- package/dist/{rls-fields-CZOMlwHl.js → ownership-BatFgAA4.js} +2393 -2349
- package/dist/{package-root-zGkxO3oN.js → package-root-Dk_ETdkp.js} +4 -3
- package/dist/{parse-BuyjxhZV.js → parse-Cxq0WxrA.js} +3 -3
- package/dist/{parse-local-manifest-BrMozJCo.js → parse-local-manifest-CVSs6J9I.js} +2 -4
- package/dist/{parse-local-manifest-JLnaBH0S.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 +47 -29
- 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-Br4jSNVi.js +385 -0
- package/dist/permissions-B-wCP5ZC.js +30 -0
- package/dist/{permissions-RJrovw98.js → permissions-CZKiUfFM.js} +4 -3
- package/dist/{permissions-CDgvKG5L.d.ts → permissions-oEWfl-kl.d.ts} +1 -2
- package/dist/policies-CO1oOymN.js +295 -0
- package/dist/{policy-D2W7uv19.d.ts → policy-Czo4n3Hs.d.ts} +2 -2
- package/dist/policy-DLZJ5gAp.js +399 -0
- package/dist/policy-from-catalog-DzhEc3Y9.js +450 -0
- package/dist/policy-module-CTlwMvLI.js +89 -0
- package/dist/{policy-IB6yxpC3.d.ts → policy-types-DzwivBgR.d.ts} +939 -1057
- 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-Dv1_aWF7.js → powersync-bYUDLOAO.js} +30 -32
- 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 +6 -12
- package/dist/{problem-B43ztKIm.js → problem-CTviyH5L.js} +18 -27
- package/dist/{problem-details-DX075l9V.d.ts → problem-details-DXlt-vks.d.ts} +1 -1
- package/dist/{problem-details-_AMOYz-w.js → problem-details-cn5X30gZ.js} +45 -42
- package/dist/problem-types-CJ2325SZ.js +5 -0
- package/dist/{prompt-CXYhLfsS.js → prompt-DfZLJLIn.js} +2 -2
- package/dist/protected-DEPHc2xV.d.ts +38 -0
- package/dist/{protected-utU-SLuy.js → protected-DfjY5mLA.js} +37 -8
- package/dist/{provider-CSQd7m92.js → provider-CC-u3bYP.js} +23 -10
- package/dist/{provider-DZY281jO.d.ts → provider-DMVt6yYn.d.ts} +1 -1
- package/dist/{provider-store-Cfbvo4DE.js → provider-store-B5Yrkhzr.js} +6 -3
- 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 -63
- package/dist/react-native/index.js +45 -27
- package/dist/{refs-KYb4ntaz.js → refs-K6eWUJ0H.js} +1 -1
- package/dist/relation-walk-3OyDBF0S.js +186 -0
- package/dist/relations-BnCWnJGI.js +163 -0
- package/dist/renames-CGj7YwcQ.js +175 -0
- package/dist/{replay-CYyiLiwO.d.ts → replay-D7iKcLFe.d.ts} +1 -1
- package/dist/{replay-BsOyTrdV.js → replay-Du1tJjG7.js} +2 -1
- package/dist/request-context-BTRTG7OT.js +71 -0
- package/dist/request-context-C2_1lchh.d.ts +5 -0
- 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-D_jw0BFx.js +243 -0
- package/dist/retire-CALjIQ7e.js +240 -0
- package/dist/{revocations-Cy06JNx2.d.ts → revocations-R07lFBnX.d.ts} +2 -0
- package/dist/rls-BA8an5Ap.js +336 -0
- package/dist/{rls-DiinlRML.js → rls-j6t43t7n.js} +1066 -1068
- package/dist/role-builder-CXbis5-X.js +623 -0
- package/dist/{rpc-DL9Sqvb1.js → rpc-aPyNi6tA.js} +18 -8
- 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-CB8gQFvS.js → runtime-D3VTAiCA.js} +1 -1
- package/dist/{saas-DhpJjnBA.js → saas-FO-Q8oj0.js} +18 -15
- package/dist/scan-BOI5tJ-6.js +29 -0
- package/dist/{schema-D3MnDMxa.js → schema-B4v0Qrac.js} +106 -10
- 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-BFGBBAqR.js → scim-ClHtpyV3.js} +213 -87
- package/dist/{scopes-CVdPrWN-.js → scopes-CUPSjo9q.js} +20 -7
- package/dist/server/index.d.ts +13 -134
- package/dist/server/index.js +13 -10
- package/dist/server-DqCT4CgZ.js +453 -0
- package/dist/{create-B1d519XK.d.ts → server-types-BLd4MnBX.d.ts} +89 -70
- package/dist/{sha256-BO0swRXL.js → sha256-D9ihqmvd.js} +8 -1
- package/dist/shared-CD11nBbC.js +304 -0
- package/dist/{shared-DRu8VFVM.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-Biq5uup3.js → skills-B6lVdD_W.js} +16 -8
- package/dist/skills-CTYwkl44.js +51 -0
- package/dist/snapshot-CXUWfsNy.js +269 -0
- package/dist/{snapshot-cache-D6jLelln.js → snapshot-cache-DZHQ0KF6.js} +11 -5
- package/dist/{snapshot-cache-B-LxUahj.d.ts → snapshot-cache-DqK9eDmM.d.ts} +7 -5
- package/dist/solid/index.d.ts +24 -25
- package/dist/solid/index.js +41 -11
- package/dist/solid-start/index.d.ts +52 -0
- package/dist/solid-start/index.js +49 -0
- package/dist/{sources-BdOYLw9j.d.ts → sources-BV9j0DeZ.d.ts} +11 -13
- package/dist/{sources-4p0-4xQm.js → sources-vs5dGOsS.js} +147 -142
- package/dist/sql-B5T1IL83.js +55 -0
- package/dist/src-DLfUWFAI.js +1851 -0
- package/dist/ssf/index.d.ts +4 -4
- package/dist/ssf/index.js +440 -106
- 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-DMAWwAJV.js → store-4u_hxjWa.js} +42 -55
- package/dist/{store-options-ByhZq1jV.js → store-options-BqEakYRa.js} +38 -24
- package/dist/{stores-BT2pSCub.js → stores-BbsD4fAR.js} +7 -3
- package/dist/stores-ClZUgeoP.d.ts +30 -0
- package/dist/{stream-D1RXubw2.d.ts → stream-7-xmnf3U.d.ts} +2 -2
- package/dist/{stream-DDpvynSB.js → stream-CvdUS9V1.js} +10 -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/{subject-settings-BwBmCdTR.js → subject-settings-CkEwrw3W.js} +23 -5
- package/dist/supabase/index.d.ts +23 -106
- package/dist/supabase/index.js +5 -4
- package/dist/supabase/middleware.d.ts +13 -6
- package/dist/supabase/middleware.js +16 -11
- package/dist/supabase-9pqI57pW.js +92 -0
- package/dist/{supabase-C0qESOa-.js → supabase-Dxlp8A94.js} +124 -247
- package/dist/supabase-hook-CXcGpHqq.js +1 -0
- package/dist/{supabase-hook-ntETYCQu.js → supabase-hook-DdDQhMlw.js} +1659 -819
- package/dist/{supautils-u8jXTGrt.js → supautils-B6HYL9eL.js} +2 -2
- package/dist/support-session-C6xJQYut.js +158 -0
- package/dist/svelte/Protected.svelte +11 -4
- package/dist/svelte/index.d.ts +7 -7
- package/dist/svelte/index.js +26 -12
- package/dist/svelte/runtime.d.ts +10 -3
- package/dist/svelte/runtime.js +4 -3
- package/dist/svelte/source.d.ts +7 -7
- package/dist/svelte/source.js +5 -5
- 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/{validity-uOp8UpYn.js → tenancy-DN2QAx9z.js} +6 -42
- package/dist/terminal/index.d.ts +11 -9
- package/dist/terminal/index.js +36 -316
- package/dist/testing/index.d.ts +391 -106
- package/dist/testing/index.js +4574 -1286
- 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-CIWxJOCh.js → token-BLZcjQgt.js} +15 -6
- package/dist/tool-refusal-CMLN5xhn.js +41 -0
- package/dist/trpc/index.d.ts +12 -9
- package/dist/trpc/index.js +18 -17
- package/dist/{types-DbjRN55U.d.ts → types-5Ut_pbKy.d.ts} +141 -13
- package/dist/types-BNORmDM8.d.ts +172 -0
- package/dist/types-BjV-fqcA.d.ts +57 -0
- package/dist/{types-QCuYJh4q.d.ts → types-BqAKcRNW.d.ts} +2 -1
- package/dist/types-C8-KNsFf.d.ts +107 -0
- package/dist/{types-aqOHTHcp.d.ts → types-CCpc2Dcv.d.ts} +77 -17
- package/dist/{types-Dnemwd77.d.ts → types-CZTnPFzM.d.ts} +50 -11
- package/dist/{types-C97IskBw.d.ts → types-CdlxsYQh.d.ts} +23 -11
- package/dist/{types-DxiCGmmd.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-fbZ7JEXr.d.ts +89 -0
- package/dist/types-tIgIeIKJ.d.ts +66 -0
- 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-ItS7nLcl.js → usage-T5mXq98v.js} +56 -13
- package/dist/{validation-error-Ba264OaJ.d.ts → validation-error-Bg5Tpluk.d.ts} +1 -1
- package/dist/{validation-error-CnjZ4t92.js → validation-error-ZfUHbKvf.js} +1 -1
- package/dist/validity-CZ7-y0Cj.js +79 -0
- package/dist/{verifier-BxBo6I44.js → verifier-DHuh-okk.js} +68 -21
- package/dist/verify-DbCL9bnB.js +1770 -0
- package/dist/{version-BvacVTZR.js → version-CEbQ5UeM.js} +4 -3
- package/dist/version-DXkYUISx.js +1 -0
- package/dist/{views-Soe7bGSC.js → views-DTIIO-oQ.js} +41 -2
- package/dist/{permissions-DttnqqxC.d.ts → vocabulary-D6lPdb4Z.d.ts} +120 -29
- package/dist/vue/index.d.ts +25 -21
- package/dist/vue/index.js +25 -9
- 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-DVBJ9cBq.js → watch-CszoTJMq.js} +47 -8
- package/dist/webmcp/index.d.ts +2 -2
- package/dist/webmcp/index.js +13 -37
- 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-Bd1Tejur.d.ts +15 -0
- package/dist/wrap-gX61EtpB.js +27 -0
- package/package.json +140 -41
- 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 +129 -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 +19 -10
- package/skills/permdock-data/SKILL.md +6 -6
- package/skills/permdock-data/references/queries-and-rls.md +13 -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 +6 -4
- package/skills/permdock-wire/SKILL.md +18 -12
- package/skills/permdock-wire/references/adapters.md +146 -50
- package/skills/permdock-wire/references/policy-options.md +15 -6
- package/skills/permdock-wire/references/presets-and-recipes.md +58 -0
- package/dist/approvals-DbYAuNkG.js +0 -224
- package/dist/arazzo-C9chp3ST.js +0 -54
- package/dist/bind-C_ob3LKa.d.ts +0 -25
- package/dist/catalog-CRW5Mx_B.js +0 -2
- package/dist/catalog-CYj-mX2O.js +0 -48
- package/dist/catalog-DWF5cYqB.js +0 -55
- package/dist/cloud-CfwZ39Rl.js +0 -50
- package/dist/cloud-DWLXO2af.js +0 -118
- package/dist/collect-CHB22Sx4.js +0 -83
- package/dist/collect-DSWOk19R.js +0 -2
- package/dist/commands-BeaGNj_o.js +0 -97
- package/dist/config-ir40y8m0.js +0 -36
- package/dist/create-CMwIl-w2.js +0 -253
- package/dist/delegation-D8pUEuce.js +0 -103
- package/dist/diff-C9RDjjhs.js +0 -48
- package/dist/doctor-Djh6JDEk.js +0 -53
- package/dist/doctor-DvH0IQff.js +0 -1194
- package/dist/doctor-collect-CjdO0wQX.js +0 -665
- package/dist/duration-xK2jGFVc.js +0 -25
- package/dist/errors-CWfoNg9N.js +0 -47
- package/dist/errors-DRnGZHzF.js +0 -30
- package/dist/evaluation-items-CfCCejQd.js +0 -40
- package/dist/expiry-BoBJ8Tvc.js +0 -7
- package/dist/fields-BMl1RxoX.js +0 -26
- package/dist/grantee-Cv5Sogfv.js +0 -602
- 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-0nNqHspG.d.ts +0 -6
- package/dist/index-BNc7Wer_.d.ts +0 -483
- package/dist/index-C7Tw7MaW.d.ts +0 -201
- package/dist/instance-options-Dhhcnm3y.js +0 -22
- package/dist/load-DwJUafYN.js +0 -2
- package/dist/manifest-iaoBXHKc.js +0 -783
- package/dist/map-AcxK9o_D.js +0 -147
- package/dist/may-use-DndQ5tQ-.js +0 -77
- package/dist/openapi-CQTsgKoB.js +0 -164
- package/dist/permdock-CbgvLnuo.js +0 -3479
- package/dist/permissions-DVoF6dMt.js +0 -662
- package/dist/policy-xyWg7QdR.js +0 -1122
- package/dist/powersync-CrBX8hY6.js +0 -2
- package/dist/powersync-DE19b9dT.js +0 -62
- package/dist/protected-BdnIEFkY.d.ts +0 -27
- package/dist/protected-xAr24FEC.d.ts +0 -40
- package/dist/relations-cjOL01hZ.js +0 -505
- package/dist/rls-P-BeBx0n.js +0 -238
- package/dist/rls-graph-CHwx0V8q.js +0 -435
- package/dist/rls-ownership-DcYlZ09B.js +0 -843
- package/dist/rls-shared-Cewd_-zI.js +0 -495
- package/dist/rls-verify-CMv9H3wV.js +0 -746
- package/dist/run-BWc9qqvE.js +0 -174
- package/dist/server-DlZ28Oz5.js +0 -268
- package/dist/sink-B1fZzIMf.d.ts +0 -104
- package/dist/sink-Bd9PSyfq.js +0 -141
- package/dist/skills-C5CbhhpG.js +0 -56
- package/dist/snapshot-Enxd0n-s.js +0 -975
- package/dist/sql-xdg5f4Fi.js +0 -27
- package/dist/src-BDwEZWrZ.js +0 -568
- package/dist/store-jOBYpiXC.d.ts +0 -36
- package/dist/stores-C0IMQrGI.d.ts +0 -52
- package/dist/subject-C6dLxqHU.js +0 -24
- package/dist/supabase-config-Bj3iDH2I.js +0 -472
- package/dist/supabase-hook-gd3s8bxB.js +0 -2
- package/dist/supabase-s4o9s1O1.js +0 -83
- package/dist/thenable-okc2xDsj.js +0 -10
- package/dist/types-BnIEz1sU.d.ts +0 -48
- package/dist/types-Bvc4oWT6.d.ts +0 -9
- package/dist/types-CKNSyIf_.d.ts +0 -52
- package/dist/types-Cq_H8N_X.d.ts +0 -197
- package/dist/usage-B0YuTQRO.js +0 -42
- package/dist/usage-DorAJiU_.js +0 -2
- package/dist/vocabulary-DA8a8zif.d.ts +0 -56
- package/dist/watch-BwxLTYMZ.js +0 -2
package/dist/drizzle/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Rt as Instant, ir as Subject, lr as Condition } from "../policy-types-DzwivBgR.js";
|
|
2
|
+
import { c as WhereResult } from "../permdock-D7eeLJER.js";
|
|
2
3
|
import { r as RelationsMapping } from "../graph-sql-B-dsAT6j.js";
|
|
3
|
-
import { s as MembershipsMapping } from "../compile-
|
|
4
|
+
import { s as MembershipsMapping } from "../compile-Ckm2HqBZ.js";
|
|
4
5
|
import { n as WithSubjectOptions, t as RowCheck } from "../row-check-Dt35czLy.js";
|
|
5
6
|
import { SQL, Table } from "drizzle-orm";
|
|
6
7
|
//#region src/drizzle/types.d.ts
|
|
@@ -13,7 +14,8 @@ type DrizzleWhereOptions<T = unknown> = {
|
|
|
13
14
|
readonly memberships?: MembershipsMapping;
|
|
14
15
|
/** Where the relation graph lives; graph grants compile to Postgres subqueries with it and are refused without. */
|
|
15
16
|
readonly relations?: RelationsMapping;
|
|
16
|
-
|
|
17
|
+
/** The clock membership expiry is read at; a `Temporal.Instant` fits. Defaults to the current time. */
|
|
18
|
+
readonly now?: Instant;
|
|
17
19
|
readonly operators?: DrizzleOperators;
|
|
18
20
|
};
|
|
19
21
|
type DrizzleOperators = {
|
package/dist/drizzle/index.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { t as compact } from "../compact-
|
|
2
|
-
import {
|
|
3
|
-
import { n as escapeLike, t as compileWhere } from "../compile-
|
|
4
|
-
import {
|
|
1
|
+
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
+
import { t as assertSafeKey } from "../paths-DXSHAMIa.js";
|
|
3
|
+
import { n as escapeLike, t as compileWhere } from "../compile-CMqMx_IN.js";
|
|
4
|
+
import { a as rowCheckFrom, i as templateOf, r as subjectStatements, s as loadPeer, t as statementTemplate } from "../subject-settings-CkEwrw3W.js";
|
|
5
5
|
//#region src/drizzle/to-where.ts
|
|
6
6
|
function loadOperators(injected) {
|
|
7
7
|
if (injected !== void 0) return injected;
|
|
8
|
-
|
|
9
|
-
try {
|
|
10
|
-
if (loader === void 0) throw new Error("no module loader");
|
|
11
|
-
return loader.createRequire(import.meta.url)("drizzle-orm");
|
|
12
|
-
} catch {
|
|
13
|
-
throw new Error("PermDock: permdock/drizzle requires the drizzle-orm peer; pass `operators` on runtimes without require");
|
|
14
|
-
}
|
|
8
|
+
return loadPeer("drizzle-orm", "PermDock: permdock/drizzle requires the drizzle-orm peer; pass `operators` on runtimes without require");
|
|
15
9
|
}
|
|
16
10
|
function ident(name) {
|
|
17
11
|
assertSafeKey(name, "sql identifier");
|
|
@@ -38,9 +32,7 @@ function tagged(parts, ops) {
|
|
|
38
32
|
values.push(part.value);
|
|
39
33
|
strings.push("");
|
|
40
34
|
}
|
|
41
|
-
|
|
42
|
-
Object.defineProperty(template, "raw", { value: strings });
|
|
43
|
-
return ops.sql(template, ...values);
|
|
35
|
+
return ops.sql(templateOf(strings), ...values);
|
|
44
36
|
}
|
|
45
37
|
function existsSql(node, table, options, ops) {
|
|
46
38
|
const m = (name) => `m.${ident(name)}`;
|
package/dist/elysia/index.d.ts
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { T as Policy, j as PolicyVocabulary, rr as Principal } from "../policy-types-DzwivBgR.js";
|
|
2
|
+
import { w as Permission } from "../vocabulary-D6lPdb4Z.js";
|
|
3
|
+
import { r as PermDock } from "../permdock-D7eeLJER.js";
|
|
4
|
+
import { n as RevocationFeed } from "../revocations-R07lFBnX.js";
|
|
5
|
+
import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-BLd4MnBX.js";
|
|
6
|
+
import { t as ServerAdapterOptions } from "../bind--9EFVYWF.js";
|
|
6
7
|
import { Elysia } from "elysia";
|
|
7
8
|
//#region src/elysia/create.d.ts
|
|
8
|
-
type
|
|
9
|
+
type ElysiaRequestContext = {
|
|
9
10
|
readonly request: Request;
|
|
10
11
|
readonly body?: unknown;
|
|
11
12
|
readonly params?: Readonly<Record<string, string | undefined>>;
|
|
12
13
|
};
|
|
13
|
-
type ElysiaPermDockOptions<TUser = unknown> = ServerAdapterOptions<
|
|
14
|
+
type ElysiaPermDockOptions<TUser = unknown> = ServerAdapterOptions<ElysiaRequestContext, TUser> & {
|
|
14
15
|
/** Ends or revalidates open sockets. */
|
|
15
16
|
readonly revocations?: RevocationFeed;
|
|
16
17
|
};
|
|
17
18
|
/** The `ws` Elysia passes to `.ws` handlers; `data` is the upgrade context. */
|
|
18
19
|
type ElysiaSocket = {
|
|
19
|
-
readonly data:
|
|
20
|
+
readonly data: ElysiaRequestContext;
|
|
20
21
|
close(code?: number, reason?: string): unknown;
|
|
21
22
|
};
|
|
22
|
-
type
|
|
23
|
+
type ElysiaPermDockContext<V extends PolicyVocabulary = PolicyVocabulary> = ElysiaRequestContext & {
|
|
23
24
|
permdock: PermDock<V>;
|
|
24
25
|
permdockData?: unknown;
|
|
25
26
|
};
|
|
26
|
-
type ElysiaProtect = (permission: Permission | null,
|
|
27
|
-
/** The `
|
|
27
|
+
type ElysiaProtect = (permission: Permission | null, data?: (ctx: ElysiaRequestContext) => unknown, protectOptions?: ProtectOptions) => (ctx: ElysiaRequestContext) => Promise<Response | undefined>;
|
|
28
|
+
/** The `middleware()` plugin: its global derive types `permdock` in every later handler. */
|
|
28
29
|
type ElysiaPermDockPlugin<V extends PolicyVocabulary = PolicyVocabulary> = Elysia<"", {
|
|
29
30
|
decorator: Record<never, never>;
|
|
30
31
|
store: Record<never, never>;
|
|
@@ -34,7 +35,9 @@ type ElysiaPermDockPlugin<V extends PolicyVocabulary = PolicyVocabulary> = Elysi
|
|
|
34
35
|
resolve: Record<never, never>;
|
|
35
36
|
}>;
|
|
36
37
|
type ElysiaPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
|
|
37
|
-
|
|
38
|
+
/** The `PermDock` for one request, for code the middleware does not run before. */
|
|
39
|
+
readonly getPermDock: (ctx: ElysiaRequestContext) => Promise<PermDock<V>>;
|
|
40
|
+
readonly middleware: () => ElysiaPermDockPlugin<V>;
|
|
38
41
|
readonly protect: ElysiaProtect;
|
|
39
42
|
/**
|
|
40
43
|
* One connection per socket: the same promise for every handler
|
|
@@ -46,4 +49,4 @@ type ElysiaPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
|
|
|
46
49
|
};
|
|
47
50
|
export declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, options: ElysiaPermDockOptions<TUser>): ElysiaPermDock<V>;
|
|
48
51
|
//#endregion
|
|
49
|
-
export { type
|
|
52
|
+
export { type ElysiaPermDock, type ElysiaPermDockContext, type ElysiaPermDockOptions, type ElysiaProtect, type ElysiaRequestContext, type ElysiaSocket, InvalidSignatureError, discoverViaSignatureAgent, webBotAuthVerifier };
|
package/dist/elysia/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as problemFromError } from "../map-error-
|
|
4
|
-
import { a as socketConnection, i as decorate, r as bindKernel } from "../bind-
|
|
5
|
-
import {
|
|
1
|
+
import { a as parsedBody, r as hasCredentials } from "../http-BBoKefeS.js";
|
|
2
|
+
import { d as discoverViaSignatureAgent, m as webBotAuthVerifier, u as InvalidSignatureError } from "../evaluations-DZ2CbV5k.js";
|
|
3
|
+
import { t as problemFromError } from "../map-error-TCAdw-eW.js";
|
|
4
|
+
import { a as socketConnection, i as decorate, r as bindKernel } from "../bind-CZzhx-Vj.js";
|
|
5
|
+
import { a as onRevoked, n as closeReason, t as POLICY_VIOLATION } from "../stream-CvdUS9V1.js";
|
|
6
6
|
import { Elysia } from "elysia";
|
|
7
7
|
//#region src/elysia/create.ts
|
|
8
8
|
function createPermDock(policy, options) {
|
|
9
9
|
const seed = globalThis.crypto.randomUUID();
|
|
10
|
-
const { kernel, bind, scopeOf, handlerScope } = bindKernel(policy, options, "elysia", toRequest);
|
|
11
|
-
const
|
|
10
|
+
const { kernel, bind, scopeOf, handlerScope, getPermDock, guard: runGuard } = bindKernel(policy, options, "elysia", toRequest);
|
|
11
|
+
const middleware = () => new Elysia({
|
|
12
12
|
name: "permdock",
|
|
13
13
|
seed
|
|
14
14
|
}).derive({ as: "global" }, async (ctx) => {
|
|
15
|
-
const instance = await kernel.
|
|
15
|
+
const instance = await kernel.getPermDock(bind(ctx), await scopeOf(ctx));
|
|
16
16
|
decorate(ctx, instance);
|
|
17
17
|
return { permdock: instance };
|
|
18
18
|
}).onError({ as: "global" }, ({ error, request }) => problemFromError(error, { credentials: hasCredentials(request) }));
|
|
19
|
-
const protect = (permission,
|
|
20
|
-
const guard = await
|
|
19
|
+
const protect = (permission, data, protectOptions) => async (ctx) => {
|
|
20
|
+
const guard = await runGuard(permission, data, ctx, protectOptions);
|
|
21
21
|
if (!guard.ok) return guard.response;
|
|
22
22
|
decorate(ctx, guard.permdock, guard.data);
|
|
23
23
|
};
|
|
@@ -25,7 +25,7 @@ function createPermDock(policy, options) {
|
|
|
25
25
|
const connection = (ws, connectionOptions) => socketConnection(sockets, ws.data, async () => {
|
|
26
26
|
const conn = await kernel.connection(bind(ws.data), connectionOptions, await scopeOf(ws.data));
|
|
27
27
|
onRevoked(conn, (problem) => {
|
|
28
|
-
ws.close(POLICY_VIOLATION, problem
|
|
28
|
+
ws.close(POLICY_VIOLATION, closeReason(problem));
|
|
29
29
|
});
|
|
30
30
|
return conn;
|
|
31
31
|
});
|
|
@@ -37,7 +37,8 @@ function createPermDock(policy, options) {
|
|
|
37
37
|
}).post("/", (ctx) => POST(bind(ctx))).get("/", (ctx) => GET(bind(ctx)));
|
|
38
38
|
};
|
|
39
39
|
return {
|
|
40
|
-
|
|
40
|
+
getPermDock,
|
|
41
|
+
middleware,
|
|
41
42
|
protect,
|
|
42
43
|
connection,
|
|
43
44
|
permdockHandler,
|
|
@@ -56,4 +57,4 @@ function toRequest(ctx) {
|
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
//#endregion
|
|
59
|
-
export { InvalidSignatureError, createPermDock, discoverViaSignatureAgent,
|
|
60
|
+
export { InvalidSignatureError, createPermDock, discoverViaSignatureAgent, webBotAuthVerifier };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/cli/core/env.ts
|
|
2
|
+
/** `CI` set to anything but an empty string, `0` or `false`. */
|
|
3
|
+
function isCi(env) {
|
|
4
|
+
const value = env["CI"]?.trim().toLowerCase();
|
|
5
|
+
return value !== void 0 && value !== "" && value !== "0" && value !== "false";
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { isCi };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/approvals/access-reviews/errors.ts
|
|
2
|
+
var AccessReviewError = class extends Error {
|
|
3
|
+
name = "AccessReviewError";
|
|
4
|
+
code;
|
|
5
|
+
constructor(code, message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.code = code;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
const CODES = /* @__PURE__ */ new Set([
|
|
11
|
+
"review-not-found",
|
|
12
|
+
"review-closed",
|
|
13
|
+
"item-not-found",
|
|
14
|
+
"item-not-pending",
|
|
15
|
+
"reviewer-unauthenticated",
|
|
16
|
+
"reviewer-not-eligible",
|
|
17
|
+
"reviewer-is-holder",
|
|
18
|
+
"not-revoked",
|
|
19
|
+
"already-applied"
|
|
20
|
+
]);
|
|
21
|
+
function isAccessReviewError(value) {
|
|
22
|
+
if (!(value instanceof Error) || value.name !== "AccessReviewError") return false;
|
|
23
|
+
const code = Reflect.get(value, "code");
|
|
24
|
+
return typeof code === "string" && CODES.has(code);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { isAccessReviewError as n, AccessReviewError as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as compact } from "./compact-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { t as compact } from "./compact-CAf557ZB.js";
|
|
2
|
+
import { a as problemType, n as problemDetails, o as statusProblem } from "./problem-details-cn5X30gZ.js";
|
|
3
|
+
import { t as wireDenials } from "./wire-denial-C7PaVYEM.js";
|
|
4
4
|
import { n as deniedDigest, t as approvalDigest } from "./digest-BI-6aa6d.js";
|
|
5
5
|
//#region src/core/errors.ts
|
|
6
6
|
var PermDockDeniedError = class extends Error {
|
|
@@ -101,7 +101,7 @@ var PermDockRevokedError = class extends Error {
|
|
|
101
101
|
}
|
|
102
102
|
toProblemDetails(options) {
|
|
103
103
|
if (this.code === "denied") return compact({
|
|
104
|
-
type:
|
|
104
|
+
type: problemType("denied"),
|
|
105
105
|
title: "Permission denied",
|
|
106
106
|
status: 403,
|
|
107
107
|
detail: this.code,
|
|
@@ -109,14 +109,10 @@ var PermDockRevokedError = class extends Error {
|
|
|
109
109
|
permission: this.permission,
|
|
110
110
|
denials: this.decision?.outcome === "denied" ? wireDenials(this.decision.denials) : void 0
|
|
111
111
|
});
|
|
112
|
-
return compact({
|
|
113
|
-
type: `${PROBLEM_BASE}/unauthenticated`,
|
|
114
|
-
title: "Authorization ended",
|
|
115
|
-
status: 401,
|
|
116
|
-
detail: this.code,
|
|
112
|
+
return statusProblem(401, this.code, compact({
|
|
117
113
|
instance: options?.instance,
|
|
118
114
|
permission: this.permission
|
|
119
|
-
});
|
|
115
|
+
}));
|
|
120
116
|
}
|
|
121
117
|
};
|
|
122
118
|
//#endregion
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/approvals/errors.d.ts
|
|
2
|
+
type ApprovalErrorCode = "approval-not-found" | "approval-not-pending" | "approval-expired" | "approver-unauthenticated" | "approver-is-actor" | "approver-is-principal" | "approver-not-eligible" | "approver-repeated";
|
|
3
|
+
declare class ApprovalError extends Error {
|
|
4
|
+
override readonly name: "ApprovalError";
|
|
5
|
+
readonly code: ApprovalErrorCode;
|
|
6
|
+
constructor(code: ApprovalErrorCode, message: string);
|
|
7
|
+
}
|
|
8
|
+
/** Matches by `name` and `code`, so an error from another copy of the module still maps. */
|
|
9
|
+
declare function isApprovalError(value: unknown): value is ApprovalError;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ApprovalErrorCode as n, isApprovalError as r, ApprovalError as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as Disclosure } from "./problem-details-
|
|
1
|
+
import { Nn as Decision, an as WireDenial, ir as Subject } from "./policy-types-DzwivBgR.js";
|
|
2
|
+
import { t as Disclosure } from "./problem-details-DXlt-vks.js";
|
|
3
3
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
4
4
|
//#region src/core/errors.d.ts
|
|
5
5
|
/** Where and how a human approves; carries no secret. */
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { stripVTControlCharacters } from "node:util";
|
|
2
|
+
//#region src/cli/core/errors.ts
|
|
3
|
+
const CODES = {
|
|
4
|
+
usage: ["Invalid arguments", 2],
|
|
5
|
+
unknown_command: ["Unknown command", 2],
|
|
6
|
+
unknown_flag: ["Unknown flag", 2],
|
|
7
|
+
invalid_value: ["Invalid value", 2],
|
|
8
|
+
command_moved: ["Command moved", 2],
|
|
9
|
+
flag_renamed: ["Flag renamed", 2],
|
|
10
|
+
missing_value: ["Missing value", 2],
|
|
11
|
+
config_not_found: ["Config file not found", 2],
|
|
12
|
+
config_invalid: ["Invalid config", 2],
|
|
13
|
+
dependency_missing: ["Missing dependency", 1],
|
|
14
|
+
database_unreachable: ["Database unreachable", 1],
|
|
15
|
+
network_error: ["No response", 1],
|
|
16
|
+
request_failed: ["Request failed", 1],
|
|
17
|
+
auth_required: ["Authentication required", 3],
|
|
18
|
+
dirty_worktree: ["Uncommitted changes", 3],
|
|
19
|
+
write_failed: ["Write failed", 1],
|
|
20
|
+
check_failed: ["Out of date", 1],
|
|
21
|
+
input_required: ["Input required", 3],
|
|
22
|
+
consent_required: ["Consent required", 3],
|
|
23
|
+
cancelled: ["Cancelled", 130],
|
|
24
|
+
internal: ["Unexpected error", 1]
|
|
25
|
+
};
|
|
26
|
+
Object.keys(CODES).filter((code) => code in CODES);
|
|
27
|
+
/** Each code has a heading on this page, so `type` links to its explanation. */
|
|
28
|
+
const CLI_ERRORS_URL = "https://permdock.com/docs/cli/errors";
|
|
29
|
+
/** The exit code a problem with `code` gets. */
|
|
30
|
+
function exitCodeOfProblem(code) {
|
|
31
|
+
return CODES[code][1];
|
|
32
|
+
}
|
|
33
|
+
const DEFAULT_CODES = {
|
|
34
|
+
usage: "usage",
|
|
35
|
+
unavailable: "network_error",
|
|
36
|
+
failed: "check_failed",
|
|
37
|
+
action: "input_required",
|
|
38
|
+
cancelled: "cancelled",
|
|
39
|
+
internal: "internal"
|
|
40
|
+
};
|
|
41
|
+
var CliError = class extends Error {
|
|
42
|
+
kind;
|
|
43
|
+
code;
|
|
44
|
+
extensions;
|
|
45
|
+
next;
|
|
46
|
+
constructor(kind, message, options) {
|
|
47
|
+
super(message, options);
|
|
48
|
+
this.name = "CliError";
|
|
49
|
+
this.kind = kind;
|
|
50
|
+
this.code = options?.code ?? DEFAULT_CODES[kind];
|
|
51
|
+
this.extensions = options?.extensions ?? {};
|
|
52
|
+
this.next = options?.next;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function describeError(error) {
|
|
56
|
+
return error instanceof Error ? error.message : String(error);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The exit code an error ends the run with: its code's, so a `CliError` and
|
|
60
|
+
* the problem printed for it always agree. Anything that is not a
|
|
61
|
+
* `CliError` is a bug in the CLI.
|
|
62
|
+
*/
|
|
63
|
+
function exitCodeOfError(error) {
|
|
64
|
+
if (error instanceof CliError) return exitCodeOfProblem(error.code);
|
|
65
|
+
return rejectedDefinition(error) ? exitCodeOfProblem("config_invalid") : exitCodeOf("internal");
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The library's own runtime checks throw plain errors whose message starts
|
|
69
|
+
* with `PermDock` (an identifier, a condition, a policy it rejects). Those are
|
|
70
|
+
* the project's to fix, so they count as `config_invalid`, not as a CLI bug.
|
|
71
|
+
*/
|
|
72
|
+
function rejectedDefinition(error) {
|
|
73
|
+
return error instanceof Error && /^PermDock( CLI)?[:\s]/.test(error.message);
|
|
74
|
+
}
|
|
75
|
+
function exitCodeOf(kind) {
|
|
76
|
+
switch (kind) {
|
|
77
|
+
case "usage": return 2;
|
|
78
|
+
case "unavailable":
|
|
79
|
+
case "failed":
|
|
80
|
+
case "internal": return 1;
|
|
81
|
+
case "action": return 3;
|
|
82
|
+
case "cancelled": return 130;
|
|
83
|
+
default: return kind;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function kindOfCode(code) {
|
|
87
|
+
switch (code) {
|
|
88
|
+
case 2: return "usage";
|
|
89
|
+
case 3: return "action";
|
|
90
|
+
case 130:
|
|
91
|
+
case 143: return "cancelled";
|
|
92
|
+
case 0:
|
|
93
|
+
case 1: return "failed";
|
|
94
|
+
default: return code;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function cliProblem(kind, message, command, options) {
|
|
98
|
+
const code = options?.code ?? DEFAULT_CODES[kind];
|
|
99
|
+
const [title, exitCode] = CODES[code];
|
|
100
|
+
return {
|
|
101
|
+
...options?.extensions,
|
|
102
|
+
type: `${CLI_ERRORS_URL}#${code}`,
|
|
103
|
+
title,
|
|
104
|
+
detail: stripVTControlCharacters(message),
|
|
105
|
+
code,
|
|
106
|
+
...command === void 0 ? {} : { command },
|
|
107
|
+
exitCode: options?.exitCode ?? exitCode
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function problemOf(error, command) {
|
|
111
|
+
if (error instanceof CliError) return cliProblem(error.kind, error.message, command, {
|
|
112
|
+
code: error.code,
|
|
113
|
+
extensions: error.extensions
|
|
114
|
+
});
|
|
115
|
+
return rejectedDefinition(error) ? cliProblem("usage", error.message, command, { code: "config_invalid" }) : cliProblem("internal", describeError(error), command);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The result a command reports for a usage error it caught. A `CliError`
|
|
119
|
+
* propagates instead, so `run()` prints it as Problem Details.
|
|
120
|
+
*/
|
|
121
|
+
function usageResult(error) {
|
|
122
|
+
if (error instanceof CliError) throw error;
|
|
123
|
+
return {
|
|
124
|
+
code: 2,
|
|
125
|
+
output: describeError(error)
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* A config, policy or definition the command cannot compile: the project's
|
|
130
|
+
* to fix, so a usage error (exit 2) and never an `internal` one.
|
|
131
|
+
*/
|
|
132
|
+
function configError(message) {
|
|
133
|
+
return new CliError("usage", message, { code: "config_invalid" });
|
|
134
|
+
}
|
|
135
|
+
/** The run needs a value only the caller can supply: exit 3 with `missing` naming the flags. */
|
|
136
|
+
function missingInput(command, missing, hint) {
|
|
137
|
+
return new CliError("action", `${command} needs ${missing.join(" and ")}${hint === void 0 ? "" : `: ${hint}`}`, {
|
|
138
|
+
code: "input_required",
|
|
139
|
+
extensions: { missing }
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
//#endregion
|
|
143
|
+
export { describeError as a, missingInput as c, configError as i, problemOf as l, CliError as n, exitCodeOfError as o, cliProblem as r, kindOfCode as s, CLI_ERRORS_URL as t, usageResult as u };
|