9a47dda767
test(core): remove legacy integration tests
...
Tests were for DataSource/ContextProvider/ContextBridge which are now
deprecated in favor of FeedSource.
Co-authored-by: Ona <no-reply@ona.com >
2026-01-18 23:46:38 +00:00
286a933d1e
test(core): add FeedSource integration tests
...
Tests graph validation (dependency existence, cycle detection, topological
sort) and refresh behavior (context accumulation, item collection).
Co-authored-by: Ona <no-reply@ona.com >
2026-01-18 23:45:05 +00:00
1d9de2851a
feat(core): add FeedSource interface
...
Unifies DataSource and ContextProvider into a single interface that
forms a dependency graph. Sources declare dependencies on other sources
and can provide context, feed items, or both.
Deprecates DataSource, ContextProvider, and ContextBridge.
Co-authored-by: Ona <no-reply@ona.com >
2026-01-18 23:32:47 +00:00
b73e603c90
feat(core): return RefreshResult from ContextBridge.refresh()
...
Surfaces provider errors through RefreshResult.errors instead of
silently ignoring them.
Co-authored-by: Ona <no-reply@ona.com >
2026-01-18 20:28:54 +00:00
037589cf4f
refactor(core): rename getCurrentValue to fetchCurrentValue
...
Also use Promise.allSettled in ContextBridge.refresh() to handle
provider errors gracefully.
Co-authored-by: Ona <no-reply@ona.com >
2026-01-18 20:23:54 +00:00
3c16dd4275
feat(core): add FeedController orchestration layer
...
Adds orchestration for feed reconciliation with context-driven updates:
- FeedController: holds context, debounces updates, reconciles sources
- ContextBridge: bridges context providers to controller
- ContextProvider: reactive + on-demand context value interface
- Branded ContextKey<T> for type-safe context keys
Moves source files to src/ directory and consolidates tests into
integration test.
Co-authored-by: Ona <no-reply@ona.com >
2026-01-18 00:58:29 +00:00
90fd137b77
initial commit
2026-01-16 00:56:55 +00:00