( sessionId: string, keywords: string[], filter?: TimeFilter, limit: number = 20, offset: number = 0, senderId?: number )
| 121 | * Deep search (always LIKE, no FTS). |
| 122 | */ |
| 123 | export async function deepSearchMessages( |
| 124 | sessionId: string, |
| 125 | keywords: string[], |
| 126 | filter?: TimeFilter, |
| 127 | limit: number = 20, |
| 128 | offset: number = 0, |
| 129 | senderId?: number |
| 130 | ): Promise<MessagesWithTotal> { |
| 131 | ensureAvatarColumn(sessionId) |
| 132 | const executor = createSyncExecutor(sessionId) |
| 133 | if (!executor) return { messages: [], total: 0 } |
| 134 | return searchMessagesLikeAsync(executor, keywords, filter, limit, offset, senderId) |
| 135 | } |
| 136 | |
| 137 | /** |
| 138 | * Get message context (surrounding messages by id). |
no test coverage detected