@canonry/canonry 7.67.0 → 7.68.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 (137) hide show
  1. package/assets/agent-workspace/skills/aero/references/seo-analysis.md +10 -2
  2. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +1 -1
  3. package/assets/assets/{AgentSetupPage-ORsy3QEa.js → AgentSetupPage-DyssdZ1J.js} +3 -3
  4. package/assets/assets/{AuditHistoryPanel-vTHZDbfs.js → AuditHistoryPanel-Bma4Q6p0.js} +1 -1
  5. package/assets/assets/{BacklinksPage-FqADB5sO.js → BacklinksPage-C3GoO2Wf.js} +1 -1
  6. package/assets/assets/{HistoryPage-C4l5Toqa.js → HistoryPage-6iYvYCL7.js} +1 -1
  7. package/assets/assets/MeasurementPropertyPage-CjI5eB3b.js +4 -0
  8. package/assets/assets/ProjectPage-GYIgNPxn.js +9 -0
  9. package/assets/assets/{RunsPage-oyhhwAPq.js → RunsPage-Cw0GTxgx.js} +1 -1
  10. package/assets/assets/{SettingsPage-DJc4Di1M.js → SettingsPage-Cvg8BvZn.js} +1 -1
  11. package/assets/assets/SiteHealthSection-vejp2Igj.js +2 -0
  12. package/assets/assets/ToneBadge-c2bgjqqz.js +60 -0
  13. package/assets/assets/{TrafficPage-DAD0FFkL.js → TrafficPage-BUb0xr-b.js} +1 -1
  14. package/assets/assets/{TrafficSourceDetailPage-BBEzbawh.js → TrafficSourceDetailPage-DmrtEYs8.js} +1 -1
  15. package/assets/assets/{account-context-DMHOefRt.js → account-context-qhg8esXw.js} +1 -1
  16. package/assets/assets/{card-Brp6fFNG.js → card-BNthgfAY.js} +1 -1
  17. package/assets/assets/{extract-error-message-5QpQCsGb.js → extract-error-message-DuYEL09s.js} +1 -1
  18. package/assets/assets/{format-helpers-BFM0FRjT.js → format-helpers-6v-a8B3S.js} +1 -1
  19. package/assets/assets/index-BUigRGam.js +60 -0
  20. package/assets/assets/{index-C6U4u18w.css → index-CqNwsqjm.css} +1 -1
  21. package/assets/assets/{query-client-BMTW-xss.js → query-client-COFiuVJB.js} +1 -1
  22. package/assets/assets/react-query-ZdpN7cFt.js +1 -0
  23. package/assets/assets/{react-sigma_core.esm.min-C0VjhgDo.js → react-sigma_core.esm.min-EbeNATny.js} +1 -1
  24. package/assets/assets/{service-DW9u_0aZ.js → service-DGFjEsYR.js} +1 -1
  25. package/assets/index.html +8 -8
  26. package/dist/{ads-BXGEL4WI.js → ads-AHM5LMVT.js} +3 -3
  27. package/dist/{agent-LFX7GHWD.js → agent-2FSGY7SD.js} +7 -7
  28. package/dist/{agent-ask-QJV225AT.js → agent-ask-GIK7T2HD.js} +3 -3
  29. package/dist/{agent-conversations-2TZDIGA6.js → agent-conversations-JEIFZHT3.js} +3 -3
  30. package/dist/{agent-memory-XCY3ZG5C.js → agent-memory-JC3JJXON.js} +3 -3
  31. package/dist/{agent-providers-VS6PH55Y.js → agent-providers-JRL3VZA7.js} +3 -3
  32. package/dist/{agent-transcript-BUUHOTZM.js → agent-transcript-ZQDNW3IE.js} +3 -3
  33. package/dist/{analytics-YWJWPUNF.js → analytics-HMYE6EIX.js} +3 -3
  34. package/dist/{apply-BMCYFBEJ.js → apply-F5CHVFC3.js} +3 -3
  35. package/dist/{backfill-YBOKT5LT.js → backfill-JZDQKZHY.js} +9 -9
  36. package/dist/{backlinks-QNNABB4N.js → backlinks-L7XEHBAP.js} +3 -3
  37. package/dist/{bing-KEMXBABP.js → bing-XTMKLVRJ.js} +3 -3
  38. package/dist/{bootstrap-X2AADK4M.js → bootstrap-AEHBYC77.js} +10 -10
  39. package/dist/{cdp-WVYUEV4U.js → cdp-SSIHU3PU.js} +7 -7
  40. package/dist/{chunk-MLOGEXIO.js → chunk-2D7O5UHJ.js} +1 -1
  41. package/dist/{chunk-MD5PHJBX.js → chunk-33LH4ZGF.js} +2 -1
  42. package/dist/{chunk-VR4MYSEH.js → chunk-4KMUJOYL.js} +4 -4
  43. package/dist/{chunk-WSYLDPYF.js → chunk-5SK27UE7.js} +1 -1
  44. package/dist/{chunk-AVISYPUU.js → chunk-6W3ENB2X.js} +61 -7
  45. package/dist/{chunk-ZGUR4AZM.js → chunk-7AXVACK6.js} +2 -2
  46. package/dist/{chunk-WZ4LUM26.js → chunk-7NMCRHQL.js} +3 -3
  47. package/dist/{chunk-UXTNDZKM.js → chunk-7SGZHGZ2.js} +1 -1
  48. package/dist/{chunk-6DJN7HCK.js → chunk-ARIYTYOM.js} +1 -1
  49. package/dist/{chunk-XMIKSCAO.js → chunk-ARYBII44.js} +1 -1
  50. package/dist/{chunk-CBYKQRDH.js → chunk-CZUPNWLH.js} +2 -2
  51. package/dist/{chunk-XEPEMON2.js → chunk-FDRZQH3Y.js} +14 -2
  52. package/dist/{chunk-5DMESZDF.js → chunk-IVBJEVHS.js} +2 -2
  53. package/dist/{chunk-HX3WLTZU.js → chunk-J4CNNYRQ.js} +1 -1
  54. package/dist/{chunk-Y54PMWBH.js → chunk-JPVG5LIE.js} +3 -3
  55. package/dist/{chunk-EKSXR7RJ.js → chunk-K2P2XO6P.js} +1 -1
  56. package/dist/{chunk-AFRCTLUL.js → chunk-K54WGCZV.js} +404 -340
  57. package/dist/{chunk-KJLICF53.js → chunk-LABVR6K7.js} +4 -4
  58. package/dist/{chunk-YP743QX5.js → chunk-LTMQ4MHF.js} +1 -1
  59. package/dist/{chunk-UNCOK6DA.js → chunk-MVRPFLEL.js} +1 -1
  60. package/dist/{chunk-LU3M54IY.js → chunk-PAVSKSKA.js} +1 -1
  61. package/dist/{chunk-IEBMODUI.js → chunk-QXCQSRHL.js} +20 -20
  62. package/dist/{chunk-G6PZEDTH.js → chunk-R42VEDCB.js} +3 -3
  63. package/dist/{chunk-P74TPIWZ.js → chunk-RNA6ZCM6.js} +2 -2
  64. package/dist/{chunk-32BTTG5N.js → chunk-U3EJ5RW7.js} +12 -6
  65. package/dist/{chunk-GTPGYFZ4.js → chunk-V6ALEP33.js} +2 -2
  66. package/dist/{chunk-XEGYSZEV.js → chunk-VPZMSV3Q.js} +235 -6
  67. package/dist/{chunk-XIA6NWIF.js → chunk-W7PA35VJ.js} +4 -4
  68. package/dist/{chunk-NHHZQWMI.js → chunk-XMXYUP7X.js} +1 -1
  69. package/dist/{chunk-2X7DFLMD.js → chunk-Y42G2YKT.js} +8 -8
  70. package/dist/{chunk-37R6GTU7.js → chunk-YIIIYNPW.js} +22 -4
  71. package/dist/{chunk-MOJ2XZXK.js → chunk-ZD5G5QEV.js} +1 -1
  72. package/dist/{chunk-UHLWNU6I.js → chunk-ZU6X4SN2.js} +5 -5
  73. package/dist/{chunk-RRS7U6HQ.js → chunk-ZUXFHO4T.js} +4 -4
  74. package/dist/{citations-ZSI5BOGD.js → citations-NIFKIG6Y.js} +3 -3
  75. package/dist/{cli-catalog-J2HUCGJL.js → cli-catalog-ONYERYPV.js} +3 -3
  76. package/dist/{cli-commands-XFMVFREG.js → cli-commands-LWI2NEWW.js} +7 -7
  77. package/dist/cli.js +13 -13
  78. package/dist/{competitor-WJDN3DLP.js → competitor-NSUSTLNW.js} +3 -3
  79. package/dist/{content-K52YV4BK.js → content-W5VYYMAW.js} +3 -3
  80. package/dist/{dashboard-L6RKTP35.js → dashboard-NNA3P645.js} +6 -6
  81. package/dist/{demo-Y7XRD4X4.js → demo-5M4YGVV4.js} +1 -1
  82. package/dist/{demo-server-QNQX5CNP.js → demo-server-FDR4RKLM.js} +12 -11
  83. package/dist/{discover-UO5M7HQZ.js → discover-VCKMXFOR.js} +3 -3
  84. package/dist/{discover-eval-DN4PS6VN.js → discover-eval-CPVP7EK5.js} +3 -3
  85. package/dist/{doctor-7UYUXG7J.js → doctor-EVCP6PDM.js} +3 -3
  86. package/dist/{evidence-DGKN5SGQ.js → evidence-ZWRGNZWN.js} +3 -3
  87. package/dist/{export-cmd-QAQWWIRL.js → export-cmd-AM6SIRUW.js} +3 -3
  88. package/dist/{ga-4LGTEA6J.js → ga-6J67NDMZ.js} +3 -3
  89. package/dist/{gbp-XOLYZ4XC.js → gbp-ERTWK26L.js} +3 -3
  90. package/dist/{google-CAQDCFA6.js → google-O6VQFK4L.js} +4 -4
  91. package/dist/{google-marketing-HU5I3XPP.js → google-marketing-OEW2YGUR.js} +1 -1
  92. package/dist/{health-cmd-3PEB3M45.js → health-cmd-OPGK37MK.js} +3 -3
  93. package/dist/{history-UGUWYPOY.js → history-WTU4ETCU.js} +3 -3
  94. package/dist/index.d.ts +5 -5
  95. package/dist/index.js +24 -24
  96. package/dist/{init-DEW65BLN.js → init-WTAVKFGR.js} +11 -11
  97. package/dist/{insights-ZC3R4ZYG.js → insights-LPEDLSEV.js} +3 -3
  98. package/dist/intelligence-service-4OO2VQ2I.js +15 -0
  99. package/dist/{journeys-W6F4BCXF.js → journeys-TWVQNRLT.js} +3 -3
  100. package/dist/{keys-ME7VRF73.js → keys-C6FPREBZ.js} +3 -3
  101. package/dist/{keyword-R3PLGSO5.js → keyword-PBSE65DK.js} +3 -3
  102. package/dist/{logs-UM7CWHYB.js → logs-62RUOAKT.js} +3 -3
  103. package/dist/{mcp-BUPP5HC6.js → mcp-P4LNENKX.js} +2 -2
  104. package/dist/mcp.js +9 -9
  105. package/dist/{measurement-plan-R4KZHJII.js → measurement-plan-HKW3IVIE.js} +5 -5
  106. package/dist/{notify-4C26D2MY.js → notify-A3I3G7NK.js} +3 -3
  107. package/dist/{organic-evidence-SLIISYHW.js → organic-evidence-OFUJBDCK.js} +3 -3
  108. package/dist/{overview-JJZZOYQU.js → overview-NSRODN2X.js} +4 -4
  109. package/dist/{project-XJH2OECP.js → project-B5G2HEAB.js} +3 -3
  110. package/dist/{query-ZWAIWIYB.js → query-UQHJVYUJ.js} +3 -3
  111. package/dist/{research-GTVWVZBI.js → research-ZWBJDLJY.js} +3 -3
  112. package/dist/{results-export-CPAWO5AV.js → results-export-FOJYT4MK.js} +3 -3
  113. package/dist/{run-RI2BMD7U.js → run-ZIUQ2TNN.js} +4 -4
  114. package/dist/{schedule-HDDWULBX.js → schedule-B5CORKGT.js} +3 -3
  115. package/dist/{search-TT3Q2BBP.js → search-2XCZKP6A.js} +3 -3
  116. package/dist/{serve-6JYPUU24.js → serve-3BSLRICO.js} +25 -25
  117. package/dist/{session-DDESFV3N.js → session-PILSYOTX.js} +12 -12
  118. package/dist/{settings-4AYXYJVA.js → settings-Y3LVGZH4.js} +3 -3
  119. package/dist/{skills-UFMLMMY5.js → skills-6E3RVQAQ.js} +2 -2
  120. package/dist/{snapshot-KLWQGZB6.js → snapshot-RAV2HCL7.js} +3 -3
  121. package/dist/{src-6IHGEMT2.js → src-VUD6WO5N.js} +2 -2
  122. package/dist/{status-HRIUPGUM.js → status-2WCUV6C2.js} +4 -4
  123. package/dist/{technical-aeo-HKJQHMMS.js → technical-aeo-2TJEHHBR.js} +3 -3
  124. package/dist/{telemetry-IS6KZK32.js → telemetry-LQAD26UJ.js} +4 -4
  125. package/dist/{tools-ZNVQFEAX.js → tools-U6VGYZV2.js} +11 -11
  126. package/dist/{traffic-PFHFGN44.js → traffic-3TBXSHPV.js} +5 -5
  127. package/dist/{users-BSLUSU6W.js → users-2HDDA5GT.js} +3 -3
  128. package/dist/{visibility-stats-MPRNHPZW.js → visibility-stats-HSGT3OL3.js} +3 -3
  129. package/dist/{wordpress-U5XKHURL.js → wordpress-ALODIEFK.js} +3 -3
  130. package/package.json +1 -1
  131. package/assets/assets/MeasurementPropertyPage-x8f7xanT.js +0 -4
  132. package/assets/assets/ProjectPage-CG9I2-B4.js +0 -9
  133. package/assets/assets/SiteHealthSection-BvqFg3rG.js +0 -2
  134. package/assets/assets/ToneBadge-CTWpeKu8.js +0 -60
  135. package/assets/assets/index-BBNs-RhI.js +0 -60
  136. package/assets/assets/react-query-DGmY6hJa.js +0 -1
  137. package/dist/intelligence-service-XRJVXZYI.js +0 -15
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  runWithUsageTags
3
- } from "./chunk-XEPEMON2.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
4
  import {
5
5
  CanonryMcpToolNames,
6
6
  canonryMcpTools
7
- } from "./chunk-37R6GTU7.js";
7
+ } from "./chunk-YIIIYNPW.js";
8
8
  import {
9
9
  CliError
10
10
  } from "./chunk-HGMYEDAQ.js";
11
11
  import {
12
12
  buildOpenApiDocument
13
- } from "./chunk-AVISYPUU.js";
13
+ } from "./chunk-6W3ENB2X.js";
14
14
  import {
15
15
  DEFAULT_COMPETITOR_AUTO_ALIAS_MODE,
16
16
  MeasurementPortfolioLists,
@@ -23,7 +23,7 @@ import {
23
23
  seoDatasetWithoutVendor,
24
24
  seoProviderSchema,
25
25
  truncateUtf16
26
- } from "./chunk-XEGYSZEV.js";
26
+ } from "./chunk-VPZMSV3Q.js";
27
27
 
28
28
  // src/agent/tools.ts
29
29
  import { Type as Type2 } from "@earendil-works/pi-ai";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  API_PROVIDER_NAMES,
3
3
  ProviderNames
4
- } from "./chunk-XEGYSZEV.js";
4
+ } from "./chunk-VPZMSV3Q.js";
5
5
 
6
6
  // src/provider-registration.ts
7
7
  function isApiProviderRegistrable(name, entry) {
@@ -7,27 +7,27 @@ import {
7
7
  reparseStoredResult4,
8
8
  reparseStoredResult5,
9
9
  resolveStoredApiResponse
10
- } from "./chunk-5DMESZDF.js";
10
+ } from "./chunk-IVBJEVHS.js";
11
11
  import {
12
12
  loadConfig
13
- } from "./chunk-UNCOK6DA.js";
13
+ } from "./chunk-MVRPFLEL.js";
14
14
  import {
15
15
  isMachineFormat
16
16
  } from "./chunk-HGMYEDAQ.js";
17
17
  import {
18
18
  determineCitationState
19
- } from "./chunk-EKSXR7RJ.js";
19
+ } from "./chunk-K2P2XO6P.js";
20
20
  import {
21
21
  backfillProjectAnswerMentions,
22
22
  competitorIdentityColumns,
23
23
  createRunCompetitorResolver,
24
24
  readMarketCompetitorNames,
25
25
  refreshSnapshotMentionIdentity
26
- } from "./chunk-AVISYPUU.js";
26
+ } from "./chunk-6W3ENB2X.js";
27
27
  import {
28
28
  classifyAiUserFetch,
29
29
  classifyCrawler
30
- } from "./chunk-HX3WLTZU.js";
30
+ } from "./chunk-J4CNNYRQ.js";
31
31
  import {
32
32
  aiUserFetchEventsHourly,
33
33
  auditLog,
@@ -42,7 +42,7 @@ import {
42
42
  querySnapshots,
43
43
  rawEventSamples,
44
44
  runs
45
- } from "./chunk-6DJN7HCK.js";
45
+ } from "./chunk-ARIYTYOM.js";
46
46
  import {
47
47
  ProviderNames,
48
48
  RetrievalContracts,
@@ -59,7 +59,7 @@ import {
59
59
  extractRecommendedCompetitors,
60
60
  normalizeUrlPath,
61
61
  openRouterRouteModel
62
- } from "./chunk-XEGYSZEV.js";
62
+ } from "./chunk-VPZMSV3Q.js";
63
63
 
64
64
  // src/commands/backfill.ts
65
65
  import { setImmediate as yieldToEventLoop } from "timers/promises";
@@ -437,7 +437,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
437
437
  }
438
438
  }
439
439
  async function backfillInsightsCommand(project, opts) {
440
- const { IntelligenceService } = await import("./intelligence-service-XRJVXZYI.js");
440
+ const { IntelligenceService } = await import("./intelligence-service-4OO2VQ2I.js");
441
441
  const config = loadConfig();
442
442
  const db = createClient(config.database);
443
443
  migrate(db);
@@ -2,11 +2,11 @@ import {
2
2
  dedupeGscSitemapUrls,
3
3
  resolveDiscoveredGscSitemapUrls,
4
4
  submitGscSitemapBatches
5
- } from "./chunk-WSYLDPYF.js";
5
+ } from "./chunk-5SK27UE7.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-LU3M54IY.js";
9
+ } from "./chunk-PAVSKSKA.js";
10
10
  import {
11
11
  CliError
12
12
  } from "./chunk-HGMYEDAQ.js";
@@ -143,6 +143,8 @@ import {
143
143
  seoKeywordMetricsListSchema,
144
144
  seoMarketRankingListSchema,
145
145
  seoMarketRankingQuerySchema,
146
+ seoMarketRankingSummaryQuerySchema,
147
+ seoMarketRankingSummarySchema,
146
148
  seoOperatorTaskSchema,
147
149
  seoOverviewSchema,
148
150
  seoProfileInputSchema,
@@ -175,7 +177,7 @@ import {
175
177
  trafficSeriesGranularitySchema,
176
178
  visibilityCompareSelectionSchema,
177
179
  visibilityReportRequestSchema
178
- } from "./chunk-XEGYSZEV.js";
180
+ } from "./chunk-VPZMSV3Q.js";
179
181
 
180
182
  // src/mcp/tool-registry.ts
181
183
  import { z as z2 } from "zod";
@@ -1126,6 +1128,7 @@ var sentimentBackfillInputSchema = sentimentBackfillRequestSchema.extend({ proje
1126
1128
  var seoIdInputSchema = projectInputSchema.extend({ id: z2.string().min(1) });
1127
1129
  var seoEvidenceInputSchema = seoEvidenceQuerySchema.extend({ project: projectNameSchema });
1128
1130
  var seoMarketRankingInputSchema = seoMarketRankingQuerySchema.extend({ project: projectNameSchema });
1131
+ var seoMarketRankingSummaryInputSchema = seoMarketRankingSummaryQuerySchema.extend({ project: projectNameSchema });
1129
1132
  var rawCanonryMcpTools = [
1130
1133
  defineTool({
1131
1134
  name: "canonry_seo_operator_task",
@@ -1340,7 +1343,7 @@ var rawCanonryMcpTools = [
1340
1343
  defineTool({
1341
1344
  name: "canonry_seo_market_rankings",
1342
1345
  title: "SEO market rankings",
1343
- description: "Read stored SEO data only. No provider calls. The site's Google position for each tracked non-brand query in each market, searched from that market's location; these are the same tracked queries AI visibility measures, and searchText is the exact text searched. searchStatus says how each search ended: a null rank in a completed or partial row means not in the checked results (depth, lower when only part of the results came back); a failed or cancelled row has no rank because the search returned nothing. Filter with marketKey or regionKey and keep runId fixed while paging.",
1346
+ description: "Read stored SEO data only. No provider calls. The site's Google position for each tracked non-brand query in each market, searched from that market's location; these are the same tracked queries AI visibility measures, and searchText is the exact text searched. searchStatus says how each search ended: a null rank in a completed or partial row means not in the checked results (depth, lower when only part of the results came back); a failed or cancelled row has no rank because the search returned nothing. outcome says where each row landed (page-1, ranks-11-20, ranks-21-plus, not-ranked, partly-checked for a partial search without the site, failed, cancelled) and rivalAhead whether a tracked competitor ranks above the site. Filter with marketKey, regionKey, outcome (needs-work = off page 1 with a result) and q; sort=rank puts the closest to page 1 first. Keep runId fixed while paging.",
1344
1347
  access: "read",
1345
1348
  tier: "seo",
1346
1349
  inputSchema: seoMarketRankingInputSchema,
@@ -1352,6 +1355,21 @@ var rawCanonryMcpTools = [
1352
1355
  return client.getSeoMarketRankings(project, query);
1353
1356
  }
1354
1357
  }),
1358
+ defineTool({
1359
+ name: "canonry_seo_market_summary",
1360
+ title: "SEO market rankings by outcome",
1361
+ description: "Read stored SEO data only. No provider calls. Market-rankings rows counted by outcome (page 1, ranks 11-20, 21 and deeper, not ranked, partly checked, failed, cancelled, needs work, rival ahead) for the whole profile with one group per region, for one region (regionKey) with one group per market, or for one market (marketKey). Groups come in needs-work order. Start here to see what needs work, then read the rows with canonry_seo_market_rankings.",
1362
+ access: "read",
1363
+ tier: "seo",
1364
+ inputSchema: seoMarketRankingSummaryInputSchema,
1365
+ outputSchema: seoMarketRankingSummarySchema,
1366
+ annotations: readAnnotations(),
1367
+ openApiOperations: ["GET /api/v1/projects/{name}/seo/market-rankings/summary"],
1368
+ handler: (client, input) => {
1369
+ const { project, ...query } = input;
1370
+ return client.getSeoMarketRankingSummary(project, query);
1371
+ }
1372
+ }),
1355
1373
  defineTool({
1356
1374
  name: "canonry_sentiment_settings",
1357
1375
  title: "Read sentiment readiness and settings",
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-HGMYEDAQ.js";
9
9
  import {
10
10
  describeError
11
- } from "./chunk-XEGYSZEV.js";
11
+ } from "./chunk-VPZMSV3Q.js";
12
12
 
13
13
  // src/commands/mcp.ts
14
14
  import fs from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pickProjectCitedDomain
3
- } from "./chunk-EKSXR7RJ.js";
3
+ } from "./chunk-K2P2XO6P.js";
4
4
  import {
5
5
  GBP_INSIGHT_PROVIDER,
6
6
  PERSISTENT_GAP_THRESHOLD,
@@ -14,10 +14,10 @@ import {
14
14
  mergeGscQueryTotalsWithFallback,
15
15
  readGscQueryDailyRows,
16
16
  readLatestGscDataDate
17
- } from "./chunk-AVISYPUU.js";
17
+ } from "./chunk-6W3ENB2X.js";
18
18
  import {
19
19
  getRequestContext
20
- } from "./chunk-UXTNDZKM.js";
20
+ } from "./chunk-7SGZHGZ2.js";
21
21
  import {
22
22
  competitors,
23
23
  gbpDailyMetrics,
@@ -35,7 +35,7 @@ import {
35
35
  queries,
36
36
  querySnapshots,
37
37
  runs
38
- } from "./chunk-6DJN7HCK.js";
38
+ } from "./chunk-ARIYTYOM.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,
@@ -45,7 +45,7 @@ import {
45
45
  effectiveDomains,
46
46
  redactLogString,
47
47
  redactLogValue
48
- } from "./chunk-XEGYSZEV.js";
48
+ } from "./chunk-VPZMSV3Q.js";
49
49
 
50
50
  // src/intelligence-service.ts
51
51
  import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
@@ -2,13 +2,13 @@ import {
2
2
  bucketCliCommandDuration,
3
3
  isTelemetryEnabled,
4
4
  trackEvent
5
- } from "./chunk-ZGUR4AZM.js";
5
+ } from "./chunk-7AXVACK6.js";
6
6
  import {
7
7
  getConfigDir
8
- } from "./chunk-UNCOK6DA.js";
8
+ } from "./chunk-MVRPFLEL.js";
9
9
  import {
10
10
  currentOutcomeAttribution
11
- } from "./chunk-UXTNDZKM.js";
11
+ } from "./chunk-7SGZHGZ2.js";
12
12
  import {
13
13
  AGENT_NONE,
14
14
  OutcomeSurfaces,
@@ -19,7 +19,7 @@ import {
19
19
  integrationConnectionPropertiesSchema,
20
20
  normalizeAgentSlug,
21
21
  usageSurfaceSchema
22
- } from "./chunk-XEGYSZEV.js";
22
+ } from "./chunk-VPZMSV3Q.js";
23
23
 
24
24
  // src/outcome-telemetry.ts
25
25
  import fs from "fs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import "./chunk-HGMYEDAQ.js";
7
- import "./chunk-XEGYSZEV.js";
7
+ import "./chunk-VPZMSV3Q.js";
8
8
  import "./chunk-MLKGABMK.js";
9
9
 
10
10
  // src/commands/citations.ts
@@ -3,11 +3,11 @@ import {
3
3
  buildCliCatalog,
4
4
  printCliCatalog,
5
5
  renderTopLevelHelp
6
- } from "./chunk-WZ4LUM26.js";
7
- import "./chunk-MD5PHJBX.js";
6
+ } from "./chunk-7NMCRHQL.js";
7
+ import "./chunk-33LH4ZGF.js";
8
8
  import "./chunk-Z7IUAJOF.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
- import "./chunk-XEGYSZEV.js";
10
+ import "./chunk-VPZMSV3Q.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
  export {
13
13
  CLI_ROOT_SUMMARIES,
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  REGISTERED_CLI_COMMANDS
3
- } from "./chunk-AFRCTLUL.js";
3
+ } from "./chunk-K54WGCZV.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
- import "./chunk-G6PZEDTH.js";
5
+ import "./chunk-R42VEDCB.js";
6
6
  import "./chunk-VJWDBFSL.js";
7
7
  import "./chunk-TSENU4GG.js";
8
- import "./chunk-XEPEMON2.js";
9
- import "./chunk-UNCOK6DA.js";
10
- import "./chunk-MD5PHJBX.js";
8
+ import "./chunk-FDRZQH3Y.js";
9
+ import "./chunk-MVRPFLEL.js";
10
+ import "./chunk-33LH4ZGF.js";
11
11
  import "./chunk-Z7IUAJOF.js";
12
- import "./chunk-LU3M54IY.js";
12
+ import "./chunk-PAVSKSKA.js";
13
13
  import "./chunk-AOJU5LKX.js";
14
14
  import "./chunk-HGMYEDAQ.js";
15
- import "./chunk-XEGYSZEV.js";
15
+ import "./chunk-VPZMSV3Q.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
  export {
18
18
  REGISTERED_CLI_COMMANDS
package/dist/cli.js CHANGED
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node --import tsx
2
2
  import {
3
3
  REGISTERED_CLI_COMMANDS
4
- } from "./chunk-AFRCTLUL.js";
4
+ } from "./chunk-K54WGCZV.js";
5
5
  import {
6
6
  buildSetupState,
7
7
  runPendingServeHandoff
8
- } from "./chunk-KJLICF53.js";
8
+ } from "./chunk-LABVR6K7.js";
9
9
  import "./chunk-6GO5VVAC.js";
10
- import "./chunk-G6PZEDTH.js";
10
+ import "./chunk-R42VEDCB.js";
11
11
  import "./chunk-VJWDBFSL.js";
12
12
  import "./chunk-TSENU4GG.js";
13
- import "./chunk-NHHZQWMI.js";
13
+ import "./chunk-XMXYUP7X.js";
14
14
  import {
15
15
  checkLatestVersionForCli,
16
16
  cliRuntimeContext,
@@ -24,24 +24,24 @@ import {
24
24
  showFirstRunNotice,
25
25
  trackCliCommandFinished,
26
26
  trackEvent
27
- } from "./chunk-ZGUR4AZM.js";
27
+ } from "./chunk-7AXVACK6.js";
28
28
  import {
29
29
  autoSyncSkills,
30
30
  formatAutoSyncNotice
31
- } from "./chunk-Y54PMWBH.js";
32
- import "./chunk-XEPEMON2.js";
33
- import "./chunk-UNCOK6DA.js";
31
+ } from "./chunk-JPVG5LIE.js";
32
+ import "./chunk-FDRZQH3Y.js";
33
+ import "./chunk-MVRPFLEL.js";
34
34
  import {
35
35
  accessFilterFromArgs,
36
36
  dispatchRegisteredCommand,
37
37
  printCliCatalog
38
- } from "./chunk-WZ4LUM26.js";
38
+ } from "./chunk-7NMCRHQL.js";
39
39
  import {
40
40
  resolveCliAccess
41
- } from "./chunk-MD5PHJBX.js";
41
+ } from "./chunk-33LH4ZGF.js";
42
42
  import "./chunk-Z7IUAJOF.js";
43
- import "./chunk-MLOGEXIO.js";
44
- import "./chunk-LU3M54IY.js";
43
+ import "./chunk-2D7O5UHJ.js";
44
+ import "./chunk-PAVSKSKA.js";
45
45
  import "./chunk-AOJU5LKX.js";
46
46
  import {
47
47
  CliError,
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-HGMYEDAQ.js";
53
53
  import {
54
54
  OperationAccesses
55
- } from "./chunk-XEGYSZEV.js";
55
+ } from "./chunk-VPZMSV3Q.js";
56
56
  import "./chunk-MLKGABMK.js";
57
57
 
58
58
  // src/cli.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -21,7 +21,7 @@ import {
21
21
  normalizeCompetitorDomain,
22
22
  shareOfVoiceLabel,
23
23
  shareOfVoiceReason
24
- } from "./chunk-XEGYSZEV.js";
24
+ } from "./chunk-VPZMSV3Q.js";
25
25
  import "./chunk-MLKGABMK.js";
26
26
 
27
27
  // src/commands/competitor.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  contentTargetDismissRequestSchema,
16
16
  formatPercent
17
- } from "./chunk-XEGYSZEV.js";
17
+ } from "./chunk-VPZMSV3Q.js";
18
18
  import "./chunk-MLKGABMK.js";
19
19
 
20
20
  // src/commands/content.ts
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  clearDashboardPassword,
3
3
  loadConfigRaw
4
- } from "./chunk-UNCOK6DA.js";
4
+ } from "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  isMachineFormat
7
7
  } from "./chunk-HGMYEDAQ.js";
8
8
  import {
9
9
  anyUsersExist
10
- } from "./chunk-AVISYPUU.js";
11
- import "./chunk-HX3WLTZU.js";
12
- import "./chunk-UXTNDZKM.js";
10
+ } from "./chunk-6W3ENB2X.js";
11
+ import "./chunk-J4CNNYRQ.js";
12
+ import "./chunk-7SGZHGZ2.js";
13
13
  import {
14
14
  createClient
15
- } from "./chunk-6DJN7HCK.js";
16
- import "./chunk-XEGYSZEV.js";
15
+ } from "./chunk-ARIYTYOM.js";
16
+ import "./chunk-VPZMSV3Q.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
 
19
19
  // src/commands/dashboard.ts
@@ -40,7 +40,7 @@ function parseDemoTrustedProxies(values) {
40
40
  async function demoCommand(options) {
41
41
  const { host, port } = parseDemoListenOptions(options);
42
42
  const trustProxy = parseDemoTrustedProxies(options.trustProxy);
43
- const { createDemoServer } = await import("./demo-server-QNQX5CNP.js");
43
+ const { createDemoServer } = await import("./demo-server-FDR4RKLM.js");
44
44
  const app = await createDemoServer({ trustProxy });
45
45
  let stopping = false;
46
46
  const stop = () => {
@@ -5,12 +5,12 @@ import {
5
5
  computeFactorAverages,
6
6
  layoutSiteCrawlGraphInput,
7
7
  persistSiteCrawlGraphLayout
8
- } from "./chunk-P74TPIWZ.js";
8
+ } from "./chunk-RNA6ZCM6.js";
9
9
  import {
10
10
  canonryMcpTools
11
- } from "./chunk-37R6GTU7.js";
12
- import "./chunk-WSYLDPYF.js";
13
- import "./chunk-LU3M54IY.js";
11
+ } from "./chunk-YIIIYNPW.js";
12
+ import "./chunk-5SK27UE7.js";
13
+ import "./chunk-PAVSKSKA.js";
14
14
  import {
15
15
  PACKAGE_VERSION
16
16
  } from "./chunk-AOJU5LKX.js";
@@ -18,16 +18,16 @@ import "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  HISTORY_WINDOW_RUNS,
20
20
  IntelligenceService
21
- } from "./chunk-UHLWNU6I.js";
21
+ } from "./chunk-ZU6X4SN2.js";
22
22
  import {
23
23
  determineCitationState
24
- } from "./chunk-EKSXR7RJ.js";
24
+ } from "./chunk-K2P2XO6P.js";
25
25
  import {
26
26
  apiRoutes,
27
27
  assessConversionTrackingIntegrity
28
- } from "./chunk-AVISYPUU.js";
29
- import "./chunk-HX3WLTZU.js";
30
- import "./chunk-UXTNDZKM.js";
28
+ } from "./chunk-6W3ENB2X.js";
29
+ import "./chunk-J4CNNYRQ.js";
30
+ import "./chunk-7SGZHGZ2.js";
31
31
  import {
32
32
  adsAdGroups,
33
33
  adsAds,
@@ -103,7 +103,7 @@ import {
103
103
  siteCrawlPages,
104
104
  siteCrawlSnapshots,
105
105
  trafficSources
106
- } from "./chunk-6DJN7HCK.js";
106
+ } from "./chunk-ARIYTYOM.js";
107
107
  import {
108
108
  AI_ENGINE_DOMAINS,
109
109
  GA_OVERVIEW_HISTORY_DAYS,
@@ -150,7 +150,7 @@ import {
150
150
  roundPreservingTotal,
151
151
  siteAuditPageFactorSchema,
152
152
  wilsonInterval
153
- } from "./chunk-XEGYSZEV.js";
153
+ } from "./chunk-VPZMSV3Q.js";
154
154
  import "./chunk-MLKGABMK.js";
155
155
 
156
156
  // src/demo-server.ts
@@ -1289,6 +1289,7 @@ var DEMO_READ_ROUTES = /* @__PURE__ */ new Set([
1289
1289
  "/api/v1/projects/:name/seo/domain-intelligence",
1290
1290
  "/api/v1/projects/:name/seo/ranked-keywords",
1291
1291
  "/api/v1/projects/:name/seo/market-rankings",
1292
+ "/api/v1/projects/:name/seo/market-rankings/summary",
1292
1293
  "/api/v1/projects/:name/seo/runs",
1293
1294
  "/api/v1/projects/:name/seo/runs/:id",
1294
1295
  "/api/v1/projects/:name/snapshots",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  CitationStates,
15
15
  DiscoveryPromoteCompetitorSkipReasons,
16
16
  describeError
17
- } from "./chunk-XEGYSZEV.js";
17
+ } from "./chunk-VPZMSV3Q.js";
18
18
  import "./chunk-MLKGABMK.js";
19
19
 
20
20
  // src/commands/discover.ts
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  CliError,
8
8
  EXIT_USER_ERROR
9
9
  } from "./chunk-HGMYEDAQ.js";
10
- import "./chunk-XEGYSZEV.js";
10
+ import "./chunk-VPZMSV3Q.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
 
13
13
  // src/commands/discover-eval.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  CheckScopes,
15
15
  CheckStatuses
16
- } from "./chunk-XEGYSZEV.js";
16
+ } from "./chunk-VPZMSV3Q.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
 
19
19
  // src/commands/doctor.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -9,7 +9,7 @@ import "./chunk-AOJU5LKX.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  CitationStates
12
- } from "./chunk-XEGYSZEV.js";
12
+ } from "./chunk-VPZMSV3Q.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/evidence.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  isEndpointMissing,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  isRedactedNotificationUrl
12
- } from "./chunk-XEGYSZEV.js";
12
+ } from "./chunk-VPZMSV3Q.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/export-cmd.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -26,7 +26,7 @@ import {
26
26
  gaSearchLandingHasSearchData,
27
27
  gaSearchLandingPageLabel,
28
28
  isGaOverviewWindow
29
- } from "./chunk-XEGYSZEV.js";
29
+ } from "./chunk-VPZMSV3Q.js";
30
30
  import "./chunk-MLKGABMK.js";
31
31
 
32
32
  // src/commands/ga.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
4
- import "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
+ import "./chunk-MVRPFLEL.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  isMachineFormat
@@ -11,7 +11,7 @@ import {
11
11
  formatPercent,
12
12
  gbpLocalPostCreateSchema,
13
13
  validationError
14
- } from "./chunk-XEGYSZEV.js";
14
+ } from "./chunk-VPZMSV3Q.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
 
17
17
  // src/commands/gbp.ts