@canonry/canonry 7.86.0 → 7.87.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 (142) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +19 -0
  2. package/assets/assets/{AgentSetupPage-0f7Ca4IZ.js → AgentSetupPage-_ZP3F_zA.js} +4 -4
  3. package/assets/assets/{AuditHistoryPanel-BAQuFTNl.js → AuditHistoryPanel-9B0XpYsN.js} +1 -1
  4. package/assets/assets/{BacklinksPage-BK2bn9Xg.js → BacklinksPage-CsvVgXTZ.js} +1 -1
  5. package/assets/assets/{ChartPrimitives-B5L9FUj3.js → ChartPrimitives-4D5wgAn5.js} +1 -1
  6. package/assets/assets/{HistoryPage-ZBfL9nGw.js → HistoryPage-BCxpCul0.js} +1 -1
  7. package/assets/assets/{MeasurementPropertyPage-DDSOq4aU.js → MeasurementPropertyPage-BObvWjVx.js} +4 -4
  8. package/assets/assets/ProjectPage-y378tOaT.js +11 -0
  9. package/assets/assets/{RunsPage-ke0wMYLg.js → RunsPage-CfQ_kqlu.js} +1 -1
  10. package/assets/assets/{SettingsPage-Bbi-sTBk.js → SettingsPage-PIgRvqJc.js} +1 -1
  11. package/assets/assets/SiteHealthSection-DuUE1cB0.js +2 -0
  12. package/assets/assets/ToneBadge-BgTLSTKp.js +60 -0
  13. package/assets/assets/{TrafficPage-nXixENx9.js → TrafficPage-B_YunwjH.js} +1 -1
  14. package/assets/assets/TrafficSourceDetailPage-C51W87fU.js +1 -0
  15. package/assets/assets/{account-context-BmN431xn.js → account-context-CVjb3ZSn.js} +1 -1
  16. package/assets/assets/agent-trust-copy-BlpC8jo5.js +1 -0
  17. package/assets/assets/{card-DUTMWeHB.js → card-BnVez9nG.js} +1 -1
  18. package/assets/assets/{extract-error-message-BFaIHLqb.js → extract-error-message-Dqirbrl0.js} +1 -1
  19. package/assets/assets/{format-helpers-D1w2yznw.js → format-helpers-DVXZD864.js} +1 -1
  20. package/assets/assets/{index-DIHdWY7b.css → index-BOUrrC9J.css} +1 -1
  21. package/assets/assets/index-CsvEqhK4.js +60 -0
  22. package/assets/assets/query-client-CVc7wMKJ.js +1 -0
  23. package/assets/assets/react-query-CSlTSOjz.js +1 -0
  24. package/assets/assets/{react-sigma_core.esm.min-cvMDhRNS.js → react-sigma_core.esm.min-CVfGIEIE.js} +3 -3
  25. package/assets/assets/{service-CvCKbPnf.js → service-BGqeyqhZ.js} +1 -1
  26. package/assets/index.html +9 -9
  27. package/dist/{ads-7IJTHW6T.js → ads-ZUZWSIBV.js} +3 -3
  28. package/dist/{agent-4UC2X7O2.js → agent-YDS3WY7B.js} +7 -7
  29. package/dist/{agent-ask-SVPU2WQU.js → agent-ask-7VUPXTXL.js} +3 -3
  30. package/dist/{agent-conversations-PJQRY5RX.js → agent-conversations-WPEBK3BS.js} +3 -3
  31. package/dist/{agent-journeys-JOD5DQ6G.js → agent-journeys-H5CCYLNB.js} +3 -3
  32. package/dist/{agent-memory-KTMZMUYF.js → agent-memory-CNPKPIWD.js} +3 -3
  33. package/dist/{agent-providers-VEBB3WEW.js → agent-providers-U7FLJO5I.js} +3 -3
  34. package/dist/{agent-transcript-RRZJCMK2.js → agent-transcript-VY3BQNPU.js} +3 -3
  35. package/dist/{analytics-EZV4XJKR.js → analytics-PYUNO7C2.js} +3 -3
  36. package/dist/{apply-NP7ORQS4.js → apply-YNBEYC2G.js} +3 -3
  37. package/dist/{backfill-7T6VFPWT.js → backfill-LIMS34H6.js} +10 -10
  38. package/dist/{backlinks-KTEJM2IP.js → backlinks-LVHZ2MQ7.js} +3 -3
  39. package/dist/{bing-TC54HJUB.js → bing-A2MUG6AV.js} +3 -3
  40. package/dist/{bootstrap-UDSN22NT.js → bootstrap-AZYQXBHN.js} +10 -10
  41. package/dist/{cdp-IZSHF3MS.js → cdp-HCYY4SXR.js} +7 -7
  42. package/dist/{chunk-IILPHGRC.js → chunk-2AXFKYJU.js} +2 -2
  43. package/dist/{chunk-U3QNTJBP.js → chunk-2FJB3CSS.js} +1 -1
  44. package/dist/{chunk-KEIKD6JQ.js → chunk-3KK6FWDF.js} +1 -1
  45. package/dist/{chunk-STHWLBYT.js → chunk-4FWDITQG.js} +1 -1
  46. package/dist/{chunk-3K3QBKNC.js → chunk-4LNZTL7M.js} +3 -3
  47. package/dist/{chunk-Z5LJI5XK.js → chunk-6F5ULQDY.js} +4 -4
  48. package/dist/{chunk-OXI45LZP.js → chunk-BJHHD7VE.js} +2 -2
  49. package/dist/{chunk-EX6GVZAE.js → chunk-CBWGUGME.js} +2 -1
  50. package/dist/{chunk-LJ6VNMCY.js → chunk-D5V6YQXA.js} +7 -7
  51. package/dist/{chunk-CBNFWSWU.js → chunk-DOPUEXMC.js} +2 -2
  52. package/dist/{chunk-UPFWF6TF.js → chunk-EJZHL67Y.js} +4 -4
  53. package/dist/{chunk-DU4QEC65.js → chunk-EQGCGZZY.js} +261 -50
  54. package/dist/{chunk-KUVTXIFX.js → chunk-F643WELJ.js} +1913 -1743
  55. package/dist/{chunk-5WEGX3H7.js → chunk-FAMCDCVK.js} +1 -1
  56. package/dist/{chunk-5ZAQVRFL.js → chunk-G44S34CE.js} +2 -2
  57. package/dist/{chunk-UTG6UUGK.js → chunk-GBWCEOZR.js} +1 -1
  58. package/dist/{chunk-E6IZVSRY.js → chunk-GDU6IMGB.js} +2 -2
  59. package/dist/{chunk-RR76O744.js → chunk-GXTCDNX7.js} +1 -1
  60. package/dist/{chunk-JAK37YKH.js → chunk-IBGZ6D6R.js} +2 -2
  61. package/dist/{chunk-WVMWY4SE.js → chunk-ICS2WJ7H.js} +3 -3
  62. package/dist/{chunk-2J5EUXO2.js → chunk-IK7QEKKD.js} +1 -1
  63. package/dist/{chunk-X3EU4UPS.js → chunk-INH773FB.js} +3 -3
  64. package/dist/{chunk-HHMOUS26.js → chunk-ITOK75B6.js} +5 -5
  65. package/dist/{chunk-BLGYC2K7.js → chunk-JAYUWQAV.js} +1 -1
  66. package/dist/{chunk-GO4RP6XE.js → chunk-JDTKG7KJ.js} +7 -3
  67. package/dist/{chunk-ZFL5DOGJ.js → chunk-JGGDENAA.js} +395 -342
  68. package/dist/{chunk-RI2ZT3OR.js → chunk-KOBOKZXF.js} +6 -6
  69. package/dist/{chunk-4EKPEVJ2.js → chunk-L5NMS7AU.js} +5 -5
  70. package/dist/{chunk-F5SQITTJ.js → chunk-MNLAIB67.js} +1 -1
  71. package/dist/{chunk-SUSQEH2D.js → chunk-O26FQ7RI.js} +1 -1
  72. package/dist/{chunk-TTXBQCE6.js → chunk-OJKWT6U6.js} +21 -21
  73. package/dist/{chunk-VBW33U4E.js → chunk-TEQF4ZJA.js} +22 -2
  74. package/dist/{chunk-AZP37FMA.js → chunk-TN53B5AB.js} +28 -3
  75. package/dist/{chunk-MJE3SGFW.js → chunk-VDYXB6SV.js} +1 -1
  76. package/dist/{chunk-5KHF5FV5.js → chunk-YKB67YKH.js} +4 -4
  77. package/dist/{citations-TOZK6OFP.js → citations-3EZTHA65.js} +3 -3
  78. package/dist/{cli-catalog-LNWBJNOD.js → cli-catalog-CBTM3JKP.js} +3 -3
  79. package/dist/{cli-commands-3HX4JSDX.js → cli-commands-J6KWSWIS.js} +7 -7
  80. package/dist/cli.js +13 -13
  81. package/dist/{competitor-54HLL354.js → competitor-VH4TXJLT.js} +3 -3
  82. package/dist/{content-ZIGSMH5U.js → content-TSMNHXJZ.js} +3 -3
  83. package/dist/{dashboard-YJH6IQGK.js → dashboard-5QMYF4ZP.js} +6 -6
  84. package/dist/{demo-ZYK5XCP3.js → demo-KGQL5EJM.js} +1 -1
  85. package/dist/{demo-server-LZ6MWJ2S.js → demo-server-ERIR2T2N.js} +13 -12
  86. package/dist/{discover-22QKOFIM.js → discover-XTJXTKCI.js} +3 -3
  87. package/dist/{discover-eval-6IFCCH2S.js → discover-eval-IVQI5YEW.js} +3 -3
  88. package/dist/{doctor-WLLBFOJU.js → doctor-SJ4SHSQO.js} +3 -3
  89. package/dist/{evidence-7VHTWNZW.js → evidence-C6T556YH.js} +3 -3
  90. package/dist/{export-cmd-5RZ3QDFH.js → export-cmd-JQZ5ZRSI.js} +3 -3
  91. package/dist/{ga-LPI3CWY4.js → ga-W2WHVRHN.js} +3 -3
  92. package/dist/{gbp-YBOMWR75.js → gbp-3AZIV5WF.js} +3 -3
  93. package/dist/{google-N42X5FBH.js → google-3CKWPZT7.js} +4 -4
  94. package/dist/{google-marketing-SO4B7Z7L.js → google-marketing-PJBGQYYW.js} +1 -1
  95. package/dist/{health-cmd-W7RQWCEB.js → health-cmd-4JTQMCXM.js} +3 -3
  96. package/dist/{history-SDRTOIDZ.js → history-TXUJFEO2.js} +3 -3
  97. package/dist/index.js +25 -25
  98. package/dist/{init-DPXOGP3P.js → init-HOBW5K2Q.js} +12 -12
  99. package/dist/{insights-636LLPVG.js → insights-XZQO4B45.js} +3 -3
  100. package/dist/intelligence-service-2AH42Y4Q.js +16 -0
  101. package/dist/{journeys-NIXKVYA4.js → journeys-VFIV5JYV.js} +3 -3
  102. package/dist/{keys-U2JR56TX.js → keys-PV23G4LW.js} +3 -3
  103. package/dist/{keyword-GLRK2ZHR.js → keyword-D76KBIV5.js} +3 -3
  104. package/dist/{logs-ENACGWGS.js → logs-DYDZ6IEJ.js} +3 -3
  105. package/dist/{mcp-DST2XTP2.js → mcp-GAR5LDQD.js} +4 -4
  106. package/dist/mcp.js +9 -9
  107. package/dist/{measurement-plan-Y3SA4ZQC.js → measurement-plan-K24EOGMI.js} +5 -5
  108. package/dist/{notify-ZYXJQUHU.js → notify-XQHMPDQQ.js} +3 -3
  109. package/dist/{organic-evidence-NSX7VCNW.js → organic-evidence-UHHE7AO4.js} +3 -3
  110. package/dist/{overview-UO6Z64IT.js → overview-AUZ3XRS5.js} +4 -4
  111. package/dist/{project-BHXUPHQA.js → project-FUCPU2BD.js} +3 -3
  112. package/dist/{query-GDRAKEN5.js → query-HRMSXDKL.js} +3 -3
  113. package/dist/{research-YIOQ7WVP.js → research-R23XLZJ3.js} +3 -3
  114. package/dist/{results-export-KXMCAEHJ.js → results-export-N6IV3KG4.js} +3 -3
  115. package/dist/{run-6PN5GOVE.js → run-CJLG5EXH.js} +4 -4
  116. package/dist/{schedule-5B67GLAM.js → schedule-IPDCQ2I5.js} +3 -3
  117. package/dist/{search-BMVPCN2V.js → search-ZU4AKJ76.js} +3 -3
  118. package/dist/{serve-HB7DI7OC.js → serve-WF5ZXWW6.js} +26 -26
  119. package/dist/{session-3RTDTW6Z.js → session-HEDEP77R.js} +13 -13
  120. package/dist/{settings-FJEYHYRH.js → settings-4FS5NRKP.js} +3 -3
  121. package/dist/{skills-6E7IUQUO.js → skills-GSFHACGN.js} +2 -2
  122. package/dist/{snapshot-BJQ7WPJZ.js → snapshot-4NUVPDK3.js} +3 -3
  123. package/dist/{src-QU75IDHI.js → src-SJYGA7NH.js} +2 -2
  124. package/dist/{status-3GHFPN54.js → status-ASBLMFP2.js} +4 -4
  125. package/dist/{technical-aeo-76JRC66W.js → technical-aeo-QXHRBGYY.js} +3 -3
  126. package/dist/{telemetry-KB73JBDZ.js → telemetry-J2I577I3.js} +4 -4
  127. package/dist/{tools-6VWDHNPZ.js → tools-KYG67FBW.js} +11 -11
  128. package/dist/{traffic-XB7MZJ23.js → traffic-B7Q4WPOV.js} +5 -5
  129. package/dist/trends-YOLCJBNM.js +56 -0
  130. package/dist/{users-HYBG3J72.js → users-LPSCZV3M.js} +3 -3
  131. package/dist/{visibility-stats-ZDB2LMRJ.js → visibility-stats-JJQTZSSK.js} +3 -3
  132. package/dist/{wordpress-SXKR6XNT.js → wordpress-4IKDT5KT.js} +3 -3
  133. package/package.json +1 -1
  134. package/assets/assets/ProjectPage-8cVgOm5o.js +0 -11
  135. package/assets/assets/SiteHealthSection-eKxTDUE2.js +0 -2
  136. package/assets/assets/ToneBadge-WAMyKadz.js +0 -60
  137. package/assets/assets/TrafficSourceDetailPage-ir5zJU_l.js +0 -1
  138. package/assets/assets/agent-trust-copy-zfx8m-cx.js +0 -1
  139. package/assets/assets/index-C5r0VqgO.js +0 -60
  140. package/assets/assets/query-client-DrIawr39.js +0 -1
  141. package/assets/assets/react-query-DQuOVjDi.js +0 -1
  142. package/dist/intelligence-service-JRVESWU2.js +0 -16
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-UPFWF6TF.js";
8
+ } from "./chunk-EJZHL67Y.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS,
11
11
  resolveAeroSkillDir
@@ -23,18 +23,18 @@ import {
23
23
  resolveApiKeyFor,
24
24
  resolveModelForProvider,
25
25
  validateAgentProviderRegistry
26
- } from "./chunk-U3QNTJBP.js";
26
+ } from "./chunk-2FJB3CSS.js";
27
27
  import {
28
28
  CanonryMcpToolNames,
29
29
  canonryMcpTools
30
- } from "./chunk-AZP37FMA.js";
30
+ } from "./chunk-TN53B5AB.js";
31
31
  import {
32
32
  createLogger
33
- } from "./chunk-JAK37YKH.js";
33
+ } from "./chunk-IBGZ6D6R.js";
34
34
  import {
35
35
  agentToolEvents,
36
36
  llmUsageEvents
37
- } from "./chunk-SUSQEH2D.js";
37
+ } from "./chunk-O26FQ7RI.js";
38
38
  import {
39
39
  MeasurementPortfolioLists,
40
40
  SeoCapabilities,
@@ -43,7 +43,7 @@ import {
43
43
  describeError,
44
44
  validationError,
45
45
  visibilityReportRequestSchema
46
- } from "./chunk-KUVTXIFX.js";
46
+ } from "./chunk-F643WELJ.js";
47
47
 
48
48
  // src/agent/session.ts
49
49
  import fs2 from "fs";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-JAK37YKH.js";
3
+ } from "./chunk-IBGZ6D6R.js";
4
4
  import {
5
5
  addLikelyFakeAgentHits,
6
6
  correctBackgroundCallJourneys,
7
7
  mergeSplitJourneyVisitors,
8
8
  writeUnrecognizedAgentBuckets
9
- } from "./chunk-DU4QEC65.js";
9
+ } from "./chunk-EQGCGZZY.js";
10
10
  import {
11
11
  AGENT_TRUST_RULES_VERSION,
12
12
  BROWSER_SHAPED_AGENT_MARKERS,
@@ -23,7 +23,7 @@ import {
23
23
  isSelfTraffic,
24
24
  normalizeTrafficPathPattern,
25
25
  unrecognizedAgentName
26
- } from "./chunk-MJE3SGFW.js";
26
+ } from "./chunk-VDYXB6SV.js";
27
27
  import {
28
28
  RawEventSampleEventTypes,
29
29
  agentJourneyCaptureDays,
@@ -36,7 +36,7 @@ import {
36
36
  rawEventSamples,
37
37
  trafficReclassificationState,
38
38
  unrecognizedAgentEventsHourly
39
- } from "./chunk-SUSQEH2D.js";
39
+ } from "./chunk-O26FQ7RI.js";
40
40
  import {
41
41
  AI_ENGINE_DOMAINS,
42
42
  AI_ENGINE_SELF_DOMAINS,
@@ -69,7 +69,7 @@ import {
69
69
  retryAfterDelayMs,
70
70
  usageCount,
71
71
  withRetry
72
- } from "./chunk-KUVTXIFX.js";
72
+ } from "./chunk-F643WELJ.js";
73
73
 
74
74
  // ../provider-openai/src/normalize.ts
75
75
  import OpenAI from "openai";
@@ -23,7 +23,7 @@ import {
23
23
  measurementDraftUpsertGroupRequestSchema,
24
24
  measurementDraftUpsertMarketRequestSchema,
25
25
  measurementDraftUpsertTargetRequestSchema
26
- } from "./chunk-KUVTXIFX.js";
26
+ } from "./chunk-F643WELJ.js";
27
27
 
28
28
  // src/measurement-draft-actions.ts
29
29
  import { z } from "zod";
@@ -20,7 +20,7 @@ import {
20
20
  templateLinkRatio,
21
21
  templateLinkUbiquityAvailable,
22
22
  validationError
23
- } from "./chunk-KUVTXIFX.js";
23
+ } from "./chunk-F643WELJ.js";
24
24
  import {
25
25
  __export
26
26
  } from "./chunk-MLKGABMK.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  answerServiceAdapters,
3
3
  answerServiceDescriptors
4
- } from "./chunk-2J5EUXO2.js";
4
+ } from "./chunk-IK7QEKKD.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-RI2ZT3OR.js";
30
+ } from "./chunk-KOBOKZXF.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-UPFWF6TF.js";
37
+ } from "./chunk-EJZHL67Y.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-STHWLBYT.js";
56
+ } from "./chunk-4FWDITQG.js";
57
57
  import {
58
58
  claudeAdapter,
59
59
  embedQueries,
@@ -65,7 +65,7 @@ import {
65
65
  openrouterAdapter,
66
66
  perplexityAdapter,
67
67
  startTrafficReclassification
68
- } from "./chunk-4EKPEVJ2.js";
68
+ } from "./chunk-L5NMS7AU.js";
69
69
  import {
70
70
  classifyUsageSurface,
71
71
  createApiUsageTelemetry,
@@ -77,7 +77,7 @@ import {
77
77
  startOutcomeTimer,
78
78
  trackFeatureCompleted,
79
79
  trackInstallState
80
- } from "./chunk-Z5LJI5XK.js";
80
+ } from "./chunk-6F5ULQDY.js";
81
81
  import {
82
82
  isLoopbackBindHost
83
83
  } from "./chunk-TSENU4GG.js";
@@ -85,7 +85,7 @@ import {
85
85
  isApiProviderRegistrable,
86
86
  isCdpProviderRegistrable,
87
87
  registeredProviderNames
88
- } from "./chunk-KEIKD6JQ.js";
88
+ } from "./chunk-3KK6FWDF.js";
89
89
  import {
90
90
  checkLatestVersionForServer,
91
91
  getOrCreateAnonymousId,
@@ -97,17 +97,17 @@ import {
97
97
  recordDashboardEvent,
98
98
  setTelemetryPreference,
99
99
  trackEvent
100
- } from "./chunk-CBNFWSWU.js";
100
+ } from "./chunk-DOPUEXMC.js";
101
101
  import {
102
102
  createCanonryMcpServer
103
- } from "./chunk-WVMWY4SE.js";
103
+ } from "./chunk-ICS2WJ7H.js";
104
104
  import {
105
105
  CANONRY_MCP_TIERS,
106
106
  CANONRY_MCP_TOOLKIT_NAMES
107
107
  } from "./chunk-MTW37GXF.js";
108
108
  import {
109
109
  ApiClient
110
- } from "./chunk-VBW33U4E.js";
110
+ } from "./chunk-TEQF4ZJA.js";
111
111
  import {
112
112
  AGENT_PROVIDERS,
113
113
  adapterSupportsBatch,
@@ -139,21 +139,21 @@ import {
139
139
  saveConfigPatch,
140
140
  sentimentInstallReadiness,
141
141
  updateSharedProviderExecutionGate
142
- } from "./chunk-U3QNTJBP.js";
142
+ } from "./chunk-2FJB3CSS.js";
143
143
  import {
144
144
  getBundledSkillSnapshots
145
- } from "./chunk-5WEGX3H7.js";
145
+ } from "./chunk-FAMCDCVK.js";
146
146
  import {
147
147
  computeFactorAverages,
148
148
  deleteSiteCrawlGraphLayout,
149
149
  persistSiteCrawlGraphLayout,
150
150
  prepareSiteCrawlGraphLayout,
151
151
  recordedSharePct
152
- } from "./chunk-5ZAQVRFL.js";
152
+ } from "./chunk-G44S34CE.js";
153
153
  import {
154
154
  CanonryMcpToolNames,
155
155
  canonryMcpTools
156
- } from "./chunk-AZP37FMA.js";
156
+ } from "./chunk-TN53B5AB.js";
157
157
  import {
158
158
  PACKAGE_VERSION
159
159
  } from "./chunk-AOJU5LKX.js";
@@ -162,16 +162,16 @@ import {
162
162
  } from "./chunk-HGMYEDAQ.js";
163
163
  import {
164
164
  IntelligenceService
165
- } from "./chunk-HHMOUS26.js";
165
+ } from "./chunk-ITOK75B6.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
169
- } from "./chunk-BLGYC2K7.js";
169
+ } from "./chunk-JAYUWQAV.js";
170
170
  import {
171
171
  addLogListener,
172
172
  createFastifyLogger,
173
173
  createLogger
174
- } from "./chunk-JAK37YKH.js";
174
+ } from "./chunk-IBGZ6D6R.js";
175
175
  import {
176
176
  BingApiError,
177
177
  CC_CACHE_DIR,
@@ -292,7 +292,7 @@ import {
292
292
  webhookResponseReason,
293
293
  webhookTargetRefusalReason,
294
294
  writeAuditLog
295
- } from "./chunk-DU4QEC65.js";
295
+ } from "./chunk-EQGCGZZY.js";
296
296
  import {
297
297
  OperationalLogStore,
298
298
  SentimentIdempotencyConflict,
@@ -380,7 +380,7 @@ import {
380
380
  unrecognizedAgentEventsHourly,
381
381
  unrecognizedAgentNotifyState,
382
382
  usageCounters
383
- } from "./chunk-SUSQEH2D.js";
383
+ } from "./chunk-O26FQ7RI.js";
384
384
  import {
385
385
  AGENT_MEMORY_VALUE_MAX_BYTES,
386
386
  AI_ENGINE_DOMAINS,
@@ -636,7 +636,7 @@ import {
636
636
  winnabilityClassLabel,
637
637
  withRetry,
638
638
  withSkippedProviders
639
- } from "./chunk-KUVTXIFX.js";
639
+ } from "./chunk-F643WELJ.js";
640
640
 
641
641
  // src/google-marketing-runtime.ts
642
642
  import crypto2 from "crypto";
@@ -5940,7 +5940,7 @@ function nonBlank(value) {
5940
5940
  return trimmed ? trimmed : void 0;
5941
5941
  }
5942
5942
  function resolveBuildCommit(env = process.env) {
5943
- const embedded = true ? "3b679e2aa2858b763c9e81e7bff96daa466c4bea" : void 0;
5943
+ const embedded = true ? "485708a537f8d1db1356f1225a77b6052a3e7589" : void 0;
5944
5944
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5945
5945
  }
5946
5946
  function resolveInstanceIdentity(env = process.env) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-U3QNTJBP.js";
3
+ } from "./chunk-2FJB3CSS.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-KUVTXIFX.js";
39
+ } from "./chunk-F643WELJ.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -3323,6 +3323,11 @@ var getApiV1ProjectsByNameTechnicalAeoTrend = (options) => (options.client ?? cl
3323
3323
  url: "/api/v1/projects/{name}/technical-aeo/trend",
3324
3324
  ...options
3325
3325
  });
3326
+ var getApiV1ProjectsByNameTrends = (options) => (options.client ?? client).get({
3327
+ security: [{ scheme: "bearer", type: "http" }],
3328
+ url: "/api/v1/projects/{name}/trends",
3329
+ ...options
3330
+ });
3326
3331
  var getApiV1ProjectsByNameTechnicalAeoCrawl = (options) => (options.client ?? client).get({
3327
3332
  security: [{ scheme: "bearer", type: "http" }],
3328
3333
  url: "/api/v1/projects/{name}/technical-aeo/crawl",
@@ -6368,6 +6373,21 @@ var ApiClient = class {
6368
6373
  })
6369
6374
  );
6370
6375
  }
6376
+ /** One dashboard trend card: figures, their readings over the window, and each change. */
6377
+ async getTrends(project, opts) {
6378
+ return this.invoke(
6379
+ () => getApiV1ProjectsByNameTrends({
6380
+ client: this.heyClient,
6381
+ path: { name: project },
6382
+ query: {
6383
+ surface: opts.surface,
6384
+ ...opts.window ? { window: opts.window } : {},
6385
+ ...opts.startDate ? { startDate: opts.startDate } : {},
6386
+ ...opts.endDate ? { endDate: opts.endDate } : {}
6387
+ }
6388
+ })
6389
+ );
6390
+ }
6371
6391
  async getTechnicalAeoTrend(project, opts) {
6372
6392
  return this.invoke(
6373
6393
  () => getApiV1ProjectsByNameTechnicalAeoTrend({
@@ -2,11 +2,11 @@ import {
2
2
  dedupeGscSitemapUrls,
3
3
  resolveDiscoveredGscSitemapUrls,
4
4
  submitGscSitemapBatches
5
- } from "./chunk-RR76O744.js";
5
+ } from "./chunk-GXTCDNX7.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-F5SQITTJ.js";
9
+ } from "./chunk-MNLAIB67.js";
10
10
  import {
11
11
  CliError
12
12
  } from "./chunk-HGMYEDAQ.js";
@@ -96,6 +96,7 @@ import {
96
96
  measurementQueryTemplateApplyRequestSchema,
97
97
  measurementQueryTemplateUpsertRequestSchema,
98
98
  measurementQuestionResultQuerySchema,
99
+ metricsWindowSchema,
99
100
  notificationCreateRequestSchema,
100
101
  notificationEventSchema,
101
102
  operationAccess,
@@ -182,9 +183,10 @@ import {
182
183
  trafficSamplesQuerySchema,
183
184
  trafficSeriesGranularitySchema,
184
185
  trafficUnrecognizedAgentsQuerySchema,
186
+ trendSurfaceSchema,
185
187
  visibilityCompareSelectionSchema,
186
188
  visibilityReportRequestSchema
187
- } from "./chunk-KUVTXIFX.js";
189
+ } from "./chunk-F643WELJ.js";
188
190
 
189
191
  // src/mcp/tool-registry.ts
190
192
  import { z as z2 } from "zod";
@@ -967,6 +969,13 @@ var technicalAeoTrendInputSchema = z2.object({
967
969
  project: projectNameSchema,
968
970
  limit: z2.number().int().positive().max(365).optional()
969
971
  });
972
+ var trendsInputSchema = z2.object({
973
+ project: projectNameSchema,
974
+ surface: trendSurfaceSchema.describe("Which card: index-coverage (Google and Bing indexed pages by day), site-health (site score and pages checked per scan), backlinks (referring domains, linking hosts and top-10 concentration per Common Crawl release, crawler and proxy hosts left out)."),
975
+ window: metricsWindowSchema.optional().describe("Window ending on the latest reading. Defaults to 90d for index-coverage and all otherwise. Leave it out when you pass startDate or endDate."),
976
+ startDate: calendarDateSchema.optional().describe("First calendar day (YYYY-MM-DD) of your own range instead of a window."),
977
+ endDate: calendarDateSchema.optional().describe("Last calendar day (YYYY-MM-DD) of your own range instead of a window.")
978
+ });
970
979
  var crawlRunIdSchema = runIdSchema.optional().describe(
971
980
  "Historical crawl-bearing site-audit run ID. Omit for the newest scan with a crawl, complete or stopped at its budget."
972
981
  );
@@ -4233,6 +4242,22 @@ var rawCanonryMcpTools = [
4233
4242
  openApiOperations: ["GET /api/v1/projects/{name}/technical-aeo/trend"],
4234
4243
  handler: (client, input) => client.getTechnicalAeoTrend(input.project, input.limit !== void 0 ? { limit: input.limit } : void 0)
4235
4244
  }),
4245
+ defineTool({
4246
+ name: "canonry_trends",
4247
+ title: "Get a dashboard trend card",
4248
+ description: `Read the figures a dashboard tab leads with, from stored data: each figure's latest reading, its change since the first reading in the window (change.basis says from which date), and its readings over the window. Use for "are indexed pages, the site score or referring domains going up?". Dates before a figure's recordedFrom were never recorded, not zero.`,
4249
+ access: "read",
4250
+ tier: "monitoring",
4251
+ inputSchema: trendsInputSchema,
4252
+ annotations: readAnnotations(),
4253
+ openApiOperations: ["GET /api/v1/projects/{name}/trends"],
4254
+ handler: (client, input) => client.getTrends(input.project, {
4255
+ surface: input.surface,
4256
+ ...input.window ? { window: input.window } : {},
4257
+ ...input.startDate ? { startDate: input.startDate } : {},
4258
+ ...input.endDate ? { endDate: input.endDate } : {}
4259
+ })
4260
+ }),
4236
4261
  defineTool({
4237
4262
  name: "canonry_technical_aeo_crawl",
4238
4263
  title: "Get persisted Technical AEO crawl",
@@ -12,7 +12,7 @@ import {
12
12
  classifyTrafficPath,
13
13
  hostMatchesDomain,
14
14
  hostOf
15
- } from "./chunk-KUVTXIFX.js";
15
+ } from "./chunk-F643WELJ.js";
16
16
 
17
17
  // ../integration-traffic/src/agent-trust.ts
18
18
  var AGENT_TRUST_RULES_VERSION = 2;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registeredProviderNames
3
- } from "./chunk-KEIKD6JQ.js";
3
+ } from "./chunk-3KK6FWDF.js";
4
4
  import {
5
5
  configExists,
6
6
  loadConfigRaw
7
- } from "./chunk-U3QNTJBP.js";
7
+ } from "./chunk-2FJB3CSS.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-QU75IDHI.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-SJYGA7NH.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-HB7DI7OC.js");
50
+ const { serveCommand } = await import("./serve-WF5ZXWW6.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-VBW33U4E.js";
4
- import "./chunk-U3QNTJBP.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import "./chunk-HGMYEDAQ.js";
7
- import "./chunk-KUVTXIFX.js";
7
+ import "./chunk-F643WELJ.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-GO4RP6XE.js";
7
- import "./chunk-EX6GVZAE.js";
6
+ } from "./chunk-JDTKG7KJ.js";
7
+ import "./chunk-CBWGUGME.js";
8
8
  import "./chunk-Z7IUAJOF.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
- import "./chunk-KUVTXIFX.js";
10
+ import "./chunk-F643WELJ.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-ZFL5DOGJ.js";
3
+ } from "./chunk-JGGDENAA.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
5
  import "./chunk-VJWDBFSL.js";
6
- import "./chunk-3K3QBKNC.js";
6
+ import "./chunk-4LNZTL7M.js";
7
7
  import "./chunk-TSENU4GG.js";
8
- import "./chunk-VBW33U4E.js";
9
- import "./chunk-U3QNTJBP.js";
10
- import "./chunk-EX6GVZAE.js";
8
+ import "./chunk-TEQF4ZJA.js";
9
+ import "./chunk-2FJB3CSS.js";
10
+ import "./chunk-CBWGUGME.js";
11
11
  import "./chunk-Z7IUAJOF.js";
12
- import "./chunk-F5SQITTJ.js";
12
+ import "./chunk-MNLAIB67.js";
13
13
  import "./chunk-AOJU5LKX.js";
14
14
  import "./chunk-HGMYEDAQ.js";
15
- import "./chunk-KUVTXIFX.js";
15
+ import "./chunk-F643WELJ.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-ZFL5DOGJ.js";
4
+ } from "./chunk-JGGDENAA.js";
5
5
  import "./chunk-6GO5VVAC.js";
6
6
  import {
7
7
  buildSetupState,
8
8
  runPendingServeHandoff
9
- } from "./chunk-5KHF5FV5.js";
9
+ } from "./chunk-YKB67YKH.js";
10
10
  import "./chunk-VJWDBFSL.js";
11
- import "./chunk-3K3QBKNC.js";
11
+ import "./chunk-4LNZTL7M.js";
12
12
  import "./chunk-TSENU4GG.js";
13
- import "./chunk-KEIKD6JQ.js";
13
+ import "./chunk-3KK6FWDF.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-CBNFWSWU.js";
27
+ } from "./chunk-DOPUEXMC.js";
28
28
  import {
29
29
  autoSyncSkills,
30
30
  formatAutoSyncNotice
31
- } from "./chunk-X3EU4UPS.js";
32
- import "./chunk-VBW33U4E.js";
33
- import "./chunk-U3QNTJBP.js";
31
+ } from "./chunk-INH773FB.js";
32
+ import "./chunk-TEQF4ZJA.js";
33
+ import "./chunk-2FJB3CSS.js";
34
34
  import {
35
35
  accessFilterFromArgs,
36
36
  dispatchRegisteredCommand,
37
37
  printCliCatalog
38
- } from "./chunk-GO4RP6XE.js";
38
+ } from "./chunk-JDTKG7KJ.js";
39
39
  import {
40
40
  resolveCliAccess
41
- } from "./chunk-EX6GVZAE.js";
41
+ } from "./chunk-CBWGUGME.js";
42
42
  import "./chunk-Z7IUAJOF.js";
43
- import "./chunk-5WEGX3H7.js";
44
- import "./chunk-F5SQITTJ.js";
43
+ import "./chunk-FAMCDCVK.js";
44
+ import "./chunk-MNLAIB67.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-KUVTXIFX.js";
55
+ } from "./chunk-F643WELJ.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-VBW33U4E.js";
4
- import "./chunk-U3QNTJBP.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.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-KUVTXIFX.js";
24
+ } from "./chunk-F643WELJ.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-VBW33U4E.js";
4
- import "./chunk-U3QNTJBP.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.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-KUVTXIFX.js";
17
+ } from "./chunk-F643WELJ.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-U3QNTJBP.js";
4
+ } from "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  isMachineFormat
7
7
  } from "./chunk-HGMYEDAQ.js";
8
8
  import {
9
9
  anyUsersExist
10
- } from "./chunk-DU4QEC65.js";
11
- import "./chunk-MJE3SGFW.js";
12
- import "./chunk-UTG6UUGK.js";
10
+ } from "./chunk-EQGCGZZY.js";
11
+ import "./chunk-VDYXB6SV.js";
12
+ import "./chunk-GBWCEOZR.js";
13
13
  import {
14
14
  createClient
15
- } from "./chunk-SUSQEH2D.js";
16
- import "./chunk-KUVTXIFX.js";
15
+ } from "./chunk-O26FQ7RI.js";
16
+ import "./chunk-F643WELJ.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-LZ6MWJ2S.js");
43
+ const { createDemoServer } = await import("./demo-server-ERIR2T2N.js");
44
44
  const app = await createDemoServer({ trustProxy });
45
45
  let stopping = false;
46
46
  const stop = () => {