@canonry/canonry 7.87.2 → 7.89.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 (153) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +31 -5
  2. package/assets/assets/{AgentSetupPage-_ZP3F_zA.js → AgentSetupPage-BU1supL8.js} +6 -6
  3. package/assets/assets/AuditHistoryPanel-D7or_J3j.js +1 -0
  4. package/assets/assets/{BacklinksPage-CsvVgXTZ.js → BacklinksPage-SOls3ew4.js} +1 -1
  5. package/assets/assets/{ChartPrimitives-4D5wgAn5.js → ChartPrimitives-Cs2iavxU.js} +1 -1
  6. package/assets/assets/{Hint-CfeZmZig.js → Hint-uoVNfr0U.js} +1 -1
  7. package/assets/assets/{HistoryPage-BCxpCul0.js → HistoryPage-LNKtQ6a8.js} +1 -1
  8. package/assets/assets/{InfoTooltip-DrBIPuSU.js → InfoTooltip-CNLlIWeP.js} +1 -1
  9. package/assets/assets/MeasurementPropertyPage-CTZzlHWE.js +4 -0
  10. package/assets/assets/ProjectPage-D79zuY-M.js +11 -0
  11. package/assets/assets/{RunsPage-CfQ_kqlu.js → RunsPage-B8zUD2gr.js} +1 -1
  12. package/assets/assets/{SettingsPage-PIgRvqJc.js → SettingsPage-BOQgT_7N.js} +1 -1
  13. package/assets/assets/SiteHealthSection-G3_MShnD.js +2 -0
  14. package/assets/assets/{ToneBadge-BgTLSTKp.js → ToneBadge-DawS8vMp.js} +6 -6
  15. package/assets/assets/TrafficPage-DJUqxtrQ.js +40 -0
  16. package/assets/assets/TrafficSourceDetailPage-OVY_L73m.js +1 -0
  17. package/assets/assets/{account-context-CVjb3ZSn.js → account-context-DoI9S9qY.js} +1 -1
  18. package/assets/assets/agent-trust-copy-CZpfPr4M.js +1 -0
  19. package/assets/assets/{card-BnVez9nG.js → card-ClURYmZN.js} +1 -1
  20. package/assets/assets/{format-helpers-DVXZD864.js → format-helpers-CscAFAMJ.js} +2 -2
  21. package/assets/assets/{index-BOUrrC9J.css → index-Bhpq6fUo.css} +1 -1
  22. package/assets/assets/index-y0Wx0ZWq.js +60 -0
  23. package/assets/assets/{query-client-CVc7wMKJ.js → query-client-Dm_GqsTu.js} +1 -1
  24. package/assets/assets/react-query-BwhgbuS1.js +1 -0
  25. package/assets/assets/{react-sigma_core.esm.min-CVfGIEIE.js → react-sigma_core.esm.min-6J0MSvMJ.js} +1 -1
  26. package/assets/assets/server-traffic-C-_D6pdo.js +1 -0
  27. package/assets/assets/{service-BGqeyqhZ.js → service-C7qDx_qB.js} +1 -1
  28. package/assets/assets/{vendor-lucide-CoTHJwai.js → vendor-lucide-Bo69m9KC.js} +1 -1
  29. package/assets/assets/{vendor-markdown-cQgSk2i0.js → vendor-markdown-BiRP51B0.js} +1 -1
  30. package/assets/assets/{vendor-radix-wS8sWIWE.js → vendor-radix-PQeN8gOe.js} +1 -1
  31. package/assets/assets/{vendor-recharts-AnNqECZW.js → vendor-recharts-CY6tH-r6.js} +1 -1
  32. package/assets/assets/{vendor-tanstack-q5SvZtcv.js → vendor-tanstack-tBjrfzKu.js} +1 -1
  33. package/assets/index.html +15 -15
  34. package/dist/{ads-ZUZWSIBV.js → ads-XEW2LBKV.js} +3 -3
  35. package/dist/{agent-YDS3WY7B.js → agent-VYADMMPT.js} +7 -7
  36. package/dist/{agent-ask-7VUPXTXL.js → agent-ask-4G57GM3S.js} +3 -3
  37. package/dist/{agent-conversations-WPEBK3BS.js → agent-conversations-MRKRCXQI.js} +3 -3
  38. package/dist/{agent-journeys-H5CCYLNB.js → agent-journeys-WEUEYRMK.js} +3 -3
  39. package/dist/{agent-memory-CNPKPIWD.js → agent-memory-YLAOXQQ6.js} +3 -3
  40. package/dist/{agent-providers-U7FLJO5I.js → agent-providers-AWKQRJDZ.js} +3 -3
  41. package/dist/{agent-transcript-VY3BQNPU.js → agent-transcript-HXYFVCUD.js} +3 -3
  42. package/dist/{analytics-PYUNO7C2.js → analytics-5G5G5OJU.js} +3 -3
  43. package/dist/{apply-YNBEYC2G.js → apply-FCKZG7A2.js} +3 -3
  44. package/dist/{backfill-6AYHWEQX.js → backfill-3CTZHCJS.js} +10 -10
  45. package/dist/{backlinks-LVHZ2MQ7.js → backlinks-Q53JT63C.js} +3 -3
  46. package/dist/bing-FOY2UVIM.js +785 -0
  47. package/dist/{bootstrap-27NOBWTP.js → bootstrap-FXIT7LDW.js} +10 -10
  48. package/dist/{cdp-HCYY4SXR.js → cdp-WWQW3LIZ.js} +7 -7
  49. package/dist/{chunk-INH773FB.js → chunk-2BZJ4W27.js} +3 -3
  50. package/dist/{chunk-3KK6FWDF.js → chunk-3H5VURTU.js} +1 -1
  51. package/dist/{chunk-IK7QEKKD.js → chunk-3IC7PRTW.js} +1 -1
  52. package/dist/{chunk-BVJA3TV2.js → chunk-4INNOSWU.js} +5 -5
  53. package/dist/{chunk-4LNZTL7M.js → chunk-5GQ2AGWS.js} +3 -3
  54. package/dist/{chunk-3FHBPJ5R.js → chunk-7522CQ2E.js} +4 -4
  55. package/dist/{chunk-2FJB3CSS.js → chunk-A6DKZ4KQ.js} +1 -1
  56. package/dist/{chunk-JAYUWQAV.js → chunk-DPKA5CWK.js} +1 -1
  57. package/dist/{chunk-MNLAIB67.js → chunk-DX46HM7S.js} +1 -1
  58. package/dist/{chunk-ZJVQ72VC.js → chunk-EWR25OVQ.js} +2 -2
  59. package/dist/{chunk-TFB2S6TQ.js → chunk-GDEYX6E3.js} +4 -4
  60. package/dist/{chunk-T2MGGW6Y.js → chunk-GSNKBXGN.js} +6 -6
  61. package/dist/{chunk-AI75KS7G.js → chunk-HSOZSLIZ.js} +2574 -1585
  62. package/dist/{chunk-IVGVPPQT.js → chunk-IK3PYAQU.js} +1088 -646
  63. package/dist/{chunk-GDU6IMGB.js → chunk-J7V7TYX7.js} +2 -2
  64. package/dist/{chunk-GXTCDNX7.js → chunk-JLBJEQPV.js} +1 -1
  65. package/dist/{chunk-ZCNKGBIV.js → chunk-KAGMYJYG.js} +5 -5
  66. package/dist/{chunk-2AXFKYJU.js → chunk-MNLQY5WG.js} +2 -2
  67. package/dist/{chunk-FAMCDCVK.js → chunk-MXGME7NG.js} +1 -1
  68. package/dist/{chunk-6F5ULQDY.js → chunk-RE24YYIY.js} +4 -4
  69. package/dist/{chunk-ICS2WJ7H.js → chunk-S7D2ELTC.js} +3 -3
  70. package/dist/{chunk-TEQF4ZJA.js → chunk-TCANF22P.js} +162 -2
  71. package/dist/{chunk-BJHHD7VE.js → chunk-UIULMWJX.js} +2 -2
  72. package/dist/{chunk-TN53B5AB.js → chunk-VBM6T5ZP.js} +218 -3
  73. package/dist/{chunk-POMLL2OZ.js → chunk-VL4AZGUA.js} +1 -1
  74. package/dist/{chunk-CBWGUGME.js → chunk-WE6FSG7J.js} +18 -2
  75. package/dist/{chunk-LYTBHEID.js → chunk-WHN4RF2Y.js} +534 -342
  76. package/dist/{chunk-DOPUEXMC.js → chunk-WPTCWNA6.js} +2 -2
  77. package/dist/{chunk-IE4D47JE.js → chunk-X6XFWQCE.js} +7 -7
  78. package/dist/{chunk-IBGZ6D6R.js → chunk-Y35D3ZCH.js} +2 -2
  79. package/dist/{chunk-F643WELJ.js → chunk-YKLYWVLL.js} +341 -5
  80. package/dist/{chunk-GBWCEOZR.js → chunk-YW2IQEWS.js} +1 -1
  81. package/dist/{chunk-AYYZ4HKJ.js → chunk-ZEWOPHTA.js} +230 -1
  82. package/dist/{chunk-4FWDITQG.js → chunk-ZX4TZNP4.js} +1 -1
  83. package/dist/{chunk-JDTKG7KJ.js → chunk-ZYEWB5BK.js} +3 -3
  84. package/dist/{citations-3EZTHA65.js → citations-ZZ6ODCGZ.js} +3 -3
  85. package/dist/{cli-catalog-CBTM3JKP.js → cli-catalog-HEX47BKL.js} +3 -3
  86. package/dist/{cli-commands-H7BFVUGC.js → cli-commands-6OLN355M.js} +7 -7
  87. package/dist/cli.js +13 -13
  88. package/dist/{competitor-VH4TXJLT.js → competitor-6MRHORU2.js} +3 -3
  89. package/dist/{content-TSMNHXJZ.js → content-S2UOGTLN.js} +3 -3
  90. package/dist/{dashboard-KT2ACPI5.js → dashboard-J4H3FVKH.js} +6 -6
  91. package/dist/{demo-LWSLULEZ.js → demo-7PJJQMLO.js} +1 -1
  92. package/dist/{demo-server-UENMDVMG.js → demo-server-55I5LNNS.js} +12 -12
  93. package/dist/{discover-XTJXTKCI.js → discover-O4NFDHGP.js} +3 -3
  94. package/dist/{discover-eval-IVQI5YEW.js → discover-eval-PE2MW42B.js} +3 -3
  95. package/dist/{doctor-SJ4SHSQO.js → doctor-GT4MMJQJ.js} +3 -3
  96. package/dist/{evidence-C6T556YH.js → evidence-Z344KVJX.js} +3 -3
  97. package/dist/{export-cmd-JQZ5ZRSI.js → export-cmd-Z6WWLI6H.js} +3 -3
  98. package/dist/{ga-W2WHVRHN.js → ga-SXIGAF5F.js} +3 -3
  99. package/dist/{gbp-3AZIV5WF.js → gbp-CSLWSEKF.js} +3 -3
  100. package/dist/{google-3CKWPZT7.js → google-EAQJ46AR.js} +4 -4
  101. package/dist/{google-marketing-PJBGQYYW.js → google-marketing-NVKB4NLG.js} +1 -1
  102. package/dist/{health-cmd-4JTQMCXM.js → health-cmd-6IYRMZS3.js} +3 -3
  103. package/dist/{history-TXUJFEO2.js → history-KLZI7IKJ.js} +3 -3
  104. package/dist/index.d.ts +1891 -399
  105. package/dist/index.js +25 -25
  106. package/dist/{init-TF3OPCEC.js → init-LFLCM6KJ.js} +12 -12
  107. package/dist/{insights-XZQO4B45.js → insights-C7NN64E2.js} +3 -3
  108. package/dist/intelligence-service-ENI35JFR.js +16 -0
  109. package/dist/{journeys-VFIV5JYV.js → journeys-C34YDOM6.js} +3 -3
  110. package/dist/{keys-PV23G4LW.js → keys-4RDLFHXO.js} +3 -3
  111. package/dist/{keyword-D76KBIV5.js → keyword-BZEJEYAG.js} +3 -3
  112. package/dist/{logs-DYDZ6IEJ.js → logs-5FPZRSZM.js} +3 -3
  113. package/dist/{mcp-GAR5LDQD.js → mcp-574UA5Y3.js} +4 -4
  114. package/dist/mcp.js +9 -9
  115. package/dist/{measurement-plan-K24EOGMI.js → measurement-plan-2H4KHD2Y.js} +5 -5
  116. package/dist/{notify-XQHMPDQQ.js → notify-TFXL4CSH.js} +3 -3
  117. package/dist/{organic-evidence-UHHE7AO4.js → organic-evidence-R55KSYFN.js} +3 -3
  118. package/dist/{overview-AUZ3XRS5.js → overview-NJTCLHAB.js} +4 -4
  119. package/dist/{project-FUCPU2BD.js → project-PV36DZDG.js} +3 -3
  120. package/dist/{query-HRMSXDKL.js → query-5SVITJ4K.js} +3 -3
  121. package/dist/{research-R23XLZJ3.js → research-JSET5FNY.js} +3 -3
  122. package/dist/{results-export-N6IV3KG4.js → results-export-5EFMXTPG.js} +3 -3
  123. package/dist/{run-CJLG5EXH.js → run-NOSOG3YH.js} +4 -4
  124. package/dist/{schedule-IPDCQ2I5.js → schedule-I3ACQC2C.js} +3 -3
  125. package/dist/{search-ZU4AKJ76.js → search-EE53K7J5.js} +3 -3
  126. package/dist/{serve-LLIUILD2.js → serve-SDU77HVC.js} +26 -26
  127. package/dist/{session-2NQKSF2N.js → session-FYZCUPVX.js} +13 -13
  128. package/dist/{settings-4FS5NRKP.js → settings-CEI7EKPO.js} +3 -3
  129. package/dist/{skills-GSFHACGN.js → skills-TRTFFZU3.js} +2 -2
  130. package/dist/{snapshot-4NUVPDK3.js → snapshot-2RXVTDTZ.js} +3 -3
  131. package/dist/{src-JQYZ2TP6.js → src-DYJHW2HG.js} +16 -2
  132. package/dist/{status-ASBLMFP2.js → status-2VHBSIRY.js} +4 -4
  133. package/dist/{technical-aeo-QXHRBGYY.js → technical-aeo-3OMGT4ZT.js} +3 -3
  134. package/dist/{telemetry-J2I577I3.js → telemetry-5F4EHGR2.js} +4 -4
  135. package/dist/{tools-UPJRW4DN.js → tools-C3IIMXBJ.js} +11 -11
  136. package/dist/{traffic-GWBZKYR5.js → traffic-S3VUYBG6.js} +5 -5
  137. package/dist/{trends-YOLCJBNM.js → trends-RQ4B2QWA.js} +3 -3
  138. package/dist/{users-LPSCZV3M.js → users-T6OOG5YB.js} +3 -3
  139. package/dist/{visibility-stats-JJQTZSSK.js → visibility-stats-2O24MQCV.js} +3 -3
  140. package/dist/{wordpress-4IKDT5KT.js → wordpress-SDENOBFI.js} +3 -3
  141. package/package.json +1 -1
  142. package/assets/assets/AuditHistoryPanel-9B0XpYsN.js +0 -1
  143. package/assets/assets/MeasurementPropertyPage-BObvWjVx.js +0 -4
  144. package/assets/assets/ProjectPage-y378tOaT.js +0 -11
  145. package/assets/assets/SiteHealthSection-DuUE1cB0.js +0 -2
  146. package/assets/assets/TrafficPage-B_YunwjH.js +0 -40
  147. package/assets/assets/TrafficSourceDetailPage-C51W87fU.js +0 -1
  148. package/assets/assets/agent-trust-copy-BlpC8jo5.js +0 -1
  149. package/assets/assets/extract-error-message-Dqirbrl0.js +0 -1
  150. package/assets/assets/index-CsvEqhK4.js +0 -60
  151. package/assets/assets/react-query-CSlTSOjz.js +0 -1
  152. package/dist/bing-A2MUG6AV.js +0 -418
  153. package/dist/intelligence-service-LEH5UVIC.js +0 -16
@@ -5,7 +5,7 @@ import {
5
5
  loadConfig,
6
6
  loadConfigRaw,
7
7
  saveConfigPatch
8
- } from "./chunk-2FJB3CSS.js";
8
+ } from "./chunk-A6DKZ4KQ.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-F643WELJ.js";
21
+ } from "./chunk-YKLYWVLL.js";
22
22
 
23
23
  // src/runtime-context.ts
24
24
  function cliRuntimeContext(env = process.env, stdio = process) {
@@ -8,23 +8,23 @@ import {
8
8
  reparseStoredResult4,
9
9
  reparseStoredResult5,
10
10
  resolveStoredApiResponse
11
- } from "./chunk-BVJA3TV2.js";
11
+ } from "./chunk-4INNOSWU.js";
12
12
  import {
13
13
  loadConfig
14
- } from "./chunk-2FJB3CSS.js";
14
+ } from "./chunk-A6DKZ4KQ.js";
15
15
  import {
16
16
  isMachineFormat
17
17
  } from "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  determineCitationState
20
- } from "./chunk-JAYUWQAV.js";
20
+ } from "./chunk-DPKA5CWK.js";
21
21
  import {
22
22
  backfillProjectAnswerMentions,
23
23
  competitorIdentityColumns,
24
24
  createRunCompetitorResolver,
25
25
  readMarketCompetitorNames,
26
26
  refreshSnapshotMentionIdentity
27
- } from "./chunk-AI75KS7G.js";
27
+ } from "./chunk-HSOZSLIZ.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-AYYZ4HKJ.js";
41
+ } from "./chunk-ZEWOPHTA.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-F643WELJ.js";
54
+ } from "./chunk-YKLYWVLL.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-LEH5UVIC.js");
432
+ const { IntelligenceService } = await import("./intelligence-service-ENI35JFR.js");
433
433
  const config = loadConfig();
434
434
  const db = createClient(config.database);
435
435
  migrate(db);
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getRequestContext
3
- } from "./chunk-GBWCEOZR.js";
3
+ } from "./chunk-YW2IQEWS.js";
4
4
  import {
5
5
  diagnosticIdentity,
6
6
  redactLogString,
7
7
  redactLogValue
8
- } from "./chunk-F643WELJ.js";
8
+ } from "./chunk-YKLYWVLL.js";
9
9
 
10
10
  // ../api-routes/src/runtime-logger.ts
11
11
  import { format } from "util";
@@ -6936,6 +6936,7 @@ var runKindSchema = z19.enum([
6936
6936
  "ga-sync",
6937
6937
  "bing-inspect",
6938
6938
  "bing-inspect-sitemap",
6939
+ "bing-sync",
6939
6940
  "backlink-extract",
6940
6941
  "traffic-sync",
6941
6942
  "aeo-discover-seed",
@@ -13510,8 +13511,15 @@ var LIVE_READ_OPERATIONS = /* @__PURE__ */ new Set([
13510
13511
  "GET /api/v1/projects/{name}/gbp/reviews/live",
13511
13512
  "GET /api/v1/projects/{name}/ga/properties",
13512
13513
  "GET /api/v1/projects/{name}/bing/sites",
13513
- // Performance reads query Bing directly rather than the local snapshot.
13514
- "GET /api/v1/projects/{name}/bing/performance",
13514
+ // Bing drill-downs and keyword research: one call to Bing per request.
13515
+ "GET /api/v1/projects/{name}/bing/query-pages",
13516
+ "GET /api/v1/projects/{name}/bing/page-queries",
13517
+ "GET /api/v1/projects/{name}/bing/query-history",
13518
+ "GET /api/v1/projects/{name}/bing/url-traffic",
13519
+ "GET /api/v1/projects/{name}/bing/url-children",
13520
+ "GET /api/v1/projects/{name}/bing/links",
13521
+ "GET /api/v1/projects/{name}/bing/fetched-urls",
13522
+ "GET /api/v1/projects/{name}/bing/keywords",
13515
13523
  "GET /api/v1/projects/{name}/doctor",
13516
13524
  "GET /api/v1/doctor",
13517
13525
  "GET /api/v1/backlinks/latest-release",
@@ -13698,6 +13706,14 @@ var STORED_READ_OPERATIONS = /* @__PURE__ */ new Set([
13698
13706
  "GET /api/v1/projects/{name}/bing/status",
13699
13707
  "GET /api/v1/projects/{name}/bing/coverage/history",
13700
13708
  "GET /api/v1/projects/{name}/bing/inspections",
13709
+ "GET /api/v1/projects/{name}/bing/performance",
13710
+ "GET /api/v1/projects/{name}/bing/traffic",
13711
+ "GET /api/v1/projects/{name}/bing/queries",
13712
+ "GET /api/v1/projects/{name}/bing/pages",
13713
+ "GET /api/v1/projects/{name}/bing/crawl-stats",
13714
+ "GET /api/v1/projects/{name}/bing/sitemaps",
13715
+ "GET /api/v1/projects/{name}/bing/site",
13716
+ "GET /api/v1/projects/{name}/bing/keyword-demand",
13701
13717
  "GET /api/v1/projects/{name}/traffic/sources",
13702
13718
  "GET /api/v1/projects/{name}/traffic/status",
13703
13719
  "GET /api/v1/projects/{name}/traffic/analytics",
@@ -23582,7 +23598,12 @@ var bingKeywordStatsDtoSchema = z77.object({
23582
23598
  impressions: z77.number(),
23583
23599
  clicks: z77.number(),
23584
23600
  ctr: fraction(),
23585
- averagePosition: z77.number()
23601
+ averagePosition: z77.number(),
23602
+ /**
23603
+ * Bing's weekly bucket for this row (YYYY-MM-DD). The live read returns one
23604
+ * row per query per week, so the same query repeats; this tells them apart.
23605
+ */
23606
+ date: z77.string().nullable().optional()
23586
23607
  });
23587
23608
  var bingCoverageSnapshotDtoSchema = z77.object({
23588
23609
  date: z77.string(),
@@ -23602,7 +23623,16 @@ var bingIndexingRequestResponseDtoSchema = z77.object({
23602
23623
  succeeded: z77.number().int().nonnegative(),
23603
23624
  failed: z77.number().int().nonnegative()
23604
23625
  }),
23605
- results: z77.array(bingSubmitResultDtoSchema).default([])
23626
+ results: z77.array(bingSubmitResultDtoSchema).default([]),
23627
+ /**
23628
+ * Bing's submission allowance for the site, read just before submitting:
23629
+ * what is LEFT today and this month. URLs past the allowance are returned
23630
+ * as errors without being sent. Null when the quota could not be read.
23631
+ */
23632
+ quota: z77.object({
23633
+ dailyQuota: z77.number().int().nonnegative(),
23634
+ monthlyQuota: z77.number().int().nonnegative()
23635
+ }).nullable().optional()
23606
23636
  });
23607
23637
  var bingSiteDtoSchema = z77.object({
23608
23638
  url: z77.string(),
@@ -23627,6 +23657,293 @@ var bingConnectResponseDtoSchema = z77.object({
23627
23657
  var bingSetSiteResponseDtoSchema = z77.object({
23628
23658
  siteUrl: z77.string()
23629
23659
  });
23660
+ var bingWindowDtoSchema = z77.object({
23661
+ startDate: z77.string().nullable(),
23662
+ endDate: z77.string().nullable()
23663
+ });
23664
+ var bingTrafficDayDtoSchema = z77.object({
23665
+ date: z77.string(),
23666
+ clicks: z77.number().int().nonnegative(),
23667
+ impressions: z77.number().int().nonnegative(),
23668
+ ctr: fraction()
23669
+ });
23670
+ var bingTrafficResponseDtoSchema = z77.object({
23671
+ rows: z77.array(bingTrafficDayDtoSchema),
23672
+ totals: z77.object({
23673
+ clicks: z77.number().int().nonnegative(),
23674
+ impressions: z77.number().int().nonnegative(),
23675
+ ctr: fraction()
23676
+ }),
23677
+ window: bingWindowDtoSchema,
23678
+ /** Newest stored day for the project, ignoring the window. Null before the first sync. */
23679
+ latestAvailableDate: z77.string().nullable(),
23680
+ /** Oldest stored day. A window that starts earlier is only partly covered. */
23681
+ earliestAvailableDate: z77.string().nullable(),
23682
+ /**
23683
+ * Least-squares fit per metric over one entry per calendar day in the
23684
+ * window (a day Bing sent no row for counts as zero), so every surface draws
23685
+ * the same line. Null for a metric with fewer than two days.
23686
+ */
23687
+ trends: z77.object({
23688
+ clicks: linearTrendSchema.nullable(),
23689
+ impressions: linearTrendSchema.nullable(),
23690
+ ctr: linearTrendSchema.nullable()
23691
+ }),
23692
+ /**
23693
+ * The window against the equal-length period before it (`prior-window`)
23694
+ * when the stored days reach back that far, else the window's own two
23695
+ * halves (`split-window`). Same shape as the Search Console comparison;
23696
+ * `position` is always null because Bing's daily traffic carries none.
23697
+ * Null when there is no span to split or the window ends after the newest
23698
+ * stored day.
23699
+ */
23700
+ periodComparison: gscPeriodComparisonSchema.nullable()
23701
+ });
23702
+ var bingSearchTotalsShape = {
23703
+ clicks: z77.number().int().nonnegative(),
23704
+ impressions: z77.number().int().nonnegative(),
23705
+ ctr: fraction(),
23706
+ /** Impression-weighted average position. Null when Bing sent no position. */
23707
+ avgImpressionPosition: z77.number().nullable(),
23708
+ /** Click-weighted average click position. Null when Bing sent its `-1` "no value". */
23709
+ avgClickPosition: z77.number().nullable(),
23710
+ /** Weekly buckets the row appeared in inside the window. */
23711
+ weeks: z77.number().int().nonnegative()
23712
+ };
23713
+ var bingQueryTotalsRowDtoSchema = z77.object({ query: z77.string(), ...bingSearchTotalsShape });
23714
+ var bingPageTotalsRowDtoSchema = z77.object({ page: z77.string(), ...bingSearchTotalsShape });
23715
+ var bingWeeklyTotalsRowDtoSchema = z77.object({ date: z77.string(), ...bingSearchTotalsShape });
23716
+ var bingSearchTotalsDtoSchema = z77.object(bingSearchTotalsShape);
23717
+ var bingSearchComparisonDtoSchema = z77.object({
23718
+ /** Length of each window in calendar days. */
23719
+ days: z77.number().int().positive(),
23720
+ prior: bingSearchTotalsDtoSchema,
23721
+ difference: z77.object({
23722
+ clicks: z77.number().int(),
23723
+ impressions: z77.number().int(),
23724
+ ctr: fraction(),
23725
+ avgImpressionPosition: z77.number().nullable()
23726
+ })
23727
+ });
23728
+ var bingSearchListEnvelope = {
23729
+ totalMatching: z77.number().int().nonnegative(),
23730
+ truncated: z77.boolean(),
23731
+ window: bingWindowDtoSchema,
23732
+ latestAvailableDate: z77.string().nullable(),
23733
+ /**
23734
+ * The matching rows summed over the window, before paging. Not a site total:
23735
+ * Bing names only some queries (use `/bing/traffic` for the site). Null when
23736
+ * no stored week falls in the window.
23737
+ */
23738
+ totals: bingSearchTotalsDtoSchema.nullable(),
23739
+ /**
23740
+ * `totals` against the equal-length window before it. Null for an open
23741
+ * window (`window=all`), or when the stored weeks do not reach back that far.
23742
+ */
23743
+ comparison: bingSearchComparisonDtoSchema.nullable()
23744
+ };
23745
+ var bingQueryTotalsResponseDtoSchema = z77.object({
23746
+ groupBy: z77.enum(["query", "week"]),
23747
+ rows: z77.array(bingQueryTotalsRowDtoSchema),
23748
+ weekly: z77.array(bingWeeklyTotalsRowDtoSchema),
23749
+ ...bingSearchListEnvelope
23750
+ });
23751
+ var bingPageTotalsResponseDtoSchema = z77.object({
23752
+ groupBy: z77.enum(["page", "week"]),
23753
+ rows: z77.array(bingPageTotalsRowDtoSchema),
23754
+ weekly: z77.array(bingWeeklyTotalsRowDtoSchema),
23755
+ ...bingSearchListEnvelope
23756
+ });
23757
+ var bingCrawlStatsDayDtoSchema = z77.object({
23758
+ date: z77.string(),
23759
+ crawledPages: z77.number().int().nonnegative(),
23760
+ inIndex: z77.number().int().nonnegative(),
23761
+ crawlErrors: z77.number().int().nonnegative(),
23762
+ inLinks: z77.number().int().nonnegative(),
23763
+ code2xx: z77.number().int().nonnegative(),
23764
+ code301: z77.number().int().nonnegative(),
23765
+ code302: z77.number().int().nonnegative(),
23766
+ code4xx: z77.number().int().nonnegative(),
23767
+ code5xx: z77.number().int().nonnegative(),
23768
+ allOtherCodes: z77.number().int().nonnegative(),
23769
+ blockedByRobotsTxt: z77.number().int().nonnegative(),
23770
+ connectionTimeout: z77.number().int().nonnegative(),
23771
+ containsMalware: z77.number().int().nonnegative(),
23772
+ dnsFailures: z77.number().int().nonnegative()
23773
+ });
23774
+ var bingCrawlStatsResponseDtoSchema = z77.object({
23775
+ rows: z77.array(bingCrawlStatsDayDtoSchema),
23776
+ window: bingWindowDtoSchema,
23777
+ latestAvailableDate: z77.string().nullable()
23778
+ });
23779
+ var bingSitemapDtoSchema = z77.object({
23780
+ url: z77.string(),
23781
+ /** The sitemap index this sitemap was listed under; null for a top-level submission. */
23782
+ parentUrl: z77.string().nullable(),
23783
+ type: z77.string(),
23784
+ status: z77.string(),
23785
+ urlCount: z77.number().int().nonnegative(),
23786
+ fileSize: z77.number().int().nonnegative(),
23787
+ compressed: z77.boolean(),
23788
+ submittedAt: z77.string().nullable(),
23789
+ lastCrawledAt: z77.string().nullable(),
23790
+ syncedAt: z77.string()
23791
+ });
23792
+ var bingSitemapsResponseDtoSchema = z77.object({
23793
+ sitemaps: z77.array(bingSitemapDtoSchema),
23794
+ syncedAt: z77.string().nullable()
23795
+ });
23796
+ var bingSiteSnapshotKindSchema = z77.enum([
23797
+ "url-submission-quota",
23798
+ "content-submission-quota",
23799
+ "crawl-settings",
23800
+ "crawl-issues",
23801
+ "blocked-urls",
23802
+ "page-preview-blocks",
23803
+ "deep-link-blocks",
23804
+ "query-parameters",
23805
+ "country-region-settings",
23806
+ "fetched-urls",
23807
+ "connected-pages",
23808
+ "site-roles"
23809
+ ]);
23810
+ var BingSiteSnapshotKinds = bingSiteSnapshotKindSchema.enum;
23811
+ var bingSiteSnapshotStatusSchema = z77.enum(["ok", "unauthorized", "failed"]);
23812
+ var bingSiteSnapshotDtoSchema = z77.object({
23813
+ kind: bingSiteSnapshotKindSchema,
23814
+ status: bingSiteSnapshotStatusSchema,
23815
+ payload: z77.unknown(),
23816
+ error: z77.string().nullable(),
23817
+ syncedAt: z77.string()
23818
+ });
23819
+ var bingSiteResponseDtoSchema = z77.object({
23820
+ snapshots: z77.array(bingSiteSnapshotDtoSchema),
23821
+ syncedAt: z77.string().nullable()
23822
+ });
23823
+ var bingKeywordDemandRowDtoSchema = z77.object({
23824
+ query: z77.string(),
23825
+ country: z77.string(),
23826
+ language: z77.string(),
23827
+ /** Newest stored week for this query and market. */
23828
+ latestWeek: z77.string().nullable(),
23829
+ /** Exact-match Bing searches in the newest week. */
23830
+ latestImpressions: z77.number().int().nonnegative().nullable(),
23831
+ latestBroadImpressions: z77.number().int().nonnegative().nullable(),
23832
+ /** Mean weekly exact-match searches over the stored weeks. */
23833
+ avgWeeklyImpressions: z77.number().nonnegative().nullable(),
23834
+ /**
23835
+ * Weeks stored. A query Bing reports no volume for holds one zero week,
23836
+ * dated the day it was checked, so it is not re-read daily.
23837
+ */
23838
+ weeks: z77.number().int().nonnegative(),
23839
+ syncedAt: z77.string().nullable()
23840
+ });
23841
+ var bingKeywordWeekDtoSchema = z77.object({
23842
+ date: z77.string(),
23843
+ impressions: z77.number().int().nonnegative(),
23844
+ broadImpressions: z77.number().int().nonnegative()
23845
+ });
23846
+ var bingKeywordDemandResponseDtoSchema = z77.object({
23847
+ market: z77.object({ country: z77.string(), language: z77.string() }),
23848
+ rows: z77.array(bingKeywordDemandRowDtoSchema),
23849
+ history: z77.array(bingKeywordWeekDtoSchema)
23850
+ });
23851
+ var bingStatsRowDtoSchema = z77.object({
23852
+ date: z77.string().nullable(),
23853
+ /** The search query (page-queries) or page URL (query-pages). */
23854
+ key: z77.string(),
23855
+ clicks: z77.number().int().nonnegative(),
23856
+ impressions: z77.number().int().nonnegative(),
23857
+ ctr: fraction(),
23858
+ avgImpressionPosition: z77.number().nullable(),
23859
+ avgClickPosition: z77.number().nullable()
23860
+ });
23861
+ var bingQueryPagesResponseDtoSchema = z77.object({
23862
+ query: z77.string(),
23863
+ rows: z77.array(bingStatsRowDtoSchema)
23864
+ });
23865
+ var bingPageQueriesResponseDtoSchema = z77.object({
23866
+ page: z77.string(),
23867
+ rows: z77.array(bingStatsRowDtoSchema)
23868
+ });
23869
+ var bingQueryHistoryResponseDtoSchema = z77.object({
23870
+ query: z77.string(),
23871
+ page: z77.string().nullable(),
23872
+ granularity: z77.enum(["day", "week"]),
23873
+ rows: z77.array(z77.object({
23874
+ date: z77.string().nullable(),
23875
+ clicks: z77.number().int().nonnegative(),
23876
+ impressions: z77.number().int().nonnegative(),
23877
+ ctr: fraction(),
23878
+ position: z77.number().nullable()
23879
+ }))
23880
+ });
23881
+ var bingUrlTrafficDtoSchema = z77.object({
23882
+ url: z77.string(),
23883
+ clicks: z77.number().int().nonnegative(),
23884
+ impressions: z77.number().int().nonnegative(),
23885
+ isPage: z77.boolean()
23886
+ });
23887
+ var bingUrlTrafficResponseDtoSchema = z77.object({
23888
+ url: bingUrlTrafficDtoSchema,
23889
+ /** URLs under this one; empty unless `children` was asked for. */
23890
+ children: z77.array(bingUrlTrafficDtoSchema),
23891
+ page: z77.number().int().nonnegative()
23892
+ });
23893
+ var bingUrlChildrenResponseDtoSchema = z77.object({
23894
+ url: z77.string(),
23895
+ page: z77.number().int().nonnegative(),
23896
+ rows: z77.array(z77.object({
23897
+ url: z77.string(),
23898
+ httpStatus: z77.number().nullable(),
23899
+ documentSize: z77.number().nullable(),
23900
+ anchorCount: z77.number().nullable(),
23901
+ isPage: z77.boolean().nullable(),
23902
+ totalChildUrlCount: z77.number().nullable(),
23903
+ discoveryDate: z77.string().nullable(),
23904
+ lastCrawledDate: z77.string().nullable()
23905
+ }))
23906
+ });
23907
+ var bingLinksResponseDtoSchema = z77.object({
23908
+ url: z77.string().nullable(),
23909
+ page: z77.number().int().nonnegative(),
23910
+ totalPages: z77.number().int().nonnegative(),
23911
+ rows: z77.array(z77.object({
23912
+ url: z77.string(),
23913
+ count: z77.number().int().nonnegative().nullable(),
23914
+ anchorText: z77.string().nullable()
23915
+ }))
23916
+ });
23917
+ var bingFetchedUrlsResponseDtoSchema = z77.object({
23918
+ rows: z77.array(z77.object({
23919
+ url: z77.string(),
23920
+ date: z77.string().nullable(),
23921
+ expired: z77.boolean().nullable(),
23922
+ fetched: z77.boolean().nullable()
23923
+ })),
23924
+ details: z77.object({
23925
+ url: z77.string(),
23926
+ date: z77.string().nullable(),
23927
+ status: z77.string().nullable(),
23928
+ headers: z77.string().nullable(),
23929
+ document: z77.string().nullable()
23930
+ }).nullable()
23931
+ });
23932
+ var bingKeywordResearchResponseDtoSchema = z77.object({
23933
+ keyword: z77.string(),
23934
+ market: z77.object({ country: z77.string(), language: z77.string() }),
23935
+ window: z77.object({ startDate: z77.string(), endDate: z77.string() }),
23936
+ volume: z77.object({
23937
+ impressions: z77.number().int().nonnegative(),
23938
+ broadImpressions: z77.number().int().nonnegative()
23939
+ }).nullable(),
23940
+ history: z77.array(bingKeywordWeekDtoSchema),
23941
+ related: z77.array(z77.object({
23942
+ query: z77.string(),
23943
+ impressions: z77.number().int().nonnegative(),
23944
+ broadImpressions: z77.number().int().nonnegative()
23945
+ }))
23946
+ });
23630
23947
 
23631
23948
  // ../contracts/src/cdp.ts
23632
23949
  import { z as z78 } from "zod";
@@ -23986,7 +24303,7 @@ var LLM_CAPABILITIES = Object.values(LlmCapabilities);
23986
24303
 
23987
24304
  // ../contracts/src/status.ts
23988
24305
  import { z as z80 } from "zod";
23989
- var statusIntegrationSchema = z80.enum(["gsc", "ga", "gbp", "bing", "ads", "google-ads", "gtm", "traffic"]);
24306
+ var statusIntegrationSchema = z80.enum(["gsc", "ga", "gbp", "bing", "bing-search", "ads", "google-ads", "gtm", "traffic"]);
23990
24307
  var StatusIntegrations = statusIntegrationSchema.enum;
23991
24308
  var integrationStateSchema = z80.enum(["ok", "failing", "stale", "never-synced"]);
23992
24309
  var IntegrationStates = integrationStateSchema.enum;
@@ -26222,6 +26539,8 @@ var UI_ACTIONS = [
26222
26539
  "integration.connect",
26223
26540
  "integration.disconnect",
26224
26541
  "traffic.sync",
26542
+ /** A Bing data sync was queued from the dashboard. */
26543
+ "bing.sync",
26225
26544
  "journeys.visitor_open",
26226
26545
  "journeys.visit_open",
26227
26546
  "journeys.agent_open",
@@ -27776,6 +28095,23 @@ export {
27776
28095
  bingStatusDtoSchema,
27777
28096
  bingConnectResponseDtoSchema,
27778
28097
  bingSetSiteResponseDtoSchema,
28098
+ bingTrafficResponseDtoSchema,
28099
+ bingQueryTotalsResponseDtoSchema,
28100
+ bingPageTotalsResponseDtoSchema,
28101
+ bingCrawlStatsResponseDtoSchema,
28102
+ bingSitemapsResponseDtoSchema,
28103
+ bingSiteSnapshotKindSchema,
28104
+ BingSiteSnapshotKinds,
28105
+ bingSiteResponseDtoSchema,
28106
+ bingKeywordDemandResponseDtoSchema,
28107
+ bingQueryPagesResponseDtoSchema,
28108
+ bingPageQueriesResponseDtoSchema,
28109
+ bingQueryHistoryResponseDtoSchema,
28110
+ bingUrlTrafficResponseDtoSchema,
28111
+ bingUrlChildrenResponseDtoSchema,
28112
+ bingLinksResponseDtoSchema,
28113
+ bingFetchedUrlsResponseDtoSchema,
28114
+ bingKeywordResearchResponseDtoSchema,
27779
28115
  cdpStatusDtoSchema,
27780
28116
  wordpressEnvSchema,
27781
28117
  wordpressStatusDtoSchema,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-F643WELJ.js";
4
+ } from "./chunk-YKLYWVLL.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";