@canonry/canonry 4.158.0 → 4.160.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/THIRD_PARTY_NOTICES.md +102 -0
- package/assets/THIRD_PARTY_NOTICES.md +102 -0
- package/assets/agent-workspace/skills/aero/SKILL.md +16 -1
- package/assets/agent-workspace/skills/canonry/SKILL.md +17 -5
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +67 -0
- package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +231 -62
- package/assets/assets/{AuditHistoryPanel-McQfjoU9.js → AuditHistoryPanel-AtgoG2AH.js} +1 -1
- package/assets/assets/{BacklinksPage-Da8y1Wv8.js → BacklinksPage-DrOSF7Mu.js} +1 -1
- package/assets/assets/{HistoryPage-9MJfhRyT.js → HistoryPage-CGQXleJc.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-BiNAHEJW.js → MeasurementPropertyPage-C7D2OgIQ.js} +1 -1
- package/assets/assets/ProjectPage-Lp1VjNvL.js +12 -0
- package/assets/assets/{RunRow-DCG2LBlS.js → RunRow-BdzKKODo.js} +1 -1
- package/assets/assets/{RunsPage-ByWA_FSk.js → RunsPage-BU96L07S.js} +1 -1
- package/assets/assets/{SettingsPage-DdSeKAKF.js → SettingsPage-LEca0kDH.js} +1 -1
- package/assets/assets/SiteHealthSection-CKM4DUfE.js +4 -0
- package/assets/assets/{TrafficPage-5u8rPcBt.js → TrafficPage-tU9wl1F_.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-Dm-fK87u.js → TrafficSourceDetailPage-DZTpnU9f.js} +1 -1
- package/assets/assets/extract-error-message-BAyN-ftk.js +1 -0
- package/assets/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/assets/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/assets/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/assets/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/assets/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
- package/assets/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
- package/assets/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
- package/assets/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
- package/assets/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
- package/assets/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
- package/assets/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/assets/assets/index-CACRaOmZ.css +1 -0
- package/assets/assets/index-Wqv7kvs-.js +83 -0
- package/assets/assets/{react-sigma_core.esm.min-ComIyDKi.js → react-sigma_core.esm.min-DlZOAc_w.js} +2 -2
- package/assets/assets/{vendor-lucide-BtYdosYk.js → vendor-lucide-nYKv-BB7.js} +1 -1
- package/assets/assets/{vendor-markdown-D274_wsI.js → vendor-markdown-Bn7fRwrx.js} +1 -1
- package/assets/assets/{vendor-radix-BxMXSwbC.js → vendor-radix-4UOaVWza.js} +1 -1
- package/assets/assets/{vendor-recharts-C4ktw_aE.js → vendor-recharts-D8rt5lKn.js} +1 -1
- package/assets/assets/{vendor-tanstack-pFxw0eGP.js → vendor-tanstack-Dock0eH1.js} +1 -1
- package/assets/index.html +7 -7
- package/dist/{chunk-DEVAEC2S.js → chunk-7M7T5QXS.js} +290 -16
- package/dist/{chunk-LK6YFHG4.js → chunk-HQAVEK42.js} +65 -15
- package/dist/{chunk-YP4K2KXH.js → chunk-X7CYY5Q7.js} +2687 -686
- package/dist/{chunk-4VZP64GZ.js → chunk-XGESWHFP.js} +660 -274
- package/dist/cli.js +333 -117
- package/dist/index.d.ts +37 -14
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-LQ6ZRWMF.js → intelligence-service-6XQMM466.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +11 -9
- package/assets/assets/ProjectPage-mWSMjXrR.js +0 -15
- package/assets/assets/extract-error-message-CtxkAd6E.js +0 -1
- package/assets/assets/index-DUfg50Pl.js +0 -83
- package/assets/assets/index-cXb3mfeQ.css +0 -1
|
@@ -81,7 +81,7 @@ import {
|
|
|
81
81
|
trafficConnectWordpressRequestSchema,
|
|
82
82
|
trafficEventKindSchema,
|
|
83
83
|
trafficSeriesGranularitySchema
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-7M7T5QXS.js";
|
|
85
85
|
|
|
86
86
|
// src/config.ts
|
|
87
87
|
import fs from "fs";
|
|
@@ -1160,6 +1160,18 @@ var postApiV1ProjectsByNameGoogleGscSitemapsSubmit = (options) => {
|
|
|
1160
1160
|
}
|
|
1161
1161
|
});
|
|
1162
1162
|
};
|
|
1163
|
+
var getApiV1Projects = (options) => {
|
|
1164
|
+
return (options?.client ?? client).get({
|
|
1165
|
+
security: [
|
|
1166
|
+
{
|
|
1167
|
+
scheme: "bearer",
|
|
1168
|
+
type: "http"
|
|
1169
|
+
}
|
|
1170
|
+
],
|
|
1171
|
+
url: "/api/v1/projects",
|
|
1172
|
+
...options
|
|
1173
|
+
});
|
|
1174
|
+
};
|
|
1163
1175
|
var deleteApiV1ProjectsByName = (options) => {
|
|
1164
1176
|
return (options.client ?? client).delete({
|
|
1165
1177
|
security: [
|
|
@@ -1992,18 +2004,6 @@ var postApiV1ProjectsByNameMeasurementQueryTemplatesByTemplateIdApply = (options
|
|
|
1992
2004
|
}
|
|
1993
2005
|
});
|
|
1994
2006
|
};
|
|
1995
|
-
var getApiV1Projects = (options) => {
|
|
1996
|
-
return (options?.client ?? client).get({
|
|
1997
|
-
security: [
|
|
1998
|
-
{
|
|
1999
|
-
scheme: "bearer",
|
|
2000
|
-
type: "http"
|
|
2001
|
-
}
|
|
2002
|
-
],
|
|
2003
|
-
url: "/api/v1/projects",
|
|
2004
|
-
...options
|
|
2005
|
-
});
|
|
2006
|
-
};
|
|
2007
2007
|
var getApiV1ProjectsByNameDeletePreview = (options) => {
|
|
2008
2008
|
return (options.client ?? client).get({
|
|
2009
2009
|
security: [
|
|
@@ -4720,6 +4720,18 @@ var postApiV1ProjectsByNameTrafficConnectCloudflare = (options) => {
|
|
|
4720
4720
|
}
|
|
4721
4721
|
});
|
|
4722
4722
|
};
|
|
4723
|
+
var postApiV1ProjectsByNameTrafficSourcesByIdActivate = (options) => {
|
|
4724
|
+
return (options.client ?? client).post({
|
|
4725
|
+
security: [
|
|
4726
|
+
{
|
|
4727
|
+
scheme: "bearer",
|
|
4728
|
+
type: "http"
|
|
4729
|
+
}
|
|
4730
|
+
],
|
|
4731
|
+
url: "/api/v1/projects/{name}/traffic/sources/{id}/activate",
|
|
4732
|
+
...options
|
|
4733
|
+
});
|
|
4734
|
+
};
|
|
4723
4735
|
var postApiV1ProjectsByNameTrafficSourcesByIdSync = (options) => {
|
|
4724
4736
|
return (options.client ?? client).post({
|
|
4725
4737
|
security: [
|
|
@@ -5068,6 +5080,18 @@ var postApiV1ProjectsByNameTechnicalAeoRuns = (options) => {
|
|
|
5068
5080
|
}
|
|
5069
5081
|
});
|
|
5070
5082
|
};
|
|
5083
|
+
var getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress = (options) => {
|
|
5084
|
+
return (options.client ?? client).get({
|
|
5085
|
+
security: [
|
|
5086
|
+
{
|
|
5087
|
+
scheme: "bearer",
|
|
5088
|
+
type: "http"
|
|
5089
|
+
}
|
|
5090
|
+
],
|
|
5091
|
+
url: "/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",
|
|
5092
|
+
...options
|
|
5093
|
+
});
|
|
5094
|
+
};
|
|
5071
5095
|
var deleteApiV1ProjectsByNameAgentTranscript = (options) => {
|
|
5072
5096
|
return (options.client ?? client).delete({
|
|
5073
5097
|
security: [
|
|
@@ -7016,6 +7040,14 @@ var ApiClient = class {
|
|
|
7016
7040
|
})
|
|
7017
7041
|
);
|
|
7018
7042
|
}
|
|
7043
|
+
async trafficActivate(project, sourceId) {
|
|
7044
|
+
return this.invoke(
|
|
7045
|
+
() => postApiV1ProjectsByNameTrafficSourcesByIdActivate({
|
|
7046
|
+
client: this.heyClient,
|
|
7047
|
+
path: { name: project, id: sourceId }
|
|
7048
|
+
})
|
|
7049
|
+
);
|
|
7050
|
+
}
|
|
7019
7051
|
async trafficSync(project, sourceId, body) {
|
|
7020
7052
|
return this.invoke(
|
|
7021
7053
|
() => postApiV1ProjectsByNameTrafficSourcesByIdSync({
|
|
@@ -7195,6 +7227,15 @@ var ApiClient = class {
|
|
|
7195
7227
|
})
|
|
7196
7228
|
);
|
|
7197
7229
|
}
|
|
7230
|
+
/** Exact durable counters and lifecycle state for one non-probe site-audit run. */
|
|
7231
|
+
async getTechnicalAeoProgress(project, runId) {
|
|
7232
|
+
return this.invoke(
|
|
7233
|
+
() => getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress({
|
|
7234
|
+
client: this.heyClient,
|
|
7235
|
+
path: { name: project, runId }
|
|
7236
|
+
})
|
|
7237
|
+
);
|
|
7238
|
+
}
|
|
7198
7239
|
/** Persisted full-crawl metadata. This never synthesizes a graph from legacy audit rows. */
|
|
7199
7240
|
async getTechnicalAeoCrawl(project, opts) {
|
|
7200
7241
|
return this.invoke(
|
|
@@ -7315,6 +7356,7 @@ var ApiClient = class {
|
|
|
7315
7356
|
sourceUrl: opts?.sourceUrl,
|
|
7316
7357
|
targetUrl: opts?.targetUrl,
|
|
7317
7358
|
followable: opts?.followable,
|
|
7359
|
+
linkKind: opts?.linkKind,
|
|
7318
7360
|
cursor: opts?.cursor,
|
|
7319
7361
|
limit: opts?.limit !== void 0 ? String(opts.limit) : void 0
|
|
7320
7362
|
}
|
|
@@ -7331,6 +7373,7 @@ var ApiClient = class {
|
|
|
7331
7373
|
runId: opts.runId,
|
|
7332
7374
|
nodeKey: opts.nodeKey,
|
|
7333
7375
|
url: opts.url,
|
|
7376
|
+
linkKind: opts.linkKind,
|
|
7334
7377
|
limit: opts.limit !== void 0 ? String(opts.limit) : void 0
|
|
7335
7378
|
}
|
|
7336
7379
|
})
|
|
@@ -8593,12 +8636,16 @@ var technicalAeoStructureInputSchema = z3.object({
|
|
|
8593
8636
|
cursor: z3.string().min(1).optional().describe("Opaque cursor from the previous structure result."),
|
|
8594
8637
|
limit: z3.number().int().positive().max(100).optional()
|
|
8595
8638
|
});
|
|
8639
|
+
var linkKindSchema = z3.enum(["all", "content", "template"]).optional().describe(
|
|
8640
|
+
"Restrict to content links (excludes nav, header, and footer links) or to template links only. Defaults to all. Check templateDetection before reading an empty content list as a real zero."
|
|
8641
|
+
);
|
|
8596
8642
|
var technicalAeoInternalLinksInputSchema = z3.object({
|
|
8597
8643
|
project: projectNameSchema,
|
|
8598
8644
|
runId: runIdSchema.optional(),
|
|
8599
8645
|
sourceUrl: z3.string().url().optional(),
|
|
8600
8646
|
targetUrl: z3.string().url().optional(),
|
|
8601
8647
|
followable: z3.boolean().optional(),
|
|
8648
|
+
linkKind: linkKindSchema,
|
|
8602
8649
|
cursor: z3.string().min(1).optional().describe("Opaque cursor from the previous internal-links result."),
|
|
8603
8650
|
limit: z3.number().int().positive().max(200).optional()
|
|
8604
8651
|
});
|
|
@@ -8607,6 +8654,7 @@ var technicalAeoLinkNeighborsInputSchema = z3.object({
|
|
|
8607
8654
|
runId: runIdSchema.optional(),
|
|
8608
8655
|
nodeKey: z3.string().min(1).optional(),
|
|
8609
8656
|
url: z3.string().url().optional(),
|
|
8657
|
+
linkKind: linkKindSchema,
|
|
8610
8658
|
limit: z3.number().int().positive().max(100).optional()
|
|
8611
8659
|
}).refine((value) => Boolean(value.nodeKey || value.url), {
|
|
8612
8660
|
message: "Provide nodeKey or url.",
|
|
@@ -10603,7 +10651,7 @@ var canonryMcpTools = [
|
|
|
10603
10651
|
defineTool({
|
|
10604
10652
|
name: "canonry_technical_aeo_internal_links",
|
|
10605
10653
|
title: "List Technical AEO internal links",
|
|
10606
|
-
description: "Read a bounded, cursor-paged list of persisted internal crawl edges. Filter by source URL, target URL, or
|
|
10654
|
+
description: "Read a bounded, cursor-paged list of persisted internal crawl edges. Filter by source URL, target URL, followability, or link kind. Nav, header, and footer links are marked isTemplate; templateDetection reports whether that classification ran, so an empty content-only list is not evidence of no content links. Use the neighbors tool for one page rather than loading a graph.",
|
|
10607
10655
|
access: "read",
|
|
10608
10656
|
tier: "monitoring",
|
|
10609
10657
|
inputSchema: technicalAeoInternalLinksInputSchema,
|
|
@@ -10614,6 +10662,7 @@ var canonryMcpTools = [
|
|
|
10614
10662
|
sourceUrl: input.sourceUrl,
|
|
10615
10663
|
targetUrl: input.targetUrl,
|
|
10616
10664
|
followable: input.followable,
|
|
10665
|
+
linkKind: input.linkKind,
|
|
10617
10666
|
cursor: input.cursor,
|
|
10618
10667
|
limit: input.limit
|
|
10619
10668
|
})
|
|
@@ -10621,7 +10670,7 @@ var canonryMcpTools = [
|
|
|
10621
10670
|
defineTool({
|
|
10622
10671
|
name: "canonry_technical_aeo_link_neighbors",
|
|
10623
10672
|
title: "Get Technical AEO page link neighbors",
|
|
10624
|
-
description: "Read bounded inbound and outbound internal links for exactly one crawl node, selected by nodeKey or URL. It returns independent truncation flags for inbound and outbound edges, not a transitive traversal.",
|
|
10673
|
+
description: "Read bounded inbound and outbound internal links for exactly one crawl node, selected by nodeKey or URL. Filter by link kind to separate editorial links from nav, header, and footer links. It returns independent truncation flags for inbound and outbound edges, not a transitive traversal.",
|
|
10625
10674
|
access: "read",
|
|
10626
10675
|
tier: "monitoring",
|
|
10627
10676
|
inputSchema: technicalAeoLinkNeighborsInputSchema,
|
|
@@ -10631,6 +10680,7 @@ var canonryMcpTools = [
|
|
|
10631
10680
|
runId: input.runId,
|
|
10632
10681
|
nodeKey: input.nodeKey,
|
|
10633
10682
|
url: input.url,
|
|
10683
|
+
linkKind: input.linkKind,
|
|
10634
10684
|
limit: input.limit
|
|
10635
10685
|
})
|
|
10636
10686
|
}),
|