Перейти к содержимому

Чтение и запись файлов

files.write создаёт файл или заменяет его содержимое. Недостающие родительские каталоги создаются автоматически. По умолчанию files.read возвращает текст.

Один файл

mjs
import { Sandbox } from "@abox-dev/sdk";

const sandbox = await Sandbox.create();

try {
  await sandbox.files.write("/tmp/message.txt", "hello from AgentBox");
  const message = await sandbox.files.read("/tmp/message.txt");
  console.log(message);
} finally {
  await sandbox.kill();
}

Для двоичных данных передайте { format: "bytes" } в JavaScript или format="bytes" в Python. Оба SDK также умеют читать большие файлы потоком.

Несколько файлов

Чтобы отправить несколько файлов одной операцией, используйте writeFiles в JavaScript или write_files в Python:

mjs
import { Sandbox } from "@abox-dev/sdk";

const sandbox = await Sandbox.create();

try {
  await sandbox.files.writeFiles([
    { path: "/tmp/notes/first.txt", data: "First note" },
    { path: "/tmp/notes/second.txt", data: "Second note" },
  ]);

  const entries = await sandbox.files.list("/tmp/notes");
  console.log(entries.map((entry) => entry.name).join(", "));
} finally {
  await sandbox.kill();
}

files.list возвращает содержимое каталога. Для остальных обычных операций используйте makeDir / make_dir, rename и remove.