Add UnifiedDepResolver that batch-resolves all custom node pack
dependencies via uv pip compile, replacing per-node pip installs.
Core features:
- Collect, sanitize, and compile requirements from all node packs
- Input validation with regex-based sanitization and blacklist/override support
- Conflict detection with per-node-pack attribution output
- CollectedDeps.sources stores (pack_path, pkg_spec) tuples for attribution
- Startup integration via prestartup_script.py with fallback to legacy path
- --uv-compile flag on 8 CLI commands: uv-compile, install, reinstall,
update, fix, restore-snapshot, restore-dependencies, install-deps
Testing:
- 148 unit tests (mock-based) covering all resolver logic
- 12 E2E pytest tests using ltdrdata's dedicated conflict test packs
- E2E environment setup scripts (setup, start, stop)
- Supply-chain safety policy: only verified authors' packs in E2E
Documentation:
- PRD and DESIGN specs for the resolver
- EN/KO cm-cli user docs updated for all new commands
- Test documentation and environment setup guide
Bump version to 4.1b3.
* Add GitHub stats fetching feature
- Added PyGithub package to requirements.txt for GitHub API interaction
- Updated .gitignore to ignore github-stats-cache.json
- Produced github-stats.json for storing GitHub stats
- Modified scanner.py to include the GitHub stats fetching process
* Add sorting for 'GitHub Stars' and 'Last Update' columns
- Fetch 'GitHub Stars' and 'Last Update' data when getting the custom node list.
- Display 'GitHub Stars' and 'Last Update' information in the UI.
- Implement sorting functionality for these two columns, allowing users to sort both in descending and ascending order.
* fix: scanner - prevent stuck when exceed rate limit
---------
Co-authored-by: Dr.Lt.Data <dr.lt.data@gmail.com>