Limits

LimitValue
Action calls per minute per organization (actions.rpm)300
Call time limit (timeout_ms)Up to 60 seconds; the action's own default otherwise
Call request body1 MiB
Connections named in one call8
Search results per request50
Memory of a JavaScript actionSet per action by the pack, 128 MB by default

A JavaScript action that runs out of memory is stopped and fails with action_memory_exceeded; the same input fails the same way.

FAQ

No. Credentials live in the vault and are added to requests at the egress proxy, only for the hosts the pack declares. The action's template, a JavaScript action's code, your agent, the model and the logs never see them.

B3OS retries only pure and read actions on its own, because repeating a write can repeat its effect. Send an Idempotency-Key and retry yourself; packs that support it pass the key to the service.

pure computes from its input only, read reads from the world, write changes it, and irreversible changes it in a way that cannot be undone. They decide retries and the hints MCP clients show, such as readOnlyHint and destructiveHint.

Not yet. In the beta only first-party B3OS packs are published. For your own API, a routine's core/http@1 step covers requests that need no credential.

No. Each pack declares every host it may reach, the egress guard enforces the list on every request, and a version that adds a host is a major version.

Make it a step: uses: <namespace>/<pack>/<action>@<version>, the input as with, and the credentials bound under connections. See definitions.

Ask a question... ⌘I