adk_computer_use/contracts/mod.rs
1//! camelCase wire contracts for `computer-use-mcp`.
2//!
3//! These types round-trip the JSON payloads shared with the TypeScript runtime
4//! and enforce disclosure-safe invariants on deserialization (digest-only
5//! postconditions, value-free sensitivity evidence, bounded approval scopes).
6//! They carry no desktop-actuation logic — the `computer-use-mcp` server remains
7//! authoritative for policy, identity, leases, and idempotency.
8//!
9//! The submodules group related contracts:
10//!
11//! - [`action`] — action classification, resource context, provenance,
12//! postconditions, and the [`ActionEnvelope`]
13//! - [`target`] — target evidence and value-free sensitivity signals
14//! - [`approval`] — disclosure-safe [`ApprovalGrant`] scopes
15//! - [`receipt`] — capabilities, policy decisions, previews, and receipts
16//! - [`lease`] — one-writer control leases and target reservations
17//! - [`session`] — session lifecycle, events, follow-ups, and deletion results
18//! - [`safety`] — the versioned cross-runtime safety corpus
19
20pub mod action;
21pub mod approval;
22pub mod lease;
23pub mod receipt;
24pub mod safety;
25pub mod session;
26pub mod target;
27
28pub use action::{
29 ActionClass, ActionEnvelope, ActionPostcondition, ActionProvenance, ActionResourceContext,
30 ExecutionMode,
31};
32pub use approval::{ApprovalGrant, ApprovalGrantScope};
33pub use lease::{ControlLease, LeaseBoundaries, TargetReservation, TargetReservationScope};
34pub use receipt::{
35 ActionPreview, ExecutionCapability, ExecutionReceipt, PolicyDecision, ReceiptStatus,
36};
37pub use safety::{SafetyCorpus, SafetyExpectation, SafetyScenario};
38pub use session::{
39 PostconditionEvidence, RuntimeSession, SessionCompletionEvidence, SessionDeletionResult,
40 SessionEvent, SessionFollowUp, SessionFollowUpPage,
41};
42pub use target::{
43 Bounds, TargetEvidence, TargetSensitivityAssessment, TargetSensitivityEvidence,
44 TargetSensitivitySignal, TargetSensitivitySource,
45};