feat: Site audit and Crawls screens with their MCP tools
- golem15.seo.issues (Site audit): current issues errors first, labels, summary and fix columns, filters, P7 issue_details, Check this address again, Ignore, Stop ignoring, bulk Ignore, ignored rows badged - golem15.seo.crawls (Crawls): newest first, P6 crawl_summary with one status callout, staging and rendered-comparison lines, stats strip and per-kind table; Cancel; a running crawl refuses delete - Start crawl toolbar action on both, refusing already_running and no_site_url; navigation Site audit (gauge) and Crawls (globe) - routes and MCP tools start/cancel/list/get/delete crawls, list_issues with filters (open by default), recheck_url, ignore and unignore - AdminOperations maps both controllers; toolbar actions get their own operation kind - TestCrawlAdmin, TestCrawlTools, TestIssueKindLabels
This commit is contained in:
@@ -128,7 +128,13 @@ func requiredOperations(t *testing.T, p *Plugin) []AdminOperation {
|
||||
}
|
||||
if h, ok := c.(pact.HasAdminActions); ok {
|
||||
for _, a := range h.AdminActions() {
|
||||
need(id, OpWidgetAction+":"+a.Name)
|
||||
// An action named in the list toolbar is a toolbar action,
|
||||
// any other one a form widget's.
|
||||
if slices.Contains(buttons, a.Name) {
|
||||
need(id, OpToolbarAction+":"+a.Name)
|
||||
} else {
|
||||
need(id, OpWidgetAction+":"+a.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user