/// <summary>
    /// Executes a GraphQL query and makes attachments available.
    /// </summary>
    public static async Task <AttachmentExecutionResult> ExecuteWithAttachments(
        this IDocumentExecuter executer,
        ExecutionOptions options,
        IIncomingAttachments?attachments = null)
    {
        await using var attachmentContext = BuildAttachmentContext(attachments);
        options.SetAttachmentContext(attachmentContext);
        var result = await executer.ExecuteAsync(options);

        return(new(result, attachmentContext.Outgoing));
    }