@canonry/canonry 7.88.0 → 7.90.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 (154) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +16 -4
  2. package/assets/assets/{AgentSetupPage-DV06oPTd.js → AgentSetupPage-oSoM5flN.js} +6 -6
  3. package/assets/assets/AuditHistoryPanel-YrEggsyA.js +1 -0
  4. package/assets/assets/{BacklinksPage-Dw0wgYlg.js → BacklinksPage-vXUxxplH.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-DsDx15am.js → HistoryPage-VJ_JQ7R3.js} +1 -1
  8. package/assets/assets/{InfoTooltip-DrBIPuSU.js → InfoTooltip-CNLlIWeP.js} +1 -1
  9. package/assets/assets/MeasurementPropertyPage-BZKiS1V0.js +4 -0
  10. package/assets/assets/ProjectPage-p-rDlzSq.js +11 -0
  11. package/assets/assets/{RunsPage-BggqKbOG.js → RunsPage-CjkPCc9Z.js} +1 -1
  12. package/assets/assets/{SettingsPage-B7ns_ECx.js → SettingsPage-BNHMlx6C.js} +1 -1
  13. package/assets/assets/SiteHealthSection-BZhulwSy.js +2 -0
  14. package/assets/assets/{ToneBadge-B8hKcr8p.js → ToneBadge-B3rD6bDF.js} +6 -6
  15. package/assets/assets/TrafficPage-Dr8NTQpA.js +40 -0
  16. package/assets/assets/TrafficSourceDetailPage-C79eQilP.js +1 -0
  17. package/assets/assets/{account-context-pzV-boTi.js → account-context-GstYbqpX.js} +1 -1
  18. package/assets/assets/agent-trust-copy-Ca4ys8J2.js +1 -0
  19. package/assets/assets/{card-Mu_5i5fM.js → card-CgdGerYK.js} +1 -1
  20. package/assets/assets/{format-helpers-C8QYorwm.js → format-helpers-ByAY4dv0.js} +2 -2
  21. package/assets/assets/{index-BOUrrC9J.css → index-Bhpq6fUo.css} +1 -1
  22. package/assets/assets/index-BrHemYsG.js +60 -0
  23. package/assets/assets/query-client-DjRrRIsq.js +1 -0
  24. package/assets/assets/react-query-B8JD_K7g.js +1 -0
  25. package/assets/assets/{react-sigma_core.esm.min-BfnfPCis.js → react-sigma_core.esm.min-OHqBWE8n.js} +1 -1
  26. package/assets/assets/server-traffic-Bt9bexaP.js +1 -0
  27. package/assets/assets/{service-B85wjZQP.js → service-SgtD5EOS.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-4TAIMWZC.js → ads-6BAITIBY.js} +3 -3
  35. package/dist/{agent-C7NKP2TO.js → agent-BE3D65U4.js} +7 -7
  36. package/dist/{agent-ask-EPH5FDM6.js → agent-ask-TT6BAV2T.js} +3 -3
  37. package/dist/{agent-conversations-LPBBVRKK.js → agent-conversations-GJDAWU36.js} +3 -3
  38. package/dist/{agent-journeys-MBORINJA.js → agent-journeys-UEL27GNY.js} +3 -3
  39. package/dist/{agent-memory-NJIZO75R.js → agent-memory-PB74OP46.js} +3 -3
  40. package/dist/{agent-providers-ZQVUOCX6.js → agent-providers-5WFMNRRK.js} +3 -3
  41. package/dist/{agent-transcript-67HFY5GT.js → agent-transcript-IAGB3JXG.js} +3 -3
  42. package/dist/{analytics-TUO6BVB6.js → analytics-5BVE7KUN.js} +3 -3
  43. package/dist/{apply-V7A5O7YS.js → apply-YJJWQ4JX.js} +3 -3
  44. package/dist/{backfill-PGKYR6NA.js → backfill-6OLGZIEV.js} +10 -10
  45. package/dist/{backlinks-5GGPQNR4.js → backlinks-4JK26OIO.js} +3 -3
  46. package/dist/{bing-PQOLIW2X.js → bing-NZYYPB2M.js} +43 -8
  47. package/dist/{bootstrap-IH3XX6PI.js → bootstrap-6KHK63W3.js} +10 -10
  48. package/dist/{cdp-B3PFQ5RB.js → cdp-PTXWVX6T.js} +7 -7
  49. package/dist/{chunk-EL4HRIID.js → chunk-2UULABPI.js} +7 -3
  50. package/dist/{chunk-PZLEKWYA.js → chunk-7ASKZHS4.js} +1 -1
  51. package/dist/{chunk-R7K24KY7.js → chunk-7VJJXLRP.js} +3 -3
  52. package/dist/{chunk-4A4X7VXE.js → chunk-AFYKUX2X.js} +2 -2
  53. package/dist/{chunk-EYSQMZ6L.js → chunk-C2XWWIJZ.js} +413 -376
  54. package/dist/{chunk-2KL2XHS6.js → chunk-DF4B6OGX.js} +4 -4
  55. package/dist/{chunk-OKLDBQYW.js → chunk-DZO6CATO.js} +4 -4
  56. package/dist/{chunk-Q2SJRZA3.js → chunk-ETIIPSWL.js} +117 -6
  57. package/dist/{chunk-5WWEZ26Y.js → chunk-F442MSX2.js} +2 -2
  58. package/dist/{chunk-EGUJNHAZ.js → chunk-F6WNKKGG.js} +33 -7
  59. package/dist/{chunk-TL52ELES.js → chunk-GKX5F7NX.js} +1 -1
  60. package/dist/{chunk-LBZYPZAA.js → chunk-HUQDD26S.js} +7 -7
  61. package/dist/{chunk-N6AWKBLY.js → chunk-I7DAEE3L.js} +5 -5
  62. package/dist/{chunk-FNQFM3TK.js → chunk-L2MDMZFT.js} +3 -3
  63. package/dist/{chunk-DILCH7RL.js → chunk-LQWMNDZR.js} +1 -1
  64. package/dist/{chunk-FLJVGHTQ.js → chunk-LTZNUDSI.js} +3 -3
  65. package/dist/{chunk-PBOIN52J.js → chunk-N7LRPMWR.js} +2 -2
  66. package/dist/{chunk-E4DUE2PW.js → chunk-NKGQCCUS.js} +6 -6
  67. package/dist/{chunk-IR3MYKIA.js → chunk-NPX5SL54.js} +1 -1
  68. package/dist/{chunk-5KDJJO2N.js → chunk-OOVWMWMT.js} +1 -1
  69. package/dist/{chunk-DVWAA3ES.js → chunk-OVUFIG22.js} +89 -21
  70. package/dist/{chunk-FL76YWYN.js → chunk-PID3C4B7.js} +1 -1
  71. package/dist/{chunk-D354CQ6T.js → chunk-Q6EZEVXE.js} +1 -1
  72. package/dist/{chunk-UVXQQZB5.js → chunk-QLVTMPFW.js} +2 -2
  73. package/dist/{chunk-4T2VZPDG.js → chunk-QWNDNZJ3.js} +2 -2
  74. package/dist/{chunk-4VMHN5LL.js → chunk-SDXMG4VX.js} +1159 -899
  75. package/dist/{chunk-CYQCO5NY.js → chunk-TA4L7U2M.js} +1 -1
  76. package/dist/{chunk-MCQK432C.js → chunk-UG7TZJIG.js} +1 -1
  77. package/dist/{chunk-ZQGWB7VJ.js → chunk-USHY3SH6.js} +62 -1
  78. package/dist/{chunk-O7OZVZWR.js → chunk-WNDBACO7.js} +43 -13
  79. package/dist/{chunk-MEN27RAJ.js → chunk-WYMBWCG5.js} +3 -1
  80. package/dist/{chunk-BDLC3DFM.js → chunk-XCEA5OMI.js} +2 -2
  81. package/dist/{chunk-6DIDDYG6.js → chunk-YB2GAK32.js} +5 -5
  82. package/dist/{chunk-TAQHHXBC.js → chunk-YPJCZD5H.js} +4 -4
  83. package/dist/{chunk-IPOYH4WE.js → chunk-ZV6PMFF4.js} +1 -1
  84. package/dist/{citations-J3IGPX4L.js → citations-WX4VO6ZI.js} +3 -3
  85. package/dist/{cli-catalog-2PCRGKPH.js → cli-catalog-BTRNR2UP.js} +3 -3
  86. package/dist/{cli-commands-4MUJZCZO.js → cli-commands-5ISZA43S.js} +7 -7
  87. package/dist/cli.js +13 -13
  88. package/dist/{competitor-X7Q2AZGL.js → competitor-HZRZWCEN.js} +3 -3
  89. package/dist/{content-HTR3PJPX.js → content-NOZDHI3M.js} +3 -3
  90. package/dist/{dashboard-LSO57ZEE.js → dashboard-TZLWHXP4.js} +6 -6
  91. package/dist/{demo-P25N4SKK.js → demo-2PYBQD47.js} +1 -1
  92. package/dist/{demo-server-6Z5XSHFS.js → demo-server-JEQNGMMV.js} +12 -12
  93. package/dist/{discover-KE6TQPOC.js → discover-A2XFXHOC.js} +3 -3
  94. package/dist/{discover-eval-XKOYGCRW.js → discover-eval-A6SBUYXF.js} +3 -3
  95. package/dist/{doctor-RL2J54I3.js → doctor-GZACELPF.js} +3 -3
  96. package/dist/{evidence-CYJ4AKUZ.js → evidence-RVFMUWIL.js} +3 -3
  97. package/dist/{export-cmd-2YM3PXCW.js → export-cmd-X2TFZGNJ.js} +3 -3
  98. package/dist/{ga-XAB66MJO.js → ga-TOT3V67A.js} +3 -3
  99. package/dist/{gbp-CDGBLRVV.js → gbp-KP4YZU6S.js} +3 -3
  100. package/dist/{google-XHCUKQ3J.js → google-GCFSTV5N.js} +4 -4
  101. package/dist/{google-marketing-ZR6NTWEY.js → google-marketing-ANS65KQN.js} +1 -1
  102. package/dist/{health-cmd-VS3EIFJD.js → health-cmd-UKMNLU6D.js} +3 -3
  103. package/dist/{history-YIGYYNZJ.js → history-TWGYSAZZ.js} +3 -3
  104. package/dist/index.d.ts +402 -44
  105. package/dist/index.js +25 -25
  106. package/dist/{init-ST3BXHQF.js → init-K4623VOY.js} +12 -12
  107. package/dist/{insights-KZS6TYYL.js → insights-7IOC7WIR.js} +3 -3
  108. package/dist/intelligence-service-42Q3OVI5.js +16 -0
  109. package/dist/{journeys-USOPWGW5.js → journeys-NWKT45PT.js} +3 -3
  110. package/dist/{keys-XY7LSM3S.js → keys-ZZYZUHUK.js} +3 -3
  111. package/dist/{keyword-PKBFHHF5.js → keyword-F6EIX5KM.js} +3 -3
  112. package/dist/{logs-PROW5TQJ.js → logs-B45FXS6E.js} +3 -3
  113. package/dist/{mcp-OQGC62QU.js → mcp-WPNCNWA5.js} +4 -4
  114. package/dist/mcp.js +9 -9
  115. package/dist/{measurement-plan-AI4NNBTO.js → measurement-plan-QT5HJ3KC.js} +5 -5
  116. package/dist/{notify-6HRPNJZ5.js → notify-Z3LIF3SO.js} +3 -3
  117. package/dist/{organic-evidence-IXCSUGGY.js → organic-evidence-R5TM7XUB.js} +3 -3
  118. package/dist/{overview-2WS3CFHK.js → overview-6TZHJLQN.js} +4 -4
  119. package/dist/{project-ENUZG62V.js → project-VMPVOQ2A.js} +3 -3
  120. package/dist/{query-WE3ZWTIB.js → query-EXSH5QP7.js} +3 -3
  121. package/dist/{research-DZSD5UZ2.js → research-6R6BEL4X.js} +3 -3
  122. package/dist/{results-export-JMUMYNUE.js → results-export-ZJRL3ECU.js} +3 -3
  123. package/dist/{run-QXOO7CRK.js → run-C4VXAJE3.js} +4 -4
  124. package/dist/{schedule-3RJKGUDN.js → schedule-KC6ETWMO.js} +3 -3
  125. package/dist/{search-SGS4H7I4.js → search-SUR6BEQD.js} +3 -3
  126. package/dist/{serve-T24QKEUY.js → serve-TVODHNFU.js} +26 -26
  127. package/dist/{session-HPH2A4AZ.js → session-D42KUKCZ.js} +13 -13
  128. package/dist/{settings-K44RK2TW.js → settings-LTCG3D5B.js} +3 -3
  129. package/dist/sitemaps-YMTZLF5S.js +46 -0
  130. package/dist/{skills-HGPPGBXG.js → skills-THMG3L64.js} +2 -2
  131. package/dist/{snapshot-FEHHQRY3.js → snapshot-ZEVB3EE4.js} +3 -3
  132. package/dist/{src-4PAYI7GE.js → src-HPVSTXVF.js} +6 -2
  133. package/dist/{status-L5HVFWTS.js → status-LPCPTWKO.js} +4 -4
  134. package/dist/{technical-aeo-Z43UCW6E.js → technical-aeo-J6LNT45B.js} +3 -3
  135. package/dist/{telemetry-D47SSSG7.js → telemetry-BPY34GDV.js} +4 -4
  136. package/dist/{tools-WCWUY2ZJ.js → tools-K3G43ESI.js} +11 -11
  137. package/dist/{traffic-5KH62P43.js → traffic-BOIFAPAR.js} +5 -5
  138. package/dist/{trends-RMAXZKRO.js → trends-A2MDRSQQ.js} +3 -3
  139. package/dist/{users-WT54XNEI.js → users-VJOQODJK.js} +3 -3
  140. package/dist/{visibility-stats-HU62U5MA.js → visibility-stats-YNMJYASA.js} +3 -3
  141. package/dist/{wordpress-BDAKQ4MU.js → wordpress-BWG6D7VH.js} +3 -3
  142. package/package.json +1 -1
  143. package/assets/assets/AuditHistoryPanel-C1JnxBFK.js +0 -1
  144. package/assets/assets/MeasurementPropertyPage-Bkxt3QcY.js +0 -4
  145. package/assets/assets/ProjectPage-CzrD1lpf.js +0 -11
  146. package/assets/assets/SiteHealthSection-B2YibqCs.js +0 -2
  147. package/assets/assets/TrafficPage-DRTbgzKI.js +0 -40
  148. package/assets/assets/TrafficSourceDetailPage-sgLE2gdJ.js +0 -1
  149. package/assets/assets/agent-trust-copy-DBtiOpFu.js +0 -1
  150. package/assets/assets/extract-error-message-D_ptq0tW.js +0 -1
  151. package/assets/assets/index-fN5qDR8H.js +0 -60
  152. package/assets/assets/query-client-CdG4DC3B.js +0 -1
  153. package/assets/assets/react-query-CxeygwoL.js +0 -1
  154. package/dist/intelligence-service-LCTP5BC7.js +0 -16
@@ -28,7 +28,7 @@ import {
28
28
  unknownUsageObservation,
29
29
  usdToMicros,
30
30
  withRetry
31
- } from "./chunk-Q2SJRZA3.js";
31
+ } from "./chunk-ETIIPSWL.js";
32
32
 
33
33
  // ../provider-answer-services/src/core/http.ts
34
34
  var MAX_RESPONSE_BYTES = 8 * 1024 * 1024;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cloudflareQueueNameSchema
3
- } from "./chunk-Q2SJRZA3.js";
3
+ } from "./chunk-ETIIPSWL.js";
4
4
 
5
5
  // src/cloudflare-traffic-config.ts
6
6
  function unsupportedDeliveryMode(deliveryMode) {
@@ -20,7 +20,7 @@ import {
20
20
  templateLinkRatio,
21
21
  templateLinkUbiquityAvailable,
22
22
  validationError
23
- } from "./chunk-Q2SJRZA3.js";
23
+ } from "./chunk-ETIIPSWL.js";
24
24
  import {
25
25
  __export
26
26
  } from "./chunk-MLKGABMK.js";
@@ -114,6 +114,7 @@ __export(schema_exports, {
114
114
  gscDataWatermarks: () => gscDataWatermarks,
115
115
  gscQueryDailyTotals: () => gscQueryDailyTotals,
116
116
  gscSearchData: () => gscSearchData,
117
+ gscSitemaps: () => gscSitemaps,
117
118
  gscUrlInspections: () => gscUrlInspections,
118
119
  gtmConnections: () => gtmConnections,
119
120
  gtmRawSnapshots: () => gtmRawSnapshots,
@@ -185,6 +186,7 @@ __export(schema_exports, {
185
186
  siteCrawlRunRequests: () => siteCrawlRunRequests,
186
187
  siteCrawlSnapshots: () => siteCrawlSnapshots,
187
188
  siteLivenessState: () => siteLivenessState,
189
+ sitemapListSyncs: () => sitemapListSyncs,
188
190
  trafficEventReceipts: () => trafficEventReceipts,
189
191
  trafficReclassificationState: () => trafficReclassificationState,
190
192
  trafficSources: () => trafficSources,
@@ -1879,6 +1881,33 @@ var bingSitemaps = sqliteTable2("bing_sitemaps", {
1879
1881
  }, (table) => [
1880
1882
  uniqueIndex2("idx_bing_sitemaps_project_url").on(table.projectId, table.url)
1881
1883
  ]);
1884
+ var gscSitemaps = sqliteTable2("gsc_sitemaps", {
1885
+ id: text2("id").primaryKey(),
1886
+ projectId: text2("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
1887
+ url: text2("url").notNull(),
1888
+ parentUrl: text2("parent_url"),
1889
+ isIndex: integer2("is_index", { mode: "boolean" }).notNull().default(false),
1890
+ isPending: integer2("is_pending", { mode: "boolean" }).notNull().default(false),
1891
+ type: text2("type"),
1892
+ /** URLs the sitemap lists, summed over Google's content types; null when Google sent no contents. */
1893
+ urlCount: integer2("url_count"),
1894
+ warnings: integer2("warnings"),
1895
+ errors: integer2("errors"),
1896
+ submittedAt: text2("submitted_at"),
1897
+ lastDownloadedAt: text2("last_downloaded_at"),
1898
+ syncRunId: text2("sync_run_id").references(() => runs.id, { onDelete: "set null" }),
1899
+ syncedAt: text2("synced_at").notNull()
1900
+ }, (table) => [
1901
+ uniqueIndex2("idx_gsc_sitemaps_project_url").on(table.projectId, table.url)
1902
+ ]);
1903
+ var sitemapListSyncs = sqliteTable2("sitemap_list_syncs", {
1904
+ projectId: text2("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
1905
+ engine: text2("engine").notNull(),
1906
+ syncedAt: text2("synced_at").notNull(),
1907
+ syncRunId: text2("sync_run_id").references(() => runs.id, { onDelete: "set null" })
1908
+ }, (table) => [
1909
+ uniqueIndex2("idx_sitemap_list_syncs_project_engine").on(table.projectId, table.engine)
1910
+ ]);
1882
1911
  var bingSiteSnapshots = sqliteTable2("bing_site_snapshots", {
1883
1912
  id: text2("id").primaryKey(),
1884
1913
  projectId: text2("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
@@ -8860,6 +8889,36 @@ var MIGRATION_VERSIONS = [
8860
8889
  `CREATE UNIQUE INDEX IF NOT EXISTS idx_bing_keyword_demand_unique ON bing_keyword_demand(project_id, query, country, language, date)`,
8861
8890
  `CREATE INDEX IF NOT EXISTS idx_bing_keyword_demand_project_synced ON bing_keyword_demand(project_id, synced_at)`
8862
8891
  ]
8892
+ },
8893
+ {
8894
+ version: 209,
8895
+ name: "gsc-sitemaps-and-list-syncs",
8896
+ statements: [
8897
+ `CREATE TABLE IF NOT EXISTS gsc_sitemaps (
8898
+ id TEXT PRIMARY KEY,
8899
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
8900
+ url TEXT NOT NULL,
8901
+ parent_url TEXT,
8902
+ is_index INTEGER NOT NULL DEFAULT 0,
8903
+ is_pending INTEGER NOT NULL DEFAULT 0,
8904
+ type TEXT,
8905
+ url_count INTEGER,
8906
+ warnings INTEGER,
8907
+ errors INTEGER,
8908
+ submitted_at TEXT,
8909
+ last_downloaded_at TEXT,
8910
+ sync_run_id TEXT REFERENCES runs(id) ON DELETE SET NULL,
8911
+ synced_at TEXT NOT NULL
8912
+ )`,
8913
+ `CREATE UNIQUE INDEX IF NOT EXISTS idx_gsc_sitemaps_project_url ON gsc_sitemaps(project_id, url)`,
8914
+ `CREATE TABLE IF NOT EXISTS sitemap_list_syncs (
8915
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
8916
+ engine TEXT NOT NULL,
8917
+ synced_at TEXT NOT NULL,
8918
+ sync_run_id TEXT REFERENCES runs(id) ON DELETE SET NULL
8919
+ )`,
8920
+ `CREATE UNIQUE INDEX IF NOT EXISTS idx_sitemap_list_syncs_project_engine ON sitemap_list_syncs(project_id, engine)`
8921
+ ]
8863
8922
  }
8864
8923
  ];
8865
8924
  var AERO_LEDGER_REBUILDS = [
@@ -10340,6 +10399,8 @@ export {
10340
10399
  bingPageStats,
10341
10400
  bingCrawlStats,
10342
10401
  bingSitemaps,
10402
+ gscSitemaps,
10403
+ sitemapListSyncs,
10343
10404
  bingSiteSnapshots,
10344
10405
  bingKeywordDemand,
10345
10406
  gaConnections,
@@ -2,11 +2,11 @@ import {
2
2
  dedupeGscSitemapUrls,
3
3
  resolveDiscoveredGscSitemapUrls,
4
4
  submitGscSitemapBatches
5
- } from "./chunk-PZLEKWYA.js";
5
+ } from "./chunk-7ASKZHS4.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-FL76YWYN.js";
9
+ } from "./chunk-PID3C4B7.js";
10
10
  import {
11
11
  CliError
12
12
  } from "./chunk-HGMYEDAQ.js";
@@ -187,7 +187,7 @@ import {
187
187
  trendSurfaceSchema,
188
188
  visibilityCompareSelectionSchema,
189
189
  visibilityReportRequestSchema
190
- } from "./chunk-Q2SJRZA3.js";
190
+ } from "./chunk-ETIIPSWL.js";
191
191
 
192
192
  // src/mcp/tool-registry.ts
193
193
  import { z as z2 } from "zod";
@@ -494,16 +494,24 @@ var bingWindowShape = {
494
494
  days: z2.number().int().positive().optional().describe("Span in days ending at endDate or at the newest stored day (default 28).")
495
495
  };
496
496
  var bingWindowInputSchema = z2.object(bingWindowShape);
497
- var bingQueriesInputSchema = z2.object({
497
+ var bingRangeShape = {
498
498
  ...bingWindowShape,
499
- query: z2.string().optional().describe("Substring filter on the query."),
499
+ window: z2.enum(["7d", "30d", "90d", "all"]).optional().describe("Window ending at endDate or the newest stored day. Not with startDate or days.")
500
+ };
501
+ var bingTrafficInputSchema = z2.object(bingRangeShape);
502
+ var bingMatchSchema = z2.enum(["contains", "exact"]).optional().describe("contains (default) or exact: one whole query or page, e.g. with groupBy=week for its weeks.");
503
+ var bingQueriesInputSchema = z2.object({
504
+ ...bingRangeShape,
505
+ query: z2.string().optional().describe("Filter on the query: a substring, or the whole query with match=exact."),
506
+ match: bingMatchSchema,
500
507
  groupBy: z2.enum(["query", "week"]).optional(),
501
508
  limit: z2.number().int().positive().max(5e3).optional(),
502
509
  offset: z2.number().int().nonnegative().optional()
503
510
  });
504
511
  var bingPagesInputSchema = z2.object({
505
- ...bingWindowShape,
506
- page: z2.string().optional().describe("Substring filter on the page URL."),
512
+ ...bingRangeShape,
513
+ page: z2.string().optional().describe("Filter on the page URL: a substring, or the whole URL with match=exact."),
514
+ match: bingMatchSchema,
507
515
  groupBy: z2.enum(["page", "week"]).optional(),
508
516
  limit: z2.number().int().positive().max(5e3).optional(),
509
517
  offset: z2.number().int().nonnegative().optional()
@@ -2519,6 +2527,17 @@ var rawCanonryMcpTools = [
2519
2527
  openApiOperations: ["GET /api/v1/projects/{name}/bing/coverage"],
2520
2528
  handler: (client, input) => client.bingCoverage(input.project)
2521
2529
  }),
2530
+ defineTool({
2531
+ name: "canonry_bing_submit_sitemap",
2532
+ title: "Submit a sitemap to Bing",
2533
+ description: "Ask Bing to read a sitemap for the project's Bing site (SubmitFeed): a new sitemap joins the list once Bing reads it, a listed one is read again. One call to Bing. Check canonry_sitemaps first: submit what Bing is missing. A new sitemap shows in the stored list after the next Bing sync.",
2534
+ access: "write",
2535
+ tier: "bing",
2536
+ inputSchema: z2.object({ project: projectNameSchema, sitemapUrl: z2.string().url().describe("The sitemap URL, on the project's Bing site.") }),
2537
+ annotations: writeAnnotations({ idempotentHint: true, openWorldHint: true }),
2538
+ openApiOperations: ["POST /api/v1/projects/{name}/bing/sitemaps"],
2539
+ handler: (client, input) => client.bingSubmitSitemap(input.project, input.sitemapUrl)
2540
+ }),
2522
2541
  defineTool({
2523
2542
  name: "canonry_bing_sync",
2524
2543
  title: "Sync Bing data",
@@ -2533,24 +2552,24 @@ var rawCanonryMcpTools = [
2533
2552
  defineTool({
2534
2553
  name: "canonry_bing_traffic",
2535
2554
  title: "Get Bing traffic",
2536
- description: "Get stored daily Bing search clicks and impressions for the whole site, with window totals and CTR (no call to Bing). These daily rows are the site total; use them for Bing headline numbers, never a sum of canonry_bing_queries rows. latestAvailableDate is the newest stored day (Bing lags 2 to 3 days); earliestAvailableDate says how far back history goes.",
2555
+ description: "Get stored daily Bing search clicks and impressions for the whole site, with window totals and CTR (no call to Bing). These daily rows are the site total; use them for Bing headline numbers, never a sum of canonry_bing_queries rows. periodComparison compares the window with the stored window before it, or its own halves when basis is split-window; trends are fitted over the calendar. latestAvailableDate is the newest stored day (Bing lags 2 to 3 days); earliestAvailableDate says how far back history goes.",
2537
2556
  access: "read",
2538
2557
  tier: "bing",
2539
- inputSchema: bingWindowInputSchema,
2558
+ inputSchema: bingTrafficInputSchema,
2540
2559
  annotations: readAnnotations(),
2541
2560
  openApiOperations: ["GET /api/v1/projects/{name}/bing/traffic"],
2542
- handler: (client, input) => client.bingTraffic(input.project, bingWindowQuery(input))
2561
+ handler: (client, input) => client.bingTraffic(input.project, { ...bingWindowQuery(input), window: input.window })
2543
2562
  }),
2544
2563
  defineTool({
2545
2564
  name: "canonry_bing_queries",
2546
2565
  title: "Get Bing query stats",
2547
- description: "Get stored Bing search stats per query (no call to Bing). Bing reports queries per WEEK, so each row sums the weekly buckets inside the window, with impression-weighted position and the number of weeks it appeared. Bing names only some queries: never sum rows for a site total, use canonry_bing_traffic. groupBy=week returns weekly totals instead, for a trend. Page with limit/offset until truncated is false.",
2566
+ description: "Get stored Bing search stats per query (no call to Bing). Bing reports queries per WEEK, so each row sums the weekly buckets inside the window, with impression-weighted position and the number of weeks it appeared. Bing names only some queries: never sum rows for a site total, use canonry_bing_traffic. groupBy=week returns weekly totals instead, for a trend. totals sums every matching query before paging, and comparison sets it against the window before. Page with limit/offset until truncated is false.",
2548
2567
  access: "read",
2549
2568
  tier: "bing",
2550
2569
  inputSchema: bingQueriesInputSchema,
2551
2570
  annotations: readAnnotations(),
2552
2571
  openApiOperations: ["GET /api/v1/projects/{name}/bing/queries"],
2553
- handler: (client, input) => client.bingQueries(input.project, { ...bingWindowQuery(input), query: input.query, groupBy: input.groupBy, limit: input.limit, offset: input.offset })
2572
+ handler: (client, input) => client.bingQueries(input.project, { ...bingWindowQuery(input), window: input.window, query: input.query, match: input.match, groupBy: input.groupBy, limit: input.limit, offset: input.offset })
2554
2573
  }),
2555
2574
  defineTool({
2556
2575
  name: "canonry_bing_pages",
@@ -2561,7 +2580,7 @@ var rawCanonryMcpTools = [
2561
2580
  inputSchema: bingPagesInputSchema,
2562
2581
  annotations: readAnnotations(),
2563
2582
  openApiOperations: ["GET /api/v1/projects/{name}/bing/pages"],
2564
- handler: (client, input) => client.bingPages(input.project, { ...bingWindowQuery(input), page: input.page, groupBy: input.groupBy, limit: input.limit, offset: input.offset })
2583
+ handler: (client, input) => client.bingPages(input.project, { ...bingWindowQuery(input), window: input.window, page: input.page, match: input.match, groupBy: input.groupBy, limit: input.limit, offset: input.offset })
2565
2584
  }),
2566
2585
  defineTool({
2567
2586
  name: "canonry_bing_crawl_stats",
@@ -4449,6 +4468,17 @@ var rawCanonryMcpTools = [
4449
4468
  openApiOperations: ["GET /api/v1/projects/{name}/technical-aeo/trend"],
4450
4469
  handler: (client, input) => client.getTechnicalAeoTrend(input.project, input.limit !== void 0 ? { limit: input.limit } : void 0)
4451
4470
  }),
4471
+ defineTool({
4472
+ name: "canonry_sitemaps",
4473
+ title: "Compare sitemaps across the site, Google and Bing",
4474
+ description: `Read, from stored data, the sitemap files the latest Site Health scan read pages from, each engine's sitemap list (status, URL count, submitted and last read) and what each engine is missing: sitemaps the site declares or someone submitted to the other engine. google or bing is null when that engine is not connected or its list was never read. Use for "are my sitemaps in Google and Bing?" before submitting anything.`,
4475
+ access: "read",
4476
+ tier: "monitoring",
4477
+ inputSchema: projectInputSchema,
4478
+ annotations: readAnnotations(),
4479
+ openApiOperations: ["GET /api/v1/projects/{name}/sitemaps"],
4480
+ handler: (client, input) => client.sitemaps(input.project)
4481
+ }),
4452
4482
  defineTool({
4453
4483
  name: "canonry_trends",
4454
4484
  title: "Get a dashboard trend card",
@@ -5,7 +5,7 @@ import {
5
5
  AppError,
6
6
  parseWindowIn,
7
7
  resolveDateRange
8
- } from "./chunk-Q2SJRZA3.js";
8
+ } from "./chunk-ETIIPSWL.js";
9
9
 
10
10
  // src/cli-access.ts
11
11
  var CLI_ACCESS_BY_ID = Object.freeze({
@@ -103,6 +103,7 @@ var CLI_ACCESS_BY_ID = Object.freeze({
103
103
  "bing.sitemaps": "stored",
104
104
  "bing.sites": "live",
105
105
  "bing.status": "stored",
106
+ "bing.submit-sitemap": "write",
106
107
  "bing.sync": "write",
107
108
  "bing.traffic": "stored",
108
109
  "bing.url-children": "live",
@@ -421,6 +422,7 @@ var CLI_ACCESS_BY_ID = Object.freeze({
421
422
  "traffic.status": "stored",
422
423
  "traffic.sync": "write",
423
424
  "trends": "stored",
425
+ "sitemaps": "stored",
424
426
  "user": "stored",
425
427
  "user.create": "write",
426
428
  "user.delete": "write",
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getRequestContext
3
- } from "./chunk-IPOYH4WE.js";
3
+ } from "./chunk-ZV6PMFF4.js";
4
4
  import {
5
5
  diagnosticIdentity,
6
6
  redactLogString,
7
7
  redactLogValue
8
- } from "./chunk-Q2SJRZA3.js";
8
+ } from "./chunk-ETIIPSWL.js";
9
9
 
10
10
  // ../api-routes/src/runtime-logger.ts
11
11
  import { format } from "util";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pickProjectCitedDomain
3
- } from "./chunk-TL52ELES.js";
3
+ } from "./chunk-GKX5F7NX.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-BDLC3DFM.js";
6
+ } from "./chunk-XCEA5OMI.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-4VMHN5LL.js";
20
+ } from "./chunk-SDXMG4VX.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-ZQGWB7VJ.js";
38
+ } from "./chunk-USHY3SH6.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,
42
42
  RunStatuses,
43
43
  RunTriggers,
44
44
  effectiveDomains
45
- } from "./chunk-Q2SJRZA3.js";
45
+ } from "./chunk-ETIIPSWL.js";
46
46
 
47
47
  // src/intelligence-service.ts
48
48
  import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registeredProviderNames
3
- } from "./chunk-DILCH7RL.js";
3
+ } from "./chunk-LQWMNDZR.js";
4
4
  import {
5
5
  configExists,
6
6
  loadConfigRaw
7
- } from "./chunk-5KDJJO2N.js";
7
+ } from "./chunk-OOVWMWMT.js";
8
8
 
9
9
  // src/setup-state.ts
10
10
  import fs from "fs";
@@ -28,7 +28,7 @@ async function buildSetupState() {
28
28
  }
29
29
  if (dbPath && fs.existsSync(dbPath)) {
30
30
  try {
31
- const { createClient, projects, queries: queriesTable } = await import("./src-4PAYI7GE.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-HPVSTXVF.js");
32
32
  const db = createClient(dbPath);
33
33
  project_count = db.select({ id: projects.id }).from(projects).all().length;
34
34
  const firstQuery = db.select({ id: queriesTable.id }).from(queriesTable).limit(1).all();
@@ -47,7 +47,7 @@ function queueServeHandoff() {
47
47
  async function runPendingServeHandoff(format) {
48
48
  if (!pendingServeHandoff) return;
49
49
  pendingServeHandoff = false;
50
- const { serveCommand } = await import("./serve-T24QKEUY.js");
50
+ const { serveCommand } = await import("./serve-TVODHNFU.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-Q2SJRZA3.js";
4
+ } from "./chunk-ETIIPSWL.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-EGUJNHAZ.js";
4
- import "./chunk-5KDJJO2N.js";
3
+ } from "./chunk-F6WNKKGG.js";
4
+ import "./chunk-OOVWMWMT.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import "./chunk-HGMYEDAQ.js";
7
- import "./chunk-Q2SJRZA3.js";
7
+ import "./chunk-ETIIPSWL.js";
8
8
  import "./chunk-MLKGABMK.js";
9
9
 
10
10
  // src/commands/citations.ts
@@ -3,11 +3,11 @@ import {
3
3
  buildCliCatalog,
4
4
  printCliCatalog,
5
5
  renderTopLevelHelp
6
- } from "./chunk-EL4HRIID.js";
7
- import "./chunk-MEN27RAJ.js";
6
+ } from "./chunk-2UULABPI.js";
7
+ import "./chunk-WYMBWCG5.js";
8
8
  import "./chunk-Z7IUAJOF.js";
9
9
  import "./chunk-HGMYEDAQ.js";
10
- import "./chunk-Q2SJRZA3.js";
10
+ import "./chunk-ETIIPSWL.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
  export {
13
13
  CLI_ROOT_SUMMARIES,
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  REGISTERED_CLI_COMMANDS
3
- } from "./chunk-EYSQMZ6L.js";
3
+ } from "./chunk-C2XWWIJZ.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
5
  import "./chunk-VJWDBFSL.js";
6
- import "./chunk-FNQFM3TK.js";
6
+ import "./chunk-L2MDMZFT.js";
7
7
  import "./chunk-TSENU4GG.js";
8
- import "./chunk-EGUJNHAZ.js";
9
- import "./chunk-5KDJJO2N.js";
10
- import "./chunk-MEN27RAJ.js";
8
+ import "./chunk-F6WNKKGG.js";
9
+ import "./chunk-OOVWMWMT.js";
10
+ import "./chunk-WYMBWCG5.js";
11
11
  import "./chunk-Z7IUAJOF.js";
12
- import "./chunk-FL76YWYN.js";
12
+ import "./chunk-PID3C4B7.js";
13
13
  import "./chunk-AOJU5LKX.js";
14
14
  import "./chunk-HGMYEDAQ.js";
15
- import "./chunk-Q2SJRZA3.js";
15
+ import "./chunk-ETIIPSWL.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
  export {
18
18
  REGISTERED_CLI_COMMANDS
package/dist/cli.js CHANGED
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node --import tsx
2
2
  import {
3
3
  REGISTERED_CLI_COMMANDS
4
- } from "./chunk-EYSQMZ6L.js";
4
+ } from "./chunk-C2XWWIJZ.js";
5
5
  import "./chunk-6GO5VVAC.js";
6
6
  import {
7
7
  buildSetupState,
8
8
  runPendingServeHandoff
9
- } from "./chunk-TAQHHXBC.js";
9
+ } from "./chunk-YPJCZD5H.js";
10
10
  import "./chunk-VJWDBFSL.js";
11
- import "./chunk-FNQFM3TK.js";
11
+ import "./chunk-L2MDMZFT.js";
12
12
  import "./chunk-TSENU4GG.js";
13
- import "./chunk-DILCH7RL.js";
13
+ import "./chunk-LQWMNDZR.js";
14
14
  import {
15
15
  checkLatestVersionForCli,
16
16
  cliRuntimeContext,
@@ -24,24 +24,24 @@ import {
24
24
  showFirstRunNotice,
25
25
  trackCliCommandFinished,
26
26
  trackEvent
27
- } from "./chunk-4A4X7VXE.js";
27
+ } from "./chunk-AFYKUX2X.js";
28
28
  import {
29
29
  autoSyncSkills,
30
30
  formatAutoSyncNotice
31
- } from "./chunk-FLJVGHTQ.js";
32
- import "./chunk-EGUJNHAZ.js";
33
- import "./chunk-5KDJJO2N.js";
31
+ } from "./chunk-LTZNUDSI.js";
32
+ import "./chunk-F6WNKKGG.js";
33
+ import "./chunk-OOVWMWMT.js";
34
34
  import {
35
35
  accessFilterFromArgs,
36
36
  dispatchRegisteredCommand,
37
37
  printCliCatalog
38
- } from "./chunk-EL4HRIID.js";
38
+ } from "./chunk-2UULABPI.js";
39
39
  import {
40
40
  resolveCliAccess
41
- } from "./chunk-MEN27RAJ.js";
41
+ } from "./chunk-WYMBWCG5.js";
42
42
  import "./chunk-Z7IUAJOF.js";
43
- import "./chunk-D354CQ6T.js";
44
- import "./chunk-FL76YWYN.js";
43
+ import "./chunk-Q6EZEVXE.js";
44
+ import "./chunk-PID3C4B7.js";
45
45
  import "./chunk-AOJU5LKX.js";
46
46
  import {
47
47
  CliError,
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-HGMYEDAQ.js";
53
53
  import {
54
54
  OperationAccesses
55
- } from "./chunk-Q2SJRZA3.js";
55
+ } from "./chunk-ETIIPSWL.js";
56
56
  import "./chunk-MLKGABMK.js";
57
57
 
58
58
  // src/cli.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-EGUJNHAZ.js";
4
- import "./chunk-5KDJJO2N.js";
3
+ } from "./chunk-F6WNKKGG.js";
4
+ import "./chunk-OOVWMWMT.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -21,7 +21,7 @@ import {
21
21
  normalizeCompetitorDomain,
22
22
  shareOfVoiceLabel,
23
23
  shareOfVoiceReason
24
- } from "./chunk-Q2SJRZA3.js";
24
+ } from "./chunk-ETIIPSWL.js";
25
25
  import "./chunk-MLKGABMK.js";
26
26
 
27
27
  // src/commands/competitor.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-EGUJNHAZ.js";
4
- import "./chunk-5KDJJO2N.js";
3
+ } from "./chunk-F6WNKKGG.js";
4
+ import "./chunk-OOVWMWMT.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  contentTargetDismissRequestSchema,
16
16
  formatPercent
17
- } from "./chunk-Q2SJRZA3.js";
17
+ } from "./chunk-ETIIPSWL.js";
18
18
  import "./chunk-MLKGABMK.js";
19
19
 
20
20
  // src/commands/content.ts
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  clearDashboardPassword,
3
3
  loadConfigRaw
4
- } from "./chunk-5KDJJO2N.js";
4
+ } from "./chunk-OOVWMWMT.js";
5
5
  import {
6
6
  isMachineFormat
7
7
  } from "./chunk-HGMYEDAQ.js";
8
8
  import {
9
9
  anyUsersExist
10
- } from "./chunk-4VMHN5LL.js";
11
- import "./chunk-IR3MYKIA.js";
12
- import "./chunk-IPOYH4WE.js";
10
+ } from "./chunk-SDXMG4VX.js";
11
+ import "./chunk-NPX5SL54.js";
12
+ import "./chunk-ZV6PMFF4.js";
13
13
  import {
14
14
  createClient
15
- } from "./chunk-ZQGWB7VJ.js";
16
- import "./chunk-Q2SJRZA3.js";
15
+ } from "./chunk-USHY3SH6.js";
16
+ import "./chunk-ETIIPSWL.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
 
19
19
  // src/commands/dashboard.ts
@@ -40,7 +40,7 @@ function parseDemoTrustedProxies(values) {
40
40
  async function demoCommand(options) {
41
41
  const { host, port } = parseDemoListenOptions(options);
42
42
  const trustProxy = parseDemoTrustedProxies(options.trustProxy);
43
- const { createDemoServer } = await import("./demo-server-6Z5XSHFS.js");
43
+ const { createDemoServer } = await import("./demo-server-JEQNGMMV.js");
44
44
  const app = await createDemoServer({ trustProxy });
45
45
  let stopping = false;
46
46
  const stop = () => {
@@ -5,12 +5,12 @@ import {
5
5
  computeFactorAverages,
6
6
  layoutSiteCrawlGraphInput,
7
7
  persistSiteCrawlGraphLayout
8
- } from "./chunk-PBOIN52J.js";
8
+ } from "./chunk-N7LRPMWR.js";
9
9
  import {
10
10
  canonryMcpTools
11
- } from "./chunk-O7OZVZWR.js";
12
- import "./chunk-PZLEKWYA.js";
13
- import "./chunk-FL76YWYN.js";
11
+ } from "./chunk-WNDBACO7.js";
12
+ import "./chunk-7ASKZHS4.js";
13
+ import "./chunk-PID3C4B7.js";
14
14
  import {
15
15
  PACKAGE_VERSION
16
16
  } from "./chunk-AOJU5LKX.js";
@@ -18,17 +18,17 @@ import "./chunk-HGMYEDAQ.js";
18
18
  import {
19
19
  HISTORY_WINDOW_RUNS,
20
20
  IntelligenceService
21
- } from "./chunk-6DIDDYG6.js";
21
+ } from "./chunk-YB2GAK32.js";
22
22
  import {
23
23
  determineCitationState
24
- } from "./chunk-TL52ELES.js";
25
- import "./chunk-BDLC3DFM.js";
24
+ } from "./chunk-GKX5F7NX.js";
25
+ import "./chunk-XCEA5OMI.js";
26
26
  import {
27
27
  apiRoutes,
28
28
  assessConversionTrackingIntegrity
29
- } from "./chunk-4VMHN5LL.js";
30
- import "./chunk-IR3MYKIA.js";
31
- import "./chunk-IPOYH4WE.js";
29
+ } from "./chunk-SDXMG4VX.js";
30
+ import "./chunk-NPX5SL54.js";
31
+ import "./chunk-ZV6PMFF4.js";
32
32
  import {
33
33
  adsAdGroups,
34
34
  adsAds,
@@ -104,7 +104,7 @@ import {
104
104
  siteCrawlPages,
105
105
  siteCrawlSnapshots,
106
106
  trafficSources
107
- } from "./chunk-ZQGWB7VJ.js";
107
+ } from "./chunk-USHY3SH6.js";
108
108
  import {
109
109
  AI_ENGINE_DOMAINS,
110
110
  GA_OVERVIEW_HISTORY_DAYS,
@@ -151,7 +151,7 @@ import {
151
151
  roundPreservingTotal,
152
152
  siteAuditPageFactorSchema,
153
153
  wilsonInterval
154
- } from "./chunk-Q2SJRZA3.js";
154
+ } from "./chunk-ETIIPSWL.js";
155
155
  import "./chunk-MLKGABMK.js";
156
156
 
157
157
  // src/demo-server.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-EGUJNHAZ.js";
4
- import "./chunk-5KDJJO2N.js";
3
+ } from "./chunk-F6WNKKGG.js";
4
+ import "./chunk-OOVWMWMT.js";
5
5
  import {
6
6
  emitJsonl
7
7
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  CitationStates,
15
15
  DiscoveryPromoteCompetitorSkipReasons,
16
16
  describeError
17
- } from "./chunk-Q2SJRZA3.js";
17
+ } from "./chunk-ETIIPSWL.js";
18
18
  import "./chunk-MLKGABMK.js";
19
19
 
20
20
  // src/commands/discover.ts
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-EGUJNHAZ.js";
4
- import "./chunk-5KDJJO2N.js";
3
+ } from "./chunk-F6WNKKGG.js";
4
+ import "./chunk-OOVWMWMT.js";
5
5
  import "./chunk-AOJU5LKX.js";
6
6
  import {
7
7
  CliError,
8
8
  EXIT_USER_ERROR
9
9
  } from "./chunk-HGMYEDAQ.js";
10
- import "./chunk-Q2SJRZA3.js";
10
+ import "./chunk-ETIIPSWL.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
 
13
13
  // src/commands/discover-eval.ts