Skip to main content

starweaver_session/
lib.rs

1#![allow(clippy::significant_drop_tightening)]
2
3//! Shared durable session contracts for Starweaver.
4
5mod approval;
6mod background;
7mod claim;
8mod continuation;
9mod environment;
10mod error;
11mod evidence;
12mod host_events;
13mod input;
14mod interaction;
15mod management;
16mod model_selection;
17mod publication;
18mod records;
19mod resume;
20mod run_control;
21mod search;
22mod store;
23mod trace;
24
25pub use approval::{
26    ApprovalDecision, ApprovalRecord, ApprovalStatus, DeferredToolRecord, DeferredToolRequest,
27    DeferredToolRequests, DeferredToolResult, DeferredToolResults, ToolApprovalDecision,
28    ToolReturnRecordInput,
29};
30pub use background::{
31    AcquireBackgroundSubagentContinuation, BACKGROUND_SUBAGENT_RECORD_VERSION,
32    BackgroundSubagentArtifact, BackgroundSubagentArtifactLimits,
33    BackgroundSubagentContinuationCause, BackgroundSubagentContinuationReceipt,
34    BackgroundSubagentRecord, BackgroundSubagentTerminalCommit,
35    DEFAULT_BACKGROUND_RESULT_RETENTION_SECS, DurableBackgroundSubagentDeliveryClaim,
36    DurableBackgroundSubagentDeliveryRelease, DurableBackgroundSubagentDeliveryStatus,
37    DurableBackgroundSubagentExecutionStatus, DurableBackgroundSubagentOwnerLease,
38    DurableBackgroundSubagentResultRef, DurableBackgroundSubagentRetentionStatus,
39    background_subagent_input_digest, background_subagent_result_digest,
40};
41pub use claim::{
42    CONTINUATION_EFFECT_METADATA_KEY, ContinuationEffectOutcome, ContinuationEffectPhase,
43    ContinuationEffectState, HitlResumeAbortOutcome, HitlResumeClaim, HitlResumeClaimState,
44};
45pub use continuation::{
46    ContinuationPreparationError, ContinuationPreparationMode, PreparedContinuation,
47};
48pub use environment::{
49    AttachEnvironment, DetachEnvironment, DurableEnvironmentAttachment, DurableEnvironmentMount,
50    DurableEnvironmentMountStatus, DurableEnvironmentScope, DurableEnvironmentStatus,
51    ENVIRONMENT_ATTACH_OPERATION, ENVIRONMENT_DETACH_OPERATION, ENVIRONMENT_MOUNT_OPERATION,
52    ENVIRONMENT_UNMOUNT_OPERATION, EnvironmentAttachmentMutationResult, EnvironmentAttachmentPage,
53    EnvironmentAttachmentPageKey, EnvironmentAttachmentPageKeyProjection,
54    EnvironmentAttachmentQuery, EnvironmentHostEventContext, EnvironmentMountMutationResult,
55    EnvironmentMountQuery, EnvironmentMutationContext, EnvironmentMutationResult,
56    MAX_ENVIRONMENT_MOUNTS_PER_RUN, MAX_ENVIRONMENT_PAGE_SIZE, MountEnvironmentResource,
57    UnmountEnvironmentResource,
58};
59pub use error::{SessionStoreError, SessionStoreResult};
60pub use evidence::{RelatedRunUpdate, RunEvidenceCommit};
61pub use host_events::{
62    DurableHostEventClass, DurableHostEventPage, DurableHostEventQuery, DurableHostEventRecord,
63    DurableHostEventScope, EventPublicationKey, MAX_HOST_EVENT_PAGE_SIZE, MAX_HOST_EVENT_POSITION,
64    OutputAvailableProjection, PendingHostEventPublication, RunChangedProjection,
65    RunChangedSummary, append_authoritative_run_publications, output_available_publication,
66    run_changed_publication,
67};
68pub use input::{BinaryRef, FileRef, InputConversionError, InputPart};
69pub use interaction::{
70    APPROVAL_DECIDE_OPERATION, ASK_USER_QUESTION_ACTION, ApprovalMutationResult,
71    CLARIFICATION_ANSWERS_METADATA_KEY, CLARIFICATION_RESOLVE_OPERATION,
72    CLARIFICATION_RESPONSE_METADATA_KEY, ClarificationAnswer, ClarificationMutationResult,
73    ClarificationOption, ClarificationQuestion, ClarificationResolution,
74    DEFERRED_COMPLETE_OPERATION, DEFERRED_FAIL_OPERATION, DecideApproval, DeferredMutationOutcome,
75    DeferredMutationResult, InteractionMutationContext, ResolveClarification, ResolveDeferredTool,
76    validate_clarification_answers,
77};
78pub use management::{
79    AcquireRunAdmission, AgentDisplayPage, AgentReplayQuery, AgentRunListQuery, AgentRunPage,
80    AgentRunView, AgentSessionControlError, AgentSessionControlErrorCode, AgentSessionInclude,
81    AgentSessionListQuery, AgentSessionOperation, AgentSessionPage, AgentSessionQueryError,
82    AgentSessionQueryErrorCode, AgentSessionScope, AgentSessionView, CreateManagedSession,
83    DeleteManagedSession, DurableControlReceipt, InterruptManagedRun, LOCAL_SESSION_NAMESPACE,
84    ManagedRunTarget, ManagedSessionPatch, ManagedSessionTarget, RunAdmissionLease,
85    RunAdmissionReceipt, RunControlReceipt, RunStartReceipt, SessionContinuationFence,
86    SessionDeletionFence, SessionMutationReceipt, StartManagedRun, SteerManagedRun,
87    UpdateManagedSession,
88};
89pub use model_selection::{
90    DurableModelSelection, InitializeModelSelection, MODEL_SELECTION_OPERATION,
91    ModelSelectionMutationReceipt, MutationReceipt, SelectModel,
92};
93pub use publication::{
94    PendingStreamPublication, StreamPublicationTarget, StreamPublicationTargets,
95};
96pub use records::{
97    CheckpointRef, DurableRunStatus, EnvironmentStateRef, ExecutionStatus, QueuedRunStatus,
98    RunRecord, RunStatus, RunTerminalError, RunTerminalProjection, RunTerminalProjectionError,
99    SessionRecord, SessionStatus, StreamCursorRef, StreamCursorRefError,
100};
101pub use resume::SessionResumeSnapshot;
102pub use run_control::{
103    AdmitRunControl, DurableRunControlEffect, DurableRunControlIntent, DurableRunControlStatus,
104    deterministic_run_control_operation_id, deterministic_run_control_receipt_id,
105};
106pub use search::{
107    SessionSearchCapabilities, SessionSearchCheckpoint, SessionSearchConsistency,
108    SessionSearchCoverage, SessionSearchCoverageState, SessionSearchCursorBinding,
109    SessionSearchCursorCodec, SessionSearchDocument, SessionSearchError, SessionSearchFilter,
110    SessionSearchFilterKind, SessionSearchGranularity, SessionSearchHighlight, SessionSearchHit,
111    SessionSearchIndexError, SessionSearchIndexWriter, SessionSearchLocation,
112    SessionSearchMutation, SessionSearchMutationOperation, SessionSearchPage,
113    SessionSearchProvider, SessionSearchQuery, SessionSearchQueryMode, SessionSearchScope,
114    SessionSearchSnippet, SessionSearchSort, SessionSearchSource, SessionSearchSummary,
115    SessionSearchTimeRange, SessionSearchVisibility, SessionSearchWarning,
116    SessionSearchWarningKind,
117};
118pub use starweaver_core::SessionId;
119pub use store::{
120    InMemorySessionStore, InteractionPage, InteractionPageKey, InteractionPageQuery,
121    MAX_STABLE_PAGE_SIZE, SessionFilter, SessionPage, SessionPageKey, SessionPageQuery,
122    SessionStore, SessionStoreExecutor,
123};
124pub use trace::{CompactRunTrace, CompactSessionTrace};
125
126#[cfg(test)]
127mod tests;