Skip to content

SessionHistoryEntrySchema

const SessionHistoryEntrySchema: ZodDiscriminatedUnion<[ZodObject<{ assistantMessage: ZodString; id: ZodPipe<ZodString, ZodTransform<MessageId, string>>; kind: ZodLiteral<"turn">; sessionId: ZodPipe<ZodString, ZodTransform<SessionId, string>>; timestamp: ZodNumber; userIntent: ZodString; }, $strip>, ZodObject<{ content: ZodString; id: ZodPipe<ZodString, ZodTransform<MessageId, string>>; kind: ZodLiteral<"injection">; sessionId: ZodPipe<ZodString, ZodTransform<SessionId, string>>; timestamp: ZodNumber; }, $strip>], "kind">

Defined in: packages/protocol/src/lib/session-history-entry.ts:99

Wire-format Zod parser for SessionHistoryEntry. Dispatches on kind and validates the per-variant payload.

Empty userIntent / assistantMessage / content are allowed — they are legal values with semantic meaning (an injection of '' is rejected upstream by AssistantInjectionMessageSchema, but a turn recorded with no user-intent reasons legitimately has userIntent: '').