UNPKG

limitless-ai-mcp-server

Version:

MCP server for integrating Limitless AI Pendant recordings with AI assistants

83 lines 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.searchLifelogsSchema = exports.listRecentLifelogsSchema = exports.listLifelogsByRangeSchema = exports.listLifelogsByDateSchema = exports.getLifelogByIdSchema = void 0; const zod_1 = require("zod"); // Common schemas const includeOptionsSchema = zod_1.z.object({ includeMarkdown: zod_1.z.coerce .boolean() .default(true) .describe('Include markdown content in the response.'), includeHeadings: zod_1.z.coerce .boolean() .default(true) .describe('Include headings content in the response.'), }); const paginationOptionsSchema = zod_1.z.object({ limit: zod_1.z.coerce .number() .int() .positive() .max(100) .optional() .describe('Maximum number of lifelogs to return (Max: 100). Fetches in batches from the API if needed.'), direction: zod_1.z .enum(['asc', 'desc']) .optional() .describe("Sort order ('asc' for oldest first, 'desc' for newest first)."), timezone: zod_1.z .string() .optional() .describe("IANA timezone for date/time parameters (defaults to server's local timezone)."), }); // Tool schemas exports.getLifelogByIdSchema = zod_1.z .object({ lifelog_id: zod_1.z.string().describe('The unique identifier of the lifelog to retrieve.'), }) .merge(includeOptionsSchema); exports.listLifelogsByDateSchema = zod_1.z .object({ date: zod_1.z .string() .regex(/^\d{4}-\d{2}-\d{2}$/) .describe('The date to retrieve lifelogs for, in YYYY-MM-DD format.'), }) .merge(includeOptionsSchema) .merge(paginationOptionsSchema); exports.listLifelogsByRangeSchema = zod_1.z .object({ start: zod_1.z.string().describe('Start datetime filter (YYYY-MM-DD or YYYY-MM-DD HH:mm:SS).'), end: zod_1.z.string().describe('End datetime filter (YYYY-MM-DD or YYYY-MM-DD HH:mm:SS).'), }) .merge(includeOptionsSchema) .merge(paginationOptionsSchema); exports.listRecentLifelogsSchema = zod_1.z .object({ limit: zod_1.z.coerce .number() .int() .positive() .max(100) .default(10) .describe('Number of recent lifelogs to retrieve (Max: 100). Defaults to 10.'), timezone: zod_1.z .string() .optional() .describe("IANA timezone for date/time parameters (defaults to server's local timezone)."), }) .merge(includeOptionsSchema); exports.searchLifelogsSchema = zod_1.z .object({ search_term: zod_1.z.string().describe('The text to search for within lifelog titles and content.'), fetch_limit: zod_1.z.coerce .number() .int() .positive() .max(100) .default(20) .describe('How many *recent* lifelogs to fetch from the API to search within (Default: 20, Max: 100). This defines the scope of the search, NOT the number of results returned.'), }) .merge(includeOptionsSchema) .merge(paginationOptionsSchema); //# sourceMappingURL=schemas.js.map