Commit graph

77 commits

Author SHA1 Message Date
vsxd
cab627be02 feat(infra): add i18n messages, Redis config, and slug normalization migration
- Add rating/admin i18n message keys (en + zh)
- Improve IdempotencyInterceptor error handling
- Add RedisTemplateConfig for consistent serialization
- Add V4 migration to normalize skill slugs
- Fix RequestIdFilterTest
2026-03-12 20:11:24 +08:00
vsxd
47adf3ebad refactor(make): add dev-all one-click workflow and remove prod targets
Add dev-all/dev-all-down for starting full local environment with
health checks. Fix dev-server to target skillhub-app module. Remove
unused prod-up/prod-down/logs targets.
2026-03-12 20:11:08 +08:00
vsxd
02aecfb901 chore: add .dev/ and docs/superpowers/ to .gitignore
Exclude local dev runtime artifacts and AI planning files
from version control.
2026-03-12 20:11:01 +08:00
vsxd
3063a40c8f feat(web): add admin management pages
- Add admin users management page with role and status controls
- Add audit log page with filtering capabilities
- Create useAdminUsers and useAuditLog hooks for API integration
- Add route guards for USER_ADMIN, AUDITOR, and SUPER_ADMIN roles
- Register /admin/users and /admin/audit-log routes
2026-03-12 19:46:55 +08:00
vsxd
c0e9c10e15 feat(admin): add idempotency layer and admin management API
- Add IdempotencyRecord entity with status tracking (PROCESSING/COMPLETED/FAILED)
- Implement IdempotencyInterceptor for request deduplication via X-Request-Id header
- Add scheduled cleanup tasks for expired and stale idempotency records
- Create admin API endpoints for user management (list/update role/update status)
- Create admin API endpoints for audit log viewing with filtering
- Add comprehensive unit tests for all components
- Configure test Redis mocks to support idempotency layer
2026-03-12 19:32:09 +08:00
vsxd
efd43ef3cd feat(compat): add ClawHub compatibility layer 2026-03-12 19:20:02 +08:00
vsxd
ddb940d5d5 feat(web): add review center, social features, and device auth page 2026-03-12 19:12:50 +08:00
vsxd
fae775eb97 fix(test): provide mock RedisTemplate for test context
- Add TestRedisConfig with mock RedisTemplate bean
- Restore DeviceAuthService as normal @Service (no conditional)
- Restore controllers as normal @RestController (no conditional)
- Remove DeviceAuthConfig and DeviceAuthWebConfig (not needed)
- All 179 tests pass
2026-03-12 19:08:25 +08:00
vsxd
55ab9d8bff docs: update README.md 2026-03-12 18:33:31 +08:00
vsxd
27c47d1f67 docs: rewrite README with product focus, enterprise positioning, and architecture diagram 2026-03-12 18:29:53 +08:00
vsxd
5cc595b0ff feat(cli): add skill package check endpoint 2026-03-12 18:26:50 +08:00
vsxd
f47377cff1 feat(cli): add Device Auth controllers 2026-03-12 18:19:03 +08:00
vsxd
9a4d64b11b feat(cli): implement DeviceAuthService with Redis storage 2026-03-12 18:13:46 +08:00
vsxd
37fd831ce7 feat(cli): add Device Flow data models 2026-03-12 18:11:13 +08:00
vsxd
dd4f8d8abe feat(social): add SkillStar and SkillRating controllers 2026-03-12 18:06:03 +08:00
vsxd
7af86eed21 docs: add project README with quickstart and structure overview 2026-03-12 17:50:34 +08:00
vsxd
dbb6d9f39e feat(ops): improve Dockerfile caching, add dockerignore, docker profile, Makefile help
- Server Dockerfile: add Maven dependency caching layer for faster rebuilds
- Add .dockerignore for server and web to reduce build context
- Add docker profile to application.yml for container env var mapping
- Makefile: add help, logs, db-reset targets with ## annotations
2026-03-12 17:50:34 +08:00
vsxd
c6fd3c02f6 feat(web): update API client, hooks, and pages for Phase 2-3 2026-03-12 17:48:17 +08:00
vsxd
b520689130 feat(app): update controllers, DTOs, config, rate limiting, and add new components
- Add BaseApiController, MeController, AuthContextFilter
- Add standardized ApiResponse/ApiResponseFactory/PageResponse DTOs
- Add i18n messages (en/zh)
- Replace SlidingWindowRateLimiter with RateLimiter interface + Redis/InMemory impls
- Add localized exception handling
- Update application.yml with messages config
- Update Flyway migrations V1-V3
- Add SkillController and SkillSearchController tests
2026-03-12 17:47:58 +08:00
vsxd
6df55e3768 feat(infra): update JPA repository implementations 2026-03-12 17:47:37 +08:00
vsxd
db0d86ea08 feat(search): update search documents and query services 2026-03-12 17:47:18 +08:00
vsxd
d44f9415fe feat(auth): update security config, auth entities, and token services 2026-03-12 17:47:08 +08:00
vsxd
cfcdb545f0 feat(domain): update entities, services, repositories, and add shared exceptions 2026-03-12 17:46:48 +08:00
vsxd
9d7282221c docs: update specs, plans, and design documents for Phase 2-4 2026-03-12 17:46:41 +08:00
vsxd
b7a798914a chore: add Eclipse project files to gitignore 2026-03-12 17:45:28 +08:00
vsxd
217ed7e918 feat(social): add SkillStarService and SkillRatingService with events 2026-03-12 17:36:42 +08:00
vsxd
ae24a18e64 feat(social): add SkillStar and SkillRating entities and repositories 2026-03-12 17:19:50 +08:00
vsxd
8b17f2c55b feat(review): add ReviewController and PromotionController REST APIs
- Add review DTOs: ReviewTaskRequest, ReviewTaskResponse, ReviewActionRequest
- Add promotion DTOs: PromotionRequestDto, PromotionResponseDto, PromotionActionRequest
- Add ReviewController with submit/approve/reject/withdraw/list endpoints
- Add PromotionController with submit/approve/reject/list endpoints
- Follow existing BaseApiController + ApiResponse pattern
2026-03-12 16:41:32 +08:00
vsxd
6acdfe3c91 fix(docs): address spec review findings for Phase 4 design
- Remove auth_method field reference, use local_credential existence
- Unify merge API path to /api/v1/auth/merge/*
- Add missing /.well-known/ proxy in Nginx and K8s Ingress
- Fix SeedDataRunner missing field declarations
- Remove login failure attempt count from error response
- Sync delivery roadmap Phase 4/5 scope with spec
2026-03-12 16:04:59 +08:00
vsxd
44dece6f6d docs: add Phase 4 design spec - ops polish + open source readiness
Comprehensive design covering local auth, multi-account merge, skill
governance, audit log query, Prometheus metrics, performance optimization,
security hardening, Docker one-click startup, K8s deployment, and open
source infrastructure.
2026-03-12 15:55:27 +08:00
vsxd
51fa37a9c5 feat(review): implement PromotionService
- Add submitPromotion with duplicate check and validation
- Add approvePromotion with optimistic locking and skill copying
- Add rejectPromotion with reason recording
2026-03-12 15:52:54 +08:00
vsxd
bffc36b815 feat(review): implement ReviewService
- Add submitReview with duplicate check via partial unique index
- Add approveReview with optimistic locking and event publishing
- Add rejectReview with reason recording
- Add withdrawReview with PENDING status check
2026-03-12 15:42:21 +08:00
vsxd
644b3efd44 feat(review): add ReviewPermissionChecker with tests
- canReview: self-review blocked, GLOBAL requires SKILL_ADMIN/SUPER_ADMIN,
  TEAM requires namespace ADMIN/OWNER
- canReviewPromotion: self-review blocked, requires SKILL_ADMIN/SUPER_ADMIN
- NamespaceType passed as parameter to avoid internal repository lookup
- 12 unit tests covering all permission scenarios
2026-03-12 15:24:51 +08:00
vsxd
3ebdc2691d feat(repo): add review repositories
- Add ReviewTaskRepository with optimistic lock update
- Add PromotionRequestRepository
- Implement JPA repositories in infra module
2026-03-12 15:17:11 +08:00
vsxd
8a1b1a9d5f feat(domain): add review workflow domain entities
- Add ReviewTaskStatus enum (PENDING, APPROVED, REJECTED)
- Add ReviewTask entity with optimistic locking
- Add PromotionRequest entity for cross-namespace promotion
2026-03-12 15:10:55 +08:00
vsxd
e57efef41b feat(db): add Phase 3 database migration
- Add review_task table with partial unique index
- Add promotion_request table
- Add skill_star and skill_rating tables
- Add idempotency_record table
2026-03-12 15:05:38 +08:00
vsxd
b77e5ad314 docs: complete Phase 3 implementation plan with detailed TDD steps for all 5 chunks 2026-03-12 14:31:49 +08:00
vsxd
7174ffab6a docs: complete Phase 3 implementation plan with detailed TDD steps for all 5 chunks
- Chunk 1: Review workflow core (backend) - DB migration, entities, repos, permissions, service
- Chunk 2: Rating/favorites + frontend review center - entities, services, event listeners, controllers
- Chunk 3: CLI API + Web auth - Device Flow models, service, controllers, frontend page
- Chunk 4: ClawHub compatibility layer - slug mapper, well-known endpoint, compat controller
- Chunk 5: Idempotency + admin dashboard - interceptor, cleanup tasks, admin API, frontend pages
2026-03-12 11:30:19 +08:00
vsxd
fe32dcddb6 fix(web): resolve TypeScript errors in Phase 2 pages and hooks 2026-03-12 02:56:54 +08:00
vsxd
9a1b14b11a feat(web): add all Phase 2 pages and routes 2026-03-12 02:54:19 +08:00
vsxd
8d223dc875 fix(web): use plain fetch for Phase 2 API hooks 2026-03-12 02:45:32 +08:00
vsxd
a3fe76eaeb feat(web): add Phase 2 frontend foundation - types, hooks, shared and feature components 2026-03-12 02:43:01 +08:00
vsxd
1db4ec1e78 feat: add skill controllers, search, async events, rate limiting, and config 2026-03-12 02:36:59 +08:00
vsxd
28040f36a2 feat(domain): add skill publish, query, download, and tag services with tests 2026-03-12 02:24:03 +08:00
vsxd
c9f9ef03f2 feat: add namespace services, controller, DTOs, and domain events 2026-03-12 02:12:00 +08:00
vsxd
4920506643 feat(domain): add SkillMetadataParser, SkillPackageValidator, and VisibilityChecker with tests 2026-03-12 02:04:29 +08:00
vsxd
8644154157 feat(domain): add Skill domain entities, repositories, and JPA implementations 2026-03-12 02:00:34 +08:00
vsxd
ca36304df9 feat(storage): add object storage SPI with LocalFile and S3 implementations 2026-03-12 01:56:27 +08:00
vsxd
351829e1a9 feat(domain): add SlugValidator with comprehensive validation rules 2026-03-12 01:53:08 +08:00
vsxd
95c8c31561 feat(domain): complete Phase 1 entity fields for Namespace and NamespaceMember 2026-03-12 01:51:57 +08:00