from dataclasses import dataclass
from pydantic_ai import Agent
from pydantic_ai_backends import create_console_toolset
from mirage import MountMode, Workspace
from mirage.agents.pydantic_ai import PydanticAIWorkspace, build_system_prompt
from mirage.resource.ram import RAMResource
ws = Workspace({"/": RAMResource()}, mode=MountMode.WRITE)
backend = PydanticAIWorkspace(ws)
@dataclass
class Deps:
backend: PydanticAIWorkspace
agent = Agent(
"openai:gpt-4.1",
system_prompt=build_system_prompt(
mount_info={"/": "In-memory filesystem (read/write)"},
),
deps_type=Deps,
toolsets=[create_console_toolset()],
)
result = agent.run_sync(
"Create /hello.txt with 'hi' and cat it.",
deps=Deps(backend=backend),
)
print(result.output)