OpenAgentIDDocumentation
API referencenpm packages@openagentid/sdk
OpenAgentIDAPI reference

@openagentid/sdk

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
AvailabilityCurrent integration path
Reference sourcePublished TypeScript declarations
Package enginesnode >=20

Entry points

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/index.d.ts
import./dist/index.js
require./dist/index.cjs

Exports

act

The ACT namespace.

Signature
declare const act: {
    readonly verify: (token: Uint8Array) => ActVerifierBuilder;
    readonly setCryptoBinding: typeof setActCryptoBinding;
};

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:124.

ActClaims

The claims of a verified ACT, as returned by the canonical verifier.

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

Signature
interface ActClaims {
    jti: string;
    sub: string;
    iss: string;
    aud: string[];
    iat: number;
    nbf: number;
    exp: number;
    tenant_id: string;
    scope: string[];
    cnf?: {
        key_fingerprint: string;
        alg: string;
    };
    delegation?: {
        allow_delegation: boolean;
        max_depth: number;
    };
    ext?: Record<string, unknown>;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:44.

ActVerifierBuilder

Fluent ACT verifier, built by {@link act.verify}.

Signature
declare class ActVerifierBuilder {
    constructor(token: Uint8Array);
    issuer(iss: string): this;
    forAudience(audience: string): this;
    requireScope(scope: string): this;
    requireScopes(scopes: string[]): this;
    trustedKeys(keys: Uint8Array[]): this;
    withLeeway(seconds: number): this;
    atTime(unixSeconds: number): this;
    run(): Promise<ActClaims>;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:102.

ActVerifyOptions

Options accepted by the fluent verifier.

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

Signature
interface ActVerifyOptions {
    issuer?: string;
    audience?: string;
    scopes?: string[];
    trustedKeys?: Uint8Array[];
    leewaySeconds?: number;
    nowUnixSeconds?: number;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:77.

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.

agentAvatar

Return an external override or a self-contained deterministic SVG data URL.

Signature
declare function agentAvatar(did: string, profile?: AgentAvatar, options?: AvatarOptions): string;

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:35.

AgentAvatar

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

Signature
interface AgentAvatar {
    avatarOverride?: string | null;
    avatarSkin?: CharacterAppearance | null;
    avatarExpression?: AvatarExpression;
}

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:11.

AgentIdentityProof

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

Signature
interface AgentIdentityProof {
    readonly token: string;
    readonly delegations: readonly string[];
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:42.

AgentKeys

An agent's key material, derived from one seed.

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

Signature
interface AgentKeys {
    readonly seed: Uint8Array;
    readonly signingKey: Uint8Array;
    readonly verifyingKey: Uint8Array;
    readonly encryptionSecretKey: Uint8Array;
    readonly encryptionPublicKey: Uint8Array;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:235.

allowAllSkills

Policy that allows any skill (dangerous — use only in tests).

Signature
declare const allowAllSkills: SkillsPolicy;

Source: @openagentid/sdk@0.7.2, dist/skills.d.ts:47.

ArsenalClient

Arsenal broker client facade. The real client lives in @openagentid/arsenal-sdk and is injected by the application; see INTEGRATION_NOTES.md.

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

Signature
interface ArsenalClient {
    requestCredential(params: {
        agentDid: Did;
        provider: string;
        scopes?: readonly string[];
    }): Promise<IssuedCredential>;
    release?(credentialProxyUrl: string): Promise<void>;
}

Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:51.

assertAncestor

Assert that ctx.lineage contains ancestor.

Signature
declare function assertAncestor(ctx: AuthContext, ancestor: Did): void;

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:110.

assertScopes

Assert that ctx holds every scope in required.

Signature
declare function assertScopes(ctx: AuthContext, required: readonly string[]): void;

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:108.

assertVerifiedIdentity

Validate an authority verdict's root binding; this does not verify a signature.

Signature
declare function assertVerifiedIdentity(value: unknown, expectedDid?: string, now?: number): asserts value is VerifiedAgentIdentity;

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:109.

AuthContext

A resolved, authenticated caller identity.

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

Signature
interface AuthContext {
    readonly did: Did;
    readonly root: Did;
    readonly lineage: readonly Did[];
    readonly lineageAuthority?: LineageAuthorityContext;
    readonly scopes: readonly string[];
    readonly expiresAt: number;
    readonly presentedToken?: string;
    readonly claims?: Readonly<Record<string, unknown>>;
}

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:44.

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.

avatarExpressionSchema

Signature
declare const avatarExpressionSchema: z.ZodEnum<[
    "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/identity.d.ts:100.

AvatarOptions

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

Signature
interface AvatarOptions extends GlyphOptions {
    view?: CharacterView;
    expression?: AvatarExpression;
    animated?: boolean;
    state?: LiveEyeState;
}

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:19.

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.

CharacterAccessory

Independent, package-owned wearables in the shared face coordinate space.

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

Signature
type CharacterAccessory = 'glasses' | 'headphones';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:6.

CharacterAccessoryDescription

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

Signature
interface CharacterAccessoryDescription {
    readonly id: CharacterAccessory;
    readonly label: string;
    readonly description: string;
}

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:7.

CharacterAnimator

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

Signature
interface CharacterAnimator {
    sample(atMs?: number): CharacterFrame;
    update(state: CharacterStateUpdate, atMs?: number): CharacterRuntimeState;
    getState(): CharacterRuntimeState;
    setReducedMotion(value: boolean, atMs?: number): void;
}

Source: @openagentid/sdk@0.7.2, dist/character-animation.d.ts:23.

CharacterAnimatorOptions

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

Signature
interface CharacterAnimatorOptions extends CharacterOptions {
    readonly transitionMs?: number;
    readonly reducedMotion?: boolean;
    readonly now?: () => number;
}

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

CharacterApiHandlerOptions

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

Signature
interface CharacterApiHandlerOptions {
    readonly basePath?: string;
}

Source: @openagentid/sdk@0.7.2, dist/character-api.d.ts:1.

characterApiOpenApi

Bundled OpenAPI 3.1 contract; mirrored in docs/character-api.openapi.json.

Signature
declare const characterApiOpenApi: {
    readonly openapi: "3.1.0";
    readonly info: {
        readonly title: "OpenAgentID Character API";
        readonly version: "0.7.2";
        readonly description: "Public, unauthenticated stateless deterministic agent decoration. Autos is the default rounded pill family. The catalog contains 17 families and 62 distinct character kinds, including Halloween, Thanksgiving and Christmas. Avatar rendering frames the face by default; view=full restores the complete character. Skin controls body and face geometry; expressions and live-v1 eyes are shared across skins. This API neither mints identities nor verifies possession, ownership, lineage, revocation or permissions. No secrets, external assets, JavaScript, CSS or fonts. Every response including errors and 304 includes wildcard CORS; credentials are not required. Unknown and duplicate query parameters are rejected. Input, streamed body chunks and geometry are bounded; hosted infrastructure supplies request rate and duration limits. Runtime state resolves state.expression before status mapping, then outer preferred expression, then neutral. Status is presentation state only and establishes no agent activity or authority. Independent glasses and headphones can be combined on every family. Accessories default to an empty selection, do not change identity-derived shape/color or live-eye state, and normalize to catalog order. Unknown, duplicate or malformed selections are refused. Every family supports shared finish (plush default, flat optional) and eyePlacement (face default, raised optional). These strictly closed appearance selectors do not change identity-derived shape/color or runtime state. Descriptors include both resolved values.";
    };
    readonly servers: readonly [
        {
            readonly url: "/v1/characters";
        }
    ];
    readonly security: readonly [
    ];
    readonly paths: {
        readonly "/skins": {
            readonly get: {
                readonly summary: "List versioned character skins";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                        readonly content: {
                            readonly "application/json": {
                                readonly schema: {
                                    readonly type: "array";
                                    readonly items: {
                                        readonly $ref: "#/components/schemas/CharacterSkinV1";
                                    };
                                };
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
            readonly head: {
                readonly summary: "Headers for list versioned character skins";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly description: "Same status, headers and Content-Length as GET, no response body.";
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly description: "Invalid request, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "404": {
                        readonly description: "Not found, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "405": {
                        readonly description: "Not allowed, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly Allow: {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                };
            };
            readonly options: {
                readonly summary: "Public CORS preflight";
                readonly parameters: readonly [
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "GET, HEAD, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
        readonly "/statuses": {
            readonly get: {
                readonly summary: "List runtime status-to-expression mappings";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                        readonly content: {
                            readonly "application/json": {
                                readonly schema: {
                                    readonly type: "array";
                                    readonly items: {
                                        readonly $ref: "#/components/schemas/CharacterStatusV1";
                                    };
                                    readonly minItems: 26;
                                    readonly maxItems: 26;
                                    readonly description: "Immutable SDK mapping catalog serialized as JSON, including all expressions and runtime aliases.";
                                };
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
            readonly head: {
                readonly summary: "Headers for runtime status-to-expression mappings";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly description: "Same status, headers and Content-Length as GET, no response body.";
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly description: "Invalid request, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "404": {
                        readonly description: "Not found, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "405": {
                        readonly description: "Not allowed, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly Allow: {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                };
            };
            readonly options: {
                readonly summary: "Public CORS preflight";
                readonly parameters: readonly [
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "GET, HEAD, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
        readonly "/svg/{did}": {
            readonly get: {
                readonly summary: "Render a character SVG";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/did";
                    },
                    {
                        readonly $ref: "#/components/parameters/skin";
                    },
                    {
                        readonly $ref: "#/components/parameters/skinVersion";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyeStyle";
                    },
                    {
                        readonly $ref: "#/components/parameters/size";
                    },
                    {
                        readonly $ref: "#/components/parameters/animated";
                    },
                    {
                        readonly $ref: "#/components/parameters/blink";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeX";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeY";
                    },
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    },
                    {
                        readonly $ref: "#/components/parameters/shape";
                    },
                    {
                        readonly $ref: "#/components/parameters/expression";
                    },
                    {
                        readonly $ref: "#/components/parameters/status";
                    },
                    {
                        readonly $ref: "#/components/parameters/view";
                    },
                    {
                        readonly $ref: "#/components/parameters/accessories";
                    },
                    {
                        readonly $ref: "#/components/parameters/finish";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyePlacement";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                            readonly "Content-Security-Policy": {
                                readonly $ref: "#/components/headers/SvgCsp";
                            };
                        };
                        readonly content: {
                            readonly "image/svg+xml": {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                            readonly "Content-Security-Policy": {
                                readonly $ref: "#/components/headers/SvgCsp";
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
            readonly head: {
                readonly summary: "Headers for render a character svg";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/did";
                    },
                    {
                        readonly $ref: "#/components/parameters/skin";
                    },
                    {
                        readonly $ref: "#/components/parameters/skinVersion";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyeStyle";
                    },
                    {
                        readonly $ref: "#/components/parameters/size";
                    },
                    {
                        readonly $ref: "#/components/parameters/animated";
                    },
                    {
                        readonly $ref: "#/components/parameters/blink";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeX";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeY";
                    },
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    },
                    {
                        readonly $ref: "#/components/parameters/shape";
                    },
                    {
                        readonly $ref: "#/components/parameters/expression";
                    },
                    {
                        readonly $ref: "#/components/parameters/status";
                    },
                    {
                        readonly $ref: "#/components/parameters/view";
                    },
                    {
                        readonly $ref: "#/components/parameters/accessories";
                    },
                    {
                        readonly $ref: "#/components/parameters/finish";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyePlacement";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly description: "Same status, headers and Content-Length as GET, no response body.";
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                            readonly "Content-Security-Policy": {
                                readonly $ref: "#/components/headers/SvgCsp";
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                            readonly "Content-Security-Policy": {
                                readonly $ref: "#/components/headers/SvgCsp";
                            };
                        };
                    };
                    readonly "400": {
                        readonly description: "Invalid request, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "404": {
                        readonly description: "Not found, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "405": {
                        readonly description: "Not allowed, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly Allow: {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                };
            };
            readonly options: {
                readonly summary: "Public CORS preflight";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/did";
                    },
                    {
                        readonly $ref: "#/components/parameters/skin";
                    },
                    {
                        readonly $ref: "#/components/parameters/skinVersion";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyeStyle";
                    },
                    {
                        readonly $ref: "#/components/parameters/size";
                    },
                    {
                        readonly $ref: "#/components/parameters/animated";
                    },
                    {
                        readonly $ref: "#/components/parameters/blink";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeX";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeY";
                    },
                    {
                        readonly $ref: "#/components/parameters/shape";
                    },
                    {
                        readonly $ref: "#/components/parameters/expression";
                    },
                    {
                        readonly $ref: "#/components/parameters/status";
                    },
                    {
                        readonly $ref: "#/components/parameters/view";
                    },
                    {
                        readonly $ref: "#/components/parameters/accessories";
                    },
                    {
                        readonly $ref: "#/components/parameters/finish";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyePlacement";
                    }
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "GET, HEAD, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
        readonly "/{did}": {
            readonly get: {
                readonly summary: "Generate a character descriptor";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/did";
                    },
                    {
                        readonly $ref: "#/components/parameters/skin";
                    },
                    {
                        readonly $ref: "#/components/parameters/skinVersion";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyeStyle";
                    },
                    {
                        readonly $ref: "#/components/parameters/size";
                    },
                    {
                        readonly $ref: "#/components/parameters/animated";
                    },
                    {
                        readonly $ref: "#/components/parameters/blink";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeX";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeY";
                    },
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    },
                    {
                        readonly $ref: "#/components/parameters/shape";
                    },
                    {
                        readonly $ref: "#/components/parameters/expression";
                    },
                    {
                        readonly $ref: "#/components/parameters/status";
                    },
                    {
                        readonly $ref: "#/components/parameters/view";
                    },
                    {
                        readonly $ref: "#/components/parameters/accessories";
                    },
                    {
                        readonly $ref: "#/components/parameters/finish";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyePlacement";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                        readonly content: {
                            readonly "application/json": {
                                readonly schema: {
                                    readonly $ref: "#/components/schemas/CharacterDescriptorV1";
                                };
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
            readonly head: {
                readonly summary: "Headers for generate a character descriptor";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/did";
                    },
                    {
                        readonly $ref: "#/components/parameters/skin";
                    },
                    {
                        readonly $ref: "#/components/parameters/skinVersion";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyeStyle";
                    },
                    {
                        readonly $ref: "#/components/parameters/size";
                    },
                    {
                        readonly $ref: "#/components/parameters/animated";
                    },
                    {
                        readonly $ref: "#/components/parameters/blink";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeX";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeY";
                    },
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    },
                    {
                        readonly $ref: "#/components/parameters/shape";
                    },
                    {
                        readonly $ref: "#/components/parameters/expression";
                    },
                    {
                        readonly $ref: "#/components/parameters/status";
                    },
                    {
                        readonly $ref: "#/components/parameters/view";
                    },
                    {
                        readonly $ref: "#/components/parameters/accessories";
                    },
                    {
                        readonly $ref: "#/components/parameters/finish";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyePlacement";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly description: "Same status, headers and Content-Length as GET, no response body.";
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly description: "Invalid request, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "404": {
                        readonly description: "Not found, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "405": {
                        readonly description: "Not allowed, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly Allow: {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                };
            };
            readonly options: {
                readonly summary: "Public CORS preflight";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/did";
                    },
                    {
                        readonly $ref: "#/components/parameters/skin";
                    },
                    {
                        readonly $ref: "#/components/parameters/skinVersion";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyeStyle";
                    },
                    {
                        readonly $ref: "#/components/parameters/size";
                    },
                    {
                        readonly $ref: "#/components/parameters/animated";
                    },
                    {
                        readonly $ref: "#/components/parameters/blink";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeX";
                    },
                    {
                        readonly $ref: "#/components/parameters/gazeY";
                    },
                    {
                        readonly $ref: "#/components/parameters/shape";
                    },
                    {
                        readonly $ref: "#/components/parameters/expression";
                    },
                    {
                        readonly $ref: "#/components/parameters/status";
                    },
                    {
                        readonly $ref: "#/components/parameters/view";
                    },
                    {
                        readonly $ref: "#/components/parameters/accessories";
                    },
                    {
                        readonly $ref: "#/components/parameters/finish";
                    },
                    {
                        readonly $ref: "#/components/parameters/eyePlacement";
                    }
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "GET, HEAD, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
        readonly "/generate": {
            readonly post: {
                readonly summary: "Generate a character descriptor from JSON";
                readonly description: "Stateless and unauthenticated; no query parameters. Unknown fields are rejected at every level. Streamed body size is checked independently of Content-Length.";
                readonly "x-max-body-bytes": 16384;
                readonly "x-reject-unknown-query-parameters": true;
                readonly requestBody: {
                    readonly required: true;
                    readonly content: {
                        readonly "application/json": {
                            readonly schema: {
                                readonly $ref: "#/components/schemas/CharacterGenerateRequestV1";
                            };
                        };
                    };
                };
                readonly responses: {
                    readonly "200": {
                        readonly description: "Generated descriptor; no-store, no ETag.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                        readonly content: {
                            readonly "application/json": {
                                readonly schema: {
                                    readonly $ref: "#/components/schemas/CharacterDescriptorV1";
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                    readonly "413": {
                        readonly $ref: "#/components/responses/BodyTooLarge";
                    };
                    readonly "415": {
                        readonly $ref: "#/components/responses/UnsupportedMediaType";
                    };
                };
            };
            readonly options: {
                readonly summary: "Public CORS preflight";
                readonly parameters: readonly [
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "POST, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
        readonly "/openapi.json": {
            readonly get: {
                readonly summary: "Read this OpenAPI schema";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                        readonly content: {
                            readonly "application/json": {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly description: "OpenAPI 3.1 document; servers[0].url reflects the configured mount path.";
                                };
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
            readonly head: {
                readonly summary: "Headers for read this openapi schema";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly description: "Same status, headers and Content-Length as GET, no response body.";
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly description: "Invalid request, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "404": {
                        readonly description: "Not found, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "405": {
                        readonly description: "Not allowed, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly Allow: {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                };
            };
            readonly options: {
                readonly summary: "Public CORS preflight";
                readonly parameters: readonly [
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "GET, HEAD, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
        readonly "/accessories": {
            readonly get: {
                readonly summary: "List combinable character accessories";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                        readonly content: {
                            readonly "application/json": {
                                readonly schema: {
                                    readonly type: "array";
                                    readonly items: {
                                        readonly $ref: "#/components/schemas/CharacterAccessoryDescriptionV1";
                                    };
                                };
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
            readonly head: {
                readonly summary: "Headers for the character accessory catalog";
                readonly parameters: readonly [
                    {
                        readonly $ref: "#/components/parameters/IfNoneMatch";
                    }
                ];
                readonly "x-reject-unknown-query-parameters": true;
                readonly "x-reject-duplicate-query-parameters": true;
                readonly description: "Same status, headers and Content-Length as GET, no response body.";
                readonly responses: {
                    readonly "200": {
                        readonly description: "Deterministic representation; public max-age=3600, must-revalidate.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "304": {
                        readonly description: "Matching validator, no body. CORS, ETag and SVG security headers are preserved.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly ETag: {
                                readonly $ref: "#/components/headers/ETag";
                            };
                            readonly "Content-Length": {
                                readonly $ref: "#/components/headers/ContentLength";
                            };
                        };
                    };
                    readonly "400": {
                        readonly description: "Invalid request, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "404": {
                        readonly description: "Not found, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                        };
                    };
                    readonly "405": {
                        readonly description: "Not allowed, no body.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly Allow: {
                                readonly schema: {
                                    readonly type: "string";
                                };
                            };
                        };
                    };
                };
            };
            readonly options: {
                readonly summary: "Preflight for the character accessory catalog";
                readonly parameters: readonly [
                ];
                readonly responses: {
                    readonly "204": {
                        readonly description: "No body; schema-valid requests can be made cross-origin without credentials.";
                        readonly headers: {
                            readonly "Access-Control-Allow-Origin": {
                                readonly $ref: "#/components/headers/CorsOrigin";
                            };
                            readonly "Access-Control-Expose-Headers": {
                                readonly $ref: "#/components/headers/CorsExpose";
                            };
                            readonly "X-Content-Type-Options": {
                                readonly $ref: "#/components/headers/NoSniff";
                            };
                            readonly "Cache-Control": {
                                readonly $ref: "#/components/headers/CacheControl";
                            };
                            readonly "Access-Control-Allow-Methods": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "GET, HEAD, OPTIONS";
                                };
                            };
                            readonly "Access-Control-Allow-Headers": {
                                readonly schema: {
                                    readonly type: "string";
                                    readonly const: "Content-Type, If-None-Match";
                                };
                            };
                            readonly "Access-Control-Max-Age": {
                                readonly schema: {
                                    readonly type: "integer";
                                    readonly const: 86400;
                                };
                            };
                        };
                    };
                    readonly "400": {
                        readonly $ref: "#/components/responses/InvalidRequest";
                    };
                    readonly "404": {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                    readonly "405": {
                        readonly $ref: "#/components/responses/MethodNotAllowed";
                    };
                };
            };
        };
    };
    readonly components: {
        readonly schemas: {
            readonly AgentDid: {
                readonly type: "string";
                readonly maxLength: 512;
                readonly pattern: "^did:(?:(?:oas:[a-z0-9][a-z0-9-]{0,63}|l1fe):agent(?::instance)?:[A-Za-z0-9._-]+|oas:agent-instance:[0-7][0-9A-HJKMNP-TV-Z]{25})(?![\\s\\S])";
                readonly description: "Existing agent or agent:instance DID, including the literal IAM did:oas:agent-instance:<canonical uppercase ULID> avatar format. Generation preserves the assigned DID and neither verifies nor registers a principal; authentication schemas are unchanged.";
            };
            readonly CharacterAppearanceV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "skin"
                ];
                readonly properties: {
                    readonly skin: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "autos",
                            "spacex",
                            "fold",
                            "sprig",
                            "ripple",
                            "halo",
                            "purl",
                            "prism",
                            "coil",
                            "kiln",
                            "wisp",
                            "relay",
                            "cairn",
                            "tuft",
                            "halloween",
                            "thanksgiving",
                            "christmas"
                        ];
                        readonly default: "autos";
                    };
                    readonly skinVersion: {
                        readonly type: "integer";
                        readonly const: 1;
                        readonly default: 1;
                    };
                    readonly eyeStyle: {
                        readonly type: "string";
                        readonly const: "live-v1";
                        readonly default: "live-v1";
                        readonly description: "Shared geometry across all families. Future eye geometries receive new identifiers.";
                    };
                    readonly shape: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "standard",
                            "slender",
                            "wide",
                            "circle",
                            "pebble",
                            "squircle",
                            "capsule",
                            "triangle",
                            "hexagon",
                            "cloud",
                            "droplet",
                            "kite",
                            "fan",
                            "bud",
                            "leaf",
                            "drop",
                            "wave",
                            "comet",
                            "satellite",
                            "mitt",
                            "hood",
                            "crystal",
                            "obelisk",
                            "spring",
                            "bellows",
                            "vase",
                            "teapot",
                            "flame",
                            "curl",
                            "radio",
                            "beacon",
                            "tower",
                            "arch",
                            "pom",
                            "bear",
                            "pumpkin",
                            "ghost",
                            "bat",
                            "witch-hat",
                            "candy-corn",
                            "turkey",
                            "acorn",
                            "squash",
                            "pie",
                            "corn",
                            "light",
                            "tree",
                            "snowman",
                            "ornament",
                            "gift"
                        ];
                        readonly description: "Optional body override; must belong to the selected skin. Omitted shape is deterministically selected from the DID and skin.";
                    };
                    readonly accessories: {
                        readonly $ref: "#/components/schemas/CharacterAccessoriesV1";
                    };
                    readonly finish: {
                        readonly $ref: "#/components/schemas/CharacterFinish";
                    };
                    readonly eyePlacement: {
                        readonly $ref: "#/components/schemas/CharacterEyePlacement";
                    };
                };
                readonly allOf: readonly [
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "autos";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "slender",
                                        "wide"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "spacex";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "circle",
                                        "pebble",
                                        "squircle",
                                        "capsule",
                                        "triangle",
                                        "hexagon",
                                        "cloud",
                                        "droplet"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "fold";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "kite",
                                        "fan"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "sprig";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "bud",
                                        "leaf"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "ripple";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "drop",
                                        "wave"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halo";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "comet",
                                        "satellite"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "purl";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "mitt",
                                        "hood"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "prism";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "crystal",
                                        "obelisk"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "coil";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "spring",
                                        "bellows"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "kiln";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "vase",
                                        "teapot"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "wisp";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "flame",
                                        "curl"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "relay";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "radio",
                                        "beacon"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "cairn";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "tower",
                                        "arch"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "tuft";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "pom",
                                        "bear"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halloween";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "pumpkin",
                                        "ghost",
                                        "bat",
                                        "witch-hat",
                                        "candy-corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "thanksgiving";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "turkey",
                                        "acorn",
                                        "squash",
                                        "pie",
                                        "corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "christmas";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "light",
                                        "tree",
                                        "snowman",
                                        "ornament",
                                        "gift"
                                    ];
                                };
                            };
                        };
                    }
                ];
            };
            readonly GazeV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "x",
                    "y"
                ];
                readonly properties: {
                    readonly x: {
                        readonly type: "number";
                        readonly minimum: -1;
                        readonly maximum: 1;
                        readonly default: 0;
                    };
                    readonly y: {
                        readonly type: "number";
                        readonly minimum: -1;
                        readonly maximum: 1;
                        readonly default: 0;
                    };
                };
            };
            readonly LiveEyeStateV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly properties: {
                    readonly blink: {
                        readonly type: "number";
                        readonly minimum: 0;
                        readonly maximum: 1;
                        readonly default: 0;
                    };
                    readonly gaze: {
                        readonly $ref: "#/components/schemas/GazeV1";
                    };
                    readonly status: {
                        readonly $ref: "#/components/schemas/AvatarStatus";
                        readonly description: "Runtime status alias or literal expression. Overrides the outer preferred expression.";
                    };
                    readonly expression: {
                        readonly $ref: "#/components/schemas/AvatarExpression";
                        readonly description: "Explicit runtime expression; overrides state.status mapping and outer preferred expression. Null is not accepted by this stateless API.";
                    };
                };
                readonly description: "Optional stateless snapshot. Resolution: state.expression > state.status mapping > outer expression > neutral. Unknown fields and null values are refused.";
            };
            readonly CharacterOptionsV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly properties: {
                    readonly skin: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "autos",
                            "spacex",
                            "fold",
                            "sprig",
                            "ripple",
                            "halo",
                            "purl",
                            "prism",
                            "coil",
                            "kiln",
                            "wisp",
                            "relay",
                            "cairn",
                            "tuft",
                            "halloween",
                            "thanksgiving",
                            "christmas"
                        ];
                        readonly default: "autos";
                    };
                    readonly skinVersion: {
                        readonly type: "integer";
                        readonly const: 1;
                        readonly default: 1;
                    };
                    readonly eyeStyle: {
                        readonly type: "string";
                        readonly const: "live-v1";
                        readonly default: "live-v1";
                        readonly description: "Shared geometry across all families. Future eye geometries receive new identifiers.";
                    };
                    readonly size: {
                        readonly type: "integer";
                        readonly minimum: 32;
                        readonly maximum: 2048;
                        readonly default: 512;
                    };
                    readonly animated: {
                        readonly type: "boolean";
                        readonly default: true;
                        readonly description: "Native SMIL animation with no JavaScript or CSS.";
                    };
                    readonly state: {
                        readonly $ref: "#/components/schemas/LiveEyeStateV1";
                    };
                    readonly shape: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "standard",
                            "slender",
                            "wide",
                            "circle",
                            "pebble",
                            "squircle",
                            "capsule",
                            "triangle",
                            "hexagon",
                            "cloud",
                            "droplet",
                            "kite",
                            "fan",
                            "bud",
                            "leaf",
                            "drop",
                            "wave",
                            "comet",
                            "satellite",
                            "mitt",
                            "hood",
                            "crystal",
                            "obelisk",
                            "spring",
                            "bellows",
                            "vase",
                            "teapot",
                            "flame",
                            "curl",
                            "radio",
                            "beacon",
                            "tower",
                            "arch",
                            "pom",
                            "bear",
                            "pumpkin",
                            "ghost",
                            "bat",
                            "witch-hat",
                            "candy-corn",
                            "turkey",
                            "acorn",
                            "squash",
                            "pie",
                            "corn",
                            "light",
                            "tree",
                            "snowman",
                            "ornament",
                            "gift"
                        ];
                        readonly description: "Optional body override; must belong to the selected skin. Omitted shape is deterministically selected from the DID and skin.";
                    };
                    readonly expression: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "neutral",
                            "attentive",
                            "surprised",
                            "excited",
                            "happy",
                            "laughing",
                            "angry",
                            "sad",
                            "scared",
                            "suspicious",
                            "confused",
                            "curious",
                            "proud",
                            "shy",
                            "unimpressed",
                            "sleepy",
                            "thoughtful",
                            "concerned"
                        ];
                        readonly default: "neutral";
                        readonly description: "Outer preferred expression fallback. Explicit state.expression wins, then state.status mapping, then this preference, then neutral.";
                    };
                    readonly view: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "avatar",
                            "full"
                        ];
                        readonly default: "avatar";
                        readonly description: "Face crop for avatars by default; full shows the complete body. Rendering only, independent of stored appearance and runtime eye state.";
                    };
                    readonly accessories: {
                        readonly $ref: "#/components/schemas/CharacterAccessoriesV1";
                    };
                    readonly finish: {
                        readonly $ref: "#/components/schemas/CharacterFinish";
                    };
                    readonly eyePlacement: {
                        readonly $ref: "#/components/schemas/CharacterEyePlacement";
                    };
                };
                readonly allOf: readonly [
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "autos";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "slender",
                                        "wide"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "spacex";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "circle",
                                        "pebble",
                                        "squircle",
                                        "capsule",
                                        "triangle",
                                        "hexagon",
                                        "cloud",
                                        "droplet"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "fold";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "kite",
                                        "fan"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "sprig";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "bud",
                                        "leaf"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "ripple";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "drop",
                                        "wave"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halo";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "comet",
                                        "satellite"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "purl";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "mitt",
                                        "hood"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "prism";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "crystal",
                                        "obelisk"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "coil";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "spring",
                                        "bellows"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "kiln";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "vase",
                                        "teapot"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "wisp";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "flame",
                                        "curl"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "relay";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "radio",
                                        "beacon"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "cairn";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "tower",
                                        "arch"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "tuft";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "pom",
                                        "bear"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halloween";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "pumpkin",
                                        "ghost",
                                        "bat",
                                        "witch-hat",
                                        "candy-corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "thanksgiving";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "turkey",
                                        "acorn",
                                        "squash",
                                        "pie",
                                        "corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "christmas";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "light",
                                        "tree",
                                        "snowman",
                                        "ornament",
                                        "gift"
                                    ];
                                };
                            };
                        };
                    }
                ];
            };
            readonly CharacterGenerateRequestV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "did"
                ];
                readonly properties: {
                    readonly did: {
                        readonly $ref: "#/components/schemas/AgentDid";
                    };
                    readonly skin: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "autos",
                            "spacex",
                            "fold",
                            "sprig",
                            "ripple",
                            "halo",
                            "purl",
                            "prism",
                            "coil",
                            "kiln",
                            "wisp",
                            "relay",
                            "cairn",
                            "tuft",
                            "halloween",
                            "thanksgiving",
                            "christmas"
                        ];
                        readonly default: "autos";
                    };
                    readonly skinVersion: {
                        readonly type: "integer";
                        readonly const: 1;
                        readonly default: 1;
                    };
                    readonly eyeStyle: {
                        readonly type: "string";
                        readonly const: "live-v1";
                        readonly default: "live-v1";
                        readonly description: "Shared geometry across all families. Future eye geometries receive new identifiers.";
                    };
                    readonly size: {
                        readonly type: "integer";
                        readonly minimum: 32;
                        readonly maximum: 2048;
                        readonly default: 512;
                    };
                    readonly animated: {
                        readonly type: "boolean";
                        readonly default: true;
                        readonly description: "Native SMIL animation with no JavaScript or CSS.";
                    };
                    readonly state: {
                        readonly $ref: "#/components/schemas/LiveEyeStateV1";
                    };
                    readonly shape: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "standard",
                            "slender",
                            "wide",
                            "circle",
                            "pebble",
                            "squircle",
                            "capsule",
                            "triangle",
                            "hexagon",
                            "cloud",
                            "droplet",
                            "kite",
                            "fan",
                            "bud",
                            "leaf",
                            "drop",
                            "wave",
                            "comet",
                            "satellite",
                            "mitt",
                            "hood",
                            "crystal",
                            "obelisk",
                            "spring",
                            "bellows",
                            "vase",
                            "teapot",
                            "flame",
                            "curl",
                            "radio",
                            "beacon",
                            "tower",
                            "arch",
                            "pom",
                            "bear",
                            "pumpkin",
                            "ghost",
                            "bat",
                            "witch-hat",
                            "candy-corn",
                            "turkey",
                            "acorn",
                            "squash",
                            "pie",
                            "corn",
                            "light",
                            "tree",
                            "snowman",
                            "ornament",
                            "gift"
                        ];
                        readonly description: "Optional body override; must belong to the selected skin. Omitted shape is deterministically selected from the DID and skin.";
                    };
                    readonly expression: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "neutral",
                            "attentive",
                            "surprised",
                            "excited",
                            "happy",
                            "laughing",
                            "angry",
                            "sad",
                            "scared",
                            "suspicious",
                            "confused",
                            "curious",
                            "proud",
                            "shy",
                            "unimpressed",
                            "sleepy",
                            "thoughtful",
                            "concerned"
                        ];
                        readonly default: "neutral";
                        readonly description: "Outer preferred expression fallback. Explicit state.expression wins, then state.status mapping, then this preference, then neutral.";
                    };
                    readonly view: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "avatar",
                            "full"
                        ];
                        readonly default: "avatar";
                        readonly description: "Face crop for avatars by default; full shows the complete body. Rendering only, independent of stored appearance and runtime eye state.";
                    };
                    readonly accessories: {
                        readonly $ref: "#/components/schemas/CharacterAccessoriesV1";
                    };
                    readonly finish: {
                        readonly $ref: "#/components/schemas/CharacterFinish";
                    };
                    readonly eyePlacement: {
                        readonly $ref: "#/components/schemas/CharacterEyePlacement";
                    };
                };
                readonly allOf: readonly [
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "autos";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "slender",
                                        "wide"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "spacex";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "circle",
                                        "pebble",
                                        "squircle",
                                        "capsule",
                                        "triangle",
                                        "hexagon",
                                        "cloud",
                                        "droplet"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "fold";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "kite",
                                        "fan"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "sprig";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "bud",
                                        "leaf"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "ripple";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "drop",
                                        "wave"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halo";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "comet",
                                        "satellite"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "purl";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "mitt",
                                        "hood"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "prism";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "crystal",
                                        "obelisk"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "coil";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "spring",
                                        "bellows"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "kiln";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "vase",
                                        "teapot"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "wisp";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "flame",
                                        "curl"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "relay";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "radio",
                                        "beacon"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "cairn";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "tower",
                                        "arch"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "tuft";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "pom",
                                        "bear"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halloween";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "pumpkin",
                                        "ghost",
                                        "bat",
                                        "witch-hat",
                                        "candy-corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "thanksgiving";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "turkey",
                                        "acorn",
                                        "squash",
                                        "pie",
                                        "corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "christmas";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "light",
                                        "tree",
                                        "snowman",
                                        "ornament",
                                        "gift"
                                    ];
                                };
                            };
                        };
                    }
                ];
            };
            readonly CharacterDescriptorV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "did",
                    "skin",
                    "skinVersion",
                    "eyeStyle",
                    "shape",
                    "color",
                    "size",
                    "animated",
                    "state",
                    "svg",
                    "expression",
                    "view",
                    "accessories",
                    "finish",
                    "eyePlacement"
                ];
                readonly properties: {
                    readonly did: {
                        readonly $ref: "#/components/schemas/AgentDid";
                    };
                    readonly skin: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "autos",
                            "spacex",
                            "fold",
                            "sprig",
                            "ripple",
                            "halo",
                            "purl",
                            "prism",
                            "coil",
                            "kiln",
                            "wisp",
                            "relay",
                            "cairn",
                            "tuft",
                            "halloween",
                            "thanksgiving",
                            "christmas"
                        ];
                        readonly default: "autos";
                    };
                    readonly skinVersion: {
                        readonly type: "integer";
                        readonly const: 1;
                        readonly default: 1;
                    };
                    readonly eyeStyle: {
                        readonly type: "string";
                        readonly const: "live-v1";
                        readonly default: "live-v1";
                        readonly description: "Shared geometry across all families. Future eye geometries receive new identifiers.";
                    };
                    readonly size: {
                        readonly type: "integer";
                        readonly minimum: 32;
                        readonly maximum: 2048;
                        readonly default: 512;
                    };
                    readonly animated: {
                        readonly type: "boolean";
                        readonly default: true;
                        readonly description: "Native SMIL animation with no JavaScript or CSS.";
                    };
                    readonly state: {
                        readonly type: "object";
                        readonly additionalProperties: false;
                        readonly required: readonly [
                            "blink",
                            "gaze"
                        ];
                        readonly properties: {
                            readonly blink: {
                                readonly type: "number";
                                readonly minimum: 0;
                                readonly maximum: 1;
                                readonly default: 0;
                            };
                            readonly gaze: {
                                readonly $ref: "#/components/schemas/GazeV1";
                            };
                            readonly status: {
                                readonly $ref: "#/components/schemas/AvatarStatus";
                            };
                            readonly expression: {
                                readonly $ref: "#/components/schemas/AvatarExpression";
                            };
                        };
                        readonly description: "Normalized blink/gaze, retaining status/expression only when explicitly supplied in input state. Descriptor.expression is the resolved expression; old snapshots without state status/expression preserve their prior shape.";
                    };
                    readonly color: {
                        readonly type: "string";
                        readonly pattern: "^#[0-9a-fA-F]{6}$";
                    };
                    readonly svg: {
                        readonly type: "string";
                        readonly description: "Escaped, self-contained SVG on a transparent background. No external resources, JavaScript, CSS or fonts.";
                    };
                    readonly shape: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "standard",
                            "slender",
                            "wide",
                            "circle",
                            "pebble",
                            "squircle",
                            "capsule",
                            "triangle",
                            "hexagon",
                            "cloud",
                            "droplet",
                            "kite",
                            "fan",
                            "bud",
                            "leaf",
                            "drop",
                            "wave",
                            "comet",
                            "satellite",
                            "mitt",
                            "hood",
                            "crystal",
                            "obelisk",
                            "spring",
                            "bellows",
                            "vase",
                            "teapot",
                            "flame",
                            "curl",
                            "radio",
                            "beacon",
                            "tower",
                            "arch",
                            "pom",
                            "bear",
                            "pumpkin",
                            "ghost",
                            "bat",
                            "witch-hat",
                            "candy-corn",
                            "turkey",
                            "acorn",
                            "squash",
                            "pie",
                            "corn",
                            "light",
                            "tree",
                            "snowman",
                            "ornament",
                            "gift"
                        ];
                        readonly description: "Optional body override; must belong to the selected skin. Omitted shape is deterministically selected from the DID and skin.";
                    };
                    readonly expression: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "neutral",
                            "attentive",
                            "surprised",
                            "excited",
                            "happy",
                            "laughing",
                            "angry",
                            "sad",
                            "scared",
                            "suspicious",
                            "confused",
                            "curious",
                            "proud",
                            "shy",
                            "unimpressed",
                            "sleepy",
                            "thoughtful",
                            "concerned"
                        ];
                        readonly default: "neutral";
                        readonly description: "Resolved expression: state.expression > state.status mapping > outer preferred expression > neutral. Body shape/color remain unchanged.";
                    };
                    readonly view: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "avatar",
                            "full"
                        ];
                        readonly default: "avatar";
                        readonly description: "Face crop for avatars by default; full shows the complete body. Rendering only, independent of stored appearance and runtime eye state.";
                    };
                    readonly accessories: {
                        readonly $ref: "#/components/schemas/CharacterAccessoriesV1";
                    };
                    readonly finish: {
                        readonly $ref: "#/components/schemas/CharacterFinish";
                    };
                    readonly eyePlacement: {
                        readonly $ref: "#/components/schemas/CharacterEyePlacement";
                    };
                };
                readonly allOf: readonly [
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "autos";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "slender",
                                        "wide"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "spacex";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "circle",
                                        "pebble",
                                        "squircle",
                                        "capsule",
                                        "triangle",
                                        "hexagon",
                                        "cloud",
                                        "droplet"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "fold";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "kite",
                                        "fan"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "sprig";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "bud",
                                        "leaf"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "ripple";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "drop",
                                        "wave"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halo";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "comet",
                                        "satellite"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "purl";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "mitt",
                                        "hood"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "prism";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "crystal",
                                        "obelisk"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "coil";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "spring",
                                        "bellows"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "kiln";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "vase",
                                        "teapot"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "wisp";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "flame",
                                        "curl"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "relay";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "radio",
                                        "beacon"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "cairn";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "tower",
                                        "arch"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "tuft";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "standard",
                                        "pom",
                                        "bear"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "halloween";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "pumpkin",
                                        "ghost",
                                        "bat",
                                        "witch-hat",
                                        "candy-corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "thanksgiving";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "turkey",
                                        "acorn",
                                        "squash",
                                        "pie",
                                        "corn"
                                    ];
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly properties: {
                                readonly skin: {
                                    readonly const: "christmas";
                                };
                            };
                            readonly required: readonly [
                                "skin"
                            ];
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shape: {
                                    readonly enum: readonly [
                                        "light",
                                        "tree",
                                        "snowman",
                                        "ornament",
                                        "gift"
                                    ];
                                };
                            };
                        };
                    }
                ];
            };
            readonly CharacterSkinV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "id",
                    "label",
                    "version",
                    "eyeStyles",
                    "shapes",
                    "expressions"
                ];
                readonly properties: {
                    readonly id: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "autos",
                            "spacex",
                            "fold",
                            "sprig",
                            "ripple",
                            "halo",
                            "purl",
                            "prism",
                            "coil",
                            "kiln",
                            "wisp",
                            "relay",
                            "cairn",
                            "tuft",
                            "halloween",
                            "thanksgiving",
                            "christmas"
                        ];
                        readonly default: "autos";
                    };
                    readonly label: {
                        readonly type: "string";
                    };
                    readonly version: {
                        readonly type: "integer";
                        readonly const: 1;
                    };
                    readonly eyeStyles: {
                        readonly type: "array";
                        readonly items: {
                            readonly type: "string";
                            readonly const: "live-v1";
                            readonly default: "live-v1";
                            readonly description: "Shared geometry across all families. Future eye geometries receive new identifiers.";
                        };
                        readonly minItems: 1;
                        readonly uniqueItems: true;
                    };
                    readonly shapes: {
                        readonly type: "array";
                        readonly items: {
                            readonly type: "string";
                            readonly enum: readonly [
                                "standard",
                                "slender",
                                "wide",
                                "circle",
                                "pebble",
                                "squircle",
                                "capsule",
                                "triangle",
                                "hexagon",
                                "cloud",
                                "droplet",
                                "kite",
                                "fan",
                                "bud",
                                "leaf",
                                "drop",
                                "wave",
                                "comet",
                                "satellite",
                                "mitt",
                                "hood",
                                "crystal",
                                "obelisk",
                                "spring",
                                "bellows",
                                "vase",
                                "teapot",
                                "flame",
                                "curl",
                                "radio",
                                "beacon",
                                "tower",
                                "arch",
                                "pom",
                                "bear",
                                "pumpkin",
                                "ghost",
                                "bat",
                                "witch-hat",
                                "candy-corn",
                                "turkey",
                                "acorn",
                                "squash",
                                "pie",
                                "corn",
                                "light",
                                "tree",
                                "snowman",
                                "ornament",
                                "gift"
                            ];
                            readonly description: "Optional body override; must belong to the selected skin. Omitted shape is deterministically selected from the DID and skin.";
                        };
                        readonly minItems: 1;
                        readonly uniqueItems: true;
                    };
                    readonly expressions: {
                        readonly type: "array";
                        readonly items: {
                            readonly type: "string";
                            readonly enum: readonly [
                                "neutral",
                                "attentive",
                                "surprised",
                                "excited",
                                "happy",
                                "laughing",
                                "angry",
                                "sad",
                                "scared",
                                "suspicious",
                                "confused",
                                "curious",
                                "proud",
                                "shy",
                                "unimpressed",
                                "sleepy",
                                "thoughtful",
                                "concerned"
                            ];
                            readonly default: "neutral";
                            readonly description: "Shared eye expression across all skins. Body shape and color remain unchanged. Explicit blink shrinks expression eye bars and gaze translates both together.";
                        };
                        readonly minItems: 18;
                        readonly maxItems: 18;
                        readonly uniqueItems: true;
                    };
                };
                readonly allOf: readonly [
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "autos";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "slender",
                                            "wide"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "spacex";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "circle",
                                            "pebble",
                                            "squircle",
                                            "capsule",
                                            "triangle",
                                            "hexagon",
                                            "cloud",
                                            "droplet"
                                        ];
                                    };
                                    readonly minItems: 8;
                                    readonly maxItems: 8;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "fold";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "kite",
                                            "fan"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "sprig";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "bud",
                                            "leaf"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "ripple";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "drop",
                                            "wave"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "halo";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "comet",
                                            "satellite"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "purl";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "mitt",
                                            "hood"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "prism";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "crystal",
                                            "obelisk"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "coil";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "spring",
                                            "bellows"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "kiln";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "vase",
                                            "teapot"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "wisp";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "flame",
                                            "curl"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "relay";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "radio",
                                            "beacon"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "cairn";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "tower",
                                            "arch"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "tuft";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "standard",
                                            "pom",
                                            "bear"
                                        ];
                                    };
                                    readonly minItems: 3;
                                    readonly maxItems: 3;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "halloween";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "pumpkin",
                                            "ghost",
                                            "bat",
                                            "witch-hat",
                                            "candy-corn"
                                        ];
                                    };
                                    readonly minItems: 5;
                                    readonly maxItems: 5;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "thanksgiving";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "turkey",
                                            "acorn",
                                            "squash",
                                            "pie",
                                            "corn"
                                        ];
                                    };
                                    readonly minItems: 5;
                                    readonly maxItems: 5;
                                };
                            };
                        };
                    },
                    {
                        readonly if: {
                            readonly required: readonly [
                                "id"
                            ];
                            readonly properties: {
                                readonly id: {
                                    readonly const: "christmas";
                                };
                            };
                        };
                        readonly then: {
                            readonly properties: {
                                readonly shapes: {
                                    readonly items: {
                                        readonly enum: readonly [
                                            "light",
                                            "tree",
                                            "snowman",
                                            "ornament",
                                            "gift"
                                        ];
                                    };
                                    readonly minItems: 5;
                                    readonly maxItems: 5;
                                };
                            };
                        };
                    }
                ];
            };
            readonly CharacterApiError: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "error"
                ];
                readonly properties: {
                    readonly error: {
                        readonly type: "string";
                        readonly enum: readonly [
                            "invalid_request",
                            "body_too_large",
                            "unsupported_media_type",
                            "method_not_allowed",
                            "not_found"
                        ];
                    };
                };
            };
            readonly AvatarExpression: {
                readonly type: "string";
                readonly enum: readonly [
                    "neutral",
                    "attentive",
                    "surprised",
                    "excited",
                    "happy",
                    "laughing",
                    "angry",
                    "sad",
                    "scared",
                    "suspicious",
                    "confused",
                    "curious",
                    "proud",
                    "shy",
                    "unimpressed",
                    "sleepy",
                    "thoughtful",
                    "concerned"
                ];
                readonly description: "Shared eye expression across all families; does not change identity-derived shape or color.";
            };
            readonly AvatarStatus: {
                readonly type: "string";
                readonly enum: readonly [
                    "neutral",
                    "attentive",
                    "surprised",
                    "excited",
                    "happy",
                    "laughing",
                    "angry",
                    "sad",
                    "scared",
                    "suspicious",
                    "confused",
                    "curious",
                    "proud",
                    "shy",
                    "unimpressed",
                    "sleepy",
                    "thoughtful",
                    "concerned",
                    "idle",
                    "listening",
                    "reasoning",
                    "working",
                    "speaking",
                    "success",
                    "blocked",
                    "error"
                ];
                readonly description: "Expressions map to themselves. Aliases: idle→neutral, listening→attentive, reasoning→thoughtful, working→attentive, speaking/success→happy, blocked/error→concerned. Presentation only; not evidence of actual agent activity.";
            };
            readonly CharacterStatusV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "status",
                    "expression"
                ];
                readonly properties: {
                    readonly status: {
                        readonly $ref: "#/components/schemas/AvatarStatus";
                    };
                    readonly expression: {
                        readonly $ref: "#/components/schemas/AvatarExpression";
                    };
                };
            };
            readonly CharacterAccessory: {
                readonly type: "string";
                readonly enum: readonly [
                    "glasses",
                    "headphones"
                ];
                readonly description: "Closed package-owned accessory identifier; independent of character family.";
            };
            readonly CharacterAccessoriesV1: {
                readonly type: "array";
                readonly items: {
                    readonly $ref: "#/components/schemas/CharacterAccessory";
                };
                readonly maxItems: 2;
                readonly uniqueItems: true;
                readonly default: readonly [
                ];
                readonly description: "Optional independent accessories, canonicalized to glasses then headphones. Omitted selection resolves to []; no null, unknown identifier or duplicate is accepted.";
            };
            readonly CharacterAccessoryDescriptionV1: {
                readonly type: "object";
                readonly additionalProperties: false;
                readonly required: readonly [
                    "id",
                    "label",
                    "description"
                ];
                readonly properties: {
                    readonly id: {
                        readonly $ref: "#/components/schemas/CharacterAccessory";
                    };
                    readonly label: {
                        readonly type: "string";
                        readonly minLength: 1;
                    };
                    readonly description: {
                        readonly type: "string";
                        readonly minLength: 1;
                    };
                };
            };
            readonly CharacterFinish: {
                readonly type: "string";
                readonly enum: readonly [
                    "plush",
                    "flat"
                ];
                readonly default: "plush";
                readonly description: "Shared body finish on every family: plush by default, flat for the vector material. Appearance only; identity and live state stay independent.";
            };
            readonly CharacterEyePlacement: {
                readonly type: "string";
                readonly enum: readonly [
                    "face",
                    "raised"
                ];
                readonly default: "face";
                readonly description: "Shared live-v1 eye placement on every family: on the face by default, or raised above the head. Appearance only; all eighteen expressions remain available.";
            };
        };
        readonly parameters: {
            readonly did: {
                readonly name: "did";
                readonly in: "path";
                readonly required: true;
                readonly schema: {
                    readonly $ref: "#/components/schemas/AgentDid";
                };
                readonly description: "Percent-encode the entire DID as one path segment.";
            };
            readonly IfNoneMatch: {
                readonly name: "If-None-Match";
                readonly in: "header";
                readonly schema: {
                    readonly type: "string";
                    readonly maxLength: 4096;
                };
                readonly description: "GET/HEAD accepts a strong/weak validator, comma-separated list or *. Headers over 4096 characters are ignored.";
            };
            readonly skin: {
                readonly name: "skin";
                readonly in: "query";
                readonly schema: {
                    readonly type: "string";
                    readonly enum: readonly [
                        "autos",
                        "spacex",
                        "fold",
                        "sprig",
                        "ripple",
                        "halo",
                        "purl",
                        "prism",
                        "coil",
                        "kiln",
                        "wisp",
                        "relay",
                        "cairn",
                        "tuft",
                        "halloween",
                        "thanksgiving",
                        "christmas"
                    ];
                    readonly default: "autos";
                };
            };
            readonly skinVersion: {
                readonly name: "skinVersion";
                readonly in: "query";
                readonly schema: {
                    readonly type: "integer";
                    readonly const: 1;
                    readonly default: 1;
                };
            };
            readonly eyeStyle: {
                readonly name: "eyeStyle";
                readonly in: "query";
                readonly schema: {
                    readonly type: "string";
                    readonly const: "live-v1";
                    readonly default: "live-v1";
                    readonly description: "Shared geometry across all families. Future eye geometries receive new identifiers.";
                };
            };
            readonly size: {
                readonly name: "size";
                readonly in: "query";
                readonly schema: {
                    readonly type: "integer";
                    readonly minimum: 32;
                    readonly maximum: 2048;
                    readonly default: 512;
                };
                readonly description: "Unsigned decimal integer, no leading zeroes.";
            };
            readonly animated: {
                readonly name: "animated";
                readonly in: "query";
                readonly schema: {
                    readonly type: "boolean";
                    readonly default: true;
                    readonly description: "Native SMIL animation with no JavaScript or CSS.";
                };
                readonly description: "Exactly true or false.";
            };
            readonly blink: {
                readonly name: "blink";
                readonly in: "query";
                readonly schema: {
                    readonly type: "number";
                    readonly minimum: 0;
                    readonly maximum: 1;
                    readonly default: 0;
                };
                readonly description: "Finite ordinary decimal notation, no exponent, whitespace or leading +.";
            };
            readonly gazeX: {
                readonly name: "gazeX";
                readonly in: "query";
                readonly schema: {
                    readonly type: "number";
                    readonly minimum: -1;
                    readonly maximum: 1;
                    readonly default: 0;
                };
                readonly description: "Finite ordinary decimal notation, no exponent, whitespace or leading +. gazeX and gazeY must be supplied together.";
            };
            readonly gazeY: {
                readonly name: "gazeY";
                readonly in: "query";
                readonly schema: {
                    readonly type: "number";
                    readonly minimum: -1;
                    readonly maximum: 1;
                    readonly default: 0;
                };
                readonly description: "Finite ordinary decimal notation, no exponent, whitespace or leading +. gazeX and gazeY must be supplied together.";
            };
            readonly shape: {
                readonly name: "shape";
                readonly in: "query";
                readonly schema: {
                    readonly type: "string";
                    readonly enum: readonly [
                        "standard",
                        "slender",
                        "wide",
                        "circle",
                        "pebble",
                        "squircle",
                        "capsule",
                        "triangle",
                        "hexagon",
                        "cloud",
                        "droplet",
                        "kite",
                        "fan",
                        "bud",
                        "leaf",
                        "drop",
                        "wave",
                        "comet",
                        "satellite",
                        "mitt",
                        "hood",
                        "crystal",
                        "obelisk",
                        "spring",
                        "bellows",
                        "vase",
                        "teapot",
                        "flame",
                        "curl",
                        "radio",
                        "beacon",
                        "tower",
                        "arch",
                        "pom",
                        "bear",
                        "pumpkin",
                        "ghost",
                        "bat",
                        "witch-hat",
                        "candy-corn",
                        "turkey",
                        "acorn",
                        "squash",
                        "pie",
                        "corn",
                        "light",
                        "tree",
                        "snowman",
                        "ornament",
                        "gift"
                    ];
                    readonly description: "Optional body override; must belong to the selected skin. Omitted shape is deterministically selected from the DID and skin.";
                };
            };
            readonly expression: {
                readonly name: "expression";
                readonly in: "query";
                readonly schema: {
                    readonly type: "string";
                    readonly enum: readonly [
                        "neutral",
                        "attentive",
                        "surprised",
                        "excited",
                        "happy",
                        "laughing",
                        "angry",
                        "sad",
                        "scared",
                        "suspicious",
                        "confused",
                        "curious",
                        "proud",
                        "shy",
                        "unimpressed",
                        "sleepy",
                        "thoughtful",
                        "concerned"
                    ];
                    readonly default: "neutral";
                    readonly description: "Shared eye expression across all skins. Body shape and color remain unchanged. Explicit blink shrinks expression eye bars and gaze translates both together.";
                };
                readonly description: "Outer preferred expression fallback. A status query is state.status and overrides this preference. Explicit runtime expression overrides can be supplied in POST state.expression.";
            };
            readonly status: {
                readonly name: "status";
                readonly in: "query";
                readonly schema: {
                    readonly $ref: "#/components/schemas/AvatarStatus";
                };
                readonly description: "Parsed as state.status. Overrides expression query preference with its mapped expression. Duplicate/unknown status values are refused before rendering or cache validation.";
            };
            readonly view: {
                readonly name: "view";
                readonly in: "query";
                readonly schema: {
                    readonly type: "string";
                    readonly enum: readonly [
                        "avatar",
                        "full"
                    ];
                    readonly default: "avatar";
                    readonly description: "Face crop for avatars by default; full shows the complete body. Rendering only, independent of stored appearance and runtime eye state.";
                };
            };
            readonly accessories: {
                readonly name: "accessories";
                readonly in: "query";
                readonly required: false;
                readonly style: "form";
                readonly explode: false;
                readonly allowEmptyValue: true;
                readonly schema: {
                    readonly $ref: "#/components/schemas/CharacterAccessoriesV1";
                };
                readonly description: "One comma-separated selection, for example glasses,headphones. Empty string means []; either input order normalizes to catalog order. Repeated query parameters, duplicates, unknown IDs, whitespace and empty elements are refused.";
            };
            readonly finish: {
                readonly name: "finish";
                readonly in: "query";
                readonly schema: {
                    readonly $ref: "#/components/schemas/CharacterFinish";
                };
            };
            readonly eyePlacement: {
                readonly name: "eyePlacement";
                readonly in: "query";
                readonly schema: {
                    readonly $ref: "#/components/schemas/CharacterEyePlacement";
                };
            };
        };
        readonly headers: {
            readonly CorsOrigin: {
                readonly schema: {
                    readonly type: "string";
                    readonly const: "*";
                };
            };
            readonly CorsExpose: {
                readonly schema: {
                    readonly type: "string";
                    readonly const: "ETag, Content-Length";
                };
            };
            readonly NoSniff: {
                readonly schema: {
                    readonly type: "string";
                    readonly const: "nosniff";
                };
            };
            readonly CacheControl: {
                readonly schema: {
                    readonly type: "string";
                };
            };
            readonly ETag: {
                readonly schema: {
                    readonly type: "string";
                };
                readonly description: "Strong SHA-256 validator for exact response bytes.";
            };
            readonly ContentLength: {
                readonly schema: {
                    readonly type: "integer";
                    readonly minimum: 0;
                };
            };
            readonly SvgCsp: {
                readonly schema: {
                    readonly type: "string";
                    readonly const: "default-src 'none'; img-src 'none'; style-src 'none'; sandbox";
                };
            };
        };
        readonly responses: {
            readonly InvalidRequest: {
                readonly description: "Invalid DID, malformed value or JSON, unknown field, unknown or duplicate query parameter.";
                readonly headers: {
                    readonly "Access-Control-Allow-Origin": {
                        readonly $ref: "#/components/headers/CorsOrigin";
                    };
                    readonly "Access-Control-Expose-Headers": {
                        readonly $ref: "#/components/headers/CorsExpose";
                    };
                    readonly "X-Content-Type-Options": {
                        readonly $ref: "#/components/headers/NoSniff";
                    };
                    readonly "Cache-Control": {
                        readonly $ref: "#/components/headers/CacheControl";
                    };
                };
                readonly content: {
                    readonly "application/json": {
                        readonly schema: {
                            readonly $ref: "#/components/schemas/CharacterApiError";
                        };
                    };
                };
            };
            readonly NotFound: {
                readonly description: "Route outside this handler or unsupported route shape.";
                readonly headers: {
                    readonly "Access-Control-Allow-Origin": {
                        readonly $ref: "#/components/headers/CorsOrigin";
                    };
                    readonly "Access-Control-Expose-Headers": {
                        readonly $ref: "#/components/headers/CorsExpose";
                    };
                    readonly "X-Content-Type-Options": {
                        readonly $ref: "#/components/headers/NoSniff";
                    };
                    readonly "Cache-Control": {
                        readonly $ref: "#/components/headers/CacheControl";
                    };
                };
                readonly content: {
                    readonly "application/json": {
                        readonly schema: {
                            readonly $ref: "#/components/schemas/CharacterApiError";
                        };
                    };
                };
            };
            readonly MethodNotAllowed: {
                readonly description: "Method not supported; Allow identifies allowed methods.";
                readonly headers: {
                    readonly "Access-Control-Allow-Origin": {
                        readonly $ref: "#/components/headers/CorsOrigin";
                    };
                    readonly "Access-Control-Expose-Headers": {
                        readonly $ref: "#/components/headers/CorsExpose";
                    };
                    readonly "X-Content-Type-Options": {
                        readonly $ref: "#/components/headers/NoSniff";
                    };
                    readonly "Cache-Control": {
                        readonly $ref: "#/components/headers/CacheControl";
                    };
                    readonly Allow: {
                        readonly schema: {
                            readonly type: "string";
                        };
                    };
                };
                readonly content: {
                    readonly "application/json": {
                        readonly schema: {
                            readonly $ref: "#/components/schemas/CharacterApiError";
                        };
                    };
                };
            };
            readonly BodyTooLarge: {
                readonly description: "Announced or streamed body exceeds 16384 bytes.";
                readonly headers: {
                    readonly "Access-Control-Allow-Origin": {
                        readonly $ref: "#/components/headers/CorsOrigin";
                    };
                    readonly "Access-Control-Expose-Headers": {
                        readonly $ref: "#/components/headers/CorsExpose";
                    };
                    readonly "X-Content-Type-Options": {
                        readonly $ref: "#/components/headers/NoSniff";
                    };
                    readonly "Cache-Control": {
                        readonly $ref: "#/components/headers/CacheControl";
                    };
                };
                readonly content: {
                    readonly "application/json": {
                        readonly schema: {
                            readonly $ref: "#/components/schemas/CharacterApiError";
                        };
                    };
                };
            };
            readonly UnsupportedMediaType: {
                readonly description: "Requires uncompressed UTF-8 application/json, optionally charset=utf-8.";
                readonly headers: {
                    readonly "Access-Control-Allow-Origin": {
                        readonly $ref: "#/components/headers/CorsOrigin";
                    };
                    readonly "Access-Control-Expose-Headers": {
                        readonly $ref: "#/components/headers/CorsExpose";
                    };
                    readonly "X-Content-Type-Options": {
                        readonly $ref: "#/components/headers/NoSniff";
                    };
                    readonly "Cache-Control": {
                        readonly $ref: "#/components/headers/CacheControl";
                    };
                };
                readonly content: {
                    readonly "application/json": {
                        readonly schema: {
                            readonly $ref: "#/components/schemas/CharacterApiError";
                        };
                    };
                };
            };
        };
    };
};

Source: @openagentid/sdk@0.7.2, dist/character-api.d.ts:11.

CharacterAppearance

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

Signature
interface CharacterAppearance {
    readonly skin: CharacterSkin;
    readonly skinVersion?: 1;
    readonly eyeStyle?: CharacterEyeStyle;
    readonly finish?: CharacterFinish;
    readonly eyePlacement?: CharacterEyePlacement;
    readonly shape?: CharacterShape;
    readonly accessories?: readonly CharacterAccessory[];
}

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:29.

characterAppearanceSchema

Versioned body/face selection. Runtime expression and gaze are independent.

Signature
declare const characterAppearanceSchema: z.ZodEffects<z.ZodObject<{
    skin: z.ZodEnum<[
        CharacterSkin,
        ...CharacterSkin[]
    ]>;
    skinVersion: z.ZodOptional<z.ZodLiteral<1>>;
    eyeStyle: z.ZodOptional<z.ZodLiteral<"live-v1">>;
    finish: z.ZodOptional<z.ZodEnum<[
        "plush",
        "flat"
    ]>>;
    eyePlacement: z.ZodOptional<z.ZodEnum<[
        "face",
        "raised"
    ]>>;
    shape: z.ZodOptional<z.ZodEnum<[
        NonNullable<CharacterShape | undefined>,
        ...NonNullable<CharacterShape | undefined>[]
    ]>>;
    accessories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<[
        "glasses",
        "headphones"
    ]>, "many">, readonly CharacterAccessory[], ("glasses" | "headphones")[]>>;
}, "strict", z.ZodTypeAny, {
    skin: CharacterSkin;
    skinVersion?: 1 | undefined;
    eyeStyle?: "live-v1" | undefined;
    finish?: "flat" | "plush" | undefined;
    eyePlacement?: "face" | "raised" | undefined;
    shape?: NonNullable<CharacterShape | undefined> | undefined;
    accessories?: readonly CharacterAccessory[] | undefined;
}, {
    skin: CharacterSkin;
    skinVersion?: 1 | undefined;
    eyeStyle?: "live-v1" | undefined;
    finish?: "flat" | "plush" | undefined;
    eyePlacement?: "face" | "raised" | undefined;
    shape?: NonNullable<CharacterShape | undefined> | undefined;
    accessories?: ("glasses" | "headphones")[] | undefined;
}>, {
    skin: CharacterSkin;
    skinVersion?: 1 | undefined;
    eyeStyle?: "live-v1" | undefined;
    finish?: "flat" | "plush" | undefined;
    eyePlacement?: "face" | "raised" | undefined;
    shape?: NonNullable<CharacterShape | undefined> | undefined;
    accessories?: readonly CharacterAccessory[] | undefined;
}, {
    skin: CharacterSkin;
    skinVersion?: 1 | undefined;
    eyeStyle?: "live-v1" | undefined;
    finish?: "flat" | "plush" | undefined;
    eyePlacement?: "face" | "raised" | undefined;
    shape?: NonNullable<CharacterShape | undefined> | undefined;
    accessories?: ("glasses" | "headphones")[] | undefined;
}>;

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:59.

CharacterDescriptor

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

Signature
interface CharacterDescriptor {
    readonly did: string;
    readonly skin: CharacterSkin;
    readonly skinVersion: 1;
    readonly eyeStyle: CharacterEyeStyle;
    readonly finish: CharacterFinish;
    readonly eyePlacement: CharacterEyePlacement;
    readonly shape: CharacterShape;
    readonly accessories: readonly CharacterAccessory[];
    readonly expression: AvatarExpression;
    readonly color: string;
    readonly view: CharacterView;
    readonly size: number;
    readonly animated: boolean;
    readonly state: {
        readonly status?: AvatarStatus;
        readonly expression?: AvatarExpression;
        readonly blink: number;
        readonly gaze: {
            readonly x: number;
            readonly y: number;
        };
    };
    readonly svg: string;
}

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:60.

CharacterEyeFrame

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

Signature
interface CharacterEyeFrame {
    readonly x: number;
    readonly y: number;
    readonly width: number;
    readonly height: number;
    readonly rx: number;
    readonly rotation: number;
    readonly centerX: number;
    readonly centerY: number;
}

Source: @openagentid/sdk@0.7.2, dist/character-animation.d.ts:10.

CharacterEyePlacement

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

Signature
type CharacterEyePlacement = 'face' | 'raised';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:27.

CharacterEyeStyle

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

Signature
type CharacterEyeStyle = 'live-v1';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:26.

CharacterFinish

One self-contained material for every package-owned silhouette.

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

Signature
type CharacterFinish = 'plush' | 'flat';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:19.

CharacterFrame

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

Signature
interface CharacterFrame extends CharacterRuntimeState {
    readonly eyes: readonly [
        CharacterEyeFrame,
        CharacterEyeFrame
    ];
}

Source: @openagentid/sdk@0.7.2, dist/character-animation.d.ts:20.

CharacterOptions

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

Signature
interface CharacterOptions extends Omit<CharacterAppearance, 'skin'> {
    readonly skin?: CharacterSkin;
    readonly expression?: AvatarExpression;
    readonly view?: CharacterView;
    readonly size?: number;
    readonly animated?: boolean;
    readonly state?: LiveEyeState;
}

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:41.

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.

CharacterShape

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

Signature
type CharacterShape = 'standard' | 'slender' | 'wide' | 'circle' | 'pebble' | 'squircle' | 'capsule' | 'triangle' | 'hexagon' | 'cloud' | 'droplet' | 'kite' | 'fan' | 'bud' | 'leaf' | 'drop' | 'wave' | 'comet' | 'satellite' | 'mitt' | 'hood' | 'crystal' | 'obelisk' | 'spring' | 'bellows' | 'vase' | 'teapot' | 'flame' | 'curl' | 'radio' | 'beacon' | 'tower' | 'arch' | 'pom' | 'bear' | 'pumpkin' | 'ghost' | 'bat' | 'witch-hat' | 'candy-corn' | 'turkey' | 'acorn' | 'squash' | 'pie' | 'corn' | 'light' | 'tree' | 'snowman' | 'ornament' | 'gift';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:28.

CharacterSkin

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

Signature
type CharacterSkin = 'autos' | 'spacex' | 'fold' | 'sprig' | 'ripple' | 'halo' | 'purl' | 'prism' | 'coil' | 'kiln' | 'wisp' | 'relay' | 'cairn' | 'tuft' | 'halloween' | 'thanksgiving' | 'christmas';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:24.

CharacterSkinDescription

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

Signature
interface CharacterSkinDescription {
    readonly id: CharacterSkin;
    readonly label: string;
    readonly version: 1;
    readonly eyeStyles: readonly CharacterEyeStyle[];
    readonly shapes: readonly CharacterShape[];
    readonly expressions: readonly AvatarExpression[];
}

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:52.

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.

CharacterView

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

Signature
type CharacterView = 'avatar' | 'full';

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:25.

ConfigError

Configuration or usage violation (invalid input, missing dependency).

Signature
declare class ConfigError extends OpenAgentError {
    constructor(message: string, context?: Record<string, unknown>);
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:68.

CreateAgentInput

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

Signature
type CreateAgentInput = z.infer<typeof createAgentInputSchema>;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:56.

createAgentInputSchema

Parameters accepted by {@link OpenAgent.createAgent }.

Signature
declare const createAgentInputSchema: z.ZodObject<{
    parent: z.ZodEffects<z.ZodString, string, string>;
    name: z.ZodString;
    scopes: z.ZodArray<z.ZodString, "many">;
    namespace: z.ZodOptional<z.ZodString>;
    skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
    parent: string;
    name: string;
    scopes: string[];
    namespace?: string | undefined;
    skills?: string[] | undefined;
    metadata?: Record<string, unknown> | undefined;
}, {
    parent: string;
    name: string;
    scopes: string[];
    namespace?: string | undefined;
    skills?: string[] | undefined;
    metadata?: Record<string, unknown> | undefined;
}>;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:28.

createCharacterAnimator

A single timeline: interruptions preserve both eye position and velocity.

Signature
declare function createCharacterAnimator(did: string, options?: CharacterAnimatorOptions): CharacterAnimator;

Source: @openagentid/sdk@0.7.2, dist/character-animation.d.ts:30.

createCharacterApiHandler

Unauthenticated, stateless decoration only. This handler never resolves, registers, authenticates or verifies the requested agent identity.

Signature
declare function createCharacterApiHandler(options?: CharacterApiHandlerOptions): (request: Request) => Promise<Response>;

Source: @openagentid/sdk@0.7.2, dist/character-api.d.ts:9.

createCredentialHandle

Create a {@link CredentialHandle} backed by an Arsenal client.

Signature
declare function createCredentialHandle(params: CreateCredentialHandleParams): Promise<CredentialHandle>;

Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:96.

createIdentityVerificationHandler

Host this handler at your chosen POST endpoint. No endpoint is auto-deployed.

Signature
declare function createIdentityVerificationHandler(verifier: IdentityVerifier, options: IdentityVerificationHandlerOptions): (request: Request) => Promise<Response>;

Source: @openagentid/sdk@0.7.2, dist/verification-api.d.ts:16.

createOatsEvidenceVerifier

Concrete OAS Ed25519Signature2020 verifier. It verifies upstream JCS signing bytes, assertion-authorized issuer keys, authoritative owner chains and current attestation revocation. No cryptographic work is delegated to callers.

Signature
declare function createOatsEvidenceVerifier(config: OatsEvidenceVerifierConfig): OatsEvidenceVerifier;

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:99.

CredentialError

Arsenal credentials subsystem failure.

Signature
declare class CredentialError extends OpenAgentError {
    constructor(message: string, details: ErrorDetails);
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:80.

CredentialHandle

A live, fetch-ready credential bound to an agent DID + provider.

The fetch method is a drop-in replacement for globalThis.fetch. The underlying credential is refreshed lazily when the caller invokes refresh() — auto-rotation stays out of the per-request hot path.

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

Signature
interface CredentialHandle {
    readonly provider: string;
    readonly agentDid: Did;
    readonly expiresAt: number;
    fetch: typeof fetch;
    refresh(): Promise<CredentialHandle>;
    release(): Promise<void>;
}

Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:68.

DEFAULT_NAMESPACE

Signature
declare const DEFAULT_NAMESPACE = "openagent";

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:125.

DEFAULT_REQUEST_TIMEOUT_MS

Signature
declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:126.

denyAllSkills

Empty policy that denies everything.

Signature
declare const denyAllSkills: SkillsPolicy;

Source: @openagentid/sdk@0.7.2, dist/skills.d.ts:45.

Did

Fully qualified did:oas identifier.

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

Signature
type Did = string;

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:7.

DID_REGEX

DID regex for did:oas:&lt;namespace&gt;:&lt;kind&gt;:&lt;identifier&gt;.

Mirrors the OAS v1.1.0 specification. We keep it deliberately permissive here — strict validation belongs in the OAS SDK itself.

Signature
declare const DID_REGEX: RegExp;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:17.

didSchema

Signature
declare const didSchema: z.ZodEffects<z.ZodString, string, string>;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:20.

ErrorCode

Stable machine-readable error codes. These are part of the SDK's public contract and MUST stay in sync with the Rust reference implementation.

Signature
declare const ErrorCode: {
    readonly INVALID_CONFIG: "openagent/invalid-config";
    readonly INVALID_INPUT: "openagent/invalid-input";
    readonly NOT_INITIALIZED: "openagent/not-initialized";
    readonly IDENTITY_CREATE_FAILED: "openagent/identity/create-failed";
    readonly IDENTITY_RESOLVE_FAILED: "openagent/identity/resolve-failed";
    readonly IDENTITY_SIGNATURE_INVALID: "openagent/identity/signature-invalid";
    readonly IDENTITY_LINEAGE_INVALID: "openagent/identity/lineage-invalid";
    readonly CREDENTIAL_FETCH_FAILED: "openagent/credentials/fetch-failed";
    readonly CREDENTIAL_SCOPE_DENIED: "openagent/credentials/scope-denied";
    readonly CREDENTIAL_PROVIDER_UNKNOWN: "openagent/credentials/provider-unknown";
    readonly CREDENTIAL_EXPIRED: "openagent/credentials/expired";
    readonly VERIFICATION_FAILED: "openagent/verification/failed";
    readonly AUTH_REQUIRED: "openagent/verification/auth-required";
    readonly AUTH_CHALLENGE_INVALID: "openagent/verification/challenge-invalid";
    readonly SKILL_DENIED: "openagent/skills/denied";
    readonly SKILL_UNKNOWN: "openagent/skills/unknown";
    readonly NETWORK_ERROR: "openagent/network-error";
    readonly SERIALIZATION_ERROR: "openagent/serialization-error";
    readonly UNKNOWN: "openagent/unknown";
};

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:15.

ErrorCodeValue

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

Signature
type ErrorCodeValue = (typeof ErrorCode)[keyof typeof ErrorCode];

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:36.

ErrorDetails

Structured error metadata attached to every {@link OpenAgentError}.

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

Signature
interface ErrorDetails {
    code: ErrorCodeValue;
    cause?: unknown;
    context?: Record<string, unknown>;
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:38.

expressionEyes

Signature
declare const expressionEyes: Readonly<Record<AvatarExpression, readonly [
    EyeGeometry,
    EyeGeometry
]>>;

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:90.

expressionForStatus

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

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

extractBearerToken

Extract the bearer token from a Request without trusting it.

Checks, in order: Authorization: OpenAgent ..., Authorization: Bearer ..., X-OpenAgent-Token, and an oa_token query parameter. Returns null if absent.

Signature
declare function extractBearerToken(req: Request): string | null;

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:106.

EyeGeometry

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

Signature
type EyeGeometry = readonly [
    width: number,
    height: number,
    centerY: number,
    rotation: number
];

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:89.

generateCharacter

Self-contained SVG character. Public DID-derived pixels are not identity proof.

Signature
declare function generateCharacter(did: string, options?: CharacterOptions): CharacterDescriptor;

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:92.

getCharacterAccessories

Immutable catalog. Accessories can be combined and default to none.

Signature
declare function getCharacterAccessories(): readonly CharacterAccessoryDescription[];

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:13.

getCharacterExpressions

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

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

getCharacterSkins

Immutable versioned body/face skins. Eye expression is independent of skin.

Signature
declare function getCharacterSkins(): readonly CharacterSkinDescription[];

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:86.

getCharacterStatuses

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

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

getErrorMessage

Narrow an unknown caught value to a human-readable message.

Signature
declare function getErrorMessage(err: unknown): string;

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:95.

glyphCodeword

Compact payload and BLAKE3 detection parity matching upstream glyph format v1. This parity is not Reed–Solomon correction and is never authentication proof.

Signature
declare function glyphCodeword(did: string): Uint8Array;

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:30.

glyphEndpoint

GET /v1/glyph/svg/:did. This endpoint always renders identity-derived pixels; profile overrides are resolved by the caller, never fetched by this service.

Signature
declare function glyphEndpoint(request: Request): Response;

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:39.

GlyphOptions

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

Signature
interface GlyphOptions {
    size?: number;
    background?: boolean;
}

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:5.

IdentityDocument

OAS identity document fragment — minimum fields needed by the SDK.

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

Signature
interface IdentityDocument {
    did: Did;
    parent: Did;
    publicKeyMultibase: string;
    kind: string;
    scopes: readonly string[];
    createdAt: string;
    avatarOverride?: string | null;
    avatarSkin?: CharacterAppearance | null;
    avatarExpression?: AvatarExpression;
    metadata?: Record<string, unknown>;
}

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:9.

identityDocumentSchema

Runtime-validated identity document schema.

Signature
declare const identityDocumentSchema: z.ZodObject<{
    did: z.ZodEffects<z.ZodString, string, string>;
    parent: z.ZodEffects<z.ZodString, string, string>;
    publicKeyMultibase: z.ZodString;
    kind: z.ZodString;
    scopes: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
    createdAt: z.ZodString;
    avatarOverride: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, string | null | undefined>;
    avatarSkin: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodObject<{
        skin: z.ZodEnum<[
            CharacterSkin,
            ...CharacterSkin[]
        ]>;
        skinVersion: z.ZodOptional<z.ZodLiteral<1>>;
        eyeStyle: z.ZodOptional<z.ZodLiteral<"live-v1">>;
        finish: z.ZodOptional<z.ZodEnum<[
            "plush",
            "flat"
        ]>>;
        eyePlacement: z.ZodOptional<z.ZodEnum<[
            "face",
            "raised"
        ]>>;
        shape: z.ZodOptional<z.ZodEnum<[
            NonNullable<CharacterShape | undefined>,
            ...NonNullable<CharacterShape | undefined>[]
        ]>>;
        accessories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<[
            "glasses",
            "headphones"
        ]>, "many">, readonly CharacterAccessory[], ("glasses" | "headphones")[]>>;
    }, "strict", z.ZodTypeAny, {
        skin: CharacterSkin;
        skinVersion?: 1 | undefined;
        eyeStyle?: "live-v1" | undefined;
        finish?: "flat" | "plush" | undefined;
        eyePlacement?: "face" | "raised" | undefined;
        shape?: NonNullable<CharacterShape | undefined> | undefined;
        accessories?: readonly CharacterAccessory[] | undefined;
    }, {
        skin: CharacterSkin;
        skinVersion?: 1 | undefined;
        eyeStyle?: "live-v1" | undefined;
        finish?: "flat" | "plush" | undefined;
        eyePlacement?: "face" | "raised" | undefined;
        shape?: NonNullable<CharacterShape | undefined> | undefined;
        accessories?: ("glasses" | "headphones")[] | undefined;
    }>, {
        skin: CharacterSkin;
        skinVersion?: 1 | undefined;
        eyeStyle?: "live-v1" | undefined;
        finish?: "flat" | "plush" | undefined;
        eyePlacement?: "face" | "raised" | undefined;
        shape?: NonNullable<CharacterShape | undefined> | undefined;
        accessories?: readonly CharacterAccessory[] | undefined;
    }, {
        skin: CharacterSkin;
        skinVersion?: 1 | undefined;
        eyeStyle?: "live-v1" | undefined;
        finish?: "flat" | "plush" | undefined;
        eyePlacement?: "face" | "raised" | undefined;
        shape?: NonNullable<CharacterShape | undefined> | undefined;
        accessories?: ("glasses" | "headphones")[] | undefined;
    }>>>;
    avatarExpression: z.ZodOptional<z.ZodEnum<[
        "neutral",
        "attentive",
        "surprised",
        "excited",
        "happy",
        "laughing",
        "angry",
        "sad",
        "scared",
        "suspicious",
        "confused",
        "curious",
        "proud",
        "shy",
        "unimpressed",
        "sleepy",
        "thoughtful",
        "concerned"
    ]>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
    parent: string;
    scopes: readonly string[];
    kind: string;
    did: string;
    publicKeyMultibase: string;
    createdAt: string;
    metadata?: Record<string, unknown> | undefined;
    avatarOverride?: string | null | undefined;
    avatarSkin?: {
        skin: CharacterSkin;
        skinVersion?: 1 | undefined;
        eyeStyle?: "live-v1" | undefined;
        finish?: "flat" | "plush" | undefined;
        eyePlacement?: "face" | "raised" | undefined;
        shape?: NonNullable<CharacterShape | undefined> | undefined;
        accessories?: readonly CharacterAccessory[] | undefined;
    } | null | undefined;
    avatarExpression?: "neutral" | "attentive" | "surprised" | "excited" | "happy" | "laughing" | "angry" | "sad" | "scared" | "suspicious" | "confused" | "curious" | "proud" | "shy" | "unimpressed" | "sleepy" | "thoughtful" | "concerned" | undefined;
}, {
    parent: string;
    scopes: readonly string[];
    kind: string;
    did: string;
    publicKeyMultibase: string;
    createdAt: string;
    metadata?: Record<string, unknown> | undefined;
    avatarOverride?: string | null | undefined;
    avatarSkin?: {
        skin: CharacterSkin;
        skinVersion?: 1 | undefined;
        eyeStyle?: "live-v1" | undefined;
        finish?: "flat" | "plush" | undefined;
        eyePlacement?: "face" | "raised" | undefined;
        shape?: NonNullable<CharacterShape | undefined> | undefined;
        accessories?: ("glasses" | "headphones")[] | undefined;
    } | null | undefined;
    avatarExpression?: "neutral" | "attentive" | "surprised" | "excited" | "happy" | "laughing" | "angry" | "sad" | "scared" | "suspicious" | "confused" | "curious" | "proud" | "shy" | "unimpressed" | "sleepy" | "thoughtful" | "concerned" | undefined;
}>;

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:102.

IdentityError

OAS identity subsystem failure.

Signature
declare class IdentityError extends OpenAgentError {
    constructor(message: string, details: ErrorDetails);
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:76.

IdentityKeyPurpose

DID verification relationships authorized by the authoritative resolver.

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

Signature
type IdentityKeyPurpose = 'authentication' | 'capabilityDelegation' | 'assertionMethod' | 'capabilityInvocation' | 'keyAgreement';

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:48.

IdentityProvider

The OAS identity facade. Concrete providers come from @openagentid/oas-sdk (production) or from {@link StubIdentityProvider } (test / offline dev).

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

Signature
interface IdentityProvider {
    createAgentIdentity(input: CreateAgentInput): Promise<IdentityDocument>;
    resolve(did: Did): Promise<IdentityDocument>;
    signChallenge(did: Did, challenge: Uint8Array): Promise<SignedAssertion>;
    publicKey(did: Did): Promise<string>;
}

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:48.

IdentityVerificationError

Signature
declare class IdentityVerificationError extends Error {
    readonly code: IdentityVerificationFailure;
    readonly name = "IdentityVerificationError";
    constructor(code: IdentityVerificationFailure, message: string);
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:103.

IdentityVerificationFailure

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

Signature
type IdentityVerificationFailure = 'invalid_proof' | 'untrusted_owner' | 'revoked' | 'replayed' | 'authority_unavailable';

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:102.

IdentityVerificationHandlerOptions

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

Signature
interface IdentityVerificationHandlerOptions {
    readonly audience: string;
    resolveNonce(request: Request): Promise<string>;
    readonly maxBodyBytes?: number;
}

Source: @openagentid/sdk@0.7.2, dist/verification-api.d.ts:4.

IdentityVerifier

Signed possession, authorized roots, delegation and live revocation checks.

Signature
declare class IdentityVerifier {
    constructor(config: IdentityVerifierConfig);
    verify(proof: AgentIdentityProof, options: VerifyIdentityOptions): Promise<VerifiedAgentIdentity>;
    verifyLineage(did: string, delegations: readonly string[], options: {
        audience: string;
    }): Promise<VerifiedAgentIdentity>;
    resolve(did: string, options: {
        audience: string;
    }): Promise<VerifiedAgentIdentity>;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:111.

IdentityVerifierConfig

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

Signature
interface IdentityVerifierConfig {
    resolveDid(did: string): Promise<ResolvedIdentityDocument | null>;
    authorizeOwner(rootDid: string): Promise<VerifiedOwner | null>;
    authorizeSelfRoot?(rootDid: string, options: {
        audience: string;
    }): Promise<SelfRootAuthorization | null>;
    checkRevocation(check: RevocationCheck): Promise<{
        revoked: boolean;
        checkedAt: number;
    }>;
    replay: {
        consume(claim: ReplayClaim): Promise<boolean>;
    };
    resolveDelegations?(did: string, audience: string): Promise<readonly string[]>;
    now?: () => number;
    maxProofAgeSeconds?: number;
    maxDelegationAgeSeconds?: number;
    maxRevocationAgeSeconds?: number;
    maxDepth?: number;
    clockToleranceSeconds?: number;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:70.

InMemorySkillsPolicy

In-memory, immutable skills policy. Every mutation returns a new instance.

Supports two match modes:

  • Exact: frontend-design matches only frontend-design
  • Wildcard suffix: frontend-* matches frontend-design, frontend-test, ...
Signature
declare class InMemorySkillsPolicy implements SkillsPolicy {
    constructor(skills?: readonly SkillId[]);
    canInvoke(skill: SkillId): boolean;
    assertCanInvoke(skill: SkillId): void;
    listAllowed(): readonly SkillId[];
    grant(skill: SkillId): SkillsPolicy;
    revoke(skill: SkillId): SkillsPolicy;
}

Source: @openagentid/sdk@0.7.2, dist/skills.d.ts:35.

InputValidationError

Runtime input validation failure (Zod, boundary checks).

Signature
declare class InputValidationError extends OpenAgentError {
    constructor(message: string, cause?: unknown, context?: Record<string, unknown>);
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:72.

isAgentAvatarDid

Supported agent avatar input, not registration, authorization or identity proof.

Signature
declare function isAgentAvatarDid(value: unknown): value is string;

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:22.

IssuedCredential

A short-lived credential minted by the Arsenal broker.

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

Signature
interface IssuedCredential {
    provider: string;
    proxyUrl: string;
    expiresAt: number;
    remainingCalls?: number;
    metadata?: Record<string, unknown>;
}

Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:32.

KeyCryptoBinding

The crypto-wasm binding shape key custody consumes.

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

Signature
interface KeyCryptoBinding {
    ed25519_generate_keypair(): {
        signing_key: Uint8Array;
        verifying_key: Uint8Array;
    };
    ed25519_public_from_private(signingKey: Uint8Array): Uint8Array;
    x25519_generate_keypair(): {
        secret_key: Uint8Array;
        public_key: Uint8Array;
    };
    x25519_public_from_secret?(secretKey: Uint8Array): Uint8Array;
    blake3_derive_key(context: string, keyMaterial: Uint8Array): Uint8Array;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:219.

keys

The key-custody namespace.

Signature
declare const keys: {
    readonly generate: () => Promise<AgentKeys>;
    readonly fromSeed: (seed: Uint8Array) => AgentKeys;
    readonly fromSeedHex: (hex: string) => AgentKeys;
    readonly fromEnv: (envVar: string) => AgentKeys;
    readonly saveSeed: (keys: AgentKeys, path: string) => Promise<void>;
    readonly fromSeedFile: (path: string) => Promise<AgentKeys>;
    readonly seedToHex: typeof toHex;
    readonly setCryptoBinding: typeof setKeyCryptoBinding;
};

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:249.

LEGACY_DID_REGEX

Read existing legacy identities without rewriting their signed identifiers.

Signature
declare const LEGACY_DID_REGEX: RegExp;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:19.

LineageAuthorityContext

Sigil-backed lineage authority attached by an OAS verifier.

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

Signature
interface LineageAuthorityContext {
    readonly subject: Did;
    readonly source: string;
    readonly root: Did;
    readonly path: readonly Did[];
    readonly finalizedBlock: number;
    readonly pathKind: string;
    readonly scopes: readonly string[];
    readonly generation: number;
    readonly rootKind?: string;
    readonly orgRootCommitment?: string;
    readonly expiresAt?: string;
}

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:19.

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.

Logger

Logger interface — structured, dependency-free.

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

Signature
interface Logger {
    debug(msg: string, fields?: Record<string, unknown>): void;
    info(msg: string, fields?: Record<string, unknown>): void;
    warn(msg: string, fields?: Record<string, unknown>): void;
    error(msg: string, fields?: Record<string, unknown>): void;
}

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:58.

oasGlyph

Deterministic SVG avatar. No network calls, private keys or raw DID markup.

Signature
declare function oasGlyph(did: string, options?: GlyphOptions): string;

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:32.

OATS_WEIGHTS

Signature
declare const OATS_WEIGHTS: Readonly<{
    SecurityAudit: 0.3;
    BenchmarkResult: 0.25;
    ExpertEndorsement: 0.2;
    PublisherBond: 0.15;
    CommunityReview: 0.1;
}>;

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:4.

OatsComponentScore

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

Signature
interface OatsComponentScore {
    readonly rawScore: number;
    readonly weight: number;
    readonly evidenceCount: number;
    readonly latestEvidence: string | null;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:76.

OatsCompositeScore

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

Signature
interface OatsCompositeScore {
    readonly entityDid: string;
    readonly components: Readonly<Record<OatsEvidenceType, OatsComponentScore>>;
    readonly composite: number;
    readonly confidence: number;
    readonly evidenceCount: number;
    readonly computedAt: string;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:82.

OatsCredential

An OAS VC; the adapter verifies its complete signed body and proof.

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

Signature
interface OatsCredential {
    readonly id: string;
    readonly issuer: string;
    readonly issuanceDate: string;
    readonly expirationDate?: string;
    readonly type: readonly string[];
    readonly oasAttestationType?: OatsEvidenceType;
    readonly credentialSubject: Readonly<Record<string, unknown>> & {
        readonly id: string;
    };
    readonly proof: Readonly<Record<string, unknown>>;
    readonly [extension: string]: unknown;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:13.

OatsError

Signature
declare class OatsError extends Error {
    readonly code: string;
    constructor(code: string, message: string);
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:90.

OatsEvidenceType

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

Signature
type OatsEvidenceType = keyof typeof OATS_WEIGHTS;

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:11.

OatsEvidenceVerifier

Resolve keys from an authoritative source, verify the entire credential, and verify current identity roots, signed lineage and revocation for issuer and subject. Never derive trusted keys or owner bindings from the submitted credential itself.

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

Signature
type OatsEvidenceVerifier = (credential: OatsCredential, context: OatsVerificationContext) => Promise<VerifiedOatsEvidence>;

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:49.

OatsEvidenceVerifierConfig

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

Signature
interface OatsEvidenceVerifierConfig {
    readonly audience: string;
    readonly identity: IdentityVerifierConfig & {
        resolveDelegations(did: string, audience: string): Promise<readonly string[]>;
    };
    resolveIssuerAssertionMethods(did: string): Promise<OatsIssuerAssertionDocument | null>;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:59.

OatsIssuerAssertionDocument

Keys already authorized for assertionMethod by the authoritative OAS resolver.

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

Signature
interface OatsIssuerAssertionDocument {
    readonly did: string;
    readonly assertionMethods: readonly {
        readonly id: string;
        readonly controller: string;
        readonly publicKeyJwk: JWK;
    }[];
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:51.

oatsMeetsThreshold

Both verified composite and confidence must meet the bounded thresholds.

Signature
declare function oatsMeetsThreshold(score: OatsCompositeScore, minimumComposite: number, minimumConfidence: number): boolean;

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:109.

OatsScorerOptions

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

Signature
interface OatsScorerOptions {
    readonly trustedIssuers: readonly string[];
    readonly verifyEvidence: OatsEvidenceVerifier;
    readonly now?: () => Date;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:69.

OatsVerificationContext

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

Signature
interface OatsVerificationContext {
    readonly credentialId: string;
    readonly issuerDid: string;
    readonly subjectDid: string;
    readonly now: string;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:26.

OpenAgent

OpenAgent — the public namespace. All calls delegate to a singleton runtime created lazily on first use. Most apps never need more than this.

Signature
declare const OpenAgent: {
    readonly configure: (config?: OpenAgentConfig) => OpenAgentRuntime;
    readonly runtime: () => OpenAgentRuntime;
    readonly createAgent: (input: CreateAgentInput) => Promise<OpenAgentInstance>;
    readonly loadAgent: (did: Did, skills?: readonly SkillId[]) => Promise<OpenAgentInstance>;
    readonly authenticate: (req: Request, options?: VerifyRequestOptions) => Promise<AuthContext>;
};

Source: @openagentid/sdk@0.7.2, dist/agent.d.ts:83.

OpenAgentClients

Forward-declared clients for the three wrapped subsystems.

Concrete interfaces live in the per-module files so that this config file does not depend on internal implementation details.

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

Signature
interface OpenAgentClients {
    readonly identity?: unknown;
    readonly credentials?: unknown;
    readonly verification?: unknown;
}

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:72.

OpenAgentConfig

Global SDK configuration.

All fields are optional at construction. Identity, credentials and request verification each require their configured client when used. For a complete file-backed Node identity authority, use the separate SDK ./local export.

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

Signature
interface OpenAgentConfig {
    namespace?: string;
    endpoints?: {
        oasResolver?: string;
        arsenalBroker?: string;
        aegisVerifier?: string;
    };
    fetch?: typeof fetch;
    logger?: Logger;
    requestTimeoutMs?: number;
    clients?: OpenAgentClients;
}

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:84.

OpenAgentError

Root of the OpenAgent SDK error hierarchy.

Signature
declare class OpenAgentError extends Error {
    readonly code: ErrorCodeValue;
    readonly cause?: unknown;
    readonly context?: Record<string, unknown>;
    constructor(message: string, details: ErrorDetails);
    toJSON(): Record<string, unknown>;
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:59.

OpenAgentInstance

A live, fully-authenticated agent handle.

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

Signature
interface OpenAgentInstance {
    readonly did: Did;
    readonly document: IdentityDocument;
    skillsPolicy(): SkillsPolicy;
    withSkillsPolicy(policy: SkillsPolicy): OpenAgentInstance;
    credentialsFor(provider: string, scopes?: readonly string[]): Promise<CredentialHandle>;
    identity(): IdentityProvider;
}

Source: @openagentid/sdk@0.7.2, dist/agent.d.ts:32.

OpenAgentRuntime

Global, lazily-initialized OpenAgent runtime.

The default instance is populated by {@link OpenAgent.configure}. Callers who need multiple runtimes in one process can instantiate OpenAgentRuntime directly.

Signature
declare class OpenAgentRuntime {
    constructor(config?: OpenAgentConfig);
    config(): Readonly<ResolvedOpenAgentConfig>;
    identity(): IdentityProvider;
    arsenal(): ArsenalClient;
    verification(): VerificationClient;
    createAgent(input: CreateAgentInput): Promise<OpenAgentInstance>;
    loadAgent(did: Did, skills?: readonly SkillId[]): Promise<OpenAgentInstance>;
    authenticate(req: Request, options?: VerifyRequestOptions): Promise<AuthContext>;
}

Source: @openagentid/sdk@0.7.2, dist/agent.d.ts:53.

parseAvatarOverride

Signature
declare function parseAvatarOverride(value: unknown): string | null;

Source: @openagentid/sdk@0.7.2, dist/glyph.d.ts:33.

parseCharacterAccessories

Strict selection with canonical ordering; never retains a caller-owned array.

Signature
declare function parseCharacterAccessories(value: unknown): readonly CharacterAccessory[];

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:15.

parseCharacterAppearance

Strict stored body/face selection; expression and live state belong elsewhere.

Signature
declare function parseCharacterAppearance(value: unknown): CharacterAppearance;

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:88.

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.

parseIdentityDocument

Validate an untrusted identity document. Throws {@link IdentityError } on failure.

Signature
declare function parseIdentityDocument(raw: unknown): IdentityDocument;

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:193.

PrivilegedAuthorityVerificationClient

Wraps any verifier and requires OAS/Sigil authority for privileged requests.

Signature
declare class PrivilegedAuthorityVerificationClient implements VerificationClient {
    constructor(inner: VerificationClient, authorityVerifier: PrivilegedAuthorityVerifier);
    verifyRequest(req: Request, options?: VerifyRequestOptions): Promise<AuthContext>;
    issueChallenge(): Promise<{
        challenge: Uint8Array;
        challengeId: string;
    }>;
    verifyChallengeResponse(params: {
        challengeId: string;
        agentDid: Did;
        signatureBase64: string;
    }): Promise<AuthContext>;
}

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:117.

PrivilegedAuthorityVerifier

Runtime hook that turns an authenticated context into OAS/Sigil authority.

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

Signature
interface PrivilegedAuthorityVerifier {
    verify(ctx: AuthContext, options: VerifyRequestOptions): Promise<LineageAuthorityContext>;
}

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:96.

providerSchema

Provider identifier (e.g. openai, github, stripe).

Signature
declare const providerSchema: z.ZodString;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:24.

RemoteIdentityVerificationOptions

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

Signature
interface RemoteIdentityVerificationOptions {
    readonly nonce: string;
    readonly fetch?: typeof fetch;
    readonly signal?: AbortSignal;
    readonly timeoutMs?: number;
}

Source: @openagentid/sdk@0.7.2, dist/verification-api.d.ts:17.

renderCharacterSvg

Render a character without retaining its descriptor.

Signature
declare function renderCharacterSvg(did: string, options?: CharacterOptions): string;

Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:94.

ReplayClaim

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

Signature
interface ReplayClaim {
    readonly issuer: string;
    readonly tokenId: string;
    readonly audience: string;
    readonly nonce: string;
    readonly expiresAt: number;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:63.

RequireActConfig

Policy for the middleware: the verifier bindings plus optional scopes.

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

Signature
interface RequireActConfig {
    issuer: string;
    audience: string;
    scopes?: string[];
    trustedKeys: Uint8Array[];
    leewaySeconds?: number;
    extractToken?: (req: Request) => Uint8Array | undefined;
    onUnauthorized?: (req: Request, reason: string) => Response;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:152.

requireActExpress

Express-compatible middleware factory.

On success, the verified claims land on req.actClaims; on failure the request is rejected with a 401 and never reaches the route.

Signature
declare function requireActExpress(config: RequireActConfig): (req: {
    headers: Record<string, string | string[] | undefined>;
    actClaims?: ActClaims;
}, res: {
    status: (code: number) => {
        json: (body: unknown) => unknown;
    };
}, next: () => void) => Promise<void>;

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:189.

resolveConfig

Merge user config with defaults. Pure function — does not mutate input.

Signature
declare function resolveConfig(config?: OpenAgentConfig): ResolvedOpenAgentConfig;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:128.

ResolvedIdentityDocument

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

Signature
interface ResolvedIdentityDocument {
    readonly did: string;
    readonly verificationMethods: readonly {
        readonly id: string;
        readonly publicKeyJwk: JWK;
        readonly purposes: readonly IdentityKeyPurpose[];
    }[];
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:49.

ResolvedOpenAgentConfig

Resolved configuration with all defaults applied.

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

Signature
interface ResolvedOpenAgentConfig {
    namespace: string;
    endpoints: {
        oasResolver?: string;
        arsenalBroker?: string;
        aegisVerifier?: string;
    };
    fetch: typeof fetch;
    logger: Logger;
    requestTimeoutMs: number;
    clients: OpenAgentClients;
}

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:113.

RevocationCheck

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

Signature
interface RevocationCheck {
    readonly did: string;
    readonly issuerDid?: string;
    readonly credentialId?: string;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:58.

scopeSchema

A parsed OAS scope string such as openai:chat:completions.

Signature
declare const scopeSchema: z.ZodString;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:22.

SelfRootAuthorization

Current, server-authorized self-root registration; never supplied by the proof.

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

Signature
interface SelfRootAuthorization {
    readonly did: string;
    readonly audience: string;
    readonly authorizationId: string;
    readonly revision: string;
    readonly issuedAt: number;
    readonly notBefore: number;
    readonly expiresAt: number;
    readonly checkedAt: number;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:32.

setActCryptoBinding

Inject the crypto-wasm binding. Called by consumers at startup (and by tests with a mock). The binding is the @openagentid/crypto-wasm module's nodejs or bundler build, already instantiated.

Signature
declare function setActCryptoBinding(binding: ActVerifyBinding): void;

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:100.

setKeyCryptoBinding

Inject the crypto-wasm binding (same one as {@link setActCryptoBinding}).

Signature
declare function setKeyCryptoBinding(binding: KeyCryptoBinding): void;

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:233.

SignedAssertion

Signed credential returned by the identity provider.

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

Signature
interface SignedAssertion {
    token: string;
    signature: string;
    signer: Did;
    issuedAt: number;
    expiresAt: number;
}

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:32.

silentLogger

No-op logger used by default.

Signature
declare const silentLogger: Logger;

Source: @openagentid/sdk@0.7.2, dist/config.d.ts:65.

SkillDeniedError

Skills policy denial.

Signature
declare class SkillDeniedError extends OpenAgentError {
    readonly skill: string;
    constructor(skill: string, reason?: string, context?: Record<string, unknown>);
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:88.

SkillId

A skill identifier such as frontend-design or sql-query.

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

Signature
type SkillId = string;

Source: @openagentid/sdk@0.7.2, dist/skills.d.ts:14.

SkillsPolicy

The minimum contract the OpenAgent SDK expects from a skills policy.

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

Signature
interface SkillsPolicy {
    canInvoke(skill: SkillId): boolean;
    assertCanInvoke(skill: SkillId): void;
    listAllowed(): readonly SkillId[];
    grant(skill: SkillId): SkillsPolicy;
    revoke(skill: SkillId): SkillsPolicy;
}

Source: @openagentid/sdk@0.7.2, dist/skills.d.ts:16.

toIdentityProvider

Narrow any unknown value into an {@link IdentityProvider}, or throw.

This is the integration point where @openagentid/oas-sdk's client is adapted into our interface. When that SDK is finalized, replace the duck-typing below with a direct import.

Signature
declare function toIdentityProvider(client: unknown): IdentityProvider;

Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:201.

toVerificationClient

Narrow any unknown value into a {@link VerificationClient}, or throw. Duck-typed for forward compatibility with @openagentid/aegis-sdk.

Signature
declare function toVerificationClient(client: unknown): VerificationClient;

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:115.

VerificationClient

AEGIS verifier facade. Concrete implementation lives in @openagentid/aegis-sdk.

The OpenAgent SDK never decodes assertions itself — it delegates to AEGIS for all verification, lineage walking, and policy evaluation.

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

Signature
interface VerificationClient {
    verifyRequest(req: Request, options?: VerifyRequestOptions): Promise<AuthContext>;
    issueChallenge(): Promise<{
        challenge: Uint8Array;
        challengeId: string;
    }>;
    verifyChallengeResponse(params: {
        challengeId: string;
        agentDid: Did;
        signatureBase64: string;
    }): Promise<AuthContext>;
}

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:81.

VerificationError

AEGIS verification subsystem failure.

Signature
declare class VerificationError extends OpenAgentError {
    constructor(message: string, details: ErrorDetails);
}

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:84.

VerifiedAgentIdentity

Current identity trust. This grants no application scopes or tenant access.

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

Signature
type VerifiedAgentIdentity = CommonAgentIdentity & ({
    readonly owner: VerifiedOwner;
    readonly root?: {
        readonly kind: 'lifeid';
        readonly did: string;
    };
} | {
    readonly owner: null;
    readonly root: {
        readonly kind: 'self';
        readonly did: string;
        readonly authorizationId: string;
        readonly revision: string;
    };
});

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:16.

VerifiedOatsEvidence

Return only after the exact credential signature and both identities pass.

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

Signature
interface VerifiedOatsEvidence {
    readonly credentialId: string;
    readonly issuerDid: string;
    readonly subjectDid: string;
    readonly signatureVerified: true;
    readonly credentialRevocationChecked: true;
    readonly issuer: VerifiedAgentIdentity;
    readonly subject: VerifiedAgentIdentity;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:34.

VerifiedOatsScorer

Signature
declare class VerifiedOatsScorer {
    constructor(options: OatsScorerOptions);
    score(entityDid: string, credentials: readonly unknown[]): Promise<OatsCompositeScore>;
}

Source: @openagentid/sdk@0.7.2, dist/oats.d.ts:100.

VerifiedOwner

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

Signature
interface VerifiedOwner {
    readonly issuer: string;
    readonly subject: string;
    readonly organizationId?: string;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:3.

VerifyIdentityOptions

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

Signature
interface VerifyIdentityOptions {
    readonly audience: string;
    readonly nonce: string;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:97.

verifyIdentityRemote

The configured service is a trust authority. HTTPS protects its returned verdict.

Signature
declare function verifyIdentityRemote(endpoint: string, proof: AgentIdentityProof, options: RemoteIdentityVerificationOptions): Promise<VerifiedAgentIdentity>;

Source: @openagentid/sdk@0.7.2, dist/verification-api.d.ts:24.

VerifyRequestOptions

Options for {@link VerificationClient.verifyRequest}.

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

Signature
interface VerifyRequestOptions {
    requiredScopes?: readonly string[];
    requiredAncestor?: Did;
    requirePrivilegedAuthority?: boolean;
    requiredAuthorityPath?: string;
    clockSkewSeconds?: number;
}

Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:63.

VERSION

SDK version — kept in sync with package.json.

Signature
declare const VERSION = "0.6.0";

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:298.

withAct

Fetch-standard middleware factory.

Returns a handler that takes (request, claims). A request whose token is missing, malformed, forged, expired, wrong-audience, or under-scoped gets a 401 with the reason — the handler never runs, and unauthenticated claims never reach the application.

Signature
declare function withAct(config: RequireActConfig, handler: (req: Request, claims: ActClaims) => Promise<Response> | Response): (req: Request) => Promise<Response>;

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:182.

wrapError

Wraps any non-OpenAgentError into the SDK hierarchy without losing the cause.

Signature
declare function wrapError(err: unknown, fallbackMessage: string): OpenAgentError;

Source: @openagentid/sdk@0.7.2, dist/errors.d.ts:93.

Supporting declarations

These package-owned declarations are referenced by the exports above. Their presence here does not make them importable from this entry point. Import only the names in Exports.

ActVerifyBinding

The crypto-wasm binding shape this module consumes.

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

Signature
interface ActVerifyBinding {
    act_verify(token: Uint8Array, trustedKeys: Uint8Array, issuer: string, audience: string, scopes: string[], leewaySeconds: bigint, nowUnixSeconds: bigint): string;
}

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:92.

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.

CommonAgentIdentity

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

Signature
interface CommonAgentIdentity {
    readonly did: string;
    readonly lineage: readonly string[];
    readonly expiresAt: number;
}

Source: @openagentid/sdk@0.7.2, dist/identity-verification.d.ts:8.

CreateCredentialHandleParams

Arguments for constructing a credential handle.

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

Signature
interface CreateCredentialHandleParams {
    agentDid: Did;
    provider: string;
    arsenal: ArsenalClient;
    fetchImpl: typeof fetch;
    requestTimeoutMs: number;
    scopes?: readonly string[];
}

Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:87.

toHex

Signature
declare function toHex(bytes: Uint8Array): string;

Source: @openagentid/sdk@0.7.2, dist/index.d.ts:247.

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

Entry pointsImport conditionsExportsactActClaimsActVerifierBuilderActVerifyOptionsAgentActivityagentAvatarAgentAvatarAgentIdentityProofAgentKeysallowAllSkillsArsenalClientassertAncestorassertScopesassertVerifiedIdentityAuthContextAvatarExpressionavatarExpressionSchemaAvatarOptionsAvatarStatusCharacterAccessoryCharacterAccessoryDescriptionCharacterAnimatorCharacterAnimatorOptionsCharacterApiHandlerOptionscharacterApiOpenApiCharacterAppearancecharacterAppearanceSchemaCharacterDescriptorCharacterEyeFrameCharacterEyePlacementCharacterEyeStyleCharacterFinishCharacterFrameCharacterOptionsCharacterRuntimeStateCharacterShapeCharacterSkinCharacterSkinDescriptionCharacterStateUpdateCharacterViewConfigErrorCreateAgentInputcreateAgentInputSchemacreateCharacterAnimatorcreateCharacterApiHandlercreateCredentialHandlecreateIdentityVerificationHandlercreateOatsEvidenceVerifierCredentialErrorCredentialHandleDEFAULT_NAMESPACEDEFAULT_REQUEST_TIMEOUT_MSdenyAllSkillsDidDID_REGEXdidSchemaErrorCodeErrorCodeValueErrorDetailsexpressionEyesexpressionForStatusextractBearerTokenEyeGeometrygenerateCharactergetCharacterAccessoriesgetCharacterExpressionsgetCharacterSkinsgetCharacterStatusesgetErrorMessageglyphCodewordglyphEndpointGlyphOptionsIdentityDocumentidentityDocumentSchemaIdentityErrorIdentityKeyPurposeIdentityProviderIdentityVerificationErrorIdentityVerificationFailureIdentityVerificationHandlerOptionsIdentityVerifierIdentityVerifierConfigInMemorySkillsPolicyInputValidationErrorisAgentAvatarDidIssuedCredentialKeyCryptoBindingkeysLEGACY_DID_REGEXLineageAuthorityContextLiveEyeStateLoggeroasGlyphOATS_WEIGHTSOatsComponentScoreOatsCompositeScoreOatsCredentialOatsErrorOatsEvidenceTypeOatsEvidenceVerifierOatsEvidenceVerifierConfigOatsIssuerAssertionDocumentoatsMeetsThresholdOatsScorerOptionsOatsVerificationContextOpenAgentOpenAgentClientsOpenAgentConfigOpenAgentErrorOpenAgentInstanceOpenAgentRuntimeparseAvatarOverrideparseCharacterAccessoriesparseCharacterAppearanceparseCharacterStateparseIdentityDocumentPrivilegedAuthorityVerificationClientPrivilegedAuthorityVerifierproviderSchemaRemoteIdentityVerificationOptionsrenderCharacterSvgReplayClaimRequireActConfigrequireActExpressresolveConfigResolvedIdentityDocumentResolvedOpenAgentConfigRevocationCheckscopeSchemaSelfRootAuthorizationsetActCryptoBindingsetKeyCryptoBindingSignedAssertionsilentLoggerSkillDeniedErrorSkillIdSkillsPolicytoIdentityProvidertoVerificationClientVerificationClientVerificationErrorVerifiedAgentIdentityVerifiedOatsEvidenceVerifiedOatsScorerVerifiedOwnerVerifyIdentityOptionsverifyIdentityRemoteVerifyRequestOptionsVERSIONwithActwrapErrorSupporting declarationsActVerifyBindingCHARACTER_EXPRESSIONSCommonAgentIdentityCreateCredentialHandleParamstoHexPackage requirementsDependenciesPeer dependenciesArchive verification