@canonry/canonry 7.85.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 (145) hide show
  1. package/assets/agent-workspace/skills/aero/references/ai-traffic-tracking.md +7 -4
  2. package/assets/agent-workspace/skills/canonry/references/ai-traffic-tracking.md +7 -4
  3. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +22 -1
  4. package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +5 -3
  5. package/assets/assets/{AgentSetupPage-NdqmQkYa.js → AgentSetupPage-_ZP3F_zA.js} +1 -1
  6. package/assets/assets/{AuditHistoryPanel-CuqdFCb9.js → AuditHistoryPanel-9B0XpYsN.js} +1 -1
  7. package/assets/assets/{BacklinksPage-CVjZiG1i.js → BacklinksPage-CsvVgXTZ.js} +1 -1
  8. package/assets/assets/{ChartPrimitives-B5L9FUj3.js → ChartPrimitives-4D5wgAn5.js} +1 -1
  9. package/assets/assets/{HistoryPage-DRvdgemW.js → HistoryPage-BCxpCul0.js} +1 -1
  10. package/assets/assets/{MeasurementPropertyPage-Bc5EpJFV.js → MeasurementPropertyPage-BObvWjVx.js} +4 -4
  11. package/assets/assets/ProjectPage-y378tOaT.js +11 -0
  12. package/assets/assets/{RunsPage-B6_o81G3.js → RunsPage-CfQ_kqlu.js} +1 -1
  13. package/assets/assets/{SettingsPage-DjmVapHO.js → SettingsPage-PIgRvqJc.js} +1 -1
  14. package/assets/assets/SiteHealthSection-DuUE1cB0.js +2 -0
  15. package/assets/assets/ToneBadge-BgTLSTKp.js +60 -0
  16. package/assets/assets/{TrafficPage-BvbjxOw3.js → TrafficPage-B_YunwjH.js} +1 -1
  17. package/assets/assets/{TrafficSourceDetailPage-BGJwxS_Q.js → TrafficSourceDetailPage-C51W87fU.js} +1 -1
  18. package/assets/assets/{account-context-D7M4W4wP.js → account-context-CVjb3ZSn.js} +1 -1
  19. package/assets/assets/{agent-trust-copy-WXXeDvDs.js → agent-trust-copy-BlpC8jo5.js} +1 -1
  20. package/assets/assets/{card-DULVRmzI.js → card-BnVez9nG.js} +1 -1
  21. package/assets/assets/{extract-error-message-B9-6WgLm.js → extract-error-message-Dqirbrl0.js} +1 -1
  22. package/assets/assets/{format-helpers-Cgq0VzXz.js → format-helpers-DVXZD864.js} +1 -1
  23. package/assets/assets/index-BOUrrC9J.css +1 -0
  24. package/assets/assets/index-CsvEqhK4.js +60 -0
  25. package/assets/assets/query-client-CVc7wMKJ.js +1 -0
  26. package/assets/assets/react-query-CSlTSOjz.js +1 -0
  27. package/assets/assets/{react-sigma_core.esm.min-CR09uPhZ.js → react-sigma_core.esm.min-CVfGIEIE.js} +3 -3
  28. package/assets/assets/{service-Bu-7icpb.js → service-BGqeyqhZ.js} +1 -1
  29. package/assets/index.html +9 -9
  30. package/dist/{ads-ETZIGLL5.js → ads-ZUZWSIBV.js} +3 -3
  31. package/dist/{agent-WG2FUC7C.js → agent-YDS3WY7B.js} +7 -7
  32. package/dist/{agent-ask-775XBFOH.js → agent-ask-7VUPXTXL.js} +3 -3
  33. package/dist/{agent-conversations-AYZ3LQJQ.js → agent-conversations-WPEBK3BS.js} +3 -3
  34. package/dist/{agent-journeys-GWNZG73C.js → agent-journeys-H5CCYLNB.js} +3 -3
  35. package/dist/{agent-memory-E5MRRS5P.js → agent-memory-CNPKPIWD.js} +3 -3
  36. package/dist/{agent-providers-DEQZWO2M.js → agent-providers-U7FLJO5I.js} +3 -3
  37. package/dist/{agent-transcript-4AKVVHQC.js → agent-transcript-VY3BQNPU.js} +3 -3
  38. package/dist/{analytics-HSLTWKDA.js → analytics-PYUNO7C2.js} +3 -3
  39. package/dist/{apply-4GD7VGG7.js → apply-YNBEYC2G.js} +3 -3
  40. package/dist/{backfill-LNE2BW34.js → backfill-LIMS34H6.js} +10 -10
  41. package/dist/{backlinks-TGE3DWA2.js → backlinks-LVHZ2MQ7.js} +3 -3
  42. package/dist/{bing-56GNRC55.js → bing-A2MUG6AV.js} +3 -3
  43. package/dist/{bootstrap-42XCWZTS.js → bootstrap-AZYQXBHN.js} +10 -10
  44. package/dist/{cdp-UODIMKE3.js → cdp-HCYY4SXR.js} +7 -7
  45. package/dist/{chunk-OS5BVALI.js → chunk-2AXFKYJU.js} +2 -2
  46. package/dist/{chunk-DWK6NIJF.js → chunk-2FJB3CSS.js} +1 -1
  47. package/dist/{chunk-PQWZCAVS.js → chunk-3KK6FWDF.js} +1 -1
  48. package/dist/{chunk-BQTXXXUG.js → chunk-4FWDITQG.js} +1 -1
  49. package/dist/{chunk-Z53CKLDS.js → chunk-4LNZTL7M.js} +3 -3
  50. package/dist/{chunk-ZXMDIWW6.js → chunk-6F5ULQDY.js} +4 -4
  51. package/dist/{chunk-VFSHZHZS.js → chunk-BJHHD7VE.js} +2 -2
  52. package/dist/{chunk-4KK3OTHE.js → chunk-CBWGUGME.js} +2 -1
  53. package/dist/{chunk-KBLMQDUZ.js → chunk-D5V6YQXA.js} +7 -7
  54. package/dist/{chunk-X7XKMARG.js → chunk-DOPUEXMC.js} +2 -2
  55. package/dist/{chunk-UMEQ7EYN.js → chunk-EJZHL67Y.js} +4 -4
  56. package/dist/{chunk-JVO5GQZH.js → chunk-EQGCGZZY.js} +271 -60
  57. package/dist/{chunk-KNKOTLVW.js → chunk-F643WELJ.js} +1942 -1752
  58. package/dist/{chunk-GR7VVRNN.js → chunk-FAMCDCVK.js} +1 -1
  59. package/dist/{chunk-RCAB7M6A.js → chunk-G44S34CE.js} +2 -2
  60. package/dist/{chunk-PX2KVGOJ.js → chunk-GBWCEOZR.js} +1 -1
  61. package/dist/{chunk-TPUBPXBN.js → chunk-GDU6IMGB.js} +2 -2
  62. package/dist/{chunk-OHDSI5XS.js → chunk-GXTCDNX7.js} +1 -1
  63. package/dist/{chunk-6SGHSSWQ.js → chunk-IBGZ6D6R.js} +2 -2
  64. package/dist/{chunk-NY252PIY.js → chunk-ICS2WJ7H.js} +3 -3
  65. package/dist/{chunk-AICFUZ6X.js → chunk-IK7QEKKD.js} +1 -1
  66. package/dist/{chunk-IOW23XNK.js → chunk-INH773FB.js} +3 -3
  67. package/dist/{chunk-2O5XBKEO.js → chunk-ITOK75B6.js} +5 -5
  68. package/dist/{chunk-SS33RWKG.js → chunk-JAYUWQAV.js} +1 -1
  69. package/dist/{chunk-5NEZO3SC.js → chunk-JDTKG7KJ.js} +7 -3
  70. package/dist/{chunk-C2H5TPKD.js → chunk-JGGDENAA.js} +398 -344
  71. package/dist/{chunk-TVZMFCX2.js → chunk-KOBOKZXF.js} +6 -6
  72. package/dist/{chunk-2X6UAPAC.js → chunk-L5NMS7AU.js} +5 -5
  73. package/dist/{chunk-QEATYB7C.js → chunk-MNLAIB67.js} +1 -1
  74. package/dist/{chunk-L5R5S57T.js → chunk-O26FQ7RI.js} +1 -1
  75. package/dist/{chunk-YDC2V5FQ.js → chunk-OJKWT6U6.js} +21 -21
  76. package/dist/{chunk-UMV4HYHD.js → chunk-TEQF4ZJA.js} +22 -2
  77. package/dist/{chunk-Q7354YI3.js → chunk-TN53B5AB.js} +28 -3
  78. package/dist/{chunk-2R6WI237.js → chunk-VDYXB6SV.js} +1 -1
  79. package/dist/{chunk-D45AMUYA.js → chunk-YKB67YKH.js} +4 -4
  80. package/dist/{citations-RXBPR5MX.js → citations-3EZTHA65.js} +3 -3
  81. package/dist/{cli-catalog-QVCJWPCI.js → cli-catalog-CBTM3JKP.js} +3 -3
  82. package/dist/{cli-commands-ZXR4Z2RW.js → cli-commands-J6KWSWIS.js} +7 -7
  83. package/dist/cli.js +13 -13
  84. package/dist/{competitor-MDNNHRSD.js → competitor-VH4TXJLT.js} +3 -3
  85. package/dist/{content-D3JZZQ64.js → content-TSMNHXJZ.js} +3 -3
  86. package/dist/{dashboard-5S2A46GM.js → dashboard-5QMYF4ZP.js} +6 -6
  87. package/dist/{demo-DQHWRIKR.js → demo-KGQL5EJM.js} +1 -1
  88. package/dist/{demo-server-FY2XBSD2.js → demo-server-ERIR2T2N.js} +13 -12
  89. package/dist/{discover-NVNWHOTZ.js → discover-XTJXTKCI.js} +3 -3
  90. package/dist/{discover-eval-CJB6GYUS.js → discover-eval-IVQI5YEW.js} +3 -3
  91. package/dist/{doctor-DLSKNC4W.js → doctor-SJ4SHSQO.js} +3 -3
  92. package/dist/{evidence-QNJULIXM.js → evidence-C6T556YH.js} +3 -3
  93. package/dist/{export-cmd-Z2YG2WLK.js → export-cmd-JQZ5ZRSI.js} +3 -3
  94. package/dist/{ga-RSNHBP2B.js → ga-W2WHVRHN.js} +3 -3
  95. package/dist/{gbp-ZEV62LSZ.js → gbp-3AZIV5WF.js} +3 -3
  96. package/dist/{google-RZHEIKW5.js → google-3CKWPZT7.js} +4 -4
  97. package/dist/{google-marketing-DYQXPTD3.js → google-marketing-PJBGQYYW.js} +1 -1
  98. package/dist/{health-cmd-6ATPYUYG.js → health-cmd-4JTQMCXM.js} +3 -3
  99. package/dist/{history-KLX6XRY4.js → history-TXUJFEO2.js} +3 -3
  100. package/dist/index.d.ts +90 -90
  101. package/dist/index.js +25 -25
  102. package/dist/{init-5BALV6SU.js → init-HOBW5K2Q.js} +12 -12
  103. package/dist/{insights-ARCEFFK5.js → insights-XZQO4B45.js} +3 -3
  104. package/dist/intelligence-service-2AH42Y4Q.js +16 -0
  105. package/dist/{journeys-WVRQRZQJ.js → journeys-VFIV5JYV.js} +21 -12
  106. package/dist/{keys-5KAJFRZZ.js → keys-PV23G4LW.js} +3 -3
  107. package/dist/{keyword-PTUH3TFD.js → keyword-D76KBIV5.js} +3 -3
  108. package/dist/{logs-NM7ACXGQ.js → logs-DYDZ6IEJ.js} +3 -3
  109. package/dist/{mcp-ALRQXYL3.js → mcp-GAR5LDQD.js} +4 -4
  110. package/dist/mcp.js +9 -9
  111. package/dist/{measurement-plan-T52JHK2J.js → measurement-plan-K24EOGMI.js} +5 -5
  112. package/dist/{notify-MJBMRDXD.js → notify-XQHMPDQQ.js} +3 -3
  113. package/dist/{organic-evidence-ZUCQFWD5.js → organic-evidence-UHHE7AO4.js} +3 -3
  114. package/dist/{overview-74IHPU2A.js → overview-AUZ3XRS5.js} +4 -4
  115. package/dist/{project-DKQOPMH6.js → project-FUCPU2BD.js} +3 -3
  116. package/dist/{query-YDJ5T46L.js → query-HRMSXDKL.js} +3 -3
  117. package/dist/{research-5DU6DFZW.js → research-R23XLZJ3.js} +3 -3
  118. package/dist/{results-export-EDVVXKVW.js → results-export-N6IV3KG4.js} +3 -3
  119. package/dist/{run-HRHGSIYE.js → run-CJLG5EXH.js} +4 -4
  120. package/dist/{schedule-GZVKQGMP.js → schedule-IPDCQ2I5.js} +3 -3
  121. package/dist/{search-M37GRKVC.js → search-ZU4AKJ76.js} +3 -3
  122. package/dist/{serve-DW6PPZPJ.js → serve-WF5ZXWW6.js} +26 -26
  123. package/dist/{session-H427H2SK.js → session-HEDEP77R.js} +13 -13
  124. package/dist/{settings-WGS7GP7C.js → settings-4FS5NRKP.js} +3 -3
  125. package/dist/{skills-CDDUPMAU.js → skills-GSFHACGN.js} +2 -2
  126. package/dist/{snapshot-5MAK7PWE.js → snapshot-4NUVPDK3.js} +3 -3
  127. package/dist/{src-FEV4KYXN.js → src-SJYGA7NH.js} +2 -2
  128. package/dist/{status-EHFOYTXQ.js → status-ASBLMFP2.js} +4 -4
  129. package/dist/{technical-aeo-KVY4RQWT.js → technical-aeo-QXHRBGYY.js} +3 -3
  130. package/dist/{telemetry-7XRRIHVC.js → telemetry-J2I577I3.js} +4 -4
  131. package/dist/{tools-EHONHGB6.js → tools-KYG67FBW.js} +11 -11
  132. package/dist/{traffic-TBR6GOWN.js → traffic-B7Q4WPOV.js} +5 -5
  133. package/dist/trends-YOLCJBNM.js +56 -0
  134. package/dist/{users-YQS4X47Q.js → users-LPSCZV3M.js} +3 -3
  135. package/dist/{visibility-stats-JXIOSJXC.js → visibility-stats-JJQTZSSK.js} +3 -3
  136. package/dist/{wordpress-HVOLEPQY.js → wordpress-4IKDT5KT.js} +3 -3
  137. package/package.json +1 -1
  138. package/assets/assets/ProjectPage-CGGBSiK7.js +0 -11
  139. package/assets/assets/SiteHealthSection-BPPB0D9D.js +0 -2
  140. package/assets/assets/ToneBadge-DwUBSAjL.js +0 -60
  141. package/assets/assets/index-A-4JN4Pv.js +0 -60
  142. package/assets/assets/index-BnmWwrZA.css +0 -1
  143. package/assets/assets/query-client-1Q6EwPba.js +0 -1
  144. package/assets/assets/react-query-D0OiMBt3.js +0 -1
  145. package/dist/intelligence-service-YJFZ6IBI.js +0 -16
package/dist/index.js CHANGED
@@ -3,39 +3,39 @@ import {
3
3
  createGoogleMarketingCredentialStore,
4
4
  createGoogleMarketingRuntime,
5
5
  createServer
6
- } from "./chunk-YDC2V5FQ.js";
7
- import "./chunk-AICFUZ6X.js";
8
- import "./chunk-TVZMFCX2.js";
9
- import "./chunk-UMEQ7EYN.js";
6
+ } from "./chunk-OJKWT6U6.js";
7
+ import "./chunk-IK7QEKKD.js";
8
+ import "./chunk-KOBOKZXF.js";
9
+ import "./chunk-EJZHL67Y.js";
10
10
  import "./chunk-ELCLGWUT.js";
11
11
  import "./chunk-XEBKF4N5.js";
12
- import "./chunk-BQTXXXUG.js";
13
- import "./chunk-2X6UAPAC.js";
14
- import "./chunk-ZXMDIWW6.js";
12
+ import "./chunk-4FWDITQG.js";
13
+ import "./chunk-L5NMS7AU.js";
14
+ import "./chunk-6F5ULQDY.js";
15
15
  import "./chunk-TSENU4GG.js";
16
- import "./chunk-PQWZCAVS.js";
17
- import "./chunk-X7XKMARG.js";
18
- import "./chunk-NY252PIY.js";
16
+ import "./chunk-3KK6FWDF.js";
17
+ import "./chunk-DOPUEXMC.js";
18
+ import "./chunk-ICS2WJ7H.js";
19
19
  import "./chunk-MTW37GXF.js";
20
- import "./chunk-UMV4HYHD.js";
20
+ import "./chunk-TEQF4ZJA.js";
21
21
  import {
22
22
  loadConfig
23
- } from "./chunk-DWK6NIJF.js";
24
- import "./chunk-GR7VVRNN.js";
25
- import "./chunk-RCAB7M6A.js";
26
- import "./chunk-Q7354YI3.js";
27
- import "./chunk-OHDSI5XS.js";
28
- import "./chunk-QEATYB7C.js";
23
+ } from "./chunk-2FJB3CSS.js";
24
+ import "./chunk-FAMCDCVK.js";
25
+ import "./chunk-G44S34CE.js";
26
+ import "./chunk-TN53B5AB.js";
27
+ import "./chunk-GXTCDNX7.js";
28
+ import "./chunk-MNLAIB67.js";
29
29
  import "./chunk-AOJU5LKX.js";
30
30
  import "./chunk-HGMYEDAQ.js";
31
- import "./chunk-2O5XBKEO.js";
32
- import "./chunk-SS33RWKG.js";
33
- import "./chunk-6SGHSSWQ.js";
34
- import "./chunk-JVO5GQZH.js";
35
- import "./chunk-2R6WI237.js";
36
- import "./chunk-PX2KVGOJ.js";
37
- import "./chunk-L5R5S57T.js";
38
- import "./chunk-KNKOTLVW.js";
31
+ import "./chunk-ITOK75B6.js";
32
+ import "./chunk-JAYUWQAV.js";
33
+ import "./chunk-IBGZ6D6R.js";
34
+ import "./chunk-EQGCGZZY.js";
35
+ import "./chunk-VDYXB6SV.js";
36
+ import "./chunk-GBWCEOZR.js";
37
+ import "./chunk-O26FQ7RI.js";
38
+ import "./chunk-F643WELJ.js";
39
39
  import "./chunk-MLKGABMK.js";
40
40
  export {
41
41
  GoogleMarketingRuntimeError,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  installMcp
3
- } from "./chunk-VFSHZHZS.js";
3
+ } from "./chunk-BJHHD7VE.js";
4
4
  import {
5
5
  trackCliConnection
6
- } from "./chunk-TPUBPXBN.js";
6
+ } from "./chunk-GDU6IMGB.js";
7
7
  import {
8
8
  buildSetupState,
9
9
  queueServeHandoff
10
- } from "./chunk-D45AMUYA.js";
10
+ } from "./chunk-YKB67YKH.js";
11
11
  import "./chunk-VJWDBFSL.js";
12
- import "./chunk-ZXMDIWW6.js";
13
- import "./chunk-PQWZCAVS.js";
12
+ import "./chunk-6F5ULQDY.js";
13
+ import "./chunk-3KK6FWDF.js";
14
14
  import {
15
15
  cliRuntimeContext,
16
16
  installAttribution,
@@ -18,8 +18,8 @@ import {
18
18
  recordInstallRef,
19
19
  showFirstRunNotice,
20
20
  trackEvent
21
- } from "./chunk-X7XKMARG.js";
22
- import "./chunk-UMV4HYHD.js";
21
+ } from "./chunk-DOPUEXMC.js";
22
+ import "./chunk-TEQF4ZJA.js";
23
23
  import {
24
24
  configExists,
25
25
  getBootstrapEnv,
@@ -27,24 +27,24 @@ import {
27
27
  getConfigPath,
28
28
  saveConfig,
29
29
  withBootstrapProviderDefaults
30
- } from "./chunk-DWK6NIJF.js";
30
+ } from "./chunk-2FJB3CSS.js";
31
31
  import {
32
32
  installSkills
33
- } from "./chunk-GR7VVRNN.js";
33
+ } from "./chunk-FAMCDCVK.js";
34
34
  import "./chunk-AOJU5LKX.js";
35
35
  import {
36
36
  CliError,
37
37
  isMachineFormat
38
38
  } from "./chunk-HGMYEDAQ.js";
39
- import "./chunk-PX2KVGOJ.js";
39
+ import "./chunk-GBWCEOZR.js";
40
40
  import {
41
41
  apiKeys,
42
42
  createClient,
43
43
  migrate
44
- } from "./chunk-L5R5S57T.js";
44
+ } from "./chunk-O26FQ7RI.js";
45
45
  import {
46
46
  describeError
47
- } from "./chunk-KNKOTLVW.js";
47
+ } from "./chunk-F643WELJ.js";
48
48
  import "./chunk-MLKGABMK.js";
49
49
 
50
50
  // src/commands/init.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -9,7 +9,7 @@ import "./chunk-AOJU5LKX.js";
9
9
  import {
10
10
  isMachineFormat
11
11
  } from "./chunk-HGMYEDAQ.js";
12
- import "./chunk-KNKOTLVW.js";
12
+ import "./chunk-F643WELJ.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/insights.ts
@@ -0,0 +1,16 @@
1
+ import {
2
+ HISTORY_WINDOW_RUNS,
3
+ IntelligenceService
4
+ } from "./chunk-ITOK75B6.js";
5
+ import "./chunk-JAYUWQAV.js";
6
+ import "./chunk-IBGZ6D6R.js";
7
+ import "./chunk-EQGCGZZY.js";
8
+ import "./chunk-VDYXB6SV.js";
9
+ import "./chunk-GBWCEOZR.js";
10
+ import "./chunk-O26FQ7RI.js";
11
+ import "./chunk-F643WELJ.js";
12
+ import "./chunk-MLKGABMK.js";
13
+ export {
14
+ HISTORY_WINDOW_RUNS,
15
+ IntelligenceService
16
+ };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -13,12 +13,13 @@ import {
13
13
  import {
14
14
  JOURNEY_MAX_REQUESTS_PER_VISITOR_DAY,
15
15
  JourneyEventFilters,
16
+ formatDayDuration,
16
17
  formatPercent,
17
18
  formatValidationIssues,
18
19
  journeyDetailQuerySchema,
19
20
  journeySummaryQuerySchema,
20
21
  journeysQuerySchema
21
- } from "./chunk-KNKOTLVW.js";
22
+ } from "./chunk-F643WELJ.js";
22
23
  import "./chunk-MLKGABMK.js";
23
24
 
24
25
  // src/commands/journeys.ts
@@ -41,7 +42,7 @@ function entryLabel(visit) {
41
42
  function printPartialSources(sources) {
42
43
  for (const source of sources) console.log(`Partial source ${source.sourceId} (${source.sourceType}): ${source.reason}`);
43
44
  }
44
- var UA_NOTE = "Visitors keyed by user agent only (sources without an IP, such as Vercel) can merge different people on the same device and browser version.";
45
+ var UA_NOTE = "Visitors keyed by user agent only (sources without an IP, such as Vercel) can merge different people on the same device and browser version, so visitor and return figures leave them out.";
45
46
  async function journeysSummary(project, opts) {
46
47
  const query = parse(journeySummaryQuerySchema, compact({ since: opts.since, until: opts.until }));
47
48
  const result = await createApiClient().journeysSummary(project, query);
@@ -50,14 +51,21 @@ async function journeysSummary(project, opts) {
50
51
  return;
51
52
  }
52
53
  console.log(`AI visitor journeys for "${project}", first AI visit ${day(result.windowStart)} to ${day(result.windowEnd)}`);
53
- console.log(`AI visitors: ${result.aiVisitors} (IP and user agent ${result.keyBasis.ipUa}, user agent only ${result.keyBasis.ua})`);
54
- console.log(`AI visits: ${result.aiVisits}`);
55
- const rate = formatPercent(result.returnRate);
56
- const median = result.medianDaysToReturn === null ? "" : `, median ${result.medianDaysToReturn.toFixed(1)} days to return`;
57
- console.log(`Came back later: ${result.returningVisitors} (${rate})${median}`);
58
- const via = Object.entries(result.returnedVia).filter(([, n]) => n > 0).sort((a, b) => b[1] - a[1]);
59
- if (via.length > 0) console.log(`Later visits by entry: ${via.map(([cls, n]) => `${cls} ${n}`).join(", ")}`);
60
- for (const row of result.byEngine) console.log(` ${row.engine}: ${row.visitors} visitors, ${row.returningVisitors} came back`);
54
+ if (result.aiVisitors === null || result.returningVisitors === null || result.returnedVia === null) {
55
+ console.log(`AI visitors: not measurable (all ${result.keyBasis.ua} are matched by user agent only)`);
56
+ console.log(`AI visits: ${result.aiVisits}`);
57
+ console.log("Came back later: not measurable");
58
+ } else {
59
+ const uncounted = result.keyBasis.ua > 0 ? `, ${result.keyBasis.ua} more matched by user agent only are not counted` : "";
60
+ console.log(`AI visitors: ${result.aiVisitors} (matched by IP and user agent${uncounted})`);
61
+ console.log(`AI visits: ${result.aiVisits}`);
62
+ const rate = formatPercent(result.returnRate);
63
+ const median = result.medianDaysToReturn === null ? "" : `, median ${formatDayDuration(result.medianDaysToReturn)} to return`;
64
+ console.log(`Came back later: ${result.returningVisitors} (${rate})${median}`);
65
+ const via = Object.entries(result.returnedVia).filter(([, n]) => n > 0).sort((a, b) => b[1] - a[1]);
66
+ if (via.length > 0) console.log(`Later visits by entry: ${via.map(([cls, n]) => `${cls} ${n}`).join(", ")}`);
67
+ for (const row of result.byEngine) console.log(` ${row.engine}: ${row.visitors} visitors, ${row.returningVisitors} came back`);
68
+ }
61
69
  console.log(`Visits are kept for ${result.lookbackDays} days after each AI visit. ${result.keyBasis.ua > 0 ? UA_NOTE : ""}`.trim());
62
70
  printPartialSources(result.partialSources);
63
71
  }
@@ -67,6 +75,7 @@ async function journeysList(project, opts) {
67
75
  until: opts.until,
68
76
  engine: opts.engine,
69
77
  returned: opts.returned === void 0 ? void 0 : String(opts.returned),
78
+ keyBasis: opts.keyBasis,
70
79
  limit: opts.limit,
71
80
  offset: opts.offset
72
81
  }));
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  READ_ONLY_SCOPE,
15
15
  formatIsoDate
16
- } from "./chunk-KNKOTLVW.js";
16
+ } from "./chunk-F643WELJ.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
 
19
19
  // src/commands/keys.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -10,7 +10,7 @@ import {
10
10
  CliError,
11
11
  isMachineFormat
12
12
  } from "./chunk-HGMYEDAQ.js";
13
- import "./chunk-KNKOTLVW.js";
13
+ import "./chunk-F643WELJ.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
 
16
16
  // src/commands/keyword.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  isMachineFormat,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  logQuerySchema
12
- } from "./chunk-KNKOTLVW.js";
12
+ } from "./chunk-F643WELJ.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/logs.ts
@@ -3,13 +3,13 @@ import {
3
3
  printMcpConfig,
4
4
  renderClientSnippet,
5
5
  showMcpProfile
6
- } from "./chunk-VFSHZHZS.js";
6
+ } from "./chunk-BJHHD7VE.js";
7
7
  import "./chunk-VJWDBFSL.js";
8
- import "./chunk-UMV4HYHD.js";
9
- import "./chunk-DWK6NIJF.js";
8
+ import "./chunk-TEQF4ZJA.js";
9
+ import "./chunk-2FJB3CSS.js";
10
10
  import "./chunk-AOJU5LKX.js";
11
11
  import "./chunk-HGMYEDAQ.js";
12
- import "./chunk-KNKOTLVW.js";
12
+ import "./chunk-F643WELJ.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
  export {
15
15
  installMcp,
package/dist/mcp.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  autoSyncSkills
3
- } from "./chunk-IOW23XNK.js";
3
+ } from "./chunk-INH773FB.js";
4
4
  import {
5
5
  createCanonryMcpServer
6
- } from "./chunk-NY252PIY.js";
6
+ } from "./chunk-ICS2WJ7H.js";
7
7
  import "./chunk-MTW37GXF.js";
8
8
  import {
9
9
  createApiClient
10
- } from "./chunk-UMV4HYHD.js";
11
- import "./chunk-DWK6NIJF.js";
12
- import "./chunk-GR7VVRNN.js";
13
- import "./chunk-Q7354YI3.js";
14
- import "./chunk-OHDSI5XS.js";
15
- import "./chunk-QEATYB7C.js";
10
+ } from "./chunk-TEQF4ZJA.js";
11
+ import "./chunk-2FJB3CSS.js";
12
+ import "./chunk-FAMCDCVK.js";
13
+ import "./chunk-TN53B5AB.js";
14
+ import "./chunk-GXTCDNX7.js";
15
+ import "./chunk-MNLAIB67.js";
16
16
  import "./chunk-AOJU5LKX.js";
17
17
  import "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  describeError,
20
20
  isReadOnlyKey,
21
21
  updateCheckEnvOptOut
22
- } from "./chunk-KNKOTLVW.js";
22
+ } from "./chunk-F643WELJ.js";
23
23
  import "./chunk-MLKGABMK.js";
24
24
 
25
25
  // src/mcp/cli.ts
@@ -14,14 +14,14 @@ import {
14
14
  showMeasurementProperty,
15
15
  showMeasurementPropertyEvidence,
16
16
  showMeasurementReport
17
- } from "./chunk-Z53CKLDS.js";
18
- import "./chunk-UMV4HYHD.js";
19
- import "./chunk-DWK6NIJF.js";
17
+ } from "./chunk-4LNZTL7M.js";
18
+ import "./chunk-TEQF4ZJA.js";
19
+ import "./chunk-2FJB3CSS.js";
20
20
  import "./chunk-Z7IUAJOF.js";
21
- import "./chunk-QEATYB7C.js";
21
+ import "./chunk-MNLAIB67.js";
22
22
  import "./chunk-AOJU5LKX.js";
23
23
  import "./chunk-HGMYEDAQ.js";
24
- import "./chunk-KNKOTLVW.js";
24
+ import "./chunk-F643WELJ.js";
25
25
  import "./chunk-MLKGABMK.js";
26
26
  export {
27
27
  ADVANCED_MEASUREMENT_OPERATIONS,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HGMYEDAQ.js";
13
13
  import {
14
14
  notificationEventSchema
15
- } from "./chunk-KNKOTLVW.js";
15
+ } from "./chunk-F643WELJ.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
 
18
18
  // src/commands/notify.ts
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  isMachineFormat
8
8
  } from "./chunk-HGMYEDAQ.js";
9
- import "./chunk-KNKOTLVW.js";
9
+ import "./chunk-F643WELJ.js";
10
10
  import "./chunk-MLKGABMK.js";
11
11
 
12
12
  // src/commands/organic-evidence.ts
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAdmissionLines
3
- } from "./chunk-OS5BVALI.js";
3
+ } from "./chunk-2AXFKYJU.js";
4
4
  import {
5
5
  createApiClient
6
- } from "./chunk-UMV4HYHD.js";
7
- import "./chunk-DWK6NIJF.js";
6
+ } from "./chunk-TEQF4ZJA.js";
7
+ import "./chunk-2FJB3CSS.js";
8
8
  import "./chunk-Z7IUAJOF.js";
9
9
  import "./chunk-AOJU5LKX.js";
10
10
  import {
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HGMYEDAQ.js";
13
13
  import {
14
14
  formatPercent
15
- } from "./chunk-KNKOTLVW.js";
15
+ } from "./chunk-F643WELJ.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
 
18
18
  // src/commands/overview.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -24,7 +24,7 @@ import {
24
24
  normalizeProjectDomain,
25
25
  resolveNegativeReviewMaxStars,
26
26
  resolveProjectQualifiedAliases
27
- } from "./chunk-KNKOTLVW.js";
27
+ } from "./chunk-F643WELJ.js";
28
28
  import "./chunk-MLKGABMK.js";
29
29
 
30
30
  // src/commands/project.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HGMYEDAQ.js";
13
13
  import {
14
14
  reportedQueryClasses
15
- } from "./chunk-KNKOTLVW.js";
15
+ } from "./chunk-F643WELJ.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
 
18
18
  // src/commands/query.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -18,7 +18,7 @@ import {
18
18
  answerCompletionLabel,
19
19
  answerCostBasisLabel,
20
20
  researchBatchCreateSchema
21
- } from "./chunk-KNKOTLVW.js";
21
+ } from "./chunk-F643WELJ.js";
22
22
  import "./chunk-MLKGABMK.js";
23
23
 
24
24
  // src/commands/research.ts
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.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-KNKOTLVW.js";
7
+ import "./chunk-F643WELJ.js";
8
8
  import "./chunk-MLKGABMK.js";
9
9
 
10
10
  // src/commands/results-export.ts
@@ -9,13 +9,13 @@ import {
9
9
  showRunCompleteness,
10
10
  triggerRun,
11
11
  triggerRunAll
12
- } from "./chunk-OS5BVALI.js";
13
- import "./chunk-UMV4HYHD.js";
14
- import "./chunk-DWK6NIJF.js";
12
+ } from "./chunk-2AXFKYJU.js";
13
+ import "./chunk-TEQF4ZJA.js";
14
+ import "./chunk-2FJB3CSS.js";
15
15
  import "./chunk-Z7IUAJOF.js";
16
16
  import "./chunk-AOJU5LKX.js";
17
17
  import "./chunk-HGMYEDAQ.js";
18
- import "./chunk-KNKOTLVW.js";
18
+ import "./chunk-F643WELJ.js";
19
19
  import "./chunk-MLKGABMK.js";
20
20
  export {
21
21
  cancelRun,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -9,7 +9,7 @@ import "./chunk-AOJU5LKX.js";
9
9
  import {
10
10
  isMachineFormat
11
11
  } from "./chunk-HGMYEDAQ.js";
12
- import "./chunk-KNKOTLVW.js";
12
+ import "./chunk-F643WELJ.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/schedule.ts
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-UMV4HYHD.js";
4
- import "./chunk-DWK6NIJF.js";
3
+ } from "./chunk-TEQF4ZJA.js";
4
+ import "./chunk-2FJB3CSS.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  isMachineFormat
8
8
  } from "./chunk-HGMYEDAQ.js";
9
- import "./chunk-KNKOTLVW.js";
9
+ import "./chunk-F643WELJ.js";
10
10
  import "./chunk-MLKGABMK.js";
11
11
 
12
12
  // src/commands/search.ts