From 2d1580ddc5ceb1382a992e9c674ce19b9766d718 Mon Sep 17 00:00:00 2001 From: bendtherules Date: Tue, 21 Apr 2026 16:20:22 +0530 Subject: [PATCH] refactor(agent-tools): replace partIndex/totalParts with childrenSectionIds in getSectionContent The getSectionContent tool schema and implementation now use `childrenSectionIds` (array of strings) instead of the previous pagination fields `partIndex` and `totalParts`. Updated Zod schema, output types, data handling, and returned objects accordingly. This change simplifies section handling by focusing on child section relationships rather than pagination. --- src/agent-tools/getSectionContent.ts | 31 +++++++++++++--------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/agent-tools/getSectionContent.ts b/src/agent-tools/getSectionContent.ts index 7b7f6e5..e5d8a71 100644 --- a/src/agent-tools/getSectionContent.ts +++ b/src/agent-tools/getSectionContent.ts @@ -20,8 +20,7 @@ const sectionDataSchema = z.object({ found: z.boolean(), error: z.string().optional(), sectionTitle: z.string().optional(), - partIndex: z.number().optional(), - totalParts: z.number().optional(), + childrensectionids: z.array(z.string()).optional(), }); const getSectionContentOutputSchema = z.object({ @@ -87,8 +86,7 @@ export function createGetSectionContentTool(table: Table) { { content: string[]; title?: string; - partIndex?: number; - totalParts?: number; + childrenSectionIds?: string[]; } >(); const queue: string[] = [...sectionIds]; @@ -121,18 +119,18 @@ export function createGetSectionContentTool(table: Table) { totalparts?: number; }; + // Get or create section data + let section = sectionsData.get(currentId); + if (!section) { + section = { + content: [], + title: typedResult.sectiontitle, + childrenSectionIds: typedResult.childrensectionids, + }; + sectionsData.set(currentId, section); + } + if (typedResult.text) { - // Get or create section data - let section = sectionsData.get(currentId); - if (!section) { - section = { - content: [], - title: typedResult.sectiontitle, - partIndex: typedResult.partindex ?? undefined, - totalParts: typedResult.totalparts ?? undefined, - }; - sectionsData.set(currentId, section); - } section.content.push(typedResult.text); } @@ -157,8 +155,7 @@ export function createGetSectionContentTool(table: Table) { content: data.content.join("\n\n"), found: true, sectionTitle: data.title, - partIndex: data.partIndex, - totalParts: data.totalParts, + childrensectionids: data.childrenSectionIds, }; } return {