ReMe/reme2/schema/response.py
jinli.yl baf110e602
Some checks are pending
Pre-commit / run (ubuntu-latest) (push) Waiting to run
feat(components): add token counter and file-based utility components
- Introduce BaseAsTokenCounter and EstimatedAsTokenCounter for token estimation
- Add AsMsgStat and AsBlockStat schema for message statistics tracking
- Implement FileIO class with read/write/append/edit operations
- Create file utility functions for safe async file reading and truncation
- Add MemorySearch component for semantic search in memory files
- Register new component types in ComponentEnum and update imports
- Add constants for default host, port, and truncation limits
- Create BaseService abstract base class for service implementations
- Implement BaseStep with component accessors and lifecycle management
- Add proper __all__ exports for all new modules and components
2026-04-16 20:21:04 +08:00

28 lines
998 B
Python

"""Response schema module.
This module defines the standardized data structure for model output
responses used throughout the application.
"""
from typing import Any
from pydantic import BaseModel, Field, ConfigDict
class Response(BaseModel):
"""Represents a structured response with result, status, and metadata.
This model provides a consistent interface for returning results
from operations, LLM calls, and service endpoints.
Attributes:
answer: The main response content, typically a string or structured data.
success: Whether the operation completed successfully.
metadata: Additional context and diagnostic information.
"""
model_config = ConfigDict(extra="allow")
answer: str | Any = Field(default="", description="Response content or result data")
success: bool = Field(default=True, description="Operation success status")
metadata: dict = Field(default_factory=dict, description="Additional context and diagnostics")