import type { Context, SessionFlavor } from 'grammy' import type { ConversationFlavor } from '@grammyjs/conversations' export interface SessionData { conversationState: 'idle' | 'onboarding' | 'quest_active' | 'waiting_confirmation' userId?: string // DB user ID onboarding?: { cityId?: string cityName?: string days?: number companions?: 'solo' | 'couple' | 'family' | 'friends' pace?: 'slow' | 'normal' | 'active' comment?: string step: number } activeQuestId?: string activePointId?: string } export type BotContext = ConversationFlavor> export interface QuestPlan { title: string description: string dayThemes: string[] } export interface GeneratedPoint { title: string teaserText: string locationLat: number locationLon: number isLastPointOfDay: boolean } export interface PointContent { contentText: string }