import { createFsAdapter } from './src/adapters/fsio.mjs';
import { createIndexer } from './src/services/indexer.mjs';
import { createSearchService } from './src/services/searchService.mjs';
import { createSearchTool } from './src/mcp/tools/search.mjs';
async function testSearchTool() {
console.log('๐งช Testing rb.search tool...');
try {
// Setup
const fsAdapter = createFsAdapter('F:/mcpTest/OnCallRunbookMCPServer/runbooks');
const config = { freshnessDays: 90, topKDefault: 5 };
const indexer = createIndexer({ fsAdapter, config, logger: { log: console.log } });
console.log('Building index...');
const index = await indexer.buildIndex();
console.log(`Index built: ${index.documents.length} docs, ${index.chunks.length} chunks`);
const searchService = createSearchService({ index, config, logger: { log: console.log } });
const searchTool = createSearchTool({ searchService, logger: { log: console.log } });
console.log('Testing search tool...');
const result = await searchTool.handler({ q: 'merchant platform', topK: 3 });
console.log('โ
Search tool result:');
console.log(JSON.stringify(result, null, 2));
} catch (error) {
console.error('โ Test failed:', error.message);
console.error(error.stack);
}
}
testSearchTool();