import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { type AccessPolicy } from "../config/access-policy.js"; /** * `boond_rights_get` (issue #257): what the authenticated user may do on one * record, from `GET /{collection}/{id}/rights` — a route the RAML documents on * every entity below and that no tool exposed. A 403 avoided is cheaper than a * 403 explained: the model can tell the user "vous n'avez pas le droit de * supprimer cette facture" before trying. * * One tool parameterised by entity rather than 25 `*_rights` tabs: the route * shape is identical everywhere and the payload is rendered as-is. */ export declare const RIGHTS_ENTITIES: { readonly candidate: { readonly path: "/candidates"; readonly domain: "candidates"; }; readonly resource: { readonly path: "/resources"; readonly domain: "resources"; }; readonly contact: { readonly path: "/contacts"; readonly domain: "contacts"; }; readonly company: { readonly path: "/companies"; readonly domain: "companies"; }; readonly opportunity: { readonly path: "/opportunities"; readonly domain: "opportunities"; }; readonly project: { readonly path: "/projects"; readonly domain: "projects"; }; readonly action: { readonly path: "/actions"; readonly domain: "actions"; }; readonly positioning: { readonly path: "/positionings"; readonly domain: "positionings"; }; readonly invoice: { readonly path: "/invoices"; readonly domain: "invoices"; }; readonly order: { readonly path: "/orders"; readonly domain: "orders"; }; readonly delivery: { readonly path: "/deliveries"; readonly domain: "deliveries"; }; readonly purchase: { readonly path: "/purchases"; readonly domain: "purchases"; }; readonly payment: { readonly path: "/payments"; readonly domain: "payments"; }; readonly providerInvoice: { readonly path: "/provider-invoices"; readonly domain: "provider-invoices"; }; readonly product: { readonly path: "/products"; readonly domain: "products"; }; readonly contract: { readonly path: "/contracts"; readonly domain: "contracts"; }; readonly advantage: { readonly path: "/advantages"; readonly domain: "advantages"; }; readonly timesReport: { readonly path: "/times-reports"; readonly domain: "timesheets"; }; readonly expensesReport: { readonly path: "/expenses-reports"; readonly domain: "expenses"; }; readonly absencesReport: { readonly path: "/absences-reports"; readonly domain: "absences"; }; readonly agency: { readonly path: "/agencies"; readonly domain: "agencies"; }; }; export type RightsEntity = keyof typeof RIGHTS_ENTITIES; export declare function registerRightsTool(server: McpServer, policy?: AccessPolicy): void; //# sourceMappingURL=rights.d.ts.map