UNPKG

199bio-mcp-limitless-server

Version:

Scientifically Validated Speech Vitality Index for Limitless Pendant. Empirically validated metrics from 2,500+ conversation segments with transparent reliability assessment. Peer-reviewed methodology for clinical research applications.

141 lines 4 kB
import { Lifelog, LifelogContentNode } from "./limitless-client.js"; export interface TimeRange { start: string; end: string; timezone?: string; } export interface NaturalTimeOptions { timezone?: string; referenceTime?: Date; } export interface MeetingParticipant { name: string; identifier?: "user" | null; speakingDuration: number; messageCount: number; } export interface Meeting { id: string; title: string; startTime: string; endTime: string; duration: number; participants: MeetingParticipant[]; mainTopics: string[]; actionItems: ActionItem[]; keyDecisions: string[]; summary: string; lifelogIds: string[]; } export interface ActionItem { content: string; assignee?: string; context: string; timestamp: string; priority: "high" | "medium" | "low"; source: { lifelogId: string; nodeIndex: number; }; } export interface ConversationSegment { participant: string; content: string; startTime: string; endTime: string; duration: number; } export interface TopicSearchResult { lifelog: Lifelog; relevantNodes: LifelogContentNode[]; contextBefore: LifelogContentNode[]; contextAfter: LifelogContentNode[]; relevanceScore: number; summary: string; } export interface DailySummary { date: string; timezone: string; meetings: Meeting[]; totalRecordingTime: number; totalSpeakingTime: number; topParticipants: MeetingParticipant[]; keyTopics: string[]; actionItems: ActionItem[]; insights: { mostProductiveHours: string[]; longestMeeting: Meeting | null; mostFrequentParticipant: string | null; topicsDiscussed: number; }; } export interface SpeakerAnalytics { participant: string; totalSpeakingTime: number; conversationCount: number; averageConversationLength: number; topTopics: string[]; timeDistribution: { hour: number; duration: number; }[]; recentInteractions: { date: string; duration: number; topics: string[]; }[]; } /** * Parses natural language time expressions into precise date ranges * Supports timezone-aware parsing with comprehensive error handling */ export declare class NaturalTimeParser { private timezone; private referenceTime; constructor(options?: NaturalTimeOptions); private getDefaultTimezone; /** * Parse natural time expressions into TimeRange objects */ parseTimeExpression(expression: string): TimeRange; private getDayRange; private getTimeOfDayRange; private getWeekRange; private getRelativeDayRange; private parseDayReference; private getWeekendRange; private getMonthRange; private getYearRange; private getQuarterRange; private getSpecificQuarterRange; private parseFlexibleRelativeExpression; private parseFutureExpression; private parseRelativeExpression; private formatDateTime; } /** * Intelligent meeting detection based on speaker patterns and conversation flow */ export declare class MeetingDetector { /** * Detect meetings from lifelogs using sophisticated analysis */ static detectMeetings(lifelogs: Lifelog[]): Meeting[]; private static groupByTimeProximity; private static analyzePotentialMeeting; private static extractParticipants; private static extractTopics; private static extractDecisions; private static generateMeetingTitle; private static generateMeetingSummary; private static extractTechnicalDetails; private static extractNumbersAndFigures; } export declare class ActionItemExtractor { private static readonly ACTION_PATTERNS; static extractFromNodes(nodes: LifelogContentNode[], lifelogId: string): ActionItem[]; private static getContext; private static inferPriority; private static deduplicateActionItems; } //# sourceMappingURL=advanced-features.d.ts.map