@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.
Files changed (53) hide show
  1. package/README.md +3 -3
  2. package/THIRD_PARTY_NOTICES.md +102 -0
  3. package/assets/THIRD_PARTY_NOTICES.md +102 -0
  4. package/assets/agent-workspace/skills/aero/SKILL.md +16 -1
  5. package/assets/agent-workspace/skills/canonry/SKILL.md +17 -5
  6. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +67 -0
  7. package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +231 -62
  8. package/assets/assets/{AuditHistoryPanel-McQfjoU9.js → AuditHistoryPanel-AtgoG2AH.js} +1 -1
  9. package/assets/assets/{BacklinksPage-Da8y1Wv8.js → BacklinksPage-DrOSF7Mu.js} +1 -1
  10. package/assets/assets/{HistoryPage-9MJfhRyT.js → HistoryPage-CGQXleJc.js} +1 -1
  11. package/assets/assets/{MeasurementPropertyPage-BiNAHEJW.js → MeasurementPropertyPage-C7D2OgIQ.js} +1 -1
  12. package/assets/assets/ProjectPage-Lp1VjNvL.js +12 -0
  13. package/assets/assets/{RunRow-DCG2LBlS.js → RunRow-BdzKKODo.js} +1 -1
  14. package/assets/assets/{RunsPage-ByWA_FSk.js → RunsPage-BU96L07S.js} +1 -1
  15. package/assets/assets/{SettingsPage-DdSeKAKF.js → SettingsPage-LEca0kDH.js} +1 -1
  16. package/assets/assets/SiteHealthSection-CKM4DUfE.js +4 -0
  17. package/assets/assets/{TrafficPage-5u8rPcBt.js → TrafficPage-tU9wl1F_.js} +1 -1
  18. package/assets/assets/{TrafficSourceDetailPage-Dm-fK87u.js → TrafficSourceDetailPage-DZTpnU9f.js} +1 -1
  19. package/assets/assets/extract-error-message-BAyN-ftk.js +1 -0
  20. package/assets/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  21. package/assets/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  22. package/assets/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  23. package/assets/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  24. package/assets/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  25. package/assets/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  26. package/assets/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  27. package/assets/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  28. package/assets/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  29. package/assets/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  30. package/assets/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  31. package/assets/assets/index-CACRaOmZ.css +1 -0
  32. package/assets/assets/index-Wqv7kvs-.js +83 -0
  33. package/assets/assets/{react-sigma_core.esm.min-ComIyDKi.js → react-sigma_core.esm.min-DlZOAc_w.js} +2 -2
  34. package/assets/assets/{vendor-lucide-BtYdosYk.js → vendor-lucide-nYKv-BB7.js} +1 -1
  35. package/assets/assets/{vendor-markdown-D274_wsI.js → vendor-markdown-Bn7fRwrx.js} +1 -1
  36. package/assets/assets/{vendor-radix-BxMXSwbC.js → vendor-radix-4UOaVWza.js} +1 -1
  37. package/assets/assets/{vendor-recharts-C4ktw_aE.js → vendor-recharts-D8rt5lKn.js} +1 -1
  38. package/assets/assets/{vendor-tanstack-pFxw0eGP.js → vendor-tanstack-Dock0eH1.js} +1 -1
  39. package/assets/index.html +7 -7
  40. package/dist/{chunk-DEVAEC2S.js → chunk-7M7T5QXS.js} +290 -16
  41. package/dist/{chunk-LK6YFHG4.js → chunk-HQAVEK42.js} +65 -15
  42. package/dist/{chunk-YP4K2KXH.js → chunk-X7CYY5Q7.js} +2687 -686
  43. package/dist/{chunk-4VZP64GZ.js → chunk-XGESWHFP.js} +660 -274
  44. package/dist/cli.js +333 -117
  45. package/dist/index.d.ts +37 -14
  46. package/dist/index.js +4 -4
  47. package/dist/{intelligence-service-LQ6ZRWMF.js → intelligence-service-6XQMM466.js} +2 -2
  48. package/dist/mcp.js +2 -2
  49. package/package.json +11 -9
  50. package/assets/assets/ProjectPage-mWSMjXrR.js +0 -15
  51. package/assets/assets/extract-error-message-CtxkAd6E.js +0 -1
  52. package/assets/assets/index-DUfg50Pl.js +0 -83
  53. 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-DEVAEC2S.js";
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 followability. Use the neighbors tool for one page rather than loading a graph.",
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
  }),