(params: Record<string, unknown>, context: ToolExecutionContext)
| 17 | } |
| 18 | |
| 19 | async function handler(params: Record<string, unknown>, context: ToolExecutionContext): Promise<ToolResult> { |
| 20 | const { locale } = context |
| 21 | const messageIds = params.message_ids as number[] |
| 22 | const contextSize = (params.context_size as number) || 20 |
| 23 | |
| 24 | const messages = await context.dataProvider!.getMessageContext(messageIds, contextSize) |
| 25 | |
| 26 | if (messages.length === 0) { |
| 27 | const data = { |
| 28 | error: t('noMessageContext', locale), |
| 29 | messageIds, |
| 30 | } |
| 31 | return { content: JSON.stringify(data), data } |
| 32 | } |
| 33 | |
| 34 | const data = { |
| 35 | totalMessages: messages.length, |
| 36 | contextSize, |
| 37 | requestedMessageIds: messageIds, |
| 38 | rawMessages: messages, |
| 39 | } |
| 40 | |
| 41 | return { content: JSON.stringify(data), data, rawMessages: messages } |
| 42 | } |
| 43 | |
| 44 | export const getMessageContextTool: ToolDefinition = { |
| 45 | name: 'get_message_context', |
nothing calls this directly
no test coverage detected