Files
nexus/backend/Services/IAgentProposalService.cs
T
AzuTear f5552218bc
CI - Build & Test / Backend (.NET) (push) Successful in 42s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 2m46s
CI - Build & Test / Security Check (push) Successful in 3s
CI - Build & Test / Deploy Nexus (push) Successful in 56s
feat: ship agent-first mission control v0.2.57
2026-07-31 22:39:47 +02:00

65 lines
2.0 KiB
C#

using Nexus.Api.Models;
namespace Nexus.Api.Services;
public interface IAgentProposalService
{
Task<AgentCreateOptionsDto> GetCreateOptionsAsync(
CancellationToken cancellationToken = default);
Task<AgentProposalCollectionDto> GetAsync(
int limit = 50,
string? cursor = null,
string? status = null,
CancellationToken cancellationToken = default);
Task<AgentProposalDto?> GetByIdAsync(
Guid id,
bool includeFileContent = true,
CancellationToken cancellationToken = default);
Task<AgentProposalOperationDto> CreateAsync(
CreateAgentProposalRequest request,
string source,
OpenClawInvocationMetadata invocation,
CancellationToken cancellationToken = default);
Task<AgentProposalOperationDto> ApproveAsync(
Guid id,
AgentProposalActionRequest request,
OpenClawInvocationMetadata invocation,
CancellationToken cancellationToken = default);
Task<AgentProposalOperationDto> RejectAsync(
Guid id,
AgentProposalActionRequest request,
OpenClawInvocationMetadata invocation,
CancellationToken cancellationToken = default);
Task<AgentProposalOperationDto> RetryAsync(
Guid id,
AgentProposalActionRequest request,
OpenClawInvocationMetadata invocation,
CancellationToken cancellationToken = default);
/// <summary>
/// Converts requests left at a dispatch boundary by a prior process into a
/// conservative state. It never calls agents.create.
/// </summary>
Task RecoverInterruptedRequestsAsync(
CancellationToken cancellationToken = default);
/// <summary>
/// Processes at most one explicitly queued request. Returns false when no
/// work was available.
/// </summary>
Task<bool> ProcessNextAsync(CancellationToken cancellationToken = default);
}
public sealed class AgentProposalValidationException(
string field,
string message) : Exception(message)
{
public string Field { get; } = field;
}