Add fork display, version selector, and admin cleanup features

Registry Features:
- Fork tracking with forked_from/forked_version metadata
- Forked tools show "Forked from" notice on detail page
- Original tools display "Forks" section listing all forks
- Fork count in tool stats
- API: GET /api/v1/tools/<owner>/<name>/forks

GUI Improvements:
- Version selector dropdown for registry installs
- Fetch available versions via GET /api/v1/tools/<owner>/<name>/versions
- "Latest" option plus all available versions listed

Admin Features:
- POST /api/v1/admin/cleanup/rejected endpoint
- Maintenance section in admin dashboard
- "Dry Run" and "Run Cleanup" buttons for rejected version cleanup
- Configurable grace period (default 7 days)

Documentation:
- Updated CHANGELOG.md with all recent changes

Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
rob
2026-01-16 23:42:32 -04:00
co-authored by Claude Opus 4.5
parent 74b5124360
commit adefe909c2
6 changed files with 494 additions and 11 deletions
+53 -1
View File
@@ -1 +1,53 @@
# Auto-deploy test Tue 13 Jan 2026 03:09:44 AM AST
# Changelog
All notable changes to CmdForge will be documented in this file.
## [Unreleased]
### Added
#### Registry Features
- **Fork tracking and display**: Tools now track their fork origin with `forked_from` and `forked_version` metadata
- Forked tools show a "Forked from" notice on the tool detail page
- Original tools display a "Forks" section listing all forks
- Fork count displayed in tool stats
- API endpoint: `GET /api/v1/tools/<owner>/<name>/forks`
- **Version selector for installs**: Users can select specific versions when installing tools from the registry
- Version dropdown in registry page populated via `GET /api/v1/tools/<owner>/<name>/versions`
- "Latest" option plus all available versions listed
- Selected version passed to install worker
- **Auto-cleanup rejected versions**: Admin maintenance feature to purge rejected tool submissions
- API endpoint: `POST /api/v1/admin/cleanup/rejected`
- Parameters:
- `days` (default: 7) - grace period before deletion
- `dry_run` (default: false) - preview mode without actual deletion
- Admin dashboard UI with "Dry Run" and "Run Cleanup" buttons
- Shows count of rejected versions pending cleanup
#### GUI Improvements
- Version display and bump buttons in publish dialog
- Auto-fetch registry version when opening publish dialog
- Fork detection during publish workflow
- Always refresh tools page after publish dialog closes
#### Admin Features
- Maintenance section in admin dashboard
- Rejected version count display
- Cleanup result modal with detailed output
### Fixed
- VERSION_EXISTS error showing after successful publish (made endpoint idempotent by checking config_hash)
- My Tools page listing every version separately (now consolidated by tool name)
- GUI not refreshing after publish dialog closes
### Changed
- Publish endpoint now returns success if same config_hash already exists (idempotent)
- My Tools page groups versions by tool name, showing version count and list
---
## Previous Changes
See git history for changes prior to this changelog.