VFS Component¶
The Virtual Filesystem (VFS) component provides file operations in an isolated, session-scoped environment. Each session gets its own virtual filesystem that doesn't persist across samples.
Available Tools¶
| Tool | Description | Parameters |
|---|---|---|
read_file |
Read file content | file_path (string) |
write_file |
Write to file | file_path (string), content (string) |
list_files |
List all files | None |
delete_file |
Delete a file | file_path (string) |
Need another builtin tool?
If you need a generic tool that would see wide use, open an issue to request it.
Configuration¶
config.yaml
generation:
tools:
spin_endpoint: "http://localhost:3000"
components:
builtin: # Routes to /vfs/execute
- read_file
- write_file
- list_files
Builtin Component
The builtin component maps to VFS tools and routes to /vfs/execute. List specific tools or omit the list to include all builtin tools.
Seeding Initial Files¶
Pre-populate files for scenarios:
config.yaml
generation:
tools:
spin_endpoint: "http://localhost:3000"
components:
builtin:
- read_file
- write_file
- list_files
scenario_seed:
files:
"main.py": |
def greet(name):
return f"Hello, {name}!"
if __name__ == "__main__":
print(greet("World"))
"config.json": |
{
"version": "1.0.0",
"debug": true,
"max_retries": 3
}
The agent can then read and modify these files during generation.
API Reference¶
Execute Tool¶
Execute request
POST /vfs/execute
Content-Type: application/json
{
"session_id": "sample-001",
"tool": "read_file",
"args": {"file_path": "config.json"}
}
Response Format¶
Error Types¶
| Error | Description |
|---|---|
FileNotFound |
File doesn't exist |
InvalidArguments |
Missing required parameter |
IOError |
Storage error |