Variable: activitySchema
constactivitySchema:ZodObject<{attachments:ZodOptional<ZodArray<ZodObject<{content:ZodObject<{$schema:ZodString;actions:ZodOptional<ZodArray<ZodRecord<…, …>>>;body:ZodArray<ZodRecord<ZodString,ZodUnknown>>;type:ZodLiteral<"AdaptiveCard">;version:ZodString; },$strip>;contentType:ZodLiteral<"application/vnd.microsoft.card.adaptive">; },$strip>>>;conversation:ZodOptional<ZodObject<{id:ZodString; },$strip>>;from:ZodOptional<ZodObject<{id:ZodString;name:ZodOptional<ZodString>; },$strip>>;id:ZodOptional<ZodString>;recipient:ZodOptional<ZodObject<{id:ZodString;name:ZodOptional<ZodString>; },$strip>>;text:ZodOptional<ZodString>;timestamp:ZodOptional<ZodString>;type:ZodEnum<{conversationUpdate:"conversationUpdate";message:"message";typing:"typing"; }>; },$loose>
A Bot Framework activity.
.passthrough() is deliberate: a real channel sends channelId,
serviceUrl, timestamp, replyToId, channelData and more. This endpoint
reads only what it needs, but an unknown field is part of the caller’s
envelope and is kept so a client can round-trip its own metadata.
activity fields
Section titled “activity fields”type: Activity type; message carries user text.id(optional): Activity id, assigned by the sender.text(optional): Message text, present on amessageactivity.from(optional): Who sent the activity.from.id: Stable id of the user or bot.from.name(optional): Display name shown in the transcript.recipient(optional): Who the activity is addressed to.recipient.id: Stable id of the user or bot.recipient.name(optional): Display name shown in the transcript.conversation(optional): Conversation the activity belongs to.conversation.id: Conversation id; maps to the agent’s memory thread.attachments(optional): Adaptive Card attachments carried by the activity.timestamp(optional): ISO-8601 time the activity was created.