A workspace client which will append/remove workspaces from the given subscription.
A workspace client which will append/remove workspaces from the given subscription.
This is meant to work along side agora.exec.client.RemoteRunner which may specify match criteria based on a workspace.
an underlying workspace client to actually do the work we're proxying
the exchange where the subscriptions should be updated
An interface for workspaces to use when writing down files
A RunProcess may depend on some files being uploaded/available.
A RunProcess may depend on some files being uploaded/available. UploadDependencies represents those dependencies so that a agora.exec.workspace.WorkspaceClient can wait on those being available, allowing the uploading of files to be asynchronous/separate from running commands which operate on those files
the workspace in which the dependencies are expected to be uploaded. To.
the filenames expected to be uploaded
the time to wait for the dependencies to become available
Represents something which can manage a 'workspace'.
Represents something which can manage a 'workspace'. The 'workspace' can be thought of as a workspace in terms of a single user's interactions with a the file system.
They may upload files, execute commands, etc within a working directory (the workspace).
They can also 'await' files to become available in that workspace.
trait for helping subclasses of WorkspaceClient just override the functions of interest
TODO - catch/propogate this in the execution routes
Workspace messages are sent to actors specific to a workspace: WorkspaceActor
Workspace messages are sent to actors specific to a workspace: WorkspaceActor
they are all routed through the owning WorkspaceEndpointActor
the directory to check