@canonry/canonry 7.67.0 → 7.68.1

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 (138) hide show
  1. package/README.md +2 -0
  2. package/assets/agent-workspace/skills/aero/references/seo-analysis.md +10 -2
  3. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +5 -1
  4. package/assets/assets/{AgentSetupPage-ORsy3QEa.js → AgentSetupPage-DyssdZ1J.js} +3 -3
  5. package/assets/assets/{AuditHistoryPanel-vTHZDbfs.js → AuditHistoryPanel-Bma4Q6p0.js} +1 -1
  6. package/assets/assets/{BacklinksPage-FqADB5sO.js → BacklinksPage-C3GoO2Wf.js} +1 -1
  7. package/assets/assets/{HistoryPage-C4l5Toqa.js → HistoryPage-6iYvYCL7.js} +1 -1
  8. package/assets/assets/MeasurementPropertyPage-CjI5eB3b.js +4 -0
  9. package/assets/assets/ProjectPage-GYIgNPxn.js +9 -0
  10. package/assets/assets/{RunsPage-oyhhwAPq.js → RunsPage-Cw0GTxgx.js} +1 -1
  11. package/assets/assets/{SettingsPage-DJc4Di1M.js → SettingsPage-Cvg8BvZn.js} +1 -1
  12. package/assets/assets/SiteHealthSection-vejp2Igj.js +2 -0
  13. package/assets/assets/ToneBadge-c2bgjqqz.js +60 -0
  14. package/assets/assets/{TrafficPage-DAD0FFkL.js → TrafficPage-BUb0xr-b.js} +1 -1
  15. package/assets/assets/{TrafficSourceDetailPage-BBEzbawh.js → TrafficSourceDetailPage-DmrtEYs8.js} +1 -1
  16. package/assets/assets/{account-context-DMHOefRt.js → account-context-qhg8esXw.js} +1 -1
  17. package/assets/assets/{card-Brp6fFNG.js → card-BNthgfAY.js} +1 -1
  18. package/assets/assets/{extract-error-message-5QpQCsGb.js → extract-error-message-DuYEL09s.js} +1 -1
  19. package/assets/assets/{format-helpers-BFM0FRjT.js → format-helpers-6v-a8B3S.js} +1 -1
  20. package/assets/assets/index-BUigRGam.js +60 -0
  21. package/assets/assets/{index-C6U4u18w.css → index-CqNwsqjm.css} +1 -1
  22. package/assets/assets/{query-client-BMTW-xss.js → query-client-COFiuVJB.js} +1 -1
  23. package/assets/assets/react-query-ZdpN7cFt.js +1 -0
  24. package/assets/assets/{react-sigma_core.esm.min-C0VjhgDo.js → react-sigma_core.esm.min-EbeNATny.js} +1 -1
  25. package/assets/assets/{service-DW9u_0aZ.js → service-DGFjEsYR.js} +1 -1
  26. package/assets/index.html +8 -8
  27. package/dist/{ads-BXGEL4WI.js → ads-AHM5LMVT.js} +3 -3
  28. package/dist/{agent-LFX7GHWD.js → agent-2FSGY7SD.js} +7 -7
  29. package/dist/{agent-ask-QJV225AT.js → agent-ask-GIK7T2HD.js} +3 -3
  30. package/dist/{agent-conversations-2TZDIGA6.js → agent-conversations-JEIFZHT3.js} +3 -3
  31. package/dist/{agent-memory-XCY3ZG5C.js → agent-memory-JC3JJXON.js} +3 -3
  32. package/dist/{agent-providers-VS6PH55Y.js → agent-providers-JRL3VZA7.js} +3 -3
  33. package/dist/{agent-transcript-BUUHOTZM.js → agent-transcript-ZQDNW3IE.js} +3 -3
  34. package/dist/{analytics-YWJWPUNF.js → analytics-HMYE6EIX.js} +3 -3
  35. package/dist/{apply-BMCYFBEJ.js → apply-F5CHVFC3.js} +3 -3
  36. package/dist/{backfill-YBOKT5LT.js → backfill-JZDQKZHY.js} +9 -9
  37. package/dist/{backlinks-QNNABB4N.js → backlinks-L7XEHBAP.js} +3 -3
  38. package/dist/{bing-KEMXBABP.js → bing-XTMKLVRJ.js} +3 -3
  39. package/dist/{bootstrap-X2AADK4M.js → bootstrap-AEHBYC77.js} +10 -10
  40. package/dist/{cdp-WVYUEV4U.js → cdp-SSIHU3PU.js} +7 -7
  41. package/dist/{chunk-MLOGEXIO.js → chunk-2D7O5UHJ.js} +1 -1
  42. package/dist/{chunk-MD5PHJBX.js → chunk-33LH4ZGF.js} +2 -1
  43. package/dist/{chunk-VR4MYSEH.js → chunk-4KMUJOYL.js} +4 -4
  44. package/dist/{chunk-WSYLDPYF.js → chunk-5SK27UE7.js} +1 -1
  45. package/dist/{chunk-AVISYPUU.js → chunk-6W3ENB2X.js} +61 -7
  46. package/dist/{chunk-ZGUR4AZM.js → chunk-7AXVACK6.js} +2 -2
  47. package/dist/{chunk-WZ4LUM26.js → chunk-7NMCRHQL.js} +3 -3
  48. package/dist/{chunk-UXTNDZKM.js → chunk-7SGZHGZ2.js} +1 -1
  49. package/dist/{chunk-6DJN7HCK.js → chunk-ARIYTYOM.js} +1 -1
  50. package/dist/{chunk-XMIKSCAO.js → chunk-ARYBII44.js} +1 -1
  51. package/dist/{chunk-CBYKQRDH.js → chunk-CZUPNWLH.js} +2 -2
  52. package/dist/{chunk-AFRCTLUL.js → chunk-F4KTLNW3.js} +404 -340
  53. package/dist/{chunk-XEPEMON2.js → chunk-FDRZQH3Y.js} +14 -2
  54. package/dist/{chunk-5DMESZDF.js → chunk-IVBJEVHS.js} +2 -2
  55. package/dist/{chunk-HX3WLTZU.js → chunk-J4CNNYRQ.js} +1 -1
  56. package/dist/{chunk-Y54PMWBH.js → chunk-JPVG5LIE.js} +3 -3
  57. package/dist/{chunk-EKSXR7RJ.js → chunk-K2P2XO6P.js} +1 -1
  58. package/dist/{chunk-IEBMODUI.js → chunk-KGJ7NDUY.js} +20 -20
  59. package/dist/{chunk-KJLICF53.js → chunk-LO2EII7V.js} +4 -4
  60. package/dist/{chunk-YP743QX5.js → chunk-LTMQ4MHF.js} +1 -1
  61. package/dist/{chunk-UNCOK6DA.js → chunk-MVRPFLEL.js} +1 -1
  62. package/dist/{chunk-LU3M54IY.js → chunk-PAVSKSKA.js} +1 -1
  63. package/dist/{chunk-G6PZEDTH.js → chunk-R42VEDCB.js} +3 -3
  64. package/dist/{chunk-P74TPIWZ.js → chunk-RNA6ZCM6.js} +2 -2
  65. package/dist/{chunk-32BTTG5N.js → chunk-U3EJ5RW7.js} +12 -6
  66. package/dist/{chunk-GTPGYFZ4.js → chunk-V6ALEP33.js} +2 -2
  67. package/dist/{chunk-XEGYSZEV.js → chunk-VPZMSV3Q.js} +235 -6
  68. package/dist/{chunk-XIA6NWIF.js → chunk-W7PA35VJ.js} +4 -4
  69. package/dist/{chunk-NHHZQWMI.js → chunk-XMXYUP7X.js} +1 -1
  70. package/dist/{chunk-2X7DFLMD.js → chunk-Y42G2YKT.js} +8 -8
  71. package/dist/{chunk-37R6GTU7.js → chunk-YIIIYNPW.js} +22 -4
  72. package/dist/{chunk-MOJ2XZXK.js → chunk-ZD5G5QEV.js} +1 -1
  73. package/dist/{chunk-UHLWNU6I.js → chunk-ZU6X4SN2.js} +5 -5
  74. package/dist/{chunk-RRS7U6HQ.js → chunk-ZUXFHO4T.js} +4 -4
  75. package/dist/{citations-ZSI5BOGD.js → citations-NIFKIG6Y.js} +3 -3
  76. package/dist/{cli-catalog-J2HUCGJL.js → cli-catalog-ONYERYPV.js} +3 -3
  77. package/dist/{cli-commands-XFMVFREG.js → cli-commands-3RTJR7FD.js} +7 -7
  78. package/dist/cli.js +13 -13
  79. package/dist/{competitor-WJDN3DLP.js → competitor-NSUSTLNW.js} +3 -3
  80. package/dist/{content-K52YV4BK.js → content-W5VYYMAW.js} +3 -3
  81. package/dist/{dashboard-L6RKTP35.js → dashboard-NNA3P645.js} +6 -6
  82. package/dist/{demo-Y7XRD4X4.js → demo-5M4YGVV4.js} +1 -1
  83. package/dist/{demo-server-QNQX5CNP.js → demo-server-FDR4RKLM.js} +12 -11
  84. package/dist/{discover-UO5M7HQZ.js → discover-VCKMXFOR.js} +3 -3
  85. package/dist/{discover-eval-DN4PS6VN.js → discover-eval-CPVP7EK5.js} +3 -3
  86. package/dist/{doctor-7UYUXG7J.js → doctor-EVCP6PDM.js} +3 -3
  87. package/dist/{evidence-DGKN5SGQ.js → evidence-ZWRGNZWN.js} +3 -3
  88. package/dist/{export-cmd-QAQWWIRL.js → export-cmd-AM6SIRUW.js} +3 -3
  89. package/dist/{ga-4LGTEA6J.js → ga-6J67NDMZ.js} +3 -3
  90. package/dist/{gbp-XOLYZ4XC.js → gbp-ERTWK26L.js} +3 -3
  91. package/dist/{google-CAQDCFA6.js → google-O6VQFK4L.js} +4 -4
  92. package/dist/{google-marketing-HU5I3XPP.js → google-marketing-OEW2YGUR.js} +1 -1
  93. package/dist/{health-cmd-3PEB3M45.js → health-cmd-OPGK37MK.js} +3 -3
  94. package/dist/{history-UGUWYPOY.js → history-WTU4ETCU.js} +3 -3
  95. package/dist/index.d.ts +65 -65
  96. package/dist/index.js +24 -24
  97. package/dist/{init-DEW65BLN.js → init-XDFRSNJ6.js} +11 -11
  98. package/dist/{insights-ZC3R4ZYG.js → insights-LPEDLSEV.js} +3 -3
  99. package/dist/intelligence-service-4OO2VQ2I.js +15 -0
  100. package/dist/{journeys-W6F4BCXF.js → journeys-TWVQNRLT.js} +3 -3
  101. package/dist/{keys-ME7VRF73.js → keys-C6FPREBZ.js} +3 -3
  102. package/dist/{keyword-R3PLGSO5.js → keyword-PBSE65DK.js} +3 -3
  103. package/dist/{logs-UM7CWHYB.js → logs-62RUOAKT.js} +3 -3
  104. package/dist/{mcp-BUPP5HC6.js → mcp-P4LNENKX.js} +2 -2
  105. package/dist/mcp.js +9 -9
  106. package/dist/{measurement-plan-R4KZHJII.js → measurement-plan-HKW3IVIE.js} +5 -5
  107. package/dist/{notify-4C26D2MY.js → notify-A3I3G7NK.js} +3 -3
  108. package/dist/{organic-evidence-SLIISYHW.js → organic-evidence-OFUJBDCK.js} +3 -3
  109. package/dist/{overview-JJZZOYQU.js → overview-NSRODN2X.js} +4 -4
  110. package/dist/{project-XJH2OECP.js → project-B5G2HEAB.js} +3 -3
  111. package/dist/{query-ZWAIWIYB.js → query-UQHJVYUJ.js} +3 -3
  112. package/dist/{research-GTVWVZBI.js → research-ZWBJDLJY.js} +3 -3
  113. package/dist/{results-export-CPAWO5AV.js → results-export-FOJYT4MK.js} +3 -3
  114. package/dist/{run-RI2BMD7U.js → run-ZIUQ2TNN.js} +4 -4
  115. package/dist/{schedule-HDDWULBX.js → schedule-B5CORKGT.js} +3 -3
  116. package/dist/{search-TT3Q2BBP.js → search-2XCZKP6A.js} +3 -3
  117. package/dist/{serve-6JYPUU24.js → serve-RR6YYFKA.js} +25 -25
  118. package/dist/{session-DDESFV3N.js → session-PILSYOTX.js} +12 -12
  119. package/dist/{settings-4AYXYJVA.js → settings-Y3LVGZH4.js} +3 -3
  120. package/dist/{skills-UFMLMMY5.js → skills-6E3RVQAQ.js} +2 -2
  121. package/dist/{snapshot-KLWQGZB6.js → snapshot-RAV2HCL7.js} +3 -3
  122. package/dist/{src-6IHGEMT2.js → src-VUD6WO5N.js} +2 -2
  123. package/dist/{status-HRIUPGUM.js → status-2WCUV6C2.js} +4 -4
  124. package/dist/{technical-aeo-HKJQHMMS.js → technical-aeo-2TJEHHBR.js} +3 -3
  125. package/dist/{telemetry-IS6KZK32.js → telemetry-LQAD26UJ.js} +4 -4
  126. package/dist/{tools-ZNVQFEAX.js → tools-U6VGYZV2.js} +11 -11
  127. package/dist/{traffic-PFHFGN44.js → traffic-3TBXSHPV.js} +5 -5
  128. package/dist/{users-BSLUSU6W.js → users-2HDDA5GT.js} +3 -3
  129. package/dist/{visibility-stats-MPRNHPZW.js → visibility-stats-HSGT3OL3.js} +3 -3
  130. package/dist/{wordpress-U5XKHURL.js → wordpress-ALODIEFK.js} +3 -3
  131. package/package.json +1 -1
  132. package/assets/assets/MeasurementPropertyPage-x8f7xanT.js +0 -4
  133. package/assets/assets/ProjectPage-CG9I2-B4.js +0 -9
  134. package/assets/assets/SiteHealthSection-BvqFg3rG.js +0 -2
  135. package/assets/assets/ToneBadge-CTWpeKu8.js +0 -60
  136. package/assets/assets/index-BBNs-RhI.js +0 -60
  137. package/assets/assets/react-query-DGmY6hJa.js +0 -1
  138. package/dist/intelligence-service-XRJVXZYI.js +0 -15
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-UNCOK6DA.js";
3
+ } from "./chunk-MVRPFLEL.js";
4
4
  import {
5
5
  PACKAGE_VERSION
6
6
  } from "./chunk-AOJU5LKX.js";
@@ -36,7 +36,7 @@ import {
36
36
  sentimentSettingsReadSchema,
37
37
  sentimentSummaryReadSchema,
38
38
  upgradeCommandFor
39
- } from "./chunk-XEGYSZEV.js";
39
+ } from "./chunk-VPZMSV3Q.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -905,6 +905,11 @@ var getApiV1ProjectsByNameSeoMarketRankings = (options) => (options.client ?? cl
905
905
  url: "/api/v1/projects/{name}/seo/market-rankings",
906
906
  ...options
907
907
  });
908
+ var getApiV1ProjectsByNameSeoMarketRankingsSummary = (options) => (options.client ?? client).get({
909
+ security: [{ scheme: "bearer", type: "http" }],
910
+ url: "/api/v1/projects/{name}/seo/market-rankings/summary",
911
+ ...options
912
+ });
908
913
  var postApiV1ProjectsByNameSeoRefreshIntents = (options) => (options.client ?? client).post({
909
914
  security: [{ scheme: "bearer", type: "http" }],
910
915
  url: "/api/v1/projects/{name}/seo/refresh-intents",
@@ -6200,6 +6205,13 @@ var ApiClient = class {
6200
6205
  query
6201
6206
  }));
6202
6207
  }
6208
+ async getSeoMarketRankingSummary(project, query) {
6209
+ return this.invoke(() => getApiV1ProjectsByNameSeoMarketRankingsSummary({
6210
+ client: this.heyClient,
6211
+ path: { name: project },
6212
+ query
6213
+ }));
6214
+ }
6203
6215
  async getResearchRun(project, runId) {
6204
6216
  return this.invoke(
6205
6217
  () => getApiV1ProjectsByNameResearchRunsByRunId({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseJsonColumn
3
- } from "./chunk-6DJN7HCK.js";
3
+ } from "./chunk-ARIYTYOM.js";
4
4
  import {
5
5
  AI_ENGINE_DOMAINS,
6
6
  AI_ENGINE_SELF_DOMAINS,
@@ -26,7 +26,7 @@ import {
26
26
  retryAfterDelayMs,
27
27
  usageCount,
28
28
  withRetry
29
- } from "./chunk-XEGYSZEV.js";
29
+ } from "./chunk-VPZMSV3Q.js";
30
30
 
31
31
  // ../provider-openai/src/normalize.ts
32
32
  import OpenAI from "openai";
@@ -8,7 +8,7 @@ import {
8
8
  classifyJourneyEntry,
9
9
  hostMatchesDomain,
10
10
  hostOf
11
- } from "./chunk-XEGYSZEV.js";
11
+ } from "./chunk-VPZMSV3Q.js";
12
12
 
13
13
  // ../integration-traffic/src/ip-ranges/amazonbot.json
14
14
  var amazonbot_default = {
@@ -2,18 +2,18 @@ import {
2
2
  configExists,
3
3
  loadConfigRaw,
4
4
  saveConfigPatch
5
- } from "./chunk-UNCOK6DA.js";
5
+ } from "./chunk-MVRPFLEL.js";
6
6
  import {
7
7
  BUNDLED_SKILL_NAMES,
8
8
  installSkills
9
- } from "./chunk-MLOGEXIO.js";
9
+ } from "./chunk-2D7O5UHJ.js";
10
10
  import {
11
11
  PACKAGE_VERSION
12
12
  } from "./chunk-AOJU5LKX.js";
13
13
  import {
14
14
  SKILL_MANIFEST_FILENAME,
15
15
  SkillsClients
16
- } from "./chunk-XEGYSZEV.js";
16
+ } from "./chunk-VPZMSV3Q.js";
17
17
 
18
18
  // src/skills-autosync.ts
19
19
  import fs from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  hostMatchesDomain
3
- } from "./chunk-XEGYSZEV.js";
3
+ } from "./chunk-VPZMSV3Q.js";
4
4
 
5
5
  // src/citation-utils.ts
6
6
  function pickProjectCitedDomain(citedDomains, projectDomains) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  answerServiceAdapters,
3
3
  answerServiceDescriptors
4
- } from "./chunk-XMIKSCAO.js";
4
+ } from "./chunk-ARYBII44.js";
5
5
  import {
6
6
  AeroLlmUsageFeatures,
7
7
  aeroTurnStatus,
@@ -27,14 +27,14 @@ import {
27
27
  resolveConfiguredAgentProvider,
28
28
  resolveSessionProviderAndModel,
29
29
  setAeroSystemPrompt
30
- } from "./chunk-32BTTG5N.js";
30
+ } from "./chunk-U3EJ5RW7.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-XIA6NWIF.js";
37
+ } from "./chunk-W7PA35VJ.js";
38
38
  import {
39
39
  getGoogleAuthConfig,
40
40
  getGoogleConnection,
@@ -53,7 +53,7 @@ import {
53
53
  removeCloudflareTrafficConnection,
54
54
  removeCloudflareTrafficConnectionBySourceId,
55
55
  upsertCloudflareTrafficConnection
56
- } from "./chunk-YP743QX5.js";
56
+ } from "./chunk-LTMQ4MHF.js";
57
57
  import {
58
58
  claudeAdapter,
59
59
  embedQueries,
@@ -64,7 +64,7 @@ import {
64
64
  openaiAdapter,
65
65
  openrouterAdapter,
66
66
  perplexityAdapter
67
- } from "./chunk-5DMESZDF.js";
67
+ } from "./chunk-IVBJEVHS.js";
68
68
  import {
69
69
  classifyUsageSurface,
70
70
  createApiUsageTelemetry,
@@ -76,7 +76,7 @@ import {
76
76
  startOutcomeTimer,
77
77
  trackFeatureCompleted,
78
78
  trackInstallState
79
- } from "./chunk-RRS7U6HQ.js";
79
+ } from "./chunk-ZUXFHO4T.js";
80
80
  import {
81
81
  isLoopbackBindHost
82
82
  } from "./chunk-TSENU4GG.js";
@@ -84,7 +84,7 @@ import {
84
84
  isApiProviderRegistrable,
85
85
  isCdpProviderRegistrable,
86
86
  registeredProviderNames
87
- } from "./chunk-NHHZQWMI.js";
87
+ } from "./chunk-XMXYUP7X.js";
88
88
  import {
89
89
  checkLatestVersionForServer,
90
90
  getOrCreateAnonymousId,
@@ -95,17 +95,17 @@ import {
95
95
  recordDashboardEvent,
96
96
  setTelemetryPreference,
97
97
  trackEvent
98
- } from "./chunk-ZGUR4AZM.js";
98
+ } from "./chunk-7AXVACK6.js";
99
99
  import {
100
100
  createCanonryMcpServer
101
- } from "./chunk-VR4MYSEH.js";
101
+ } from "./chunk-4KMUJOYL.js";
102
102
  import {
103
103
  CANONRY_MCP_TIERS,
104
104
  CANONRY_MCP_TOOLKIT_NAMES
105
105
  } from "./chunk-NDTU7FGL.js";
106
106
  import {
107
107
  ApiClient
108
- } from "./chunk-XEPEMON2.js";
108
+ } from "./chunk-FDRZQH3Y.js";
109
109
  import {
110
110
  AGENT_PROVIDERS,
111
111
  adapterSupportsBatch,
@@ -136,21 +136,21 @@ import {
136
136
  saveConfigPatch,
137
137
  sentimentInstallReadiness,
138
138
  updateSharedProviderExecutionGate
139
- } from "./chunk-UNCOK6DA.js";
139
+ } from "./chunk-MVRPFLEL.js";
140
140
  import {
141
141
  getBundledSkillSnapshots
142
- } from "./chunk-MLOGEXIO.js";
142
+ } from "./chunk-2D7O5UHJ.js";
143
143
  import {
144
144
  computeFactorAverages,
145
145
  deleteSiteCrawlGraphLayout,
146
146
  persistSiteCrawlGraphLayout,
147
147
  prepareSiteCrawlGraphLayout,
148
148
  recordedSharePct
149
- } from "./chunk-P74TPIWZ.js";
149
+ } from "./chunk-RNA6ZCM6.js";
150
150
  import {
151
151
  CanonryMcpToolNames,
152
152
  canonryMcpTools
153
- } from "./chunk-37R6GTU7.js";
153
+ } from "./chunk-YIIIYNPW.js";
154
154
  import {
155
155
  PACKAGE_VERSION
156
156
  } from "./chunk-AOJU5LKX.js";
@@ -162,11 +162,11 @@ import {
162
162
  addLogListener,
163
163
  createFastifyLogger,
164
164
  createLogger
165
- } from "./chunk-UHLWNU6I.js";
165
+ } from "./chunk-ZU6X4SN2.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
169
- } from "./chunk-EKSXR7RJ.js";
169
+ } from "./chunk-K2P2XO6P.js";
170
170
  import {
171
171
  BingApiError,
172
172
  CC_CACHE_DIR,
@@ -286,7 +286,7 @@ import {
286
286
  webhookResponseReason,
287
287
  webhookTargetRefusalReason,
288
288
  writeAuditLog
289
- } from "./chunk-AVISYPUU.js";
289
+ } from "./chunk-6W3ENB2X.js";
290
290
  import {
291
291
  OperationalLogStore,
292
292
  SentimentIdempotencyConflict,
@@ -372,7 +372,7 @@ import {
372
372
  siteLivenessState,
373
373
  trafficSources,
374
374
  usageCounters
375
- } from "./chunk-6DJN7HCK.js";
375
+ } from "./chunk-ARIYTYOM.js";
376
376
  import {
377
377
  AGENT_MEMORY_VALUE_MAX_BYTES,
378
378
  AI_ENGINE_DOMAINS,
@@ -621,7 +621,7 @@ import {
621
621
  winnabilityClassLabel,
622
622
  withRetry,
623
623
  withSkippedProviders
624
- } from "./chunk-XEGYSZEV.js";
624
+ } from "./chunk-VPZMSV3Q.js";
625
625
 
626
626
  // src/google-marketing-runtime.ts
627
627
  import crypto2 from "crypto";
@@ -5804,7 +5804,7 @@ function nonBlank(value) {
5804
5804
  return trimmed ? trimmed : void 0;
5805
5805
  }
5806
5806
  function resolveBuildCommit(env = process.env) {
5807
- const embedded = true ? "bc41644d8fe1f58eb00fd3cf4e6fc224834d7d24" : void 0;
5807
+ const embedded = true ? "2631ed359be107c3e47aee3905b706f664443b08" : void 0;
5808
5808
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5809
5809
  }
5810
5810
  function resolveInstanceIdentity(env = process.env) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registeredProviderNames
3
- } from "./chunk-NHHZQWMI.js";
3
+ } from "./chunk-XMXYUP7X.js";
4
4
  import {
5
5
  configExists,
6
6
  loadConfigRaw
7
- } from "./chunk-UNCOK6DA.js";
7
+ } from "./chunk-MVRPFLEL.js";
8
8
 
9
9
  // src/setup-state.ts
10
10
  import fs from "fs";
@@ -28,7 +28,7 @@ async function buildSetupState() {
28
28
  }
29
29
  if (dbPath && fs.existsSync(dbPath)) {
30
30
  try {
31
- const { createClient, projects, queries: queriesTable } = await import("./src-6IHGEMT2.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-VUD6WO5N.js");
32
32
  const db = createClient(dbPath);
33
33
  project_count = db.select({ id: projects.id }).from(projects).all().length;
34
34
  const firstQuery = db.select({ id: queriesTable.id }).from(queriesTable).limit(1).all();
@@ -47,7 +47,7 @@ function queueServeHandoff() {
47
47
  async function runPendingServeHandoff(format) {
48
48
  if (!pendingServeHandoff) return;
49
49
  pendingServeHandoff = false;
50
- const { serveCommand } = await import("./serve-6JYPUU24.js");
50
+ const { serveCommand } = await import("./serve-RR6YYFKA.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cloudflareQueueNameSchema
3
- } from "./chunk-XEGYSZEV.js";
3
+ } from "./chunk-VPZMSV3Q.js";
4
4
 
5
5
  // src/cloudflare-traffic-config.ts
6
6
  function unsupportedDeliveryMode(deliveryMode) {
@@ -20,7 +20,7 @@ import {
20
20
  resolveProviderModel,
21
21
  schedulableRunKindSchema,
22
22
  sentimentEvaluatorProviderSchema
23
- } from "./chunk-XEGYSZEV.js";
23
+ } from "./chunk-VPZMSV3Q.js";
24
24
 
25
25
  // ../config/src/index.ts
26
26
  import { z as z4 } from "zod";
@@ -23,7 +23,7 @@ import {
23
23
  measurementDraftUpsertGroupRequestSchema,
24
24
  measurementDraftUpsertMarketRequestSchema,
25
25
  measurementDraftUpsertTargetRequestSchema
26
- } from "./chunk-XEGYSZEV.js";
26
+ } from "./chunk-VPZMSV3Q.js";
27
27
 
28
28
  // src/measurement-draft-actions.ts
29
29
  import { z } from "zod";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-XEPEMON2.js";
3
+ } from "./chunk-FDRZQH3Y.js";
4
4
  import {
5
5
  emitJsonl
6
6
  } from "./chunk-Z7IUAJOF.js";
7
7
  import {
8
8
  measurementDraftOperationSchema,
9
9
  runMeasurementDraftAction
10
- } from "./chunk-LU3M54IY.js";
10
+ } from "./chunk-PAVSKSKA.js";
11
11
  import {
12
12
  isMachineFormat,
13
13
  systemError
@@ -37,7 +37,7 @@ import {
37
37
  unattributedAnswersLabel,
38
38
  uncheckedSourcesLabel,
39
39
  visibilityReportRequestSchema
40
- } from "./chunk-XEGYSZEV.js";
40
+ } from "./chunk-VPZMSV3Q.js";
41
41
 
42
42
  // src/commands/measurement-plan.ts
43
43
  import crypto from "crypto";
@@ -5,7 +5,7 @@ import {
5
5
  siteCrawlGraphNodes,
6
6
  siteCrawlPages,
7
7
  siteCrawlSnapshots
8
- } from "./chunk-6DJN7HCK.js";
8
+ } from "./chunk-ARIYTYOM.js";
9
9
  import {
10
10
  SITE_CRAWL_GRAPH_MAX_EDGES,
11
11
  SITE_CRAWL_GRAPH_MAX_NODES,
@@ -15,7 +15,7 @@ import {
15
15
  factorStatusFromDistribution,
16
16
  factorStatusFromScore,
17
17
  roundPreservingTotal
18
- } from "./chunk-XEGYSZEV.js";
18
+ } from "./chunk-VPZMSV3Q.js";
19
19
 
20
20
  // src/site-audit-factors.ts
21
21
  function recordedSharePct(factor) {
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-XIA6NWIF.js";
8
+ } from "./chunk-W7PA35VJ.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS
11
11
  } from "./chunk-NDTU7FGL.js";
@@ -22,23 +22,24 @@ import {
22
22
  resolveApiKeyFor,
23
23
  resolveModelForProvider,
24
24
  validateAgentProviderRegistry
25
- } from "./chunk-UNCOK6DA.js";
25
+ } from "./chunk-MVRPFLEL.js";
26
26
  import {
27
27
  CanonryMcpToolNames,
28
28
  canonryMcpTools
29
- } from "./chunk-37R6GTU7.js";
29
+ } from "./chunk-YIIIYNPW.js";
30
30
  import {
31
31
  agentToolEvents,
32
32
  llmUsageEvents
33
- } from "./chunk-6DJN7HCK.js";
33
+ } from "./chunk-ARIYTYOM.js";
34
34
  import {
35
35
  MeasurementPortfolioLists,
36
+ SeoCapabilities,
36
37
  agentTurnLimitsSchema,
37
38
  agentVisibilityEvidence,
38
39
  describeError,
39
40
  validationError,
40
41
  visibilityReportRequestSchema
41
- } from "./chunk-XEGYSZEV.js";
42
+ } from "./chunk-VPZMSV3Q.js";
42
43
 
43
44
  // src/agent/session.ts
44
45
  import fs3 from "fs";
@@ -765,14 +766,19 @@ async function readAeroViewEvidence(options) {
765
766
  const base = `/${(options.basePath ?? "").replace(/^\/+|\/+$/g, "")}`.replace(/\/$/, "");
766
767
  if (context?.view === "seo") {
767
768
  const overview = await client.getSeoOverview(projectName, { profileId: context.seoProfileId, runId: context.seoRunId });
769
+ const evidence2 = overview.evidenceRun;
770
+ const marketRankings = evidence2?.capabilities.includes(SeoCapabilities["market-rankings"]) ? await client.getSeoMarketRankingSummary(projectName, { profileId: evidence2.profileId, runId: evidence2.id, regionKey: context.seoRegionKey, marketKey: context.seoMarketKey }) : void 0;
768
771
  const search = new URLSearchParams(context.seoProfileId ? { seoProfileId: context.seoProfileId } : {});
769
772
  if (context.seoRunId) search.set("seoRunId", context.seoRunId);
773
+ if (context.seoRegionKey) search.set("seoRegion", context.seoRegionKey);
774
+ if (context.seoMarketKey) search.set("seoMarket", context.seoMarketKey);
770
775
  return {
771
776
  context,
772
777
  retrievedAt: (/* @__PURE__ */ new Date()).toISOString(),
773
778
  source: { label: "Open SEO data", href: `${base}/projects/${encodeURIComponent(projectName)}/seo-data?${search}` },
774
779
  overview,
775
- interpretation: "Stored third-party SEO estimates. Preserve profile, scope, locale, dataset and collection date. Estimates are not Search Console observations or AI citation and mention coverage. Missing or partial data is not zero. This read does not refresh data."
780
+ ...marketRankings ? { marketRankings } : {},
781
+ interpretation: "Stored third-party SEO estimates. Preserve profile, scope, locale, dataset and collection date. Estimates are not Search Console observations or AI citation and mention coverage. Missing or partial data is not zero. This read does not refresh data." + (marketRankings ? " Market rankings are observed Google positions of tracked non-brand queries, counted by rank band for the region or market on screen; a failed or unsearched query has no rank. Read its rows with canonry_seo_market_rankings and the same keys." : "")
776
782
  };
777
783
  }
778
784
  if (context?.view === "site-health") {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  trackIntegrationConnection
3
- } from "./chunk-RRS7U6HQ.js";
3
+ } from "./chunk-ZUXFHO4T.js";
4
4
  import {
5
5
  cliRuntimeContext
6
- } from "./chunk-ZGUR4AZM.js";
6
+ } from "./chunk-7AXVACK6.js";
7
7
 
8
8
  // src/cli-connection-telemetry.ts
9
9
  function trackCliConnection(properties) {