| 153 | * - WorkerDataProvider: 通过 workerManager IPC 调用 Worker 线程 |
| 154 | */ |
| 155 | export interface ToolDataProvider { |
| 156 | // === 基础查询 === |
| 157 | searchMessages( |
| 158 | keywords: string[], |
| 159 | options?: { timeFilter?: ToolTimeRange; limit?: number; senderId?: number } |
| 160 | ): Promise<SearchMessagesResult> |
| 161 | |
| 162 | deepSearchMessages( |
| 163 | keywords: string[], |
| 164 | options?: { timeFilter?: ToolTimeRange; limit?: number; senderId?: number } |
| 165 | ): Promise<SearchMessagesResult> |
| 166 | |
| 167 | getSearchMessageContext(messageIds: number[], contextBefore: number, contextAfter: number): Promise<RawMessage[]> |
| 168 | |
| 169 | getRecentMessages(options?: { timeFilter?: ToolTimeRange; limit?: number }): Promise<SearchMessagesResult> |
| 170 | |
| 171 | getMessageContext(messageIds: number[], contextSize: number): Promise<RawMessage[]> |
| 172 | |
| 173 | // === 聊天概览 === |
| 174 | getChatOverview(topN?: number): Promise<ChatOverviewResult | null> |
| 175 | |
| 176 | // === 成员相关 === |
| 177 | getMembers(): Promise<MemberInfo[]> |
| 178 | |
| 179 | getMemberStats(options?: { timeFilter?: ToolTimeRange; top?: number }): Promise<MemberStatItem[]> |
| 180 | |
| 181 | getMemberNameHistory(memberId: number): Promise<NameHistoryItem[]> |
| 182 | |
| 183 | // === 时间统计 === |
| 184 | getTimeStats(type: 'hourly' | 'weekday' | 'daily', options?: { timeFilter?: ToolTimeRange }): Promise<unknown[]> |
| 185 | |
| 186 | // === 段落相关 === |
| 187 | getSegmentMessages(segmentId: number, limit?: number): Promise<SegmentMessagesResult | null> |
| 188 | |
| 189 | getSegmentSummaries(options?: { limit?: number; timeFilter?: ToolTimeRange }): Promise<SegmentSummaryItem[]> |
| 190 | |
| 191 | // === 对话查询 === |
| 192 | getConversationBetween( |
| 193 | memberId1: number, |
| 194 | memberId2: number, |
| 195 | timeFilter?: ToolTimeRange, |
| 196 | limit?: number |
| 197 | ): Promise<ConversationResult> |
| 198 | |
| 199 | // === SQL === |
| 200 | executeSql(sql: string): Promise<unknown> |
| 201 | |
| 202 | executeParameterizedSql<T = Record<string, unknown>>(query: string, params: Record<string, unknown>): Promise<T[]> |
| 203 | |
| 204 | getSchema(): Promise<SchemaTableInfo[]> |
| 205 | } |
| 206 | |
| 207 | // ==================== Semantic Search Tool ==================== |
| 208 |
no outgoing calls
no test coverage detected