using Nexus.Api.Models; namespace Nexus.Api.Services; public interface IOpenClawRunService { Task GetAsync( OpenClawRunQuery query, CancellationToken cancellationToken = default); Task GetByIdAsync(Guid id, CancellationToken cancellationToken = default); Task StartAsync( StartOpenClawRunRequest request, OpenClawInvocationMetadata invocation, CancellationToken cancellationToken = default); Task StopAsync( Guid id, string? reason, OpenClawInvocationMetadata invocation, CancellationToken cancellationToken = default); Task ResumeAsync( Guid id, string? reason, OpenClawInvocationMetadata invocation, CancellationToken cancellationToken = default); Task RetryAsync( Guid id, string? reason, OpenClawInvocationMetadata invocation, CancellationToken cancellationToken = default); Task GetHistoryAsync( Guid id, int gatewayLimit = 200, CancellationToken cancellationToken = default); Task ReconcileAsync( GatewayEventEnvelope gatewayEvent, CancellationToken cancellationToken = default); }