index.ts raw
1 /**
2 * Feed Bounded Context
3 *
4 * Handles timeline management, feed configuration, note composition,
5 * and content filtering.
6 */
7
8 // Aggregates
9 export { Feed, type FeedState, type FeedSwitchOptions, type TimelineQueryOptions } from './Feed'
10 export {
11 NoteComposer,
12 type NoteComposerOptions,
13 type PollOption,
14 type PollConfig,
15 type ValidationResult,
16 type ExtractedContent
17 } from './NoteComposer'
18
19 // Value Objects
20 export { FeedType, type FeedTypeValue } from './FeedType'
21 export {
22 MediaAttachment,
23 type MediaType,
24 type UploadStatus,
25 type ImageMetadata
26 } from './MediaAttachment'
27 export {
28 Mention,
29 MentionList,
30 type MentionType
31 } from './Mention'
32 export {
33 ContentFilter,
34 type NsfwDisplayPolicy,
35 type FilterContext,
36 type FilterResult,
37 type FilterReason
38 } from './ContentFilter'
39 export {
40 RelayStrategy,
41 type RelayStrategyType,
42 type RelayListResolver
43 } from './RelayStrategy'
44 export {
45 TimelineQuery,
46 DEFAULT_TIMELINE_KINDS,
47 DEFAULT_TIMELINE_LIMIT,
48 type TimelineQueryParams
49 } from './TimelineQuery'
50 export { ReplyContext, type EventReference } from './ReplyContext'
51 export { QuoteContext } from './QuoteContext'
52
53 // Domain Services
54 export {
55 FeedFilter,
56 SimpleMuteChecker,
57 SimpleTrustChecker,
58 SimpleDeletionChecker,
59 SimplePinnedChecker,
60 type MuteChecker,
61 type TrustChecker,
62 type DeletionChecker,
63 type PinnedChecker,
64 type FilteredEvent,
65 type FilterStats
66 } from './FeedFilter'
67
68 // Domain Events
69 export {
70 // Feed configuration events
71 FeedSwitched,
72 ContentFilterUpdated,
73 FeedRefreshed,
74 // Note lifecycle events
75 NoteCreated,
76 NoteDeleted,
77 NoteReplied,
78 UsersMentioned,
79 // Timeline events
80 TimelineEventsReceived,
81 TimelineEOSED,
82 TimelineLoadedMore
83 } from './events'
84
85 // Repository Interfaces
86 export type {
87 FeedRepository,
88 TimelineRepository,
89 TimelineSubscription,
90 TimelineResult,
91 TimelineEventCallback,
92 TimelineEOSECallback,
93 TimelineCacheRepository,
94 DraftRepository,
95 Draft,
96 DraftMetadata
97 } from './repositories'
98
99 // Adapters for migration
100 export {
101 // FeedType adapters
102 toFeedType,
103 tryToFeedType,
104 fromFeedType,
105 // Feed adapters
106 toFeed,
107 fromFeed,
108 // FeedState adapters
109 toFeedState,
110 fromFeedState,
111 // RelayUrl adapters
112 toRelayUrls,
113 fromRelayUrls,
114 // Comparison utilities
115 isSameFeedInfo,
116 feedMatchesInfo
117 } from './adapters'
118