jrnl-mcp
Version:
Model Context Protocol server for jrnl CLI journal application
36 lines (35 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.searchEntries = searchEntries;
const commandBuilder_1 = require("../utils/commandBuilder");
async function searchEntries(params, executor) {
const filters = {
from: params.from,
to: params.to,
tags: params.tags,
contains: params.contains,
limit: params.limit,
starred: params.starred,
};
const command = (0, commandBuilder_1.buildSearchCommand)(filters, params.journal);
const result = await executor.execute(command);
try {
const data = JSON.parse(result);
// jrnl exports in a specific format, need to transform it
const entries = data.entries.map((entry) => ({
date: entry.date,
time: entry.time || "",
title: entry.title || "",
body: entry.body || "",
tags: entry.tags || [],
starred: entry.starred || false,
}));
return {
entries,
tags: data.tags || {},
};
}
catch (error) {
throw new Error(`Failed to parse jrnl output: ${error}`);
}
}