Team Ai
Apppublic

Jack1808/Claude_Code

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes
optimization_handlers.py148 linesDownload Raw Back to api
1"""Optimization handlers for fast-path API responses.2 3Each handler returns a MessagesResponse if the request matches and the4optimization is enabled, otherwise None.5"""6 7import uuid8 9from loguru import logger10 11from config.settings import Settings12 13from .command_utils import extract_command_prefix, extract_filepaths_from_command14from .detection import (15    is_filepath_extraction_request,16    is_prefix_detection_request,17    is_quota_check_request,18    is_suggestion_mode_request,19    is_title_generation_request,20)21from .models.anthropic import MessagesRequest22from .models.responses import MessagesResponse, Usage23 24 25def try_prefix_detection(26    request_data: MessagesRequest, settings: Settings27) -> MessagesResponse | None:28    """Fast prefix detection - return command prefix without API call."""29    if not settings.fast_prefix_detection:30        return None31 32    is_prefix_req, command = is_prefix_detection_request(request_data)33    if not is_prefix_req:34        return None35 36    logger.info("Optimization: Fast prefix detection request")37    return MessagesResponse(38        id=f"msg_{uuid.uuid4()}",39        model=request_data.model,40        content=[{"type": "text", "text": extract_command_prefix(command)}],41        stop_reason="end_turn",42        usage=Usage(input_tokens=100, output_tokens=5),43    )44 45 46def try_quota_mock(47    request_data: MessagesRequest, settings: Settings48) -> MessagesResponse | None:49    """Mock quota probe requests."""50    if not settings.enable_network_probe_mock:51        return None52    if not is_quota_check_request(request_data):53        return None54 55    logger.info("Optimization: Intercepted and mocked quota probe")56    return MessagesResponse(57        id=f"msg_{uuid.uuid4()}",58        model=request_data.model,59        role="assistant",60        content=[{"type": "text", "text": "Quota check passed."}],61        stop_reason="end_turn",62        usage=Usage(input_tokens=10, output_tokens=5),63    )64 65 66def try_title_skip(67    request_data: MessagesRequest, settings: Settings68) -> MessagesResponse | None:69    """Skip title generation requests."""70    if not settings.enable_title_generation_skip:71        return None72    if not is_title_generation_request(request_data):73        return None74 75    logger.info("Optimization: Skipped title generation request")76    return MessagesResponse(77        id=f"msg_{uuid.uuid4()}",78        model=request_data.model,79        role="assistant",80        content=[{"type": "text", "text": "Conversation"}],81        stop_reason="end_turn",82        usage=Usage(input_tokens=100, output_tokens=5),83    )84 85 86def try_suggestion_skip(87    request_data: MessagesRequest, settings: Settings88) -> MessagesResponse | None:89    """Skip suggestion mode requests."""90    if not settings.enable_suggestion_mode_skip:91        return None92    if not is_suggestion_mode_request(request_data):93        return None94 95    logger.info("Optimization: Skipped suggestion mode request")96    return MessagesResponse(97        id=f"msg_{uuid.uuid4()}",98        model=request_data.model,99        role="assistant",100        content=[{"type": "text", "text": ""}],101        stop_reason="end_turn",102        usage=Usage(input_tokens=100, output_tokens=1),103    )104 105 106def try_filepath_mock(107    request_data: MessagesRequest, settings: Settings108) -> MessagesResponse | None:109    """Mock filepath extraction requests."""110    if not settings.enable_filepath_extraction_mock:111        return None112 113    is_fp, cmd, output = is_filepath_extraction_request(request_data)114    if not is_fp:115        return None116 117    filepaths = extract_filepaths_from_command(cmd, output)118    logger.info("Optimization: Mocked filepath extraction")119    return MessagesResponse(120        id=f"msg_{uuid.uuid4()}",121        model=request_data.model,122        role="assistant",123        content=[{"type": "text", "text": filepaths}],124        stop_reason="end_turn",125        usage=Usage(input_tokens=100, output_tokens=10),126    )127 128 129# Cheapest/most common optimizations first for faster short-circuit.130OPTIMIZATION_HANDLERS = [131    try_quota_mock,132    try_prefix_detection,133    try_title_skip,134    try_suggestion_skip,135    try_filepath_mock,136]137 138 139def try_optimizations(140    request_data: MessagesRequest, settings: Settings141) -> MessagesResponse | None:142    """Run optimization handlers in order. Returns first match or None."""143    for handler in OPTIMIZATION_HANDLERS:144        result = handler(request_data, settings)145        if result is not None:146            return result147    return None148