@canonry/canonry 7.81.0 → 7.82.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 (131) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +2 -0
  2. package/assets/assets/{AgentSetupPage-vJPymut8.js → AgentSetupPage-CcjQeUvK.js} +1 -1
  3. package/assets/assets/{AuditHistoryPanel-BItu4Vzu.js → AuditHistoryPanel-DgTvt2hQ.js} +1 -1
  4. package/assets/assets/{BacklinksPage-BzYbNK-V.js → BacklinksPage-DFQhtk4d.js} +1 -1
  5. package/assets/assets/{HistoryPage-B_llsE1v.js → HistoryPage-CkkWqQol.js} +1 -1
  6. package/assets/assets/{MeasurementPropertyPage-CUoV6lhB.js → MeasurementPropertyPage-Cwnda2BA.js} +1 -1
  7. package/assets/assets/{ProjectPage-C6woOQUb.js → ProjectPage-C39ua8CG.js} +1 -1
  8. package/assets/assets/{RunsPage-D_2CO_AJ.js → RunsPage-B4tMl-_9.js} +1 -1
  9. package/assets/assets/{SettingsPage-C-Ik_cYz.js → SettingsPage-DmDdf02o.js} +1 -1
  10. package/assets/assets/{SiteHealthSection-C-BOkaLy.js → SiteHealthSection-CfQePJ7s.js} +2 -2
  11. package/assets/assets/ToneBadge-bXf5LaSI.js +60 -0
  12. package/assets/assets/{TrafficPage-CZ8ylTak.js → TrafficPage-C9y8xEr6.js} +1 -1
  13. package/assets/assets/{TrafficSourceDetailPage-DFhPy-yp.js → TrafficSourceDetailPage-Dklvlek4.js} +1 -1
  14. package/assets/assets/{account-context-BN8ksOuB.js → account-context-BjM5ZlYl.js} +1 -1
  15. package/assets/assets/{card-BKhZmy5E.js → card-CDFncx20.js} +1 -1
  16. package/assets/assets/{extract-error-message-CJvSceYp.js → extract-error-message-s3FKmMjt.js} +1 -1
  17. package/assets/assets/{format-helpers-DN6eKZvA.js → format-helpers-CYQ-LjnQ.js} +1 -1
  18. package/assets/assets/{index-D-lS_O3g.js → index-qWvnlyfA.js} +4 -4
  19. package/assets/assets/{query-client-X8eRXjbT.js → query-client-C_dAEVvf.js} +1 -1
  20. package/assets/assets/{react-query-DOLt-sL-.js → react-query-BKozxbv1.js} +1 -1
  21. package/assets/assets/{react-sigma_core.esm.min-DOMHedxL.js → react-sigma_core.esm.min-J2l6CcJl.js} +1 -1
  22. package/assets/assets/{service-BiQUl6ZL.js → service-BhAtQFOI.js} +1 -1
  23. package/assets/index.html +7 -7
  24. package/dist/{ads-XDPKJZD5.js → ads-UDOONRKQ.js} +3 -3
  25. package/dist/{agent-TLMUNKYG.js → agent-JTEGEX6X.js} +7 -7
  26. package/dist/{agent-ask-J3OIR65S.js → agent-ask-PUV4EVGS.js} +3 -3
  27. package/dist/{agent-conversations-KLLYICAB.js → agent-conversations-TWTSQHBR.js} +3 -3
  28. package/dist/{agent-memory-HVT2M2AW.js → agent-memory-ZJEXAUJB.js} +3 -3
  29. package/dist/{agent-providers-QMS2NZTY.js → agent-providers-2RQZSGMP.js} +3 -3
  30. package/dist/{agent-transcript-V7UCK257.js → agent-transcript-YYS3XBES.js} +3 -3
  31. package/dist/{analytics-37Z5MGHQ.js → analytics-RLC6PRUZ.js} +3 -3
  32. package/dist/{apply-F3YZEJD4.js → apply-Z5SSCEJ2.js} +3 -3
  33. package/dist/{backfill-3YUPT5T2.js → backfill-6K2UMALK.js} +9 -9
  34. package/dist/{backlinks-GDTPG3SB.js → backlinks-LDI2VTPT.js} +3 -3
  35. package/dist/{bing-H7D5KUQF.js → bing-SSNMNZEF.js} +3 -3
  36. package/dist/{bootstrap-JLC26QRM.js → bootstrap-ISRV5I52.js} +10 -10
  37. package/dist/{cdp-WVMC4V4P.js → cdp-WU7QCPQ3.js} +7 -7
  38. package/dist/{chunk-TKOJAZ6S.js → chunk-2FIDPBWE.js} +1 -1
  39. package/dist/{chunk-AX7BBB3S.js → chunk-2GJLKCXL.js} +24 -1
  40. package/dist/{chunk-H5WAYPLS.js → chunk-2PDDTRTG.js} +4 -4
  41. package/dist/{chunk-TJA6Z5FV.js → chunk-462CIYLY.js} +1 -1
  42. package/dist/{chunk-FQYMARCU.js → chunk-4IYFVC22.js} +3 -3
  43. package/dist/{chunk-L6R6MSWW.js → chunk-5K3S74ZX.js} +1 -1
  44. package/dist/{chunk-QVMUMIG4.js → chunk-5NDUJLUL.js} +6 -6
  45. package/dist/{chunk-6ST5JIUJ.js → chunk-7ZJHKLTK.js} +1 -1
  46. package/dist/{chunk-SJYKKUH5.js → chunk-AAMOBJXJ.js} +1 -1
  47. package/dist/{chunk-KRKOTKTY.js → chunk-DWFVH3E2.js} +2 -2
  48. package/dist/{chunk-OHXAS7LT.js → chunk-EIDOBJF2.js} +2 -2
  49. package/dist/{chunk-SSTQINNT.js → chunk-F4FDJI5O.js} +3 -3
  50. package/dist/{chunk-J5K7QM3U.js → chunk-GKHM5OT6.js} +2 -2
  51. package/dist/{chunk-M6IABRSO.js → chunk-HDVJNYYE.js} +3 -3
  52. package/dist/{chunk-6T7JZS67.js → chunk-J2DA4LUR.js} +402 -270
  53. package/dist/{chunk-VSWED7DX.js → chunk-J7EYQFMJ.js} +4 -4
  54. package/dist/{chunk-EDV5YR2J.js → chunk-JDEHNF7K.js} +1 -1
  55. package/dist/{chunk-Z6HMIMK2.js → chunk-JMUSNZJR.js} +1 -1
  56. package/dist/{chunk-4EPCWJAM.js → chunk-JP4RTZGE.js} +2 -2
  57. package/dist/{chunk-2ZRCLJQX.js → chunk-LRFCNERP.js} +3 -3
  58. package/dist/{chunk-GK5H5QAH.js → chunk-M7WS2BL3.js} +1 -1
  59. package/dist/{chunk-F3EJRABZ.js → chunk-NNUZ37NJ.js} +4 -4
  60. package/dist/{chunk-IJGPHVZU.js → chunk-NPMJFPBM.js} +24 -4
  61. package/dist/{chunk-GRS5UBVQ.js → chunk-OH42CAWP.js} +1 -1
  62. package/dist/{chunk-PR2JM2FR.js → chunk-QHEKMJL4.js} +2 -2
  63. package/dist/{chunk-WR2VQ5TF.js → chunk-RMZCQUKN.js} +336 -336
  64. package/dist/{chunk-BALMAZTD.js → chunk-S6IC7ZK2.js} +9 -1
  65. package/dist/{chunk-FOQUCSNN.js → chunk-SIRWPXGJ.js} +8 -8
  66. package/dist/{chunk-YJ4EEYIP.js → chunk-SVF4P6DB.js} +1 -1
  67. package/dist/{chunk-CR6OF4SL.js → chunk-T76RQIGK.js} +3 -3
  68. package/dist/{chunk-ATOAIF2W.js → chunk-VVOCZTNC.js} +2 -2
  69. package/dist/{chunk-HPCDCZJW.js → chunk-VWYB4RA4.js} +2 -2
  70. package/dist/{chunk-FFS6J325.js → chunk-WB6VIQ7L.js} +1 -1
  71. package/dist/{chunk-Q6I2FSVG.js → chunk-ZR3RYJF3.js} +5 -5
  72. package/dist/{chunk-YJ7FKGRE.js → chunk-ZX7XDVPC.js} +2 -2
  73. package/dist/{citations-LQEXT3QX.js → citations-X5LS7SZX.js} +3 -3
  74. package/dist/{cli-catalog-FQ3GU4I7.js → cli-catalog-S4RLOOCK.js} +3 -3
  75. package/dist/{cli-commands-V5ITGQYI.js → cli-commands-BGNM6H6P.js} +7 -7
  76. package/dist/cli.js +13 -13
  77. package/dist/{competitor-LNBFBUHM.js → competitor-O5YXN5SD.js} +3 -3
  78. package/dist/{content-SXOXACBG.js → content-C6SO5LNZ.js} +3 -3
  79. package/dist/{dashboard-VQ7ZJM3Z.js → dashboard-3P6FFYCW.js} +6 -6
  80. package/dist/{demo-MVF5RBLW.js → demo-OJ6C4DU3.js} +1 -1
  81. package/dist/{demo-server-O4GV5RCH.js → demo-server-GJXDVREB.js} +12 -12
  82. package/dist/{discover-62BQKXZE.js → discover-Z355GK36.js} +3 -3
  83. package/dist/{discover-eval-6UYCPXIC.js → discover-eval-6OVS55LV.js} +3 -3
  84. package/dist/{doctor-GAD732OH.js → doctor-E52VMIEP.js} +3 -3
  85. package/dist/{evidence-HMBZTISH.js → evidence-ITVU3HYF.js} +3 -3
  86. package/dist/{export-cmd-H4QAPQLL.js → export-cmd-S2UD3ALT.js} +3 -3
  87. package/dist/{ga-EIUF4YK5.js → ga-T3UEGAZC.js} +3 -3
  88. package/dist/{gbp-IY55YRX3.js → gbp-3G45OTYX.js} +3 -3
  89. package/dist/{google-7VNVJRG5.js → google-YZS4HLN3.js} +4 -4
  90. package/dist/{google-marketing-5VRNWIYL.js → google-marketing-LIV6O63R.js} +1 -1
  91. package/dist/{health-cmd-IYULMWYP.js → health-cmd-2FC73XH6.js} +3 -3
  92. package/dist/{history-U47EQSVQ.js → history-KLRMAVLG.js} +3 -3
  93. package/dist/index.d.ts +115 -31
  94. package/dist/index.js +25 -25
  95. package/dist/{init-BB3AHJIC.js → init-CTP7OZTR.js} +12 -12
  96. package/dist/{insights-TMOIYIN2.js → insights-KTGRGFAN.js} +3 -3
  97. package/dist/intelligence-service-YX72V6NG.js +16 -0
  98. package/dist/{journeys-SBEEBTLZ.js → journeys-PF2OO5W2.js} +3 -3
  99. package/dist/{keys-B6WL56H5.js → keys-7NTJ7TFJ.js} +3 -3
  100. package/dist/{keyword-EVCBMO4R.js → keyword-C37ZTBOS.js} +3 -3
  101. package/dist/{logs-NFHUPOV6.js → logs-GU223TLX.js} +3 -3
  102. package/dist/{mcp-QJEEHLSF.js → mcp-2DZFAHOW.js} +4 -4
  103. package/dist/mcp.js +9 -9
  104. package/dist/{measurement-plan-HZHP6HMF.js → measurement-plan-ZSZUAW4Y.js} +5 -5
  105. package/dist/{notify-FKSEZ2RI.js → notify-GYSA5V67.js} +5 -4
  106. package/dist/{organic-evidence-S5MUDRRT.js → organic-evidence-2NLMSKHX.js} +3 -3
  107. package/dist/{overview-3CIM4X6O.js → overview-NL3B5XME.js} +4 -4
  108. package/dist/{project-SFZVTTFG.js → project-3THJAPRN.js} +3 -3
  109. package/dist/{query-3CDC52ST.js → query-JU5UHTGT.js} +3 -3
  110. package/dist/{research-YXNYFECM.js → research-WLS77NOR.js} +3 -3
  111. package/dist/{results-export-INLGMMB2.js → results-export-RQKUM5OA.js} +3 -3
  112. package/dist/{run-BHF4QPOI.js → run-H6BA7COC.js} +4 -4
  113. package/dist/{schedule-QVYRWV6M.js → schedule-ISTF4OHX.js} +3 -3
  114. package/dist/{search-QXWAPV4H.js → search-HIYAHDZR.js} +3 -3
  115. package/dist/{serve-Z23URYCX.js → serve-5WPYWTOF.js} +26 -26
  116. package/dist/{session-DYXVMEHP.js → session-4B5VWFCF.js} +13 -13
  117. package/dist/{settings-YMPACJEL.js → settings-ZI4UQXJO.js} +3 -3
  118. package/dist/{skills-ELKAS2QM.js → skills-LN34DUVA.js} +2 -2
  119. package/dist/{snapshot-5AFQZZCJ.js → snapshot-BDPWMMDS.js} +3 -3
  120. package/dist/{src-6NEOIOJN.js → src-UENQLEK4.js} +4 -2
  121. package/dist/{status-NCP3TWKF.js → status-6CIRB7TO.js} +4 -4
  122. package/dist/{technical-aeo-44AW2Q7L.js → technical-aeo-L435UGJL.js} +3 -3
  123. package/dist/{telemetry-3SZE36LD.js → telemetry-VIY5GILS.js} +4 -4
  124. package/dist/{tools-YLGNUOH6.js → tools-LILY27JS.js} +11 -11
  125. package/dist/{traffic-CHXA7CWW.js → traffic-KHGUZSP6.js} +5 -5
  126. package/dist/{users-HGMPXPZT.js → users-KLOJMJSB.js} +3 -3
  127. package/dist/{visibility-stats-QZXKJI5B.js → visibility-stats-OG2HEGFX.js} +3 -3
  128. package/dist/{wordpress-C3FM3ZP6.js → wordpress-NPVZAUSN.js} +3 -3
  129. package/package.json +1 -1
  130. package/assets/assets/ToneBadge-B8svjXgK.js +0 -60
  131. package/dist/intelligence-service-PJYJZPJF.js +0 -16
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  runWithUsageTags
3
- } from "./chunk-YJ7FKGRE.js";
3
+ } from "./chunk-ZX7XDVPC.js";
4
4
  import {
5
5
  CanonryMcpToolNames,
6
6
  canonryMcpTools
7
- } from "./chunk-M6IABRSO.js";
7
+ } from "./chunk-HDVJNYYE.js";
8
8
  import {
9
9
  CliError
10
10
  } from "./chunk-HGMYEDAQ.js";
11
11
  import {
12
12
  buildOpenApiDocument
13
- } from "./chunk-IJGPHVZU.js";
13
+ } from "./chunk-NPMJFPBM.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-BALMAZTD.js";
26
+ } from "./chunk-S6IC7ZK2.js";
27
27
 
28
28
  // src/agent/tools.ts
29
29
  import { Type as Type2 } from "@earendil-works/pi-ai";
@@ -28,7 +28,7 @@ import {
28
28
  unknownUsageObservation,
29
29
  usdToMicros,
30
30
  withRetry
31
- } from "./chunk-BALMAZTD.js";
31
+ } from "./chunk-S6IC7ZK2.js";
32
32
 
33
33
  // ../provider-answer-services/src/core/http.ts
34
34
  var MAX_RESPONSE_BYTES = 8 * 1024 * 1024;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  API_PROVIDER_NAMES,
3
3
  ProviderNames
4
- } from "./chunk-BALMAZTD.js";
4
+ } from "./chunk-S6IC7ZK2.js";
5
5
 
6
6
  // src/provider-registration.ts
7
7
  function isApiProviderRegistrable(name, entry) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  trackIntegrationConnection
3
- } from "./chunk-F3EJRABZ.js";
3
+ } from "./chunk-NNUZ37NJ.js";
4
4
  import {
5
5
  cliRuntimeContext
6
- } from "./chunk-HPCDCZJW.js";
6
+ } from "./chunk-VWYB4RA4.js";
7
7
 
8
8
  // src/cli-connection-telemetry.ts
9
9
  function trackCliConnection(properties) {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-YJ7FKGRE.js";
3
+ } from "./chunk-ZX7XDVPC.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-TKOJAZ6S.js";
10
+ } from "./chunk-2FIDPBWE.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-BALMAZTD.js";
40
+ } from "./chunk-S6IC7ZK2.js";
41
41
 
42
42
  // src/commands/measurement-plan.ts
43
43
  import crypto from "crypto";
@@ -8,7 +8,7 @@ import {
8
8
  classifyJourneyEntry,
9
9
  hostMatchesDomain,
10
10
  hostOf
11
- } from "./chunk-BALMAZTD.js";
11
+ } from "./chunk-S6IC7ZK2.js";
12
12
 
13
13
  // ../integration-traffic/src/ip-ranges/amazonbot.json
14
14
  var amazonbot_default = {
@@ -2,13 +2,13 @@ import {
2
2
  bucketCliCommandDuration,
3
3
  isTelemetryEnabled,
4
4
  trackEvent
5
- } from "./chunk-HPCDCZJW.js";
5
+ } from "./chunk-VWYB4RA4.js";
6
6
  import {
7
7
  getConfigDir
8
- } from "./chunk-6ST5JIUJ.js";
8
+ } from "./chunk-7ZJHKLTK.js";
9
9
  import {
10
10
  currentOutcomeAttribution
11
- } from "./chunk-SJYKKUH5.js";
11
+ } from "./chunk-AAMOBJXJ.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-BALMAZTD.js";
22
+ } from "./chunk-S6IC7ZK2.js";
23
23
 
24
24
  // src/outcome-telemetry.ts
25
25
  import fs from "fs";
@@ -9,14 +9,14 @@ import {
9
9
  normalizeCloudflareWorkerEvent,
10
10
  sessionizeJourneyRequests,
11
11
  verifyRequestSignature
12
- } from "./chunk-GK5H5QAH.js";
12
+ } from "./chunk-M7WS2BL3.js";
13
13
  import {
14
14
  currentOutcomeAttribution,
15
15
  getRequestContext,
16
16
  registerRequestContext,
17
17
  requestAuditIdentity,
18
18
  sanitizeRequestContext
19
- } from "./chunk-SJYKKUH5.js";
19
+ } from "./chunk-AAMOBJXJ.js";
20
20
  import {
21
21
  RawEventSampleEventTypes,
22
22
  SentimentIdempotencyConflict,
@@ -159,7 +159,7 @@ import {
159
159
  userSessions,
160
160
  users,
161
161
  writeNegativeReviewMaxStars
162
- } from "./chunk-AX7BBB3S.js";
162
+ } from "./chunk-2GJLKCXL.js";
163
163
  import {
164
164
  ADS_ACTIVATE_SCOPE,
165
165
  ADS_ACTIVATION_ABSOLUTE_MAX_ENTITIES,
@@ -1211,7 +1211,7 @@ import {
1211
1211
  wordpressSchemaDeployResultDtoSchema,
1212
1212
  wordpressSchemaStatusResultDtoSchema,
1213
1213
  wordpressStatusDtoSchema
1214
- } from "./chunk-BALMAZTD.js";
1214
+ } from "./chunk-S6IC7ZK2.js";
1215
1215
 
1216
1216
  // ../api-routes/src/user-session.ts
1217
1217
  import crypto2 from "crypto";
@@ -8982,10 +8982,30 @@ function ratingView(payload) {
8982
8982
  timestamp: ratings.reduce((latest, r) => r.observedAt > latest ? r.observedAt : latest, ratings[0]?.observedAt ?? "")
8983
8983
  };
8984
8984
  }
8985
+ function unrecognizedAgentView(payload) {
8986
+ const { project, agents } = payload;
8987
+ const line = (agent) => {
8988
+ const hits = `${agent.hits} hit${agent.hits === 1 ? "" : "s"}`;
8989
+ return agent.sampleUserAgent ? `${agent.name}: ${hits}, ${snippet(agent.sampleUserAgent, 120)}` : `${agent.name}: ${hits}`;
8990
+ };
8991
+ const single = agents.length === 1 ? agents[0] : null;
8992
+ return {
8993
+ severity: AlertSeverities.info,
8994
+ category: CANONRY_ALERT_CATEGORY,
8995
+ title: single ? `${project.name}: new bot, ${single.name}` : `${project.name}: ${agents.length} new bots`,
8996
+ body: `Bots or agents Canonry does not recognize yet.
8997
+ ${single ? line(single) : bulletList(agents.map(line))}`,
8998
+ fields: [{ label: AlertFieldLabels.next, value: `cnry traffic unrecognized ${project.name}` }],
8999
+ url: payload.dashboardUrl,
9000
+ footer: project.canonicalDomain,
9001
+ timestamp: agents.reduce((latest, agent) => agent.lastSeenAt > latest ? agent.lastSeenAt : latest, agents[0]?.lastSeenAt ?? "")
9002
+ };
9003
+ }
8985
9004
  function toAlertView(payload) {
8986
9005
  if (isHealth(payload)) return healthView(payload);
8987
9006
  if (payload.event === "review.negative") return reviewView(payload);
8988
9007
  if (payload.event === "review.rating-dropped") return ratingView(payload);
9008
+ if (payload.event === "traffic.agent.discovered") return unrecognizedAgentView(payload);
8989
9009
  return runView(payload);
8990
9010
  }
8991
9011
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  hostMatchesDomain
3
- } from "./chunk-BALMAZTD.js";
3
+ } from "./chunk-S6IC7ZK2.js";
4
4
 
5
5
  // src/citation-utils.ts
6
6
  function pickProjectCitedDomain(citedDomains, projectDomains) {
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-VJWDBFSL.js";
5
5
  import {
6
6
  createApiClient
7
- } from "./chunk-YJ7FKGRE.js";
7
+ } from "./chunk-ZX7XDVPC.js";
8
8
  import {
9
9
  CliError,
10
10
  isMachineFormat
11
11
  } from "./chunk-HGMYEDAQ.js";
12
12
  import {
13
13
  describeError
14
- } from "./chunk-BALMAZTD.js";
14
+ } from "./chunk-S6IC7ZK2.js";
15
15
 
16
16
  // src/commands/mcp.ts
17
17
  import fs from "fs";