Skip to main content

arcp_runtime/runtime/
mod.rs

1//! ARCP runtime — the server side of the protocol.
2//!
3//! Phase 2 ships:
4//!
5//! - [`server::ARCPRuntime`] — accepts a [`Transport`][arcp_core::transport::Transport],
6//!   drives the four-step handshake (RFC §8.1), and dispatches subsequent
7//!   envelopes by exhaustive match on [`MessageType`][arcp_core::messages::MessageType].
8//! - [`session::SessionState`] — tracked per-session bookkeeping.
9//!
10//! Job state machines, streams, subscriptions, leases, and artifacts land
11//! in Phases 3–5.
12
13pub mod artifact;
14pub mod context;
15pub mod credentials;
16pub mod job;
17pub mod server;
18pub mod session;
19pub mod subscription;
20pub mod tools;
21
22pub use arcp_core::messages::{CredentialId, CredentialScheme, ProvisionedCredential};
23pub use artifact::ArtifactStore;
24pub use context::ToolContext;
25pub use credentials::{
26    CredentialJobContext, CredentialLedger, CredentialProvisioner, InMemoryCredentialProvisioner,
27};
28pub use job::{JobEntry, JobRegistry, JobState};
29pub use server::{ARCPRuntime, RuntimeBuilder};
30pub use session::SessionState;
31pub use subscription::{FilteredReceiver, SubscriptionManager};
32pub use tools::{ToolHandler, ToolRegistry, ToolRegistryBuilder};