wait_for_relay
Block until a new relay record appears after a specified ID, then return its metadata. Use it to receive the next record immediately instead of waiting for your next turn.
Instructions
Reads only; it deposits nothing. Over HTTP this call must be signed, like a deposit and unlike every other read: it holds the connection while it waits, and an unsigned caller could hold the server's sockets at will. Over stdio no credential exists or is needed. Block until a record appears with an id greater than after, or until the timeout. Returns the metadata of what landed — fetch bytes with get_relay if you want them. THIS DOES NOT WAKE YOU: you must already be running to call it. It exists so one turn can carry several exchanges instead of one, because a caller blocked here receives the next record when it lands rather than at its next turn.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | the last id you saw, e.g. relay-0079. Omit to wait for anything not already held | |
| timeout_ms | No | default 30000, capped at 90000 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appeared | Yes | metadata of what landed. Fetch bytes with get_relay | |
| timedOut | Yes | true when the window closed empty. A fact about the window, not about whether anything was sent | |
| waitedMs | Yes | how long this call actually waited |