Skip to main content
An agent declares the inputs it accepts as part of its spec. At run time, JoyStream validates what you supplied against that declaration.
To see what an agent accepts:

When something is missing

A run that lacks a required value does not guess and does not fail. It raises an input request and pauses. This matters for agents that run unattended. A scheduled run that hits a decision only a person can make surfaces that decision as a request rather than making it badly.

Request states

Submitting to a request that is already satisfied, cancelled, or expired is rejected rather than silently ignored.

Answering a request

Read the request before submitting — it names the fields and what each expects. Values are validated against the declaration, so a wrong shape is rejected with an error naming the problem rather than being passed through. When an agent has exactly one open request, you can address it by agent instead of by request id:
If there is no open request, or more than one, this errors instead of guessing.

Cancelling

The reason is recorded with the cancellation, so the run’s history explains why it stopped rather than just that it did.

During an interactive run

jstm agent run prints the exact show and submit commands when it hits a blocked request, so you can unblock without looking anything up.

See also