permdock 0.7.0 → 0.8.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 +1 -3
- package/dist/a2a/index.d.ts +7 -7
- package/dist/a2a/index.js +8 -8
- package/dist/action-result-CL-QCITA.d.ts +19 -0
- package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
- package/dist/{adoption-scan-D-feE7BE.js → adoption-scan-BLs67P1l.js} +5 -5
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +19 -13
- package/dist/ai-sdk/index.js +6 -6
- package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
- package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
- package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
- package/dist/{approval-prompt-K0faOLFp.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
- package/dist/approvals/index.d.ts +4 -4
- package/dist/approvals/index.js +6 -6
- package/dist/{approvals-CMRfsbBh.js → approvals-DnIBTuXE.js} +66 -42
- package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
- package/dist/{arazzo-ClrF3PVb.js → arazzo-3RhGfkAK.js} +2 -2
- package/dist/{arazzo-rdeJ8n1J.js → arazzo-B5-ulWif.js} +6 -6
- package/dist/{args-CC3OwyHW.js → args-0FrVs5EH.js} +14 -7
- package/dist/astro/index.d.ts +30 -12
- package/dist/astro/index.js +2 -2
- package/dist/{audience-BrMs8c4o.js → audience-BAkBDMqn.js} +8 -8
- package/dist/{auth-CscUX8Sy.js → auth--yPyZNgr.js} +19 -7
- package/dist/authzen/index.d.ts +34 -28
- package/dist/authzen/index.js +23 -20
- package/dist/{automation-DOtAFWdy.d.ts → automation-DqEoWHBc.d.ts} +42 -32
- package/dist/{automation-ySsxp_Yp.js → automation-x3KEUusw.js} +22 -21
- package/dist/better-auth/index.d.ts +2 -2
- package/dist/better-auth/index.js +13 -7
- package/dist/better-supabase/index.d.ts +357 -227
- package/dist/better-supabase/index.js +219 -140
- package/dist/{bind-JDuvxjuW.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
- package/dist/{bind-D1nO6fiC.js → bind-D_sZSVA3.js} +22 -10
- package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
- package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
- package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
- package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
- package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
- package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
- package/dist/{build-instance-DxE7czo9.js → build-instance-CNWaYJyr.js} +3 -3
- package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
- package/dist/{capability-D4UC9TTW.d.ts → capability-ChuiONQU.d.ts} +41 -29
- package/dist/{casbin-BW9pS47J.js → casbin-H0rKxBx2.js} +16 -8
- package/dist/{casbin-BHijLuHY.js → casbin-cbSbhT_k.js} +2 -2
- package/dist/{casl-CmJlgziS.js → casl-C4OINZHI.js} +2 -2
- package/dist/{casl-UbI8v-Wq.js → casl-CHHoCldP.js} +19 -10
- package/dist/catalog/index.d.ts +51 -30
- package/dist/catalog/index.js +18 -15
- package/dist/{catalog-D69WhFii.js → catalog-BFpz2EmT.js} +20 -19
- package/dist/{catalog-BaMQfQ6Y.js → catalog-DCspHDc8.js} +3 -3
- package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
- package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
- package/dist/catalog-mRQQQhNK.js +1 -0
- package/dist/catalog-operations-Dadrl7Z-.js +60 -0
- package/dist/{challenge-nGWma08S.js → challenge-DImNcR7B.js} +48 -27
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +13 -10
- package/dist/chat-sdk/index.d.ts +44 -26
- package/dist/chat-sdk/index.js +17 -17
- package/dist/{checks-BC_0mPIq.js → checks-CGkP3Z7A.js} +4 -1
- package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
- package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
- package/dist/claude-agent/index.d.ts +6 -6
- package/dist/claude-agent/index.js +6 -3
- package/dist/clerk/index.d.ts +11 -7
- package/dist/clerk/index.js +6 -6
- package/dist/cli/bin.js +4 -4
- package/dist/cli/index.d.ts +82 -7
- package/dist/cli/index.js +6 -6
- package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
- package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
- package/dist/cloud/index.d.ts +84 -52
- package/dist/cloud/index.js +53 -39
- package/dist/{cloud-CO8pYtwr.js → cloud-BFlGMaak.js} +4 -5
- package/dist/{codemod-i4N2BhDc.js → codemod-DLQ9Zpo4.js} +3 -4
- package/dist/{codemod-BP6n8N9L.js → codemod-DWSN2erG.js} +523 -201
- package/dist/collect-B5BL3klN.js +1 -0
- package/dist/{collect-BaWeMjwV.js → collect-B7ZFAJU3.js} +26 -63
- package/dist/{collect-DNm3oKOk.js → collect-Bzv3le0A.js} +4 -5
- package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
- package/dist/compile/index.d.ts +2 -2
- package/dist/compile/index.js +1 -1
- package/dist/{compile-COM2VKuN.d.ts → compile-BFzysW3o.d.ts} +36 -12
- package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
- package/dist/{completion-BNdVf7X2.js → completion-saoYiRFO.js} +17 -8
- package/dist/config-BwPBfN0t.js +108 -0
- package/dist/{config-DGZzMV1B.js → config-DBeXXmBF.js} +2 -2
- package/dist/{config-report-Cm7UITNA.js → config-report-BipSWA6V.js} +9 -6
- package/dist/config-shape-ykV0Vm2n.js +134 -0
- package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
- package/dist/{connector-schema-_VCSsdtD.js → connector-schema-CYLQNMYq.js} +3 -2
- package/dist/{context--uM9V3Ui.js → context-BnIzxTNE.js} +4 -3
- package/dist/convex/index.d.ts +13 -7
- package/dist/convex/index.js +9 -6
- package/dist/{core-B5-w6Kw9.js → core-H-mbhpZc.js} +26 -20
- package/dist/{core-CQkE8Esr.d.ts → core-hWIARPDz.d.ts} +49 -22
- package/dist/{create-UTnUVETj.d.ts → create-BSNrVuxh.d.ts} +70 -37
- package/dist/{create-B2-CQqCI.d.ts → create-BVq1lNQE.d.ts} +49 -28
- package/dist/{create-QHuuPw3q.d.ts → create-CM1FciYG.d.ts} +37 -29
- package/dist/{create-Cb86Z8Im.js → create-Cq4Uox0f.js} +10 -7
- package/dist/{create-DJrlhEp9.js → create-_noSrY1T.js} +15 -21
- package/dist/{credential-CIM7wHwA.js → credential-CyyyvCsL.js} +41 -38
- package/dist/{credentials-BpuTwd7a.js → credentials-CdDxp7jN.js} +6 -6
- package/dist/{deciding-columns-DRo2QM6E.js → deciding-columns-NB4wcyBf.js} +2 -2
- package/dist/{delegation-C5rOdTp5.js → delegation-CDB6_keF.js} +31 -22
- package/dist/delivery/index.d.ts +4 -4
- package/dist/delivery/index.js +5 -5
- package/dist/{delivery-rwOKLWRm.js → delivery-BupfvJIV.js} +34 -22
- package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
- package/dist/denied-text-CHNlVInN.d.ts +22 -0
- package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
- package/dist/{describe-O0SwYIK8.d.ts → describe-ByS9LgHK.d.ts} +5 -5
- package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
- package/dist/{diff-Btr1c1Ow.js → diff-CN8IYhC_.js} +2 -2
- package/dist/{diff-DzT-xD13.js → diff-iZWV65nC.js} +22 -13
- package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
- package/dist/{doctor-BU1szn63.js → doctor-CHD1M9R5.js} +287 -135
- package/dist/{doctor-BoK_y0KO.js → doctor-D3wo-yuz.js} +4 -4
- package/dist/drizzle/index.d.ts +33 -19
- package/dist/drizzle/index.js +17 -9
- package/dist/elysia/index.d.ts +17 -11
- package/dist/elysia/index.js +5 -5
- package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
- package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
- package/dist/{errors-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
- package/dist/{errors-B_Qg9D3e.d.ts → errors-zi_4T-rx.d.ts} +22 -6
- package/dist/{evaluate-B_oqFbWC.js → evaluate-Dd8Ta0Ie.js} +140 -78
- package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
- package/dist/{evaluations-BCddEOfO.d.ts → evaluations-z8dQFDaN.d.ts} +11 -5
- package/dist/eve/index.d.ts +9 -6
- package/dist/eve/index.js +4 -4
- package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
- package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
- package/dist/express/index.d.ts +9 -6
- package/dist/express/index.js +9 -6
- package/dist/fastify/index.d.ts +16 -10
- package/dist/fastify/index.js +8 -5
- package/dist/{fetch-adapter-CuhyYwC1.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
- package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-JL43jD3E.js} +14 -11
- package/dist/fields-D0vUI6dq.js +498 -0
- package/dist/{files-acUbNwWt.js → files-B3AA05f1.js} +8 -5
- package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
- package/dist/{fixtures-BTMW6zgU.js → fixtures-A1_sp_tR.js} +15 -6
- package/dist/{flags-aaeRAdiD.js → flags-DXjoTVbS.js} +2 -2
- package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
- package/dist/{from-snapshot-Bz469dIh.js → from-snapshot-DCakWRsr.js} +18 -15
- package/dist/gen-B5kvbAoZ.js +58 -0
- package/dist/gen-DWCYcMQM.js +827 -0
- package/dist/{generate-3FNO5P5Q.js → generate-CRVV5V7l.js} +14 -8
- package/dist/generate-CezbCaTI.js +275 -0
- package/dist/{grantee-BrRANrpT.js → grantee-Dke-9rd1.js} +4 -4
- package/dist/{grantee-conditions-C6P1Tvol.js → grantee-conditions-BrYPe-w0.js} +12 -12
- package/dist/{grantee-match-0RtHWQDx.js → grantee-match-7RZZvoT_.js} +12 -6
- package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
- package/dist/h3/index.d.ts +10 -7
- package/dist/h3/index.js +3 -3
- package/dist/headers-B9jQxjtW.d.ts +10 -0
- package/dist/{helpers-DY3vXuGs.js → helpers-DJicaG6f.js} +40 -28
- package/dist/hono/index.d.ts +16 -10
- package/dist/hono/index.js +5 -5
- package/dist/{hosted-BmjzxQhp.d.ts → hosted-Cmtxogd0.d.ts} +33 -21
- package/dist/{hosted-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
- package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
- package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
- package/dist/{http-Ca3Sr5x1.js → http-DOL33cO0.js} +11 -8
- package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
- package/dist/{import-DB2EG_iy.js → import-_YqhhwvX.js} +6 -6
- package/dist/{index-BSfRl0hZ.d.ts → index-B8s204GL.d.ts} +64 -52
- package/dist/{index-DH9DUDEM.d.ts → index-BT5-1VsX.d.ts} +54 -30
- package/dist/{index-BTkwrK7v.d.ts → index-BW_0MZOS.d.ts} +282 -172
- package/dist/{index-CMiPH2Tv.d.ts → index-BhxEUY9J.d.ts} +64 -37
- package/dist/{index-DLwcuCN_.d.ts → index-Bv5iXPqU.d.ts} +51 -30
- package/dist/{index-BE8y3moU.d.ts → index-_9UiQIkt.d.ts} +127 -82
- package/dist/index.d.ts +22 -22
- package/dist/index.js +33 -33
- package/dist/{init-5TXNji88.js → init-Dz_PsHdv.js} +5 -5
- package/dist/{init-B-4t1NzC.js → init-cE3A8aXq.js} +10 -10
- package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
- package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot--JWiTrvO.js} +75 -55
- package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
- package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
- package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
- package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
- package/dist/jwt/index.d.ts +57 -27
- package/dist/jwt/index.js +24 -21
- package/dist/{kernel-DVExUwkp.js → kernel-C-fYydV2.js} +32 -23
- package/dist/kysely/index.d.ts +49 -33
- package/dist/kysely/index.js +9 -7
- package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
- package/dist/{load-DxroEzH1.js → load-DjSU5KXO.js} +6 -6
- package/dist/load-Dm0pSYH3.js +1 -0
- package/dist/{login-ClSJh5t5.js → login-D-8tMqzo.js} +4 -4
- package/dist/{login-WC9HPJpU.js → login-DplQ0s84.js} +16 -9
- package/dist/{manifest-Dv6q4i5s.js → manifest-Cgiq5oqc.js} +49 -38
- package/dist/{manifest-BVhExYhw.d.ts → manifest-CzzWtnAb.d.ts} +126 -31
- package/dist/{manifest-schema-Cv492Qev.js → manifest-schema-2r37XRhD.js} +44 -3
- package/dist/{manifest-B79YuF2T.js → manifest-wg8WkkpD.js} +6 -6
- package/dist/{map-claims-etGIS_Dv.js → map-claims-BNWCJtmP.js} +14 -8
- package/dist/{map-error-BQGyDm_M.js → map-error-pasIGqMT.js} +7 -7
- package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
- package/dist/mcp/index.d.ts +114 -61
- package/dist/mcp/index.js +70 -40
- package/dist/{migrate-Dodel0IJ.js → migrate-B7oP_sQU.js} +35 -17
- package/dist/module-values-BJTBdo6y.js +107 -0
- package/dist/nest/index.d.ts +23 -13
- package/dist/nest/index.js +18 -11
- package/dist/next/client.d.ts +5 -2
- package/dist/next/client.js +1 -1
- package/dist/next/index.d.ts +72 -26
- package/dist/next/index.js +110 -6
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +4 -3
- package/dist/node/index.d.ts +5 -5
- package/dist/node/index.js +3 -3
- package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
- package/dist/openai/index.d.ts +13 -7
- package/dist/openai/index.js +3 -3
- package/dist/openapi/index.d.ts +51 -30
- package/dist/openapi/index.js +2 -2
- package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
- package/dist/{openapi-DMocl1bh.js → openapi-CBZUhA3l.js} +4 -5
- package/dist/{openapi-ztVaux6j.js → openapi-VeHHU2l9.js} +23 -14
- package/dist/{operation-findings-kRcEp8lE.js → operation-findings-CXtFzlKJ.js} +3 -3
- package/dist/{operations-BNLes61x.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
- package/dist/orpc/index.d.ts +68 -14
- package/dist/orpc/index.js +62 -13
- package/dist/otel/index.d.ts +7 -4
- package/dist/otel/index.js +8 -5
- package/dist/output-files-BHOIlrfD.js +1 -0
- package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
- package/dist/{output-DgSDLrta.js → output-tkju6U7R.js} +9 -5
- package/dist/ownership-B4L59T9u.js +1054 -0
- package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
- package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
- package/dist/{parse-local-manifest-T1Q8X3A2.js → parse-local-manifest-DEiCF4ah.js} +19 -7
- package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
- package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
- package/dist/pdp/index.d.ts +9 -6
- package/dist/pdp/index.js +20 -13
- package/dist/{peer-DOzzMfZL.js → peer-C9LvBCcb.js} +1 -1
- package/dist/{peer-12Q5I_RH.js → peer-Q0fuZ6hx.js} +9 -3
- package/dist/{permdock-Dco6dyCK.d.ts → permdock-B6Sf4T_S.d.ts} +253 -129
- package/dist/{permdock-BfWEeMqk.js → permdock-L-_I_3zP.js} +59 -35
- package/dist/{permission-registry-DpPtSKNZ.js → permission-registry-B8tYxPIt.js} +23 -10
- package/dist/{permission-types-DhNEmoRG.d.ts → permission-types-CAY-GU7e.d.ts} +127 -41
- package/dist/{permissions-CoqCOfJ3.d.ts → permissions-Bx6UI8n1.d.ts} +6 -3
- package/dist/{permissions-CyH2MV_B.js → permissions-CVXmRILq.js} +3 -3
- package/dist/{permissions-DArULThq.js → permissions-mDcTWoBs.js} +8 -5
- package/dist/pg-DQTqRrou.js +60 -0
- package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
- package/dist/{pkce-5h8NgMQJ.js → pkce-CnmmYqUZ.js} +1 -1
- package/dist/{policy-B7dg_yzu.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
- package/dist/{policy-DaJy4nK4.js → policy-CLQ8__GF.js} +43 -23
- package/dist/{policy-from-catalog-DFWYkNdu.js → policy-from-catalog-CJgOm6aq.js} +28 -25
- package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
- package/dist/{policy-types-B-F-qAZk.d.ts → policy-types-CCiDRZBH.d.ts} +738 -349
- package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
- package/dist/{postgrest-r5faDIzD.js → postgrest-D4nuPXIQ.js} +52 -33
- package/dist/{postgrest-CYacM_u7.d.ts → postgrest-DicQyqm-.d.ts} +54 -35
- package/dist/{powersync-53ryOZip.js → powersync-DHNQX06W.js} +127 -69
- package/dist/{powersync-13odBwiM.js → powersync-DXqGuq9A.js} +3 -3
- package/dist/powersync-Djf-zCpB.js +1 -0
- package/dist/preset/index.d.ts +38 -28
- package/dist/preset/index.js +1 -1
- package/dist/{preset-CHTbd-DQ.js → preset-BjLzeFpp.js} +56 -32
- package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
- package/dist/prisma/index.d.ts +69 -41
- package/dist/prisma/index.js +21 -17
- package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
- package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
- package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
- package/dist/{prompt-DwtVemER.js → prompt-BYc6drYW.js} +4 -1
- package/dist/protected-action-BE7N_Luo.d.ts +58 -0
- package/dist/protected-action-DUYqb-Ma.js +80 -0
- package/dist/{protected-DXE3cQYg.js → protected-action-QEA8arRB.js} +48 -14
- package/dist/{provider-BQsTYYy0.js → provider-C55OGXJ7.js} +5 -4
- package/dist/{provider-Csk-THAn.d.ts → provider-DXfq5c2d.d.ts} +1 -1
- package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
- package/dist/pull-B65ndFNZ.js +1 -0
- package/dist/{pull-CN5OLxrF.js → pull-CwpGaQSi.js} +12 -11
- package/dist/{push-tVdG8dUL.js → push-DgssgzkK.js} +19 -13
- package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
- package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-ITwYKvvH.js} +10 -7
- package/dist/react/index.d.ts +9 -8
- package/dist/react/index.js +7 -6
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react/provider-client.js +1 -1
- package/dist/react-native/index.d.ts +94 -55
- package/dist/react-native/index.js +200 -61
- package/dist/{refs-CNJBiTFo.js → refs-C8BKxc_e.js} +2 -2
- package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
- package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
- package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
- package/dist/{replay-DCDD_ZfL.d.ts → replay-DNftIb_R.d.ts} +1 -1
- package/dist/{request-context-BykKLmyE.js → request-context-C25ilqiJ.js} +8 -8
- package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
- package/dist/resend/index.d.ts +34 -28
- package/dist/resend/index.js +29 -29
- package/dist/resolve-names-CF7xXLSG.js +201 -0
- package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
- package/dist/{retire-Wj6dkyDE.js → retire-B2xffQgY.js} +15 -6
- package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
- package/dist/{rls-CxBZb4rZ.js → rls-CNEH2_BG.js} +299 -124
- package/dist/{rls-Ck_PocSp.js → rls-Ca8Jz9b5.js} +13 -6
- package/dist/{role-builder-C1VJzvcr.js → role-builder-BK2-T6oD.js} +41 -20
- package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
- package/dist/{rpc-Bk1bE-ch.js → rpc-fNqAIqQk.js} +8 -5
- package/dist/{run-uLD2aWuO.js → run-Bz26OTfO.js} +26 -23
- package/dist/run-D-JE8QWb.js +1 -0
- package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-DbWI9f99.d.ts} +29 -14
- package/dist/{run-ticket-B5d_63Ma.js → run-ticket-Dv7aF7Dk.js} +9 -9
- package/dist/{runtime-Vif3_-zf.js → runtime-BGnrOkVH.js} +5 -2
- package/dist/{saas-Az_Kz-4D.js → saas-iWnUdwCt.js} +42 -29
- package/dist/{scan-DSljDE1Y.js → scan-DCj1KQfn.js} +1 -1
- package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
- package/dist/{schema-gIcCx7zM.js → schema-Dst9I9Gs.js} +8 -4
- package/dist/scim/index.d.ts +2 -2
- package/dist/scim/index.js +2 -2
- package/dist/{scim-C7JYhySg.js → scim-D8YupzX1.js} +2 -2
- package/dist/{scim-YNieBO1U.js → scim-jJBJ7g1Z.js} +33 -15
- package/dist/{scopes-BHsc-wp-.js → scopes-0Up_UA2t.js} +41 -23
- package/dist/server/index.d.ts +11 -11
- package/dist/server/index.js +12 -12
- package/dist/{server-Bnga6I50.js → server-3cVlTLde.js} +31 -31
- package/dist/{server-types-C4gZUEZy.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
- package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
- package/dist/{shared-fMKOv8hP.js → shared-Afctg7B0.js} +65 -32
- package/dist/{shared-C8LjUdVU.js → shared-l0oGGetg.js} +9 -6
- package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
- package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
- package/dist/{sink-Cp_Eot9W.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
- package/dist/{skills-Dcjw9_1C.js → skills-Bjj7BNEQ.js} +12 -8
- package/dist/{skills-g_3BS9NC.js → skills-OuoMR49L.js} +3 -3
- package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
- package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
- package/dist/{snapshot-cache-DT2Kx1F8.js → snapshot-cache-Bx_4xC_6.js} +14 -11
- package/dist/solid/index.d.ts +55 -16
- package/dist/solid/index.js +46 -12
- package/dist/solid-start/index.d.ts +30 -12
- package/dist/solid-start/index.js +3 -3
- package/dist/{sources-DEEuGb8S.d.ts → sources-B1Os_YUu.d.ts} +126 -53
- package/dist/{sources-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
- package/dist/{sql-B96movIM.js → sql-0WjxIp9g.js} +28 -7
- package/dist/{sql-CDEPCA0g.d.ts → sql-B80DFdpG.d.ts} +2 -2
- package/dist/{src-DLFrtrrC.js → src-DZ0l9UAg.js} +190 -100
- package/dist/ssf/index.d.ts +3 -3
- package/dist/ssf/index.js +47 -35
- package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
- package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
- package/dist/{store-DSP9oGvh.js → store-RNFvaJJv.js} +32 -26
- package/dist/{store-options-B_poyYvg.js → store-options-Dil3lraY.js} +105 -15
- package/dist/stores-C0Kta5Ft.d.ts +59 -0
- package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
- package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
- package/dist/{stream-2Vwhl7Er.d.ts → stream-ltuLdtTG.d.ts} +4 -3
- package/dist/{style-Ds1gNm77.js → style-DblOtSga.js} +1 -1
- package/dist/{style-Cqo7-73x.js → style-Ds11Hmk4.js} +2 -1
- package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
- package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
- package/dist/supabase/index.d.ts +48 -38
- package/dist/supabase/index.js +5 -5
- package/dist/supabase/middleware.d.ts +19 -13
- package/dist/supabase/middleware.js +7 -7
- package/dist/{supabase--0aJdLEd.js → supabase-BL1qJzzY.js} +79 -35
- package/dist/{supabase-Bqp7iIY2.js → supabase-D39cuGPt.js} +3 -3
- package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-B-yXnzUl.js} +175 -196
- package/dist/supabase-hook-H-MtE9Wd.js +1 -0
- package/dist/{supautils-MESd81bF.js → supautils-BU-pAEpf.js} +166 -47
- package/dist/{support-session-Cna49-3f.js → support-session-BsmPCbz8.js} +21 -21
- package/dist/svelte/PermissionBoundary.svelte +2 -6
- package/dist/svelte/Protected.svelte +2 -8
- package/dist/svelte/index.d.ts +9 -8
- package/dist/svelte/index.js +10 -9
- package/dist/svelte/runtime.d.ts +4 -4
- package/dist/svelte/runtime.js +4 -4
- package/dist/svelte/source.d.ts +9 -8
- package/dist/svelte/source.js +6 -5
- package/dist/sveltekit/index.d.ts +30 -12
- package/dist/sveltekit/index.js +2 -2
- package/dist/{ownership-Z2LpxsGa.js → tables-DeMNEy6V.js} +641 -1104
- package/dist/tanstack-start/index.d.ts +22 -10
- package/dist/tanstack-start/index.js +2 -2
- package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
- package/dist/{tenancy-CmeBQ6Nv.js → tenancy-5d1zVBvK.js} +25 -19
- package/dist/terminal/index.d.ts +23 -14
- package/dist/terminal/index.js +17 -20
- package/dist/testing/core.d.ts +1 -1
- package/dist/testing/core.js +1 -1
- package/dist/testing/fixtures/index.d.ts +8 -5
- package/dist/testing/fixtures/index.js +78 -17
- package/dist/testing/index.d.ts +224 -141
- package/dist/testing/index.js +299 -234
- package/dist/testing/saas/index.d.ts +43 -27
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/{text-diff-DhITNCnD.js → text-diff-BtfSmdUo.js} +2 -2
- package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
- package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
- package/dist/{token-2qYDvXz2.js → token-DC9EQiet.js} +14 -12
- package/dist/{tool-refusal-reAhIzdl.js → tool-refusal-Qpjs_W6M.js} +5 -2
- package/dist/trpc/index.d.ts +11 -8
- package/dist/trpc/index.js +15 -9
- package/dist/type-helpers-BIPIDa6a.d.ts +50 -0
- package/dist/{types-DBHftjgS.d.ts → types-AMJ5qoU_.d.ts} +45 -33
- package/dist/{types-CfiKC5aN.d.ts → types-B2mlGuhW.d.ts} +14 -11
- package/dist/{types-D3A19w4A.d.ts → types-B4uqKDnp.d.ts} +22 -13
- package/dist/{types-CQVEQawv.d.ts → types-BJk0BKRX.d.ts} +24 -14
- package/dist/types-B_d_g7T3.d.ts +262 -0
- package/dist/{types-DC44-hqb.d.ts → types-B_tiYvk8.d.ts} +59 -32
- package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
- package/dist/{types-BWZybqs9.d.ts → types-DC1Loeh3.d.ts} +381 -202
- package/dist/{types-CIeZcG8v.d.ts → types-DHKPcqzr.d.ts} +2 -2
- package/dist/{types-cTos-H7p.d.ts → types-DjuMBNF9.d.ts} +68 -32
- package/dist/{types-CeIscIKp.d.ts → types-HzqOtvsJ.d.ts} +23 -12
- package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
- package/dist/{types-BfVmNJO5.d.ts → types-ah9NlU6j.d.ts} +128 -50
- package/dist/{types-DXmwu78Z.d.ts → types-djVzLlIV.d.ts} +31 -14
- package/dist/{types-g7Oy6Zg4.d.ts → types-yUuPR5Hy.d.ts} +47 -24
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +2 -2
- package/dist/usage-CYeXek0p.js +1 -0
- package/dist/{usage-Bybmck7f.js → usage-CxEzS4ey.js} +50 -26
- package/dist/{usage-CDaLXCfL.js → usage-ab0PdusX.js} +2 -2
- package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
- package/dist/{validation-error-CQpoquwj.d.ts → validation-error-YGg2mXyH.d.ts} +5 -2
- package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
- package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
- package/dist/{verify-pe8rL_Qw.js → verify-DZeqoWu5.js} +148 -487
- package/dist/version-DMQ0dnN5.js +48 -0
- package/dist/version-DizhmD72.js +1 -0
- package/dist/{views-BB8E9dTP.js → views-CD8wuL4Z.js} +19 -6
- package/dist/{vocabulary-Bg3eeT2H.d.ts → vocabulary-DEJ5j4mR.d.ts} +7 -4
- package/dist/vue/index.d.ts +71 -22
- package/dist/vue/index.js +50 -13
- package/dist/{waiter-DwEyouan.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
- package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
- package/dist/{watch-C-4VmFlL.js → watch-Cx_WciLE.js} +8 -8
- package/dist/watch-DB42U1ib.js +1 -0
- package/dist/webmcp/index.d.ts +11 -11
- package/dist/webmcp/index.js +8 -5
- package/dist/{where-scope-wq2coopv.js → where-scope-DlCdCM_8.js} +24 -18
- package/dist/{who-can-BwNsI_Js.js → who-can-rI7dCR9Q.js} +23 -20
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +13 -13
- package/dist/workflow-sdk/index.d.ts +19 -13
- package/dist/workflow-sdk/index.js +6 -6
- package/dist/{wrap-CiSc_KCq.js → wrap-B2wziJI_.js} +4 -4
- package/dist/{wrap-B6R0cMRL.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
- package/package.json +7 -7
- package/schemas/catalog-v1.json +3 -0
- package/schemas/supabase-manifest-v1.json +33 -1
- package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
- package/skills/permdock-data/references/queries-and-rls.md +2 -1
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -2
- package/skills/permdock-wire/references/adapters.md +14 -22
- package/dist/catalog-BCCjSAdH.js +0 -1
- package/dist/collect-k_Dulxr5.js +0 -1
- package/dist/config-CoQHDrDi.js +0 -166
- package/dist/denied-text-D4qkEtFz.d.ts +0 -19
- package/dist/fields-ClcQLrVc.js +0 -238
- package/dist/generate-CNU1pIOo.js +0 -171
- package/dist/headers-BIjfMaoC.js +0 -8
- package/dist/headers-CIbDTUTK.d.ts +0 -7
- package/dist/load-DrMHXzgN.js +0 -1
- package/dist/output-files-DPAY7-GX.js +0 -1
- package/dist/package-root-Dk_ETdkp.js +0 -31
- package/dist/parse-local-manifest-e4mdwAKd.d.ts +0 -10
- package/dist/policies-B2lZIurj.js +0 -295
- package/dist/powersync-CExtTLyA.js +0 -1
- package/dist/problem-details-Tcfmj3bV.d.ts +0 -7
- package/dist/protected-BwZYL1X_.d.ts +0 -39
- package/dist/pull-Cty6Ovyu.js +0 -1
- package/dist/run-Bz7DXGEv.js +0 -1
- package/dist/stores-BAZwSYZA.d.ts +0 -31
- package/dist/supabase-hook-DJxC4PoP.js +0 -1
- package/dist/types-CKV71kKh.d.ts +0 -172
- package/dist/usage-y-kBNdqs.js +0 -1
- package/dist/version-CEbQ5UeM.js +0 -18
- package/dist/version-DXkYUISx.js +0 -1
- package/dist/watch-Bd9mx3rd.js +0 -1
package/dist/chat/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ChatCommandResult, c as createPermDock, d as SubjectFromChatOptions, f as isChatAuthor, i as ChatCommandContext, l as ChatAuthor, n as ChatActionResult, o as ChatPermDock, p as subjectFromChat, r as ChatCommand, s as ChatPermDockOptions, t as ChatAction, u as ChatPrincipal } from "../create-
|
|
1
|
+
import { a as ChatCommandResult, c as createPermDock, d as SubjectFromChatOptions, f as isChatAuthor, i as ChatCommandContext, l as ChatAuthor, n as ChatActionResult, o as ChatPermDock, p as subjectFromChat, r as ChatCommand, s as ChatPermDockOptions, t as ChatAction, u as ChatPrincipal } from "../create-BVq1lNQE.js";
|
|
2
2
|
export { type ChatAction, type ChatActionResult, type ChatAuthor, type ChatCommand, type ChatCommandContext, type ChatCommandResult, type ChatPermDock, type ChatPermDockOptions, type ChatPrincipal, type SubjectFromChatOptions, createPermDock, isChatAuthor, subjectFromChat };
|
package/dist/chat/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as freezeDeep } from "../freeze-
|
|
3
|
-
import { n as loadPrincipalByIdentity } from "../principal-source-
|
|
4
|
-
import { f as nowMillis } from "../time-
|
|
5
|
-
import { l as withApp, t as getPermDock } from "../permdock-
|
|
6
|
-
import { c as isApprovalError } from "../types-
|
|
7
|
-
import { a as requestApproval, o as resolveApproval, s as resumeDecision } from "../helpers-
|
|
8
|
-
import { t as approvalPrompt } from "../approval-prompt-
|
|
2
|
+
import { n as freezeDeep } from "../freeze-jjan0lCv.js";
|
|
3
|
+
import { n as loadPrincipalByIdentity } from "../principal-source-C6N60GtM.js";
|
|
4
|
+
import { f as nowMillis } from "../time-nR1JesoH.js";
|
|
5
|
+
import { l as withApp, t as getPermDock } from "../permdock-L-_I_3zP.js";
|
|
6
|
+
import { c as isApprovalError } from "../types-CcUXciSj.js";
|
|
7
|
+
import { a as requestApproval, o as resolveApproval, s as resumeDecision } from "../helpers-DJicaG6f.js";
|
|
8
|
+
import { t as approvalPrompt } from "../approval-prompt-B8hQY69x.js";
|
|
9
9
|
//#region src/chat/subject.ts
|
|
10
10
|
function nonEmpty(value) {
|
|
11
11
|
return typeof value === "string" && value !== "";
|
|
@@ -17,7 +17,10 @@ function isChatAuthor(value) {
|
|
|
17
17
|
const workspace = Reflect.get(value, "workspace");
|
|
18
18
|
return nonEmpty(provider) && nonEmpty(userId) && (workspace === void 0 || nonEmpty(workspace));
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* The principal linked to `author`, or `null` for an unlinked or malformed
|
|
22
|
+
* author. Never throws.
|
|
23
|
+
*/
|
|
21
24
|
function principalFromChat(author, principals) {
|
|
22
25
|
if (!isChatAuthor(author)) return Promise.resolve(null);
|
|
23
26
|
return loadPrincipalByIdentity(principals, compact({
|
|
@@ -28,8 +31,8 @@ function principalFromChat(author, principals) {
|
|
|
28
31
|
}));
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
31
|
-
* The subject a chat author acts as: the principal its identity link
|
|
32
|
-
*
|
|
34
|
+
* The subject a chat author acts as: the principal its identity link names, or
|
|
35
|
+
* anonymous when there is no link. Never throws.
|
|
33
36
|
*/
|
|
34
37
|
async function subjectFromChat(author, options) {
|
|
35
38
|
return {
|
package/dist/chat-sdk/index.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { n as ApprovalUrl, t as ApprovalPrompt } from "../approval-prompt-
|
|
2
|
-
import { l as ChatAuthor, n as ChatActionResult, o as ChatPermDock } from "../create-
|
|
3
|
-
import { n as ChatTransport } from "../types-
|
|
1
|
+
import { n as ApprovalUrl, t as ApprovalPrompt } from "../approval-prompt-PYagyQUj.js";
|
|
2
|
+
import { l as ChatAuthor, n as ChatActionResult, o as ChatPermDock } from "../create-BVq1lNQE.js";
|
|
3
|
+
import { n as ChatTransport } from "../types-yUuPR5Hy.js";
|
|
4
4
|
import { ActionEvent, Author, CardElement } from "chat";
|
|
5
5
|
//#region src/chat-sdk/author.d.ts
|
|
6
6
|
type ChatSdkAuthorOptions = {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* The platform workspace the bot is installed in, matched against identity
|
|
9
|
+
* links.
|
|
10
|
+
*/
|
|
8
11
|
readonly workspace?: string;
|
|
9
12
|
};
|
|
10
13
|
/**
|
|
11
14
|
* The `ChatAuthor` of a Chat SDK message or action, named by its adapter
|
|
12
|
-
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
+
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the platform
|
|
16
|
+
* itself or an empty id. Reads only `userId`: the email and display name never
|
|
17
|
+
* identify anyone.
|
|
15
18
|
*/
|
|
16
19
|
export declare function chatSdkAuthor(user: Pick<Author, "userId" | "isBot" | "isMe" | "isSystem">, adapter: {
|
|
17
20
|
readonly name: string;
|
|
@@ -23,17 +26,23 @@ export declare const APPROVE_ACTION = "permdock:approve";
|
|
|
23
26
|
/** The `actionId` of the card's reject button; its `value` is the request id. */
|
|
24
27
|
export declare const REJECT_ACTION = "permdock:reject";
|
|
25
28
|
type ApprovalCardOptions = {
|
|
26
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* The app's approval page: a base URL the request id is appended to, or a
|
|
31
|
+
* function of the prompt. Must be https.
|
|
32
|
+
*/
|
|
27
33
|
readonly approvalUrl: ApprovalUrl;
|
|
28
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* `false` leaves out the approve and reject buttons, so the page is the only
|
|
36
|
+
* place to decide. Defaults to `true`.
|
|
37
|
+
*/
|
|
29
38
|
readonly buttons?: boolean;
|
|
30
39
|
};
|
|
31
40
|
/**
|
|
32
|
-
* A Chat SDK card for an approval prompt: the detail, who asked, the
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
41
|
+
* A Chat SDK card for an approval prompt: the detail, who asked, the permission
|
|
42
|
+
* and the expiry, a link to the approval page, and approve and reject buttons
|
|
43
|
+
* that carry the request id, never its token. A click is applied by
|
|
44
|
+
* `approvalActions` as the verified clicking user. Throws a `TypeError` for an
|
|
45
|
+
* approval page that is not https.
|
|
37
46
|
*/
|
|
38
47
|
export declare function approvalCard(prompt: ApprovalPrompt, options: ApprovalCardOptions): CardElement;
|
|
39
48
|
//#endregion
|
|
@@ -46,31 +55,40 @@ type ApprovalActionsOptions = ChatSdkAuthorOptions & {
|
|
|
46
55
|
readonly onResult?: (result: ChatActionResult, event: ActionEvent) => void | Promise<void>;
|
|
47
56
|
};
|
|
48
57
|
type ApprovalActions = {
|
|
49
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* The action ids to register: `chat.onAction(actions.actionIds,
|
|
60
|
+
* actions.onAction)`.
|
|
61
|
+
*/
|
|
50
62
|
readonly actionIds: readonly [typeof APPROVE_ACTION, typeof REJECT_ACTION];
|
|
51
63
|
readonly onAction: (event: ActionEvent) => Promise<void>;
|
|
52
64
|
};
|
|
53
65
|
/**
|
|
54
|
-
* Applies the approve and reject buttons of `approvalCard`. The clicking
|
|
55
|
-
*
|
|
56
|
-
* `ChatPermDock.resolveAction`; the button value names the request by id.
|
|
57
|
-
*
|
|
66
|
+
* Applies the approve and reject buttons of `approvalCard`. The clicking user,
|
|
67
|
+
* as the Chat SDK adapter verified them, is resolved through
|
|
68
|
+
* `ChatPermDock.resolveAction`; the button value names the request by id. A
|
|
69
|
+
* click from an unlinked user, the requester or a bot records nothing.
|
|
58
70
|
*/
|
|
59
71
|
export declare function approvalActions(permdock: ChatPermDock, options?: ApprovalActionsOptions): ApprovalActions;
|
|
60
72
|
//#endregion
|
|
61
73
|
//#region src/chat-sdk/transport.d.ts
|
|
62
74
|
/** The part of a Chat SDK `Chat` the transport calls; a `new Chat(...)` fits. */
|
|
63
75
|
type ChatSdkClient = {
|
|
64
|
-
openDM(user: string)
|
|
65
|
-
post(message: string | CardElement)
|
|
76
|
+
openDM: (user: string) => Promise<{
|
|
77
|
+
post: (message: string | CardElement) => Promise<{
|
|
66
78
|
readonly id: string;
|
|
67
79
|
}>;
|
|
68
80
|
}>;
|
|
69
81
|
};
|
|
70
82
|
type ChatSdkTransportOptions = {
|
|
71
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* The adapter name recipients are on (`slack`, `teams`, …); a target for
|
|
85
|
+
* another provider is rejected.
|
|
86
|
+
*/
|
|
72
87
|
readonly provider: string;
|
|
73
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* The workspace the bot is installed in; a target for another workspace is
|
|
90
|
+
* rejected.
|
|
91
|
+
*/
|
|
74
92
|
readonly workspace?: string;
|
|
75
93
|
/** Keys this transport remembers to skip a repeat post. Defaults to 1000. */
|
|
76
94
|
readonly remember?: number;
|
|
@@ -78,9 +96,9 @@ type ChatSdkTransportOptions = {
|
|
|
78
96
|
/**
|
|
79
97
|
* The chat channel of `permdock/delivery` over the Chat SDK: opens a direct
|
|
80
98
|
* message with the target's platform user id and posts the text, or the
|
|
81
|
-
* approval card when the message carries an approval prompt. The Chat SDK
|
|
82
|
-
*
|
|
83
|
-
*
|
|
99
|
+
* approval card when the message carries an approval prompt. The Chat SDK takes
|
|
100
|
+
* no idempotency key, so the transport skips a key it already sent, per
|
|
101
|
+
* instance and in memory only.
|
|
84
102
|
*/
|
|
85
103
|
export declare function chatSdkTransport(chat: ChatSdkClient, options: ChatSdkTransportOptions): ChatTransport;
|
|
86
104
|
//#endregion
|
package/dist/chat-sdk/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as approvalUrlFor } from "../approval-prompt-
|
|
3
|
-
import { i as isDeliveryTarget } from "../target-
|
|
2
|
+
import { n as approvalUrlFor } from "../approval-prompt-B8hQY69x.js";
|
|
3
|
+
import { i as isDeliveryTarget } from "../target-qdEAnnhU.js";
|
|
4
4
|
import { Actions, Button, Card, CardText, Field, Fields, LinkButton } from "chat";
|
|
5
5
|
//#region src/chat-sdk/author.ts
|
|
6
6
|
/**
|
|
7
7
|
* The `ChatAuthor` of a Chat SDK message or action, named by its adapter
|
|
8
|
-
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* (`adapter.name`, such as `slack`). `null` for a bot, this bot, the platform
|
|
9
|
+
* itself or an empty id. Reads only `userId`: the email and display name never
|
|
10
|
+
* identify anyone.
|
|
11
11
|
*/
|
|
12
12
|
function chatSdkAuthor(user, adapter, options = {}) {
|
|
13
13
|
const provider = typeof adapter === "string" ? adapter : adapter.name;
|
|
@@ -28,11 +28,11 @@ function oneLine(value) {
|
|
|
28
28
|
return value.replaceAll(/\s+/gu, " ").trim();
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* A Chat SDK card for an approval prompt: the detail, who asked, the
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* A Chat SDK card for an approval prompt: the detail, who asked, the permission
|
|
32
|
+
* and the expiry, a link to the approval page, and approve and reject buttons
|
|
33
|
+
* that carry the request id, never its token. A click is applied by
|
|
34
|
+
* `approvalActions` as the verified clicking user. Throws a `TypeError` for an
|
|
35
|
+
* approval page that is not https.
|
|
36
36
|
*/
|
|
37
37
|
function approvalCard(prompt, options) {
|
|
38
38
|
const url = approvalUrlFor(prompt, options.approvalUrl);
|
|
@@ -101,10 +101,10 @@ async function reply(result, event) {
|
|
|
101
101
|
await thread.postEphemeral(event.user, `The approval was not recorded: ${result.cause}.`, { fallbackToDM: false });
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
|
-
* Applies the approve and reject buttons of `approvalCard`. The clicking
|
|
105
|
-
*
|
|
106
|
-
* `ChatPermDock.resolveAction`; the button value names the request by id.
|
|
107
|
-
*
|
|
104
|
+
* Applies the approve and reject buttons of `approvalCard`. The clicking user,
|
|
105
|
+
* as the Chat SDK adapter verified them, is resolved through
|
|
106
|
+
* `ChatPermDock.resolveAction`; the button value names the request by id. A
|
|
107
|
+
* click from an unlinked user, the requester or a bot records nothing.
|
|
108
108
|
*/
|
|
109
109
|
function approvalActions(permdock, options = {}) {
|
|
110
110
|
const onAction = async (event) => {
|
|
@@ -147,9 +147,9 @@ function chatSdkFailure(error) {
|
|
|
147
147
|
/**
|
|
148
148
|
* The chat channel of `permdock/delivery` over the Chat SDK: opens a direct
|
|
149
149
|
* message with the target's platform user id and posts the text, or the
|
|
150
|
-
* approval card when the message carries an approval prompt. The Chat SDK
|
|
151
|
-
*
|
|
152
|
-
*
|
|
150
|
+
* approval card when the message carries an approval prompt. The Chat SDK takes
|
|
151
|
+
* no idempotency key, so the transport skips a key it already sent, per
|
|
152
|
+
* instance and in memory only.
|
|
153
153
|
*/
|
|
154
154
|
function chatSdkTransport(chat, options) {
|
|
155
155
|
const remember = options.remember ?? DEFAULT_REMEMBER;
|
|
@@ -3,7 +3,10 @@ import { n as isReadonlyArray } from "./compact-CAf557ZB.js";
|
|
|
3
3
|
function partsOf(check) {
|
|
4
4
|
return isReadonlyArray(check) ? [check[0], check[1]] : [check, void 0];
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* `true` when every check is granted, stopping at the first that is not; an
|
|
8
|
+
* empty list is `false`.
|
|
9
|
+
*/
|
|
7
10
|
function canAllWith(can, checks, options) {
|
|
8
11
|
if (checks.length === 0) return false;
|
|
9
12
|
return checks.every((check) => {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { o as readPath } from "./paths-
|
|
1
|
+
import { o as readPath } from "./paths-CUvURzHp.js";
|
|
2
2
|
//#region src/core/claims-map.ts
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The value at `path`; a function that throws reads as absent, so a bad mapping
|
|
5
|
+
* fails closed.
|
|
6
|
+
*/
|
|
4
7
|
function readClaim(claims, path) {
|
|
5
8
|
if (typeof path === "string") return readPath(claims, path);
|
|
6
9
|
try {
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
//#region src/core/claims-map.d.ts
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Where a value lives in verified claims: a dotted path (`app_metadata.roles`),
|
|
4
|
+
* or a function over the claims.
|
|
5
|
+
*/
|
|
3
6
|
type ClaimPath = string | ((claims: Readonly<Record<string, unknown>>) => unknown);
|
|
4
7
|
/**
|
|
5
|
-
* How one provider's verified claims map to a principal. Every subject
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
8
|
+
* How one provider's verified claims map to a principal. Every subject provider
|
|
9
|
+
* takes it as `claims`; each field it leaves out keeps that provider's default.
|
|
10
|
+
* Mapping only: core never verifies a token, and a claim becomes a principal
|
|
11
|
+
* field only after the provider verified the token.
|
|
9
12
|
*/
|
|
10
13
|
type ClaimsMap = {
|
|
11
14
|
readonly id?: ClaimPath;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { T as Policy, j as PolicyVocabulary, sr as Principal } from "../policy-types-
|
|
2
|
-
import { a as PermDock } from "../permdock-
|
|
3
|
-
import { o as AgentAdapterOptions, t as AgentPermDock } from "../create-
|
|
1
|
+
import { T as Policy, j as PolicyVocabulary, sr as Principal } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { a as PermDock } from "../permdock-B6Sf4T_S.js";
|
|
3
|
+
import { o as AgentAdapterOptions, t as AgentPermDock } from "../create-BSNrVuxh.js";
|
|
4
4
|
//#region src/claude-agent/create.d.ts
|
|
5
5
|
/** Structural `McpServerProvenance` from `@anthropic-ai/claude-agent-sdk`. */
|
|
6
6
|
type ClaudeMcpServer = {
|
|
@@ -8,9 +8,9 @@ type ClaudeMcpServer = {
|
|
|
8
8
|
readonly source: string;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
* What `subject`, `actor` and `tenant` receive: the `canUseTool` options or
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* What `subject`, `actor` and `tenant` receive: the `canUseTool` options or the
|
|
12
|
+
* hook input. The subject comes from the app that started the query, never from
|
|
13
|
+
* these fields.
|
|
14
14
|
*/
|
|
15
15
|
type ClaudeAgentContext = {
|
|
16
16
|
readonly toolName: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as isRecord, t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { l as withApp } from "../permdock-
|
|
3
|
-
import { t as agentRuntime } from "../create-
|
|
2
|
+
import { l as withApp } from "../permdock-L-_I_3zP.js";
|
|
3
|
+
import { t as agentRuntime } from "../create-Cq4Uox0f.js";
|
|
4
4
|
//#region src/claude-agent/create.ts
|
|
5
5
|
const MCP_PREFIX = "mcp__";
|
|
6
6
|
function asInput(input) {
|
|
@@ -31,7 +31,10 @@ function createPermDock(policy, given) {
|
|
|
31
31
|
const options = withApp(policy, given);
|
|
32
32
|
const sources = options.mcpSources ?? ["sdk"];
|
|
33
33
|
const { agent, kernel } = agentRuntime(policy, options, "claude-agent");
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* `null`: an unmapped tool under `unmapped: 'allow'`, which PermDock does not
|
|
36
|
+
* decide.
|
|
37
|
+
*/
|
|
35
38
|
const decide = async (context, input) => {
|
|
36
39
|
const untrusted = untrustedServer(context, sources);
|
|
37
40
|
if (untrusted !== void 0) return {
|
package/dist/clerk/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as CustomRoleSource, lr as Subject, sr as Principal } from "../policy-types-
|
|
2
|
-
import { u as Permission } from "../permission-types-
|
|
3
|
-
import { s as RemotePdpCache } from "../types-
|
|
4
|
-
import { t as ClaimsMap } from "../claims-map-
|
|
1
|
+
import { W as CustomRoleSource, lr as Subject, sr as Principal } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
+
import { s as RemotePdpCache } from "../types-B4uqKDnp.js";
|
|
4
|
+
import { t as ClaimsMap } from "../claims-map-D1Pb5oRq.js";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
6
|
//#region src/clerk/types.d.ts
|
|
7
7
|
type ClerkPrincipal = Principal & {
|
|
@@ -37,7 +37,11 @@ type ClerkSubjectOptions = {
|
|
|
37
37
|
readonly customRoles?: CustomRoleSource;
|
|
38
38
|
readonly permissions?: Readonly<Record<string, Permission>>;
|
|
39
39
|
readonly schema?: StandardSchemaV1;
|
|
40
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Where the session token carries platform roles (`claims.roles`): a path
|
|
42
|
+
* such as `publicMetadata.staff`, or a function. Organization roles come from
|
|
43
|
+
* the `o` claim.
|
|
44
|
+
*/
|
|
41
45
|
readonly claims?: Pick<ClaimsMap, "roles">;
|
|
42
46
|
readonly features?: Readonly<Record<string, string>>;
|
|
43
47
|
readonly declared?: readonly string[];
|
|
@@ -58,8 +62,8 @@ type ClerkSubjectResolverOptions = ClerkSubjectOptions & {
|
|
|
58
62
|
//#region src/clerk/subject.d.ts
|
|
59
63
|
export declare function subjectFromClerk(authObject: unknown, options?: ClerkSubjectOptions): Promise<Subject<ClerkPrincipal>>;
|
|
60
64
|
/**
|
|
61
|
-
* A resolver that keeps each user's `memberships: 'all'` list for
|
|
62
|
-
*
|
|
65
|
+
* A resolver that keeps each user's `memberships: 'all'` list for `cache.ttl`
|
|
66
|
+
* (at most 30 seconds), so a removed membership grants until then.
|
|
63
67
|
*/
|
|
64
68
|
export declare function clerkSubjectResolver(options?: ClerkSubjectResolverOptions): (authObject: unknown) => Promise<Subject<ClerkPrincipal>>;
|
|
65
69
|
//#endregion
|
package/dist/clerk/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { i as omitKeys, r as isRecord, t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
-
import { n as freezeDeep } from "../freeze-
|
|
3
|
-
import { r as validateRecord } from "../thenable-
|
|
2
|
+
import { n as freezeDeep } from "../freeze-jjan0lCv.js";
|
|
3
|
+
import { r as validateRecord } from "../thenable-BNSM1U2R.js";
|
|
4
4
|
import { t as anonymousSubject } from "../subject-BGoM5o8B.js";
|
|
5
|
-
import { t as readClaim } from "../claims-map-
|
|
6
|
-
import { c as ttlMs, s as ttlCache } from "../shared-
|
|
5
|
+
import { t as readClaim } from "../claims-map-CKkoAAYF.js";
|
|
6
|
+
import { c as ttlMs, s as ttlCache } from "../shared-l0oGGetg.js";
|
|
7
7
|
//#region src/clerk/subject.ts
|
|
8
8
|
function asRoles(value) {
|
|
9
9
|
if (typeof value === "string") return value === "" ? [] : [value];
|
|
@@ -198,8 +198,8 @@ function subjectFromClerk(authObject, options = {}) {
|
|
|
198
198
|
return fromClerk(authObject, options, extraMemberships);
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
201
|
-
* A resolver that keeps each user's `memberships: 'all'` list for
|
|
202
|
-
*
|
|
201
|
+
* A resolver that keeps each user's `memberships: 'all'` list for `cache.ttl`
|
|
202
|
+
* (at most 30 seconds), so a removed membership grants until then.
|
|
203
203
|
*/
|
|
204
204
|
function clerkSubjectResolver(options = {}) {
|
|
205
205
|
const { cache, ...rest } = options;
|
package/dist/cli/bin.js
CHANGED
|
@@ -5,14 +5,14 @@ import { text } from "node:stream/consumers";
|
|
|
5
5
|
module.enableCompileCache?.();
|
|
6
6
|
const argv = process.argv.slice(2);
|
|
7
7
|
if (argv.length === 1 && (argv[0] === "--version" || argv[0] === "-v")) {
|
|
8
|
-
const { cliVersion } = await import("../version-
|
|
8
|
+
const { cliVersion } = await import("../version-DizhmD72.js");
|
|
9
9
|
process.stdout.write(`${cliVersion()}\n`);
|
|
10
10
|
} else {
|
|
11
11
|
const [{ isCi }, { trapSignals }, { run }, { streamHasColors }] = await Promise.all([
|
|
12
12
|
import("../env-DJZrPjRi.js"),
|
|
13
|
-
import("../signals-
|
|
14
|
-
import("../run-
|
|
15
|
-
import("../style-
|
|
13
|
+
import("../signals-B1vHR3fN.js"),
|
|
14
|
+
import("../run-D-JE8QWb.js"),
|
|
15
|
+
import("../style-DblOtSga.js")
|
|
16
16
|
]);
|
|
17
17
|
const signals = trapSignals();
|
|
18
18
|
const result = await run(argv, {
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { T as Policy } from "../policy-types-CCiDRZBH.js";
|
|
2
|
+
import { f as PermissionTree } from "../permission-types-CAY-GU7e.js";
|
|
3
|
+
import { o as OperationMap } from "../operations-Ci_rT6Uo.js";
|
|
4
|
+
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-ZzRGoViD.js";
|
|
5
|
+
import { a as pushedPolicy, i as parsePushedPolicy, n as PushedGrant, r as PushedPolicy, t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-D1Eoi6NM.js";
|
|
6
|
+
import { _ as RlsSuspension, a as GenKind, c as RlsActiveRow, d as RlsDialect, f as RlsFunctionMapping, g as RlsSuspendedScope, h as RlsSuspendedMembership, i as GenConfig, l as RlsApiKeys, m as RlsMemberships, n as CliIo, o as PermDockConfig, p as RlsMembershipTable, r as CollectConfig, t as CatalogConfig, u as RlsConfig, v as RlsTarget, y as RunResult } from "../types-DC1Loeh3.js";
|
|
7
|
+
import { o as ResourceNameOf, r as PermissionKeyOf, s as ScopeNameOf, t as ActionNameOf } from "../type-helpers-BIPIDa6a.js";
|
|
4
8
|
//#region src/cli/catalog-path.d.ts
|
|
5
9
|
/**
|
|
6
10
|
* The absolute path `permdock collect` writes the catalog to: `collect.out`,
|
|
@@ -9,8 +13,79 @@ import { _ as RunResult, c as RlsConfig, d as RlsMembershipTable, f as RlsMember
|
|
|
9
13
|
*/
|
|
10
14
|
export declare function catalogPath(config: PermDockConfig, cwd: string, out?: string): string;
|
|
11
15
|
//#endregion
|
|
16
|
+
//#region src/cli/project/config-checks.d.ts
|
|
17
|
+
/**
|
|
18
|
+
* What `defineConfig` accepts: `policy`, `permissions` and `operations` take
|
|
19
|
+
* the imported value or its module path. A value types the keys below it; the
|
|
20
|
+
* CLI reads it from the module the config file imports it from.
|
|
21
|
+
*/
|
|
22
|
+
type PermDockConfigInput = Omit<PermDockConfig, "policy" | "permissions" | "operations"> & {
|
|
23
|
+
readonly policy?: string | Policy;
|
|
24
|
+
readonly permissions?: string | PermissionTree;
|
|
25
|
+
readonly operations?: string | OperationMap;
|
|
26
|
+
};
|
|
27
|
+
type At<T, K extends PropertyKey> = T extends { readonly [P in K]?: infer V; } ? NonNullable<V> : never;
|
|
28
|
+
type KeysAt<T, K extends PropertyKey> = keyof At<T, K> & string;
|
|
29
|
+
/** `never` on every key of `T` outside `Allowed`, so a stray key fails. */
|
|
30
|
+
type Only<Keys extends string, Allowed> = { readonly [K in Exclude<Keys, Allowed>]?: never; };
|
|
31
|
+
/** The pattern itself when a `{name}` segment names no scope in `S`. */
|
|
32
|
+
type StrayPlaceholder<Pattern extends string, S> = Pattern extends `${string}{${infer Name}}${infer Rest}` ? Name extends S ? StrayPlaceholder<Rest, S> : Pattern : never;
|
|
33
|
+
type BadTopics<Topics extends string, S> = { readonly [K in Topics as StrayPlaceholder<K, S> extends never ? never : K]?: never; };
|
|
34
|
+
type KeepEntry<P> = PermissionKeyOf<P> | {
|
|
35
|
+
readonly key: string;
|
|
36
|
+
};
|
|
37
|
+
type BucketChecks<C, P> = { readonly [B in KeysAt<At<At<C, "rls">, "storage">, "buckets">]?: {
|
|
38
|
+
readonly scope?: ScopeNameOf<P>;
|
|
39
|
+
}; };
|
|
40
|
+
type SuspensionChecks<C, P> = {
|
|
41
|
+
readonly scopes?: Only<KeysAt<At<At<C, "rls">, "suspension">, "scopes">, ScopeNameOf<P>> & { readonly [S in ScopeNameOf<P>]?: {
|
|
42
|
+
readonly keep?: readonly KeepEntry<P>[];
|
|
43
|
+
}; };
|
|
44
|
+
readonly memberships?: {
|
|
45
|
+
readonly keep?: readonly KeepEntry<P>[];
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
type RlsChecks<C, P> = {
|
|
49
|
+
readonly tables?: Only<KeysAt<At<C, "rls">, "tables">, ResourceNameOf<P>>;
|
|
50
|
+
readonly scopeTypes?: Only<KeysAt<At<C, "rls">, "scopeTypes">, ScopeNameOf<P>>;
|
|
51
|
+
readonly actions?: Only<KeysAt<At<C, "rls">, "actions">, ActionNameOf<P>>;
|
|
52
|
+
readonly memberships?: {
|
|
53
|
+
readonly scopes?: Only<KeysAt<At<At<C, "rls">, "memberships">, "scopes">, ScopeNameOf<P>>;
|
|
54
|
+
};
|
|
55
|
+
readonly suspension?: SuspensionChecks<C, P>;
|
|
56
|
+
readonly customRoleWrites?: {
|
|
57
|
+
readonly requires?: "manageRoles" | readonly PermissionKeyOf<P>[];
|
|
58
|
+
};
|
|
59
|
+
readonly realtime?: {
|
|
60
|
+
readonly topics?: BadTopics<KeysAt<At<At<C, "rls">, "realtime">, "topics">, ScopeNameOf<P>>;
|
|
61
|
+
};
|
|
62
|
+
readonly storage?: {
|
|
63
|
+
readonly buckets?: BucketChecks<C, P>;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
type PolicyOf<C> = C extends {
|
|
67
|
+
readonly policy: infer P;
|
|
68
|
+
} ? P extends Policy ? P : never : never;
|
|
69
|
+
/**
|
|
70
|
+
* The checks a policy value adds to its config: resource, scope, action and
|
|
71
|
+
* permission names in the keys that name them, and `{scope}` placeholders in
|
|
72
|
+
* Realtime topics. Without a policy value, nothing.
|
|
73
|
+
*/
|
|
74
|
+
type ConfigChecks<C> = [PolicyOf<C>] extends [never] ? unknown : {
|
|
75
|
+
readonly rls?: RlsChecks<C, PolicyOf<C>>;
|
|
76
|
+
readonly powersync?: {
|
|
77
|
+
readonly resources?: readonly ResourceNameOf<PolicyOf<C>>[];
|
|
78
|
+
readonly action?: ActionNameOf<PolicyOf<C>>;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
//#endregion
|
|
12
82
|
//#region src/cli/project/config.d.ts
|
|
13
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Types a `permdock.config.ts`. Pass the `policy` value rather than its path,
|
|
85
|
+
* and resource, scope, action and permission names in the config are checked
|
|
86
|
+
* against it.
|
|
87
|
+
*/
|
|
88
|
+
export declare function defineConfig<const C extends PermDockConfigInput>(config: C & ConfigChecks<C>): C;
|
|
14
89
|
//#endregion
|
|
15
90
|
//#region src/cli/sql/markers.d.ts
|
|
16
91
|
/** The first line of a hook migration `permdock supabase hook generate` wrote. */
|
|
@@ -41,8 +116,8 @@ export declare function parseGrantsMarker(sql: string): SupabaseGrantsMarker | u
|
|
|
41
116
|
//#region src/cli/token-schemas.d.ts
|
|
42
117
|
/**
|
|
43
118
|
* `schemas/run-v1.json`: the claims of a `vnd.permdock.run+jwt`, as
|
|
44
|
-
* `signRunTicket` writes them and `parseRunTicket` accepts them. Unknown
|
|
45
|
-
*
|
|
119
|
+
* `signRunTicket` writes them and `parseRunTicket` accepts them. Unknown claims
|
|
120
|
+
* are allowed; `parseRunTicket` drops them.
|
|
46
121
|
*/
|
|
47
122
|
export declare const RUN_TICKET_SCHEMA: Readonly<Record<string, unknown>>;
|
|
48
123
|
/**
|
|
@@ -57,4 +132,4 @@ export declare function run(argv: readonly string[], options?: {
|
|
|
57
132
|
readonly io?: CliIo;
|
|
58
133
|
}): Promise<RunResult>;
|
|
59
134
|
//#endregion
|
|
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 };
|
|
135
|
+
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, type ConfigChecks, type GenConfig, type GenKind, PUSHED_POLICY_SCHEMA, type PermDockConfig, type PermDockConfigInput, 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,8 +1,8 @@
|
|
|
1
1
|
import { t as catalogPath } from "../catalog-path-CnI0XTFK.js";
|
|
2
|
-
import { t as defineConfig } from "../config-
|
|
3
|
-
import { n as parsePushedPolicy, r as pushedPolicy, t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-
|
|
4
|
-
import { c as parseGrantsMarker, l as parseHookMarker } from "../markers-
|
|
5
|
-
import { t as run } from "../run-
|
|
2
|
+
import { t as defineConfig } from "../config-BwPBfN0t.js";
|
|
3
|
+
import { n as parsePushedPolicy, r as pushedPolicy, t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-ITwYKvvH.js";
|
|
4
|
+
import { c as parseGrantsMarker, l as parseHookMarker } from "../markers-BeHZ4x9Q.js";
|
|
5
|
+
import { t as run } from "../run-Bz26OTfO.js";
|
|
6
6
|
//#region src/cli/token-schemas.ts
|
|
7
7
|
const ID = {
|
|
8
8
|
type: "string",
|
|
@@ -20,8 +20,8 @@ const AUDIENCE = { anyOf: [ID, {
|
|
|
20
20
|
}] };
|
|
21
21
|
/**
|
|
22
22
|
* `schemas/run-v1.json`: the claims of a `vnd.permdock.run+jwt`, as
|
|
23
|
-
* `signRunTicket` writes them and `parseRunTicket` accepts them. Unknown
|
|
24
|
-
*
|
|
23
|
+
* `signRunTicket` writes them and `parseRunTicket` accepts them. Unknown claims
|
|
24
|
+
* are allowed; `parseRunTicket` drops them.
|
|
25
25
|
*/
|
|
26
26
|
const RUN_TICKET_SCHEMA = {
|
|
27
27
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
//#region src/core/clients.d.ts
|
|
2
2
|
/**
|
|
3
3
|
* Stable names for OAuth clients whose ids differ per environment or are
|
|
4
|
-
* assigned at dynamic registration. A record maps each name to the client
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* assigned at dynamic registration. A record maps each name to the client id
|
|
5
|
+
* (or ids) it stands for; an unset id (an environment variable that is not
|
|
6
|
+
* defined) names nothing. A function maps a verified client id to a name, or
|
|
7
|
+
* `undefined`. Policy delegations name the client (`to: { kind, client }`),
|
|
8
|
+
* never its id.
|
|
9
9
|
*/
|
|
10
10
|
type ClientNames = Readonly<Record<string, string | readonly string[] | undefined>> | ((clientId: string) => string | undefined);
|
|
11
11
|
//#endregion
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//#region src/core/clients.ts
|
|
2
2
|
/**
|
|
3
|
-
* The name `clients` gives `clientId`, or `undefined`: unknown ids, an id
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* The name `clients` gives `clientId`, or `undefined`: unknown ids, an id two
|
|
4
|
+
* names claim, a function that throws or returns anything but a non-empty
|
|
5
|
+
* string. Never throws.
|
|
6
6
|
*/
|
|
7
7
|
function clientNameOf(clients, clientId) {
|
|
8
8
|
if (clients === void 0 || clientId === "") return;
|