flowchart TB
%% subgraph chat_interface_el [ChatInterfaceElement]
%% direction TB
%% chat_interface_model[ChatInterfaceModel]:::Model
%% subgraph chat_interface_el_views [Views]
%% direction LR
%% chatfeed_view:::View ~~~ chat_input_view:::View ~~~ send_button_view:::View
%% end
%% subgraph chat_interface_el_Ports [Ports]
%% direction LR
%% subgraph chat_interface_el_input [Input]
%% direction TB
%% message_input:::InputPort ~~~ message_emit_input:::InputPort
%% end
%% subgraph chat_interface_el_output [Output]
%% direction TB
%% message_output:::OutputPort
%% end
%% chat_interface_el_input ~~~ chat_interface_el_output
%% end
%% chat_interface_model ~~~ chat_interface_el_views ~~~ chat_interface_el_Ports
%% end
%% subgraph llm_chat_el [LLMChatElement]
%% direction TB
%% llm_chat_model[LLMChatModel]:::Model
%% subgraph llm_Views [Views]
%% direction LR
%% model_selector_view:::View
%% end
%% subgraph llm_Ports [Ports]
%% direction LR
%% subgraph llm_chat_input [Input]
%% direction TB
%% messages_input:::InputPort
%% end
%% subgraph llm_chat_output [Output]
%% direction TB
%% llm_message_output[message_output]:::OutputPort
%% end
%% llm_chat_input ~~~ llm_chat_output
%% end
%% llm_chat_model ~~~ llm_Views ~~~ llm_Ports
%% end
subgraph history_handler_el [HistoryHandlerElement]
direction TB
history_handler_model[HistoryHandlerModel]:::Model
subgraph history_handler_el_views [Views]
direction LR
context_view:::View
end
subgraph history_handler_el_Ports [Ports]
direction LR
subgraph history_handler_el_input [Input]
direction TB
message_input:::InputPort ~~~ messages_input:::InputPort
end
subgraph history_handler_el_output [Output]
direction TB
messages_output:::OutputPort
end
history_handler_el_input ~~~ history_handler_el_output
end
history_handler_model ~~~ history_handler_el_views ~~~ history_handler_el_Ports
end