feat(server): add brand kit management and project binding

Add a brand kit domain with memory and postgres stores, a BrandKitService
for CRUD and resolution, and REST endpoints to list, upsert, and delete
brand kits. Projects can bind a brand kit whose resolved context and
reference images feed into the agent's long-term memory and design prompts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-10 20:58:55 +08:00
parent 3653474355
commit 789f51b29e
38 changed files with 2165 additions and 135 deletions
+9
View File
@@ -6,6 +6,7 @@ go-zero backend for the Moteva-style infinite canvas MVP.
- Dashboard data for the Moteva home page
- Project creation from prompt
- User-owned Brand Kits with optional per-canvas binding and server-authoritative creative context
- Project title rename
- Full canvas project reads
- Moteva-style generation mock for image/design workflows
@@ -144,6 +145,14 @@ curl -X POST http://localhost:8888/api/canva/project/saveProject \
curl -X POST http://localhost:8888/api/assets/upload-url \
-H "Content-Type: application/json" \
-d '{"fileName":"ref.png","contentType":"image/png"}'
curl http://localhost:8888/api/brand-kits \
-H "Authorization: Bearer <access-token>"
curl -X PATCH http://localhost:8888/api/projects/<project-id>/brand-kit \
-H "Authorization: Bearer <access-token>" \
-H "Content-Type: application/json" \
-d '{"brandKitId":"brand-kit-example"}'
```
Detailed endpoint docs are in [API.md](API.md).