@canonry/canonry 7.63.0 → 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 (132) 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/agent-workspace/skills/canonry/references/server-side-traffic.md +10 -0
  5. package/assets/assets/{AgentSetupPage-D6lCJ1G1.js → AgentSetupPage-C1e8ca-F.js} +1 -1
  6. package/assets/assets/{AuditHistoryPanel-DlgI3o-U.js → AuditHistoryPanel-w8m0gCI_.js} +1 -1
  7. package/assets/assets/{BacklinksPage-ByiMqbSI.js → BacklinksPage-5KLau65-.js} +1 -1
  8. package/assets/assets/{HistoryPage-DclVeuLO.js → HistoryPage-BDT8bwji.js} +1 -1
  9. package/assets/assets/{MeasurementPropertyPage-DDHybtHa.js → MeasurementPropertyPage-BXeUhCMT.js} +1 -1
  10. package/assets/assets/{ProjectPage-vBu6oWFi.js → ProjectPage-DpkuLS-J.js} +1 -1
  11. package/assets/assets/{RunsPage-CYBJ6pXX.js → RunsPage-sX82BCc6.js} +1 -1
  12. package/assets/assets/{SettingsPage-w0GmXir0.js → SettingsPage-Ckpdf_CN.js} +1 -1
  13. package/assets/assets/{SiteHealthSection-DDTjGZ05.js → SiteHealthSection-BXzwqMPd.js} +2 -2
  14. package/assets/assets/{ToneBadge-MKA1xeYc.js → ToneBadge-DX3v0ZMs.js} +1 -1
  15. package/assets/assets/{TrafficPage-hUWYv-HT.js → TrafficPage-DXFWGVO1.js} +1 -1
  16. package/assets/assets/{TrafficSourceDetailPage-CGHgPxs8.js → TrafficSourceDetailPage-C5fkng5v.js} +1 -1
  17. package/assets/assets/{account-context-qX-Es0RK.js → account-context-CeU5Z9QZ.js} +1 -1
  18. package/assets/assets/{card-CzROANT5.js → card-BBGm0dhg.js} +1 -1
  19. package/assets/assets/{extract-error-message-BY1STLiX.js → extract-error-message-CfVZrmn7.js} +1 -1
  20. package/assets/assets/{format-helpers-BNQR1HNK.js → format-helpers-D7251Obw.js} +1 -1
  21. package/assets/assets/{index-LmB57HOs.js → index-DkJdIncY.js} +4 -4
  22. package/assets/assets/{query-client-Gz37p16p.js → query-client-D0E1gVp6.js} +1 -1
  23. package/assets/assets/{react-query-C6DtBAYQ.js → react-query-D23hl-0E.js} +1 -1
  24. package/assets/assets/{react-sigma_core.esm.min-CgxuyPPF.js → react-sigma_core.esm.min-00xBdRUm.js} +1 -1
  25. package/assets/assets/{service-DyHZWnMe.js → service-DgWa71E6.js} +1 -1
  26. package/assets/index.html +7 -7
  27. package/dist/{ads-FOUJNHP4.js → ads-KYINOV7M.js} +3 -3
  28. package/dist/{agent-UVDVH7LK.js → agent-KUYZWQDM.js} +7 -7
  29. package/dist/{agent-ask-UEYN2SQX.js → agent-ask-MMQJ676U.js} +3 -3
  30. package/dist/{agent-conversations-F54376Q2.js → agent-conversations-HHBEVWSA.js} +3 -3
  31. package/dist/{agent-memory-SOHBTJ4U.js → agent-memory-4GVGUXS5.js} +3 -3
  32. package/dist/{agent-providers-MMEK2H6V.js → agent-providers-NZHQGXOD.js} +3 -3
  33. package/dist/{agent-transcript-5IJ3VAEV.js → agent-transcript-DX6OH72V.js} +3 -3
  34. package/dist/{analytics-LDWO5IW6.js → analytics-ZB3WSJJ7.js} +3 -3
  35. package/dist/{apply-PSGFDJIC.js → apply-KINEQ47G.js} +3 -3
  36. package/dist/{backfill-HZU3BBOH.js → backfill-6BNBH7ZO.js} +9 -9
  37. package/dist/{backlinks-X6DXIL2O.js → backlinks-H3HTXZDY.js} +3 -3
  38. package/dist/{bing-3HMFUEOO.js → bing-F4LWNUZV.js} +3 -3
  39. package/dist/{bootstrap-ZUSSLXCI.js → bootstrap-KBV763E2.js} +10 -10
  40. package/dist/{cdp-FH627HJ6.js → cdp-LN3ZPTDI.js} +7 -7
  41. package/dist/{chunk-HNZQVIPS.js → chunk-3I3TZNDR.js} +23 -1
  42. package/dist/{chunk-DBA374EM.js → chunk-3VHU332P.js} +24 -20
  43. package/dist/{chunk-A57HYHJ3.js → chunk-4MLRY4FJ.js} +1 -1
  44. package/dist/{chunk-PH7RTAWW.js → chunk-52VCSAX7.js} +1 -1
  45. package/dist/{chunk-5VAC4KQ2.js → chunk-7TJGQHY6.js} +3 -3
  46. package/dist/{chunk-LEG7F3DN.js → chunk-B23LQ2IZ.js} +2 -2
  47. package/dist/{chunk-5YC6IU44.js → chunk-C5ZK4IHK.js} +2 -2
  48. package/dist/{chunk-SN5A767O.js → chunk-CXZGOSWD.js} +1 -1
  49. package/dist/{chunk-2LAL5W6J.js → chunk-D7IDW3TO.js} +3 -3
  50. package/dist/{chunk-ZJTU73GW.js → chunk-DBP7MBK7.js} +3 -3
  51. package/dist/{chunk-GRWZC3GQ.js → chunk-DYCCEDZF.js} +1 -1
  52. package/dist/{chunk-CWMJQ2JV.js → chunk-E2K4HLIX.js} +4 -4
  53. package/dist/{chunk-UYPBR3SF.js → chunk-EGWLPPTB.js} +2 -2
  54. package/dist/{chunk-ERJ54U2I.js → chunk-GDQBZMDZ.js} +1 -1
  55. package/dist/{chunk-OIHJJHJR.js → chunk-GQILYY3G.js} +1 -1
  56. package/dist/{chunk-L2QPAUTQ.js → chunk-H7WFBL5L.js} +1 -1
  57. package/dist/{chunk-SG2OPR7J.js → chunk-HOPQMZOC.js} +1 -1
  58. package/dist/{chunk-WYTRXYUR.js → chunk-IGITZQRK.js} +5 -5
  59. package/dist/{chunk-TDWNONBU.js → chunk-IZ74LHLX.js} +5 -5
  60. package/dist/{chunk-NOQCIXM6.js → chunk-JUQBI2Y2.js} +1 -1
  61. package/dist/{chunk-QPTSZDHE.js → chunk-KH7443NX.js} +4 -4
  62. package/dist/{chunk-Q4U2GJME.js → chunk-L6QDD6F5.js} +316 -158
  63. package/dist/{chunk-EHTSCLEL.js → chunk-LJZ7GIGO.js} +1 -1
  64. package/dist/{chunk-UBP3AAKA.js → chunk-LVT6WRLB.js} +1 -1
  65. package/dist/{chunk-I5QSS3CY.js → chunk-NSGCU5X6.js} +348 -336
  66. package/dist/{chunk-QNFX7ZCT.js → chunk-S67ZCRDF.js} +1 -1
  67. package/dist/{chunk-H22RCHYH.js → chunk-SQXSMO35.js} +3 -3
  68. package/dist/{chunk-67262NJL.js → chunk-STI6DRNG.js} +2 -2
  69. package/dist/{chunk-LBD7YXVD.js → chunk-T42EHWAR.js} +2 -2
  70. package/dist/{chunk-IDQZTPRG.js → chunk-TWUBHLRB.js} +2 -2
  71. package/dist/{chunk-SQYYAYH6.js → chunk-U2QS52HS.js} +3 -3
  72. package/dist/{chunk-W5TIRS4U.js → chunk-V4SAX4MI.js} +4 -4
  73. package/dist/{chunk-TKLE2Y6H.js → chunk-VCMF4TX5.js} +63 -3
  74. package/dist/{chunk-XWDCLX55.js → chunk-WJHOTZV3.js} +8 -8
  75. package/dist/{citations-BKWLP5S3.js → citations-OBRSEU4U.js} +3 -3
  76. package/dist/{cli-catalog-VRJS66GR.js → cli-catalog-2PSBZUIA.js} +3 -3
  77. package/dist/{cli-commands-6LZ5OIIP.js → cli-commands-44OZDNWA.js} +7 -7
  78. package/dist/cli.js +13 -13
  79. package/dist/{competitor-VELMM2TJ.js → competitor-6CMPUGOO.js} +3 -3
  80. package/dist/{content-I525MITL.js → content-ZTWFVZEH.js} +3 -3
  81. package/dist/{dashboard-XJJ6NZ2L.js → dashboard-6M7TS53W.js} +6 -6
  82. package/dist/{demo-X7LQ24GS.js → demo-6NSR6BVC.js} +1 -1
  83. package/dist/{demo-server-MBPBTJXG.js → demo-server-3YD53OJ6.js} +11 -11
  84. package/dist/{discover-E2CV5ZP7.js → discover-2SD6PX63.js} +3 -3
  85. package/dist/{discover-eval-ESRCWRHP.js → discover-eval-N34ZXEGG.js} +3 -3
  86. package/dist/{doctor-BQDVERII.js → doctor-BKLHIVSH.js} +3 -3
  87. package/dist/{evidence-NUULK5XD.js → evidence-DFBKZAYQ.js} +3 -3
  88. package/dist/{export-cmd-K324RTN4.js → export-cmd-U43VCFQA.js} +3 -3
  89. package/dist/{ga-PQ36UFTK.js → ga-6SHEXO27.js} +22 -3
  90. package/dist/{gbp-KTYA6KHR.js → gbp-TMU3ASMH.js} +3 -3
  91. package/dist/{google-3D4E7TJX.js → google-RTDYVX35.js} +4 -4
  92. package/dist/{google-marketing-4FRO4PRN.js → google-marketing-VR7CZD3V.js} +1 -1
  93. package/dist/{health-cmd-CZJOZUAQ.js → health-cmd-R4CR5JSV.js} +3 -3
  94. package/dist/{history-JNH34GAM.js → history-76HXCNM7.js} +3 -3
  95. package/dist/index.d.ts +59 -0
  96. package/dist/index.js +24 -24
  97. package/dist/{init-JRGRHLYU.js → init-J6BADMB7.js} +11 -11
  98. package/dist/{insights-STYJSZBB.js → insights-JQ7ZUTEB.js} +3 -3
  99. package/dist/intelligence-service-XTCLJSAP.js +15 -0
  100. package/dist/{journeys-POTSSBOM.js → journeys-GPOCEKPM.js} +3 -3
  101. package/dist/{keys-BPCSPX2O.js → keys-CEPK4BP5.js} +3 -3
  102. package/dist/{keyword-6SML434W.js → keyword-6NCXMIFC.js} +3 -3
  103. package/dist/{logs-WTKKH4UJ.js → logs-IIGC4WKI.js} +3 -3
  104. package/dist/{mcp-HTAHMVRC.js → mcp-RC2LU65U.js} +2 -2
  105. package/dist/mcp.js +9 -9
  106. package/dist/{measurement-plan-LJHKKRZ7.js → measurement-plan-BH3ZXRLG.js} +5 -5
  107. package/dist/{notify-EARS4LMG.js → notify-JVL7ZQWC.js} +3 -3
  108. package/dist/{organic-evidence-W7ZQQKPL.js → organic-evidence-FU2254CJ.js} +3 -3
  109. package/dist/{overview-C7KQD4NR.js → overview-CQOJKYB3.js} +4 -4
  110. package/dist/{project-YU2FIL4B.js → project-CHBBMK7T.js} +7 -4
  111. package/dist/{query-SYFLWHFA.js → query-FIUQXVX4.js} +3 -3
  112. package/dist/{research-UOUXMFBV.js → research-N3CSBKTG.js} +3 -3
  113. package/dist/{results-export-VYPG2Z6S.js → results-export-5RCAVBD4.js} +3 -3
  114. package/dist/{run-GZD3MQGS.js → run-6GQF3LBR.js} +4 -4
  115. package/dist/{schedule-PAA2NLGF.js → schedule-Z36TCNV2.js} +3 -3
  116. package/dist/{search-6RWCUEEY.js → search-ON4HP22R.js} +3 -3
  117. package/dist/{serve-FTAFEEJD.js → serve-GWGRQVKA.js} +25 -25
  118. package/dist/{session-E4V5MRUE.js → session-XHMABUUK.js} +12 -12
  119. package/dist/{settings-TTA775EJ.js → settings-LVZDNSTS.js} +3 -3
  120. package/dist/{skills-GA35KKOV.js → skills-3DOCO57E.js} +2 -2
  121. package/dist/{snapshot-QVQVAMMN.js → snapshot-JVUWV4MQ.js} +3 -3
  122. package/dist/{src-CTHVFVLF.js → src-QCQT7JBJ.js} +2 -2
  123. package/dist/{status-E7B726S6.js → status-BAAI3UGB.js} +4 -4
  124. package/dist/{technical-aeo-SMPN3QDQ.js → technical-aeo-RF3KVZNQ.js} +3 -3
  125. package/dist/{telemetry-CTBFPMWD.js → telemetry-67H5UO2X.js} +4 -4
  126. package/dist/{tools-XKGEC56T.js → tools-65JSRP7T.js} +11 -11
  127. package/dist/{traffic-XACOSYYM.js → traffic-OZMUJLQG.js} +5 -5
  128. package/dist/{users-WJC7SGRL.js → users-5Q6PLQTL.js} +3 -3
  129. package/dist/{visibility-stats-H3ZNFV5M.js → visibility-stats-L35IYACG.js} +3 -3
  130. package/dist/{wordpress-72YMWF7F.js → wordpress-I64CCIJA.js} +3 -3
  131. package/package.json +1 -1
  132. package/dist/intelligence-service-7LCTJQDL.js +0 -15
@@ -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";
@@ -26,7 +26,7 @@ import {
26
26
  gaSearchLandingHasSearchData,
27
27
  gaSearchLandingPageLabel,
28
28
  isGaOverviewWindow
29
- } from "./chunk-TKLE2Y6H.js";
29
+ } from "./chunk-VCMF4TX5.js";
30
30
  import "./chunk-MLKGABMK.js";
31
31
 
32
32
  // src/commands/ga.ts
@@ -186,6 +186,13 @@ async function gaSync(project, opts) {
186
186
  console.log(` AI rows: ${result.aiReferralCount}`);
187
187
  console.log(` Social rows: ${result.socialReferralCount}`);
188
188
  console.log(` Period: ${result.days} days${result.clamped ? ` (requested ${result.requestedDays})` : ""}`);
189
+ const leadSync = result.measurement?.leads;
190
+ if (leadSync?.eventNames) {
191
+ console.log(` Lead events: ${leadSync.eventNames.join(", ") || "(none)"} (${leadSync.days} days, ${leadSync.rowCount} rows)`);
192
+ }
193
+ if (leadSync?.keyEvents?.status === "error") {
194
+ console.log(` GA4 key event read failed, kept the previous list: ${leadSync.keyEvents.error ?? "unknown error"}`);
195
+ }
189
196
  const searchLanding = result.measurement.searchLandingPages;
190
197
  if (searchLanding) {
191
198
  console.log(` Search Console landing pages: ${searchLanding.status} (${searchLanding.rowCount} rows)`);
@@ -408,6 +415,17 @@ function printAiEngineLeadClass(heading, block) {
408
415
  console.log(line("ENGINE", block.periods.map((period) => period.label.toUpperCase())));
409
416
  for (const row of rows) console.log(line(row.label, row.cells));
410
417
  }
418
+ function printCountedEvents(leads) {
419
+ const counted = leads.countedEvents;
420
+ if (counted) {
421
+ const keyEvents = !counted.keyEventsEnabled ? "not counted" : counted.keyEvents === null ? "not read yet" : counted.keyEvents.join(", ") || "(none marked in GA4)";
422
+ console.log(` Counted events: configured ${counted.configured.join(", ") || "(none)"}; GA4 key events ${keyEvents}`);
423
+ if (counted.keyEventsError) console.log(` Key event read failed: ${counted.keyEventsError}`);
424
+ }
425
+ for (const event of leads.events ?? []) {
426
+ console.log(event.measured === false ? ` ${event.eventName} (${event.origin}): not synced yet` : ` ${event.eventName} (${event.origin}): ${event.periods.at(-1)?.eventCount ?? 0} in the latest cohort`);
427
+ }
428
+ }
411
429
  function printAiEngineLeads(aiEngines) {
412
430
  if (!aiEngines) return;
413
431
  if (aiEngines.organic.periods.length === 0) return;
@@ -455,6 +473,7 @@ async function gaMeasurementAnalysis(project, opts) {
455
473
  for (const period of result.leads.periods) {
456
474
  console.log(` ${period.label.padEnd(8)} ${period.eventCount} leads ${period.startDate} to ${period.endDate}`);
457
475
  }
476
+ printCountedEvents(result.leads);
458
477
  printAiEngineLeads(result.leads.aiEngines);
459
478
  console.log(` Search demand: ${result.searchDemand.status}`);
460
479
  for (const period of result.searchDemand.periods) {
@@ -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
  isMachineFormat
@@ -11,7 +11,7 @@ import {
11
11
  formatPercent,
12
12
  gbpLocalPostCreateSchema,
13
13
  validationError
14
- } from "./chunk-TKLE2Y6H.js";
14
+ } from "./chunk-VCMF4TX5.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
 
17
17
  // src/commands/gbp.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";
@@ -10,7 +10,7 @@ import {
10
10
  requireGscSitemapUrls,
11
11
  resolveDiscoveredGscSitemapUrls,
12
12
  submitGscSitemapBatches
13
- } from "./chunk-SN5A767O.js";
13
+ } from "./chunk-CXZGOSWD.js";
14
14
  import "./chunk-AOJU5LKX.js";
15
15
  import {
16
16
  CliError,
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-HGMYEDAQ.js";
19
19
  import {
20
20
  formatPercent
21
- } from "./chunk-TKLE2Y6H.js";
21
+ } from "./chunk-VCMF4TX5.js";
22
22
  import "./chunk-MLKGABMK.js";
23
23
 
24
24
  // src/commands/google.ts
@@ -12,7 +12,7 @@ import {
12
12
  describeError,
13
13
  formatMicros,
14
14
  formatPercent
15
- } from "./chunk-TKLE2Y6H.js";
15
+ } from "./chunk-VCMF4TX5.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
 
18
18
  // src/commands/google-marketing.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
  formatPercent
12
- } from "./chunk-TKLE2Y6H.js";
12
+ } from "./chunk-VCMF4TX5.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/health-cmd.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";
@@ -15,7 +15,7 @@ import {
15
15
  describeError,
16
16
  formatValidationIssues,
17
17
  resultsClearRequestSchema
18
- } from "./chunk-TKLE2Y6H.js";
18
+ } from "./chunk-VCMF4TX5.js";
19
19
  import "./chunk-MLKGABMK.js";
20
20
 
21
21
  // src/commands/history.ts
package/dist/index.d.ts CHANGED
@@ -2784,6 +2784,7 @@ declare const projects: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2784
2784
  marketingHosts: string[];
2785
2785
  brandTerms: string[];
2786
2786
  leadEventNames: string[];
2787
+ countKeyEvents?: boolean | undefined;
2787
2788
  };
2788
2789
  driverParam: string;
2789
2790
  notNull: true;
@@ -2800,6 +2801,7 @@ declare const projects: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2800
2801
  marketingHosts: string[];
2801
2802
  brandTerms: string[];
2802
2803
  leadEventNames: string[];
2804
+ countKeyEvents?: boolean | undefined;
2803
2805
  };
2804
2806
  }>;
2805
2807
  locations: drizzle_orm_sqlite_core.SQLiteColumn<{
@@ -17532,6 +17534,63 @@ declare const gaMeasurementSyncStates: drizzle_orm_sqlite_core.SQLiteTableWithCo
17532
17534
  length: number | undefined;
17533
17535
  $type: "channel" | "landing-page";
17534
17536
  }>;
17537
+ leadEventNames: drizzle_orm_sqlite_core.SQLiteColumn<{
17538
+ name: "lead_event_names";
17539
+ tableName: "ga_measurement_sync_state";
17540
+ dataType: "json";
17541
+ columnType: "SQLiteTextJson";
17542
+ data: string[];
17543
+ driverParam: string;
17544
+ notNull: false;
17545
+ hasDefault: false;
17546
+ isPrimaryKey: false;
17547
+ isAutoincrement: false;
17548
+ hasRuntimeDefault: false;
17549
+ enumValues: undefined;
17550
+ baseColumn: never;
17551
+ identity: undefined;
17552
+ generated: undefined;
17553
+ }, {}, {
17554
+ $type: string[];
17555
+ }>;
17556
+ keyEventNames: drizzle_orm_sqlite_core.SQLiteColumn<{
17557
+ name: "key_event_names";
17558
+ tableName: "ga_measurement_sync_state";
17559
+ dataType: "json";
17560
+ columnType: "SQLiteTextJson";
17561
+ data: string[];
17562
+ driverParam: string;
17563
+ notNull: false;
17564
+ hasDefault: false;
17565
+ isPrimaryKey: false;
17566
+ isAutoincrement: false;
17567
+ hasRuntimeDefault: false;
17568
+ enumValues: undefined;
17569
+ baseColumn: never;
17570
+ identity: undefined;
17571
+ generated: undefined;
17572
+ }, {}, {
17573
+ $type: string[];
17574
+ }>;
17575
+ keyEventsError: drizzle_orm_sqlite_core.SQLiteColumn<{
17576
+ name: "key_events_error";
17577
+ tableName: "ga_measurement_sync_state";
17578
+ dataType: "string";
17579
+ columnType: "SQLiteText";
17580
+ data: string;
17581
+ driverParam: string;
17582
+ notNull: false;
17583
+ hasDefault: false;
17584
+ isPrimaryKey: false;
17585
+ isAutoincrement: false;
17586
+ hasRuntimeDefault: false;
17587
+ enumValues: [string, ...string[]];
17588
+ baseColumn: never;
17589
+ identity: undefined;
17590
+ generated: undefined;
17591
+ }, {}, {
17592
+ length: number | undefined;
17593
+ }>;
17535
17594
  searchLandingStatus: drizzle_orm_sqlite_core.SQLiteColumn<{
17536
17595
  name: "search_landing_status";
17537
17596
  tableName: "ga_measurement_sync_state";
package/dist/index.js CHANGED
@@ -3,38 +3,38 @@ import {
3
3
  createGoogleMarketingCredentialStore,
4
4
  createGoogleMarketingRuntime,
5
5
  createServer
6
- } from "./chunk-DBA374EM.js";
7
- import "./chunk-OIHJJHJR.js";
8
- import "./chunk-WYTRXYUR.js";
9
- import "./chunk-QPTSZDHE.js";
6
+ } from "./chunk-3VHU332P.js";
7
+ import "./chunk-GQILYY3G.js";
8
+ import "./chunk-IGITZQRK.js";
9
+ import "./chunk-KH7443NX.js";
10
10
  import "./chunk-ELCLGWUT.js";
11
11
  import "./chunk-XEBKF4N5.js";
12
- import "./chunk-UBP3AAKA.js";
13
- import "./chunk-UYPBR3SF.js";
14
- import "./chunk-CWMJQ2JV.js";
12
+ import "./chunk-LVT6WRLB.js";
13
+ import "./chunk-EGWLPPTB.js";
14
+ import "./chunk-E2K4HLIX.js";
15
15
  import "./chunk-TSENU4GG.js";
16
- import "./chunk-GRWZC3GQ.js";
17
- import "./chunk-67262NJL.js";
18
- import "./chunk-5VAC4KQ2.js";
16
+ import "./chunk-DYCCEDZF.js";
17
+ import "./chunk-STI6DRNG.js";
18
+ import "./chunk-7TJGQHY6.js";
19
19
  import "./chunk-NCIPNVD6.js";
20
- import "./chunk-LEG7F3DN.js";
20
+ import "./chunk-B23LQ2IZ.js";
21
21
  import {
22
22
  loadConfig
23
- } from "./chunk-A57HYHJ3.js";
24
- import "./chunk-PH7RTAWW.js";
25
- import "./chunk-5YC6IU44.js";
26
- import "./chunk-H22RCHYH.js";
27
- import "./chunk-SN5A767O.js";
28
- import "./chunk-NOQCIXM6.js";
23
+ } from "./chunk-4MLRY4FJ.js";
24
+ import "./chunk-52VCSAX7.js";
25
+ import "./chunk-C5ZK4IHK.js";
26
+ import "./chunk-SQXSMO35.js";
27
+ import "./chunk-CXZGOSWD.js";
28
+ import "./chunk-JUQBI2Y2.js";
29
29
  import "./chunk-AOJU5LKX.js";
30
30
  import "./chunk-HGMYEDAQ.js";
31
- import "./chunk-TDWNONBU.js";
32
- import "./chunk-EHTSCLEL.js";
33
- import "./chunk-Q4U2GJME.js";
34
- import "./chunk-SG2OPR7J.js";
35
- import "./chunk-QNFX7ZCT.js";
36
- import "./chunk-HNZQVIPS.js";
37
- import "./chunk-TKLE2Y6H.js";
31
+ import "./chunk-IZ74LHLX.js";
32
+ import "./chunk-LJZ7GIGO.js";
33
+ import "./chunk-L6QDD6F5.js";
34
+ import "./chunk-HOPQMZOC.js";
35
+ import "./chunk-S67ZCRDF.js";
36
+ import "./chunk-3I3TZNDR.js";
37
+ import "./chunk-VCMF4TX5.js";
38
38
  import "./chunk-MLKGABMK.js";
39
39
  export {
40
40
  GoogleMarketingRuntimeError,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  installMcp
3
- } from "./chunk-ERJ54U2I.js";
3
+ } from "./chunk-GDQBZMDZ.js";
4
4
  import {
5
5
  trackCliConnection
6
- } from "./chunk-LBD7YXVD.js";
6
+ } from "./chunk-T42EHWAR.js";
7
7
  import {
8
8
  buildSetupState,
9
9
  queueServeHandoff
10
- } from "./chunk-W5TIRS4U.js";
10
+ } from "./chunk-V4SAX4MI.js";
11
11
  import "./chunk-VJWDBFSL.js";
12
- import "./chunk-CWMJQ2JV.js";
13
- import "./chunk-GRWZC3GQ.js";
12
+ import "./chunk-E2K4HLIX.js";
13
+ import "./chunk-DYCCEDZF.js";
14
14
  import {
15
15
  cliRuntimeContext,
16
16
  installAttribution,
@@ -18,7 +18,7 @@ import {
18
18
  recordInstallRef,
19
19
  showFirstRunNotice,
20
20
  trackEvent
21
- } from "./chunk-67262NJL.js";
21
+ } from "./chunk-STI6DRNG.js";
22
22
  import {
23
23
  configExists,
24
24
  getBootstrapEnv,
@@ -26,24 +26,24 @@ import {
26
26
  getConfigPath,
27
27
  saveConfig,
28
28
  withBootstrapProviderDefaults
29
- } from "./chunk-A57HYHJ3.js";
29
+ } from "./chunk-4MLRY4FJ.js";
30
30
  import {
31
31
  installSkills
32
- } from "./chunk-PH7RTAWW.js";
32
+ } from "./chunk-52VCSAX7.js";
33
33
  import "./chunk-AOJU5LKX.js";
34
34
  import {
35
35
  CliError,
36
36
  isMachineFormat
37
37
  } from "./chunk-HGMYEDAQ.js";
38
- import "./chunk-QNFX7ZCT.js";
38
+ import "./chunk-S67ZCRDF.js";
39
39
  import {
40
40
  apiKeys,
41
41
  createClient,
42
42
  migrate
43
- } from "./chunk-HNZQVIPS.js";
43
+ } from "./chunk-3I3TZNDR.js";
44
44
  import {
45
45
  describeError
46
- } from "./chunk-TKLE2Y6H.js";
46
+ } from "./chunk-VCMF4TX5.js";
47
47
  import "./chunk-MLKGABMK.js";
48
48
 
49
49
  // src/commands/init.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 {
10
10
  isMachineFormat
11
11
  } from "./chunk-HGMYEDAQ.js";
12
- import "./chunk-TKLE2Y6H.js";
12
+ import "./chunk-VCMF4TX5.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/insights.ts
@@ -0,0 +1,15 @@
1
+ import {
2
+ HISTORY_WINDOW_RUNS,
3
+ IntelligenceService
4
+ } from "./chunk-IZ74LHLX.js";
5
+ import "./chunk-LJZ7GIGO.js";
6
+ import "./chunk-L6QDD6F5.js";
7
+ import "./chunk-HOPQMZOC.js";
8
+ import "./chunk-S67ZCRDF.js";
9
+ import "./chunk-3I3TZNDR.js";
10
+ import "./chunk-VCMF4TX5.js";
11
+ import "./chunk-MLKGABMK.js";
12
+ export {
13
+ HISTORY_WINDOW_RUNS,
14
+ IntelligenceService
15
+ };
@@ -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";
@@ -17,7 +17,7 @@ import {
17
17
  journeyDetailQuerySchema,
18
18
  journeySummaryQuerySchema,
19
19
  journeysQuerySchema
20
- } from "./chunk-TKLE2Y6H.js";
20
+ } from "./chunk-VCMF4TX5.js";
21
21
  import "./chunk-MLKGABMK.js";
22
22
 
23
23
  // src/commands/journeys.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
  READ_ONLY_SCOPE,
15
15
  formatIsoDate
16
- } from "./chunk-TKLE2Y6H.js";
16
+ } from "./chunk-VCMF4TX5.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-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";
@@ -10,7 +10,7 @@ import {
10
10
  CliError,
11
11
  isMachineFormat
12
12
  } from "./chunk-HGMYEDAQ.js";
13
- import "./chunk-TKLE2Y6H.js";
13
+ import "./chunk-VCMF4TX5.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-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
  isMachineFormat,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-HGMYEDAQ.js";
10
10
  import {
11
11
  logQuerySchema
12
- } from "./chunk-TKLE2Y6H.js";
12
+ } from "./chunk-VCMF4TX5.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
 
15
15
  // src/commands/logs.ts
@@ -2,10 +2,10 @@ import {
2
2
  installMcp,
3
3
  printMcpConfig,
4
4
  renderClientSnippet
5
- } from "./chunk-ERJ54U2I.js";
5
+ } from "./chunk-GDQBZMDZ.js";
6
6
  import "./chunk-VJWDBFSL.js";
7
7
  import "./chunk-HGMYEDAQ.js";
8
- import "./chunk-TKLE2Y6H.js";
8
+ import "./chunk-VCMF4TX5.js";
9
9
  import "./chunk-MLKGABMK.js";
10
10
  export {
11
11
  installMcp,
package/dist/mcp.js CHANGED
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  autoSyncSkills
3
- } from "./chunk-SQYYAYH6.js";
3
+ } from "./chunk-U2QS52HS.js";
4
4
  import {
5
5
  createCanonryMcpServer
6
- } from "./chunk-5VAC4KQ2.js";
6
+ } from "./chunk-7TJGQHY6.js";
7
7
  import "./chunk-NCIPNVD6.js";
8
8
  import {
9
9
  createApiClient
10
- } from "./chunk-LEG7F3DN.js";
11
- import "./chunk-A57HYHJ3.js";
12
- import "./chunk-PH7RTAWW.js";
13
- import "./chunk-H22RCHYH.js";
14
- import "./chunk-SN5A767O.js";
15
- import "./chunk-NOQCIXM6.js";
10
+ } from "./chunk-B23LQ2IZ.js";
11
+ import "./chunk-4MLRY4FJ.js";
12
+ import "./chunk-52VCSAX7.js";
13
+ import "./chunk-SQXSMO35.js";
14
+ import "./chunk-CXZGOSWD.js";
15
+ import "./chunk-JUQBI2Y2.js";
16
16
  import "./chunk-AOJU5LKX.js";
17
17
  import "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  isReadOnlyKey,
20
20
  updateCheckEnvOptOut
21
- } from "./chunk-TKLE2Y6H.js";
21
+ } from "./chunk-VCMF4TX5.js";
22
22
  import "./chunk-MLKGABMK.js";
23
23
 
24
24
  // src/mcp/cli.ts
@@ -14,14 +14,14 @@ import {
14
14
  showMeasurementProperty,
15
15
  showMeasurementPropertyEvidence,
16
16
  showMeasurementReport
17
- } from "./chunk-2LAL5W6J.js";
18
- import "./chunk-LEG7F3DN.js";
19
- import "./chunk-A57HYHJ3.js";
17
+ } from "./chunk-D7IDW3TO.js";
18
+ import "./chunk-B23LQ2IZ.js";
19
+ import "./chunk-4MLRY4FJ.js";
20
20
  import "./chunk-Z7IUAJOF.js";
21
- import "./chunk-NOQCIXM6.js";
21
+ import "./chunk-JUQBI2Y2.js";
22
22
  import "./chunk-AOJU5LKX.js";
23
23
  import "./chunk-HGMYEDAQ.js";
24
- import "./chunk-TKLE2Y6H.js";
24
+ import "./chunk-VCMF4TX5.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-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";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HGMYEDAQ.js";
13
13
  import {
14
14
  notificationEventSchema
15
- } from "./chunk-TKLE2Y6H.js";
15
+ } from "./chunk-VCMF4TX5.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-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
  isMachineFormat
8
8
  } from "./chunk-HGMYEDAQ.js";
9
- import "./chunk-TKLE2Y6H.js";
9
+ import "./chunk-VCMF4TX5.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-IDQZTPRG.js";
3
+ } from "./chunk-TWUBHLRB.js";
4
4
  import {
5
5
  createApiClient
6
- } from "./chunk-LEG7F3DN.js";
7
- import "./chunk-A57HYHJ3.js";
6
+ } from "./chunk-B23LQ2IZ.js";
7
+ import "./chunk-4MLRY4FJ.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-TKLE2Y6H.js";
15
+ } from "./chunk-VCMF4TX5.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-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";
@@ -15,6 +15,7 @@ import {
15
15
  import {
16
16
  DEFAULT_MEASUREMENT_CONFIG,
17
17
  RatioUnits,
18
+ countsKeyEvents,
18
19
  effectiveDomains,
19
20
  formatPercent,
20
21
  formatSiteAuditPageBudget,
@@ -23,7 +24,7 @@ import {
23
24
  normalizeProjectDomain,
24
25
  resolveNegativeReviewMaxStars,
25
26
  resolveProjectQualifiedAliases
26
- } from "./chunk-TKLE2Y6H.js";
27
+ } from "./chunk-VCMF4TX5.js";
27
28
  import "./chunk-MLKGABMK.js";
28
29
 
29
30
  // src/commands/project.ts
@@ -139,6 +140,7 @@ async function showProject(name, format) {
139
140
  console.log(` Marketing hosts: ${project.measurement.marketingHosts.length > 0 ? project.measurement.marketingHosts.join(", ") : "(none)"}`);
140
141
  console.log(` Brand terms: ${project.measurement.brandTerms.length > 0 ? project.measurement.brandTerms.join(", ") : "(none)"}`);
141
142
  console.log(` Lead events: ${project.measurement.leadEventNames.length > 0 ? project.measurement.leadEventNames.join(", ") : "(none)"}`);
143
+ console.log(` GA4 key events: ${countsKeyEvents(project.measurement) ? "counted as conversions too" : "not counted"}`);
142
144
  }
143
145
  if (project.answerFieldsRecompute !== void 0 && project.answerFieldsRecompute !== null) {
144
146
  console.log(` Answer fields recompute: ${project.answerFieldsRecompute}`);
@@ -175,7 +177,8 @@ function resolveMeasurementUpdate(project, flags) {
175
177
  const parsed = measurementConfigSchema.safeParse({
176
178
  marketingHosts: mergeMeasurementList(current.marketingHosts, flags.marketingHosts, flags.addMarketingHosts, flags.removeMarketingHosts, true, normalizeProjectDomain),
177
179
  brandTerms: mergeMeasurementList(current.brandTerms, flags.brandTerms, flags.addBrandTerms, flags.removeBrandTerms, true),
178
- leadEventNames: mergeMeasurementList(current.leadEventNames, flags.leadEvents, flags.addLeadEvents, flags.removeLeadEvents, false)
180
+ leadEventNames: mergeMeasurementList(current.leadEventNames, flags.leadEvents, flags.addLeadEvents, flags.removeLeadEvents, false),
181
+ ...(flags.countKeyEvents ?? current.countKeyEvents) !== void 0 ? { countKeyEvents: flags.countKeyEvents ?? current.countKeyEvents } : {}
179
182
  });
180
183
  if (!parsed.success) {
181
184
  const issue = parsed.error.issues[0];