Skip to main content
Glama
search.tsβ€’3.14 kB
/** * Search API Routes * * Provides REST endpoints for searching messages and sessions * Based on the Saiki WebUI architecture with comprehensive search capabilities */ import { Router, Request, Response } from 'express'; import { MemAgent } from '@core/brain/memAgent/index.js'; // TODO: SearchService will be implemented in the future // import { SearchService } from '@core/ai/search/search-service.js'; import { errorResponse, ERROR_CODES } from '../utils/response.js'; import { logger } from '@core/logger/index.js'; export function createSearchRoutes(_agent: MemAgent): Router { const router = Router(); // TODO: SearchService implementation will be added in the future // For now, return "not implemented" responses /** * GET /api/search/messages * Search messages across sessions * * Query parameters: * - q: Search query (required) * - sessionId: Filter by specific session (optional) * - role: Filter by message role (optional) - user, assistant, system, tool * - limit: Maximum number of results (optional, default: 50) * - offset: Pagination offset (optional, default: 0) */ router.get('/messages', async (req: Request, res: Response) => { try { logger.info('Message search requested but not implemented', { requestId: req.requestId, query: req.query, }); // Return "not implemented" response return errorResponse( res, ERROR_CODES.INTERNAL_ERROR, 'Search functionality is not yet implemented. This feature will be available in a future release.', 501, undefined, req.requestId ); } catch (error) { const errorMsg = error instanceof Error ? error.message : String(error); logger.error('Message search route error', { requestId: req.requestId, error: errorMsg, stack: error instanceof Error ? error.stack : undefined, }); errorResponse( res, ERROR_CODES.INTERNAL_ERROR, `Message search failed: ${errorMsg}`, 500, process.env.NODE_ENV === 'development' ? error : undefined, req.requestId ); } }); /** * GET /api/search/sessions * Search sessions containing the query * * Query parameters: * - q: Search query (required) */ router.get('/sessions', async (req: Request, res: Response) => { try { logger.info('Session search requested but not implemented', { requestId: req.requestId, query: req.query, }); // Return "not implemented" response return errorResponse( res, ERROR_CODES.INTERNAL_ERROR, 'Search functionality is not yet implemented. This feature will be available in a future release.', 501, undefined, req.requestId ); } catch (error) { const errorMsg = error instanceof Error ? error.message : String(error); logger.error('Session search route error', { requestId: req.requestId, error: errorMsg, stack: error instanceof Error ? error.stack : undefined, }); errorResponse( res, ERROR_CODES.INTERNAL_ERROR, `Session search failed: ${errorMsg}`, 500, process.env.NODE_ENV === 'development' ? error : undefined, req.requestId ); } }); return router; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/campfirein/cipher'

If you have feedback or need assistance with the MCP directory API, please join our Discord server