// src/tools/setup.ts
// Copyright (C) 2025 DTP Technologies, LLC
// All Rights Reserved

import { registerTool } from "./index.js";

// Chat tools
import {
  ChatHistoryTool,
  ChatSummarizeTool,
  ChatExportTool,
  SubagentTool,
} from "./chat/index.js";

// Search tools
import { GoogleSearchTool } from "./search/index.js";

// Memory tools
import { PinAddTool, PinRemoveTool } from "./memory/index.js";

// File tools
import {
  FileReadTool,
  FileWriteTool,
  FileEditTool,
  ShellExecTool,
} from "./file/index.js";

// Question tools - TODO: reimplement
// import { AskQuestionsTool } from "./question/index.js";

// Skills tools
import {
  GetSkill,
  SearchSkills,
  CreateSkill,
  UpdateSkill,
} from "./skills/index.js";

// File tools (URL fetching)
import FetchUrlTool from "./file/fetch-url.js";

export async function setupTools(): Promise<void> {
  // Chat tools
  registerTool(ChatHistoryTool);
  registerTool(ChatSummarizeTool);
  registerTool(ChatExportTool);
  registerTool(SubagentTool);

  // Search tools
  registerTool(GoogleSearchTool);

  // Memory tools
  registerTool(PinAddTool);
  registerTool(PinRemoveTool);

  // File tools
  registerTool(FileReadTool);
  registerTool(FileWriteTool);
  registerTool(FileEditTool);
  registerTool(ShellExecTool);

  // Question tools
  // registerTool(AskQuestionsTool);

  // Skills tools
  registerTool(GetSkill);
  registerTool(SearchSkills);
  registerTool(CreateSkill);
  registerTool(UpdateSkill);

  // File tools (URL fetching)
  registerTool(FetchUrlTool);
}
