Skip to main content
POST
Expand one command file into text

Authorizations

Authorization
string
header
required

Enforced on every transport, with no exempt operation. A person's request — over the default local unix socket exactly as over a TCP listener — must carry a JWT issued by the configured identity provider, which the host verifies itself against that issuer's key set: signature, issuer, expiry, and the person and organisation it names. Requests without a valid one receive 401 NRY-0011. The socket's file permissions are transport and are not an authorisation.

Path Parameters

name
string
required

The command's name — what "/" reaches it by.

Maximum string length: 128
Pattern: ^[^\s/\\]+$

Body

application/json

What to expand a skill or a command file against: the repository the work is happening in, and whatever the person typed after the name.

repository
string

Absolute path of the repository, which decides which rungs are read and — for a command — where its shell blocks run and whether they may. A hosted home runs no shell block. On a hosted home it resolves under the home's workspace, and a path outside it is refused 422.

Maximum string length: 4096
sessionId
string<uuid>

The conversation to expand against, in place of repository (LadderSessionParam): for one whose code lives in an environment, the clone's skill or command is read there and a command's shell blocks run there, never on this host, starting its stopped container first. Naming both is refused 400. An expansion is a read of that conversation: a colleague's of a shared one is in its disclosure audit before any text comes back, and refused when that record cannot be written (listSessionDisclosures).

arguments
string

Everything typed after the name, verbatim. A command file's $ARGUMENTS and $1..$9 are filled from it, AFTER its shell blocks have already run, so text pasted here can never become a block.

Maximum string length: 65536

Response

The expanded text.

The text one expansion produced, ready to be put in front of a person. It is never sent anywhere on their behalf: the whole point of expanding into a composer is that somebody reads what a file wrote in their name before a model does.

text
string
required