summaryrefslogtreecommitdiff
path: root/app/src/lib/bookmark-models.ts
blob: 298bbec4f432a72bd760fdf4a1848589ec7c760a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import { TwitterBookmark } from "./twitter-api";

export interface Bookmark {
  created: number | null;
  origin: { twatter: TwitterBookmark } | { url: string };
  tags: string[];
}

export interface ProcessedBookmark {
  id: string;
  originalTweet: TwitterBookmark;
  category: string;
  summary: string;
  keyPoints: string[];
  action: "store" | "schedule" | "archive" | "ignore";
  actionData?: {
    vaultPath?: string;
    eventDate?: string;
    eventTitle?: string;
    eventDescription?: string;
  };
  processedAt: string;
  llmAnalysis: {
    model: string;
    promptTokens: number;
    completionTokens: number;
    reasoning: string;
  };
}

export interface BookmarkSyncStatus {
  lastSync: string | null;
  totalBookmarks: number;
  processedBookmarks: number;
  pendingBookmarks: number;
  error?: string;
}

export interface BookmarkFilters {
  category?: string;
  author?: string;
  dateFrom?: string;
  dateTo?: string;
  hasAction?: boolean;
  actionType?: "store" | "schedule" | "archive" | "ignore";
}