Remove advanced search functionality from search-server and SessionSearch classes

- Deleted the advanced_search tool from the search-server.ts file, which combined full-text search with structured filters for observations and sessions.
- Removed the advancedSearch method from the SessionSearch class, which handled the logic for performing advanced searches using FTS5 and structured filters.
This commit is contained in:
Alex Newman
2025-10-21 19:12:36 -04:00
parent 02bce8a6e6
commit 562194612e
3 changed files with 41 additions and 196 deletions
-74
View File
@@ -686,80 +686,6 @@ const tools = [
};
}
}
},
{
name: 'advanced_search',
description: 'Advanced search combining full-text search with structured filters across both observations and sessions. IMPORTANT: Always use index format first (default) to get an overview with minimal token usage, then use format: "full" only for specific items of interest.',
inputSchema: z.object({
textQuery: z.string().optional().describe('Optional text query for FTS5 search'),
format: z.enum(['index', 'full']).default('index').describe('Output format: "index" for titles/dates only (default, RECOMMENDED for initial search), "full" for complete details (use only after reviewing index results)'),
searchSessions: z.boolean().default(true).describe('Include session summaries in results'),
...filterSchema.shape
}),
handler: async (args: any) => {
try {
const { format = 'index', ...searchArgs } = args;
const results = search.advancedSearch(searchArgs);
const totalResults = results.observations.length + results.sessions.length;
if (totalResults === 0) {
return {
content: [{
type: 'text' as const,
text: 'No results found matching the search criteria'
}]
};
}
let combinedText: string;
if (format === 'index') {
const header = `Found ${totalResults} result(s) matching search criteria:\n\n`;
const formattedResults: string[] = [];
// Add observations
results.observations.forEach((obs, i) => {
formattedResults.push(formatObservationIndex(obs, i));
});
// Add sessions
results.sessions.forEach((session, i) => {
formattedResults.push(formatSessionIndex(session, i + results.observations.length));
});
combinedText = header + formattedResults.join('\n\n') + formatSearchTips();
} else {
const formattedResults: string[] = [];
// Add observations
results.observations.forEach((obs, i) => {
formattedResults.push(formatObservationResult(obs, i));
});
// Add sessions
results.sessions.forEach((session, i) => {
formattedResults.push(formatSessionResult(session, i + results.observations.length));
});
combinedText = formattedResults.join('\n\n---\n\n');
}
return {
content: [{
type: 'text' as const,
text: combinedText
}]
};
} catch (error: any) {
return {
content: [{
type: 'text' as const,
text: `Search failed: ${error.message}`
}],
isError: true
};
}
}
}
];