msyavuz commented on code in PR #45826:
URL: https://github.com/apache/superset/pull/45826#discussion_r4443719934


##########
superset/mcp_service/canvas/tool/apply_canvas_draft_ops.py:
##########
@@ -93,13 +94,15 @@ def _apply_canvas_draft_ops_impl(
     ),
 )
 def apply_canvas_draft_ops(
-    token: str, revision: int, ops: list[dict[str, Any]]
+    token: str, revision: int, ops: DraftOpsInput
 ) -> CanvasDraftResponse:
-    """Apply operations to a canvas draft, in order and atomically: on any
-    error nothing changes and the error names the operation and the path at
-    fault. Only the draft changes; ``commit_canvas_draft`` publishes it.
-    ``revision`` is the draft revision you last saw; the response carries
-    the next one.
+    """Apply operations to a canvas draft, in order and atomically. Only the
+    draft changes; ``commit_canvas_draft`` publishes it. Send the last
+    ``draft_revision`` as ``revision``; the response carries the next one. On
+    ``DraftRevisionConflict``, reload the draft before writing again.
+
+    On any error nothing changes, and the error names the operation and the
+    path at fault. ``ValidationError`` leaves the draft unchanged.
 
     Operations (placement ids are readable slugs; ``parent`` defaults to

Review Comment:
   Since the input schema now carries the full `Operation` union, can this list 
shrink to the rules the schema can't express (1-based grid, `scope: null` 
resets, `widgetId` vs `widgetType`)? Otherwise agents get the grammar twice.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to