MCPcopy Index your code
hub / github.com/ChatLab/ChatLab / handler

Function handler

packages/tools/src/definitions/get-conversation-between.ts:21–52  ·  view source on GitHub ↗
(params: Record<string, unknown>, context: ToolExecutionContext)

Source from the content-addressed store, hash-verified

19}
20
21async function handler(params: Record<string, unknown>, context: ToolExecutionContext): Promise<ToolResult> {
22 const { locale, timeFilter: contextTimeFilter, maxMessagesLimit } = context
23 const limit = maxMessagesLimit || (params.limit as number) || 100
24 const effectiveTimeFilter = parseExtendedTimeParams(params as any, contextTimeFilter)
25
26 const result = await context.dataProvider!.getConversationBetween(
27 params.member_id_1 as number,
28 params.member_id_2 as number,
29 effectiveTimeFilter,
30 limit
31 )
32
33 if (result.messages.length === 0) {
34 const data = {
35 error: t('noConversation', locale),
36 member1Id: params.member_id_1,
37 member2Id: params.member_id_2,
38 }
39 return { content: JSON.stringify(data), data }
40 }
41
42 const data = {
43 total: result.total,
44 returned: result.messages.length,
45 member1: result.member1Name,
46 member2: result.member2Name,
47 timeRange: formatTimeRange(effectiveTimeFilter, locale),
48 rawMessages: result.messages,
49 }
50
51 return { content: JSON.stringify(data), data, rawMessages: result.messages }
52}
53
54export const getConversationBetweenTool: ToolDefinition = {
55 name: 'get_conversation_between',

Callers

nothing calls this directly

Calls 4

parseExtendedTimeParamsFunction · 0.90
tFunction · 0.90
formatTimeRangeFunction · 0.90

Tested by

no test coverage detected