| 9 | |
| 10 | @dataclass(frozen=True) |
| 11 | class ToolPool: |
| 12 | tools: tuple[PortingModule, ...] |
| 13 | simple_mode: bool |
| 14 | include_mcp: bool |
| 15 | |
| 16 | def as_markdown(self) -> str: |
| 17 | lines = [ |
| 18 | '# Tool Pool', |
| 19 | '', |
| 20 | f'Simple mode: {self.simple_mode}', |
| 21 | f'Include MCP: {self.include_mcp}', |
| 22 | f'Tool count: {len(self.tools)}', |
| 23 | ] |
| 24 | lines.extend(f'- {tool.name} — {tool.source_hint}' for tool in self.tools[:15]) |
| 25 | return '\n'.join(lines) |
| 26 | |
| 27 | |
| 28 | def assemble_tool_pool( |
no outgoing calls
no test coverage detected