UNPKG

rhombus-node-mcp

Version:
55 lines (54 loc) 2.17 kB
import { z } from "zod"; import { INCLUDE_FIELDS_ARG, FILTER_BY_ARG } from "../util.js"; export var UserAccessTrailRequestType; (function (UserAccessTrailRequestType) { UserAccessTrailRequestType["GET_ACCESS_EVENTS_BY_USER"] = "get-access-events-by-user"; UserAccessTrailRequestType["GET_ACCESS_EVENTS_BY_EMAIL"] = "get-access-events-by-email"; })(UserAccessTrailRequestType || (UserAccessTrailRequestType = {})); export const TOOL_ARGS = { requestType: z .nativeEnum(UserAccessTrailRequestType) .describe("The type of access trail request."), userUuid: z .string() .nullable() .describe("User UUID. Required for 'get-access-events-by-user'."), email: z .string() .nullable() .describe("User email address. Required for 'get-access-events-by-email'. Will resolve to userUuid automatically."), startTimeMs: z .number() .nullable() .describe("Start time filter in milliseconds since epoch."), endTimeMs: z .number() .nullable() .describe("End time filter in milliseconds since epoch."), limit: z .number() .nullable() .describe("Maximum number of events to return. Defaults to 100."), includeFields: INCLUDE_FIELDS_ARG, filterBy: FILTER_BY_ARG, }; const TOOL_ARGS_SCHEMA = z.object(TOOL_ARGS); const AccessEventSchema = z.object({ eventUuid: z.string().optional(), eventType: z.string().optional(), timestampMs: z.number().optional(), locationUuid: z.string().optional(), componentUuid: z.string().optional(), ownerDeviceUuid: z.string().optional(), authorizationResult: z.string().optional(), authenticationResult: z.string().optional(), }); export const OUTPUT_SCHEMA = z.object({ userUuid: z.string().optional().describe("Resolved user UUID"), userName: z.string().optional().describe("Resolved user name"), accessEvents: z .array(AccessEventSchema) .optional() .describe("List of access control events for the user, ordered by time"), error: z.string().optional().describe("An error message if the request failed."), });