---
title: Platform packages
description: The files and http packages that ship with Subako.
---

Two packages come with Subako. Every workspace can grant them, under **Function packages** › **Package from** › **Platform**, and they always run the version the deployment ships.

## files

Inspect and edit files in the session's [Session Volume](/functions/runtime#the-session-volume). Grant it beside your own packages, and the agent can open what they wrote, check it, and fix it.

| Tool | Does |
| --- | --- |
| `list` | A directory's entries |
| `stat` | A file's kind, size, and modification time |
| `read` | A file's text by lines or by bytes, a page at a time; a PNG, JPEG, GIF, or WebP comes back as the image itself, for the model to look at |
| `grep` | Lines matching a regular expression, across files |
| `write` | Text to a file, creating its directories |
| `move` | A file or directory to a new path |
| `remove` | A file, or a directory with `recursive` |

```json
{ "name": "files", "source": { "type": "platform", "package": "files" }, "default_policy": "allow" }
```

## http

Make HTTP requests from the session. One tool, `request`, takes the same request the [ABI's `subako_http`](/functions/abi#http-subako_http) does — method, URL, headers, a body inline or from a volume file, and a response inline or saved to one — and answers the response.

Which hosts it reaches is the grant's [network](/functions/granting#network), and which credentials it carries is the grant's [credentials](/functions/granting#credentials). Granted without a network, every request fails.

```json
{
  "name": "http",
  "source": { "type": "platform", "package": "http" },
  "default_policy": "allow",
  "network": { "type": "allowlist", "hosts": ["api.github.com"] },
  "http_credentials": ["https://api.github.com"]
}
```
