Você pode fornecer arquivos ao seu agente fazendo upload deles por meio da Files API e montando-os no sandbox da sessão.
Primeiro, faça upload de um arquivo usando a Files API:
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Monte os arquivos enviados no sandbox adicionando-os ao array resources ao criar uma sessão:
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)Com o mount_path anterior, o agente lê o arquivo em /mnt/session/uploads/data.csv (consulte Caminhos de arquivo).
Um novo file_id é criado referenciando a instância do arquivo na sessão. Essas cópias não contam para seus limites de armazenamento.
Monte múltiplos arquivos adicionando entradas ao array resources:
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/src/main.py"},
]Um máximo de 500 arquivos é suportado por sessão.
Você pode adicionar ou remover arquivos de uma sessão após a criação usando a API de recursos da sessão. Cada recurso tem um id retornado quando é adicionado (ou listado), que você usa para exclusões.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Liste todos os recursos de uma sessão com resources.list. Para remover um arquivo, chame resources.delete com o ID do recurso:
listed = client.beta.sessions.resources.list(session.id)
for entry in listed.data:
print(entry.id, entry.type)
client.beta.sessions.resources.delete(resource.id, session_id=session.id)Use a Files API para listar arquivos com escopo de uma sessão e baixá-los.
# Listar arquivos associados a uma sessão
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# Baixar um arquivo
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")O agente pode trabalhar com qualquer tipo de arquivo, incluindo:
.py, .js, .ts, .go, .rs, entre outros).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - o agente pode extraí-los usando bashmount_path de /data.csv coloca o arquivo em /mnt/session/uploads/data.csv no sandboxmount_path, o arquivo é colocado em /mnt/session/uploads/<file_id>/)Was this page helpful?