@canonry/canonry 7.92.1 → 7.93.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 (138) hide show
  1. package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +2 -0
  2. package/assets/assets/{AgentSetupPage-Dr5ZoPYi.js → AgentSetupPage-D53_2n_4.js} +1 -1
  3. package/assets/assets/{AuditHistoryPanel-Dc8pGeZT.js → AuditHistoryPanel-BFRuRv_c.js} +1 -1
  4. package/assets/assets/{BacklinksPage-zEaP7G6s.js → BacklinksPage-DpSbhjVf.js} +1 -1
  5. package/assets/assets/{HistoryPage-9OaxBSY8.js → HistoryPage-1z0GDe6W.js} +1 -1
  6. package/assets/assets/{MeasurementPropertyPage-k_mqkoWn.js → MeasurementPropertyPage-Dzjx179C.js} +1 -1
  7. package/assets/assets/{ProjectPage-vgHaFT7S.js → ProjectPage-BgPs3YQG.js} +1 -1
  8. package/assets/assets/{RunsPage-CXkefezd.js → RunsPage-DpsqauyB.js} +1 -1
  9. package/assets/assets/{SettingsPage-C8FUNUN5.js → SettingsPage-ChIbt7x6.js} +1 -1
  10. package/assets/assets/{SiteHealthSection-C94uYTE3.js → SiteHealthSection-B-79VmOp.js} +2 -2
  11. package/assets/assets/{ToneBadge-COrS2zpP.js → ToneBadge-Cx8uzsd6.js} +1 -1
  12. package/assets/assets/{TrafficPage-KlGx3-bc.js → TrafficPage-yoq0n5vi.js} +1 -1
  13. package/assets/assets/TrafficSourceDetailPage-eCf7k39J.js +1 -0
  14. package/assets/assets/{account-context-F2VRKRtu.js → account-context-vYgW6LGe.js} +1 -1
  15. package/assets/assets/{agent-trust-copy-Hb775a57.js → agent-trust-copy-CJ7pZlY5.js} +1 -1
  16. package/assets/assets/{card-P1VA-JnV.js → card-CArOADSj.js} +1 -1
  17. package/assets/assets/{format-helpers-COfTmLRL.js → format-helpers-kCHfk00b.js} +1 -1
  18. package/assets/assets/{index-DHrWeA6k.js → index-9HU3ZsRh.js} +4 -4
  19. package/assets/assets/index-DsdpvA7m.css +1 -0
  20. package/assets/assets/{query-client-BHtq57Sw.js → query-client-DWFpwopf.js} +1 -1
  21. package/assets/assets/{react-query-IhpEAOba.js → react-query-DdeD3n1W.js} +1 -1
  22. package/assets/assets/{react-sigma_core.esm.min-B4NX5_aX.js → react-sigma_core.esm.min-CaW_CBlP.js} +1 -1
  23. package/assets/assets/server-traffic-B1Fb2oFZ.js +1 -0
  24. package/assets/assets/{service-m9l8my0x.js → service-Cu6wI40I.js} +1 -1
  25. package/assets/index.html +8 -8
  26. package/dist/{ads-LRHVFP2J.js → ads-X3VXFPB7.js} +3 -3
  27. package/dist/{agent-P7HWL7VX.js → agent-VVPPGM2P.js} +7 -7
  28. package/dist/{agent-ask-S374MIJS.js → agent-ask-FJVCKO3R.js} +3 -3
  29. package/dist/{agent-conversations-3SSKVUYG.js → agent-conversations-5YXYDZEK.js} +3 -3
  30. package/dist/{agent-journeys-ZEO7Z4QR.js → agent-journeys-DBMYKLJX.js} +3 -3
  31. package/dist/{agent-memory-E5YVW5WY.js → agent-memory-7HOF4LNF.js} +3 -3
  32. package/dist/{agent-providers-BWWB42XJ.js → agent-providers-AO25NSCX.js} +3 -3
  33. package/dist/{agent-transcript-YG7TTHWS.js → agent-transcript-IRZ2QDU7.js} +3 -3
  34. package/dist/{analytics-AIKX4BUM.js → analytics-RH5NXDQX.js} +3 -3
  35. package/dist/{apply-5MPSMIKM.js → apply-XNTW4GYA.js} +3 -3
  36. package/dist/{backfill-2BFEE6XJ.js → backfill-O6BON2NA.js} +10 -10
  37. package/dist/{backlinks-L6BYIJIK.js → backlinks-VHK5TJU4.js} +3 -3
  38. package/dist/{bing-E4ZSEVQV.js → bing-A4SQ5MIN.js} +3 -3
  39. package/dist/{bootstrap-V7OE6XXB.js → bootstrap-I2NLTHBM.js} +10 -10
  40. package/dist/{cdp-LWNX6UZF.js → cdp-LAD7DM6U.js} +7 -7
  41. package/dist/{chunk-ERSHLW5J.js → chunk-2OJJPSFS.js} +4 -4
  42. package/dist/{chunk-EWZOL56J.js → chunk-2ORBI7PS.js} +3 -3
  43. package/dist/{chunk-IDISBRPO.js → chunk-3SVI6OY3.js} +7 -7
  44. package/dist/{chunk-4HLR3DRQ.js → chunk-4CPCYR5M.js} +1 -1
  45. package/dist/{chunk-UMTYAPCQ.js → chunk-4UA2Y24K.js} +6 -5
  46. package/dist/{chunk-4QYGB5IC.js → chunk-5LLEZ6YL.js} +1 -1
  47. package/dist/{chunk-76KBMLPR.js → chunk-5X6CWQ6P.js} +1 -1
  48. package/dist/{chunk-ZTRGUTUP.js → chunk-67WZEUEE.js} +5 -5
  49. package/dist/{chunk-ZTCQVHQV.js → chunk-7BEQY4YS.js} +2 -2
  50. package/dist/{chunk-N2EWSWZD.js → chunk-7RWVMCMK.js} +1 -1
  51. package/dist/{chunk-AUC47DFW.js → chunk-AAUJZ43Q.js} +1 -1
  52. package/dist/{chunk-BTYOU24P.js → chunk-BOUEM6D6.js} +2 -2
  53. package/dist/{chunk-ZPVJ5PVB.js → chunk-CM3BXAMM.js} +2 -2
  54. package/dist/{chunk-3WWSOWXP.js → chunk-CWEEHODU.js} +2 -2
  55. package/dist/{chunk-FYYOX7UY.js → chunk-GO5OUMY5.js} +13 -1
  56. package/dist/{chunk-7534NXSP.js → chunk-GS3KXIFK.js} +1 -1
  57. package/dist/{chunk-H3PWMM4K.js → chunk-HE4ZCVSF.js} +1 -1
  58. package/dist/{chunk-P6ZDIVFZ.js → chunk-IFVVXGLK.js} +1 -1
  59. package/dist/{chunk-K7ZG6K7J.js → chunk-J6QOUWDQ.js} +1 -1
  60. package/dist/{chunk-ZEZPTUUB.js → chunk-LWVLQCQH.js} +14 -17
  61. package/dist/{chunk-BYDJIBAB.js → chunk-N6CIAFEO.js} +358 -358
  62. package/dist/{chunk-TY5YTNLU.js → chunk-OLEMJTEJ.js} +2 -2
  63. package/dist/{chunk-BRNZ3G3B.js → chunk-ON4G7RCY.js} +5 -5
  64. package/dist/{chunk-CIP3CE2C.js → chunk-QBMMHMDZ.js} +3 -3
  65. package/dist/{chunk-DEFHTBJV.js → chunk-QXT6QVBE.js} +1 -1
  66. package/dist/{chunk-O7D7KV75.js → chunk-SNQVHD2O.js} +3 -3
  67. package/dist/{chunk-MDYFHX5Y.js → chunk-SOJIEKH6.js} +21 -21
  68. package/dist/{chunk-WONUYAKB.js → chunk-U3DFWCTU.js} +4 -4
  69. package/dist/{chunk-JZVTSC2V.js → chunk-U3KBGIJ6.js} +2 -2
  70. package/dist/{chunk-GNHXSSQM.js → chunk-UPUJSQ2U.js} +2 -2
  71. package/dist/{chunk-XYQMPYWE.js → chunk-VFYZVQVX.js} +1 -1
  72. package/dist/{chunk-T5DH6FEH.js → chunk-VNPYFXO5.js} +1 -1
  73. package/dist/{chunk-KKSE52CI.js → chunk-VYZIXIDN.js} +6 -6
  74. package/dist/{chunk-2D3JYWFX.js → chunk-WCUXKDJZ.js} +4 -4
  75. package/dist/{chunk-U3T37P7H.js → chunk-YUHP5IUB.js} +3 -3
  76. package/dist/{citations-BYSB6NON.js → citations-D2ZLKEAZ.js} +3 -3
  77. package/dist/{cli-catalog-CFCLMVSK.js → cli-catalog-ZJX65B35.js} +3 -3
  78. package/dist/{cli-commands-G5LDZRUU.js → cli-commands-BSX2GGJL.js} +7 -7
  79. package/dist/cli.js +13 -13
  80. package/dist/{competitor-DUYU7EL7.js → competitor-GMBE6HDJ.js} +3 -3
  81. package/dist/{content-OGURKOCE.js → content-V7VKNFRA.js} +3 -3
  82. package/dist/{dashboard-UOIHD75S.js → dashboard-DOIM7F3F.js} +6 -6
  83. package/dist/{demo-UTXZOVOZ.js → demo-TKNEM6WC.js} +1 -1
  84. package/dist/{demo-server-4TRTOGKP.js → demo-server-K6LAEKGV.js} +12 -12
  85. package/dist/{discover-SHUCBUDJ.js → discover-TALBBFX7.js} +3 -3
  86. package/dist/{discover-eval-3ZTYLTGU.js → discover-eval-2R3F3C7O.js} +3 -3
  87. package/dist/{doctor-FRSV5GAR.js → doctor-UW7QBZR3.js} +3 -3
  88. package/dist/{evidence-7UJHNILW.js → evidence-CMXDXINS.js} +3 -3
  89. package/dist/{export-cmd-2DAWSD52.js → export-cmd-HO6K6ZDO.js} +3 -3
  90. package/dist/{ga-K2EVI3KO.js → ga-VSS5Z44P.js} +3 -3
  91. package/dist/{gbp-NXFINC7N.js → gbp-RYMAOVON.js} +3 -3
  92. package/dist/{google-J4T52EIG.js → google-RZQSM3VZ.js} +4 -4
  93. package/dist/{google-marketing-PZGKZPEB.js → google-marketing-ULMGHDFF.js} +1 -1
  94. package/dist/{health-cmd-5IHX5GRQ.js → health-cmd-5AJLSCWH.js} +3 -3
  95. package/dist/{history-IVO5IVH2.js → history-ZEWDWGKK.js} +3 -3
  96. package/dist/index.d.ts +71 -71
  97. package/dist/index.js +25 -25
  98. package/dist/{init-TNCLNDMS.js → init-NAMFIDDT.js} +12 -12
  99. package/dist/{insights-SPA2BVMV.js → insights-F747HGKV.js} +3 -3
  100. package/dist/intelligence-service-7FVMY2WA.js +16 -0
  101. package/dist/{journeys-7FAHZRGP.js → journeys-IN6PKYC6.js} +3 -3
  102. package/dist/{keys-PPBHRYPZ.js → keys-JPOCEVCO.js} +3 -3
  103. package/dist/{keyword-C4ULYIWF.js → keyword-P6EYHLKS.js} +3 -3
  104. package/dist/{logs-X7NQN4UT.js → logs-3WC6OWDD.js} +3 -3
  105. package/dist/{mcp-ERMFW6WJ.js → mcp-LU6BKIGI.js} +4 -4
  106. package/dist/mcp.js +9 -9
  107. package/dist/{measurement-plan-7IPWYNIC.js → measurement-plan-G4E42X4M.js} +5 -5
  108. package/dist/{notify-AC4ZHLUK.js → notify-ADPO6H5M.js} +3 -3
  109. package/dist/{organic-evidence-GDDMNJHN.js → organic-evidence-6C4ADEAQ.js} +3 -3
  110. package/dist/{overview-7VCUIYQE.js → overview-NLKLGTIL.js} +4 -4
  111. package/dist/{project-N4RGX5CT.js → project-4QVFGUPT.js} +3 -3
  112. package/dist/{query-Y7LGD6PG.js → query-6JVOPG7E.js} +3 -3
  113. package/dist/{research-WTZO3D7B.js → research-NG2HHDTB.js} +3 -3
  114. package/dist/{results-export-BYUFBWEK.js → results-export-RUBBBAKB.js} +3 -3
  115. package/dist/{run-SXMD6GW5.js → run-4ZM7F4T4.js} +4 -4
  116. package/dist/{schedule-UQFPQBHI.js → schedule-NYJD7QNS.js} +3 -3
  117. package/dist/{search-EJUJRZEE.js → search-Z5TMFDQD.js} +3 -3
  118. package/dist/{serve-ON5OOCRY.js → serve-ZHUBM33Q.js} +26 -26
  119. package/dist/{session-4RJTRXIO.js → session-VNIHR75J.js} +13 -13
  120. package/dist/{settings-ZBP3KDJK.js → settings-2YWI2XEK.js} +3 -3
  121. package/dist/{sitemaps-KVROUSLB.js → sitemaps-PPRANFJS.js} +3 -3
  122. package/dist/{skills-AGAHFQD5.js → skills-WKAHQ42S.js} +2 -2
  123. package/dist/{snapshot-WDK6ZSJA.js → snapshot-J2RMG6IC.js} +3 -3
  124. package/dist/{src-XGUBO65J.js → src-ZNFSBJSC.js} +2 -2
  125. package/dist/{status-IFUJIB73.js → status-S7WMZ437.js} +4 -4
  126. package/dist/{technical-aeo-6KR3YH4X.js → technical-aeo-NKCIAWHJ.js} +3 -3
  127. package/dist/{telemetry-EZNMZMH6.js → telemetry-DT4BLD5L.js} +4 -4
  128. package/dist/{tools-HRHCCGJ5.js → tools-22WRA2TI.js} +11 -11
  129. package/dist/{traffic-7OSHD23C.js → traffic-HTBFYDKA.js} +10 -8
  130. package/dist/{trends-I3NWFNHX.js → trends-SHT3BBXE.js} +3 -3
  131. package/dist/{users-VBLZGMML.js → users-BV6QFK4Q.js} +3 -3
  132. package/dist/{visibility-stats-6YAV2MTM.js → visibility-stats-TGCKVC7I.js} +3 -3
  133. package/dist/{wordpress-EM3S3NDA.js → wordpress-LYXQ3AWR.js} +3 -3
  134. package/package.json +1 -1
  135. package/assets/assets/TrafficSourceDetailPage-BMs9kd7S.js +0 -1
  136. package/assets/assets/index-Bhpq6fUo.css +0 -1
  137. package/assets/assets/server-traffic-ykAWQo0I.js +0 -1
  138. package/dist/intelligence-service-YPKAM4JJ.js +0 -16
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  trackCliConnection
3
- } from "./chunk-ZTCQVHQV.js";
3
+ } from "./chunk-7BEQY4YS.js";
4
4
  import {
5
5
  answerServiceDescriptors
6
- } from "./chunk-DEFHTBJV.js";
6
+ } from "./chunk-QXT6QVBE.js";
7
7
  import {
8
8
  outcomeFailure
9
- } from "./chunk-WONUYAKB.js";
9
+ } from "./chunk-U3DFWCTU.js";
10
10
  import {
11
11
  isLoopbackBindHost
12
12
  } from "./chunk-TSENU4GG.js";
13
13
  import {
14
14
  registeredProviderNames
15
- } from "./chunk-N2EWSWZD.js";
15
+ } from "./chunk-7RWVMCMK.js";
16
16
  import {
17
17
  isTelemetryEnabled,
18
18
  recordInstallRef
19
- } from "./chunk-TY5YTNLU.js";
19
+ } from "./chunk-OLEMJTEJ.js";
20
20
  import {
21
21
  createApiClient
22
- } from "./chunk-ZPVJ5PVB.js";
22
+ } from "./chunk-CM3BXAMM.js";
23
23
  import {
24
24
  configExists,
25
25
  getAnswerServiceEnv,
@@ -30,7 +30,7 @@ import {
30
30
  loadConfigRaw,
31
31
  saveConfig,
32
32
  withBootstrapProviderDefaults
33
- } from "./chunk-4QYGB5IC.js";
33
+ } from "./chunk-5LLEZ6YL.js";
34
34
  import "./chunk-AOJU5LKX.js";
35
35
  import {
36
36
  CliError,
@@ -38,17 +38,17 @@ import {
38
38
  isMachineFormat,
39
39
  systemError
40
40
  } from "./chunk-HGMYEDAQ.js";
41
- import "./chunk-K7ZG6K7J.js";
41
+ import "./chunk-J6QOUWDQ.js";
42
42
  import {
43
43
  apiKeys,
44
44
  createClient,
45
45
  dashboardSessions,
46
46
  migrate
47
- } from "./chunk-H3PWMM4K.js";
47
+ } from "./chunk-HE4ZCVSF.js";
48
48
  import {
49
49
  ProviderNames,
50
50
  ProviderReloadErrorReasons
51
- } from "./chunk-FYYOX7UY.js";
51
+ } from "./chunk-GO5OUMY5.js";
52
52
  import "./chunk-MLKGABMK.js";
53
53
 
54
54
  // src/commands/bootstrap.ts
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  trackCliConnection
3
- } from "./chunk-ZTCQVHQV.js";
3
+ } from "./chunk-7BEQY4YS.js";
4
4
  import {
5
5
  outcomeFailure
6
- } from "./chunk-WONUYAKB.js";
7
- import "./chunk-TY5YTNLU.js";
6
+ } from "./chunk-U3DFWCTU.js";
7
+ import "./chunk-OLEMJTEJ.js";
8
8
  import {
9
9
  createApiClient
10
- } from "./chunk-ZPVJ5PVB.js";
10
+ } from "./chunk-CM3BXAMM.js";
11
11
  import {
12
12
  loadConfig,
13
13
  saveConfigPatch
14
- } from "./chunk-4QYGB5IC.js";
14
+ } from "./chunk-5LLEZ6YL.js";
15
15
  import "./chunk-AOJU5LKX.js";
16
16
  import {
17
17
  CliError,
18
18
  isMachineFormat
19
19
  } from "./chunk-HGMYEDAQ.js";
20
- import "./chunk-K7ZG6K7J.js";
20
+ import "./chunk-J6QOUWDQ.js";
21
21
  import {
22
22
  describeError
23
- } from "./chunk-FYYOX7UY.js";
23
+ } from "./chunk-GO5OUMY5.js";
24
24
  import "./chunk-MLKGABMK.js";
25
25
 
26
26
  // src/commands/cdp.ts
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  runWithUsageTags
3
- } from "./chunk-ZPVJ5PVB.js";
3
+ } from "./chunk-CM3BXAMM.js";
4
4
  import {
5
5
  CanonryMcpToolNames,
6
6
  canonryMcpTools
7
- } from "./chunk-UMTYAPCQ.js";
7
+ } from "./chunk-4UA2Y24K.js";
8
8
  import {
9
9
  CliError
10
10
  } from "./chunk-HGMYEDAQ.js";
11
11
  import {
12
12
  buildOpenApiDocument
13
- } from "./chunk-ZEZPTUUB.js";
13
+ } from "./chunk-LWVLQCQH.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-FYYOX7UY.js";
26
+ } from "./chunk-GO5OUMY5.js";
27
27
 
28
28
  // src/agent/tools.ts
29
29
  import { Type as Type2 } from "@earendil-works/pi-ai";
@@ -2,18 +2,18 @@ import {
2
2
  configExists,
3
3
  loadConfigRaw,
4
4
  saveConfigPatch
5
- } from "./chunk-4QYGB5IC.js";
5
+ } from "./chunk-5LLEZ6YL.js";
6
6
  import {
7
7
  BUNDLED_SKILL_NAMES,
8
8
  installSkills
9
- } from "./chunk-T5DH6FEH.js";
9
+ } from "./chunk-VNPYFXO5.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-FYYOX7UY.js";
16
+ } from "./chunk-GO5OUMY5.js";
17
17
 
18
18
  // src/skills-autosync.ts
19
19
  import fs from "fs";
@@ -8,23 +8,23 @@ import {
8
8
  reparseStoredResult4,
9
9
  reparseStoredResult5,
10
10
  resolveStoredApiResponse
11
- } from "./chunk-BRNZ3G3B.js";
11
+ } from "./chunk-ON4G7RCY.js";
12
12
  import {
13
13
  loadConfig
14
- } from "./chunk-4QYGB5IC.js";
14
+ } from "./chunk-5LLEZ6YL.js";
15
15
  import {
16
16
  isMachineFormat
17
17
  } from "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  determineCitationState
20
- } from "./chunk-AUC47DFW.js";
20
+ } from "./chunk-AAUJZ43Q.js";
21
21
  import {
22
22
  backfillProjectAnswerMentions,
23
23
  competitorIdentityColumns,
24
24
  createRunCompetitorResolver,
25
25
  readMarketCompetitorNames,
26
26
  refreshSnapshotMentionIdentity
27
- } from "./chunk-ZEZPTUUB.js";
27
+ } from "./chunk-LWVLQCQH.js";
28
28
  import {
29
29
  RawEventSampleEventTypes,
30
30
  auditLog,
@@ -38,7 +38,7 @@ import {
38
38
  querySnapshots,
39
39
  rawEventSamples,
40
40
  runs
41
- } from "./chunk-H3PWMM4K.js";
41
+ } from "./chunk-HE4ZCVSF.js";
42
42
  import {
43
43
  ProviderNames,
44
44
  RetrievalContracts,
@@ -51,7 +51,7 @@ import {
51
51
  extractRecommendedCompetitors,
52
52
  normalizeUrlPath,
53
53
  openRouterRouteModel
54
- } from "./chunk-FYYOX7UY.js";
54
+ } from "./chunk-GO5OUMY5.js";
55
55
 
56
56
  // src/commands/backfill.ts
57
57
  import { setImmediate as yieldToEventLoop } from "timers/promises";
@@ -429,7 +429,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
429
429
  }
430
430
  }
431
431
  async function backfillInsightsCommand(project, opts) {
432
- const { IntelligenceService } = await import("./intelligence-service-YPKAM4JJ.js");
432
+ const { IntelligenceService } = await import("./intelligence-service-7FVMY2WA.js");
433
433
  const config = loadConfig();
434
434
  const db = createClient(config.database);
435
435
  migrate(db);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cloudflareQueueNameSchema
3
- } from "./chunk-FYYOX7UY.js";
3
+ } from "./chunk-GO5OUMY5.js";
4
4
 
5
5
  // src/cloudflare-traffic-config.ts
6
6
  function unsupportedDeliveryMode(deliveryMode) {
@@ -2,11 +2,11 @@ import {
2
2
  dedupeGscSitemapUrls,
3
3
  resolveDiscoveredGscSitemapUrls,
4
4
  submitGscSitemapBatches
5
- } from "./chunk-76KBMLPR.js";
5
+ } from "./chunk-5X6CWQ6P.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-XYQMPYWE.js";
9
+ } from "./chunk-VFYZVQVX.js";
10
10
  import {
11
11
  CliError
12
12
  } from "./chunk-HGMYEDAQ.js";
@@ -28,6 +28,7 @@ import {
28
28
  SENTIMENT_QUERY_PAGE_MAX,
29
29
  SEO_RUN_SCOPE,
30
30
  SEO_WRITE_SCOPE,
31
+ TRAFFIC_EVENT_KIND_FILTER_HINT,
31
32
  WINDOW_SETS,
32
33
  adsActivateTreeRequestSchema,
33
34
  adsAdCreateRequestSchema,
@@ -103,6 +104,7 @@ import {
103
104
  operationAccess,
104
105
  operationalLogListReadSchema,
105
106
  organicEvidencePeriodSchema,
107
+ parseTrafficEventKindFilter,
106
108
  projectConfigSchema,
107
109
  projectPatchRequestSchema,
108
110
  projectUpsertRequestSchema,
@@ -180,14 +182,13 @@ import {
180
182
  trafficConnectCloudRunRequestSchema,
181
183
  trafficConnectVercelRequestSchema,
182
184
  trafficConnectWordpressRequestSchema,
183
- trafficEventKindSchema,
184
185
  trafficSamplesQuerySchema,
185
186
  trafficSeriesGranularitySchema,
186
187
  trafficUnrecognizedAgentsQuerySchema,
187
188
  trendSurfaceSchema,
188
189
  visibilityCompareSelectionSchema,
189
190
  visibilityReportRequestSchema
190
- } from "./chunk-FYYOX7UY.js";
191
+ } from "./chunk-GO5OUMY5.js";
191
192
 
192
193
  // src/mcp/tool-registry.ts
193
194
  import { z as z2 } from "zod";
@@ -952,7 +953,7 @@ var trafficEventsInputSchema = z2.object({
952
953
  project: projectNameSchema,
953
954
  since: z2.string().optional().describe("ISO 8601 lower bound. Defaults to 24h ago when omitted."),
954
955
  until: z2.string().optional().describe("ISO 8601 upper bound. Defaults to now when omitted."),
955
- kind: z2.union([trafficEventKindSchema, z2.literal("all")]).optional().describe('Filter to one traffic kind; "all" (default) returns every kind.'),
956
+ kind: z2.string().refine((value) => parseTrafficEventKindFilter(value) !== null, { message: `kind must be ${TRAFFIC_EVENT_KIND_FILTER_HINT}` }).optional().describe('Filter to "crawler", "ai-user-fetch", "ai-referral", a comma-separated list of them (e.g. "ai-user-fetch,ai-referral"), or "all" (default). Rows, totals and series cover only the kinds asked for.'),
956
957
  sourceId: z2.string().min(1).optional().describe("Restrict to a single traffic source ID."),
957
958
  limit: z2.number().int().positive().max(5e3).optional().describe("Max combined rows. Defaults to 500, max 5000. Totals always reflect the full window."),
958
959
  granularity: trafficSeriesGranularitySchema.optional().describe("Full-window chart series bucket size: hour (default) or day.")
@@ -20,7 +20,7 @@ import {
20
20
  resolveProviderModel,
21
21
  schedulableRunKindSchema,
22
22
  sentimentEvaluatorProviderSchema
23
- } from "./chunk-FYYOX7UY.js";
23
+ } from "./chunk-GO5OUMY5.js";
24
24
 
25
25
  // ../config/src/index.ts
26
26
  import { z as z5 } from "zod";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-HGMYEDAQ.js";
5
5
  import {
6
6
  describeError
7
- } from "./chunk-FYYOX7UY.js";
7
+ } from "./chunk-GO5OUMY5.js";
8
8
 
9
9
  // src/gsc-sitemap-submission.ts
10
10
  function dedupeGscSitemapUrls(urls) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pickProjectCitedDomain
3
- } from "./chunk-AUC47DFW.js";
3
+ } from "./chunk-AAUJZ43Q.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-BTYOU24P.js";
6
+ } from "./chunk-BOUEM6D6.js";
7
7
  import {
8
8
  GBP_INSIGHT_PROVIDER,
9
9
  PERSISTENT_GAP_THRESHOLD,
@@ -17,7 +17,7 @@ import {
17
17
  mergeGscQueryTotalsWithFallback,
18
18
  readGscQueryDailyRows,
19
19
  readLatestGscDataDate
20
- } from "./chunk-ZEZPTUUB.js";
20
+ } from "./chunk-LWVLQCQH.js";
21
21
  import {
22
22
  competitors,
23
23
  gbpDailyMetrics,
@@ -35,14 +35,14 @@ import {
35
35
  queries,
36
36
  querySnapshots,
37
37
  runs
38
- } from "./chunk-H3PWMM4K.js";
38
+ } from "./chunk-HE4ZCVSF.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,
42
42
  RunStatuses,
43
43
  RunTriggers,
44
44
  effectiveDomains
45
- } from "./chunk-FYYOX7UY.js";
45
+ } from "./chunk-GO5OUMY5.js";
46
46
 
47
47
  // src/intelligence-service.ts
48
48
  import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  trackIntegrationConnection
3
- } from "./chunk-WONUYAKB.js";
3
+ } from "./chunk-U3DFWCTU.js";
4
4
  import {
5
5
  cliRuntimeContext
6
- } from "./chunk-TY5YTNLU.js";
6
+ } from "./chunk-OLEMJTEJ.js";
7
7
 
8
8
  // src/cli-connection-telemetry.ts
9
9
  function trackCliConnection(properties) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  API_PROVIDER_NAMES,
3
3
  ProviderNames
4
- } from "./chunk-FYYOX7UY.js";
4
+ } from "./chunk-GO5OUMY5.js";
5
5
 
6
6
  // src/provider-registration.ts
7
7
  function isApiProviderRegistrable(name, entry) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  hostMatchesDomain
3
- } from "./chunk-FYYOX7UY.js";
3
+ } from "./chunk-GO5OUMY5.js";
4
4
 
5
5
  // src/citation-utils.ts
6
6
  function pickProjectCitedDomain(citedDomains, projectDomains) {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getRequestContext
3
- } from "./chunk-K7ZG6K7J.js";
3
+ } from "./chunk-J6QOUWDQ.js";
4
4
  import {
5
5
  diagnosticIdentity,
6
6
  redactLogString,
7
7
  redactLogValue
8
- } from "./chunk-FYYOX7UY.js";
8
+ } from "./chunk-GO5OUMY5.js";
9
9
 
10
10
  // ../api-routes/src/runtime-logger.ts
11
11
  import { format } from "util";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-4QYGB5IC.js";
3
+ } from "./chunk-5LLEZ6YL.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-FYYOX7UY.js";
39
+ } from "./chunk-GO5OUMY5.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -5,7 +5,7 @@ import {
5
5
  siteCrawlGraphNodes,
6
6
  siteCrawlPages,
7
7
  siteCrawlSnapshots
8
- } from "./chunk-H3PWMM4K.js";
8
+ } from "./chunk-HE4ZCVSF.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-FYYOX7UY.js";
18
+ } from "./chunk-GO5OUMY5.js";
19
19
 
20
20
  // src/site-audit-factors.ts
21
21
  function recordedSharePct(factor) {
@@ -19214,6 +19214,17 @@ var trafficStatusResponseSchema = z57.object({
19214
19214
  });
19215
19215
  var trafficEventKindSchema = z57.enum(["crawler", "ai-user-fetch", "ai-referral"]);
19216
19216
  var TrafficEventKinds = trafficEventKindSchema.enum;
19217
+ var TRAFFIC_EVENT_KIND_FILTER_HINT = `all, or one or more (comma-separated) of: ${trafficEventKindSchema.options.join(", ")}`;
19218
+ function parseTrafficEventKindFilter(value) {
19219
+ if (value === "all") return [...trafficEventKindSchema.options];
19220
+ const kinds = [];
19221
+ for (const member of value.split(",").map((part) => part.trim()).filter(Boolean)) {
19222
+ const parsed = trafficEventKindSchema.safeParse(member);
19223
+ if (!parsed.success) return null;
19224
+ if (!kinds.includes(parsed.data)) kinds.push(parsed.data);
19225
+ }
19226
+ return kinds.length > 0 ? kinds : null;
19227
+ }
19217
19228
  var trafficSeriesGranularitySchema = z57.enum(["hour", "day"]);
19218
19229
  var TrafficSeriesGranularities = trafficSeriesGranularitySchema.enum;
19219
19230
  var trafficSeriesPointSchema = z57.object({
@@ -28478,8 +28489,9 @@ export {
28478
28489
  trafficSourceListResponseSchema,
28479
28490
  trafficSourceDetailDtoSchema,
28480
28491
  trafficStatusResponseSchema,
28481
- trafficEventKindSchema,
28482
28492
  TrafficEventKinds,
28493
+ TRAFFIC_EVENT_KIND_FILTER_HINT,
28494
+ parseTrafficEventKindFilter,
28483
28495
  trafficSeriesGranularitySchema,
28484
28496
  TrafficSeriesGranularities,
28485
28497
  trafficEventsResponseSchema,
@@ -15,7 +15,7 @@ import {
15
15
  hostMatchesDomain,
16
16
  hostOf,
17
17
  isLocationRedirectStatus
18
- } from "./chunk-FYYOX7UY.js";
18
+ } from "./chunk-GO5OUMY5.js";
19
19
 
20
20
  // ../integration-traffic/src/agent-trust.ts
21
21
  var AGENT_TRUST_RULES_VERSION = 2;
@@ -20,7 +20,7 @@ import {
20
20
  templateLinkRatio,
21
21
  templateLinkUbiquityAvailable,
22
22
  validationError
23
- } from "./chunk-FYYOX7UY.js";
23
+ } from "./chunk-GO5OUMY5.js";
24
24
  import {
25
25
  __export
26
26
  } from "./chunk-MLKGABMK.js";
@@ -5,7 +5,7 @@ import {
5
5
  AppError,
6
6
  parseWindowIn,
7
7
  resolveDateRange
8
- } from "./chunk-FYYOX7UY.js";
8
+ } from "./chunk-GO5OUMY5.js";
9
9
 
10
10
  // src/cli-access.ts
11
11
  var CLI_ACCESS_BY_ID = Object.freeze({
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-FYYOX7UY.js";
4
+ } from "./chunk-GO5OUMY5.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -15,14 +15,14 @@ import {
15
15
  normalizeCloudflareWorkerEvent,
16
16
  sessionizeJourneyRequests,
17
17
  verifyRequestSignature
18
- } from "./chunk-7534NXSP.js";
18
+ } from "./chunk-GS3KXIFK.js";
19
19
  import {
20
20
  currentOutcomeAttribution,
21
21
  getRequestContext,
22
22
  registerRequestContext,
23
23
  requestAuditIdentity,
24
24
  sanitizeRequestContext
25
- } from "./chunk-K7ZG6K7J.js";
25
+ } from "./chunk-J6QOUWDQ.js";
26
26
  import {
27
27
  RawEventSampleEventTypes,
28
28
  SentimentIdempotencyConflict,
@@ -180,7 +180,7 @@ import {
180
180
  userSessions,
181
181
  users,
182
182
  writeNegativeReviewMaxStars
183
- } from "./chunk-H3PWMM4K.js";
183
+ } from "./chunk-HE4ZCVSF.js";
184
184
  import {
185
185
  ADS_ACTIVATE_SCOPE,
186
186
  ADS_ACTIVATION_ABSOLUTE_MAX_ENTITIES,
@@ -415,6 +415,7 @@ import {
415
415
  SiteCrawlUrlVersionFilters,
416
416
  SiteHealthLinkKinds,
417
417
  SiteHealthTemplateDetections,
418
+ TRAFFIC_EVENT_KIND_FILTER_HINT,
418
419
  TREND_SURFACE_DEFAULT_WINDOW,
419
420
  TrafficEventConfidences,
420
421
  TrafficEventKinds,
@@ -1002,6 +1003,7 @@ import {
1002
1003
  parseRunError,
1003
1004
  parseStoredMeasurementPlanAnyVersion,
1004
1005
  parseTrafficAnalyticsPeriod,
1006
+ parseTrafficEventKindFilter,
1005
1007
  parseWindow,
1006
1008
  parseWindowIn,
1007
1009
  percentOf,
@@ -1275,7 +1277,7 @@ import {
1275
1277
  wordpressSchemaDeployResultDtoSchema,
1276
1278
  wordpressSchemaStatusResultDtoSchema,
1277
1279
  wordpressStatusDtoSchema
1278
- } from "./chunk-FYYOX7UY.js";
1280
+ } from "./chunk-GO5OUMY5.js";
1279
1281
 
1280
1282
  // ../api-routes/src/user-session.ts
1281
1283
  import crypto2 from "crypto";
@@ -43859,7 +43861,7 @@ var routeCatalog = [
43859
43861
  nameParameter,
43860
43862
  { name: "since", in: "query", description: "ISO-8601 window start (defaults to 24h ago).", schema: stringSchema },
43861
43863
  { name: "until", in: "query", description: "ISO-8601 window end (defaults to now).", schema: stringSchema },
43862
- { name: "kind", in: "query", description: 'Filter to "crawler", "ai-user-fetch", "ai-referral", or "all" (default).', schema: stringSchema },
43864
+ { name: "kind", in: "query", description: 'Filter to "crawler", "ai-user-fetch", "ai-referral", a comma-separated list of them (e.g. "ai-user-fetch,ai-referral"), or "all" (default). Rows, totals and series cover only the kinds asked for.', schema: stringSchema },
43863
43865
  { name: "limit", in: "query", description: "Max newest combined detail rows in the events array (default 500, max 5000).", schema: stringSchema },
43864
43866
  { name: "sourceId", in: "query", description: "Restrict to a single traffic source.", schema: stringSchema },
43865
43867
  { name: "granularity", in: "query", description: 'Full-window series bucket size: "hour" (default) or "day".', schema: { type: "string", enum: ["hour", "day"] } }
@@ -68454,16 +68456,11 @@ async function trafficRoutes(app, opts) {
68454
68456
  throw validationError('"since" must be \u2264 "until"');
68455
68457
  }
68456
68458
  const kindParam = request.query?.kind;
68457
- let kind = "all";
68458
- if (kindParam !== void 0) {
68459
- if (kindParam === "all" || kindParam === TrafficEventKinds.crawler || kindParam === TrafficEventKinds["ai-user-fetch"] || kindParam === TrafficEventKinds["ai-referral"]) {
68460
- kind = kindParam;
68461
- } else {
68462
- throw validationError(
68463
- `"kind" must be one of: all, ${TrafficEventKinds.crawler}, ${TrafficEventKinds["ai-user-fetch"]}, ${TrafficEventKinds["ai-referral"]}`
68464
- );
68465
- }
68459
+ const kindList = kindParam === void 0 ? parseTrafficEventKindFilter("all") : typeof kindParam === "string" ? parseTrafficEventKindFilter(kindParam) : null;
68460
+ if (!kindList) {
68461
+ throw validationError(`"kind" must be ${TRAFFIC_EVENT_KIND_FILTER_HINT}`);
68466
68462
  }
68463
+ const kinds = new Set(kindList);
68467
68464
  const limitParam = request.query?.limit;
68468
68465
  const requestedLimit = limitParam ? parseInt(limitParam, 10) : 500;
68469
68466
  if (!Number.isFinite(requestedLimit) || requestedLimit <= 0) {
@@ -68494,7 +68491,7 @@ async function trafficRoutes(app, opts) {
68494
68491
  let aiReferralLandedHits = 0;
68495
68492
  let totalEventRows = 0;
68496
68493
  const seriesByBucket = /* @__PURE__ */ new Map();
68497
- if (kind === "all" || kind === TrafficEventKinds.crawler) {
68494
+ if (kinds.has(TrafficEventKinds.crawler)) {
68498
68495
  const crawlerFilters = [
68499
68496
  eq89(crawlerEventsHourly.projectId, project.id),
68500
68497
  gte24(crawlerEventsHourly.tsHour, sinceIso),
@@ -68569,7 +68566,7 @@ async function trafficRoutes(app, opts) {
68569
68566
  });
68570
68567
  }
68571
68568
  }
68572
- if (kind === "all" || kind === TrafficEventKinds["ai-user-fetch"]) {
68569
+ if (kinds.has(TrafficEventKinds["ai-user-fetch"])) {
68573
68570
  const userFetchFilters = [
68574
68571
  eq89(aiUserFetchEventsHourly.projectId, project.id),
68575
68572
  gte24(aiUserFetchEventsHourly.tsHour, sinceIso),
@@ -68608,7 +68605,7 @@ async function trafficRoutes(app, opts) {
68608
68605
  });
68609
68606
  }
68610
68607
  }
68611
- if (kind === "all" || kind === TrafficEventKinds["ai-referral"]) {
68608
+ if (kinds.has(TrafficEventKinds["ai-referral"])) {
68612
68609
  const aiFilters = [
68613
68610
  eq89(aiReferralEventsHourly.projectId, project.id),
68614
68611
  gte24(aiReferralEventsHourly.tsHour, sinceIso),