Skip to content
2 min read · 417 words

Class: Identity

Defined in: src/lib/classes/identity.ts:73

An immutable, validated participant identity attached to a @nhtio/adk!Message.

Remarks

Carries two distinct representations of the same participant: identifier is the system-facing key (e.g. a database ID) used to correlate messages programmatically; representation is what the model sees when it needs to distinguish between participants sharing the same role. The representation is always a @nhtio/adk!Tokenizable so token cost can be estimated inline.

Constructors

Constructor

ts
new Identity(raw: RawIdentity): Identity;

Defined in: src/lib/classes/identity.ts:115

Parameters

ParameterTypeDescription
rawRawIdentityThe raw identity input validated against rawIdentitySchema.

Returns

Identity

Throws

@nhtio/adk!E_INVALID_INITIAL_IDENTITY_VALUE when raw does not satisfy the schema.

Properties

PropertyModifierTypeDefault valueDescriptionDefined in
identifierreadonlystring | numberundefinedThe system-facing identifier for this participant — never sent to the model directly.src/lib/classes/identity.ts:100
representationreadonlyTokenizableundefinedHow this participant is presented to the model, as a @nhtio/adk!Tokenizable for inline token estimation.src/lib/classes/identity.ts:106
schemastaticObjectSchema<RawIdentity>rawIdentitySchemaValidator schema that accepts a RawIdentity object. Remarks Reusable fragment for any schema that needs to validate or nest an identity — for example, as a required field inside a message schema.src/lib/classes/identity.ts:81

Methods

[ENCODE_METHOD]()

ts
ENCODE_METHOD: unknown;

Defined in: src/lib/classes/identity.ts:151

Serialise this Identity into an @nhtio/encoder snapshot.

Returns

unknown

A RawIdentity-shaped snapshot.

Remarks

Emits a RawIdentity-shaped object; representation is the live @nhtio/adk!Tokenizable instance (the encoder recurses into it). Round-trips via Identity.[DECODE_METHOD], which re-validates through the constructor.


[DECODE_METHOD]()

ts
static DECODE_METHOD: Identity;

Defined in: src/lib/classes/identity.ts:164

Reconstruct an Identity from an Identity.[ENCODE_METHOD] snapshot.

Parameters

ParameterTypeDescription
dataunknownThe snapshot produced by Identity.[ENCODE_METHOD].

Returns

Identity

A fully-validated Identity.


isIdentity()

ts
static isIdentity(value: unknown): value is Identity;

Defined in: src/lib/classes/identity.ts:93

Returns true if value is an Identity instance.

Parameters

ParameterTypeDescription
valueunknownThe value to test.

Returns

value is Identity

true when value is an Identity instance.

Remarks

Uses @nhtio/adk!isInstanceOf for cross-realm safety — instanceof would fail for instances created in a different module copy or VM context.