Você pode fornecer arquivos ao seu agente fazendo upload deles através da Files API e montando-os no sandbox da sessão.
Todas as requisições à Managed Agents API exigem o cabeçalho beta managed-agents-2026-04-01. O SDK define o cabeçalho beta automaticamente.
Primeiro, faça upload de um arquivo usando a Files API:
file = client.beta.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:
O mount_path é opcional, mas certifique-se de que o arquivo enviado tenha um nome descritivo para que o agente possa identificá-lo.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/workspace/data.csv",
},
],
)Um novo file_id é criado que referencia 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": "/workspace/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py"},
]Um máximo de 100 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 f in files:
print(f.id, f.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 e outros).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - o agente pode extraí-los usando bashArquivos montados no sandbox são cópias somente leitura. O agente pode lê-los, mas não pode modificar o arquivo original enviado. Para trabalhar com versões modificadas, o agente escreve em novos caminhos dentro do sandbox.
/)Was this page helpful?