feat: preview task canvases with workspace data (#3887)

This commit is contained in:
Carlos Florêncio
2026-09-23 20:51:55 +01:00
committed by GitHub
parent 9874ac4cf5
commit 4bebf7c511
79 changed files with 3369 additions and 282 deletions
@@ -351,12 +351,7 @@ func (s *canvasAuthoringService) PublishCanvas(ctx context.Context, request mcph
return nil, err
}
defer s.endPublish(request.Agent.SessionID, item.ID)
expectedAuthority := instances.PublishAuthority{
InstanceID: item.PluginInstanceID, ScopeKind: item.ScopeKind,
WorkspaceID: item.WorkspaceID, TaskID: item.TaskID,
Status: item.Status, ActiveReleaseID: item.ActiveReleaseID,
GrantGeneration: item.GrantGeneration,
}
expectedAuthority := canvasPublishAuthority(item)
expectedBaseReleaseID := ""
if editSession {
expectedBaseReleaseID = target.ReleaseID
@@ -364,6 +359,15 @@ func (s *canvasAuthoringService) PublishCanvas(ctx context.Context, request mcph
return s.publishCanvasSource(ctx, execution, task, item, request, expectedAuthority, expectedBaseReleaseID)
}
func canvasPublishAuthority(item *canvas.Canvas) instances.PublishAuthority {
return instances.PublishAuthority{
InstanceID: item.PluginInstanceID, ScopeKind: item.ScopeKind,
DataScopeKind: item.DataScopeKind, WorkspaceID: item.WorkspaceID,
TaskID: item.TaskID, Status: item.Status,
ActiveReleaseID: item.ActiveReleaseID, GrantGeneration: item.GrantGeneration,
}
}
func validateCanvasPublishSource(item *canvas.Canvas, request mcphandlers.CanvasPublishRequest) error {
if request.SourcePath != canvasSourceRoot(item.ID) {
return canvasOperationError("invalid_source_root", "source_path must be the assigned canvas directory", nil)