Skip to main content

ag_session/
lib.rs

1//! Frontend-neutral session management API and shared session models.
2//!
3//! Host applications implement [`SessionBackend`] to connect the stable
4//! programmatic API to their persistence, agent, Git, and forge workflows.
5//! Callers such as future orchestrator sessions use [`SessionService`] without
6//! depending on terminal UI state.
7
8mod error;
9mod message;
10mod model;
11mod orchestration;
12mod personality;
13mod project;
14mod question;
15mod review;
16mod service;
17mod setting;
18mod transcript_notice;
19
20pub use error::SessionError;
21pub use message::{
22    SessionMessage, SessionMessageKind, SessionMessageKindParseError, SessionTranscript,
23    normalized_message_content, stored_message_content,
24};
25pub use model::{
26    ForgeKind, PermissionMode, ReviewRequest, ReviewRequestState, ReviewRequestSummary, Session,
27    SessionId, SessionRole, SessionSettings, SessionStatus, SpeedMode,
28    activity_day_key_with_offset,
29};
30pub use orchestration::{
31    IntegrationApproach, MAX_AUTOMATED_REVIEW_ITERATIONS, OrchestrationPlanTask,
32    OrchestrationPolicy, OrchestrationScheduleDecision, OrchestrationStatus, OrchestrationTaskKind,
33    OrchestrationTaskStatus, validate_subtasks,
34};
35pub use personality::{
36    PERSONALITY_PROMPT_MAX_BYTES, Personality, PersonalityParseError, PersonalitySummary,
37    parse_agent_definition, parse_agent_summary,
38};
39pub use project::{
40    Project, ProjectListItem, mru_project_order, ordered_project_items, project_name_from_path,
41};
42pub use question::{QuestionItem, default_option_index};
43pub use review::{FocusedReviewStatus, has_actionable_review_suggestions, review_suggestions};
44pub use service::{
45    AnswerQuestionsRequest, CoordinatorMessageRequest, CoordinatorMessageVisibility,
46    CreateSessionMode, CreateSessionRequest, QuestionAnswer, SessionBackend, SessionService,
47};
48pub use setting::{
49    DEFAULT_AUTO_APPROVE_ORCHESTRATION_RESEARCH, DEFAULT_ORCHESTRATION_PARALLELISM,
50    MAX_ORCHESTRATION_PARALLELISM, SettingName,
51};
52pub use transcript_notice::TranscriptNotice;