log-handler.ts•1 kB
import { AbstractLogToolHandler } from './abstract-log-tool-handler.js';
import { HandlerContext } from './base-handler.js';
import { GenericToolSpec } from './base-handler.js';
import { ToolArguments } from './base-handler.js';
import { LOG_TOOL_CONFIG } from '../../tool-configs/log-tool-config.js';
import { LOG_TOOL_NAMES_SET, LogToolName } from '../../utils/log-tool-constants.js';
/**
 * Handler for standard log tools using config-driven dispatch
 * Handles log reading, searching, and analysis operations
 */
export class LogToolHandler extends AbstractLogToolHandler<LogToolName> {
  constructor(context: HandlerContext, subLoggerName: string) {
    super(context, subLoggerName);
  }
  canHandle(toolName: string): boolean {
    return LOG_TOOL_NAMES_SET.has(toolName as LogToolName);
  }
  protected getToolNameSet(): Set<LogToolName> {
    return LOG_TOOL_NAMES_SET;
  }
  protected getToolConfig(): Record<string, GenericToolSpec<ToolArguments, any>> {
    return LOG_TOOL_CONFIG;
  }
}