summaryrefslogtreecommitdiff
path: root/src/marlin.agents.shell/IArtifactStore.cs
blob: 2d6338c4230c3eb1c15f8e4dc493820f5950011a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace marlin.agents.shell;

public interface IArtifactStore
{
    /// Extracts given artifacts into shared flat blob storage
    Task Stow(Guid jobId, string stepId, string artifactId, string basePath, string glob);
    
    /// Constructs virtual directory structure to access a given artifact
    Task<IArtifactAccessHandle> Access(Guid jobId, string stepId, string artifactId);
}

public interface IArtifactAccessHandle : IDisposable
{
    public string Path { get; }
}