Skip to content

feat(canvas): projetos, canvases versionados e artefatos - #231

Merged
actus7 merged 1 commit into
mainfrom
actus7/feat-projects-workspace
Aug 18, 2026
Merged

feat(canvas): projetos, canvases versionados e artefatos#231
actus7 merged 1 commit into
mainfrom
actus7/feat-projects-workspace

Conversation

@actus7

@actus7 actus7 commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Resumo

Backend-first do workspace de Canvas + Projetos (spec v2 em docs/canvas-projects-plan.md).

  • Prisma: novos models Project, ProjectFile, ProjectArtifact, ArtifactVersion, Canvas, CanvasVersion + Conversation.projectId (migration incluída; Vercel roda migrate deploy no build)
  • Rotas /canvas: CRUD, auto-versionamento de conteúdo, versões + restore, share token (idempotente/revogável), pin em projeto (snapshot imutável, 409 em duplicata)
  • Rotas /projects: CRUD, upload de arquivos de conhecimento (validação + extração de texto), artifacts com versionamento e refresh, /context com caps de 20k/60k chars para system prompt
  • Conversas: criar/listar com projectId
  • Share /share/[token]: resolve conversation | canvas | artifact (read-only, campos seguros)
  • Segurança: todas as rotas com securityHeaders + protectedCors + authenticateAccess + ownership por userId em todas as queries; validação zod nos payloads

Não incluído (fase 2, declarado no plano)

UI /projects, detector client-side de canvas, injeção do header x-modelhub-project-id no gateway. Deps de editor (codemirror, mermaid, babel) instaladas para a fase 2.

Validação

  • lint ✅ typecheck ✅ (3 erros TS de teste corrigidos)
  • 369 testes passando (novos: canvas-routes + projects-routes)
  • build Next.js ✅ (31 rotas)

- Novos models Prisma: Project, ProjectFile, ProjectArtifact, ArtifactVersion,
  Canvas, CanvasVersion (migration 20260818120000)
- Rotas /canvas (CRUD + versionamento + share + pin em projeto)
- Rotas /projects (CRUD + files + artifacts + context para system prompt)
- Conversas suportam projectId (criar/patch + listagem)
- Share route /share/[token] resolve canvas e artifact públicos (read-only)
- Contratos de tipos Canvas* e Project* em lib/contracts.ts
- Message parts suportam referência a canvas (chat-parts + attachments)
- proxy.ts protege /projects/*
- Deps: @uiw/react-codemirror, @codemirror/lang-*, mermaid, @babel/standalone
- 369 testes verdes (canvas-routes + projects-routes cobrem os novos endpoints)
Copilot AI lite review requested due to automatic review settings August 18, 2026 12:23
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
modelhub Ready Ready Preview Aug 18, 2026 12:24pm

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Dependency changes backend Backend changes database Database changes tests Test changes labels Aug 18, 2026
@actus7
actus7 merged commit 4acc2a2 into main Aug 18, 2026
12 checks passed
@actus7
actus7 deleted the actus7/feat-projects-workspace branch August 18, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Backend changes database Database changes dependencies Dependency changes documentation Improvements or additions to documentation tests Test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants