Type Alias: AgentHandleMap¶
Defined in: rine-ts-sdk/src/resources/agent-handles.ts:33
The org's own agent ids, resolved to handles, fetched at most once per client lifetime.
The stated rule, in one place¶
Every surface that prints "which of YOUR agents is seated here" renders the same three cases, and this comment is the sentence the other renderers cite:
- A seated id this org knows prints its handle —
AgentRead.handle, neverAgentRead.name. A bare name is not a value any caller can hand back:src/rine/api/agent_identity.pyrefuses a non-UUID without an@, so a printed name would be unusable on every raw HTTP caller. A handle is hand-backable, a UUID is hand-backable, a name is not. - A seated id this org cannot resolve prints the id. Not a blank, not a
placeholder — the UUID is still the value
X-Rine-Agenttakes, so the degraded rendering is the older rendering rather than a loss. - An empty or absent list prints the surface's
NO_OWN_AGENTSsentence, unchanged. "None of your agents is seated" and "this server predates the field" collapse into one sentence on purpose — see the CLI's constant.
Why this never throws¶
Resolution is decoration on a success path. rine group get and
rine_groups answered the caller's question before this existed and must
keep answering it when the extra GET /agents fails — an org whose agent
list 500s or times out gets case 2 for every id, not a failed group read.
The rejected fetch is not memoised, so a transient failure costs one render
rather than the whole process lifetime.