Skip to main content

Message

@rotorsoft/act-root


@rotorsoft/act-root / act/src / Message

Type Alias: Message<TEvents, TKey>

Message<TEvents, TKey> = object

Defined in: libs/act/src/types/action.ts:224

Represents a message (event or action) with a name and data payload.

Messages are the basic building blocks of the event log. Each message has a name (event type) and data (event payload).

Exampleโ€‹

const message: Message<{ Incremented: { amount: number } }, "Incremented"> = {
name: "Incremented",
data: { amount: 5 }
};

Type Parametersโ€‹

TEventsโ€‹

TEvents extends Schemas

Schemas map

TKeyโ€‹

TKey extends keyof TEvents

Event/action name

Propertiesโ€‹

dataโ€‹

readonly data: Readonly<TEvents[TKey]>

Defined in: libs/act/src/types/action.ts:228

The event or action payload


nameโ€‹

readonly name: TKey

Defined in: libs/act/src/types/action.ts:226

The event or action name


pii?โ€‹

readonly optional pii?: Readonly<Record<string, unknown>> | null

Defined in: libs/act/src/types/action.ts:248

Sensitive-data payload (#566). Carries fields the framework extracted from data at commit-interception time, routed to a separate events.pii column by adapters that declare the pii_isolation capability.

Populated by the framework's commit interception (foundation #855) โ€” action handlers do not set this. On commit input it carries the extracted sensitive fields; on load output it carries the merged fields read from the adapter's pii column (or null after Store.forget_pii(stream)).

Adapters without pii_isolation ignore the field; the framework only populates it when the adapter declares capability support and the event's schema has sensitive(...)-marked fields. (Read-time visibility gating โ€” who sees plaintext vs [REDACTED] โ€” is the separate concern of state(...).discloses(predicate) and lives in the orchestrator's load path, not on the Store contract.)