@canonry/canonry 6.3.1 → 7.0.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 (42) hide show
  1. package/README.md +3 -3
  2. package/assets/agent-workspace/skills/aero/SKILL.md +2 -2
  3. package/assets/agent-workspace/skills/aero/references/reporting.md +26 -23
  4. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +52 -21
  5. package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +17 -6
  6. package/assets/assets/{AuditHistoryPanel-BUYWIjlG.js → AuditHistoryPanel-DBYsgVsn.js} +1 -1
  7. package/assets/assets/{BacklinksPage-aBcxpN_9.js → BacklinksPage-HIM0fmV7.js} +1 -1
  8. package/assets/assets/ChartPrimitives-CYlrwLJs.js +1 -0
  9. package/assets/assets/{HistoryPage-PoBuxiY_.js → HistoryPage-BjEVp-fk.js} +1 -1
  10. package/assets/assets/MeasurementPropertyPage-BnVDR2y_.js +1 -0
  11. package/assets/assets/ProjectPage-BhCM47KA.js +8 -0
  12. package/assets/assets/{RunsPage-CHHxOpzo.js → RunsPage-fJQe2qJc.js} +1 -1
  13. package/assets/assets/{SettingsPage-CNKnrLXC.js → SettingsPage-1yam5tl6.js} +1 -1
  14. package/assets/assets/{SiteHealthSection-C9RivT7G.js → SiteHealthSection-DysU2M6C.js} +3 -3
  15. package/assets/assets/{TrafficPage-CY-ibXnb.js → TrafficPage-BdNEscz8.js} +2 -2
  16. package/assets/assets/{TrafficSourceDetailPage-BgiPXubs.js → TrafficSourceDetailPage-CMEgr4Aw.js} +1 -1
  17. package/assets/assets/{extract-error-message-H1dzzfBP.js → extract-error-message-D2dhaJaW.js} +1 -1
  18. package/assets/assets/index-CgT2Btdn.css +1 -0
  19. package/assets/assets/index-D9ODLKpH.js +86 -0
  20. package/assets/assets/{react-sigma_core.esm.min-uiYtR_DU.js → react-sigma_core.esm.min-oP23IWpt.js} +1 -1
  21. package/assets/assets/v2-overview-adapter-DYatWs7N.js +1 -0
  22. package/assets/assets/{vendor-recharts-llkUFBGR.js → vendor-recharts-D-cUuLZo.js} +1 -1
  23. package/assets/index.html +3 -3
  24. package/dist/{chunk-4WZUR7XX.js → chunk-A5PALGQD.js} +14 -9
  25. package/dist/{chunk-7CVTTQRV.js → chunk-EZ54X4XH.js} +4372 -8276
  26. package/dist/{chunk-ZZEPF3A5.js → chunk-HQJ25LI7.js} +83 -19
  27. package/dist/{chunk-5GY5WBAF.js → chunk-LXWY4NKP.js} +3 -3
  28. package/dist/{chunk-EV5G5QRR.js → chunk-OOUDIVIU.js} +1224 -3003
  29. package/dist/{chunk-5FYTFE5T.js → chunk-RRIZ5AKI.js} +2 -2
  30. package/dist/{chunk-DERWXLHX.js → chunk-TUHQ5BBQ.js} +65 -16
  31. package/dist/cli.js +240 -178
  32. package/dist/{demo-server-AIFR77TP.js → demo-server-LHHDVXQW.js} +5 -14
  33. package/dist/index.js +6 -6
  34. package/dist/{intelligence-service-SYISPW25.js → intelligence-service-ZVKZLLKL.js} +2 -2
  35. package/dist/mcp.js +4 -4
  36. package/package.json +14 -14
  37. package/assets/assets/ChartPrimitives-B5okB5g-.js +0 -1
  38. package/assets/assets/MeasurementPropertyPage-DyjyqHac.js +0 -1
  39. package/assets/assets/ProjectPage-Mmv5YW-K.js +0 -8
  40. package/assets/assets/index-C17E5ZcA.css +0 -1
  41. package/assets/assets/index-DSCun3I9.js +0 -86
  42. package/assets/assets/v2-overview-adapter-BQokN2eb.js +0 -1
@@ -5,7 +5,7 @@ import {
5
5
  siteCrawlGraphNodes,
6
6
  siteCrawlPages,
7
7
  siteCrawlSnapshots
8
- } from "./chunk-7CVTTQRV.js";
8
+ } from "./chunk-EZ54X4XH.js";
9
9
  import {
10
10
  SITE_CRAWL_GRAPH_MAX_EDGES,
11
11
  SITE_CRAWL_GRAPH_MAX_NODES,
@@ -13,7 +13,7 @@ import {
13
13
  TEMPLATE_LINK_RATIO_THRESHOLD,
14
14
  factorStatusFromScore,
15
15
  roundPreservingTotal
16
- } from "./chunk-EV5G5QRR.js";
16
+ } from "./chunk-OOUDIVIU.js";
17
17
 
18
18
  // src/site-audit-factors.ts
19
19
  function recordedSharePct(factor) {
@@ -28,6 +28,7 @@ import {
28
28
  canonicalizeGtmResourceSelection,
29
29
  competitorBatchRequestSchema,
30
30
  competitorLandscapeQuerySchema,
31
+ contentTargetDismissRequestSchema,
31
32
  describeError,
32
33
  discoveryBucketSchema,
33
34
  discoveryCompetitorTypeSchema,
@@ -97,7 +98,6 @@ import {
97
98
  queryTrackingPreviewRequestSchema,
98
99
  referralAssessmentQuerySchema,
99
100
  reportMonthSchema,
100
- reportPeriodSchema,
101
101
  researchBatchCreateSchema,
102
102
  researchRunCreateSchema,
103
103
  resultsClearRequestSchema,
@@ -123,6 +123,7 @@ import {
123
123
  settingsDtoSchema,
124
124
  snapshotRequestInputSchema,
125
125
  telemetryStatusDtoSchema,
126
+ trafficAnalyticsPeriodSchema,
126
127
  trafficConnectCloudRunRequestSchema,
127
128
  trafficConnectVercelRequestSchema,
128
129
  trafficConnectWordpressRequestSchema,
@@ -130,7 +131,7 @@ import {
130
131
  trafficSeriesGranularitySchema,
131
132
  visibilityCompareSelectionSchema,
132
133
  visibilityReportRequestSchema
133
- } from "./chunk-EV5G5QRR.js";
134
+ } from "./chunk-OOUDIVIU.js";
134
135
 
135
136
  // src/cli-error.ts
136
137
  function isMachineFormat(format) {
@@ -1475,20 +1476,6 @@ var canonryMcpTools = [
1475
1476
  since: input.since
1476
1477
  })
1477
1478
  }),
1478
- defineTool({
1479
- name: "canonry_report",
1480
- title: "Get aggregated AEO report",
1481
- description: "Returns the full canonical AEO report bundle for a project \u2014 executive summary, client summary, agency diagnostics, action plan, per-query \xD7 per-provider citation matrix, competitor landscape, AI citation sources, GSC/GA4 performance, social and AI referrals, indexing health, citations trend, prioritized insights, and recommended next steps. Same payload `canonry report <project>` consumes to render audience-specific HTML. Pass `period` (7/14/30/90 days, default 30) to scope the GSC/GA4/server-activity sections and the period-over-period comparisons.",
1482
- access: "read",
1483
- tier: "monitoring",
1484
- inputSchema: z3.object({
1485
- project: projectNameSchema,
1486
- period: reportPeriodSchema.optional()
1487
- }),
1488
- annotations: readAnnotations(),
1489
- openApiOperations: ["GET /api/v1/projects/{name}/report"],
1490
- handler: (client, input) => client.getReport(input.project, input.period !== void 0 ? { period: input.period } : void 0)
1491
- }),
1492
1479
  defineTool({
1493
1480
  name: "canonry_organic_evidence",
1494
1481
  title: "Reconcile organic and AI evidence",
@@ -1844,6 +1831,46 @@ var canonryMcpTools = [
1844
1831
  ownable: input.ownable
1845
1832
  })
1846
1833
  }),
1834
+ defineTool({
1835
+ name: "canonry_content_dismissals",
1836
+ title: "List addressed content targets",
1837
+ description: "Read persisted content-target dismissals, including targets hidden from content targets. Use the returned targetRef with canonry_content_restore to reverse a dismissal. Stored evidence only; no provider calls.",
1838
+ access: "read",
1839
+ tier: "monitoring",
1840
+ inputSchema: projectInputSchema,
1841
+ annotations: readAnnotations(),
1842
+ openApiOperations: ["GET /api/v1/projects/{name}/content/dismissals"],
1843
+ handler: (client, input) => client.getContentDismissals(input.project)
1844
+ }),
1845
+ defineTool({
1846
+ name: "canonry_content_dismiss",
1847
+ title: "Mark content target addressed",
1848
+ description: "Persist an addressed content target by its targetRef. Optional addressedUrl and note record the resolution. Hides the target from future content-target reads until restored; repeat writes update the same dismissal. No provider calls.",
1849
+ access: "write",
1850
+ tier: "monitoring",
1851
+ inputSchema: contentTargetDismissRequestSchema.extend({ project: projectNameSchema }),
1852
+ annotations: writeAnnotations({ idempotentHint: true }),
1853
+ openApiOperations: ["POST /api/v1/projects/{name}/content/dismissals"],
1854
+ handler: (client, input) => client.dismissContentTarget(input.project, {
1855
+ targetRef: input.targetRef,
1856
+ addressedUrl: input.addressedUrl,
1857
+ note: input.note
1858
+ })
1859
+ }),
1860
+ defineTool({
1861
+ name: "canonry_content_restore",
1862
+ title: "Restore an addressed content target",
1863
+ description: "Remove a persisted dismissal by targetRef so the content target can appear again when still eligible. Read canonry_content_dismissals to find the ref. A missing dismissal returns NOT_FOUND. No provider calls.",
1864
+ access: "write",
1865
+ tier: "monitoring",
1866
+ inputSchema: z3.object({ project: projectNameSchema, targetRef: contentTargetDismissRequestSchema.shape.targetRef }),
1867
+ annotations: writeAnnotations({ idempotentHint: false }),
1868
+ openApiOperations: ["DELETE /api/v1/projects/{name}/content/dismissals/{targetRef}"],
1869
+ handler: async (client, input) => {
1870
+ await client.restoreContentTarget(input.project, input.targetRef);
1871
+ return { targetRef: input.targetRef, restored: true };
1872
+ }
1873
+ }),
1847
1874
  defineTool({
1848
1875
  name: "canonry_content_brief",
1849
1876
  title: "Synthesize content brief",
@@ -2174,6 +2201,17 @@ var canonryMcpTools = [
2174
2201
  openApiOperations: ["GET /api/v1/projects/{name}/google/gsc/coverage/history"],
2175
2202
  handler: (client, input) => client.gscCoverageHistory(input.project, { limit: input.limit })
2176
2203
  }),
2204
+ defineTool({
2205
+ name: "canonry_bing_coverage",
2206
+ title: "Get Bing coverage",
2207
+ description: "Read stored Bing index coverage counts and URL inspections for a Canonry project. Preserves indexed, not indexed and unknown evidence, the server percentage and last inspection time. Project-wide for Simple and Advanced portfolios; Property, Target and market attribution are unavailable. Requires the existing Bing connection. Never calls Bing or starts a sync.",
2208
+ access: "read",
2209
+ tier: "bing",
2210
+ inputSchema: projectInputSchema,
2211
+ annotations: readAnnotations(),
2212
+ openApiOperations: ["GET /api/v1/projects/{name}/bing/coverage"],
2213
+ handler: (client, input) => client.bingCoverage(input.project)
2214
+ }),
2177
2215
  defineTool({
2178
2216
  name: "canonry_gsc_sitemaps",
2179
2217
  title: "Get GSC sitemaps",
@@ -2517,6 +2555,17 @@ var canonryMcpTools = [
2517
2555
  openApiOperations: ["GET /api/v1/projects/{name}/traffic/status"],
2518
2556
  handler: (client, input) => client.trafficStatus(input.project)
2519
2557
  }),
2558
+ defineTool({
2559
+ name: "canonry_traffic_analytics",
2560
+ title: "Get traffic analytics",
2561
+ description: "Read complete stored server-traffic totals, daily history, crawler and AI-referral breakdowns, and prior-period changes for 7, 14, 30, or 90 days (default 30). Returns activity null when no traffic source is configured. Project-wide for Simple and Advanced portfolios; Property, Target, and market attribution are unavailable. Never starts provider work or a sync.",
2562
+ access: "read",
2563
+ tier: "traffic",
2564
+ inputSchema: z3.object({ project: projectNameSchema, period: trafficAnalyticsPeriodSchema.optional() }),
2565
+ annotations: readAnnotations(),
2566
+ openApiOperations: ["GET /api/v1/projects/{name}/traffic/analytics"],
2567
+ handler: (client, input) => client.getTrafficAnalytics(input.project, input.period)
2568
+ }),
2520
2569
  defineTool({
2521
2570
  name: "canonry_traffic_referral_assessment",
2522
2571
  title: "Assess AI referral bursts",