limitless-ai-mcp-server
Version:
MCP server for integrating Limitless AI Pendant recordings with AI assistants
83 lines • 3.09 kB
JavaScript
"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