13 Commits

Author SHA1 Message Date
bdc6958b49
more progress 2025-06-25 13:37:35 -05:00
880affad1c
progress 2025-06-25 13:37:16 -05:00
9957dccddd
fix: improve resolver dependency handling and logging
- Fixed AggregationResolver to properly accumulate values for sum/average/count operations
- Enhanced CustomResolver with detailed debug logging for dependency resolution
- Added execution order logging for better debugging
- Improved error messages and graph visualization in dependency resolution
- Moved valueFromCollapsedDelta to lossless.ts for better code organization
2025-06-25 12:25:40 -05:00
d0941f417e
refactor: optimize lossless view and improve code quality
- Optimize pointer handling and entity reference tracking in Lossless view
- Improve type safety with proper TypeScript types
- Add debug logging for better troubleshooting
- Clean up imports and unused variables
- Update test cases for DeltaBuilder
2025-06-25 11:18:52 -05:00
d7c4fda93e
refactor(resolver): overhaul plugin system and dependency handling
Core Changes:
- Completely rewrote CustomResolver reducer with dependency-ordered processing
- Enhanced plugin initialization with proper dependency injection
- Improved delta processing and property value tracking
- Added robust error handling for duplicate property IDs

Resolver Improvements:
- Updated to use new accumulator structure
- Implemented execution order processing for plugins
- Enhanced debug logging and error reporting
- Simplified TimestampResolver by removing unused initializer

Configuration Updates:
- Added TypeScript path aliases for test helpers
- Improved module resolution paths

Key Benefits:
- More robust plugin dependency management
- More efficient state updates
- Enhanced type safety
- Better error messages and debugging
- More consistent plugin initialization

This refactoring focuses on improving the robustness of the resolver,
especially around plugin lifecycle management and dependency handling.
The changes ensure better separation of concerns and more predictable
behavior when dealing with complex plugin dependencies.
2025-06-25 06:10:34 -05:00
ceb9d9a0cf
Module alias for @src 2025-06-23 03:01:44 -05:00
f6790bf90d
Separated custom-resolver.ts into separate files 2025-06-23 00:16:26 -05:00
cf29338c9b
feat: add plugin dependency support to CustomResolver
- Added  property to ResolverPlugin interface
- Implemented topological sorting for plugin execution order
- Added circular dependency detection
- Updated built-in plugins with dependency declarations
- Added comprehensive tests for plugin dependencies
- Updated documentation with examples and best practices
2025-06-22 23:47:35 -05:00
8de512cd5b
feat: add inter-plugin dependencies to CustomResolver
- Update ResolverPlugin interface with allStates parameter
- Modify CustomResolver to pass all plugin states
- Update built-in plugins for compatibility
- Add comprehensive tests for inter-plugin dependencies
- Add detailed documentation with examples
2025-06-22 23:18:37 -05:00
65a6230959
Revert changes to CustomResolver 2025-06-22 22:31:22 -05:00
07c8da3cea
removed prior attempt at relationship graph 2025-06-22 22:17:10 -05:00
5afd3232cb
feat: enable inter-plugin state sharing in CustomResolver
- Update ResolverPlugin interface to include context in update and resolve methods
- Modify CustomResolver to pass entity state and resolved values to plugins
- Update built-in plugins to accept and use the new context parameter
- Add comprehensive test for inter-plugin communication
- Add documentation for the new view composition patterns

This change enables plugins to access each other's states during both update and resolve phases, allowing for more powerful and flexible resolver compositions.
2025-06-22 20:42:05 -05:00
73d2bf23f5
refactor: simplify relationship graph implementation
- Implement RelationshipGraphResolver extending Lossy
- Add type-safe accumulator for relationship graph state
- Update tests and documentation
2025-06-22 18:39:53 -05:00