(args: ParsedArguments)
| 25 | import * as webmcpTools from './webmcp.js'; |
| 26 | |
| 27 | export const createTools = (args: ParsedArguments) => { |
| 28 | const rawTools = args.slim |
| 29 | ? Object.values(slimTools) |
| 30 | : [ |
| 31 | ...Object.values(consoleTools), |
| 32 | ...Object.values(emulationTools), |
| 33 | ...Object.values(extensionTools), |
| 34 | ...Object.values(inputTools), |
| 35 | ...Object.values(lighthouseTools), |
| 36 | ...Object.values(memoryTools), |
| 37 | ...Object.values(networkTools), |
| 38 | ...Object.values(pagesTools), |
| 39 | ...Object.values(performanceTools), |
| 40 | ...Object.values(screencastTools), |
| 41 | ...Object.values(screenshotTools), |
| 42 | ...Object.values(scriptTools), |
| 43 | ...Object.values(snapshotTools), |
| 44 | ...Object.values(thirdPartyDeveloperTools), |
| 45 | ...Object.values(webmcpTools), |
| 46 | ]; |
| 47 | |
| 48 | const tools = []; |
| 49 | for (const tool of rawTools) { |
| 50 | if (typeof tool === 'function') { |
| 51 | tools.push(tool(args) as unknown as ToolDefinition); |
| 52 | } else { |
| 53 | tools.push(tool as ToolDefinition); |
| 54 | } |
| 55 | } |
| 56 | |
| 57 | tools.sort((a, b) => { |
| 58 | return a.name.localeCompare(b.name); |
| 59 | }); |
| 60 | |
| 61 | return tools; |
| 62 | }; |
no test coverage detected