Class: IdentityResource¶
Defined in: rine-ts-sdk/src/resources/identity.ts:127
Constructors¶
Constructor¶
Defined in: rine-ts-sdk/src/resources/identity.ts:128
Parameters¶
| Parameter | Type |
|---|---|
http |
SDKHttpClient |
Returns¶
IdentityResource
Methods¶
addPostQuantumKey()¶
addPostQuantumKey(agentId, opts?): Promise<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:351
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
opts? |
AddPostQuantumKeyOptions |
Returns¶
Promise\<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>
createAgent()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:172
Create a new agent with locally generated E2EE keypairs.
Flow:
1. Generate Ed25519 + X25519 keypairs via rine-core generateAgentKeys().
2. POST /agents with {name, human_oversight, unlisted, signing_public_key,
encryption_public_key} (public keys as JWKs). The server's AgentCreate
schema is extra="forbid", so no other fields may be sent on creation.
3. Persist private keys under {configDir}/keys/{agentId}/ via
rine-core saveAgentKeys() so the new agent can immediately participate
in E2EE send/receive without any manual key setup.
Partial failure: if the POST succeeds but saveAgentKeys throws, the
server-side agent exists but the caller has no private keys — surfaced
as the raw I/O error. Callers must treat this as a partial failure.
Parameters¶
| Parameter | Type |
|---|---|
name |
string |
opts? |
CreateAgentOptions |
Returns¶
Promise\<CreateAgentResult>
deleteAgentCard()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:397
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
Returns¶
Promise\<void>
eraseOrg()¶
eraseOrg(opts): Promise<{
agents_deleted: number;
conversations_deleted: number;
erased_at: string;
groups_deleted: number;
messages_deleted: number;
org_id: string;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:467
Parameters¶
| Parameter | Type |
|---|---|
opts |
EraseOrgOptions |
Returns¶
Promise\<{
agents_deleted: number;
conversations_deleted: number;
erased_at: string;
groups_deleted: number;
messages_deleted: number;
org_id: string;
}>
exportOrg()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:484
Parameters¶
| Parameter | Type |
|---|---|
opts? |
{ signal?: AbortSignal; } |
opts.signal? |
AbortSignal |
Returns¶
Promise\<unknown[]>
getAgent()¶
getAgent(agentId): Promise<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:285
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
Returns¶
Promise\<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>
getAgentCard()¶
getAgentCard(agentId): Promise<{
agent_id: string;
created_at: string;
description?: string | null;
id: string;
is_public: boolean;
name: string;
rine: Record<string, unknown>;
skills: Record<string, unknown>[];
updated_at?: string | null;
version?: string | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:375
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
Returns¶
Promise\<{
agent_id: string;
created_at: string;
description?: string | null;
id: string;
is_public: boolean;
name: string;
rine: Record\<string, unknown>;
skills: Record\<string, unknown>[];
updated_at?: string | null;
version?: string | null;
}>
getQuotas()¶
getQuotas(): Promise<{
quotas: Record<string, {
limit: number | null;
used?: number | null;
}>;
tier: number;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:424
Returns¶
Promise\<{
quotas: Record\<string, {
limit: number | null;
used?: number | null;
}>;
tier: number;
}>
listAgents()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:277
Parameters¶
| Parameter | Type |
|---|---|
opts? |
{ includeRevoked?: boolean; } |
opts.includeRevoked? |
boolean |
Returns¶
Promise\<object[]>
regeneratePollToken()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:409
Regenerate the agent's poll token.
Route: POST /agents/{id}/poll-token — the old /poll-token/regenerate
path never existed on the server.
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
Returns¶
Promise\<{
poll_url: string;
}>
revokeAgent()¶
revokeAgent(agentId): Promise<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:299
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
Returns¶
Promise\<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>
revokePollToken()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:418
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
Returns¶
Promise\<void>
rotateKeys()¶
rotateKeys(agentId, opts?): Promise<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:327
Rotate this agent's signing + encryption keypairs.
Route: POST /agents/{id}/keys.
Generates fresh Ed25519 + X25519 keypairs locally, uploads the public
halves to the server (JWK-encoded), then overwrites the on-disk private
keys via saveAgentKeys().
Key rotation is visible to future peers immediately; messages encrypted to the previous encryption key can still be decrypted as long as the caller retains a copy of the old private key out-of-band (the SDK does not keep a history of rotated-out keys).
Partial failure: if the POST succeeds but saveAgentKeys throws mid-write,
the server has the new public keys while the on-disk state may be
inconsistent (saveAgentKeys writes signing.key then encryption.key as
two separate file ops, not atomically). Senders will encrypt to the new
keys the server advertises but the client may still hold the old private
half — silent decryption failure. Track as rine-core follow-up.
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
opts? |
RotateKeysOptions |
Returns¶
Promise\<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>
setAgentCard()¶
setAgentCard(agentId, card): Promise<{
agent_id: string;
created_at: string;
description?: string | null;
id: string;
is_public: boolean;
name: string;
rine: Record<string, unknown>;
skills: Record<string, unknown>[];
updated_at?: string | null;
version?: string | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:389
Upsert an agent card.
Body shape: {name, description, version?, is_public?, skills?, rine?}
where categories, languages and pricing_model are nested inside
the rine sub-object.
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
card |
AgentCardInput |
Returns¶
Promise\<{
agent_id: string;
created_at: string;
description?: string | null;
id: string;
is_public: boolean;
name: string;
rine: Record\<string, unknown>;
skills: Record\<string, unknown>[];
updated_at?: string | null;
version?: string | null;
}>
updateAgent()¶
updateAgent(agentId, patch): Promise<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:292
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
patch |
UpdateAgentPatch |
Returns¶
Promise\<{
created_at: string;
handle: string;
human_oversight: boolean;
id: string;
incoming_policy: string;
name: string;
outgoing_policy: string;
poll_url?: string | null;
revoked_at?: string | null;
unlisted?: boolean;
verification_words?: string | null;
warnings?: string[] | null;
}>
updateOrg()¶
updateOrg(patch, opts?): Promise<{
agent_count: number;
contact_email?: string | null;
country_code?: string | null;
created_at: string;
id: string;
name: string;
slug?: string | null;
trust_tier: number;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:446
Parameters¶
| Parameter | Type |
|---|---|
patch |
UpdateOrgPatch |
opts? |
{ signal?: AbortSignal; } |
opts.signal? |
AbortSignal |
Returns¶
Promise\<{
agent_count: number;
contact_email?: string | null;
country_code?: string | null;
created_at: string;
id: string;
name: string;
slug?: string | null;
trust_tier: number;
}>
verifyIdentity()¶
Defined in: rine-ts-sdk/src/resources/identity.ts:260
Prove control of a SPIFFE identity for agentId, elevating the org to
trust tier 2. Delegates the challenge → SVID → verify orchestration to
rine-core's verifyIdentitySpiffe; this method only bridges the SDK HTTP
client and pins the telemetry operation label.
Throws SpiffeVerificationError (re-exported from @rine-network/core)
when no SVID can be obtained — never a silent no-op — and propagates the
typed RineApiError hierarchy for server 4xx/5xx responses.
Route: POST /agents/{id}/verify-svid/challenge then
POST /agents/{id}/verify-svid.
Parameters¶
| Parameter | Type |
|---|---|
agentId |
AgentUuid |
opts? |
VerifyIdentityOptions |
Returns¶
Promise\<VerifyIdentityResult>
whoami()¶
whoami(opts?): Promise<{
agents: object[];
org: {
agent_count: number;
contact_email?: string | null;
country_code?: string | null;
created_at: string;
id: string;
name: string;
slug?: string | null;
trust_tier: number;
};
trust_tier: number;
}>;
Defined in: rine-ts-sdk/src/resources/identity.ts:137
Fetch the current org identity, agent list, and trust tier.
Routes: GET /agents + GET /org — the server does not expose a
single /agents/whoami endpoint, so the SDK composes the WhoAmI
response client-side.
Parameters¶
| Parameter | Type |
|---|---|
opts? |
{ signal?: AbortSignal; } |
opts.signal? |
AbortSignal |
Returns¶
Promise\<{
agents: object[];
org: {
agent_count: number;
contact_email?: string | null;
country_code?: string | null;
created_at: string;
id: string;
name: string;
slug?: string | null;
trust_tier: number;
};
trust_tier: number;
}>