@canonry/canonry 7.94.0 → 7.95.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 (140) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +6 -4
  2. package/assets/assets/{AgentSetupPage-BlPXN_oH.js → AgentSetupPage-BV0TvyWO.js} +4 -4
  3. package/assets/assets/{AuditHistoryPanel-N8Z4gng7.js → AuditHistoryPanel-CTVhEVjr.js} +1 -1
  4. package/assets/assets/{BacklinksPage-DSrgqlkj.js → BacklinksPage-CE1Bfpf6.js} +1 -1
  5. package/assets/assets/{HistoryPage-v2jbUkle.js → HistoryPage-BhqA-Udl.js} +1 -1
  6. package/assets/assets/MeasurementPropertyPage-BiJ06H7w.js +4 -0
  7. package/assets/assets/ProjectPage-BqS0rfDT.js +11 -0
  8. package/assets/assets/{RunsPage-CXZJDdnr.js → RunsPage-BII3_JsE.js} +1 -1
  9. package/assets/assets/{SettingsPage-CeLvWs_T.js → SettingsPage-DS4ivpsX.js} +1 -1
  10. package/assets/assets/SiteHealthSection-IywsGGIA.js +2 -0
  11. package/assets/assets/ToneBadge-CTZ_JZLD.js +60 -0
  12. package/assets/assets/{TrafficPage-CEsmS5N1.js → TrafficPage-Bg9JrnxC.js} +1 -1
  13. package/assets/assets/{TrafficSourceDetailPage-D31g1FXV.js → TrafficSourceDetailPage-BuD8BlaT.js} +1 -1
  14. package/assets/assets/{account-context-CGIyok0O.js → account-context-ylqeghOr.js} +1 -1
  15. package/assets/assets/{agent-trust-copy-B-3akxrd.js → agent-trust-copy-DxpavxIA.js} +1 -1
  16. package/assets/assets/{card-BMjN_ofC.js → card-rZ7BA4sl.js} +1 -1
  17. package/assets/assets/{format-helpers-Blu0QNcd.js → format-helpers-PdOXn5Yf.js} +1 -1
  18. package/assets/assets/index-CU7tAhKY.js +60 -0
  19. package/assets/assets/{query-client-DdwTc28X.js → query-client-Cq4kP41m.js} +1 -1
  20. package/assets/assets/react-query-DVctucqC.js +1 -0
  21. package/assets/assets/{react-sigma_core.esm.min-5sP0Pb_F.js → react-sigma_core.esm.min-DYhAEr2t.js} +1 -1
  22. package/assets/assets/{server-traffic-403Q1CKm.js → server-traffic-Owp6jMwT.js} +1 -1
  23. package/assets/assets/{service-ChEbo8oM.js → service-y3nQY3Ue.js} +1 -1
  24. package/assets/index.html +7 -7
  25. package/dist/{ads-6RVS23I5.js → ads-GN7QSEUV.js} +3 -3
  26. package/dist/{agent-N5LH7QNA.js → agent-J46OIQHH.js} +7 -7
  27. package/dist/{agent-ask-IJV2PWPN.js → agent-ask-755DZ4YB.js} +3 -3
  28. package/dist/{agent-conversations-STISIDWB.js → agent-conversations-QO7C6F6L.js} +3 -3
  29. package/dist/{agent-journeys-VCP5MD2W.js → agent-journeys-SVI6LWKM.js} +3 -3
  30. package/dist/{agent-memory-XQQNXRY6.js → agent-memory-V3ZJZT5W.js} +3 -3
  31. package/dist/{agent-providers-IW2Q6WPP.js → agent-providers-QIHZ222U.js} +3 -3
  32. package/dist/{agent-transcript-5XUCHOOT.js → agent-transcript-6TS3ZOCA.js} +3 -3
  33. package/dist/{analytics-RZZZBC4H.js → analytics-LFT5OAOR.js} +3 -3
  34. package/dist/{apply-X5ZTHGSJ.js → apply-3XXMVLBK.js} +3 -3
  35. package/dist/{backfill-ZF6RX27O.js → backfill-F62Y47XV.js} +10 -10
  36. package/dist/{backlinks-WZ7YUKHH.js → backlinks-AOA5KHHB.js} +3 -3
  37. package/dist/{bing-Z4A5NHOC.js → bing-75F4W4E2.js} +3 -3
  38. package/dist/{bootstrap-OCJ7EIXK.js → bootstrap-CDGVAICZ.js} +10 -10
  39. package/dist/{cdp-YGZFLTFT.js → cdp-YBCWRWY4.js} +7 -7
  40. package/dist/{chunk-YRCKRY3Q.js → chunk-46YXUJSW.js} +2 -2
  41. package/dist/{chunk-YGHI3W4D.js → chunk-5TPLZD4I.js} +1 -1
  42. package/dist/{chunk-SFNSSHIN.js → chunk-6RDBULDN.js} +1 -1
  43. package/dist/{chunk-N6MXZ5SC.js → chunk-6S6XEEGX.js} +5 -5
  44. package/dist/{chunk-XIHIB7VP.js → chunk-73AUPWSG.js} +6 -6
  45. package/dist/{chunk-N7PGV6QQ.js → chunk-7PUUMJXY.js} +922 -770
  46. package/dist/{chunk-JDOAULVX.js → chunk-A6O6X6FU.js} +1 -1
  47. package/dist/{chunk-D6KTO5TO.js → chunk-BUZBBVDZ.js} +1 -1
  48. package/dist/{chunk-PR5FCYNN.js → chunk-C6UU2PDJ.js} +21 -21
  49. package/dist/{chunk-NSUB2S4V.js → chunk-CVCUADCM.js} +14 -11
  50. package/dist/{chunk-CBNDEKI6.js → chunk-EWSVH5TU.js} +1 -1
  51. package/dist/{chunk-3D4VEWDJ.js → chunk-FESPLVBO.js} +6 -6
  52. package/dist/{chunk-B5JKQXRN.js → chunk-FWY5HUSB.js} +2 -2
  53. package/dist/{chunk-S6KJYLOV.js → chunk-GUVN5OSX.js} +3 -3
  54. package/dist/{chunk-K63XX7VY.js → chunk-IATTIKXF.js} +3 -3
  55. package/dist/{chunk-BL4CZJYJ.js → chunk-J3NS6NGM.js} +115 -3
  56. package/dist/{chunk-IUDXV6PH.js → chunk-JVOOKVCW.js} +2 -2
  57. package/dist/{chunk-FM74QGW5.js → chunk-KK7NWOGH.js} +7 -7
  58. package/dist/{chunk-BJAOD3NW.js → chunk-KMT7I5KZ.js} +5 -5
  59. package/dist/{chunk-K2JCPF2W.js → chunk-L7W72K4X.js} +367 -367
  60. package/dist/{chunk-55EFIQP7.js → chunk-LHU3KIKG.js} +2 -2
  61. package/dist/{chunk-QDGW75MP.js → chunk-MKLAX5KY.js} +1 -1
  62. package/dist/{chunk-LXJAXAJD.js → chunk-NJG6WFRK.js} +1 -1
  63. package/dist/{chunk-XPBEDIXW.js → chunk-NMUL63XG.js} +2 -2
  64. package/dist/{chunk-UPBQHUE6.js → chunk-NVWTGVZ4.js} +3 -3
  65. package/dist/{chunk-LDY66O7A.js → chunk-PHOMW3R4.js} +4 -4
  66. package/dist/{chunk-M6DYUCNB.js → chunk-Q6WHXY7D.js} +1 -1
  67. package/dist/{chunk-VGAQH7KI.js → chunk-RPPB4H4D.js} +1 -1
  68. package/dist/{chunk-RJLSGCOI.js → chunk-T3FYWUQL.js} +2 -2
  69. package/dist/{chunk-ECUJEKIO.js → chunk-TG5D4E2Y.js} +1 -1
  70. package/dist/{chunk-32N7BGTD.js → chunk-TS5Q63NE.js} +3 -3
  71. package/dist/{chunk-RSBIHKHH.js → chunk-TXW2FPNJ.js} +4 -4
  72. package/dist/{chunk-7JQM46YO.js → chunk-VOP74COR.js} +2 -2
  73. package/dist/{chunk-NUBADAA4.js → chunk-WK6IPTTM.js} +4 -4
  74. package/dist/{chunk-R7BX2ZSQ.js → chunk-YTRXALSU.js} +1 -1
  75. package/dist/{citations-IUITVPHO.js → citations-SQYZTJQ6.js} +3 -3
  76. package/dist/{cli-catalog-IAPKU2RG.js → cli-catalog-N3JLEU77.js} +3 -3
  77. package/dist/{cli-commands-FICINBUR.js → cli-commands-QOJJMX2X.js} +7 -7
  78. package/dist/cli.js +13 -13
  79. package/dist/{competitor-U5DMMCIA.js → competitor-C5JAHHR7.js} +3 -3
  80. package/dist/{content-ZQIZUNF5.js → content-RVPODQI6.js} +3 -3
  81. package/dist/{dashboard-KPGX4EQT.js → dashboard-3NAY2SX6.js} +6 -6
  82. package/dist/{demo-NEWVCEXD.js → demo-OSYK452E.js} +1 -1
  83. package/dist/{demo-server-5GJEGG5K.js → demo-server-GO4V5UXK.js} +14 -14
  84. package/dist/{discover-HSPVFHKK.js → discover-U2DNK2TO.js} +3 -3
  85. package/dist/{discover-eval-BYKPJ3DL.js → discover-eval-ESLS56AH.js} +3 -3
  86. package/dist/{doctor-CK4BTTWH.js → doctor-SBF54WXE.js} +3 -3
  87. package/dist/{evidence-BX3CWPCT.js → evidence-WHDCM7Z5.js} +3 -3
  88. package/dist/{export-cmd-QMCRDMPZ.js → export-cmd-7CHS6K3S.js} +3 -3
  89. package/dist/{ga-RMTUMSEJ.js → ga-XRASDAVX.js} +4 -4
  90. package/dist/{gbp-JK67SYLW.js → gbp-FEOFMTBH.js} +3 -3
  91. package/dist/{google-PJSK6IJV.js → google-MWJ4HAUB.js} +4 -4
  92. package/dist/{google-marketing-UQ2FONXU.js → google-marketing-GELTQ32D.js} +1 -1
  93. package/dist/{health-cmd-ZDXFD53P.js → health-cmd-IO7YMTRQ.js} +3 -3
  94. package/dist/{history-OYL7SPEY.js → history-I74D3NTT.js} +3 -3
  95. package/dist/index.d.ts +194 -16
  96. package/dist/index.js +25 -25
  97. package/dist/{init-DZUNAQBN.js → init-ZLJMCJ3Q.js} +12 -12
  98. package/dist/{insights-AIBLDPX6.js → insights-EAMVEB5Y.js} +3 -3
  99. package/dist/intelligence-service-GSQ7YAYU.js +16 -0
  100. package/dist/{journeys-EDEET2EC.js → journeys-E373TZZS.js} +3 -3
  101. package/dist/{keys-SEZQTYGJ.js → keys-27JRRWKZ.js} +3 -3
  102. package/dist/{keyword-6FJIWTHW.js → keyword-45H2TBRG.js} +3 -3
  103. package/dist/{logs-EML2KKOP.js → logs-K4K4OJDY.js} +3 -3
  104. package/dist/{mcp-AA5QUNBZ.js → mcp-734WXNIA.js} +4 -4
  105. package/dist/mcp.js +9 -9
  106. package/dist/{measurement-plan-ALHRGRPH.js → measurement-plan-XZXK3YLO.js} +5 -5
  107. package/dist/{notify-EVTI3SWQ.js → notify-ZGLVTSVC.js} +3 -3
  108. package/dist/{organic-evidence-EXQQ6R7H.js → organic-evidence-CRTYFYAN.js} +3 -3
  109. package/dist/{overview-5CIFLSDG.js → overview-5URBJKI4.js} +4 -4
  110. package/dist/{project-DNDENHRU.js → project-R5W4Y4L4.js} +3 -3
  111. package/dist/{query-ETMHFVKZ.js → query-LPGNI3ZR.js} +3 -3
  112. package/dist/{research-Q5X46CR5.js → research-GTVKPIO2.js} +3 -3
  113. package/dist/{results-export-DZZANVYY.js → results-export-UNQQHELR.js} +3 -3
  114. package/dist/{run-OQJXRJ42.js → run-DLAFXVF4.js} +4 -4
  115. package/dist/{schedule-6AI3J2AB.js → schedule-7I5VIJFS.js} +3 -3
  116. package/dist/{search-7TAJBSHE.js → search-MUS7FSOJ.js} +3 -3
  117. package/dist/{serve-WD44V3TK.js → serve-5TV26VAH.js} +26 -26
  118. package/dist/{session-LTKCS763.js → session-FWALDL3F.js} +13 -13
  119. package/dist/{settings-EUMYGNIV.js → settings-EB433IDI.js} +3 -3
  120. package/dist/{sitemaps-I4QPLAZW.js → sitemaps-5EVGGGQ5.js} +3 -3
  121. package/dist/{skills-PTYYU3FR.js → skills-2HS4MYNT.js} +2 -2
  122. package/dist/{snapshot-62FF4GEA.js → snapshot-4DMW7AK2.js} +3 -3
  123. package/dist/{src-LRYXRHLW.js → src-OYMKXD6L.js} +4 -2
  124. package/dist/{status-VRWPYTY3.js → status-2CRLY5B6.js} +4 -4
  125. package/dist/{technical-aeo-OKZW2GAX.js → technical-aeo-HIQJCEML.js} +3 -3
  126. package/dist/{telemetry-RRTHKD6W.js → telemetry-H3SGPKZC.js} +4 -4
  127. package/dist/{tools-F7WCCKZW.js → tools-PHYD6WYF.js} +11 -11
  128. package/dist/{traffic-H6RDZWGG.js → traffic-47L2EV6Q.js} +5 -5
  129. package/dist/{trends-RZOQW2LE.js → trends-CCWE7MF6.js} +3 -3
  130. package/dist/{users-KFBCBA3V.js → users-BGIGSKB2.js} +3 -3
  131. package/dist/{visibility-stats-53OZR3UN.js → visibility-stats-XVF64BMX.js} +3 -3
  132. package/dist/{wordpress-2BXU6FDI.js → wordpress-DQ6DAQPS.js} +3 -3
  133. package/package.json +1 -1
  134. package/assets/assets/MeasurementPropertyPage-C1eIWJPD.js +0 -4
  135. package/assets/assets/ProjectPage-Ho61hE8f.js +0 -11
  136. package/assets/assets/SiteHealthSection-C2Ys7rzL.js +0 -2
  137. package/assets/assets/ToneBadge-C49669Ol.js +0 -60
  138. package/assets/assets/index-B-t8djQ-.js +0 -60
  139. package/assets/assets/react-query-dnbkXy7A.js +0 -1
  140. package/dist/intelligence-service-YLNZTJQA.js +0 -16
@@ -28,7 +28,7 @@ import {
28
28
  unknownUsageObservation,
29
29
  usdToMicros,
30
30
  withRetry
31
- } from "./chunk-NSUB2S4V.js";
31
+ } from "./chunk-CVCUADCM.js";
32
32
 
33
33
  // ../provider-answer-services/src/core/http.ts
34
34
  var MAX_RESPONSE_BYTES = 8 * 1024 * 1024;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  API_PROVIDER_NAMES,
3
3
  ProviderNames
4
- } from "./chunk-NSUB2S4V.js";
4
+ } from "./chunk-CVCUADCM.js";
5
5
 
6
6
  // src/provider-registration.ts
7
7
  function isApiProviderRegistrable(name, entry) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  answerServiceAdapters,
3
3
  answerServiceDescriptors
4
- } from "./chunk-JDOAULVX.js";
4
+ } from "./chunk-A6O6X6FU.js";
5
5
  import {
6
6
  AeroLlmUsageFeatures,
7
7
  aeroTurnStatus,
@@ -27,14 +27,14 @@ import {
27
27
  resolveConfiguredAgentProvider,
28
28
  resolveSessionProviderAndModel,
29
29
  setAeroSystemPrompt
30
- } from "./chunk-3D4VEWDJ.js";
30
+ } from "./chunk-FESPLVBO.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-NUBADAA4.js";
37
+ } from "./chunk-WK6IPTTM.js";
38
38
  import {
39
39
  getGoogleAuthConfig,
40
40
  getGoogleConnection,
@@ -53,7 +53,7 @@ import {
53
53
  removeCloudflareTrafficConnection,
54
54
  removeCloudflareTrafficConnectionBySourceId,
55
55
  upsertCloudflareTrafficConnection
56
- } from "./chunk-SFNSSHIN.js";
56
+ } from "./chunk-6RDBULDN.js";
57
57
  import {
58
58
  claudeAdapter,
59
59
  embedQueries,
@@ -65,7 +65,7 @@ import {
65
65
  openrouterAdapter,
66
66
  perplexityAdapter,
67
67
  startTrafficReclassification
68
- } from "./chunk-N6MXZ5SC.js";
68
+ } from "./chunk-6S6XEEGX.js";
69
69
  import {
70
70
  classifyUsageSurface,
71
71
  createApiUsageTelemetry,
@@ -77,7 +77,7 @@ import {
77
77
  startOutcomeTimer,
78
78
  trackFeatureCompleted,
79
79
  trackInstallState
80
- } from "./chunk-RSBIHKHH.js";
80
+ } from "./chunk-TXW2FPNJ.js";
81
81
  import {
82
82
  isLoopbackBindHost
83
83
  } from "./chunk-TSENU4GG.js";
@@ -85,7 +85,7 @@ import {
85
85
  isApiProviderRegistrable,
86
86
  isCdpProviderRegistrable,
87
87
  registeredProviderNames
88
- } from "./chunk-D6KTO5TO.js";
88
+ } from "./chunk-BUZBBVDZ.js";
89
89
  import {
90
90
  checkLatestVersionForServer,
91
91
  getOrCreateAnonymousId,
@@ -97,17 +97,17 @@ import {
97
97
  recordDashboardEvent,
98
98
  setTelemetryPreference,
99
99
  trackEvent
100
- } from "./chunk-55EFIQP7.js";
100
+ } from "./chunk-LHU3KIKG.js";
101
101
  import {
102
102
  createCanonryMcpServer
103
- } from "./chunk-UPBQHUE6.js";
103
+ } from "./chunk-NVWTGVZ4.js";
104
104
  import {
105
105
  CANONRY_MCP_TIERS,
106
106
  CANONRY_MCP_TOOLKIT_NAMES
107
107
  } from "./chunk-MTW37GXF.js";
108
108
  import {
109
109
  ApiClient
110
- } from "./chunk-IUDXV6PH.js";
110
+ } from "./chunk-JVOOKVCW.js";
111
111
  import {
112
112
  AGENT_PROVIDERS,
113
113
  adapterSupportsBatch,
@@ -139,21 +139,21 @@ import {
139
139
  saveConfigPatch,
140
140
  sentimentInstallReadiness,
141
141
  updateSharedProviderExecutionGate
142
- } from "./chunk-YGHI3W4D.js";
142
+ } from "./chunk-5TPLZD4I.js";
143
143
  import {
144
144
  getBundledSkillSnapshots
145
- } from "./chunk-LXJAXAJD.js";
145
+ } from "./chunk-NJG6WFRK.js";
146
146
  import {
147
147
  computeFactorAverages,
148
148
  deleteSiteCrawlGraphLayout,
149
149
  persistSiteCrawlGraphLayout,
150
150
  prepareSiteCrawlGraphLayout,
151
151
  recordedSharePct
152
- } from "./chunk-B5JKQXRN.js";
152
+ } from "./chunk-FWY5HUSB.js";
153
153
  import {
154
154
  CanonryMcpToolNames,
155
155
  canonryMcpTools
156
- } from "./chunk-XIHIB7VP.js";
156
+ } from "./chunk-73AUPWSG.js";
157
157
  import {
158
158
  PACKAGE_VERSION
159
159
  } from "./chunk-AOJU5LKX.js";
@@ -162,16 +162,16 @@ import {
162
162
  } from "./chunk-HGMYEDAQ.js";
163
163
  import {
164
164
  IntelligenceService
165
- } from "./chunk-BJAOD3NW.js";
165
+ } from "./chunk-KMT7I5KZ.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
169
- } from "./chunk-R7BX2ZSQ.js";
169
+ } from "./chunk-YTRXALSU.js";
170
170
  import {
171
171
  addLogListener,
172
172
  createFastifyLogger,
173
173
  createLogger
174
- } from "./chunk-RJLSGCOI.js";
174
+ } from "./chunk-T3FYWUQL.js";
175
175
  import {
176
176
  BingApiError,
177
177
  CC_CACHE_DIR,
@@ -316,7 +316,7 @@ import {
316
316
  webhookResponseReason,
317
317
  webhookTargetRefusalReason,
318
318
  writeAuditLog
319
- } from "./chunk-N7PGV6QQ.js";
319
+ } from "./chunk-7PUUMJXY.js";
320
320
  import {
321
321
  OperationalLogStore,
322
322
  SentimentIdempotencyConflict,
@@ -413,7 +413,7 @@ import {
413
413
  unrecognizedAgentEventsHourly,
414
414
  unrecognizedAgentNotifyState,
415
415
  usageCounters
416
- } from "./chunk-BL4CZJYJ.js";
416
+ } from "./chunk-J3NS6NGM.js";
417
417
  import {
418
418
  AGENT_MEMORY_VALUE_MAX_BYTES,
419
419
  AI_ENGINE_DOMAINS,
@@ -672,7 +672,7 @@ import {
672
672
  winnabilityClassLabel,
673
673
  withRetry,
674
674
  withSkippedProviders
675
- } from "./chunk-NSUB2S4V.js";
675
+ } from "./chunk-CVCUADCM.js";
676
676
 
677
677
  // src/google-marketing-runtime.ts
678
678
  import crypto2 from "crypto";
@@ -5976,7 +5976,7 @@ function nonBlank(value) {
5976
5976
  return trimmed ? trimmed : void 0;
5977
5977
  }
5978
5978
  function resolveBuildCommit(env = process.env) {
5979
- const embedded = true ? "96ebc8a87e470bcd7678a9eb24b79df04cd8ab1e" : void 0;
5979
+ const embedded = true ? "7bb766becf07362eae39b7fc6b431d86f1d07fc6" : void 0;
5980
5980
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5981
5981
  }
5982
5982
  function resolveInstanceIdentity(env = process.env) {
@@ -3704,8 +3704,9 @@ function percentOf(part, whole) {
3704
3704
  var WINDOW_SETS = {
3705
3705
  metrics: ["7d", "30d", "90d", "all"],
3706
3706
  gaMeasurementAnalysis: ["30d", "60d", "90d"],
3707
- gaOverview: ["7d", "30d", "90d"],
3708
- gaSearchLanding: ["7d", "28d", "90d"],
3707
+ gaOverview: ["7d", "30d", "90d", "180d"],
3708
+ gaTraffic: ["7d", "30d", "90d", "180d", "all"],
3709
+ gaSearchLanding: ["7d", "28d", "90d", "180d"],
3709
3710
  googleAdsMetrics: ["7d", "14d", "30d"],
3710
3711
  trafficAnalytics: ["7d", "14d", "30d", "90d"],
3711
3712
  organicEvidence: ["60d", "90d"]
@@ -11671,8 +11672,8 @@ function parseBoundaryDate(value, field) {
11671
11672
  if (Number.isNaN(parsed.getTime()) || parsed.toISOString().slice(0, 10) !== trimmed) throw invalid();
11672
11673
  return trimmed;
11673
11674
  }
11674
- function resolveDateRange(input) {
11675
- const window = parseWindow(input.window);
11675
+ function resolveDateRange(input, windows = WINDOW_SETS.metrics) {
11676
+ const window = parseWindowIn(input.window, windows, { fallback: "all" });
11676
11677
  const startDate = parseBoundaryDate(input.startDate, "startDate");
11677
11678
  const endDate = parseBoundaryDate(input.endDate, "endDate");
11678
11679
  if (startDate && endDate && startDate > endDate) {
@@ -17750,7 +17751,8 @@ var GA_SEARCH_LANDING_WINDOWS = gaSearchLandingWindowSchema.options;
17750
17751
  var GA_SEARCH_LANDING_WINDOW_DAYS = {
17751
17752
  "7d": 7,
17752
17753
  "28d": 28,
17753
- "90d": 90
17754
+ "90d": 90,
17755
+ "180d": 180
17754
17756
  };
17755
17757
  var GA_SEARCH_LANDING_DEFAULT_WINDOW = "28d";
17756
17758
  var GA_SEARCH_LANDING_DEFAULT_LIMIT = 50;
@@ -17844,10 +17846,10 @@ var ga4SyncResponseDtoSchema = z52.object({
17844
17846
  aiReferralCount: z52.number().int().nonnegative(),
17845
17847
  socialReferralCount: z52.number().int().nonnegative(),
17846
17848
  /**
17847
- * The window that was ACTUALLY fetched and written, in days — the request's
17848
- * `days` bounded to GA4's supported sync range (1–90). Read this, not
17849
+ * The requested coverage window, in days — reused mature days plus fetched gaps. The request's
17850
+ * `days` is bounded to GA4's supported sync range (1–180). Read this, not
17849
17851
  * `requestedDays`, when reporting or reasoning about coverage: a
17850
- * `--days 500` sync writes 90 days, and this field says 90.
17852
+ * `--days 500` sync covers 180 days, and this field says 180.
17851
17853
  */
17852
17854
  days: z52.number().int().nonnegative(),
17853
17855
  /** The window the caller asked for, before bounding. Equals `days` unless `clamped`. */
@@ -17977,12 +17979,12 @@ var gaOverviewChangeSchema = z52.object({
17977
17979
  bounceRate: percent().nullable(),
17978
17980
  averageEngagementTimeSeconds: percent().nullable()
17979
17981
  });
17980
- var GA_OVERVIEW_WINDOW_DAYS = { "7d": 7, "30d": 30, "90d": 90 };
17982
+ var GA_OVERVIEW_WINDOW_DAYS = { "7d": 7, "30d": 30, "90d": 90, "180d": 180 };
17981
17983
  var GA_OVERVIEW_WINDOWS = WINDOW_SETS.gaOverview;
17982
17984
  function isGaOverviewWindow(value) {
17983
17985
  return GA_OVERVIEW_WINDOWS.some((window) => window === value);
17984
17986
  }
17985
- var GA_OVERVIEW_HISTORY_DAYS = 2 * GA_OVERVIEW_WINDOW_DAYS["90d"];
17987
+ var GA_OVERVIEW_HISTORY_DAYS = 2 * GA_OVERVIEW_WINDOW_DAYS["180d"];
17986
17988
  function gaOverviewComparisonDaysAgo(window) {
17987
17989
  const days = GA_OVERVIEW_WINDOW_DAYS[window];
17988
17990
  return {
@@ -18012,7 +18014,7 @@ var gaOverviewDaySchema = z52.object({
18012
18014
  previousValues: gaOverviewValuesSchema
18013
18015
  });
18014
18016
  var gaOverviewResponseSchema = z52.object({
18015
- window: metricsWindowSchema,
18017
+ window: z52.enum(WINDOW_SETS.gaTraffic),
18016
18018
  current: gaOverviewPeriodSchema,
18017
18019
  /** The period just before `current`, of the same length. */
18018
18020
  previous: gaOverviewPeriodSchema,
@@ -28342,6 +28344,7 @@ export {
28342
28344
  GaMoverChangeBases,
28343
28345
  gaSocialReferralTrendResponseSchema,
28344
28346
  gaAttributionTrendResponseSchema,
28347
+ GA_OVERVIEW_WINDOW_DAYS,
28345
28348
  GA_OVERVIEW_WINDOWS,
28346
28349
  isGaOverviewWindow,
28347
28350
  GA_OVERVIEW_HISTORY_DAYS,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-NSUB2S4V.js";
4
+ } from "./chunk-CVCUADCM.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-NUBADAA4.js";
8
+ } from "./chunk-WK6IPTTM.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS,
11
11
  resolveAeroSkillDir
@@ -23,18 +23,18 @@ import {
23
23
  resolveApiKeyFor,
24
24
  resolveModelForProvider,
25
25
  validateAgentProviderRegistry
26
- } from "./chunk-YGHI3W4D.js";
26
+ } from "./chunk-5TPLZD4I.js";
27
27
  import {
28
28
  CanonryMcpToolNames,
29
29
  canonryMcpTools
30
- } from "./chunk-XIHIB7VP.js";
30
+ } from "./chunk-73AUPWSG.js";
31
31
  import {
32
32
  createLogger
33
- } from "./chunk-RJLSGCOI.js";
33
+ } from "./chunk-T3FYWUQL.js";
34
34
  import {
35
35
  agentToolEvents,
36
36
  llmUsageEvents
37
- } from "./chunk-BL4CZJYJ.js";
37
+ } from "./chunk-J3NS6NGM.js";
38
38
  import {
39
39
  MeasurementPortfolioLists,
40
40
  SeoCapabilities,
@@ -43,7 +43,7 @@ import {
43
43
  describeError,
44
44
  validationError,
45
45
  visibilityReportRequestSchema
46
- } from "./chunk-NSUB2S4V.js";
46
+ } from "./chunk-CVCUADCM.js";
47
47
 
48
48
  // src/agent/session.ts
49
49
  import fs2 from "fs";
@@ -5,7 +5,7 @@ import {
5
5
  siteCrawlGraphNodes,
6
6
  siteCrawlPages,
7
7
  siteCrawlSnapshots
8
- } from "./chunk-BL4CZJYJ.js";
8
+ } from "./chunk-J3NS6NGM.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-NSUB2S4V.js";
18
+ } from "./chunk-CVCUADCM.js";
19
19
 
20
20
  // src/site-audit-factors.ts
21
21
  function recordedSharePct(factor) {
@@ -3,7 +3,7 @@ import {
3
3
  resolveCliAccess,
4
4
  resolveCliAccessForInvocation,
5
5
  windowOptions
6
- } from "./chunk-ECUJEKIO.js";
6
+ } from "./chunk-TG5D4E2Y.js";
7
7
  import {
8
8
  emitJsonl
9
9
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-HGMYEDAQ.js";
15
15
  import {
16
16
  OperationAccesses
17
- } from "./chunk-NSUB2S4V.js";
17
+ } from "./chunk-CVCUADCM.js";
18
18
 
19
19
  // src/cli-catalog.ts
20
20
  import { createRequire } from "module";
@@ -111,7 +111,7 @@ async function dispatchRegisteredCommand(args, fallbackFormat, specs) {
111
111
  const accessValue = accessFilterFromArgs(argsWithoutHelp);
112
112
  validateAccessFilter(accessValue);
113
113
  if (fallbackFormat !== "text") {
114
- const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-IAPKU2RG.js");
114
+ const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-N3JLEU77.js");
115
115
  const group2 = argsWithoutHelp.find((arg) => !arg.startsWith("--"));
116
116
  printCliCatalog2(specs, fallbackFormat, group2, accessValue);
117
117
  return true;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-IUDXV6PH.js";
3
+ } from "./chunk-JVOOKVCW.js";
4
4
  import {
5
5
  emitJsonl
6
6
  } from "./chunk-Z7IUAJOF.js";
7
7
  import {
8
8
  measurementDraftOperationSchema,
9
9
  runMeasurementDraftAction
10
- } from "./chunk-VGAQH7KI.js";
10
+ } from "./chunk-RPPB4H4D.js";
11
11
  import {
12
12
  isMachineFormat,
13
13
  systemError
@@ -37,7 +37,7 @@ import {
37
37
  unattributedAnswersLabel,
38
38
  uncheckedSourcesLabel,
39
39
  visibilityReportRequestSchema
40
- } from "./chunk-NSUB2S4V.js";
40
+ } from "./chunk-CVCUADCM.js";
41
41
 
42
42
  // src/commands/measurement-plan.ts
43
43
  import crypto from "crypto";
@@ -20,7 +20,7 @@ import {
20
20
  templateLinkRatio,
21
21
  templateLinkUbiquityAvailable,
22
22
  validationError
23
- } from "./chunk-NSUB2S4V.js";
23
+ } from "./chunk-CVCUADCM.js";
24
24
  import {
25
25
  __export
26
26
  } from "./chunk-MLKGABMK.js";
@@ -91,6 +91,7 @@ __export(schema_exports, {
91
91
  gaSearchLandingPages: () => gaSearchLandingPages,
92
92
  gaSearchLandingWindows: () => gaSearchLandingWindows,
93
93
  gaSocialReferrals: () => gaSocialReferrals,
94
+ gaSyncCoverage: () => gaSyncCoverage,
94
95
  gaTrafficSnapshots: () => gaTrafficSnapshots,
95
96
  gaTrafficSummaries: () => gaTrafficSummaries,
96
97
  gaTrafficWindowSummaries: () => gaTrafficWindowSummaries,
@@ -1981,6 +1982,19 @@ var gaTrafficSnapshots = sqliteTable2("ga_traffic_snapshots", {
1981
1982
  index2("idx_ga_traffic_page_normalized").on(table.projectId, table.date, table.landingPageNormalized),
1982
1983
  index2("idx_ga_traffic_run").on(table.syncRunId)
1983
1984
  ]);
1985
+ var gaSyncCoverage = sqliteTable2("ga_sync_coverage", {
1986
+ projectId: text2("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
1987
+ component: text2("component").notNull(),
1988
+ syncRunId: text2("sync_run_id").notNull().references(() => runs.id, { onDelete: "cascade" }),
1989
+ date: text2("date").notNull(),
1990
+ propertyId: text2("property_id").notNull(),
1991
+ definition: text2("definition").notNull(),
1992
+ settled: integer2("settled", { mode: "boolean" }).notNull(),
1993
+ syncedAt: text2("synced_at").notNull()
1994
+ }, (t) => [
1995
+ primaryKey2({ columns: [t.projectId, t.component, t.date] }),
1996
+ index2("idx_ga_sync_coverage_run").on(t.syncRunId)
1997
+ ]);
1984
1998
  var gaDailyTotals = sqliteTable2("ga_daily_totals", {
1985
1999
  id: text2("id").primaryKey(),
1986
2000
  projectId: text2("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
@@ -2253,6 +2267,8 @@ var gaSearchLandingWindows = sqliteTable2("ga_search_landing_windows", {
2253
2267
  periodEnd: text2("period_end").notNull(),
2254
2268
  /** GA4 property reporting time zone the period dates are in. */
2255
2269
  timeZone: text2("time_zone"),
2270
+ /** Report definition that produced this snapshot; null legacy snapshots cannot be reused. */
2271
+ reportDefinition: text2("report_definition"),
2256
2272
  totalClicks: integer2("total_clicks").notNull().default(0),
2257
2273
  totalImpressions: integer2("total_impressions").notNull().default(0),
2258
2274
  /** GA4's CTR for the window (0..1); null when there were no impressions. */
@@ -2270,7 +2286,7 @@ var gaSearchLandingWindows = sqliteTable2("ga_search_landing_windows", {
2270
2286
  }, (table) => [
2271
2287
  uniqueIndex2("idx_ga_search_landing_windows_project_window").on(table.projectId, table.windowKey),
2272
2288
  index2("idx_ga_search_landing_windows_run").on(table.syncRunId),
2273
- check("chk_ga_search_landing_windows_window", sql`${table.windowKey} IN ('7d', '28d', '90d')`),
2289
+ check("chk_ga_search_landing_windows_window", sql`${table.windowKey} IN ('7d', '28d', '90d', '180d')`),
2274
2290
  check("chk_ga_search_landing_windows_counts", sql`${table.totalClicks} >= 0 AND ${table.totalImpressions} >= 0 AND ${table.totalActiveUsers} >= 0 AND ${table.reportRowCount} >= 0`),
2275
2291
  check("chk_ga_search_landing_windows_ctr", sql`${table.totalCtr} IS NULL OR (${table.totalCtr} >= 0 AND ${table.totalCtr} <= 1)`)
2276
2292
  ]);
@@ -2292,7 +2308,7 @@ var gaSearchLandingPages = sqliteTable2("ga_search_landing_pages", {
2292
2308
  uniqueIndex2("idx_ga_search_landing_pages_grain").on(table.projectId, table.windowKey, table.landingPage),
2293
2309
  index2("idx_ga_search_landing_pages_order").on(table.projectId, table.windowKey, table.clicks),
2294
2310
  index2("idx_ga_search_landing_pages_run").on(table.syncRunId),
2295
- check("chk_ga_search_landing_pages_window", sql`${table.windowKey} IN ('7d', '28d', '90d')`),
2311
+ check("chk_ga_search_landing_pages_window", sql`${table.windowKey} IN ('7d', '28d', '90d', '180d')`),
2296
2312
  check("chk_ga_search_landing_pages_counts", sql`${table.clicks} >= 0 AND ${table.impressions} >= 0 AND ${table.activeUsers} >= 0`),
2297
2313
  check("chk_ga_search_landing_pages_ctr", sql`${table.ctr} IS NULL OR (${table.ctr} >= 0 AND ${table.ctr} <= 1)`)
2298
2314
  ]);
@@ -8964,6 +8980,101 @@ var MIGRATION_VERSIONS = [
8964
8980
  AND r.created_at < (SELECT strftime('%Y-%m-%dT%H:%M:%fZ', applied_at) FROM _migrations WHERE version = 207)
8965
8981
  )`
8966
8982
  ]
8983
+ },
8984
+ {
8985
+ version: 212,
8986
+ name: "ga-sync-coverage",
8987
+ statements: [
8988
+ `CREATE TABLE IF NOT EXISTS ga_sync_coverage (
8989
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
8990
+ component TEXT NOT NULL,
8991
+ sync_run_id TEXT NOT NULL REFERENCES runs(id) ON DELETE CASCADE,
8992
+ date TEXT NOT NULL,
8993
+ property_id TEXT NOT NULL,
8994
+ definition TEXT NOT NULL,
8995
+ settled INTEGER NOT NULL,
8996
+ synced_at TEXT NOT NULL,
8997
+ PRIMARY KEY (project_id, component, date)
8998
+ )`,
8999
+ `CREATE INDEX IF NOT EXISTS idx_ga_sync_coverage_run ON ga_sync_coverage(sync_run_id)`
9000
+ ]
9001
+ },
9002
+ {
9003
+ version: 213,
9004
+ name: "ga-search-landing-180-day-windows",
9005
+ // The two tables reference projects/runs, not each other. Rebuilding them
9006
+ // keeps foreign keys enabled and preserves the original sync provenance.
9007
+ // Add the nullable definition first so replay copies it without erasing it.
9008
+ statements: [
9009
+ `ALTER TABLE ga_search_landing_windows ADD COLUMN report_definition TEXT`,
9010
+ `DROP TABLE IF EXISTS ga_search_landing_windows_v213`,
9011
+ `CREATE TABLE ga_search_landing_windows_v213 (
9012
+ id TEXT PRIMARY KEY,
9013
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
9014
+ property_id TEXT NOT NULL,
9015
+ window_key TEXT NOT NULL CHECK (window_key IN ('7d', '28d', '90d', '180d')),
9016
+ period_start TEXT NOT NULL,
9017
+ period_end TEXT NOT NULL,
9018
+ time_zone TEXT,
9019
+ report_definition TEXT,
9020
+ total_clicks INTEGER NOT NULL DEFAULT 0,
9021
+ total_impressions INTEGER NOT NULL DEFAULT 0,
9022
+ total_ctr REAL CHECK (total_ctr IS NULL OR (total_ctr >= 0 AND total_ctr <= 1)),
9023
+ total_average_position REAL,
9024
+ total_active_users INTEGER NOT NULL DEFAULT 0,
9025
+ report_row_count INTEGER NOT NULL DEFAULT 0,
9026
+ rows_capped INTEGER NOT NULL DEFAULT 0,
9027
+ subject_to_thresholding INTEGER NOT NULL DEFAULT 0,
9028
+ data_loss_from_other_row INTEGER NOT NULL DEFAULT 0,
9029
+ synced_at TEXT NOT NULL,
9030
+ sync_run_id TEXT REFERENCES runs(id) ON DELETE CASCADE,
9031
+ created_at TEXT NOT NULL,
9032
+ CHECK (total_clicks >= 0 AND total_impressions >= 0 AND total_active_users >= 0 AND report_row_count >= 0)
9033
+ )`,
9034
+ `INSERT INTO ga_search_landing_windows_v213 (
9035
+ id, project_id, property_id, window_key, period_start, period_end,
9036
+ time_zone, report_definition, total_clicks, total_impressions, total_ctr,
9037
+ total_average_position, total_active_users, report_row_count, rows_capped,
9038
+ subject_to_thresholding, data_loss_from_other_row, synced_at, sync_run_id, created_at
9039
+ ) SELECT
9040
+ id, project_id, property_id, window_key, period_start, period_end,
9041
+ time_zone, report_definition, total_clicks, total_impressions, total_ctr,
9042
+ total_average_position, total_active_users, report_row_count, rows_capped,
9043
+ subject_to_thresholding, data_loss_from_other_row, synced_at, sync_run_id, created_at
9044
+ FROM ga_search_landing_windows`,
9045
+ `DROP TABLE ga_search_landing_windows`,
9046
+ `ALTER TABLE ga_search_landing_windows_v213 RENAME TO ga_search_landing_windows`,
9047
+ `CREATE UNIQUE INDEX IF NOT EXISTS idx_ga_search_landing_windows_project_window ON ga_search_landing_windows(project_id, window_key)`,
9048
+ `CREATE INDEX IF NOT EXISTS idx_ga_search_landing_windows_run ON ga_search_landing_windows(sync_run_id)`,
9049
+ `DROP TABLE IF EXISTS ga_search_landing_pages_v213`,
9050
+ `CREATE TABLE ga_search_landing_pages_v213 (
9051
+ id TEXT PRIMARY KEY,
9052
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
9053
+ window_key TEXT NOT NULL CHECK (window_key IN ('7d', '28d', '90d', '180d')),
9054
+ landing_page TEXT NOT NULL,
9055
+ clicks INTEGER NOT NULL DEFAULT 0,
9056
+ impressions INTEGER NOT NULL DEFAULT 0,
9057
+ ctr REAL CHECK (ctr IS NULL OR (ctr >= 0 AND ctr <= 1)),
9058
+ average_position REAL,
9059
+ active_users INTEGER NOT NULL DEFAULT 0,
9060
+ synced_at TEXT NOT NULL,
9061
+ sync_run_id TEXT REFERENCES runs(id) ON DELETE CASCADE,
9062
+ created_at TEXT NOT NULL,
9063
+ CHECK (clicks >= 0 AND impressions >= 0 AND active_users >= 0)
9064
+ )`,
9065
+ `INSERT INTO ga_search_landing_pages_v213 (
9066
+ id, project_id, window_key, landing_page, clicks, impressions, ctr,
9067
+ average_position, active_users, synced_at, sync_run_id, created_at
9068
+ ) SELECT
9069
+ id, project_id, window_key, landing_page, clicks, impressions, ctr,
9070
+ average_position, active_users, synced_at, sync_run_id, created_at
9071
+ FROM ga_search_landing_pages`,
9072
+ `DROP TABLE ga_search_landing_pages`,
9073
+ `ALTER TABLE ga_search_landing_pages_v213 RENAME TO ga_search_landing_pages`,
9074
+ `CREATE UNIQUE INDEX IF NOT EXISTS idx_ga_search_landing_pages_grain ON ga_search_landing_pages(project_id, window_key, landing_page)`,
9075
+ `CREATE INDEX IF NOT EXISTS idx_ga_search_landing_pages_order ON ga_search_landing_pages(project_id, window_key, clicks)`,
9076
+ `CREATE INDEX IF NOT EXISTS idx_ga_search_landing_pages_run ON ga_search_landing_pages(sync_run_id)`
9077
+ ]
8967
9078
  }
8968
9079
  ];
8969
9080
  var AERO_LEDGER_REBUILDS = [
@@ -10450,6 +10561,7 @@ export {
10450
10561
  bingKeywordDemand,
10451
10562
  gaConnections,
10452
10563
  gaTrafficSnapshots,
10564
+ gaSyncCoverage,
10453
10565
  gaDailyTotals,
10454
10566
  gaAcquisitionDaily,
10455
10567
  gaLeadEventsDaily,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-YGHI3W4D.js";
3
+ } from "./chunk-5TPLZD4I.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-NSUB2S4V.js";
39
+ } from "./chunk-CVCUADCM.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -8,23 +8,23 @@ import {
8
8
  reparseStoredResult4,
9
9
  reparseStoredResult5,
10
10
  resolveStoredApiResponse
11
- } from "./chunk-N6MXZ5SC.js";
11
+ } from "./chunk-6S6XEEGX.js";
12
12
  import {
13
13
  loadConfig
14
- } from "./chunk-YGHI3W4D.js";
14
+ } from "./chunk-5TPLZD4I.js";
15
15
  import {
16
16
  isMachineFormat
17
17
  } from "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  determineCitationState
20
- } from "./chunk-R7BX2ZSQ.js";
20
+ } from "./chunk-YTRXALSU.js";
21
21
  import {
22
22
  backfillProjectAnswerMentions,
23
23
  competitorIdentityColumns,
24
24
  createRunCompetitorResolver,
25
25
  readMarketCompetitorNames,
26
26
  refreshSnapshotMentionIdentity
27
- } from "./chunk-N7PGV6QQ.js";
27
+ } from "./chunk-7PUUMJXY.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-BL4CZJYJ.js";
41
+ } from "./chunk-J3NS6NGM.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-NSUB2S4V.js";
54
+ } from "./chunk-CVCUADCM.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-YLNZTJQA.js");
432
+ const { IntelligenceService } = await import("./intelligence-service-GSQ7YAYU.js");
433
433
  const config = loadConfig();
434
434
  const db = createClient(config.database);
435
435
  migrate(db);
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pickProjectCitedDomain
3
- } from "./chunk-R7BX2ZSQ.js";
3
+ } from "./chunk-YTRXALSU.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-RJLSGCOI.js";
6
+ } from "./chunk-T3FYWUQL.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-N7PGV6QQ.js";
20
+ } from "./chunk-7PUUMJXY.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-BL4CZJYJ.js";
38
+ } from "./chunk-J3NS6NGM.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,
42
42
  RunStatuses,
43
43
  RunTriggers,
44
44
  effectiveDomains
45
- } from "./chunk-NSUB2S4V.js";
45
+ } from "./chunk-CVCUADCM.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";