/**
 * Centralized tool handlers registry
 * All tool handlers are defined here and exported for the toolRegistry
 */

export { createGlobalHandlers } from './globalHandlers'
export { createCanvasHandlers } from './canvasHandlers'
export { createComponentHandlers } from './componentHandlers'
export { createThemeHandlers } from './themeHandlers'
export { createDatabaseHandlers } from './databaseHandlers'
export { createProjectCanvasHandlers } from './projectCanvasHandlers'
export { createSourceCodeHandlers } from './sourceCodeHandlers'
export { createResponseHandlers, setResponseControls } from './responseHandlers'
export type { ResponseControls } from './responseHandlers'
export { createGitHandlers } from './gitHandlers'
export { createTorchHandlers } from './torchHandlers'
export { createSnapshotHandlers } from './snapshotHandlers'
export { createFsComponentHandlers } from './fsComponentHandlers'

export type ToolHandler = (args: any) => string | Promise<string>

export interface ToolConfig {
  name: string
  description: string
  category: 'global' | 'canvas' | 'component' | 'theme' | 'database' | 'source' | 'project' | 'git' | 'torch'
  schema: object
  handler: ToolHandler
}
