Skip to main content

beam_core/
lib.rs

1pub mod api;
2pub mod ask;
3pub mod config;
4pub mod i18n;
5pub mod ipc;
6pub mod paths;
7pub mod permissions;
8pub mod persist;
9pub mod schedule_parser;
10pub mod schedule_store;
11pub mod session;
12pub mod workflow;
13pub mod workflow_actions;
14pub mod workflow_binding;
15pub mod workflow_cold_scan;
16pub mod workflow_definition;
17pub mod workflow_orchestrator;
18pub mod workflow_output;
19pub mod workflow_projection;
20pub mod workflow_resume;
21pub mod workflow_run;
22pub mod workflow_runtime;
23pub mod workflow_sidecar;
24pub mod workflow_snapshot;
25
26/// Default terminal columns used by beam when creating zellij sessions
27/// and for reset-to-default resize operations (reference: botmux 160×50).
28pub const DEFAULT_TERMINAL_COLS: u16 = 160;
29
30/// Default terminal rows used by beam when creating zellij sessions
31/// and for reset-to-default resize operations.
32pub const DEFAULT_TERMINAL_ROWS: u16 = 50;
33
34pub use api::{
35    ApiHealth, AttemptResumeEndResponse, AttemptResumeRequest, AttemptResumeStartResponse,
36    BotSummary, CreateSessionRequest, DaemonOverview, DaemonRuntimeState, FinalOutputRequest,
37    RestartSessionRequest, ResumeSessionRequest, SessionGroup, SessionInputRequest,
38    SessionLocateInfo, SessionSummary, TerminalInfo,
39};
40pub use ask::{AskOption, AskQuestion, AskRequest, AskResult, legacy_selected};
41pub use config::{
42    BotConfig, Config, DaemonConfig, LarkConfig, MessageQuotaConfig, OncallChatBinding, QuotaEntry,
43    ScreenAnalyzerConfig, WebConfig,
44};
45pub use ipc::{
46    CliUsageLimitKind, CliUsageLimitState, DaemonToWorker, DisplayMode, FinalOutputKind,
47    InitConfig, ScreenStatus, TermActionKey, TuiPromptOption, WorkerToDaemon,
48};
49pub use paths::BeamPaths;
50pub use permissions::{
51    TalkEvaluation, TalkReason, can_operate, evaluate_talk, get_owner_open_id, grant_restricted,
52    is_owner,
53};
54pub use schedule_parser::{ParsedNaturalSchedule, parse_natural_schedule, parse_schedule};
55pub use schedule_store::{
56    CreateTaskInput, ParsedSchedule, ParsedScheduleKind, ScheduleChatType, ScheduleDeliver,
57    ScheduleRepeat, ScheduleStoreError, ScheduleTaskUpdate, ScheduledTask, append_output_log,
58    create_task, get_task, list_tasks, mark_run, remove_task, update_task,
59};
60pub use session::{
61    AdoptedFrom, ChatMode, PendingResponseCardState, Session, SessionScope, SessionStatus,
62};
63pub use workflow::{EventDraft, EventLog, WorkflowActor, WorkflowEventEnvelope};
64pub use workflow_actions::{
65    CompleteActivityCancelInput, CompleteNodeCancelInput, CompleteRunCancelInput, CreateWaitInput,
66    DeliverCancelInput, ExpireWaitInput, RequestCancelInput, ResolveWaitInput, WaitKind,
67    WaitOnTimeout, WaitResolution, complete_activity_cancel, complete_node_cancel,
68    complete_run_cancel, create_wait, deliver_cancel, expire_wait, request_cancel, resolve_wait,
69};
70pub use workflow_binding::{
71    BindingContext, BindingError, LoopContext, resolve_bindings, resolve_bound_string,
72};
73pub use workflow_cold_scan::{ColdScanStats, ColdWorkflowRun, scan_cold_workflow_runs};
74pub use workflow_definition::{
75    DecisionNode, HostExecutorNode, HumanGate, LoopNode, LoopOutputProjection, LoopTerminate,
76    ParamDef, RetryPolicy, SubagentNode, WorkflowDefaults, WorkflowDefinition, WorkflowNode,
77    parse_workflow_definition,
78};
79pub use workflow_orchestrator::{OrchestratorAction, decide_next_actions, topological_order};
80pub use workflow_output::{
81    WORKFLOW_OUTPUT_BEGIN, WORKFLOW_OUTPUT_END, parse_workflow_output,
82    with_workflow_output_protocol,
83};
84pub use workflow_projection::{
85    EventWindow, EventWindowOpts, event_seq_from_id, infer_run_status, read_event_window,
86    read_run_events_pure,
87};
88pub use workflow_resume::{
89    PriorReconcileRecoveryOutcome, ScheduleResumeOutcome, ScheduleResumeResult,
90    recover_prior_reconcile_result, resume_schedule_dangling_effects,
91};
92pub use workflow_run::{
93    BootstrapWorkflowRunInput, RunChatBinding, WorkflowOutputRef, WorkflowRunBootstrap,
94    bootstrap_workflow_run, mint_workflow_run_id, normalize_workflow_params,
95};
96pub use workflow_runtime::{
97    HostExecutorPrepareResult, RecoveryResult, RunLoopResult, RunLoopStopReason, RunTickResult,
98    WorkflowDispatchOutcome, WorkflowDispatchRun, WorkflowDispatchSession, WorkflowExecutionHooks,
99    WorkflowRuntimeContext, complete_node_failed, complete_node_succeeded, complete_run_failed,
100    complete_run_succeeded, derive_workflow_idempotency_key, dispatch_gate, dispatch_work,
101    finish_loop, finish_loop_iteration, get_host_executor_provider_meta, run_loop, run_tick,
102    start_loop, start_loop_iteration,
103};
104pub use workflow_sidecar::{load_effect_input_sidecar, write_effect_input_sidecar};
105pub use workflow_snapshot::{
106    ActivityState, ActivityStatus, AttemptIODTO, AttemptState, AttemptTerminalDTO, BlobPreviewDTO,
107    BotSnapshot, CancelIntent, DanglingSnapshot, EffectAttemptedState, LoopIterationState,
108    LoopIterationStatus, LoopSnapshotDTO, LoopState, LoopStatus, NodeState, NodeStatus,
109    ReconcileResultState, RunSnapshotDTO, RunState, RunStatus, WaitResolutionState, WaitState,
110    read_run_snapshot,
111};