job-log-handler.ts•1.08 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 { JOB_LOG_TOOL_CONFIG } from '../../tool-configs/job-log-tool-config.js';
import { JOB_LOG_TOOL_NAMES_SET, JobLogToolName } from '../../utils/log-tool-constants.js';
/**
 * Handler for job-specific log tools using config-driven dispatch
 * Separates job log operations from standard log operations for better maintainability
 */
export class JobLogToolHandler extends AbstractLogToolHandler<JobLogToolName> {
  constructor(context: HandlerContext, subLoggerName: string) {
    super(context, subLoggerName);
  }
  canHandle(toolName: string): boolean {
    return JOB_LOG_TOOL_NAMES_SET.has(toolName as JobLogToolName);
  }
  protected getToolNameSet(): Set<JobLogToolName> {
    return JOB_LOG_TOOL_NAMES_SET;
  }
  protected getToolConfig(): Record<string, GenericToolSpec<ToolArguments, any>> {
    return JOB_LOG_TOOL_CONFIG;
  }
}