mirror of
https://github.com/kennethnym/aris.git
synced 2026-03-20 17:11:17 +00:00
feat: add post-processor pipeline to FeedEngine (#41)
* feat: add post-processor pipeline to FeedEngine Add FeedPostProcessor type and FeedEnhancement interface. Post-processors run after item collection on all update paths (refresh, reactive context, reactive items). Pipeline is chained — each processor sees items as modified by the previous one. Enhancement merging handles additional items, suppression, and grouped items. Throwing processors are caught and recorded in FeedResult.errors. Co-authored-by: Ona <no-reply@ona.com> * docs: document intentional TItems cast in post-processor merge Co-authored-by: Ona <no-reply@ona.com> * fix: filter stale item IDs from groups after pipeline Groups accumulated during the pipeline can reference items that a later processor suppressed. The engine now strips stale IDs and drops empty groups before returning. Co-authored-by: Ona <no-reply@ona.com> * refactor: use reduce for stale group filtering Co-authored-by: Ona <no-reply@ona.com> --------- Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
@@ -13,6 +13,9 @@ export { TimeRelevance } from "./feed"
|
||||
// Feed Source
|
||||
export type { FeedSource } from "./feed-source"
|
||||
|
||||
// Feed Post-Processor
|
||||
export type { FeedEnhancement, FeedPostProcessor, ItemGroup } from "./feed-post-processor"
|
||||
|
||||
// Feed Engine
|
||||
export type { FeedEngineConfig, FeedResult, FeedSubscriber, SourceError } from "./feed-engine"
|
||||
export { FeedEngine } from "./feed-engine"
|
||||
|
||||
Reference in New Issue
Block a user