#![forbid(unsafe_code)]
#![warn(missing_docs)]
mod agent_bar;
mod attachments;
mod cancel;
mod chat_view;
mod composer;
pub mod editor;
mod icon;
mod markdown;
mod model;
pub mod paths;
#[cfg(feature = "ragrig")]
mod rag;
#[cfg(feature = "grobid")]
mod references;
#[cfg(feature = "managed")]
mod services;
mod session_picker;
mod setting_fields;
mod settings;
mod side_panel;
pub mod prelude;
pub use agent_bar::{AgentBar, AgentBarEvent};
pub use attachments::{AttachmentEvent, AttachmentRows};
pub use cancel::CancelFlag;
pub use chat_view::{ChatIdentity, ChatView, ChatViewEvent, EmptyState};
pub use composer::{Composer, ComposerEvent};
pub use editor::*;
pub use icon::ChatIcon;
pub use markdown::stabilize_markdown;
pub use model::*;
pub use paths::{expand_home, home_relative, prompt_for_paths_at};
#[cfg(feature = "ragrig")]
pub use rag::*;
#[cfg(feature = "grobid")]
pub use references::{
CitationAttachment, ReferenceAction, ReferenceCopy, ReferenceEntry, ReferenceOptions,
ReferenceProgress, ReferenceReport, ReferenceRow, ReferenceSelection, ReferenceSelectionBar,
ReferenceStage, keys_text, paths_text,
};
#[cfg(feature = "managed")]
pub use services::{
ContainerStatus, DockerStatus, ExternalServiceEvent, ExternalServices, GROBID_DISCOVERY_PORTS,
LLAMACPP_DISCOVERY_PORTS, MANAGED_GROBID_CONTAINER, MANAGED_GROBID_PORT, MANAGED_GROBID_URL,
MANAGED_LLAMACPP_CONTAINER, MANAGED_LLAMACPP_PORT, MANAGED_LLAMACPP_URL,
MANAGED_OLLAMA_CONTAINER, MANAGED_OLLAMA_PORT, MANAGED_OLLAMA_URL, OLLAMA_DISCOVERY_PORTS,
Probe, ProbeStatus, ServiceKind, ServiceLaunch, docker_message, existing_url,
external_services_page, llama_base_url, normalize_grobid_url, normalize_http_url,
normalize_url, ollama_models, probe,
};
#[cfg(feature = "grobid")]
pub use services::{
GrobidContainerStatus, GrobidDockerStatus, GrobidProbe, GrobidProbeStatus, GrobidService,
GrobidServiceEvent,
};
pub use session_picker::{SessionPicker, SessionPickerEvent};
pub use setting_fields::{
Control, SettingRow, control, dirty_color, dirty_header, dropdown_control, number_control,
path_control, path_control_home, path_setting, switch_control, text_control, token_control,
token_slider,
};
pub use settings::{chat_settings, chat_settings_page};
pub use side_panel::SidePanel;
use gpui_kit::App;
pub fn init(cx: &mut App) {
gpui_kit::init(cx);
}