Skip to content

Service Interfaces API Reference

All control plane service interfaces are in the io.patternops.core.service package.

PipelineDefinitionModel

public interface PipelineDefinitionModel {
    ValidationResult<Pipeline> parse(String config);
    ValidationResult<Pipeline> validate(Pipeline pipeline);
    ResolutionResult resolveBindings(Pipeline pipeline, ProviderRegistry registry);
    String print(Pipeline pipeline);
}

Implementation: io.patternops.core.DefaultPipelineDefinitionModel

ProviderRegistry

public interface ProviderRegistry {
    RegistrationResult register(ProviderDescriptor descriptor);
    DeactivationResult deactivate(String providerId);
    BaseProviderContract resolve(String capability, TenancyContext context);
    BaseProviderContract resolveSubCapability(String capability, String subCapability, TenancyContext context);
    List<ProviderDescriptor> list(TenancyContext context);
    HealthStatus healthCheck(String providerId);
}

EchoService

public interface EchoService {
    StateTransitionResult transitionState(StateKey key, String targetState, String event);
    PipelineState getState(StateKey key);
    StateTransitionResult handleRestUpdate(StateUpdate update);
    StateTransitionResult handleWebhookCallback(WebhookPayload payload);
    StateTransitionResult handleEventBusMessage(PatternOpsEvent event);
    void persistMetric(MetricsEnvelope envelope);
    PaginatedResult<MetricsEnvelope> queryMetrics(MetricsFilter filter);
    void persistLineage(LineageEvent event);
    LineageGraph queryLineage(String dataset, LineageDirection direction);
    void publishEvent(PatternOpsEvent event);
    PaginatedResult<PatternOpsEvent> queryEvents(EventFilter filter);
    void persistQualityResult(QualityResult result);
    PaginatedResult<QualityResult> queryQuality(QualityFilter filter);
    RecoveryMetadata getRecoveryMetadata(StateKey key);
    String subscribe(WebhookSubscription subscription);
    void unsubscribe(String subscriptionId);
    DataContractVersion queryContract(String dataset);
    List<DataContractVersion> queryContractHistory(String dataset);
}

PolicyEngine

public interface PolicyEngine {
    List<PolicyDecision> evaluate(PipelineState state, List<MetricsEnvelope> metrics);
    void registerPolicy(PolicyDefinition policy);
    RetryDecision handleFailure(StageFailure failure);
    ScalingAction handleScalingTrigger(ScalingTrigger trigger);
    QualityAction handleQualityBreach(QualityBreach breach);
    CatchUpPlan scheduleCatchUp(String pipeline, String fromDate, String toDate);
}

IntakeService

public interface IntakeService {
    AcquisitionResult acquire(Pipeline pipeline, Stage stage);
    void checkpoint(String executionId);
    AcquisitionResult resume(String executionId, CheckpointState checkpoint);
}

PathwayService

public interface PathwayService {
    TransformResult transform(Pipeline pipeline, Stage stage, DataReference input);
    ExecutionStrategy resolveExecutionStrategy(Stage stage, ComputePlatformProfile profile);
}

MCPLayer

public interface MCPLayer {
    MCPToolCatalog discover();
    MCPResult invoke(String toolName, Map<String, Object> params, Identity identity);
    SafetyClass getSafetyClass(String toolName);
}

DocumentationEngine

public interface DocumentationEngine {
    DocumentationBundle generate(Pipeline pipeline, DocumentationContext context);
    DocumentationBundle regenerate(Pipeline pipeline, List<String> changedSources);
    DashboardBundle generateDashboards(ComputePlatformProfile profile);
}

IndependentStageExecutor

public interface IndependentStageExecutor {
    StageExecutionResult executeStage(String pipeline, String stageName, DataReference input, ExecutionMode mode);
    PartialExecutionResult executePartial(String pipeline, String fromStage, String toStage, DataReference input);
    StageExecutionResult replayStage(String pipeline, String stageName, String runId);
}

BuildSystem

public interface BuildSystem {
    DistributionArtifact compile(DistributionProfile profile);
    ProfileValidationResult validateProfile(DistributionProfile profile);
    DependencyGraph resolveDependencies(DistributionProfile profile);
    DistributionArtifact incrementalCompile(List<String> changedModules, DistributionProfile profile);
}

MigrationAccelerator

public interface MigrationAccelerator {
    DiscoveryResult scan(List<SignalSource> sources);
    SampleResult sample(DiscoveredSource source, int sampleSize);
    OperationalProfile parseLogs(List<LogSource> logSources);
    List<GeneratedPipeline> generatePipelines(DiscoveryResult discovery);
    MigrationAssessment assessMigration(DiscoveryResult discovery);
}

AgentPipelineConstructor

public interface AgentPipelineConstructor {
    AnalysisResult analyse(List<InputSignal> signals);
    GeneratedPipelinePresentation generate(AnalysisResult analysis);
    GeneratedPipelinePresentation refine(GeneratedPipeline pipeline, UserFeedback feedback);
    ValidationResult<Pipeline> validate(Pipeline pipeline);
}