1#![warn(missing_docs)]
46
47#[cfg(feature = "adapter-acp")]
48pub use supercode_interchange::ontology;
51pub use supercode_interchange::orchestration;
53
54#[cfg(feature = "adapter-acp")]
55pub mod acp_frontend;
56#[cfg(feature = "adapter-acp")]
57pub mod acp_server;
58mod agent;
59pub mod agent_package;
60pub mod approvals;
61pub mod audit;
62pub mod background;
63pub mod browser;
64pub mod catalog;
65pub mod channels;
66pub mod checkpoint;
67pub mod claude_compat;
68pub mod claude_peer;
69pub mod claude_runtime_state;
70pub mod codex_peer;
71mod config;
72pub mod config_schema;
73pub mod configfile;
74pub mod context_injection;
75mod error;
76mod event;
77pub mod fidelity;
78pub mod formatters;
79#[cfg(feature = "adapter-api")]
80pub mod frontend;
81#[cfg(not(feature = "adapter-api"))]
82#[allow(dead_code)]
83mod frontend;
84#[allow(missing_docs)]
85mod frontend_contract_generated;
86pub mod git_metadata;
87pub mod goals;
88pub mod harness_auth;
89pub mod harness_command;
90#[cfg(feature = "adapter-api")]
91pub mod harness_service;
92#[cfg(not(feature = "adapter-api"))]
93#[allow(dead_code)]
94mod harness_service;
95pub mod hermes_import;
96pub mod human_export;
97pub mod interop_settings;
98pub mod jobs;
99pub mod jobs_control;
100pub mod jobs_notepad;
101pub mod live_runtime;
102pub mod lsp;
103pub mod mcp;
104pub mod mcp_oauth;
105pub mod memory;
106mod message;
107pub mod model_catalog;
108pub mod model_change;
109pub mod modules;
110mod native_materialize;
111pub mod orchestration_doors;
112pub mod orchestrator;
113pub mod orchestrator_door;
114pub mod output_style;
115pub mod parity;
116pub mod path_rules;
117pub mod permissions;
118pub mod plugins;
119pub mod presets;
120pub mod pricing;
121pub mod pricing_ref;
122pub mod profiles;
123pub mod profiles_control;
124mod provider;
125pub mod reduce;
126pub mod routes;
127pub mod runs;
128pub mod runtime;
129pub mod runtime_lease;
130#[cfg(feature = "adapter-api")]
131pub mod runtime_registry;
132mod safe_path;
133pub mod sandbox;
134pub mod schema;
135pub mod sdk;
136#[cfg(feature = "adapter-api")]
137pub mod server;
138#[cfg(not(feature = "adapter-api"))]
139#[allow(dead_code, unused_imports)]
140mod server;
141pub mod session;
142pub mod session_activity;
143pub mod session_index;
144pub mod session_journal;
145pub mod session_title;
146pub mod session_tree;
147pub mod sessions_control;
148pub mod sidecar;
149pub mod skills;
150pub mod skills_control;
151pub mod store;
152pub mod subagents;
153pub mod support;
154pub mod teams;
155pub mod tokens;
156pub mod tools;
157pub mod triggers;
158pub mod trust;
159pub mod tui;
160pub mod turn_record;
161pub mod usage_log;
162pub mod watch;
163pub mod workflow_doors;
164
165#[cfg(feature = "adapter-acp")]
166pub use acp_frontend::{AcpFrontendCheckpoint, AcpFrontendConnectOptions, AcpFrontendRuntime};
167pub use agent::{Agent, ContextUsage};
168pub use approvals::{
169 approval_harnesses, lists_approvals, plan_reply, ApprovalChoice, ApprovalDecision,
170 ApprovalDoor, ApprovalKind, ApprovalOption, ApprovalRegistry, ApprovalResolution,
171 ApprovalResolveError, ApprovalRow, ApprovalStatus, ApprovalsQuery, ApprovalsResolveParams,
172};
173pub use catalog::{
174 orchestrator_profile_dirs, DiscoveryPage, DiscoveryQuery, HarnessCatalog, HarnessHomes,
175 HarnessId, SessionDescriptor, SessionLocator, StorageLocator,
176};
177pub use channels::{
178 channel_status, list_channels, ChannelError, ChannelRow, ChannelStatus, CHANNELS_SCHEMA,
179 CHANNEL_HARNESSES,
180};
181pub use claude_peer::{
182 message_claude_peer, read_claude_peer_settings, read_registry as read_claude_peer_registry,
183 update_claude_peer_settings, user_settings_path as claude_user_settings_path,
184 write_claude_peer_settings, ClaudeCrossSessionInbound, ClaudePeerDelivery, ClaudePeerEndpoint,
185 ClaudePeerRefusal, ClaudePeerRefusalError, ClaudePeerSession, ClaudePeerSettings,
186 ClaudePeerSettingsError, ClaudePeerStatus, CourierRunner, ProcessCourierRunner,
187};
188pub use claude_runtime_state::{
189 ClaudeBackgroundChild, ClaudeBackgroundState, ClaudeCronJob, ClaudeQueueState,
190 ClaudeRuntimeManifest, ClaudeRuntimePosture, ClaudeRuntimeResidue, ClaudeWakeup,
191 CLAUDE_RUNTIME_MANIFEST_VERSION,
192};
193pub use config::{
194 project_root_for, ApprovalPolicy, CachePlan, Config, ConfigBuilder, ConfigFile, ConfigProfile,
195 ContextInjectionBlock, HookDecision, LifecycleEvent, LifecycleHook, PreToolOutcome,
196 SteeringMode, StopGateHook, ToolAdvertising, ToolOverride, ToolOverrideProfile,
197 DEFAULT_SYSTEM_PROMPT,
198};
199pub use configfile::HarnessConfig;
200pub use interop_settings::{
201 configure_harness_interop_settings, inspect_harness_interop_settings, HarnessAdvisorySeverity,
202 HarnessInteropAdvisory, HarnessInteropControl, HarnessInteropSettingsError,
203 HarnessInteropSettingsReport, HarnessSettingChange, HarnessSettingChoice,
204 HarnessSettingRecommendation, HarnessSettingScope, CLAUDE_CROSS_SESSION_INBOUND_KEY,
205 HARNESS_INTEROP_SETTINGS_SCHEMA,
206};
207pub use jobs::{
208 get_job, list_jobs, supports_jobs, JobDeliver, JobPayload, JobSchedule, JobScope, JobSource,
209 JobsListing, JobsQuery, ScheduledJob, CLAUDE_SESSION_SCAN_LIMIT, JOB_HARNESSES,
210};
211pub use jobs_control::{
212 harness_program, mutate, supports_job_control, JobControlError, JobDeliverSpec, JobMutation,
213 JobMutationOutcome, JobPayloadSpec, JobScheduleSpec, JobVerb, CONTROLLED_JOB_HARNESSES,
214};
215pub use jobs_notepad::{JobNotepad, JobNotepadEntry, JobNotepadRequest};
216pub use live_runtime::{
217 discover_live_runtime, find_live_runtime, forget_live_runtime, list_live_runtimes,
218 register_live_runtime, register_live_runtime_with_metadata, resolve_live_runtime,
219 LiveRuntimeEndpoint, LiveRuntimeMetadata, LiveRuntimeReceiptError, LiveRuntimeRecord,
220 LiveRuntimeRegistration, LiveRuntimeSource, LiveRuntimeSupervisor, ResolvedLiveRuntime,
221};
222pub use memory::{
223 search_memory, show_memory, supports_memory, MemoryDocument, MemoryError, MemoryMatch,
224 MemoryQuery, MemoryScope, MemorySearchQuery, MEMORY_HARNESSES, MEMORY_SCHEMA,
225};
226pub use modules::{ModuleActivation, ModuleId};
227pub use orchestrator::{
228 clear_lease, daemon_entry, install_service, live_lease, lock_path, read_lease, service_status,
229 service_unit, uninstall_service, write_lease, write_unit, Lease, OrchestratorError,
230 ServiceState, ServiceUnit, DAEMON_ENTRY, LOCK_FILE, SERVICE_DIR, SERVICE_NAME,
231};
232pub use orchestrator_door::{
233 daemon_is_live, socket_path, Door, DoorAnswer, DoorError, NODE_BIN_ENV, SOCKET_FILE,
234};
235pub use profiles::{
236 get_profile, list_profiles, ProfileError, ProfileKind, ProfileRow, HERMES_DEFAULT_PROFILE,
237 PROFILES_SCHEMA, PROFILE_HARNESSES,
238};
239pub use profiles_control::{
240 supports_profile_control, ProfileControlError, ProfileMutation, ProfileMutationOutcome,
241 ProfileVerb, CONTROLLED_PROFILE_HARNESSES,
242};
243pub use routes::{list_routes, RouteError, RouteMatch, RouteRow, ROUTES_SCHEMA, ROUTE_HARNESSES};
244pub use runs::{
245 get_run, list_runs, supports_runs, HarnessRun, RunDelivery, RunSource, RunsListing, RunsQuery,
246 RUN_HARNESSES,
247};
248pub use sessions_control::{
249 controlled_verbs, supports_session_control, SessionControlError, SessionDoor, SessionMutation,
250 SessionMutationOutcome, SessionVerb, CONTROLLED_SESSION_HARNESSES,
251};
252pub use teams::{
253 connector_service_name as teams_connector_service_name,
254 connector_service_status as teams_connector_service_status,
255 connector_service_unit as teams_connector_service_unit,
256 install_connector_service as install_teams_connector_service,
257 install_service as install_teams_service, service_status as teams_service_status,
258 service_unit as teams_service_unit, teams_entry, teams_home,
259 uninstall_connector_service as uninstall_teams_connector_service,
260 uninstall_service as uninstall_teams_service, write_unit as write_teams_unit, TeamsError,
261 SERVICE_DIR as TEAMS_SERVICE_DIR, SERVICE_NAME as TEAMS_SERVICE_NAME, TEAMS_ENTRY,
262};
263pub use triggers::{
264 list_triggers, TriggerError, TriggerKind, TriggerRow, TRIGGERS_SCHEMA, TRIGGER_HARNESSES,
265};
266
267pub fn format_reply(reply: &str, json: bool) -> String {
271 if json {
272 serde_json::json!({ "result": reply }).to_string()
273 } else {
274 reply.to_string()
275 }
276}
277pub use error::{Error, Result};
278pub use event::{AgentEvent, EventSink};
279pub use fidelity::{
280 core_messages, measure_fidelity, messages_equal, messages_equal_multimodal, replay_eligible,
281 Fidelity, FidelityMetric, FidelityResidue,
282};
283#[cfg(feature = "adapter-api")]
284pub use frontend::HttpFrontendRuntime;
285pub use frontend::{
286 FrontendActions, FrontendApprovalDecision, FrontendAttachSnapshot, FrontendAttachment,
287 FrontendCommandDescriptor, FrontendConnectionState, FrontendDisplayCapabilities,
288 FrontendElicitationAction, FrontendEvent, FrontendOperationDescriptor,
289 FrontendOperationInvocation, FrontendOperationKind, FrontendOperationResult, FrontendRequest,
290 FrontendRequestKind, FrontendResponse, FrontendRuntime, FrontendRuntimeDescriptor,
291 FrontendRuntimeError, FrontendRuntimeMetadata, FrontendTurnState, FRONTEND_REPLAY_CAPACITY,
292 FRONTEND_RUNTIME_SCHEMA_VERSION,
293};
294pub use frontend_contract_generated::{
295 FrontendFacadeMethod, FrontendFacadeTransport, GeneratedFrontendClient,
296};
297pub use harness_auth::{
298 harness_authentication_methods, harness_authentication_plan, inspect_harness_authentication,
299 HarnessAuthenticationEnvironment, HarnessAuthenticationError, HarnessAuthenticationInteraction,
300 HarnessAuthenticationLaunch, HarnessAuthenticationMethod, HarnessAuthenticationMethodId,
301 HarnessAuthenticationPlan, HarnessAuthenticationReport, HarnessAuthenticationState,
302 HarnessBrowserBehavior, HARNESS_AUTHENTICATION_SCHEMA,
303};
304pub use harness_service::{
305 DetachedAnswer, DetachedCall, HarnessSessionService, OpenedRuntime, ReturnedRuntime,
306 RuntimeOpen, DETACHED_CALL_DEADLINE, DETACHED_METHODS, HARNESS_SERVICE_VERSION,
307 RUNTIME_CONTROL_DEADLINE, RUNTIME_EVENT_METHOD, RUNTIME_OPEN_DEADLINE, RUNTIME_OPEN_METHODS,
308 SESSION_ACTIVITY_EVENT_METHOD, SESSION_DISCOVER_DEADLINE, SESSION_EVENT_METHOD,
309 SESSION_INDEX_EVENT_METHOD,
310};
311pub use message::{
312 is_tool_error, mark_tool_error, mark_tool_outcome_unknown, tool_outcome, ChatMessage,
313 FunctionCall, Role, ToolCall, ToolOutcome, TOOL_ERROR_METADATA_KEY,
314 TOOL_OUTCOME_UNKNOWN_METADATA_KEY,
315};
316pub use provider::{
317 model_context_limit, ChatRequest, OpenAiProvider, PromptTokensDetails, Provider, RetryLog,
318 RetryNotice, ToolSchema, Usage, SERVED_MODEL_KEY, UNKNOWN_MODEL_CONTEXT_FLOOR,
319};
320#[cfg(feature = "adapter-api")]
321pub use runtime::SupercodeHttpRuntimeBackend;
322pub use runtime::{
323 AcpRuntimeBackend, BearerToken, ClaudeCodeRuntimeBackend, CodexRuntimeBackend, HarnessEvent,
324 McpServerLaunch, OpenCodeRuntimeBackend, PiRuntimeBackend, ResolvedRuntimeConnection,
325 RuntimeAttachRequest, RuntimeBackend, RuntimeCapabilities, RuntimeConnectLaunch,
326 RuntimeConnection, RuntimeEndpoint, RuntimeHandle, RuntimeInput, RuntimeLaunch,
327 RuntimeStartRequest,
328};
329pub use runtime_lease::{
330 CoordinatedRuntime, CoordinatedRuntimeClient, RuntimeAuthorization, RuntimeClientId,
331 RuntimeControllerLease, RuntimeLeaseCoordinator, RuntimeLeaseError, RuntimeLeaseSnapshot,
332 RuntimeObserverLease, RuntimePermission, DEFAULT_RUNTIME_LEASE_TTL_MS,
333};
334#[cfg(feature = "adapter-api")]
335pub use runtime_registry::{
336 LocalRuntimeRegistry, RuntimeRegistryEntry, RuntimeRegistryEvent, RuntimeRegistryOwner,
337 RuntimeRegistryQuery, RuntimeRegistryState, RuntimeRegistryWatch,
338};
339pub use sandbox::{landlock_available, netns_available, SandboxEnvPolicy, SandboxEscalation};
340pub use sdk::{
341 create_agent, discover_session_page, discover_sessions, load_session, load_session_path,
342 resume_agent, show_model_input, submit_agent, submit_agent_with_images, RuntimeSubmitError,
343 SdkAgent, SdkCapabilities, SdkError, SdkErrorCode, SdkEvent, SdkOperation, SdkPromptSource,
344 SdkRequest, SdkRuntime, SdkRuntimeEvent, SdkService, SDK_SCHEMA_VERSION,
345};
346pub use server::RpcEngine;
347pub use session::{
348 CrossSurface, OrchestrationNouns, Recurrence, Session, SessionFormat, SessionMeta,
349 SessionSource, SurfaceKey, Trigger, WorkspaceKind, WorkspaceRef,
350};
351pub use session_activity::{
352 SessionActivity, SessionActivityEvidence, SessionPresence, SessionTurnState,
353};
354pub use session_index::{SessionIndexChange, SessionIndexDelta, SessionIndexKey};
355pub use skills::{
356 declared_skill_name, list_skills, skill_roots, writable_skill_roots, SkillHomes, SkillRow,
357 SkillScope, SkillsQuery, SKILL_HARNESSES,
358};
359pub use skills_control::{
360 mutate_skill, supports_skill_control, SkillControlError, SkillMutation, SkillMutationOutcome,
361 SkillVerb, CONTROLLED_SKILL_HARNESSES,
362};
363pub use store::{SessionInfo, SessionStore};
364pub use support::{
365 harness_support, harness_support_registry, HarnessSupportDescriptor, ImplementationKind,
366 NativeSupport, RuntimeSupport, SupportRegistryReport, SUPPORT_REGISTRY_SCHEMA,
367};
368pub use tools::{
369 shell_sandbox_unenforceable, SandboxPolicy, SchemaTier, Tool, ToolContext, ToolRegistry,
370 WriteObserver,
371};
372pub use watch::{SessionFollower, SessionSnapshotReason, SessionWatchEvent};