ClientEnvelopeSchema
constClientEnvelopeSchema:ZodDiscriminatedUnion<[ZodObject<{id:ZodPipe<ZodString,ZodTransform<MessageId,string>>;request:ZodObject<{context:ZodObject<{chartDimensions:ZodObject<{columns:ZodNumber;rows:ZodNumber; },$strip>;layoutMode:ZodEnum<{grid:"grid";tiling:"tiling"; }>;updateReasons:ZodArray<ZodDiscriminatedUnion<[…, …, …],"type">>; },$strip>;instances:ZodArray<ZodObject<{instanceId:ZodPipe<ZodString,ZodTransform<…, …>>;variant:ZodPipe<ZodString,ZodTransform<…, …>>;vesselId:ZodPipe<ZodString,ZodTransform<…, …>>; },$strip>>;layout:ZodDiscriminatedUnion<[ZodObject<{positions:ZodArray<…>;type:ZodLiteral<…>; },$strip>,ZodObject<{instances:ZodArray<…>;tree:ZodArray<…>;type:ZodLiteral<…>; },$strip>],"type">;type:ZodLiteral<"chart_request">;vessels:ZodArray<ZodObject<{defaultVariant:ZodPipe<ZodString,ZodTransform<…, …>>;description:ZodString;id:ZodPipe<ZodString,ZodTransform<…, …>>;name:ZodString;variants:ZodRecord<ZodPipe<…, …>,ZodObject<…, …>>; },$strip>>; },$strip>;sessionId:ZodPipe<ZodString,ZodTransform<SessionId,string>>;timestamp:ZodNumber;type:ZodLiteral<"chart_request">; },$strip>,ZodObject<{content:ZodString;id:ZodPipe<ZodString,ZodTransform<MessageId,string>>;sessionId:ZodPipe<ZodString,ZodTransform<SessionId,string>>;timestamp:ZodNumber;type:ZodLiteral<"assistant_message">; },$strip>,ZodObject<{content:ZodString;id:ZodPipe<ZodString,ZodTransform<MessageId,string>>;sessionId:ZodPipe<ZodString,ZodTransform<SessionId,string>>;timestamp:ZodNumber;type:ZodLiteral<"client.assistant_message.acknowledged">; },$strip>,ZodObject<{id:ZodPipe<ZodString,ZodTransform<MessageId,string>>;sessionId:ZodPipe<ZodString,ZodTransform<SessionId,string>>;type:ZodLiteral<"client.history.get">; },$strip>],"type">
Defined in: packages/protocol/src/lib/envelope.ts:191
Wire-format Zod parser for the ClientEnvelope union. Reuses
EngineMessageSchema’s members by reference and adds the transport
arms, so the chart_request / assistant_message contracts stay defined in
exactly one place.