@canonry/canonry 7.63.1 → 7.64.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/aero/references/ai-traffic-tracking.md +12 -9
  2. package/assets/agent-workspace/skills/canonry/references/ai-traffic-tracking.md +12 -9
  3. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +20 -3
  4. package/assets/assets/{AgentSetupPage-D6lCJ1G1.js → AgentSetupPage-C1e8ca-F.js} +1 -1
  5. package/assets/assets/{AuditHistoryPanel-DlgI3o-U.js → AuditHistoryPanel-w8m0gCI_.js} +1 -1
  6. package/assets/assets/{BacklinksPage-ByiMqbSI.js → BacklinksPage-5KLau65-.js} +1 -1
  7. package/assets/assets/{HistoryPage-DclVeuLO.js → HistoryPage-BDT8bwji.js} +1 -1
  8. package/assets/assets/{MeasurementPropertyPage-DDHybtHa.js → MeasurementPropertyPage-BXeUhCMT.js} +1 -1
  9. package/assets/assets/{ProjectPage-vBu6oWFi.js → ProjectPage-DpkuLS-J.js} +1 -1
  10. package/assets/assets/{RunsPage-CYBJ6pXX.js → RunsPage-sX82BCc6.js} +1 -1
  11. package/assets/assets/{SettingsPage-w0GmXir0.js → SettingsPage-Ckpdf_CN.js} +1 -1
  12. package/assets/assets/{SiteHealthSection-DDTjGZ05.js → SiteHealthSection-BXzwqMPd.js} +2 -2
  13. package/assets/assets/{ToneBadge-MKA1xeYc.js → ToneBadge-DX3v0ZMs.js} +1 -1
  14. package/assets/assets/{TrafficPage-hUWYv-HT.js → TrafficPage-DXFWGVO1.js} +1 -1
  15. package/assets/assets/{TrafficSourceDetailPage-CGHgPxs8.js → TrafficSourceDetailPage-C5fkng5v.js} +1 -1
  16. package/assets/assets/{account-context-qX-Es0RK.js → account-context-CeU5Z9QZ.js} +1 -1
  17. package/assets/assets/{card-CzROANT5.js → card-BBGm0dhg.js} +1 -1
  18. package/assets/assets/{extract-error-message-BY1STLiX.js → extract-error-message-CfVZrmn7.js} +1 -1
  19. package/assets/assets/{format-helpers-BNQR1HNK.js → format-helpers-D7251Obw.js} +1 -1
  20. package/assets/assets/{index-LmB57HOs.js → index-DkJdIncY.js} +4 -4
  21. package/assets/assets/{query-client-Gz37p16p.js → query-client-D0E1gVp6.js} +1 -1
  22. package/assets/assets/{react-query-C6DtBAYQ.js → react-query-D23hl-0E.js} +1 -1
  23. package/assets/assets/{react-sigma_core.esm.min-CgxuyPPF.js → react-sigma_core.esm.min-00xBdRUm.js} +1 -1
  24. package/assets/assets/{service-DyHZWnMe.js → service-DgWa71E6.js} +1 -1
  25. package/assets/index.html +7 -7
  26. package/dist/{ads-FOUJNHP4.js → ads-KYINOV7M.js} +3 -3
  27. package/dist/{agent-UVDVH7LK.js → agent-KUYZWQDM.js} +7 -7
  28. package/dist/{agent-ask-UEYN2SQX.js → agent-ask-MMQJ676U.js} +3 -3
  29. package/dist/{agent-conversations-F54376Q2.js → agent-conversations-HHBEVWSA.js} +3 -3
  30. package/dist/{agent-memory-SOHBTJ4U.js → agent-memory-4GVGUXS5.js} +3 -3
  31. package/dist/{agent-providers-MMEK2H6V.js → agent-providers-NZHQGXOD.js} +3 -3
  32. package/dist/{agent-transcript-5IJ3VAEV.js → agent-transcript-DX6OH72V.js} +3 -3
  33. package/dist/{analytics-LDWO5IW6.js → analytics-ZB3WSJJ7.js} +3 -3
  34. package/dist/{apply-PSGFDJIC.js → apply-KINEQ47G.js} +3 -3
  35. package/dist/{backfill-2BVFKQ6J.js → backfill-6BNBH7ZO.js} +9 -9
  36. package/dist/{backlinks-X6DXIL2O.js → backlinks-H3HTXZDY.js} +3 -3
  37. package/dist/{bing-3HMFUEOO.js → bing-F4LWNUZV.js} +3 -3
  38. package/dist/{bootstrap-ZUSSLXCI.js → bootstrap-KBV763E2.js} +10 -10
  39. package/dist/{cdp-FH627HJ6.js → cdp-LN3ZPTDI.js} +7 -7
  40. package/dist/{chunk-HNZQVIPS.js → chunk-3I3TZNDR.js} +23 -1
  41. package/dist/{chunk-AGSQWIE4.js → chunk-3VHU332P.js} +20 -20
  42. package/dist/{chunk-A57HYHJ3.js → chunk-4MLRY4FJ.js} +1 -1
  43. package/dist/{chunk-PH7RTAWW.js → chunk-52VCSAX7.js} +1 -1
  44. package/dist/{chunk-5VAC4KQ2.js → chunk-7TJGQHY6.js} +3 -3
  45. package/dist/{chunk-LEG7F3DN.js → chunk-B23LQ2IZ.js} +2 -2
  46. package/dist/{chunk-5YC6IU44.js → chunk-C5ZK4IHK.js} +2 -2
  47. package/dist/{chunk-SN5A767O.js → chunk-CXZGOSWD.js} +1 -1
  48. package/dist/{chunk-2LAL5W6J.js → chunk-D7IDW3TO.js} +3 -3
  49. package/dist/{chunk-ZJTU73GW.js → chunk-DBP7MBK7.js} +3 -3
  50. package/dist/{chunk-GRWZC3GQ.js → chunk-DYCCEDZF.js} +1 -1
  51. package/dist/{chunk-CWMJQ2JV.js → chunk-E2K4HLIX.js} +4 -4
  52. package/dist/{chunk-UYPBR3SF.js → chunk-EGWLPPTB.js} +2 -2
  53. package/dist/{chunk-ERJ54U2I.js → chunk-GDQBZMDZ.js} +1 -1
  54. package/dist/{chunk-OIHJJHJR.js → chunk-GQILYY3G.js} +1 -1
  55. package/dist/{chunk-L2QPAUTQ.js → chunk-H7WFBL5L.js} +1 -1
  56. package/dist/{chunk-SG2OPR7J.js → chunk-HOPQMZOC.js} +1 -1
  57. package/dist/{chunk-V3QMOGZE.js → chunk-IGITZQRK.js} +5 -5
  58. package/dist/{chunk-5GMYD7UZ.js → chunk-IZ74LHLX.js} +5 -5
  59. package/dist/{chunk-NOQCIXM6.js → chunk-JUQBI2Y2.js} +1 -1
  60. package/dist/{chunk-JM6OFCLX.js → chunk-KH7443NX.js} +4 -4
  61. package/dist/{chunk-22ABGRB7.js → chunk-L6QDD6F5.js} +204 -115
  62. package/dist/{chunk-EHTSCLEL.js → chunk-LJZ7GIGO.js} +1 -1
  63. package/dist/{chunk-UBP3AAKA.js → chunk-LVT6WRLB.js} +1 -1
  64. package/dist/{chunk-32KNDPD3.js → chunk-NSGCU5X6.js} +348 -336
  65. package/dist/{chunk-QNFX7ZCT.js → chunk-S67ZCRDF.js} +1 -1
  66. package/dist/{chunk-H22RCHYH.js → chunk-SQXSMO35.js} +3 -3
  67. package/dist/{chunk-67262NJL.js → chunk-STI6DRNG.js} +2 -2
  68. package/dist/{chunk-LBD7YXVD.js → chunk-T42EHWAR.js} +2 -2
  69. package/dist/{chunk-IDQZTPRG.js → chunk-TWUBHLRB.js} +2 -2
  70. package/dist/{chunk-SQYYAYH6.js → chunk-U2QS52HS.js} +3 -3
  71. package/dist/{chunk-IRRONWF7.js → chunk-V4SAX4MI.js} +4 -4
  72. package/dist/{chunk-TKLE2Y6H.js → chunk-VCMF4TX5.js} +63 -3
  73. package/dist/{chunk-6ABOEN5D.js → chunk-WJHOTZV3.js} +8 -8
  74. package/dist/{citations-BKWLP5S3.js → citations-OBRSEU4U.js} +3 -3
  75. package/dist/{cli-catalog-VRJS66GR.js → cli-catalog-2PSBZUIA.js} +3 -3
  76. package/dist/{cli-commands-ONFE63OB.js → cli-commands-44OZDNWA.js} +7 -7
  77. package/dist/cli.js +13 -13
  78. package/dist/{competitor-VELMM2TJ.js → competitor-6CMPUGOO.js} +3 -3
  79. package/dist/{content-I525MITL.js → content-ZTWFVZEH.js} +3 -3
  80. package/dist/{dashboard-BC4NKAO2.js → dashboard-6M7TS53W.js} +6 -6
  81. package/dist/{demo-ZRFZ5EBH.js → demo-6NSR6BVC.js} +1 -1
  82. package/dist/{demo-server-7R7NGWJA.js → demo-server-3YD53OJ6.js} +11 -11
  83. package/dist/{discover-E2CV5ZP7.js → discover-2SD6PX63.js} +3 -3
  84. package/dist/{discover-eval-ESRCWRHP.js → discover-eval-N34ZXEGG.js} +3 -3
  85. package/dist/{doctor-BQDVERII.js → doctor-BKLHIVSH.js} +3 -3
  86. package/dist/{evidence-NUULK5XD.js → evidence-DFBKZAYQ.js} +3 -3
  87. package/dist/{export-cmd-K324RTN4.js → export-cmd-U43VCFQA.js} +3 -3
  88. package/dist/{ga-PQ36UFTK.js → ga-6SHEXO27.js} +22 -3
  89. package/dist/{gbp-KTYA6KHR.js → gbp-TMU3ASMH.js} +3 -3
  90. package/dist/{google-3D4E7TJX.js → google-RTDYVX35.js} +4 -4
  91. package/dist/{google-marketing-4FRO4PRN.js → google-marketing-VR7CZD3V.js} +1 -1
  92. package/dist/{health-cmd-CZJOZUAQ.js → health-cmd-R4CR5JSV.js} +3 -3
  93. package/dist/{history-JNH34GAM.js → history-76HXCNM7.js} +3 -3
  94. package/dist/index.d.ts +122 -63
  95. package/dist/index.js +24 -24
  96. package/dist/{init-TU4VSGVU.js → init-J6BADMB7.js} +11 -11
  97. package/dist/{insights-STYJSZBB.js → insights-JQ7ZUTEB.js} +3 -3
  98. package/dist/intelligence-service-XTCLJSAP.js +15 -0
  99. package/dist/{journeys-POTSSBOM.js → journeys-GPOCEKPM.js} +3 -3
  100. package/dist/{keys-BPCSPX2O.js → keys-CEPK4BP5.js} +3 -3
  101. package/dist/{keyword-6SML434W.js → keyword-6NCXMIFC.js} +3 -3
  102. package/dist/{logs-WTKKH4UJ.js → logs-IIGC4WKI.js} +3 -3
  103. package/dist/{mcp-HTAHMVRC.js → mcp-RC2LU65U.js} +2 -2
  104. package/dist/mcp.js +9 -9
  105. package/dist/{measurement-plan-LJHKKRZ7.js → measurement-plan-BH3ZXRLG.js} +5 -5
  106. package/dist/{notify-EARS4LMG.js → notify-JVL7ZQWC.js} +3 -3
  107. package/dist/{organic-evidence-W7ZQQKPL.js → organic-evidence-FU2254CJ.js} +3 -3
  108. package/dist/{overview-C7KQD4NR.js → overview-CQOJKYB3.js} +4 -4
  109. package/dist/{project-YU2FIL4B.js → project-CHBBMK7T.js} +7 -4
  110. package/dist/{query-SYFLWHFA.js → query-FIUQXVX4.js} +3 -3
  111. package/dist/{research-UOUXMFBV.js → research-N3CSBKTG.js} +3 -3
  112. package/dist/{results-export-VYPG2Z6S.js → results-export-5RCAVBD4.js} +3 -3
  113. package/dist/{run-GZD3MQGS.js → run-6GQF3LBR.js} +4 -4
  114. package/dist/{schedule-PAA2NLGF.js → schedule-Z36TCNV2.js} +3 -3
  115. package/dist/{search-6RWCUEEY.js → search-ON4HP22R.js} +3 -3
  116. package/dist/{serve-VIEGFGSK.js → serve-GWGRQVKA.js} +25 -25
  117. package/dist/{session-JLH72BF5.js → session-XHMABUUK.js} +12 -12
  118. package/dist/{settings-TTA775EJ.js → settings-LVZDNSTS.js} +3 -3
  119. package/dist/{skills-GA35KKOV.js → skills-3DOCO57E.js} +2 -2
  120. package/dist/{snapshot-QVQVAMMN.js → snapshot-JVUWV4MQ.js} +3 -3
  121. package/dist/{src-CTHVFVLF.js → src-QCQT7JBJ.js} +2 -2
  122. package/dist/{status-E7B726S6.js → status-BAAI3UGB.js} +4 -4
  123. package/dist/{technical-aeo-SMPN3QDQ.js → technical-aeo-RF3KVZNQ.js} +3 -3
  124. package/dist/{telemetry-CTBFPMWD.js → telemetry-67H5UO2X.js} +4 -4
  125. package/dist/{tools-YOV2KHF2.js → tools-65JSRP7T.js} +11 -11
  126. package/dist/{traffic-XACOSYYM.js → traffic-OZMUJLQG.js} +5 -5
  127. package/dist/{users-WJC7SGRL.js → users-5Q6PLQTL.js} +3 -3
  128. package/dist/{visibility-stats-H3ZNFV5M.js → visibility-stats-L35IYACG.js} +3 -3
  129. package/dist/{wordpress-72YMWF7F.js → wordpress-I64CCIJA.js} +3 -3
  130. package/package.json +1 -1
  131. package/dist/intelligence-service-MWTHUE7S.js +0 -15
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-TKLE2Y6H.js";
4
+ } from "./chunk-VCMF4TX5.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -2,11 +2,11 @@ import {
2
2
  dedupeGscSitemapUrls,
3
3
  resolveDiscoveredGscSitemapUrls,
4
4
  submitGscSitemapBatches
5
- } from "./chunk-SN5A767O.js";
5
+ } from "./chunk-CXZGOSWD.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-NOQCIXM6.js";
9
+ } from "./chunk-JUQBI2Y2.js";
10
10
  import {
11
11
  CliError
12
12
  } from "./chunk-HGMYEDAQ.js";
@@ -173,7 +173,7 @@ import {
173
173
  trafficSeriesGranularitySchema,
174
174
  visibilityCompareSelectionSchema,
175
175
  visibilityReportRequestSchema
176
- } from "./chunk-TKLE2Y6H.js";
176
+ } from "./chunk-VCMF4TX5.js";
177
177
 
178
178
  // src/mcp/tool-registry.ts
179
179
  import { z as z2 } from "zod";
@@ -5,7 +5,7 @@ import {
5
5
  loadConfig,
6
6
  loadConfigRaw,
7
7
  saveConfigPatch
8
- } from "./chunk-A57HYHJ3.js";
8
+ } from "./chunk-4MLRY4FJ.js";
9
9
  import {
10
10
  CANONRY_NPM_PACKAGE_URL,
11
11
  compareSemver,
@@ -18,7 +18,7 @@ import {
18
18
  updateCheckEnvOptOut,
19
19
  upgradeCaveatFor,
20
20
  upgradeCommandFor
21
- } from "./chunk-TKLE2Y6H.js";
21
+ } from "./chunk-VCMF4TX5.js";
22
22
 
23
23
  // src/runtime-context.ts
24
24
  function cliRuntimeContext(env = process.env, stdio = process) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  trackIntegrationConnection
3
- } from "./chunk-CWMJQ2JV.js";
3
+ } from "./chunk-E2K4HLIX.js";
4
4
  import {
5
5
  cliRuntimeContext
6
- } from "./chunk-67262NJL.js";
6
+ } from "./chunk-STI6DRNG.js";
7
7
 
8
8
  // src/cli-connection-telemetry.ts
9
9
  function trackCliConnection(properties) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
4
  import {
5
5
  emitJsonl
6
6
  } from "./chunk-Z7IUAJOF.js";
@@ -19,7 +19,7 @@ import {
19
19
  formatMicros,
20
20
  formatRunErrorOneLine,
21
21
  resolveProviderInput
22
- } from "./chunk-TKLE2Y6H.js";
22
+ } from "./chunk-VCMF4TX5.js";
23
23
 
24
24
  // src/commands/run.ts
25
25
  function getClient() {
@@ -2,18 +2,18 @@ import {
2
2
  configExists,
3
3
  loadConfigRaw,
4
4
  saveConfigPatch
5
- } from "./chunk-A57HYHJ3.js";
5
+ } from "./chunk-4MLRY4FJ.js";
6
6
  import {
7
7
  BUNDLED_SKILL_NAMES,
8
8
  installSkills
9
- } from "./chunk-PH7RTAWW.js";
9
+ } from "./chunk-52VCSAX7.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-TKLE2Y6H.js";
16
+ } from "./chunk-VCMF4TX5.js";
17
17
 
18
18
  // src/skills-autosync.ts
19
19
  import fs from "fs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registeredProviderNames
3
- } from "./chunk-GRWZC3GQ.js";
3
+ } from "./chunk-DYCCEDZF.js";
4
4
  import {
5
5
  configExists,
6
6
  loadConfigRaw
7
- } from "./chunk-A57HYHJ3.js";
7
+ } from "./chunk-4MLRY4FJ.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-CTHVFVLF.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-QCQT7JBJ.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-VIEGFGSK.js");
50
+ const { serveCommand } = await import("./serve-GWGRQVKA.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -3842,8 +3842,21 @@ var ga4EventNameSchema = z7.string().trim().regex(/^[a-z]\w{0,39}$/i, {
3842
3842
  var measurementConfigSchema = z7.object({
3843
3843
  marketingHosts: z7.array(marketingHostSchema).overwrite((values) => dedupeStable(values, true)),
3844
3844
  brandTerms: z7.array(brandTermSchema).overwrite((values) => dedupeStable(values, true)),
3845
- leadEventNames: z7.array(ga4EventNameSchema).overwrite((values) => dedupeStable(values))
3845
+ leadEventNames: z7.array(ga4EventNameSchema).overwrite((values) => dedupeStable(values)),
3846
+ /**
3847
+ * Also count the events the GA4 property marks as key events (its
3848
+ * conversions, read from the GA4 Admin API on each sync) alongside
3849
+ * `leadEventNames`. Omitted means on; set false to count only
3850
+ * `leadEventNames`.
3851
+ */
3852
+ countKeyEvents: z7.boolean().optional()
3846
3853
  });
3854
+ function countsKeyEvents(config) {
3855
+ return config.countKeyEvents !== false;
3856
+ }
3857
+ function countedLeadEventNames(configured, keyEvents) {
3858
+ return [.../* @__PURE__ */ new Set([...configured, ...keyEvents])].sort();
3859
+ }
3847
3860
  function createDefaultMeasurementConfig() {
3848
3861
  return {
3849
3862
  marketingHosts: [],
@@ -4013,7 +4026,32 @@ var gaMeasurementAnalysisDtoSchema = z7.object({
4013
4026
  * GA4's own AI channel group in `channels`, which does not say which
4014
4027
  * engine and pools paid with organic.
4015
4028
  */
4016
- aiEngines: analysisAiEngineLeadsSchema
4029
+ aiEngines: analysisAiEngineLeadsSchema,
4030
+ /**
4031
+ * Which GA4 events count as conversions: the configured
4032
+ * `leadEventNames`, plus the property's key events when `countKeyEvents`
4033
+ * is on. `keyEvents` is the last successful read (null before one), and
4034
+ * `keyEventsError` the latest failed read, which keeps the previous list.
4035
+ */
4036
+ countedEvents: z7.object({
4037
+ configured: z7.array(z7.string()),
4038
+ keyEventsEnabled: z7.boolean(),
4039
+ keyEvents: z7.array(z7.string()).nullable(),
4040
+ keyEventsError: z7.string().nullable()
4041
+ }),
4042
+ /**
4043
+ * Conversions per counted event name, so sales, bookings and form leads
4044
+ * read separately. `origin` says whether the name is configured, a GA4
4045
+ * key event, or both. Measured events come first, ranked like
4046
+ * `channels`; `measured: false` is a counted event no lead sync has
4047
+ * fetched yet, listed without `periods` rather than as a zero.
4048
+ */
4049
+ events: z7.array(z7.object({
4050
+ eventName: z7.string(),
4051
+ origin: z7.enum(["configured", "key-event", "both"]),
4052
+ measured: z7.boolean(),
4053
+ periods: z7.array(analysisEventPeriodSchema)
4054
+ }))
4017
4055
  }),
4018
4056
  engagement: z7.object({
4019
4057
  status: z7.enum(["ready", "unavailable"]),
@@ -17420,7 +17458,25 @@ var ga4SyncResponseDtoSchema = z50.object({
17420
17458
  syncedAt: z50.string(),
17421
17459
  measurement: z50.object({
17422
17460
  acquisition: z50.object({ days: z50.number().int().nonnegative(), status: z50.enum(["ready", "error"]), rowCount: z50.number().int().nonnegative(), error: z50.string().optional() }),
17423
- leads: z50.object({ days: z50.number().int().nonnegative(), status: z50.enum(["ready", "error", "not-configured"]), rowCount: z50.number().int().nonnegative(), attributionScope: z50.enum(["landing-page", "channel"]).optional(), error: z50.string().optional() }),
17461
+ leads: z50.object({
17462
+ days: z50.number().int().nonnegative(),
17463
+ status: z50.enum(["ready", "error", "not-configured"]),
17464
+ rowCount: z50.number().int().nonnegative(),
17465
+ attributionScope: z50.enum(["landing-page", "channel"]).optional(),
17466
+ error: z50.string().optional(),
17467
+ /** The GA4 events this sync counted: the configured lead events plus the property's key events. */
17468
+ eventNames: z50.array(z50.string()).optional(),
17469
+ /**
17470
+ * The property's key-event read. `read` lists them; `error` keeps the
17471
+ * previous successful list and names the failure; `disabled` means the
17472
+ * project counts only its configured lead events.
17473
+ */
17474
+ keyEvents: z50.object({
17475
+ status: z50.enum(["read", "error", "disabled"]),
17476
+ names: z50.array(z50.string()),
17477
+ error: z50.string().optional()
17478
+ }).optional()
17479
+ }),
17424
17480
  /**
17425
17481
  * GA4's Search Console landing-page snapshot. Absent when `only` names
17426
17482
  * another slice, since this sync did not attempt it. Its failure never
@@ -21613,6 +21669,7 @@ var projectFieldsStateSchema = z70.object({
21613
21669
  "measurement.marketingHosts": measurementConfigSchema.shape.marketingHosts.optional(),
21614
21670
  "measurement.brandTerms": measurementConfigSchema.shape.brandTerms.optional(),
21615
21671
  "measurement.leadEventNames": measurementConfigSchema.shape.leadEventNames.optional(),
21672
+ "measurement.countKeyEvents": z70.boolean().optional(),
21616
21673
  locations: z70.array(locationContextSchema).optional(),
21617
21674
  defaultLocation: z70.string().nullable().optional(),
21618
21675
  autoExtractBacklinks: z70.boolean().optional(),
@@ -21636,6 +21693,7 @@ var projectFieldsChangeSchema = z70.object({
21636
21693
  "measurement.marketingHosts": fieldChangeSchema(measurementConfigSchema.shape.marketingHosts).optional(),
21637
21694
  "measurement.brandTerms": fieldChangeSchema(measurementConfigSchema.shape.brandTerms).optional(),
21638
21695
  "measurement.leadEventNames": fieldChangeSchema(measurementConfigSchema.shape.leadEventNames).optional(),
21696
+ "measurement.countKeyEvents": fieldChangeSchema(z70.boolean()).optional(),
21639
21697
  locations: fieldChangeSchema(z70.array(locationContextSchema)).optional(),
21640
21698
  defaultLocation: fieldChangeSchema(z70.string()).optional(),
21641
21699
  autoExtractBacklinks: fieldChangeSchema(z70.boolean()).optional(),
@@ -26080,6 +26138,8 @@ export {
26080
26138
  roundRatio,
26081
26139
  percentOf,
26082
26140
  measurementConfigSchema,
26141
+ countsKeyEvents,
26142
+ countedLeadEventNames,
26083
26143
  DEFAULT_MEASUREMENT_CONFIG,
26084
26144
  gaMeasurementAnalysisWindowSchema,
26085
26145
  gaMeasurementHostScopeSchema,
@@ -7,27 +7,27 @@ import {
7
7
  reparseStoredResult4,
8
8
  reparseStoredResult5,
9
9
  resolveStoredApiResponse
10
- } from "./chunk-UYPBR3SF.js";
10
+ } from "./chunk-EGWLPPTB.js";
11
11
  import {
12
12
  loadConfig
13
- } from "./chunk-A57HYHJ3.js";
13
+ } from "./chunk-4MLRY4FJ.js";
14
14
  import {
15
15
  isMachineFormat
16
16
  } from "./chunk-HGMYEDAQ.js";
17
17
  import {
18
18
  determineCitationState
19
- } from "./chunk-EHTSCLEL.js";
19
+ } from "./chunk-LJZ7GIGO.js";
20
20
  import {
21
21
  backfillProjectAnswerMentions,
22
22
  competitorIdentityColumns,
23
23
  createRunCompetitorResolver,
24
24
  readMarketCompetitorNames,
25
25
  refreshSnapshotMentionIdentity
26
- } from "./chunk-22ABGRB7.js";
26
+ } from "./chunk-L6QDD6F5.js";
27
27
  import {
28
28
  classifyAiUserFetch,
29
29
  classifyCrawler
30
- } from "./chunk-SG2OPR7J.js";
30
+ } from "./chunk-HOPQMZOC.js";
31
31
  import {
32
32
  aiUserFetchEventsHourly,
33
33
  auditLog,
@@ -42,7 +42,7 @@ import {
42
42
  querySnapshots,
43
43
  rawEventSamples,
44
44
  runs
45
- } from "./chunk-HNZQVIPS.js";
45
+ } from "./chunk-3I3TZNDR.js";
46
46
  import {
47
47
  ProviderNames,
48
48
  RetrievalContracts,
@@ -59,7 +59,7 @@ import {
59
59
  extractRecommendedCompetitors,
60
60
  normalizeUrlPath,
61
61
  openRouterRouteModel
62
- } from "./chunk-TKLE2Y6H.js";
62
+ } from "./chunk-VCMF4TX5.js";
63
63
 
64
64
  // src/commands/backfill.ts
65
65
  import { setImmediate as yieldToEventLoop } from "timers/promises";
@@ -437,7 +437,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
437
437
  }
438
438
  }
439
439
  async function backfillInsightsCommand(project, opts) {
440
- const { IntelligenceService } = await import("./intelligence-service-MWTHUE7S.js");
440
+ const { IntelligenceService } = await import("./intelligence-service-XTCLJSAP.js");
441
441
  const config = loadConfig();
442
442
  const db = createClient(config.database);
443
443
  migrate(db);
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import "./chunk-HGMYEDAQ.js";
7
- import "./chunk-TKLE2Y6H.js";
7
+ import "./chunk-VCMF4TX5.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-ZJTU73GW.js";
7
- import "./chunk-L2QPAUTQ.js";
6
+ } from "./chunk-DBP7MBK7.js";
7
+ import "./chunk-H7WFBL5L.js";
8
8
  import "./chunk-Z7IUAJOF.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
- import "./chunk-TKLE2Y6H.js";
10
+ import "./chunk-VCMF4TX5.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-32KNDPD3.js";
3
+ } from "./chunk-NSGCU5X6.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
- import "./chunk-2LAL5W6J.js";
5
+ import "./chunk-D7IDW3TO.js";
6
6
  import "./chunk-VJWDBFSL.js";
7
7
  import "./chunk-TSENU4GG.js";
8
- import "./chunk-LEG7F3DN.js";
9
- import "./chunk-A57HYHJ3.js";
10
- import "./chunk-L2QPAUTQ.js";
8
+ import "./chunk-B23LQ2IZ.js";
9
+ import "./chunk-4MLRY4FJ.js";
10
+ import "./chunk-H7WFBL5L.js";
11
11
  import "./chunk-Z7IUAJOF.js";
12
- import "./chunk-NOQCIXM6.js";
12
+ import "./chunk-JUQBI2Y2.js";
13
13
  import "./chunk-AOJU5LKX.js";
14
14
  import "./chunk-HGMYEDAQ.js";
15
- import "./chunk-TKLE2Y6H.js";
15
+ import "./chunk-VCMF4TX5.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-32KNDPD3.js";
4
+ } from "./chunk-NSGCU5X6.js";
5
5
  import {
6
6
  buildSetupState,
7
7
  runPendingServeHandoff
8
- } from "./chunk-IRRONWF7.js";
8
+ } from "./chunk-V4SAX4MI.js";
9
9
  import "./chunk-6GO5VVAC.js";
10
- import "./chunk-2LAL5W6J.js";
10
+ import "./chunk-D7IDW3TO.js";
11
11
  import "./chunk-VJWDBFSL.js";
12
12
  import "./chunk-TSENU4GG.js";
13
- import "./chunk-GRWZC3GQ.js";
13
+ import "./chunk-DYCCEDZF.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-67262NJL.js";
27
+ } from "./chunk-STI6DRNG.js";
28
28
  import {
29
29
  autoSyncSkills,
30
30
  formatAutoSyncNotice
31
- } from "./chunk-SQYYAYH6.js";
32
- import "./chunk-LEG7F3DN.js";
33
- import "./chunk-A57HYHJ3.js";
31
+ } from "./chunk-U2QS52HS.js";
32
+ import "./chunk-B23LQ2IZ.js";
33
+ import "./chunk-4MLRY4FJ.js";
34
34
  import {
35
35
  accessFilterFromArgs,
36
36
  dispatchRegisteredCommand,
37
37
  printCliCatalog
38
- } from "./chunk-ZJTU73GW.js";
38
+ } from "./chunk-DBP7MBK7.js";
39
39
  import {
40
40
  resolveCliAccess
41
- } from "./chunk-L2QPAUTQ.js";
41
+ } from "./chunk-H7WFBL5L.js";
42
42
  import "./chunk-Z7IUAJOF.js";
43
- import "./chunk-PH7RTAWW.js";
44
- import "./chunk-NOQCIXM6.js";
43
+ import "./chunk-52VCSAX7.js";
44
+ import "./chunk-JUQBI2Y2.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-TKLE2Y6H.js";
55
+ } from "./chunk-VCMF4TX5.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-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.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-TKLE2Y6H.js";
24
+ } from "./chunk-VCMF4TX5.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-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.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-TKLE2Y6H.js";
17
+ } from "./chunk-VCMF4TX5.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-A57HYHJ3.js";
4
+ } from "./chunk-4MLRY4FJ.js";
5
5
  import {
6
6
  isMachineFormat
7
7
  } from "./chunk-HGMYEDAQ.js";
8
8
  import {
9
9
  anyUsersExist
10
- } from "./chunk-22ABGRB7.js";
11
- import "./chunk-SG2OPR7J.js";
12
- import "./chunk-QNFX7ZCT.js";
10
+ } from "./chunk-L6QDD6F5.js";
11
+ import "./chunk-HOPQMZOC.js";
12
+ import "./chunk-S67ZCRDF.js";
13
13
  import {
14
14
  createClient
15
- } from "./chunk-HNZQVIPS.js";
16
- import "./chunk-TKLE2Y6H.js";
15
+ } from "./chunk-3I3TZNDR.js";
16
+ import "./chunk-VCMF4TX5.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-7R7NGWJA.js");
43
+ const { createDemoServer } = await import("./demo-server-3YD53OJ6.js");
44
44
  const app = await createDemoServer({ trustProxy });
45
45
  let stopping = false;
46
46
  const stop = () => {
@@ -5,12 +5,12 @@ import {
5
5
  computeFactorAverages,
6
6
  layoutSiteCrawlGraphInput,
7
7
  persistSiteCrawlGraphLayout
8
- } from "./chunk-5YC6IU44.js";
8
+ } from "./chunk-C5ZK4IHK.js";
9
9
  import {
10
10
  canonryMcpTools
11
- } from "./chunk-H22RCHYH.js";
12
- import "./chunk-SN5A767O.js";
13
- import "./chunk-NOQCIXM6.js";
11
+ } from "./chunk-SQXSMO35.js";
12
+ import "./chunk-CXZGOSWD.js";
13
+ import "./chunk-JUQBI2Y2.js";
14
14
  import {
15
15
  PACKAGE_VERSION
16
16
  } from "./chunk-AOJU5LKX.js";
@@ -18,16 +18,16 @@ import "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  HISTORY_WINDOW_RUNS,
20
20
  IntelligenceService
21
- } from "./chunk-5GMYD7UZ.js";
21
+ } from "./chunk-IZ74LHLX.js";
22
22
  import {
23
23
  determineCitationState
24
- } from "./chunk-EHTSCLEL.js";
24
+ } from "./chunk-LJZ7GIGO.js";
25
25
  import {
26
26
  apiRoutes,
27
27
  assessConversionTrackingIntegrity
28
- } from "./chunk-22ABGRB7.js";
29
- import "./chunk-SG2OPR7J.js";
30
- import "./chunk-QNFX7ZCT.js";
28
+ } from "./chunk-L6QDD6F5.js";
29
+ import "./chunk-HOPQMZOC.js";
30
+ import "./chunk-S67ZCRDF.js";
31
31
  import {
32
32
  adsAdGroups,
33
33
  adsAds,
@@ -103,7 +103,7 @@ import {
103
103
  siteCrawlPages,
104
104
  siteCrawlSnapshots,
105
105
  trafficSources
106
- } from "./chunk-HNZQVIPS.js";
106
+ } from "./chunk-3I3TZNDR.js";
107
107
  import {
108
108
  AI_ENGINE_DOMAINS,
109
109
  GA_OVERVIEW_HISTORY_DAYS,
@@ -148,7 +148,7 @@ import {
148
148
  roundPreservingTotal,
149
149
  siteAuditPageFactorSchema,
150
150
  wilsonInterval
151
- } from "./chunk-TKLE2Y6H.js";
151
+ } from "./chunk-VCMF4TX5.js";
152
152
  import "./chunk-MLKGABMK.js";
153
153
 
154
154
  // src/demo-server.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  CitationStates,
15
15
  DiscoveryPromoteCompetitorSkipReasons,
16
16
  describeError
17
- } from "./chunk-TKLE2Y6H.js";
17
+ } from "./chunk-VCMF4TX5.js";
18
18
  import "./chunk-MLKGABMK.js";
19
19
 
20
20
  // src/commands/discover.ts
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  CliError,
8
8
  EXIT_USER_ERROR
9
9
  } from "./chunk-HGMYEDAQ.js";
10
- import "./chunk-TKLE2Y6H.js";
10
+ import "./chunk-VCMF4TX5.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
 
13
13
  // src/commands/discover-eval.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  CheckScopes,
15
15
  CheckStatuses
16
- } from "./chunk-TKLE2Y6H.js";
16
+ } from "./chunk-VCMF4TX5.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
 
19
19
  // src/commands/doctor.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -9,7 +9,7 @@ import "./chunk-AOJU5LKX.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  CitationStates
12
- } from "./chunk-TKLE2Y6H.js";
12
+ } from "./chunk-VCMF4TX5.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/evidence.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
4
- import "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-B23LQ2IZ.js";
4
+ import "./chunk-4MLRY4FJ.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  isEndpointMissing,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  isRedactedNotificationUrl
12
- } from "./chunk-TKLE2Y6H.js";
12
+ } from "./chunk-VCMF4TX5.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/export-cmd.ts