Expand description
Source adapters for VCS integration
This crate provides pluggable adapters for source control operations through
different version control systems and workflows. The core abstraction is the
SourceAdapter trait (unified from the former SubmitAdapter in v0.11.1),
with built-in implementations for Git and “none” fallback, plus external
plugin support for Perforce, SVN, and any community VCS (v0.13.5).
§External VCS plugins (v0.13.5)
Perforce and SVN adapters are now external plugins using the JSON-over-stdio protocol (same as channel plugins). Plugins are discovered from:
.ta/plugins/vcs/<name>/— project-local~/.config/ta/plugins/vcs/<name>/— user-globalta-submit-<name>on$PATH— bare executable fallback
Git remains built-in as the zero-configuration default.
Re-exports§
pub use adapter::CommitResult;pub use adapter::MergeResult;pub use adapter::PushResult;pub use adapter::ReviewResult;pub use adapter::ReviewStatus;pub use adapter::SavedVcsState;pub use adapter::SourceAdapter;pub use adapter::SyncResult;pub use adapter::SubmitAdapter;pub use config::check_disk_space_mb;pub use config::resolve_plan_path;pub use config::AgentProfile;pub use config::ApplyConfig;pub use config::AssetDiffConfig;pub use config::BuildConfig;pub use config::BuildOnFail;pub use config::CommitConfig;pub use config::ContextMode;pub use config::DiffConfig;pub use config::DraftReviewConfig;pub use config::GitConfig;pub use config::PerforceConfig;pub use config::PlanConfig;pub use config::SecurityConfig;pub use config::ShellConfig;pub use config::StagingConfig;pub use config::SubmitConfig;pub use config::SvnConfig;pub use config::SyncConfig;pub use config::TaLocalPaths;pub use config::TaPathConfig;pub use config::TaProjectPaths;pub use config::VcsAgentConfig;pub use config::VcsConfig;pub use config::VerifyCommand;pub use config::VerifyConfig;pub use config::VerifyOnFailure;pub use config::WorkflowConfig;pub use external_vcs_adapter::ExternalVcsAdapter;pub use git::GitAdapter;pub use messaging_adapter::discover_messaging_plugins;pub use messaging_adapter::find_messaging_plugin;pub use messaging_adapter::DiscoveredMessagingPlugin;pub use messaging_adapter::ExternalMessagingAdapter;pub use messaging_adapter::MessagingPluginManifest;pub use messaging_adapter::MessagingPluginSource;pub use messaging_plugin_protocol::CreateDraftParams;pub use messaging_plugin_protocol::DraftEnvelope;pub use messaging_plugin_protocol::DraftState;pub use messaging_plugin_protocol::DraftStatusParams;pub use messaging_plugin_protocol::FetchParams;pub use messaging_plugin_protocol::FetchedMessage;pub use messaging_plugin_protocol::MessagingPluginError;pub use messaging_plugin_protocol::MessagingPluginRequest;pub use messaging_plugin_protocol::MessagingPluginResponse;pub use messaging_plugin_protocol::MESSAGING_PROTOCOL_VERSION;pub use none::NoneAdapter;pub use perforce::PerforceAdapter;pub use registry::detect_adapter;pub use registry::enforce_section15;pub use registry::enforce_section15_plugin;pub use registry::known_adapters;pub use registry::select_adapter;pub use registry::select_adapter_with_sync;pub use social_adapter::DiscoveredSocialPlugin;pub use social_adapter::ExternalSocialAdapter;pub use social_adapter::SocialPluginManifest;pub use social_adapter::SocialPluginSource;pub use social_adapter::SocialSupervisorConfig;pub use social_adapter::SocialSupervisorResult;pub use social_plugin_protocol::CreateScheduledParams;pub use social_plugin_protocol::CreateSocialDraftParams;pub use social_plugin_protocol::SocialCapabilitiesParams;pub use social_plugin_protocol::SocialDraftStatusParams;pub use social_plugin_protocol::SocialHealthParams;pub use social_plugin_protocol::SocialPluginError;pub use social_plugin_protocol::SocialPluginRequest;pub use social_plugin_protocol::SocialPluginResponse;pub use social_plugin_protocol::SocialPostContent;pub use social_plugin_protocol::SocialPostState;pub use social_plugin_protocol::SOCIAL_PROTOCOL_VERSION;pub use svn::SvnAdapter;pub use vcs_plugin_manifest::discover_vcs_plugins;pub use vcs_plugin_manifest::find_vcs_plugin;pub use vcs_plugin_manifest::DiscoveredVcsPlugin;pub use vcs_plugin_manifest::VcsPluginError;pub use vcs_plugin_manifest::VcsPluginManifest;pub use vcs_plugin_manifest::VcsPluginSource;pub use vcs_plugin_protocol::PROTOCOL_VERSION;
Modules§
- adapter
- Core SourceAdapter trait and result types
- config
- Workflow configuration structures
- external_
vcs_ adapter - External VCS adapter — SourceAdapter implementation over JSON-over-stdio.
- git
- Git adapter for branch-based workflows with GitHub/GitLab PR creation
- messaging_
adapter - Messaging adapter plugin discovery and external plugin wrapper.
- messaging_
plugin_ protocol - JSON-over-stdio protocol types for external messaging adapter plugins.
- none
- “None” adapter - backwards-compatible fallback with no VCS operations
- perforce
- Perforce adapter stub — untested, contributed by AI.
- registry
- Adapter auto-detection registry and selection.
- social_
adapter - Social media adapter plugin discovery and external plugin wrapper.
- social_
plugin_ protocol - JSON-over-stdio protocol types for external social media adapter plugins.
- svn
- SVN adapter stub — untested, contributed by AI.
- vcs_
plugin_ manifest - VCS adapter plugin manifest (
plugin.toml) and discovery. - vcs_
plugin_ protocol - JSON-over-stdio protocol types for external VCS adapter plugins.