Unified artifact workspace for agent sessions, built on jido_shell + jido_vfs.
jido_workspace is a strict workspace library. It owns:
- Workspace state and artifact lifecycle
- Optional shell-session convenience bound to workspace id
- Snapshot/restore of workspace artifacts
It does not own:
- Provider orchestration
- Harness runtime policy/bootstrap
- Sprite workflow orchestration
Add jido_workspace to your list of dependencies in mix.exs:
def deps do
[
{:jido_workspace, "~> 0.1.0"}
]
end# Create a new workspace (in-memory VFS mounted at /)
workspace = Jido.Workspace.new()
# Work with artifacts
{:ok, workspace} = Jido.Workspace.write(workspace, "/hello.txt", "Hello, World!")
{:ok, "Hello, World!"} = Jido.Workspace.read(workspace, "/hello.txt")
{:ok, ["hello.txt"]} = Jido.Workspace.list(workspace, "/")
# Snapshot and restore
{:ok, snapshot_id, workspace} = Jido.Workspace.snapshot(workspace)
{:ok, workspace} = Jido.Workspace.delete(workspace, "/hello.txt")
{:ok, workspace} = Jido.Workspace.restore(workspace, snapshot_id)
# Run a shell command in the workspace
{:ok, output, workspace} = Jido.Workspace.run(workspace, "pwd")
# Cleanup
{:ok, workspace} = Jido.Workspace.close(workspace)- Unifies artifact lifecycle for an agent session
- Uses
Jido.Shell.VFSfor mount/routing - Uses
Jido.VFSadapter ecosystem for storage backends - Provides a single state struct for files + session context
- Use
Jido.Workspacewhen you need app-level stateful workspace operations: : artifact files, snapshots, and optional shell command execution tied to that workspace. - Use
Jido.Harness.Exec.Workspacewhen you need provider-runtime orchestration primitives: : provisioning/validation/bootstrap around coding-agent execution.
See HexDocs for full documentation.
Apache-2.0
- Core workspace suite:
mix test - Full quality gate:
mix quality - Keep scenario-heavy testing in
jido_workspace_scenarios