OpenAgentIDDocumentation
API referencenpm packages@openagentid/sdk
OpenAgentIDAPI reference

@openagentid/sdk/character-state

API contract shipped by @openagentid/sdk 0.7.2. Exact exports, signatures, dependencies and availability.

All packages · Runnable examples · Start an agent

ContractValue
Package@openagentid/sdk@0.7.2
Entry point@openagentid/sdk/character-state
AvailabilityCurrent integration path
Reference sourcePublished TypeScript declarations
Package enginesnode >=20

Before integrating

The published VERSION constant is still the literal "0.6.0" in the 0.7.2 archive. Use package metadata or your lockfile to identify the installed release; do not use VERSION as a release check.

When using @openagentid/crypto-wasm 0.1.1 for ACT verification, call the SDK verifier builder .atTime(Math.floor(Date.now() / 1000)) on every verification. The default WASM system-clock path traps in Node. Supply trusted receiver current epoch seconds; never token-supplied time or a timestamp captured once at startup. The complete ACT example covers this requirement.

In SDK 0.7.2, withAct and requireActExpress do not expose a verification-clock option. The raw crypto-wasm 0.1.1 binding alone therefore traps for these wrappers; use the tested fluent .atTime(...) example, or qualify a binding adapter that supplies fresh trusted receiver time on every verification.

This reference is generated from the integrity-verified npm archive for this exact version. Signatures describe the public contract; they are not standalone programs. Complete examples are checked separately.

Import conditions

Use the public entry point above. The package resolves it to these shipped files; do not import its internal files directly.

ConditionPublished file
types./dist/character-state.d.ts
import./dist/character-state.js
require./dist/character-state.cjs

Exports

AgentActivity

Type-only declaration; it is not a runtime value.

Signature
type AgentActivity = 'idle' | 'listening' | 'reasoning' | 'working' | 'speaking' | 'success' | 'blocked' | 'error';

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:4.

AvatarExpression

Type-only declaration; it is not a runtime value.

Signature
type AvatarExpression = typeof CHARACTER_EXPRESSIONS[number];

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:3.

AvatarStatus

Type-only declaration; it is not a runtime value.

Signature
type AvatarStatus = AvatarExpression | AgentActivity;

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:5.

CHARACTER_EXPRESSIONS

Portable presentation state. Status never grants identity or application authority.

Signature
declare const CHARACTER_EXPRESSIONS: readonly [
    "neutral",
    "attentive",
    "surprised",
    "excited",
    "happy",
    "laughing",
    "angry",
    "sad",
    "scared",
    "suspicious",
    "confused",
    "curious",
    "proud",
    "shy",
    "unimpressed",
    "sleepy",
    "thoughtful",
    "concerned"
];

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:2.

CharacterRuntimeState

Type-only declaration; it is not a runtime value.

Signature
interface CharacterRuntimeState {
    readonly status: AvatarStatus;
    readonly expression: AvatarExpression;
    readonly blink: number;
    readonly gaze: {
        readonly x: number;
        readonly y: number;
    };
}

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:18.

characterStateRecord

Signature
declare function characterStateRecord(value: unknown): Record<string, unknown>;

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:38.

CharacterStateUpdate

A status update clears the previous override; null restores the status expression.

Type-only declaration; it is not a runtime value.

Signature
interface CharacterStateUpdate extends Omit<LiveEyeState, 'expression'> {
    readonly expression?: AvatarExpression | null;
}

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:28.

expressionForStatus

Signature
declare function expressionForStatus(value: unknown): AvatarExpression;

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:37.

getCharacterExpressions

Signature
declare function getCharacterExpressions(): readonly AvatarExpression[];

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:31.

getCharacterStatuses

Signature
declare function getCharacterStatuses(): readonly {
    readonly status: AvatarStatus;
    readonly expression: AvatarExpression;
}[];

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:32.

LiveEyeState

Type-only declaration; it is not a runtime value.

Signature
interface LiveEyeState {
    readonly status?: AvatarStatus;
    readonly expression?: AvatarExpression;
    readonly blink?: number;
    readonly gaze?: {
        readonly x: number;
        readonly y: number;
    };
}

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:6.

parseAvatarExpression

Signature
declare function parseAvatarExpression(value: unknown): AvatarExpression;

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:36.

parseCharacterState

Validate an untrusted status snapshot without changing any identity/profile state.

Signature
declare function parseCharacterState(input: unknown, fallbackExpression?: AvatarExpression): CharacterRuntimeState;

Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:40.

Package requirements

Dependencies

PackagePublished range
zod^3.23.8
jose^5.10.0
@noble/hashes^1.8.0
@scure/base^1.2.6

Peer dependencies

PackagePublished rangeOptional
@openagentid/aegis-sdk^0.1.0Yes
@openagentid/arsenal-sdk^0.1.0Yes
@openagentid/crypto-wasm^0.1.0Yes
@openagentid/oas-sdk^1.0.2Yes

Archive verification

Pinned integrity:

SHA-512 integrity
sha512-9YlDb02di8sGffhuMOwNAQa/M3oBrhaqPc7t+qBltdoQRCqlxDmYB/nTRSB4eZgwE4lvM4TKzI72nJtJSVm/ww==

Machine-readable API manifest · Coverage

On this page