roam-research-mcp
Version:
MCP server and CLI for Roam Research
74 lines (73 loc) • 2.23 kB
JavaScript
import { TagSearchHandler, BlockRefSearchHandler, HierarchySearchHandler, TextSearchHandler, DatomicSearchHandler, StatusSearchHandler } from '../../../search/index.js';
// Base class for all search handlers
export class BaseSearchHandler {
constructor(graph) {
this.graph = graph;
}
}
// Tag search handler
export class TagSearchHandlerImpl extends BaseSearchHandler {
constructor(graph, params) {
super(graph);
this.params = params;
}
async execute() {
const handler = new TagSearchHandler(this.graph, this.params);
return handler.execute();
}
}
// Block reference search handler
export class BlockRefSearchHandlerImpl extends BaseSearchHandler {
constructor(graph, params) {
super(graph);
this.params = params;
}
async execute() {
const handler = new BlockRefSearchHandler(this.graph, this.params);
return handler.execute();
}
}
// Hierarchy search handler
export class HierarchySearchHandlerImpl extends BaseSearchHandler {
constructor(graph, params) {
super(graph);
this.params = params;
}
async execute() {
const handler = new HierarchySearchHandler(this.graph, this.params);
return handler.execute();
}
}
// Text search handler
export class TextSearchHandlerImpl extends BaseSearchHandler {
constructor(graph, params) {
super(graph);
this.params = params;
}
async execute() {
const handler = new TextSearchHandler(this.graph, this.params);
return handler.execute();
}
}
// Status search handler
export class StatusSearchHandlerImpl extends BaseSearchHandler {
constructor(graph, params) {
super(graph);
this.params = params;
}
async execute() {
const handler = new StatusSearchHandler(this.graph, this.params);
return handler.execute();
}
}
// Datomic query handler
export class DatomicSearchHandlerImpl extends BaseSearchHandler {
constructor(graph, params) {
super(graph);
this.params = params;
}
async execute() {
const handler = new DatomicSearchHandler(this.graph, this.params);
return handler.execute();
}
}