Skip to main content

gate4agent_types/
lib.rs

1//! Pure data contracts shared by gate4agent engines and shells.
2
3mod adapter;
4mod capability;
5mod control;
6mod executable;
7mod history;
8mod id;
9mod input;
10mod readiness;
11mod resume;
12mod session_options;
13mod spec;
14
15pub use adapter::{
16    AdapterBinding, AdapterBindingError, AdapterFamily, AdapterId, AdapterIdError,
17    AdapterVerification, MAX_ADAPTER_REVISION_LEN,
18};
19pub use capability::{
20    validate_capability_models, CapabilityModelSummary, CapabilityProbeFailure,
21    CapabilityProbeRequest, CapabilitySnapshot, CapabilityValidationError, PendingCapabilityProbe,
22    CAPABILITY_MODELS_MAX, CAPABILITY_MODEL_ID_MAX_BYTES, CAPABILITY_MODEL_LABEL_MAX_BYTES,
23};
24pub use control::{
25    ActiveProviderTool, AgentInstanceId, ApprovalLevel, CommandEnvelope, CommandId,
26    ContextWindowUsage,
27    ControlCommand, ControlEffect,
28    ControlError, ControlEvent, ControlEventKind, ControlHealth, ControlObservation,
29    ControlSnapshot, EffectEnvelope, ForegroundAuthority, ForegroundProcess, ForegroundProcessKind,
30    ForegroundRequirement, ForegroundSnapshot, HostDecisionAuthority, HostRequestDecision,
31    HostRequestOutcome,
32    ObservationEnvelope, ObservationIgnoredReason,
33    OperationId, OperatorGateInput, OperatorGateKind, OperatorGateOption,
34    OperatorGateOptionSemantics, OperatorGateState, OperatorGateSubject, ProviderActivity,
35    ProviderAvailableCommand, ProviderConfigChoice, ProviderConfigOption,
36    ProviderConfigOptionKind,
37    ProviderEvent, ProviderEventValidationError,
38    ProviderInteraction, ProviderInteractionId, ProviderInteractionKind,
39    ProviderInteractionOption, ProviderInteractionOutcome, ProviderInteractionResponse,
40    ProviderInteractionResponseError,
41    ProviderInteractionResponseKind, ProviderInteractionStatus, ProviderInteractionTarget,
42    ProviderModeInfo, ProviderPlanPriority, ProviderPlanStatus, ProviderPlanStep,
43    ProviderRateLimitKind,
44    ProviderRuntimeCapability, ProviderRuntimePolicy, ProviderRuntimePolicyError,
45    ProviderSessionIdentity, ProviderSessionKey, ProviderSnapshot, ProviderSource,
46    ProviderSourceCursor, ProviderStopReason, ProviderSubagent, PtyScreenState, SessionGeneration,
47    SessionSnapshot,
48    SessionStatus, StartRequest, TerminalFrame, TerminalMouseProtocolEncoding, TerminalSize,
49    TokenUsage, TransportKind,
50    CONTROL_INSTANCE_IDENTITIES_CAPACITY, CONTROL_INSTANCE_IDENTITIES_MAX,
51    CONTROL_SESSIONS_MAX, FOREGROUND_PROCESS_NAME_MAX_BYTES,
52    OPERATOR_GATE_OPTIONS_MAX, OPERATOR_GATE_OPTION_TEXT_MAX_BYTES, OPERATOR_GATE_PATH_MAX_BYTES,
53    PROVIDER_AVAILABLE_COMMANDS_MAX, PROVIDER_CONFIG_OPTIONS_MAX,
54    PROVIDER_CONFIG_OPTION_CHOICES_MAX,
55    PROVIDER_EVENT_ID_MAX_BYTES, PROVIDER_EVENT_TEXT_MAX_BYTES, PROVIDER_EVENT_TOOLS_MAX,
56    PROVIDER_INGRESS_EVENTS_MAX, PROVIDER_INTERACTIONS_MAX, PROVIDER_INTERACTION_FAILURE_MAX_BYTES,
57    PROVIDER_INTERACTION_OPTIONS_MAX,
58    PROVIDER_INTERACTION_RESPONSE_MAX_BYTES, PROVIDER_MODE_CATALOG_MAX, PROVIDER_PLAN_STEPS_MAX,
59    PROVIDER_SESSION_LOCATOR_MAX_BYTES,
60    PROVIDER_SUBAGENTS_MAX, PTY_SCREEN_GATE_NAME_MAX_BYTES, TERMINAL_COLUMNS_MAX,
61    TERMINAL_ROWS_MAX, WORKING_DIRECTORY_MAX_BYTES,
62};
63pub use control::{validate_session_config_value_json, validate_session_control_id};
64pub use executable::normalize_executable_name;
65pub use history::{
66    validate_candidate_id, validate_history_error, validate_native_session_id,
67    HistoryCandidateSummary, HistoryMessageRecord,
68    HistoryMessageRole, HistoryOperation, HistoryQuery, HistorySessionRecord, HistorySnapshot,
69    NativeSessionCatalogEntry, NativeSessionCatalogPage, NativeSessionCatalogSummary,
70    NativeSessionCatalogScope, NativeSessionCatalogWindow, NativeSessionExternalGroup,
71    NativeSessionExternalGroupKind,
72    NativeSessionPreview, NativeSessionPreviewMessage,
73    SessionRecordPreview,
74    HistoryValidationError, PendingHistoryOperation, HISTORY_CANDIDATE_ID_MAX_BYTES,
75    HISTORY_DISCOVERY_LIMIT_MAX, HISTORY_ERROR_MAX_BYTES, HISTORY_MESSAGES_MAX,
76    HISTORY_MESSAGE_MAX_BYTES, HISTORY_MODEL_MAX_BYTES, HISTORY_SESSION_ID_MAX_BYTES,
77    HISTORY_TITLE_MAX_BYTES, NATIVE_SESSION_CATALOG_LIMIT_MAX,
78    NATIVE_SESSION_EXTERNAL_GROUP_ID_MAX_BYTES, NATIVE_SESSION_EXTERNAL_GROUP_LABEL_MAX_BYTES,
79    NATIVE_SESSION_PREVIEW_MESSAGE_LIMIT_MAX, NATIVE_SESSION_PREVIEW_TEXT_MAX_BYTES,
80};
81pub use id::{AgentId, AgentIdError};
82pub use input::{
83    normalize_semantic_prompt, prepare_agent_command, prepare_input, prepare_input_with_limits,
84    prepare_shell_command, sanitize_prompt_text, AgentCommand, InputAction, InputPrepareError,
85    PreparedInput, PreparedInputKind, PreparedWrite, PreparedWriteKind, PromptFraming,
86    PromptPayload, ShellCommand, TerminalControl, TerminalText, BRACKETED_PASTE_END,
87    BRACKETED_PASTE_START, SEMANTIC_PROMPT_MAX_BYTES, TERMINAL_INPUT_CHUNK_MAX_BYTES,
88    TERMINAL_INPUT_MAX_BYTES, TERMINAL_SUBMIT_DELAY_MS, TERMINAL_WRITE_DELAY_MAX_MS,
89};
90pub use readiness::{AgentReadinessSpec, DraftReadySignal};
91pub use resume::{
92    validate_resume_error, PendingResumeOperation, ResumeAuthorityTarget, ResumeLaunchRequest,
93    ResumePhase, ResumeSessionSummary, ResumeSnapshot, ResumeTarget, ResumeValidationError,
94    RESUME_ERROR_MAX_BYTES,
95};
96pub use session_options::{
97    SessionOptionSelection, SessionOptionValidationError, SessionOptionValue,
98    SESSION_OPTION_ID_MAX_BYTES, SESSION_OPTION_VALUES_MAX, SESSION_OPTION_VALUE_MAX_BYTES,
99};
100pub use spec::{
101    AcpTransportSpec, AgentAdapterCapabilities, AgentCapabilities, AgentCommandMode, AgentSpec,
102    AgentTransportCapabilities, DetectionSpec, InitialPromptMode, LaunchSpec, NativeDraftMode,
103    PipePromptDelivery, PipeProtocol, PipeTransportSpec, ProcessMatcher, PromptSpec,
104    RuntimePlatform, SpecVerification,
105};