Spaces:
Sleeping
Sleeping
| /** | |
| * Conversation store for MS Teams proactive messaging. | |
| * | |
| * Stores ConversationReference-like objects keyed by conversation ID so we can | |
| * send proactive messages later (after the webhook turn has completed). | |
| */ | |
| /** Minimal ConversationReference shape for proactive messaging */ | |
| export type StoredConversationReference = { | |
| /** Activity ID from the last message */ | |
| activityId?: string; | |
| /** User who sent the message */ | |
| user?: { id?: string; name?: string; aadObjectId?: string }; | |
| /** Agent/bot that received the message */ | |
| agent?: { id?: string; name?: string; aadObjectId?: string } | null; | |
| /** @deprecated legacy field (pre-Agents SDK). Prefer `agent`. */ | |
| bot?: { id?: string; name?: string }; | |
| /** Conversation details */ | |
| conversation?: { id?: string; conversationType?: string; tenantId?: string }; | |
| /** Team ID for channel messages (when available). */ | |
| teamId?: string; | |
| /** Channel ID (usually "msteams") */ | |
| channelId?: string; | |
| /** Service URL for sending messages back */ | |
| serviceUrl?: string; | |
| /** Locale */ | |
| locale?: string; | |
| }; | |
| export type MSTeamsConversationStoreEntry = { | |
| conversationId: string; | |
| reference: StoredConversationReference; | |
| }; | |
| export type MSTeamsConversationStore = { | |
| upsert: (conversationId: string, reference: StoredConversationReference) => Promise<void>; | |
| get: (conversationId: string) => Promise<StoredConversationReference | null>; | |
| list: () => Promise<MSTeamsConversationStoreEntry[]>; | |
| remove: (conversationId: string) => Promise<boolean>; | |
| findByUserId: (id: string) => Promise<MSTeamsConversationStoreEntry | null>; | |
| }; | |