Commit Graph

2 Commits

Author SHA1 Message Date
Tutus Development a63b3dcb70 Migrate from GitHub to git.marketally.com
Update all module paths and import statements from github.com/tutus-one
to git.marketally.com/tutus-one for self-hosted Git server migration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-27 09:54:31 -05:00
Tutus Development c21789557c Add BlockStorage and StateStorage to local adapter with tests
Implement full local storage adapter with three interfaces:
- Provider: Basic object storage (Put, Get, Delete, Exists, List, Head)
- BlockStorage: Block-indexed storage (PutBlock, GetBlock, GetBlockRange)
- StateStorage: State snapshot storage (PutState, GetState, GetLatestState)

Implementation details:
- Content-addressed storage using SHA256 for object IDs
- Directory sharding for filesystem performance:
  - Objects: first 2 chars of hash (e.g., objects/91/91f0...)
  - Blocks: every 10,000 (e.g., blocks/0001/12345.block)
  - States: every 10,000 (e.g., states/0001/12345.state)
- Metadata JSON sidecar files with content type and attributes
- Thread-safe with sync.RWMutex
- Size quota enforcement across all directories

Test coverage (30 tests):
- Provider interface: Put/Get, Delete, Exists, Head, List, quota
- BlockStorage: PutGetBlock, GetBlockRange, GetLatestBlockIndex
- StateStorage: PutGetState, GetLatestState, quota enforcement
- Path helpers and interface compliance verification

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 06:58:20 -05:00