feat: offset param in list_messages tool (pagination)
This commit is contained in:
parent
a8f205609b
commit
a89e9a1bb9
@ -13,6 +13,7 @@ const ListMessagesParams = Type.Object({
|
|||||||
chat_id: Type.Optional(Type.String({ description: 'Chat UUID' })),
|
chat_id: Type.Optional(Type.String({ description: 'Chat UUID' })),
|
||||||
task_id: Type.Optional(Type.String({ description: 'Task UUID' })),
|
task_id: Type.Optional(Type.String({ description: 'Task UUID' })),
|
||||||
limit: Type.Optional(Type.Number({ description: 'Max messages to return (default 50)' })),
|
limit: Type.Optional(Type.Number({ description: 'Max messages to return (default 50)' })),
|
||||||
|
offset: Type.Optional(Type.Number({ description: 'Skip N newest messages (for pagination). offset=30 skips 30 newest, returns next batch.' })),
|
||||||
});
|
});
|
||||||
|
|
||||||
function ok(text: string) {
|
function ok(text: string) {
|
||||||
@ -41,6 +42,7 @@ export function createMessageTools(ctx: ToolContext): ToolDefinition<any>[] {
|
|||||||
if (params.chat_id) query.chat_id = params.chat_id;
|
if (params.chat_id) query.chat_id = params.chat_id;
|
||||||
if (params.task_id) query.task_id = params.task_id;
|
if (params.task_id) query.task_id = params.task_id;
|
||||||
if (params.limit) query.limit = String(params.limit);
|
if (params.limit) query.limit = String(params.limit);
|
||||||
|
if (params.offset) query.offset = String(params.offset);
|
||||||
const messages = await ctx.trackerClient.listMessages(query);
|
const messages = await ctx.trackerClient.listMessages(query);
|
||||||
return ok(JSON.stringify(messages, null, 2));
|
return ok(JSON.stringify(messages, null, 2));
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user