Versions in this module Expand all Collapse all v0 v0.3.7 Mar 1, 2026 v0.3.5 Feb 27, 2026 v0.3.4 Feb 27, 2026 v0.3.3 Feb 27, 2026 v0.3.2 Feb 23, 2026 v0.3.1 Feb 22, 2026 v0.3.0 Feb 21, 2026 Changes in this version + const CommandCollectClassNamesFromSubtree + const CommandCopyTo + const CommandDescribeNode + const CommandDisable + const CommandDiscardSearchResults + const CommandEnable + const CommandFocus + const CommandGetAnchorElement + const CommandGetAttributes + const CommandGetBoxModel + const CommandGetContainerForNode + const CommandGetContentQuads + const CommandGetDocument + const CommandGetElementByRelation + const CommandGetFileInfo + const CommandGetFrameOwner + const CommandGetNodeForLocation + const CommandGetNodeStackTraces + const CommandGetNodesForSubtreeByStyle + const CommandGetOuterHTML + const CommandGetQueryingDescendantsForContainer + const CommandGetRelayoutBoundary + const CommandGetSearchResults + const CommandGetTopLayerElements + const CommandMarkUndoableState + const CommandMoveTo + const CommandPerformSearch + const CommandPushNodeByPathToFrontend + const CommandPushNodesByBackendIDsToFrontend + const CommandQuerySelector + const CommandQuerySelectorAll + const CommandRedo + const CommandRemoveAttribute + const CommandRemoveNode + const CommandRequestChildNodes + const CommandRequestNode + const CommandResolveNode + const CommandScrollIntoViewIfNeeded + const CommandSetAttributeValue + const CommandSetAttributesAsText + const CommandSetFileInputFiles + const CommandSetInspectedNode + const CommandSetNodeName + const CommandSetNodeStackTracesEnabled + const CommandSetNodeValue + const CommandSetOuterHTML + const CommandUndo + type BoxModel struct + Border Quad + Content Quad + Height int64 + Margin Quad + Padding Quad + ShapeOutside *ShapeOutsideInfo + Width int64 + type CSSComputedStyleProperty struct + Name string + Value string + type CollectClassNamesFromSubtreeParams struct + NodeID cdp.NodeID + func CollectClassNamesFromSubtree(nodeID cdp.NodeID) *CollectClassNamesFromSubtreeParams + func (p *CollectClassNamesFromSubtreeParams) Do(ctx context.Context) (classNames []string, err error) + type CollectClassNamesFromSubtreeReturns struct + ClassNames []string + type CopyToParams struct + InsertBeforeNodeID cdp.NodeID + NodeID cdp.NodeID + TargetNodeID cdp.NodeID + func CopyTo(nodeID cdp.NodeID, targetNodeID cdp.NodeID) *CopyToParams + func (p *CopyToParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + func (p CopyToParams) WithInsertBeforeNodeID(insertBeforeNodeID cdp.NodeID) *CopyToParams + type CopyToReturns struct + NodeID cdp.NodeID + type DescribeNodeParams struct + BackendNodeID cdp.BackendNodeID + Depth int64 + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + Pierce bool + func DescribeNode() *DescribeNodeParams + func (p *DescribeNodeParams) Do(ctx context.Context) (node *cdp.Node, err error) + func (p DescribeNodeParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *DescribeNodeParams + func (p DescribeNodeParams) WithDepth(depth int64) *DescribeNodeParams + func (p DescribeNodeParams) WithNodeID(nodeID cdp.NodeID) *DescribeNodeParams + func (p DescribeNodeParams) WithObjectID(objectID runtime.RemoteObjectID) *DescribeNodeParams + func (p DescribeNodeParams) WithPierce(pierce bool) *DescribeNodeParams + type DescribeNodeReturns struct + Node *cdp.Node + type DisableParams struct + func Disable() *DisableParams + func (p *DisableParams) Do(ctx context.Context) (err error) + type DiscardSearchResultsParams struct + SearchID string + func DiscardSearchResults(searchID string) *DiscardSearchResultsParams + func (p *DiscardSearchResultsParams) Do(ctx context.Context) (err error) + type EnableIncludeWhitespace string + const EnableIncludeWhitespaceAll + const EnableIncludeWhitespaceNone + func (t *EnableIncludeWhitespace) UnmarshalJSON(buf []byte) error + func (t EnableIncludeWhitespace) MarshalJSON() ([]byte, error) + func (t EnableIncludeWhitespace) String() string + type EnableParams struct + IncludeWhitespace EnableIncludeWhitespace + func Enable() *EnableParams + func (p *EnableParams) Do(ctx context.Context) (err error) + func (p EnableParams) WithIncludeWhitespace(includeWhitespace EnableIncludeWhitespace) *EnableParams + type EventAttributeModified struct + Name string + NodeID cdp.NodeID + Value string + type EventAttributeRemoved struct + Name string + NodeID cdp.NodeID + type EventCharacterDataModified struct + CharacterData string + NodeID cdp.NodeID + type EventChildNodeCountUpdated struct + ChildNodeCount int64 + NodeID cdp.NodeID + type EventChildNodeInserted struct + Node *cdp.Node + ParentNodeID cdp.NodeID + PreviousNodeID cdp.NodeID + type EventChildNodeRemoved struct + NodeID cdp.NodeID + ParentNodeID cdp.NodeID + type EventDistributedNodesUpdated struct + DistributedNodes []*cdp.BackendNode + InsertionPointID cdp.NodeID + type EventDocumentUpdated struct + type EventInlineStyleInvalidated struct + NodeIDs []cdp.NodeID + type EventPseudoElementAdded struct + ParentID cdp.NodeID + PseudoElement *cdp.Node + type EventPseudoElementRemoved struct + ParentID cdp.NodeID + PseudoElementID cdp.NodeID + type EventSetChildNodes struct + Nodes []*cdp.Node + ParentID cdp.NodeID + type EventShadowRootPopped struct + HostID cdp.NodeID + RootID cdp.NodeID + type EventShadowRootPushed struct + HostID cdp.NodeID + Root *cdp.Node + type EventTopLayerElementsUpdated struct + type FocusParams struct + BackendNodeID cdp.BackendNodeID + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + func Focus() *FocusParams + func (p *FocusParams) Do(ctx context.Context) (err error) + func (p FocusParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *FocusParams + func (p FocusParams) WithNodeID(nodeID cdp.NodeID) *FocusParams + func (p FocusParams) WithObjectID(objectID runtime.RemoteObjectID) *FocusParams + type GetAnchorElementParams struct + AnchorSpecifier string + NodeID cdp.NodeID + func GetAnchorElement(nodeID cdp.NodeID) *GetAnchorElementParams + func (p *GetAnchorElementParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + func (p GetAnchorElementParams) WithAnchorSpecifier(anchorSpecifier string) *GetAnchorElementParams + type GetAnchorElementReturns struct + NodeID cdp.NodeID + type GetAttributesParams struct + NodeID cdp.NodeID + func GetAttributes(nodeID cdp.NodeID) *GetAttributesParams + func (p *GetAttributesParams) Do(ctx context.Context) (attributes []string, err error) + type GetAttributesReturns struct + Attributes []string + type GetBoxModelParams struct + BackendNodeID cdp.BackendNodeID + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + func GetBoxModel() *GetBoxModelParams + func (p *GetBoxModelParams) Do(ctx context.Context) (model *BoxModel, err error) + func (p GetBoxModelParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *GetBoxModelParams + func (p GetBoxModelParams) WithNodeID(nodeID cdp.NodeID) *GetBoxModelParams + func (p GetBoxModelParams) WithObjectID(objectID runtime.RemoteObjectID) *GetBoxModelParams + type GetBoxModelReturns struct + Model *BoxModel + type GetContainerForNodeParams struct + ContainerName string + LogicalAxes LogicalAxes + NodeID cdp.NodeID + PhysicalAxes PhysicalAxes + func GetContainerForNode(nodeID cdp.NodeID) *GetContainerForNodeParams + func (p *GetContainerForNodeParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + func (p GetContainerForNodeParams) WithContainerName(containerName string) *GetContainerForNodeParams + func (p GetContainerForNodeParams) WithLogicalAxes(logicalAxes LogicalAxes) *GetContainerForNodeParams + func (p GetContainerForNodeParams) WithPhysicalAxes(physicalAxes PhysicalAxes) *GetContainerForNodeParams + type GetContainerForNodeReturns struct + NodeID cdp.NodeID + type GetContentQuadsParams struct + BackendNodeID cdp.BackendNodeID + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + func GetContentQuads() *GetContentQuadsParams + func (p *GetContentQuadsParams) Do(ctx context.Context) (quads []Quad, err error) + func (p GetContentQuadsParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *GetContentQuadsParams + func (p GetContentQuadsParams) WithNodeID(nodeID cdp.NodeID) *GetContentQuadsParams + func (p GetContentQuadsParams) WithObjectID(objectID runtime.RemoteObjectID) *GetContentQuadsParams + type GetContentQuadsReturns struct + Quads []Quad + type GetDocumentParams struct + Depth int64 + Pierce bool + func GetDocument() *GetDocumentParams + func (p *GetDocumentParams) Do(ctx context.Context) (root *cdp.Node, err error) + func (p GetDocumentParams) WithDepth(depth int64) *GetDocumentParams + func (p GetDocumentParams) WithPierce(pierce bool) *GetDocumentParams + type GetDocumentReturns struct + Root *cdp.Node + type GetElementByRelationParams struct + NodeID cdp.NodeID + Relation GetElementByRelationRelation + func GetElementByRelation(nodeID cdp.NodeID, relation GetElementByRelationRelation) *GetElementByRelationParams + func (p *GetElementByRelationParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + type GetElementByRelationRelation string + const GetElementByRelationRelationPopoverTarget + func (t *GetElementByRelationRelation) UnmarshalJSON(buf []byte) error + func (t GetElementByRelationRelation) MarshalJSON() ([]byte, error) + func (t GetElementByRelationRelation) String() string + type GetElementByRelationReturns struct + NodeID cdp.NodeID + type GetFileInfoParams struct + ObjectID runtime.RemoteObjectID + func GetFileInfo(objectID runtime.RemoteObjectID) *GetFileInfoParams + func (p *GetFileInfoParams) Do(ctx context.Context) (path string, err error) + type GetFileInfoReturns struct + Path string + type GetFrameOwnerParams struct + FrameID cdp.FrameID + func GetFrameOwner(frameID cdp.FrameID) *GetFrameOwnerParams + func (p *GetFrameOwnerParams) Do(ctx context.Context) (backendNodeID cdp.BackendNodeID, nodeID cdp.NodeID, err error) + type GetFrameOwnerReturns struct + BackendNodeID cdp.BackendNodeID + NodeID cdp.NodeID + type GetNodeForLocationParams struct + IgnorePointerEventsNone bool + IncludeUserAgentShadowDOM bool + X int64 + Y int64 + func GetNodeForLocation(x int64, y int64) *GetNodeForLocationParams + func (p *GetNodeForLocationParams) Do(ctx context.Context) (backendNodeID cdp.BackendNodeID, frameID cdp.FrameID, nodeID cdp.NodeID, ...) + func (p GetNodeForLocationParams) WithIgnorePointerEventsNone(ignorePointerEventsNone bool) *GetNodeForLocationParams + func (p GetNodeForLocationParams) WithIncludeUserAgentShadowDOM(includeUserAgentShadowDOM bool) *GetNodeForLocationParams + type GetNodeForLocationReturns struct + BackendNodeID cdp.BackendNodeID + FrameID cdp.FrameID + NodeID cdp.NodeID + type GetNodeStackTracesParams struct + NodeID cdp.NodeID + func GetNodeStackTraces(nodeID cdp.NodeID) *GetNodeStackTracesParams + func (p *GetNodeStackTracesParams) Do(ctx context.Context) (creation *runtime.StackTrace, err error) + type GetNodeStackTracesReturns struct + Creation *runtime.StackTrace + type GetNodesForSubtreeByStyleParams struct + ComputedStyles []*CSSComputedStyleProperty + NodeID cdp.NodeID + Pierce bool + func GetNodesForSubtreeByStyle(nodeID cdp.NodeID, computedStyles []*CSSComputedStyleProperty) *GetNodesForSubtreeByStyleParams + func (p *GetNodesForSubtreeByStyleParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error) + func (p GetNodesForSubtreeByStyleParams) WithPierce(pierce bool) *GetNodesForSubtreeByStyleParams + type GetNodesForSubtreeByStyleReturns struct + NodeIDs []cdp.NodeID + type GetOuterHTMLParams struct + BackendNodeID cdp.BackendNodeID + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + func GetOuterHTML() *GetOuterHTMLParams + func (p *GetOuterHTMLParams) Do(ctx context.Context) (outerHTML string, err error) + func (p GetOuterHTMLParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *GetOuterHTMLParams + func (p GetOuterHTMLParams) WithNodeID(nodeID cdp.NodeID) *GetOuterHTMLParams + func (p GetOuterHTMLParams) WithObjectID(objectID runtime.RemoteObjectID) *GetOuterHTMLParams + type GetOuterHTMLReturns struct + OuterHTML string + type GetQueryingDescendantsForContainerParams struct + NodeID cdp.NodeID + func GetQueryingDescendantsForContainer(nodeID cdp.NodeID) *GetQueryingDescendantsForContainerParams + func (p *GetQueryingDescendantsForContainerParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error) + type GetQueryingDescendantsForContainerReturns struct + NodeIDs []cdp.NodeID + type GetRelayoutBoundaryParams struct + NodeID cdp.NodeID + func GetRelayoutBoundary(nodeID cdp.NodeID) *GetRelayoutBoundaryParams + func (p *GetRelayoutBoundaryParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + type GetRelayoutBoundaryReturns struct + NodeID cdp.NodeID + type GetSearchResultsParams struct + FromIndex int64 + SearchID string + ToIndex int64 + func GetSearchResults(searchID string, fromIndex int64, toIndex int64) *GetSearchResultsParams + func (p *GetSearchResultsParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error) + type GetSearchResultsReturns struct + NodeIDs []cdp.NodeID + type GetTopLayerElementsParams struct + func GetTopLayerElements() *GetTopLayerElementsParams + func (p *GetTopLayerElementsParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error) + type GetTopLayerElementsReturns struct + NodeIDs []cdp.NodeID + type LogicalAxes string + const LogicalAxesBlock + const LogicalAxesBoth + const LogicalAxesInline + func (t *LogicalAxes) UnmarshalJSON(buf []byte) error + func (t LogicalAxes) MarshalJSON() ([]byte, error) + func (t LogicalAxes) String() string + type MarkUndoableStateParams struct + func MarkUndoableState() *MarkUndoableStateParams + func (p *MarkUndoableStateParams) Do(ctx context.Context) (err error) + type MoveToParams struct + InsertBeforeNodeID cdp.NodeID + NodeID cdp.NodeID + TargetNodeID cdp.NodeID + func MoveTo(nodeID cdp.NodeID, targetNodeID cdp.NodeID) *MoveToParams + func (p *MoveToParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + func (p MoveToParams) WithInsertBeforeNodeID(insertBeforeNodeID cdp.NodeID) *MoveToParams + type MoveToReturns struct + NodeID cdp.NodeID + type PerformSearchParams struct + IncludeUserAgentShadowDOM bool + Query string + func PerformSearch(query string) *PerformSearchParams + func (p *PerformSearchParams) Do(ctx context.Context) (searchID string, resultCount int64, err error) + func (p PerformSearchParams) WithIncludeUserAgentShadowDOM(includeUserAgentShadowDOM bool) *PerformSearchParams + type PerformSearchReturns struct + ResultCount int64 + SearchID string + type PhysicalAxes string + const PhysicalAxesBoth + const PhysicalAxesHorizontal + const PhysicalAxesVertical + func (t *PhysicalAxes) UnmarshalJSON(buf []byte) error + func (t PhysicalAxes) MarshalJSON() ([]byte, error) + func (t PhysicalAxes) String() string + type PushNodeByPathToFrontendParams struct + Path string + func PushNodeByPathToFrontend(path string) *PushNodeByPathToFrontendParams + func (p *PushNodeByPathToFrontendParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + type PushNodeByPathToFrontendReturns struct + NodeID cdp.NodeID + type PushNodesByBackendIDsToFrontendParams struct + BackendNodeIDs []cdp.BackendNodeID + func PushNodesByBackendIDsToFrontend(backendNodeIDs []cdp.BackendNodeID) *PushNodesByBackendIDsToFrontendParams + func (p *PushNodesByBackendIDsToFrontendParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error) + type PushNodesByBackendIDsToFrontendReturns struct + NodeIDs []cdp.NodeID + type Quad []float64 + type QuerySelectorAllParams struct + NodeID cdp.NodeID + Selector string + func QuerySelectorAll(nodeID cdp.NodeID, selector string) *QuerySelectorAllParams + func (p *QuerySelectorAllParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error) + type QuerySelectorAllReturns struct + NodeIDs []cdp.NodeID + type QuerySelectorParams struct + NodeID cdp.NodeID + Selector string + func QuerySelector(nodeID cdp.NodeID, selector string) *QuerySelectorParams + func (p *QuerySelectorParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + type QuerySelectorReturns struct + NodeID cdp.NodeID + type Rect struct + Height float64 + Width float64 + X float64 + Y float64 + type RedoParams struct + func Redo() *RedoParams + func (p *RedoParams) Do(ctx context.Context) (err error) + type RemoveAttributeParams struct + Name string + NodeID cdp.NodeID + func RemoveAttribute(nodeID cdp.NodeID, name string) *RemoveAttributeParams + func (p *RemoveAttributeParams) Do(ctx context.Context) (err error) + type RemoveNodeParams struct + NodeID cdp.NodeID + func RemoveNode(nodeID cdp.NodeID) *RemoveNodeParams + func (p *RemoveNodeParams) Do(ctx context.Context) (err error) + type RequestChildNodesParams struct + Depth int64 + NodeID cdp.NodeID + Pierce bool + func RequestChildNodes(nodeID cdp.NodeID) *RequestChildNodesParams + func (p *RequestChildNodesParams) Do(ctx context.Context) (err error) + func (p RequestChildNodesParams) WithDepth(depth int64) *RequestChildNodesParams + func (p RequestChildNodesParams) WithPierce(pierce bool) *RequestChildNodesParams + type RequestNodeParams struct + ObjectID runtime.RemoteObjectID + func RequestNode(objectID runtime.RemoteObjectID) *RequestNodeParams + func (p *RequestNodeParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + type RequestNodeReturns struct + NodeID cdp.NodeID + type ResolveNodeParams struct + BackendNodeID cdp.BackendNodeID + ExecutionContextID runtime.ExecutionContextID + NodeID cdp.NodeID + ObjectGroup string + func ResolveNode() *ResolveNodeParams + func (p *ResolveNodeParams) Do(ctx context.Context) (object *runtime.RemoteObject, err error) + func (p ResolveNodeParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *ResolveNodeParams + func (p ResolveNodeParams) WithExecutionContextID(executionContextID runtime.ExecutionContextID) *ResolveNodeParams + func (p ResolveNodeParams) WithNodeID(nodeID cdp.NodeID) *ResolveNodeParams + func (p ResolveNodeParams) WithObjectGroup(objectGroup string) *ResolveNodeParams + type ResolveNodeReturns struct + Object *runtime.RemoteObject + type ScrollIntoViewIfNeededParams struct + BackendNodeID cdp.BackendNodeID + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + Rect *Rect + func ScrollIntoViewIfNeeded() *ScrollIntoViewIfNeededParams + func (p *ScrollIntoViewIfNeededParams) Do(ctx context.Context) (err error) + func (p ScrollIntoViewIfNeededParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *ScrollIntoViewIfNeededParams + func (p ScrollIntoViewIfNeededParams) WithNodeID(nodeID cdp.NodeID) *ScrollIntoViewIfNeededParams + func (p ScrollIntoViewIfNeededParams) WithObjectID(objectID runtime.RemoteObjectID) *ScrollIntoViewIfNeededParams + func (p ScrollIntoViewIfNeededParams) WithRect(rect *Rect) *ScrollIntoViewIfNeededParams + type ScrollOrientation string + const ScrollOrientationHorizontal + const ScrollOrientationVertical + func (t *ScrollOrientation) UnmarshalJSON(buf []byte) error + func (t ScrollOrientation) MarshalJSON() ([]byte, error) + func (t ScrollOrientation) String() string + type SetAttributeValueParams struct + Name string + NodeID cdp.NodeID + Value string + func SetAttributeValue(nodeID cdp.NodeID, name string, value string) *SetAttributeValueParams + func (p *SetAttributeValueParams) Do(ctx context.Context) (err error) + type SetAttributesAsTextParams struct + Name string + NodeID cdp.NodeID + Text string + func SetAttributesAsText(nodeID cdp.NodeID, text string) *SetAttributesAsTextParams + func (p *SetAttributesAsTextParams) Do(ctx context.Context) (err error) + func (p SetAttributesAsTextParams) WithName(name string) *SetAttributesAsTextParams + type SetFileInputFilesParams struct + BackendNodeID cdp.BackendNodeID + Files []string + NodeID cdp.NodeID + ObjectID runtime.RemoteObjectID + func SetFileInputFiles(files []string) *SetFileInputFilesParams + func (p *SetFileInputFilesParams) Do(ctx context.Context) (err error) + func (p SetFileInputFilesParams) WithBackendNodeID(backendNodeID cdp.BackendNodeID) *SetFileInputFilesParams + func (p SetFileInputFilesParams) WithNodeID(nodeID cdp.NodeID) *SetFileInputFilesParams + func (p SetFileInputFilesParams) WithObjectID(objectID runtime.RemoteObjectID) *SetFileInputFilesParams + type SetInspectedNodeParams struct + NodeID cdp.NodeID + func SetInspectedNode(nodeID cdp.NodeID) *SetInspectedNodeParams + func (p *SetInspectedNodeParams) Do(ctx context.Context) (err error) + type SetNodeNameParams struct + Name string + NodeID cdp.NodeID + func SetNodeName(nodeID cdp.NodeID, name string) *SetNodeNameParams + func (p *SetNodeNameParams) Do(ctx context.Context) (nodeID cdp.NodeID, err error) + type SetNodeNameReturns struct + NodeID cdp.NodeID + type SetNodeStackTracesEnabledParams struct + Enable bool + func SetNodeStackTracesEnabled(enable bool) *SetNodeStackTracesEnabledParams + func (p *SetNodeStackTracesEnabledParams) Do(ctx context.Context) (err error) + type SetNodeValueParams struct + NodeID cdp.NodeID + Value string + func SetNodeValue(nodeID cdp.NodeID, value string) *SetNodeValueParams + func (p *SetNodeValueParams) Do(ctx context.Context) (err error) + type SetOuterHTMLParams struct + NodeID cdp.NodeID + OuterHTML string + func SetOuterHTML(nodeID cdp.NodeID, outerHTML string) *SetOuterHTMLParams + func (p *SetOuterHTMLParams) Do(ctx context.Context) (err error) + type ShapeOutsideInfo struct + Bounds Quad + MarginShape []json.RawMessage + Shape []json.RawMessage + type UndoParams struct + func Undo() *UndoParams + func (p *UndoParams) Do(ctx context.Context) (err error)