29 Commits

Author SHA1 Message Date
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
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
65c73577bb
Removed extraneous coverage report script 2025-06-21 18:18:26 -05:00
60ad920b30
refactor: update test files to use DeltaBuilder fluent API
- Refactored delta creation in test files to use createDelta() pattern
- Replaced direct Delta instantiations with fluent builder API
- Updated relationship deltas to use setProperty with proper entity context
- Ensured all tests pass with the new delta creation approach

This is part of the ongoing effort to standardize on the DeltaBuilder
API across the codebase for better consistency and maintainability.
2025-06-20 21:40:51 -05:00
c8d38a4af2
refactor: remove dockerOptions and fix resource limits
- Removed unused dockerOptions from DockerOrchestrator and all manager classes
- Updated container-manager to use NanoCpus for CPU limits instead of CpuQuota/CpuPeriod
- Fixed resource limit enforcement in container configuration
- Improved test reliability and error handling
- Cleaned up test files and removed unused code
2025-06-19 16:58:08 -05:00
b5c0c010a9
feat: Refactor Docker orchestrator and enhance test utilities
This commit includes a major refactoring of the Docker orchestrator implementation
along with improvements to the testing infrastructure:

- Refactored Docker orchestrator to handle dynamic port assignment
- Added comprehensive test utilities in docker-test-utils.ts
- Improved error handling and resource cleanup in test environments
- Enhanced NodeStatus interface with containerId and networkId
- Added support for different storage types in NodeConfig
- Fixed request port handling in TestOrchestrator
- Added proper cleanup method to NodeOrchestrator interface

The changes ensure more reliable container management and better test isolation
while maintaining backward compatibility with existing implementations.

BREAKING CHANGE: The NodeOrchestrator interface now requires a cleanup() method.
2025-06-19 16:58:07 -05:00
feb7639978
docker orchestrator is working 2025-06-19 16:58:07 -05:00
0ad4d8d576
Fixed/simplified tsconfig and docker setup 2025-06-19 16:58:06 -05:00
b78985779b
Implement Docker orchestrator and fix test infrastructure
- Add DockerOrchestrator implementation with container management
- Refactor InMemoryOrchestrator to use RhizomeNode directly
- Fix orchestrated test files for single and two-node scenarios
- Update package.json with dockerode dependency
- Clean up old test files and imports
2025-06-19 16:58:06 -05:00
04212e87e6 Merge pull request 'major changes and feature additions' (#1) from claude_code_work into main
Reviewed-on: #1
2025-06-15 14:08:40 -05:00
98014aaa17
add script for generating test coverage report 2025-06-14 17:01:33 -05:00
2dbf9a420a Conflict Resolution strategies completed 2025-06-09 15:01:09 -04:00
Ladd
b147378bf8 achieve clean shutdown, no open handles 2025-01-02 14:43:32 -06:00
Ladd
58c5f5dc4e switched back to commonjs rather than esm 2025-01-01 22:56:34 -06:00
Ladd
756fd240f5 removed libp2p/gossipsub 2025-01-01 22:45:17 -06:00
Ladd
1f8cbda73f prefix log messages with peer id 2024-12-31 12:28:24 -06:00
Ladd
44e6cfa13c added gossipsub in parallel with zeromq. converted project to ESM for compatibility with gossipsub 2024-12-31 11:35:09 -06:00
Ladd
2e0672e04c added last-write-wins resolver 2024-12-29 14:35:30 -06:00
Ladd
ad3c00638c add tests to tsconfig so we get early warning via tsc watch when stuff breaks 2024-12-27 13:57:13 -06:00
Ladd
8fdec5da11 added delta ids; refactored delta to its own file; refactored http server 2024-12-27 13:43:43 -06:00
Ladd
cc33e4d694 shorter name for frequent command, npm run coverage 2024-12-26 16:55:14 -06:00
Ladd
3f0b5bec4e refactored to use lossless/lossy view mechanisms for resolving get requests 2024-12-26 15:59:03 -06:00
Ladd
9d9a1e1f08 fixed test run/002 2024-12-25 19:27:36 -06:00
Ladd
b7921a6edf converted logging to use debug library. added markdown watch and reread 2024-12-24 13:41:31 -06:00
Ladd
81839bb4fa added lossless view 2024-12-23 17:29:38 -06:00
Ladd
cbec1b5afb deduplicate deltas 2024-12-22 14:38:01 -06:00
Ladd
e24be625d1 keeping track of peers from whom deltas are received 2024-12-22 14:00:51 -06:00
Ladd
cfe410484e pretty neat 2024-12-21 21:16:18 -06:00