Skip to content

Latest commit

 

History

History
51 lines (30 loc) · 3.21 KB

File metadata and controls

51 lines (30 loc) · 3.21 KB

Human Interaction Layer

graph LR
    Human_Input_Handler["Human Input Handler"]
    Human_Input_Data_Models["Human Input Data Models"]
    Progress_Display["Progress Display"]
    Console_Interface["Console Interface"]
    Human_Input_Handler -- "uses" --> Human_Input_Data_Models
    Human_Input_Handler -- "uses" --> Console_Interface
    Human_Input_Handler -- "uses" --> Progress_Display
    Progress_Display -- "uses" --> Console_Interface
Loading

Details

The Human Interaction Layer is a critical subsystem designed to facilitate seamless human-in-the-loop workflows within the AI agent framework. Its primary purpose is to enable agents to request information, receive feedback, and process responses from human users, thereby integrating human intelligence and decision-making into automated processes. This layer adheres to the project's architectural biases by promoting modularity, clear separation of concerns, and an asynchronous design, ensuring that human interactions do not block core agent operations.

Human Input Handler

This is the central orchestrator for managing human input. It's responsible for presenting prompts to the user, capturing their input (distinguishing between simple text and structured commands), and then parsing that input to determine the appropriate action for the agent. It also coordinates with the display mechanism to manage the visual state during input.

Related Classes/Methods:

Human Input Data Models

This component defines the standardized data structures (e.g., HumanInputRequest) for all human-related input and output within the system. It ensures type safety, consistency, and a clear contract for information exchange between the agent framework and the human interaction components.

Related Classes/Methods:

Progress Display

This component, specifically RichProgressDisplay, is responsible for providing visual feedback to the user during agent operations. It manages the display of progress indicators, status messages, and other interactive elements, crucially pausing them when human input is pending and resuming them afterward to maintain a coherent user experience.

Related Classes/Methods:

Console Interface

This foundational component provides the low-level interface for interacting with the console. It handles the actual reading of input from stdin and writing output to stdout/stderr. While not exclusively part of the human_input package, it serves as the underlying I/O mechanism for any console-based human interaction.

Related Classes/Methods: