import { registerApiSearch } from "./tools/api-search.js";
import { registerWikiSearch } from "./tools/wiki-search.js";
import { registerProjectBrowse } from "./tools/project-browse.js";
import { registerProjectRead } from "./tools/project-read.js";
import { registerProjectWrite } from "./tools/project-write.js";
import { registerModCreate } from "./tools/mod-create.js";
import { registerScriptCreate } from "./tools/script-create.js";
import { registerPrefabCreate } from "./tools/prefab-create.js";
import { registerModValidate } from "./tools/mod-validate.js";
import { registerModBuild } from "./tools/mod-build.js";
import { registerConfigCreate } from "./tools/config-create.js";
import { registerServerConfig } from "./tools/server-config.js";
import { registerLayoutCreate } from "./tools/layout-create.js";
import { registerCreateModPrompt } from "./prompts/create-mod.js";
import { registerModifyModPrompt } from "./prompts/modify-mod.js";
import { registerClassResource } from "./resources/class-resource.js";
import { registerPatternResource } from "./resources/pattern-resource.js";
import { registerGroupResource } from "./resources/group-resource.js";
import { SearchEngine } from "./index/search-engine.js";
import { PatternLibrary } from "./patterns/loader.js";
import { WorkbenchClient } from "./workbench/client.js";
import { registerWbLaunch } from "./tools/wb-launch.js";
import { registerWbConnect } from "./tools/wb-connect.js";
import { registerWbReload } from "./tools/wb-reload.js";
import { registerWbEditorTools } from "./tools/wb-editor.js";
import { registerWbExecuteAction } from "./tools/wb-execute-action.js";
import { registerWbEntityTools } from "./tools/wb-entities.js";
import { registerWbComponent } from "./tools/wb-components.js";
import { registerWbTerrain } from "./tools/wb-terrain.js";
import { registerWbLayers } from "./tools/wb-layers.js";
import { registerWbResources } from "./tools/wb-resources.js";
import { registerWbPrefabs } from "./tools/wb-prefabs.js";
import { registerWbClipboard } from "./tools/wb-clipboard.js";
import { registerWbScriptEditor } from "./tools/wb-script-editor.js";
import { registerWbLocalization } from "./tools/wb-localization.js";
import { registerWbProjects } from "./tools/wb-projects.js";
import { registerWbValidate } from "./tools/wb-validate.js";
import { registerWbState } from "./tools/wb-state.js";
import { registerGameBrowse } from "./tools/game-browse.js";
import { registerGameRead } from "./tools/game-read.js";
import { registerAssetSearch } from "./tools/asset-search.js";
import { registerWorkshopInfo } from "./tools/workshop-info.js";
export function registerTools(server, config) {
    const searchEngine = new SearchEngine(config.dataDir);
    const patterns = new PatternLibrary(config.patternsDir);
    // Phase 0 tools
    registerApiSearch(server, searchEngine);
    registerWikiSearch(server, searchEngine);
    registerProjectBrowse(server, config);
    // Phase 1 tools
    registerProjectRead(server, config);
    registerModCreate(server, config, patterns);
    registerScriptCreate(server, config);
    registerPrefabCreate(server, config);
    // Phase 2 tools
    registerProjectWrite(server, config);
    registerModValidate(server, config, searchEngine);
    registerModBuild(server, config);
    // Phase 3 tools
    registerConfigCreate(server, config);
    registerServerConfig(server, config);
    registerLayoutCreate(server, config);
    // Workbench Live Control tools (Phase 4)
    const wbClient = new WorkbenchClient(config.workbenchHost, config.workbenchPort, config);
    registerWbLaunch(server, wbClient);
    registerWbConnect(server, wbClient);
    registerWbReload(server, wbClient);
    registerWbEditorTools(server, wbClient);
    registerWbExecuteAction(server, wbClient);
    registerWbEntityTools(server, wbClient);
    registerWbComponent(server, wbClient);
    registerWbTerrain(server, wbClient);
    registerWbLayers(server, wbClient);
    registerWbResources(server, wbClient);
    registerWbPrefabs(server, wbClient);
    registerWbClipboard(server, wbClient);
    registerWbScriptEditor(server, wbClient);
    registerWbLocalization(server, wbClient);
    registerWbProjects(server, wbClient);
    registerWbValidate(server, wbClient);
    registerWbState(server, wbClient);
    // Base game access tools
    registerGameBrowse(server, config);
    registerGameRead(server, config);
    registerAssetSearch(server, config);
    registerWorkshopInfo(server, config);
    // MCP Prompts
    registerCreateModPrompt(server, patterns);
    registerModifyModPrompt(server);
    // MCP Resources
    registerClassResource(server, searchEngine);
    registerPatternResource(server, patterns);
    registerGroupResource(server, searchEngine);
}
//# sourceMappingURL=server.js.map