permdock 0.8.0 → 0.10.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/dist/a2a/index.d.ts +4 -4
- package/dist/a2a/index.js +3 -3
- package/dist/{action-result-CL-QCITA.d.ts → action-result-BcudBQOF.d.ts} +1 -1
- package/dist/active-tenant-DVee32-T.js +39 -0
- package/dist/{adoption-scan-BLs67P1l.js → adoption-scan-0oFt2RD5.js} +1 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/ai-sdk/index.d.ts +3 -3
- package/dist/ai-sdk/index.js +3 -3
- package/dist/{approval-prompt-PYagyQUj.d.ts → approval-prompt-3BqWczTt.d.ts} +1 -1
- package/dist/approvals/index.d.ts +3 -3
- package/dist/{arazzo-3RhGfkAK.js → arazzo-DA9PCXew.js} +1 -1
- package/dist/{arazzo-B5-ulWif.js → arazzo-DhxDfYt-.js} +2 -2
- package/dist/astro/index.d.ts +4 -4
- package/dist/astro/index.js +1 -1
- package/dist/{audience-BAkBDMqn.js → audience-DTjR8xet.js} +1 -1
- package/dist/authzen/index.d.ts +5 -5
- package/dist/authzen/index.js +1 -1
- package/dist/{automation-DqEoWHBc.d.ts → automation-C6Jg75xq.d.ts} +1 -1
- package/dist/better-auth/index.d.ts +1 -1
- package/dist/better-supabase/index.d.ts +192 -27
- package/dist/better-supabase/index.js +248 -64
- package/dist/{bind-D_sZSVA3.js → bind-BNQA9JK9.js} +7 -3
- package/dist/{bind-Cp2hBHzP.d.ts → bind-YYjvfpB9.d.ts} +12 -7
- package/dist/{build-instance-CNWaYJyr.js → build-instance-BWXqwQYU.js} +1 -1
- package/dist/{capability-ChuiONQU.d.ts → capability-Di9tiUvi.d.ts} +1 -1
- package/dist/{casbin-H0rKxBx2.js → casbin-BJu2liqU.js} +1 -1
- package/dist/{casbin-cbSbhT_k.js → casbin-BkhqGh2z.js} +1 -1
- package/dist/catalog/index.d.ts +4 -4
- package/dist/catalog/index.js +2 -2
- package/dist/{catalog-BFpz2EmT.js → catalog-CGlSwU6j.js} +2 -2
- package/dist/catalog-D3oS2GH3.js +1 -0
- package/dist/{catalog-DCspHDc8.js → catalog-amPDr0JQ.js} +1 -1
- package/dist/{catalog-operations-Dadrl7Z-.js → catalog-operations-DeHTrJSV.js} +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +1 -1
- package/dist/chat-sdk/index.d.ts +3 -3
- package/dist/claude-agent/index.d.ts +3 -3
- package/dist/claude-agent/index.js +2 -2
- package/dist/clerk/index.d.ts +2 -2
- package/dist/cli/bin.js +1 -1
- package/dist/cli/index.d.ts +9 -4
- package/dist/cli/index.js +11 -3
- package/dist/cloud/index.d.ts +8 -8
- package/dist/{cloud-BFlGMaak.js → cloud-3RIuS4E9.js} +2 -2
- package/dist/{codemod-DLQ9Zpo4.js → codemod-DLcp-B6v.js} +2 -2
- package/dist/{codemod-DWSN2erG.js → codemod-DRl_w-bY.js} +1 -1
- package/dist/collect-D-eroIfV.js +1 -0
- package/dist/{collect-Bzv3le0A.js → collect-D9Tt0Bcx.js} +2 -2
- package/dist/{collect-B7ZFAJU3.js → collect-WCl8cJQV.js} +1 -1
- package/dist/compile/index.d.ts +1 -1
- package/dist/{compile-BFzysW3o.d.ts → compile-BEklRUYo.d.ts} +2 -2
- package/dist/{completion-saoYiRFO.js → completion-VSWvaaPO.js} +1 -1
- package/dist/{config-BwPBfN0t.js → config-BR23fL8m.js} +2 -2
- package/dist/{config-DBeXXmBF.js → config-kL36AxkE.js} +1 -1
- package/dist/{config-report-BipSWA6V.js → config-report-osnfUNg5.js} +3 -3
- package/dist/{config-shape-ykV0Vm2n.js → config-shape-tsxHx71E.js} +2 -1
- package/dist/convex/index.d.ts +4 -4
- package/dist/convex/index.js +2 -2
- package/dist/{core-hWIARPDz.d.ts → core-CFepFiDP.d.ts} +2 -2
- package/dist/{core-H-mbhpZc.js → core-DzVINFbU.js} +3 -3
- package/dist/{create-Cq4Uox0f.js → create-6EwRQlig.js} +3 -3
- package/dist/{create-_noSrY1T.js → create-BLPKnJKa.js} +23 -7
- package/dist/{create-BSNrVuxh.d.ts → create-BPUopdfL.d.ts} +7 -7
- package/dist/{create-CM1FciYG.d.ts → create-CDd9c22W.d.ts} +15 -6
- package/dist/{create-BVq1lNQE.d.ts → create-DBvUsgzK.d.ts} +4 -4
- package/dist/delivery/index.d.ts +4 -4
- package/dist/delivery/index.js +1 -1
- package/dist/{denied-text-CHNlVInN.d.ts → denied-text-DHldhVUv.d.ts} +1 -1
- package/dist/{describe-ByS9LgHK.d.ts → describe-BbFPBSms.d.ts} +1 -1
- package/dist/{diff-CN8IYhC_.js → diff-BwR1JdP2.js} +1 -1
- package/dist/{diff-iZWV65nC.js → diff-CQegtBAo.js} +2 -2
- package/dist/{doctor-D3wo-yuz.js → doctor-B9FY9H0F.js} +2 -2
- package/dist/{doctor-CHD1M9R5.js → doctor-DfTnMaUt.js} +144 -16
- package/dist/drizzle/index.d.ts +3 -3
- package/dist/elysia/index.d.ts +4 -4
- package/dist/elysia/index.js +1 -1
- package/dist/{errors-zi_4T-rx.d.ts → errors-BIM4MFsJ.d.ts} +1 -1
- package/dist/{evaluate-Dd8Ta0Ie.js → evaluate-BAmf_AQd.js} +13 -4
- package/dist/{evaluations-z8dQFDaN.d.ts → evaluations-DOWuBpWv.d.ts} +3 -3
- package/dist/eve/index.d.ts +4 -4
- package/dist/eve/index.js +2 -2
- package/dist/express/index.d.ts +4 -4
- package/dist/express/index.js +1 -1
- package/dist/fastify/index.d.ts +4 -4
- package/dist/fastify/index.js +1 -1
- package/dist/{fetch-adapter-C1DCvpqV.d.ts → fetch-adapter-BIbBAtPZ.d.ts} +2 -2
- package/dist/{fetch-adapter-JL43jD3E.js → fetch-adapter-dPTgJVHd.js} +1 -1
- package/dist/{fields-D0vUI6dq.js → fields-DI8s3cPl.js} +1 -1
- package/dist/{gen-DWCYcMQM.js → gen-DuAhghDw.js} +2 -2
- package/dist/{gen-B5kvbAoZ.js → gen-DwgCSC6V.js} +1 -1
- package/dist/h3/index.d.ts +4 -4
- package/dist/h3/index.js +2 -2
- package/dist/hono/index.d.ts +4 -4
- package/dist/hono/index.js +1 -1
- package/dist/{hosted-Cmtxogd0.d.ts → hosted-DVxlLZMe.d.ts} +1 -1
- package/dist/{import-CST57XLp.js → import-CNBF96hB.js} +2 -2
- package/dist/{import-_YqhhwvX.js → import-Iuk9mx8A.js} +1 -1
- package/dist/{index-BhxEUY9J.d.ts → index-BinlXeU-.d.ts} +2 -2
- package/dist/{index-B8s204GL.d.ts → index-CV-7DWeD.d.ts} +4 -4
- package/dist/{index-BW_0MZOS.d.ts → index-Cay5-Kvx.d.ts} +13 -8
- package/dist/{index-_9UiQIkt.d.ts → index-DJwEgYzA.d.ts} +4 -4
- package/dist/{index-BT5-1VsX.d.ts → index-Dj2qF9VC.d.ts} +1 -1
- package/dist/{index-Bv5iXPqU.d.ts → index-ymept53A.d.ts} +4 -4
- package/dist/index.d.ts +16 -15
- package/dist/index.js +6 -6
- package/dist/{init-cE3A8aXq.js → init-DeoSvkh2.js} +1 -1
- package/dist/{init-Dz_PsHdv.js → init-fNF_XmTa.js} +3 -3
- package/dist/{instance-options-B0KXqTrJ.d.ts → instance-options-CoHn-0e8.d.ts} +1 -1
- package/dist/{instance-snapshot--JWiTrvO.js → instance-snapshot-DuWf1cT3.js} +13 -8
- package/dist/jwt/index.d.ts +4 -4
- package/dist/jwt/index.js +1 -1
- package/dist/{kernel-C-fYydV2.js → kernel-qv4cr9w8.js} +4 -4
- package/dist/kysely/index.d.ts +3 -3
- package/dist/{login-DplQ0s84.js → login-CutVtcmQ.js} +1 -1
- package/dist/{login-D-8tMqzo.js → login-DYazeWc9.js} +3 -3
- package/dist/{manifest-Cgiq5oqc.js → manifest-B4ENCp2I.js} +35 -35
- package/dist/{manifest-CzzWtnAb.d.ts → manifest-B5yF3CIq.d.ts} +19 -0
- package/dist/{manifest-wg8WkkpD.js → manifest-BXTbHNIV.js} +1 -1
- package/dist/{manifest-schema-2r37XRhD.js → manifest-schema-DQkBK2Mr.js} +28 -1
- package/dist/{map-claims-BNWCJtmP.js → map-claims-C-nv08_n.js} +2 -1
- package/dist/mcp/index.d.ts +8 -8
- package/dist/mcp/index.js +4 -4
- package/dist/{migrate-B7oP_sQU.js → migrate-BJHxQqT5.js} +2 -2
- package/dist/{module-values-BJTBdo6y.js → module-values-B1EVTkHP.js} +1 -1
- package/dist/nest/index.d.ts +4 -4
- package/dist/nest/index.js +1 -1
- package/dist/next/index.d.ts +32 -12
- package/dist/next/index.js +15 -8
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +1 -1
- package/dist/node/index.d.ts +4 -4
- package/dist/node/index.js +1 -1
- package/dist/openai/index.d.ts +4 -4
- package/dist/openai/index.js +3 -3
- package/dist/openapi/index.d.ts +2 -2
- package/dist/{openapi-VeHHU2l9.js → openapi-C-ADypaY.js} +1 -1
- package/dist/{openapi-CBZUhA3l.js → openapi-DFj0cirS.js} +2 -2
- package/dist/orpc/index.d.ts +5 -5
- package/dist/orpc/index.js +2 -2
- package/dist/otel/index.d.ts +3 -3
- package/dist/{output-tkju6U7R.js → output-LsbLe41I.js} +1 -1
- package/dist/{ownership-B4L59T9u.js → ownership-qqBuGJXr.js} +11 -6
- package/dist/{parse-local-manifest-BQhTlLQS.d.ts → parse-local-manifest-CCmbhnxP.d.ts} +1 -1
- package/dist/pdp/index.d.ts +3 -3
- package/dist/pdp/index.js +1 -1
- package/dist/{permdock-L-_I_3zP.js → permdock-BvjivVb9.js} +143 -107
- package/dist/{permdock-B6Sf4T_S.d.ts → permdock-CprAPN3w.d.ts} +9 -2
- package/dist/{permissions-mDcTWoBs.js → permissions-CYcHj_w7.js} +1 -1
- package/dist/{policy-Ba4bDhaj.d.ts → policy-BycVKnXv.d.ts} +1 -1
- package/dist/{policy-from-catalog-CJgOm6aq.js → policy-from-catalog-CU3An8uP.js} +1 -1
- package/dist/{policy-types-CCiDRZBH.d.ts → policy-types-DGIO_gxq.d.ts} +54 -18
- package/dist/{postgrest-DicQyqm-.d.ts → postgrest-D5nUGm-c.d.ts} +4 -3
- package/dist/{postgrest-D4nuPXIQ.js → postgrest-DAxFltvO.js} +35 -56
- package/dist/{powersync-DXqGuq9A.js → powersync-B_8uwz7f.js} +2 -2
- package/dist/powersync-CSzDCHRu.js +1 -0
- package/dist/{powersync-DHNQX06W.js → powersync-DUT-UKgw.js} +190 -38
- package/dist/prisma/index.d.ts +2 -2
- package/dist/{protected-action-BE7N_Luo.d.ts → protected-action-D8x73IGm.d.ts} +6 -6
- package/dist/{provider-DXfq5c2d.d.ts → provider-DfLeek9O.d.ts} +1 -1
- package/dist/{pull-CwpGaQSi.js → pull-DQCgvJSC.js} +2 -2
- package/dist/pull-DYbyod1f.js +1 -0
- package/dist/{push-DgssgzkK.js → push-Dq_ca4-j.js} +3 -3
- package/dist/{pushed-policy-ITwYKvvH.js → pushed-policy-CDuOL2de.js} +1 -1
- package/dist/{pushed-policy-D1Eoi6NM.d.ts → pushed-policy-CryQheKq.d.ts} +1 -1
- package/dist/react/index.d.ts +7 -7
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react-native/index.d.ts +9 -9
- package/dist/{replay-DNftIb_R.d.ts → replay-Bs9Df2fQ.d.ts} +1 -1
- package/dist/{request-context-C25ilqiJ.js → request-context-Duzdf0cd.js} +1 -1
- package/dist/resend/index.d.ts +4 -4
- package/dist/{resolve-names-CF7xXLSG.js → resolve-names-Y1Cb22cp.js} +4 -4
- package/dist/{rls-CNEH2_BG.js → rls-B57mIeVq.js} +34 -20
- package/dist/{rls-Ca8Jz9b5.js → rls-j0YrFPpW.js} +1 -1
- package/dist/{rpc-fNqAIqQk.js → rpc-vHIwyXCp.js} +1 -1
- package/dist/run-BATawNVH.js +1 -0
- package/dist/{run-Bz26OTfO.js → run-CLP_fQUF.js} +3 -3
- package/dist/{run-ticket-Dv7aF7Dk.js → run-ticket-DfnZCh-u.js} +19 -6
- package/dist/{run-ticket-DbWI9f99.d.ts → run-ticket-ylovhyFQ.d.ts} +18 -3
- package/dist/{saas-iWnUdwCt.js → saas-DK4V-3Is.js} +2 -2
- package/dist/{scan-DCj1KQfn.js → scan-B7xrAvRm.js} +1 -1
- package/dist/{schema-Dst9I9Gs.js → schema-3PJ8wAeL.js} +1 -1
- package/dist/scim/index.d.ts +1 -1
- package/dist/server/index.d.ts +11 -11
- package/dist/server/index.js +2 -2
- package/dist/{server-types-CIlpSA2G.d.ts → server-types-CyRN0-Cd.d.ts} +15 -8
- package/dist/{shared-Afctg7B0.js → shared-DrGLwM3s.js} +1 -1
- package/dist/{sink-Dvi7YZG_.d.ts → sink-B5zoUW_O.d.ts} +2 -2
- package/dist/{skills-OuoMR49L.js → skills-BUI8DMqy.js} +1 -1
- package/dist/{skills-Bjj7BNEQ.js → skills-iwbRxavw.js} +1 -1
- package/dist/{snapshot-cache-BAXZ0KOp.d.ts → snapshot-cache-BjAWkchD.d.ts} +1 -1
- package/dist/solid/index.d.ts +6 -6
- package/dist/solid-start/index.d.ts +4 -4
- package/dist/solid-start/index.js +2 -2
- package/dist/{sources-CMAM-2A3.js → sources-C4vkzZJV.js} +12 -7
- package/dist/{types-ah9NlU6j.d.ts → sources-oB1Hg1Fm.d.ts} +316 -2
- package/dist/{src-DZ0l9UAg.js → src-C_pi2Rnh.js} +106 -5
- package/dist/ssf/index.d.ts +3 -3
- package/dist/{standard-webhooks-C-qX4mJW.d.ts → standard-webhooks-DOYEuOLx.d.ts} +2 -2
- package/dist/{stores-C0Kta5Ft.d.ts → stores-DZJvxFIZ.d.ts} +6 -6
- package/dist/{stream-ltuLdtTG.d.ts → stream-9y9qw51m.d.ts} +1 -1
- package/dist/supabase/index.d.ts +5 -6
- package/dist/supabase/index.js +4 -4
- package/dist/supabase/middleware.d.ts +5 -5
- package/dist/supabase/middleware.js +4 -4
- package/dist/{supabase-BL1qJzzY.js → supabase-B1EfuD47.js} +2 -2
- package/dist/{supabase-D39cuGPt.js → supabase-BaizG0n7.js} +2 -2
- package/dist/{supabase-hook-B-yXnzUl.js → supabase-hook-BT2P9wah.js} +110 -47
- package/dist/supabase-hook-CbvGAutK.js +1 -0
- package/dist/{supautils-BU-pAEpf.js → supautils-DBKOoyjn.js} +247 -200
- package/dist/svelte/index.d.ts +6 -6
- package/dist/svelte/runtime.d.ts +3 -3
- package/dist/svelte/source.d.ts +6 -6
- package/dist/sveltekit/index.d.ts +4 -4
- package/dist/sveltekit/index.js +1 -1
- package/dist/{tables-DeMNEy6V.js → tables-DimBcVWY.js} +3 -3
- package/dist/tanstack-start/index.d.ts +4 -4
- package/dist/tanstack-start/index.js +1 -1
- package/dist/terminal/index.d.ts +5 -5
- package/dist/terminal/index.js +2 -2
- package/dist/testing/core.d.ts +1 -1
- package/dist/testing/core.js +1 -1
- package/dist/testing/fixtures/index.d.ts +1 -1
- package/dist/testing/fixtures/index.js +26 -28
- package/dist/testing/index.d.ts +23 -21
- package/dist/testing/index.js +64 -10
- package/dist/testing/saas/index.d.ts +3 -3
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/trpc/index.d.ts +5 -5
- package/dist/trpc/index.js +2 -2
- package/dist/{type-helpers-BIPIDa6a.d.ts → type-helpers-c7Xo_2Cu.d.ts} +1 -1
- package/dist/{types-B2mlGuhW.d.ts → types-B2efzoSX.d.ts} +1 -1
- package/dist/{types-DHKPcqzr.d.ts → types-B6ExllNo.d.ts} +2 -2
- package/dist/{types-AMJ5qoU_.d.ts → types-BB-zWDcR.d.ts} +4 -4
- package/dist/{types-djVzLlIV.d.ts → types-CEinc15V.d.ts} +4 -4
- package/dist/{types-yUuPR5Hy.d.ts → types-CN0LsqbK.d.ts} +3 -3
- package/dist/{types-HzqOtvsJ.d.ts → types-CWBsAwqn.d.ts} +4 -4
- package/dist/{types-DC1Loeh3.d.ts → types-Cklw5hJo.d.ts} +26 -3
- package/dist/{types-B_tiYvk8.d.ts → types-DLvhVm1r.d.ts} +1 -1
- package/dist/{types-B4uqKDnp.d.ts → types-DlelvQk4.d.ts} +2 -2
- package/dist/{types-DjuMBNF9.d.ts → types-DsHGPtkR.d.ts} +2 -2
- package/dist/{types-BJk0BKRX.d.ts → types-rCRV4Ge-.d.ts} +4 -4
- package/dist/{types-B_d_g7T3.d.ts → types-tQB2CEnY.d.ts} +4 -4
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +1 -1
- package/dist/{usage-ab0PdusX.js → usage-B1ZJOUdr.js} +1 -1
- package/dist/{usage-CxEzS4ey.js → usage-t_nXnwCW.js} +3 -3
- package/dist/usage-weohzv2f.js +1 -0
- package/dist/{validation-error-YGg2mXyH.d.ts → validation-error-uvp-kyfO.d.ts} +1 -1
- package/dist/{verify-DZeqoWu5.js → verify-jHrbmn-E.js} +9 -9
- package/dist/version-cache-Df11C2Qp.d.ts +51 -0
- package/dist/vue/index.d.ts +6 -6
- package/dist/{waiter-Bu9zAlE0.d.ts → waiter-CqUKX6CY.d.ts} +2 -2
- package/dist/{watch-Cx_WciLE.js → watch-Bpci3hBY.js} +2 -2
- package/dist/watch-COuvly20.js +1 -0
- package/dist/webmcp/index.d.ts +1 -1
- package/dist/{who-can-rI7dCR9Q.js → who-can-BoDJm0Nc.js} +1 -1
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.js +23 -7
- package/dist/workflow-sdk/index.d.ts +4 -4
- package/dist/{wrap-DlJE3gS_.d.ts → wrap-DxXB54Wu.d.ts} +2 -2
- package/package.json +3 -3
- package/schemas/run-v1.json +16 -0
- package/schemas/supabase-manifest-v1.json +28 -0
- package/skills/permdock-agents/references/operations-automations-chat.md +1 -0
- package/skills/permdock-data/references/queries-and-rls.md +1 -1
- package/skills/permdock-wire/references/adapters.md +4 -3
- package/dist/catalog-mRQQQhNK.js +0 -1
- package/dist/collect-B5BL3klN.js +0 -1
- package/dist/powersync-Djf-zCpB.js +0 -1
- package/dist/pull-B65ndFNZ.js +0 -1
- package/dist/run-D-JE8QWb.js +0 -1
- package/dist/sources-B1Os_YUu.d.ts +0 -312
- package/dist/supabase-hook-H-MtE9Wd.js +0 -1
- package/dist/usage-CYeXek0p.js +0 -1
- package/dist/watch-DB42U1ib.js +0 -1
|
@@ -30,20 +30,20 @@ const SECTIONS = [
|
|
|
30
30
|
docs: "init",
|
|
31
31
|
effects: ["files"],
|
|
32
32
|
config: false,
|
|
33
|
-
load: async () => (await import("./init-
|
|
33
|
+
load: async () => (await import("./init-fNF_XmTa.js")).init
|
|
34
34
|
}),
|
|
35
35
|
group("preset", "Decode a preset code, or print its permdock.com/create link", "preset", [leaf("decode", "Print what a preset code holds", {
|
|
36
36
|
examples: ["permdock preset decode p1AQIDBAc"],
|
|
37
37
|
docs: "preset",
|
|
38
38
|
effects: [],
|
|
39
39
|
config: false,
|
|
40
|
-
load: async () => (await import("./init-
|
|
40
|
+
load: async () => (await import("./init-fNF_XmTa.js")).presetDecode
|
|
41
41
|
}), leaf("url", "Print the permdock.com/create link that opens a code", {
|
|
42
42
|
examples: ["permdock preset url p1AQIDBAc"],
|
|
43
43
|
docs: "preset",
|
|
44
44
|
effects: [],
|
|
45
45
|
config: false,
|
|
46
|
-
load: async () => (await import("./init-
|
|
46
|
+
load: async () => (await import("./init-fNF_XmTa.js")).presetUrl
|
|
47
47
|
})]),
|
|
48
48
|
group("skills", "Install, update or list the PermDock Agent Skills", "skills", [
|
|
49
49
|
leaf("install", "Copy the Agent Skills into the agent folders", {
|
|
@@ -55,21 +55,21 @@ const SECTIONS = [
|
|
|
55
55
|
docs: "skills",
|
|
56
56
|
effects: ["files"],
|
|
57
57
|
config: false,
|
|
58
|
-
load: async () => (await import("./skills-
|
|
58
|
+
load: async () => (await import("./skills-BUI8DMqy.js")).install
|
|
59
59
|
}),
|
|
60
60
|
leaf("update", "Replace installed skills with this version's", {
|
|
61
61
|
examples: ["permdock skills update"],
|
|
62
62
|
docs: "skills",
|
|
63
63
|
effects: ["files"],
|
|
64
64
|
config: false,
|
|
65
|
-
load: async () => (await import("./skills-
|
|
65
|
+
load: async () => (await import("./skills-BUI8DMqy.js")).update
|
|
66
66
|
}),
|
|
67
67
|
leaf("list", "List the skills and where each is installed", {
|
|
68
68
|
examples: ["permdock skills list"],
|
|
69
69
|
docs: "skills",
|
|
70
70
|
effects: [],
|
|
71
71
|
config: false,
|
|
72
|
-
load: async () => (await import("./skills-
|
|
72
|
+
load: async () => (await import("./skills-BUI8DMqy.js")).list
|
|
73
73
|
})
|
|
74
74
|
]),
|
|
75
75
|
leaf("doctor", "Check a PermDock installation and print a fix for each finding", {
|
|
@@ -82,7 +82,7 @@ const SECTIONS = [
|
|
|
82
82
|
effects: ["files"],
|
|
83
83
|
config: true,
|
|
84
84
|
findings: true,
|
|
85
|
-
load: async () => (await import("./doctor-
|
|
85
|
+
load: async () => (await import("./doctor-B9FY9H0F.js")).doctor
|
|
86
86
|
}),
|
|
87
87
|
leaf("completion", "Print the shell completion script for bash, zsh or fish", {
|
|
88
88
|
examples: ["permdock completion zsh > ~/.zfunc/_permdock", "eval \"$(permdock completion bash)\""],
|
|
@@ -90,7 +90,7 @@ const SECTIONS = [
|
|
|
90
90
|
effects: [],
|
|
91
91
|
config: false,
|
|
92
92
|
shellOutput: true,
|
|
93
|
-
load: async () => (await import("./completion-
|
|
93
|
+
load: async () => (await import("./completion-VSWvaaPO.js")).completion
|
|
94
94
|
})
|
|
95
95
|
]
|
|
96
96
|
},
|
|
@@ -106,14 +106,14 @@ const SECTIONS = [
|
|
|
106
106
|
docs: "collect",
|
|
107
107
|
effects: ["files"],
|
|
108
108
|
config: true,
|
|
109
|
-
load: async () => (await import("./collect-
|
|
109
|
+
load: async () => (await import("./collect-D9Tt0Bcx.js")).collect
|
|
110
110
|
}),
|
|
111
111
|
leaf("catalog", "Export the catalog as catalog JSON, JSON Schema or Markdown", {
|
|
112
112
|
examples: ["permdock catalog --out permissions.catalog.json", "permdock catalog --kind markdown"],
|
|
113
113
|
docs: "catalog",
|
|
114
114
|
effects: ["files"],
|
|
115
115
|
config: true,
|
|
116
|
-
load: async () => (await import("./catalog-
|
|
116
|
+
load: async () => (await import("./catalog-amPDr0JQ.js")).catalog
|
|
117
117
|
}),
|
|
118
118
|
leaf("gen", "Write typed constants, schemas, factories, hooks and messages from the policy", {
|
|
119
119
|
examples: [
|
|
@@ -124,7 +124,7 @@ const SECTIONS = [
|
|
|
124
124
|
docs: "gen",
|
|
125
125
|
effects: ["files"],
|
|
126
126
|
config: true,
|
|
127
|
-
load: async () => (await import("./gen-
|
|
127
|
+
load: async () => (await import("./gen-DwgCSC6V.js")).gen
|
|
128
128
|
}),
|
|
129
129
|
leaf("usage", "Report unused, ungranted and role-less permissions and conditions on undeclared fields", {
|
|
130
130
|
examples: ["permdock usage", "permdock usage --fail-on warning"],
|
|
@@ -132,14 +132,14 @@ const SECTIONS = [
|
|
|
132
132
|
effects: [],
|
|
133
133
|
config: true,
|
|
134
134
|
findings: true,
|
|
135
|
-
load: async () => (await import("./usage-
|
|
135
|
+
load: async () => (await import("./usage-B1ZJOUdr.js")).usage
|
|
136
136
|
}),
|
|
137
137
|
leaf("diff", "Compare two policies or catalogs; exit 1 on a breaking change", {
|
|
138
138
|
examples: ["permdock diff main.catalog.json permissions.catalog.json", "permdock diff ./old-policy.ts ./src/policy.ts --impact"],
|
|
139
139
|
docs: "diff",
|
|
140
140
|
effects: [],
|
|
141
141
|
config: true,
|
|
142
|
-
load: async () => (await import("./diff-
|
|
142
|
+
load: async () => (await import("./diff-BwR1JdP2.js")).diff
|
|
143
143
|
}),
|
|
144
144
|
leaf("config", "Check permdock.config.ts for unknown keys, or print the effective config", {
|
|
145
145
|
examples: ["permdock config", "permdock config --print"],
|
|
@@ -147,7 +147,7 @@ const SECTIONS = [
|
|
|
147
147
|
effects: [],
|
|
148
148
|
config: true,
|
|
149
149
|
findings: true,
|
|
150
|
-
load: async () => (await import("./config-
|
|
150
|
+
load: async () => (await import("./config-kL36AxkE.js")).config
|
|
151
151
|
})
|
|
152
152
|
]
|
|
153
153
|
},
|
|
@@ -164,14 +164,14 @@ const SECTIONS = [
|
|
|
164
164
|
"network"
|
|
165
165
|
],
|
|
166
166
|
config: true,
|
|
167
|
-
load: async () => (await import("./rls-
|
|
167
|
+
load: async () => (await import("./rls-j0YrFPpW.js")).generate
|
|
168
168
|
}),
|
|
169
169
|
leaf("import", "Turn existing RLS policies into a generated definition", {
|
|
170
170
|
examples: ["permdock rls import --sql schema.sql --out src/permissions.generated.ts", "permdock rls import --db-url-stdin --out src/permissions.generated.ts"],
|
|
171
171
|
docs: "rls",
|
|
172
172
|
effects: ["files", "database:read"],
|
|
173
173
|
config: true,
|
|
174
|
-
load: async () => (await import("./rls-
|
|
174
|
+
load: async () => (await import("./rls-j0YrFPpW.js")).importPolicies
|
|
175
175
|
}),
|
|
176
176
|
leaf("verify", "Run the fixtures against the policies, or compare a live database", {
|
|
177
177
|
examples: [
|
|
@@ -183,21 +183,21 @@ const SECTIONS = [
|
|
|
183
183
|
effects: ["files", "database:read"],
|
|
184
184
|
config: true,
|
|
185
185
|
findings: true,
|
|
186
|
-
load: async () => (await import("./rls-
|
|
186
|
+
load: async () => (await import("./rls-j0YrFPpW.js")).verify
|
|
187
187
|
}),
|
|
188
188
|
leaf("migrate", "Rewrite hand-written policies onto the generated helpers", {
|
|
189
189
|
examples: ["permdock rls migrate --sql supabase/migrations --dry-run", "permdock rls migrate --sql supabase/migrations"],
|
|
190
190
|
docs: "rls",
|
|
191
191
|
effects: ["rewrite", "files"],
|
|
192
192
|
config: true,
|
|
193
|
-
load: async () => (await import("./rls-
|
|
193
|
+
load: async () => (await import("./rls-j0YrFPpW.js")).migrate
|
|
194
194
|
}),
|
|
195
195
|
leaf("explain", "Show the tables, membership sources and triggers the SQL binds to", {
|
|
196
196
|
examples: ["permdock rls explain", "permdock rls explain --db-url-stdin --json"],
|
|
197
197
|
docs: "rls",
|
|
198
198
|
effects: ["database:read"],
|
|
199
199
|
config: true,
|
|
200
|
-
load: async () => (await import("./rls-
|
|
200
|
+
load: async () => (await import("./rls-j0YrFPpW.js")).explain
|
|
201
201
|
})
|
|
202
202
|
]),
|
|
203
203
|
group("supabase", "Generate the Supabase Custom Access Token Hook, or inspect its manifest", "supabase", [group("hook", "The Custom Access Token Hook", "supabase", [leaf("generate", "Compile the membership sources into the hook migration", {
|
|
@@ -205,26 +205,26 @@ const SECTIONS = [
|
|
|
205
205
|
docs: "supabase",
|
|
206
206
|
effects: ["files", "database:read"],
|
|
207
207
|
config: true,
|
|
208
|
-
load: async () => (await import("./supabase-
|
|
208
|
+
load: async () => (await import("./supabase-BaizG0n7.js")).hookGenerate
|
|
209
209
|
})]), leaf("inspect", "Print or write the hook and helper manifest", {
|
|
210
210
|
examples: ["permdock supabase inspect", "permdock supabase inspect --out"],
|
|
211
211
|
docs: "supabase",
|
|
212
212
|
effects: ["files"],
|
|
213
213
|
config: true,
|
|
214
|
-
load: async () => (await import("./supabase-
|
|
214
|
+
load: async () => (await import("./supabase-BaizG0n7.js")).inspect
|
|
215
215
|
})]),
|
|
216
216
|
group("powersync", "Generate PowerSync Sync Streams from the policy, or verify them", "powersync", [leaf("generate", "Compile the read grants into sync-config.yaml", {
|
|
217
217
|
examples: ["permdock powersync generate", "permdock powersync generate --check"],
|
|
218
218
|
docs: "powersync",
|
|
219
219
|
effects: ["files"],
|
|
220
220
|
config: true,
|
|
221
|
-
load: async () => (await import("./powersync-
|
|
221
|
+
load: async () => (await import("./powersync-B_8uwz7f.js")).generate
|
|
222
222
|
}), leaf("verify", "Fail on stale streams or a stream that syncs a denied row", {
|
|
223
223
|
examples: ["permdock powersync verify", "permdock powersync verify --db-url-stdin"],
|
|
224
224
|
docs: "powersync",
|
|
225
225
|
effects: ["database:read"],
|
|
226
226
|
config: true,
|
|
227
|
-
load: async () => (await import("./powersync-
|
|
227
|
+
load: async () => (await import("./powersync-B_8uwz7f.js")).verify
|
|
228
228
|
})]),
|
|
229
229
|
group("scim", "Generate the Postgres tables postgresDirectoryStore keeps a SCIM directory in", "scim", [leaf("generate", "Write the tenant-keyed users, groups and members tables", {
|
|
230
230
|
examples: [
|
|
@@ -247,13 +247,13 @@ const SECTIONS = [
|
|
|
247
247
|
docs: "openapi",
|
|
248
248
|
effects: ["files"],
|
|
249
249
|
config: true,
|
|
250
|
-
load: async () => (await import("./openapi-
|
|
250
|
+
load: async () => (await import("./openapi-DFj0cirS.js")).emit
|
|
251
251
|
}), leaf("import", "Turn an OpenAPI document into a generated definition", {
|
|
252
252
|
examples: ["permdock openapi import --doc openapi.yaml --out src/permissions.generated.ts"],
|
|
253
253
|
docs: "openapi",
|
|
254
254
|
effects: ["files", "network"],
|
|
255
255
|
config: false,
|
|
256
|
-
load: async () => (await import("./openapi-
|
|
256
|
+
load: async () => (await import("./openapi-DFj0cirS.js")).importDocument
|
|
257
257
|
})]),
|
|
258
258
|
group("arazzo", "Check Arazzo workflows against the permissions", "arazzo", [leaf("check", "Resolve every Arazzo step to x-permdock-permissions", {
|
|
259
259
|
examples: ["permdock arazzo check --doc arazzo.json --openapi openapi.json"],
|
|
@@ -261,7 +261,7 @@ const SECTIONS = [
|
|
|
261
261
|
effects: [],
|
|
262
262
|
config: true,
|
|
263
263
|
findings: true,
|
|
264
|
-
load: async () => (await import("./arazzo-
|
|
264
|
+
load: async () => (await import("./arazzo-DA9PCXew.js")).check
|
|
265
265
|
})]),
|
|
266
266
|
leaf("scan", "List authorization checks written without PermDock, to adopt it in an existing app", {
|
|
267
267
|
examples: ["permdock scan", "permdock scan --src app,lib --pattern isBeta"],
|
|
@@ -269,7 +269,7 @@ const SECTIONS = [
|
|
|
269
269
|
effects: [],
|
|
270
270
|
config: true,
|
|
271
271
|
findings: true,
|
|
272
|
-
load: async () => (await import("./scan-
|
|
272
|
+
load: async () => (await import("./scan-B7xrAvRm.js")).scan
|
|
273
273
|
}),
|
|
274
274
|
group("casl", "Import CASL rules into a generated module", "casl", [leaf("import", "Turn CASL rules per role into a permissions and policy module", {
|
|
275
275
|
examples: ["permdock casl import --rules rules.json --out src/permissions.generated.ts"],
|
|
@@ -283,7 +283,7 @@ const SECTIONS = [
|
|
|
283
283
|
docs: "casbin",
|
|
284
284
|
effects: ["files"],
|
|
285
285
|
config: false,
|
|
286
|
-
load: async () => (await import("./casbin-
|
|
286
|
+
load: async () => (await import("./casbin-BkhqGh2z.js")).casbinImport
|
|
287
287
|
})])
|
|
288
288
|
]
|
|
289
289
|
},
|
|
@@ -295,34 +295,34 @@ const SECTIONS = [
|
|
|
295
295
|
docs: "login",
|
|
296
296
|
effects: ["network", "files"],
|
|
297
297
|
config: false,
|
|
298
|
-
load: async () => (await import("./login-
|
|
298
|
+
load: async () => (await import("./login-DYazeWc9.js")).login
|
|
299
299
|
}),
|
|
300
300
|
leaf("logout", "Revoke and delete the stored PermDock Cloud login", {
|
|
301
301
|
examples: ["permdock logout"],
|
|
302
302
|
docs: "login",
|
|
303
303
|
effects: ["network", "files"],
|
|
304
304
|
config: false,
|
|
305
|
-
load: async () => (await import("./login-
|
|
305
|
+
load: async () => (await import("./login-DYazeWc9.js")).logout
|
|
306
306
|
}),
|
|
307
307
|
leaf("whoami", "Print the PermDock Cloud identity the CLI acts as", {
|
|
308
308
|
examples: ["permdock whoami", "permdock whoami --json"],
|
|
309
309
|
docs: "login",
|
|
310
310
|
effects: [],
|
|
311
311
|
config: false,
|
|
312
|
-
load: async () => (await import("./login-
|
|
312
|
+
load: async () => (await import("./login-DYazeWc9.js")).whoami
|
|
313
313
|
}),
|
|
314
314
|
group("cloud", "Publish to or pull from a PermDock Cloud project", "cloud", [leaf("push", "Publish the catalog, policy and manifest to a Cloud project", {
|
|
315
315
|
examples: ["permdock cloud push --dry-run", "permdock cloud push --project prj_123"],
|
|
316
316
|
docs: "cloud",
|
|
317
317
|
effects: ["network", "cloud:write"],
|
|
318
318
|
config: true,
|
|
319
|
-
load: async () => (await import("./cloud-
|
|
319
|
+
load: async () => (await import("./cloud-3RIuS4E9.js")).push
|
|
320
320
|
}), leaf("pull", "Write a Cloud project's published catalog and manifest", {
|
|
321
321
|
examples: ["permdock cloud pull --project prj_123"],
|
|
322
322
|
docs: "cloud",
|
|
323
323
|
effects: ["network", "files"],
|
|
324
324
|
config: true,
|
|
325
|
-
load: async () => (await import("./cloud-
|
|
325
|
+
load: async () => (await import("./cloud-3RIuS4E9.js")).pull
|
|
326
326
|
})])
|
|
327
327
|
]
|
|
328
328
|
},
|
|
@@ -333,7 +333,7 @@ const SECTIONS = [
|
|
|
333
333
|
docs: "codemod",
|
|
334
334
|
effects: ["rewrite"],
|
|
335
335
|
config: false,
|
|
336
|
-
load: async () => (await import("./codemod-
|
|
336
|
+
load: async () => (await import("./codemod-DLcp-B6v.js")).codemod
|
|
337
337
|
})]
|
|
338
338
|
}
|
|
339
339
|
];
|
|
@@ -345,7 +345,7 @@ const COMPLETE_LEAF = leaf("__complete", "Print completion candidates for a part
|
|
|
345
345
|
config: false,
|
|
346
346
|
shellOutput: true,
|
|
347
347
|
hidden: true,
|
|
348
|
-
load: async () => (await import("./completion-
|
|
348
|
+
load: async () => (await import("./completion-VSWvaaPO.js")).complete
|
|
349
349
|
});
|
|
350
350
|
const ROOT = group("permdock", "Collect, export, diff and check the permissions a PermDock policy declares", "", [...SECTIONS.flatMap((section) => section.entries), COMPLETE_LEAF]);
|
|
351
351
|
/** Each leaf with its path from the root, in manifest order. */
|
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
* is the major of this shape; a field is only ever added within it.
|
|
7
7
|
* `schemas/supabase-manifest-v1.json` is its JSON Schema.
|
|
8
8
|
*/
|
|
9
|
+
/** An `app_metadata` key, or a column of a table joined on `id`. */
|
|
10
|
+
type SupabaseManifestActiveFrom = {
|
|
11
|
+
readonly appMetadata: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly table: string;
|
|
14
|
+
readonly column: string;
|
|
15
|
+
readonly id: string;
|
|
16
|
+
};
|
|
9
17
|
type SupabaseHookManifest = {
|
|
10
18
|
readonly $schema: "https://permdock.com/schemas/supabase-manifest-v1.json";
|
|
11
19
|
readonly version: 1;
|
|
@@ -21,6 +29,12 @@ type SupabaseHookManifest = {
|
|
|
21
29
|
*/
|
|
22
30
|
readonly schemas?: "pg-delta" | "migra" | "migrations";
|
|
23
31
|
readonly before?: readonly string[];
|
|
32
|
+
/**
|
|
33
|
+
* Where the hook reads the active first-scope id
|
|
34
|
+
* (`supabase.hook.activeFrom`). Absent from a manifest written before
|
|
35
|
+
* 0.10.
|
|
36
|
+
*/
|
|
37
|
+
readonly activeFrom?: SupabaseManifestActiveFrom;
|
|
24
38
|
};
|
|
25
39
|
readonly helpers: {
|
|
26
40
|
readonly schema: string;
|
|
@@ -151,6 +165,11 @@ type SupabaseManifestThrough = {
|
|
|
151
165
|
readonly table: string;
|
|
152
166
|
readonly id: string;
|
|
153
167
|
readonly column: string;
|
|
168
|
+
/**
|
|
169
|
+
* Every referencing column to the column of `table` it matches, when the
|
|
170
|
+
* reference spans several columns (a role set keyed by scope id and user).
|
|
171
|
+
*/
|
|
172
|
+
readonly on?: Readonly<Record<string, string>>;
|
|
154
173
|
};
|
|
155
174
|
/**
|
|
156
175
|
* A role column (with `through` when it references a roles table), or the fixed
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as freezeDeep } from "./freeze-jjan0lCv.js";
|
|
2
2
|
import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
|
|
3
3
|
import { n as copyJson, t as checkSchema } from "./json-schema-BPGa-RjQ.js";
|
|
4
|
-
import { t as supabaseManifestSchema } from "./manifest-schema-
|
|
4
|
+
import { t as supabaseManifestSchema } from "./manifest-schema-DQkBK2Mr.js";
|
|
5
5
|
//#region src/supabase/manifest.ts
|
|
6
6
|
/** Whether the manifest describes a token hook. */
|
|
7
7
|
function hasTokenHook(manifest) {
|
|
@@ -47,6 +47,28 @@ const supabaseManifestSchema = freezeDeep({
|
|
|
47
47
|
type: "string",
|
|
48
48
|
pattern: "^[A-Za-z_][A-Za-z0-9_]*\\.[A-Za-z_][A-Za-z0-9_]*$"
|
|
49
49
|
}
|
|
50
|
+
},
|
|
51
|
+
activeFrom: {
|
|
52
|
+
description: "Where the hook reads the active first-scope id (supabase.hook.activeFrom): an app_metadata key, or a column of a table joined on id. Absent from a manifest written before 0.10.",
|
|
53
|
+
oneOf: [{
|
|
54
|
+
type: "object",
|
|
55
|
+
required: ["appMetadata"],
|
|
56
|
+
additionalProperties: false,
|
|
57
|
+
properties: { appMetadata: { type: "string" } }
|
|
58
|
+
}, {
|
|
59
|
+
type: "object",
|
|
60
|
+
required: [
|
|
61
|
+
"table",
|
|
62
|
+
"column",
|
|
63
|
+
"id"
|
|
64
|
+
],
|
|
65
|
+
additionalProperties: false,
|
|
66
|
+
properties: {
|
|
67
|
+
table: { type: "string" },
|
|
68
|
+
column: { type: "string" },
|
|
69
|
+
id: { type: "string" }
|
|
70
|
+
}
|
|
71
|
+
}]
|
|
50
72
|
}
|
|
51
73
|
}
|
|
52
74
|
},
|
|
@@ -450,7 +472,12 @@ const supabaseManifestSchema = freezeDeep({
|
|
|
450
472
|
pattern: "^[A-Za-z_][A-Za-z0-9_]*\\.[A-Za-z_][A-Za-z0-9_]*$"
|
|
451
473
|
},
|
|
452
474
|
id: { $ref: "#/$defs/identifier" },
|
|
453
|
-
column: { $ref: "#/$defs/identifier" }
|
|
475
|
+
column: { $ref: "#/$defs/identifier" },
|
|
476
|
+
on: {
|
|
477
|
+
description: "Every referencing column to the column of table it matches, when the reference spans several columns.",
|
|
478
|
+
type: "object",
|
|
479
|
+
additionalProperties: { $ref: "#/$defs/identifier" }
|
|
480
|
+
}
|
|
454
481
|
}
|
|
455
482
|
}
|
|
456
483
|
}
|
|
@@ -335,7 +335,8 @@ function mapClaimsToSubject(claims, options) {
|
|
|
335
335
|
delegation: options.accept === "id-token" ? void 0 : delegationOf(claims, options, act.status === "ok" ? act.chain : void 0),
|
|
336
336
|
context: {},
|
|
337
337
|
session: typeof sessionValue === "string" ? sessionValue : void 0,
|
|
338
|
-
expiresAt
|
|
338
|
+
expiresAt,
|
|
339
|
+
issuedAt: typeof claims.iat === "number" && Number.isFinite(claims.iat) ? claims.iat : void 0
|
|
339
340
|
})),
|
|
340
341
|
invalidClaims,
|
|
341
342
|
invalidChain: false
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { T as Policy,
|
|
1
|
+
import { T as Policy, Z as JwtClaims, hr as Subject, ht as TokenVerifier, lr as Delegation, pr as Principal } from "../policy-types-DGIO_gxq.js";
|
|
2
2
|
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
-
import { m as ApprovalStore } from "../types-
|
|
4
|
-
import { t as ApprovalHint } from "../errors-
|
|
5
|
-
import { t as InstanceOptions } from "../instance-options-
|
|
3
|
+
import { m as ApprovalStore } from "../types-DLvhVm1r.js";
|
|
4
|
+
import { t as ApprovalHint } from "../errors-BIM4MFsJ.js";
|
|
5
|
+
import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
|
|
6
6
|
import { t as RequestContext } from "../request-context-C2_1lchh.js";
|
|
7
|
-
import { n as PermDockWrap } from "../wrap-
|
|
8
|
-
import { o as OtelWrap } from "../types-
|
|
9
|
-
import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-
|
|
7
|
+
import { n as PermDockWrap } from "../wrap-DxXB54Wu.js";
|
|
8
|
+
import { o as OtelWrap } from "../types-B6ExllNo.js";
|
|
9
|
+
import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-DHldhVUv.js";
|
|
10
10
|
import { t as ClientNames } from "../clients-C_NOET3z.js";
|
|
11
|
-
import { U as JwtSubjectOptions } from "../types-
|
|
11
|
+
import { U as JwtSubjectOptions } from "../types-DsHGPtkR.js";
|
|
12
12
|
import { CacheHint, Icon, McpServer, PromptCallback, ReadResourceCallback, ReadResourceTemplateCallback, RegisteredPrompt, RegisteredResource, RegisteredResourceTemplate, RegisteredTool, ResourceMetadata, ResourceTemplate, ScopeChallengeHandler, StandardSchemaWithJSON, ToolAnnotations, ToolCallback, Variables } from "@modelcontextprotocol/server";
|
|
13
13
|
//#region src/mcp/types.d.ts
|
|
14
14
|
/**
|
package/dist/mcp/index.js
CHANGED
|
@@ -5,14 +5,14 @@ import { n as describe } from "../describe-Bb4hGK5d.js";
|
|
|
5
5
|
import { m as annotationsFor } from "../permission-registry-B8tYxPIt.js";
|
|
6
6
|
import { t as actorMayCallTool } from "../delegation-CDB6_keF.js";
|
|
7
7
|
import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
|
|
8
|
-
import { i as challengeScope, l as withApp, o as hasScope, s as scopesReaching } from "../permdock-
|
|
8
|
+
import { i as challengeScope, l as withApp, o as hasScope, s as scopesReaching } from "../permdock-BvjivVb9.js";
|
|
9
9
|
import { t as anonymousSubject } from "../subject-BGoM5o8B.js";
|
|
10
10
|
import { t as composeWraps } from "../wrap-B2wziJI_.js";
|
|
11
11
|
import { l as problemResponse, o as methodNotAllowed, r as bearerChallenge, u as protectedResourceMetadataUrl } from "../problem-BVLHFK33.js";
|
|
12
12
|
import { t as clientNameOf } from "../clients-DYr3U86j.js";
|
|
13
|
-
import { r as mapClaimsToSubject } from "../map-claims-
|
|
14
|
-
import { r as instanceOptions } from "../build-instance-
|
|
15
|
-
import { i as refusalText, n as createAgentKernel } from "../kernel-
|
|
13
|
+
import { r as mapClaimsToSubject } from "../map-claims-C-nv08_n.js";
|
|
14
|
+
import { r as instanceOptions } from "../build-instance-BWXqwQYU.js";
|
|
15
|
+
import { i as refusalText, n as createAgentKernel } from "../kernel-qv4cr9w8.js";
|
|
16
16
|
import { t as boundedMap } from "../lru-8q4WZjBV.js";
|
|
17
17
|
import { t as delegationFrom } from "../delegation-input-FTxMK3ji.js";
|
|
18
18
|
import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-Qpjs_W6M.js";
|
|
@@ -3,11 +3,11 @@ import { i as dateAt } from "./time-nR1JesoH.js";
|
|
|
3
3
|
import { a as describeError } from "./errors-Vpu6rKHl.js";
|
|
4
4
|
import { o as sqlFiles } from "./files-BSjrtIHw.js";
|
|
5
5
|
import { r as escapeSqlIdent, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
|
|
6
|
-
import "./sources-
|
|
6
|
+
import "./sources-C4vkzZJV.js";
|
|
7
7
|
import { a as RETIRE_MARKER } from "./markers-BeHZ4x9Q.js";
|
|
8
8
|
import { i as refuseDirty, t as applyFiles } from "./files-B3AA05f1.js";
|
|
9
9
|
import { f as writeOutputFiles, n as dataMigrationFile } from "./output-files-BIQ_9pIs.js";
|
|
10
|
-
import { r as HELPERS } from "./shared-
|
|
10
|
+
import { r as HELPERS } from "./shared-DrGLwM3s.js";
|
|
11
11
|
import { o as sqlStatements } from "./deciding-columns-NB4wcyBf.js";
|
|
12
12
|
import { i as retireSql, r as retirePlan } from "./retire-B2xffQgY.js";
|
|
13
13
|
import { existsSync, readFileSync } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
|
|
2
2
|
import { i as configError } from "./errors-Vpu6rKHl.js";
|
|
3
3
|
import { a as loadModule, s as pickNamed, t as asPermissionTree } from "./load-DjSU5KXO.js";
|
|
4
|
-
import { i as isModuleKey, n as MODULE_KEYS } from "./config-shape-
|
|
4
|
+
import { i as isModuleKey, n as MODULE_KEYS } from "./config-shape-tsxHx71E.js";
|
|
5
5
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
6
6
|
import { dirname, relative, resolve } from "node:path";
|
|
7
7
|
import { parseSync } from "oxc-parser";
|
package/dist/nest/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { T as Policy,
|
|
1
|
+
import { T as Policy, pr as Principal } from "../policy-types-DGIO_gxq.js";
|
|
2
2
|
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
-
import { a as PermDock } from "../permdock-
|
|
3
|
+
import { a as PermDock } from "../permdock-CprAPN3w.js";
|
|
4
4
|
import { n as RevocationFeed } from "../revocations-BaUXHM1N.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-
|
|
6
|
-
import { t as ServerAdapterOptions } from "../bind-
|
|
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-CyRN0-Cd.js";
|
|
6
|
+
import { t as ServerAdapterOptions } from "../bind-YYjvfpB9.js";
|
|
7
7
|
import { r as sendResponse, t as NodeRequest } from "../http-B_LphE5Y.js";
|
|
8
8
|
import { CanActivate, DynamicModule, ExceptionFilter, ExecutionContext, Type } from "@nestjs/common";
|
|
9
9
|
//#region src/nest/http.d.ts
|
package/dist/nest/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { n as PermDockDeniedError, r as PermDockRevokedError, t as PermDockAppro
|
|
|
4
4
|
import { c as writeReply, r as hasCredentials } from "../http-DKLXrFGk.js";
|
|
5
5
|
import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
|
|
6
6
|
import { t as problemFromError } from "../map-error-pasIGqMT.js";
|
|
7
|
-
import { a as socketConnection, r as bindKernel } from "../bind-
|
|
7
|
+
import { a as socketConnection, r as bindKernel } from "../bind-BNQA9JK9.js";
|
|
8
8
|
import { a as onRevoked, n as closeReason, t as POLICY_VIOLATION } from "../stream-CDvF0sJm.js";
|
|
9
9
|
import { n as sendResponse, r as toRequest$1, t as isServerResponse } from "../http-DH94eh6f.js";
|
|
10
10
|
import { Catch, Controller, Get, Inject, Injectable, Module, Post, Req, Res, createParamDecorator } from "@nestjs/common";
|
package/dist/next/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Kn as DenialReason, T as Policy, Un as Decision, X as Intent, Zt as Snapshot, hr as Subject, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
|
|
2
2
|
import { u as Permission } from "../permission-types-CAY-GU7e.js";
|
|
3
|
-
import { a as PermDock, d as UncheckedData, s as RowData } from "../permdock-
|
|
4
|
-
import { m as ApprovalStore } from "../types-
|
|
5
|
-
import { t as InstanceOptions } from "../instance-options-
|
|
6
|
-
import { n as PermDockWrap } from "../wrap-
|
|
7
|
-
import { o as OtelWrap } from "../types-
|
|
8
|
-
import { n as DescribeMessages } from "../describe-
|
|
9
|
-
import { a as snapshotHeaders, i as cacheLifeFor, n as SnapshotHeaders, o as snapshotTag, r as SnapshotHeadersOptions, t as CacheLifeForOptions } from "../snapshot-cache-
|
|
10
|
-
import { n as ProtectedAction, t as ActionResult } from "../action-result-
|
|
3
|
+
import { a as PermDock, d as UncheckedData, s as RowData } from "../permdock-CprAPN3w.js";
|
|
4
|
+
import { m as ApprovalStore } from "../types-DLvhVm1r.js";
|
|
5
|
+
import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
|
|
6
|
+
import { n as PermDockWrap } from "../wrap-DxXB54Wu.js";
|
|
7
|
+
import { o as OtelWrap } from "../types-B6ExllNo.js";
|
|
8
|
+
import { n as DescribeMessages } from "../describe-BbFPBSms.js";
|
|
9
|
+
import { a as snapshotHeaders, i as cacheLifeFor, n as SnapshotHeaders, o as snapshotTag, r as SnapshotHeadersOptions, t as CacheLifeForOptions } from "../snapshot-cache-BjAWkchD.js";
|
|
10
|
+
import { n as ProtectedAction, t as ActionResult } from "../action-result-BcudBQOF.js";
|
|
11
11
|
import { ReactElement, ReactNode } from "react";
|
|
12
12
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
13
13
|
//#region src/next/types.d.ts
|
|
@@ -34,6 +34,13 @@ type NextPermDockOptions<TUser = NextSubjectInput> = InstanceOptions & {
|
|
|
34
34
|
};
|
|
35
35
|
type GetPermDockQuery = {
|
|
36
36
|
readonly tenant?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Default `'read'`: with `claimsFirst(…, { versions })` the token may be
|
|
39
|
+
* judged from the shared version cache, at most its `maxStaleMs` stale. Pass
|
|
40
|
+
* `'write'` before a mutation outside `protectAction`, which always reads the
|
|
41
|
+
* version live.
|
|
42
|
+
*/
|
|
43
|
+
readonly intent?: Intent;
|
|
37
44
|
};
|
|
38
45
|
type GetSnapshotQuery = GetPermDockQuery & {
|
|
39
46
|
readonly include?: readonly (Permission | {
|
|
@@ -58,13 +65,26 @@ type ServerPermissionState = {
|
|
|
58
65
|
readonly status: "ready";
|
|
59
66
|
readonly decision: Decision;
|
|
60
67
|
};
|
|
61
|
-
type NextPermDockProviderProps = {
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
type NextPermDockProviderProps = NextPermDockProviderDisplay & ({
|
|
69
|
+
/**
|
|
70
|
+
* The snapshot to hand to the client, usually from the app's `'use
|
|
71
|
+
* cache: private'` loader around `getSnapshot`, so a prefetch carries
|
|
72
|
+
* it. The loader decides what it includes.
|
|
73
|
+
*/
|
|
74
|
+
readonly snapshot: Promise<Snapshot>;
|
|
75
|
+
readonly include?: never;
|
|
76
|
+
readonly tenants?: never;
|
|
77
|
+
} | {
|
|
78
|
+
/** Without `snapshot`, the provider builds one outside any cache. */
|
|
79
|
+
readonly snapshot?: undefined;
|
|
64
80
|
readonly include?: readonly (Permission | {
|
|
65
81
|
readonly [key: string]: unknown;
|
|
66
82
|
})[];
|
|
67
83
|
readonly tenants?: "all";
|
|
84
|
+
});
|
|
85
|
+
type NextPermDockProviderDisplay = {
|
|
86
|
+
readonly children: ReactNode;
|
|
87
|
+
readonly tenant?: string;
|
|
68
88
|
/** Overrides the factory's `endpoint`; `false` is snapshot-only. */
|
|
69
89
|
readonly endpoint?: string | false;
|
|
70
90
|
/**
|
package/dist/next/index.js
CHANGED
|
@@ -3,12 +3,12 @@ import { n as PermDockValidationError } from "../validation-error-CYg2kJEw.js";
|
|
|
3
3
|
import { o as statusProblem, t as notFoundDetails } from "../problem-details-CLDgX1KV.js";
|
|
4
4
|
import { n as isThenable } from "../thenable-BNSM1U2R.js";
|
|
5
5
|
import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
|
|
6
|
-
import { l as withApp } from "../permdock-
|
|
6
|
+
import { l as withApp } from "../permdock-BvjivVb9.js";
|
|
7
7
|
import { n as wrapPermDock } from "../wrap-B2wziJI_.js";
|
|
8
8
|
import { i as decisionProblem } from "../problem-BVLHFK33.js";
|
|
9
9
|
import { s as resumeDecision } from "../helpers-DJicaG6f.js";
|
|
10
10
|
import { n as snapshotHeaders, r as snapshotTag, t as cacheLifeFor } from "../snapshot-cache-Bx_4xC_6.js";
|
|
11
|
-
import { n as resolveOrNull, t as buildInstance } from "../build-instance-
|
|
11
|
+
import { n as resolveOrNull, t as buildInstance } from "../build-instance-BWXqwQYU.js";
|
|
12
12
|
import { _ as LOAD_FAILED, o as evaluationsHandler, v as NO_GRANT } from "../evaluations-IBceAeKT.js";
|
|
13
13
|
import { cache } from "react";
|
|
14
14
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -63,7 +63,10 @@ function protectActionOf(deps) {
|
|
|
63
63
|
let permdock;
|
|
64
64
|
let data;
|
|
65
65
|
try {
|
|
66
|
-
permdock = await deps.getPermDock(compact({
|
|
66
|
+
permdock = await deps.getPermDock(compact({
|
|
67
|
+
tenant: options.tenant?.(input),
|
|
68
|
+
intent: "write"
|
|
69
|
+
}));
|
|
67
70
|
} catch (error) {
|
|
68
71
|
deps.rethrow(error);
|
|
69
72
|
return refused(decisionProblem(NO_GRANT, permission, void 0));
|
|
@@ -181,7 +184,7 @@ function createPermDock(policy, given) {
|
|
|
181
184
|
return wrapInstance(options.wrap === void 0 ? traced : options.wrap(traced), options.onDenied);
|
|
182
185
|
};
|
|
183
186
|
const resolveFallbackTenant = cache(() => readTenant(options.tenant));
|
|
184
|
-
const instantiate = cache(async (tenantKey) => {
|
|
187
|
+
const instantiate = cache(async (tenantKey, intent) => {
|
|
185
188
|
const tenant = tenantKey === "" ? void 0 : tenantKey;
|
|
186
189
|
const user = await resolveSubject();
|
|
187
190
|
await io();
|
|
@@ -191,14 +194,15 @@ function createPermDock(policy, given) {
|
|
|
191
194
|
sources: options,
|
|
192
195
|
scope: {
|
|
193
196
|
tenant,
|
|
194
|
-
sink
|
|
197
|
+
sink,
|
|
198
|
+
intent
|
|
195
199
|
},
|
|
196
200
|
wrap: decorate
|
|
197
201
|
})).permdock;
|
|
198
202
|
});
|
|
199
203
|
const getPermDock = async (query) => {
|
|
200
204
|
const tenant = query?.tenant ?? await resolveFallbackTenant();
|
|
201
|
-
return instantiate(tenant ?? "");
|
|
205
|
+
return instantiate(tenant ?? "", query?.intent ?? "read");
|
|
202
206
|
};
|
|
203
207
|
const getPermission = async (permission, data, query) => {
|
|
204
208
|
try {
|
|
@@ -233,7 +237,10 @@ function createPermDock(policy, given) {
|
|
|
233
237
|
return snapshot;
|
|
234
238
|
};
|
|
235
239
|
const requirePermission = async (permission, data, requirement = {}) => {
|
|
236
|
-
const permdock = await getPermDock(
|
|
240
|
+
const permdock = await getPermDock(compact({
|
|
241
|
+
tenant: requirement.tenant,
|
|
242
|
+
intent: requirement.intent
|
|
243
|
+
}));
|
|
237
244
|
const assert = permdock.assert;
|
|
238
245
|
const handler = requirement.onDenied ?? options.onDenied;
|
|
239
246
|
return assert(permission, data, { onDenied: (decision) => {
|
|
@@ -244,7 +251,7 @@ function createPermDock(policy, given) {
|
|
|
244
251
|
} });
|
|
245
252
|
};
|
|
246
253
|
const PermDockProvider = (props) => {
|
|
247
|
-
const snapshotPromise = getPermDock(props.tenant === void 0 ? void 0 : { tenant: props.tenant }).then((permdock) => permdock.snapshot(compact({
|
|
254
|
+
const snapshotPromise = props.snapshot ?? getPermDock(props.tenant === void 0 ? void 0 : { tenant: props.tenant }).then((permdock) => permdock.snapshot(compact({
|
|
248
255
|
include: props.include,
|
|
249
256
|
tenants: props.tenants
|
|
250
257
|
})));
|
package/dist/next/plugin.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as PermDockPluginOptions } from "../types-
|
|
1
|
+
import { s as PermDockPluginOptions } from "../types-Cklw5hJo.js";
|
|
2
2
|
//#region src/cli/plugin.d.ts
|
|
3
3
|
/** Any object: Next's `NextConfig` is an interface, so no index signature. */
|
|
4
4
|
type NextConfigLike = object;
|
package/dist/next/plugin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as describeError } from "../errors-Vpu6rKHl.js";
|
|
2
|
-
import { n as createCollectScheduler, r as report, t as collectOnce } from "../watch-
|
|
2
|
+
import { n as createCollectScheduler, r as report, t as collectOnce } from "../watch-Bpci3hBY.js";
|
|
3
3
|
//#region src/cli/plugin.ts
|
|
4
4
|
const PHASE_BUILD = "phase-production-build";
|
|
5
5
|
const PHASE_DEV = "phase-development-server";
|