MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / buildTree

Function buildTree

packages/react/src/components/tool-tree.tsx:158–178  ·  view source on GitHub ↗
(tools: readonly ToolSummary[])

Source from the content-addressed store, hash-verified

156// ---------------------------------------------------------------------------
157
158const buildTree = (tools: readonly ToolSummary[]): TreeNode => {
159 const root: TreeNode = { segment: "", path: "", children: new Map() };
160
161 for (const tool of tools) {
162 const parts = tool.name.split(".");
163 let node = root;
164 let path = "";
165 for (const part of parts) {
166 path = path ? `${path}.${part}` : part;
167 let child = node.children.get(part);
168 if (!child) {
169 child = { segment: part, path, children: new Map() };
170 node.children.set(part, child);
171 }
172 node = child;
173 }
174 node.tool = tool;
175 }
176
177 return root;
178};
179
180const countLeaves = (node: TreeNode): number => {
181 let count = node.tool ? 1 : 0;

Callers 1

ToolTreeBodyFunction · 0.85

Calls 2

setMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected