@canonry/canonry 4.172.1 → 4.172.3

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 (31) hide show
  1. package/assets/agent-workspace/skills/aero/references/reporting.md +8 -4
  2. package/assets/agent-workspace/skills/canonry/references/aeo-analysis.md +1 -1
  3. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +4 -3
  4. package/assets/assets/{AuditHistoryPanel-BO_TSFPx.js → AuditHistoryPanel-DF8utxHN.js} +1 -1
  5. package/assets/assets/{BacklinksPage-CNrzKbiR.js → BacklinksPage-Hz5fjTP-.js} +1 -1
  6. package/assets/assets/{HistoryPage-CvzLzfj3.js → HistoryPage-EeNWcnRk.js} +1 -1
  7. package/assets/assets/{MeasurementPropertyPage-CUdAqft3.js → MeasurementPropertyPage-CWvVMiIo.js} +1 -1
  8. package/assets/assets/ProjectPage-CBVwd4DJ.js +9 -0
  9. package/assets/assets/{RunRow-BLZsQTiY.js → RunRow-CLwmqMWg.js} +1 -1
  10. package/assets/assets/{RunsPage-CTuTDUcn.js → RunsPage-Cxc9xDm9.js} +1 -1
  11. package/assets/assets/{SettingsPage-BY-nM5uj.js → SettingsPage-gg7QM6am.js} +1 -1
  12. package/assets/assets/{SiteHealthSection-br9-ha8G.js → SiteHealthSection-DhpNThBa.js} +3 -3
  13. package/assets/assets/{TrafficPage-BgX1QlXy.js → TrafficPage-BkDwv0uO.js} +1 -1
  14. package/assets/assets/{TrafficSourceDetailPage-D5bsBc6A.js → TrafficSourceDetailPage-gyh7Kxb3.js} +1 -1
  15. package/assets/assets/{extract-error-message-BywQFP69.js → extract-error-message-DVQ46FzX.js} +1 -1
  16. package/assets/assets/{index-BpHZirJJ.js → index-ClNW_gZV.js} +27 -27
  17. package/assets/assets/index-D1mXm81Z.css +1 -0
  18. package/assets/assets/{react-sigma_core.esm.min-Do4rkEBs.js → react-sigma_core.esm.min-BhFLGF9e.js} +1 -1
  19. package/assets/index.html +2 -2
  20. package/dist/{chunk-5MRE2TXR.js → chunk-BZDNTUCZ.js} +8 -5
  21. package/dist/{chunk-IAX4WRAR.js → chunk-OHSUOEVB.js} +4 -4
  22. package/dist/{chunk-7L4453BU.js → chunk-WFVK3XC7.js} +2 -2
  23. package/dist/{chunk-X63CLHYM.js → chunk-WGN2VT7L.js} +4797 -4680
  24. package/dist/{chunk-3XN226N6.js → chunk-XEWBDO5L.js} +767 -247
  25. package/dist/cli.js +71 -14
  26. package/dist/index.js +4 -4
  27. package/dist/{intelligence-service-FSHZXSGK.js → intelligence-service-PPYG6NJP.js} +2 -2
  28. package/dist/mcp.js +3 -3
  29. package/package.json +11 -11
  30. package/assets/assets/ProjectPage-xbRWsne7.js +0 -9
  31. package/assets/assets/index-BsQGKWA6.css +0 -1
@@ -91,7 +91,7 @@ import {
91
91
  trafficConnectWordpressRequestSchema,
92
92
  trafficEventKindSchema,
93
93
  trafficSeriesGranularitySchema
94
- } from "./chunk-X63CLHYM.js";
94
+ } from "./chunk-WGN2VT7L.js";
95
95
 
96
96
  // src/config.ts
97
97
  import fs from "fs";
@@ -8274,7 +8274,8 @@ var ApiClient = class {
8274
8274
  lastRuns: opts.lastRuns,
8275
8275
  groupBy: opts.groupBy,
8276
8276
  month: opts.month,
8277
- shareOfVoice: opts.shareOfVoice ? "1" : void 0
8277
+ shareOfVoice: opts.shareOfVoice ? "1" : void 0,
8278
+ queryClass: opts.queryClass
8278
8279
  }
8279
8280
  })
8280
8281
  );
@@ -9999,7 +10000,7 @@ var canonryMcpTools = [
9999
10000
  defineTool({
10000
10001
  name: "canonry_visibility_stats",
10001
10002
  title: "Get aggregated mention/citation stats",
10002
- description: 'Per-query mention (answer-text) and citation (source-list) counts WITH a sample size, pooled across many answer-visibility runs (probe-excluded) \u2014 the data to compute a confidence-aware (Wilson) proportion or detect drift without fetching every run. Tri-state aware: `checked` (the n for the mention proportion) counts only snapshots where answerMentioned was recorded; `null` ("not checked") is excluded, never counted as not-mentioned. Returns per-query `total`/`checked`/`mentioned`/`cited` + derived `mentionRate` (mentioned/checked) and `citedRate` (cited/total), `firstObserved`/`lastObserved`, and pooled `totals`. Window with `since`/`until` (ISO), `lastRuns`, or `month=YYYY-MM` (mutually exclusive); with none set, EVERY completed/partial run is pooled (`window.runCount` says how many) \u2014 pass `lastRuns` for a recent sample. Set `groupBy=provider` for a per-provider breakdown whose counts sum to the pooled counts (`groupBy` is omitted from the response otherwise). Set `shareOfVoice=true` for pooled project-vs-tracked-competitor brand-mention share across the same attributed snapshot set.',
10003
+ description: 'Per-query mention (answer-text) and citation (source-list) counts WITH a sample size, pooled across many answer-visibility runs (probe-excluded) \u2014 the data to compute a confidence-aware (Wilson) proportion or detect drift without fetching every run. Tri-state aware: `checked` (the n for the mention proportion) counts only snapshots where answerMentioned was recorded; `null` ("not checked") is excluded, never counted as not-mentioned. Returns per-query `total`/`checked`/`mentioned`/`cited` + derived `mentionRate` (mentioned/checked) and `citedRate` (cited/total), `firstObserved`/`lastObserved`, and pooled `totals`. Window with `since`/`until` (ISO), `lastRuns`, or `month=YYYY-MM` (mutually exclusive); with none set, EVERY completed/partial run is pooled (`window.runCount` says how many) \u2014 pass `lastRuns` for a recent sample. Set `groupBy=provider` for a per-provider breakdown whose counts sum to the pooled counts (`groupBy` is omitted from the response otherwise). Set `shareOfVoice=true` for project-vs-tracked-competitor brand-mention share across the same attributed snapshot set \u2014 scoped to NON-BRAND queries by default, because a branded query names the project (it is mentioned on nearly all of them and a competitor cannot be), so a pooled figure reports brand recall as category placement. Pass `queryClass="branded"` for the recall figure; the response echoes which class it served.',
10003
10004
  access: "read",
10004
10005
  tier: "monitoring",
10005
10006
  inputSchema: z3.object({
@@ -10009,7 +10010,8 @@ var canonryMcpTools = [
10009
10010
  lastRuns: z3.number().int().positive().optional().describe("Aggregate only the most recent N answer-visibility runs. Mutually exclusive with since/until/month."),
10010
10011
  month: z3.string().optional().describe("Aggregate one calendar month (YYYY-MM), expanded to that month's inclusive UTC bounds. Mutually exclusive with since/until/lastRuns."),
10011
10012
  groupBy: z3.enum(["provider"]).optional().describe('Set to "provider" for a per-provider breakdown.'),
10012
- shareOfVoice: z3.boolean().optional().describe("Include pooled project-vs-tracked-competitor brand-mention share across the same window.")
10013
+ shareOfVoice: z3.boolean().optional().describe("Include project-vs-tracked-competitor brand-mention share across the same window (non-brand queries unless queryClass says otherwise)."),
10014
+ queryClass: z3.enum(["branded", "non-brand"]).optional().describe('Query class for shareOfVoice. Defaults to non-brand. There is no "all": branded and non-brand never share a denominator.')
10013
10015
  }),
10014
10016
  annotations: readAnnotations(),
10015
10017
  openApiOperations: ["GET /api/v1/projects/{name}/visibility-stats"],
@@ -10019,7 +10021,8 @@ var canonryMcpTools = [
10019
10021
  lastRuns: input.lastRuns,
10020
10022
  groupBy: input.groupBy,
10021
10023
  month: input.month,
10022
- shareOfVoice: input.shareOfVoice
10024
+ shareOfVoice: input.shareOfVoice,
10025
+ queryClass: input.queryClass
10023
10026
  })
10024
10027
  }),
10025
10028
  defineTool({
@@ -9,7 +9,7 @@ import {
9
9
  loadConfig,
10
10
  loadConfigRaw,
11
11
  saveConfigPatch
12
- } from "./chunk-5MRE2TXR.js";
12
+ } from "./chunk-BZDNTUCZ.js";
13
13
  import {
14
14
  CC_CACHE_DIR,
15
15
  DUCKDB_SPEC,
@@ -145,7 +145,7 @@ import {
145
145
  siteCrawlSnapshots,
146
146
  toAlertView,
147
147
  usageCounters
148
- } from "./chunk-3XN226N6.js";
148
+ } from "./chunk-XEWBDO5L.js";
149
149
  import {
150
150
  AGENT_MEMORY_VALUE_MAX_BYTES,
151
151
  AGENT_PROVIDER_IDS,
@@ -282,7 +282,7 @@ import {
282
282
  validationError,
283
283
  winnabilityClassLabel,
284
284
  withRetry
285
- } from "./chunk-X63CLHYM.js";
285
+ } from "./chunk-WGN2VT7L.js";
286
286
 
287
287
  // src/telemetry.ts
288
288
  import crypto from "crypto";
@@ -11829,7 +11829,7 @@ function readStoredGroundingSources(rawResponse) {
11829
11829
  return result;
11830
11830
  }
11831
11831
  async function backfillInsightsCommand(project, opts) {
11832
- const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-FSHZXSGK.js");
11832
+ const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-PPYG6NJP.js");
11833
11833
  const config = loadConfig();
11834
11834
  const db = createClient(config.database);
11835
11835
  migrate(db);
@@ -5,11 +5,11 @@ import {
5
5
  installSkills,
6
6
  loadConfigRaw,
7
7
  saveConfigPatch
8
- } from "./chunk-5MRE2TXR.js";
8
+ } from "./chunk-BZDNTUCZ.js";
9
9
  import {
10
10
  SKILL_MANIFEST_FILENAME,
11
11
  SkillsClients
12
- } from "./chunk-X63CLHYM.js";
12
+ } from "./chunk-WGN2VT7L.js";
13
13
 
14
14
  // src/skills-autosync.ts
15
15
  import fs from "fs";