get_unexplored_tiles
Identify unexplored research gaps by finding tiles that haven't been split yet in your hierarchical solution space.
Instructions
Get tiles that haven't been split yet - these are gaps in your solution space exploration
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| treeId | No | Optional tree ID to filter by |
Implementation Reference
- src/research-tree.ts:366-380 (handler)Core handler function that retrieves tiles that are non-leaf but have no children (unexplored branches), optionally filtered by tree ID. This is the exact implementation of the tool logic.getUnexploredTiles(treeId?: string): Tile[] { let tilesToSearch = Array.from(this.tiles.values()); if (treeId) { const tree = this.trees.get(treeId); if (!tree) { throw new Error(`Tree ${treeId} not found`); } tilesToSearch = this.getTilesInTree(tree.rootTileId); } return tilesToSearch.filter( (tile) => !tile.isLeaf && tile.childrenIds.length === 0 ); }
- src/index.ts:267-279 (schema)Input schema definition for the get_unexplored_tiles tool, specifying optional treeId parameter.{ name: "get_unexplored_tiles", description: "Get tiles that haven't been split yet - these are gaps in your solution space exploration", inputSchema: { type: "object", properties: { treeId: { type: "string", description: "Optional tree ID to filter by", }, }, }, },
- src/index.ts:558-570 (registration)Tool execution handler in the switch statement that calls the core getUnexploredTiles method on treeManager and formats the response.case "get_unexplored_tiles": { const result = treeManager.getUnexploredTiles( args.treeId as string | undefined ); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:393-395 (registration)Registration of the tools list (including get_unexplored_tiles) for list tools requests.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS, }));