@canonry/canonry 7.89.0 → 7.90.1

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 (141) hide show
  1. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +12 -0
  2. package/assets/assets/{AgentSetupPage-BU1supL8.js → AgentSetupPage-BSfsbQXZ.js} +1 -1
  3. package/assets/assets/{AuditHistoryPanel-D7or_J3j.js → AuditHistoryPanel-YrEggsyA.js} +1 -1
  4. package/assets/assets/{BacklinksPage-SOls3ew4.js → BacklinksPage-vXUxxplH.js} +1 -1
  5. package/assets/assets/{HistoryPage-LNKtQ6a8.js → HistoryPage-VJ_JQ7R3.js} +1 -1
  6. package/assets/assets/MeasurementPropertyPage-BHPa2zdE.js +4 -0
  7. package/assets/assets/ProjectPage-C1AI_aAQ.js +11 -0
  8. package/assets/assets/{RunsPage-B8zUD2gr.js → RunsPage-DKIktkY1.js} +1 -1
  9. package/assets/assets/SettingsPage-CTXfqNZs.js +1 -0
  10. package/assets/assets/SiteHealthSection-CRwvLfHd.js +2 -0
  11. package/assets/assets/{ToneBadge-DawS8vMp.js → ToneBadge-B3rD6bDF.js} +5 -5
  12. package/assets/assets/{TrafficPage-DJUqxtrQ.js → TrafficPage-C4R3X5lf.js} +4 -4
  13. package/assets/assets/{TrafficSourceDetailPage-OVY_L73m.js → TrafficSourceDetailPage-C79eQilP.js} +1 -1
  14. package/assets/assets/{account-context-DoI9S9qY.js → account-context-GstYbqpX.js} +1 -1
  15. package/assets/assets/{agent-trust-copy-CZpfPr4M.js → agent-trust-copy-Ca4ys8J2.js} +1 -1
  16. package/assets/assets/{card-ClURYmZN.js → card-CgdGerYK.js} +1 -1
  17. package/assets/assets/{format-helpers-CscAFAMJ.js → format-helpers-ByAY4dv0.js} +1 -1
  18. package/assets/assets/index-DdG9gR0r.js +60 -0
  19. package/assets/assets/query-client-DjRrRIsq.js +1 -0
  20. package/assets/assets/react-query-B8JD_K7g.js +1 -0
  21. package/assets/assets/{react-sigma_core.esm.min-6J0MSvMJ.js → react-sigma_core.esm.min-BoCIEnkF.js} +1 -1
  22. package/assets/assets/{server-traffic-C-_D6pdo.js → server-traffic-Bt9bexaP.js} +1 -1
  23. package/assets/assets/{service-C7qDx_qB.js → service-SgtD5EOS.js} +1 -1
  24. package/assets/index.html +7 -7
  25. package/dist/{ads-XEW2LBKV.js → ads-6BAITIBY.js} +3 -3
  26. package/dist/{agent-VYADMMPT.js → agent-BE3D65U4.js} +7 -7
  27. package/dist/{agent-ask-4G57GM3S.js → agent-ask-TT6BAV2T.js} +3 -3
  28. package/dist/{agent-conversations-MRKRCXQI.js → agent-conversations-GJDAWU36.js} +3 -3
  29. package/dist/{agent-journeys-WEUEYRMK.js → agent-journeys-UEL27GNY.js} +3 -3
  30. package/dist/{agent-memory-YLAOXQQ6.js → agent-memory-PB74OP46.js} +3 -3
  31. package/dist/{agent-providers-AWKQRJDZ.js → agent-providers-5WFMNRRK.js} +3 -3
  32. package/dist/{agent-transcript-HXYFVCUD.js → agent-transcript-IAGB3JXG.js} +3 -3
  33. package/dist/{analytics-5G5G5OJU.js → analytics-5BVE7KUN.js} +3 -3
  34. package/dist/{apply-FCKZG7A2.js → apply-YJJWQ4JX.js} +3 -3
  35. package/dist/{backfill-3CTZHCJS.js → backfill-6OLGZIEV.js} +10 -10
  36. package/dist/{backlinks-Q53JT63C.js → backlinks-4JK26OIO.js} +3 -3
  37. package/dist/{bing-FOY2UVIM.js → bing-NZYYPB2M.js} +12 -3
  38. package/dist/{bootstrap-FXIT7LDW.js → bootstrap-6KHK63W3.js} +10 -10
  39. package/dist/{cdp-WWQW3LIZ.js → cdp-PTXWVX6T.js} +7 -7
  40. package/dist/{chunk-ZYEWB5BK.js → chunk-2UULABPI.js} +7 -3
  41. package/dist/{chunk-JLBJEQPV.js → chunk-7ASKZHS4.js} +1 -1
  42. package/dist/{chunk-S7D2ELTC.js → chunk-7VJJXLRP.js} +3 -3
  43. package/dist/{chunk-WPTCWNA6.js → chunk-AFYKUX2X.js} +2 -2
  44. package/dist/{chunk-7522CQ2E.js → chunk-CHTADAEC.js} +4 -4
  45. package/dist/{chunk-GDEYX6E3.js → chunk-DF4B6OGX.js} +4 -4
  46. package/dist/{chunk-RE24YYIY.js → chunk-DZO6CATO.js} +4 -4
  47. package/dist/{chunk-YKLYWVLL.js → chunk-ETIIPSWL.js} +71 -4
  48. package/dist/{chunk-UIULMWJX.js → chunk-F442MSX2.js} +2 -2
  49. package/dist/{chunk-TCANF22P.js → chunk-F6WNKKGG.js} +33 -7
  50. package/dist/{chunk-DPKA5CWK.js → chunk-GKX5F7NX.js} +1 -1
  51. package/dist/{chunk-X6XFWQCE.js → chunk-HUQDD26S.js} +7 -7
  52. package/dist/{chunk-4INNOSWU.js → chunk-I7DAEE3L.js} +5 -5
  53. package/dist/{chunk-5GQ2AGWS.js → chunk-L2MDMZFT.js} +3 -3
  54. package/dist/{chunk-3H5VURTU.js → chunk-LQWMNDZR.js} +1 -1
  55. package/dist/{chunk-2BZJ4W27.js → chunk-LTZNUDSI.js} +3 -3
  56. package/dist/{chunk-EWR25OVQ.js → chunk-N7LRPMWR.js} +2 -2
  57. package/dist/{chunk-GSNKBXGN.js → chunk-NKGQCCUS.js} +6 -6
  58. package/dist/{chunk-VL4AZGUA.js → chunk-NPX5SL54.js} +1 -1
  59. package/dist/{chunk-A6DKZ4KQ.js → chunk-OOVWMWMT.js} +1 -1
  60. package/dist/{chunk-DX46HM7S.js → chunk-PID3C4B7.js} +1 -1
  61. package/dist/{chunk-MXGME7NG.js → chunk-Q6EZEVXE.js} +1 -1
  62. package/dist/{chunk-J7V7TYX7.js → chunk-QLVTMPFW.js} +2 -2
  63. package/dist/{chunk-MNLQY5WG.js → chunk-QWNDNZJ3.js} +2 -2
  64. package/dist/{chunk-HSOZSLIZ.js → chunk-SDXMG4VX.js} +1064 -873
  65. package/dist/{chunk-WHN4RF2Y.js → chunk-T7OH3YPX.js} +395 -362
  66. package/dist/{chunk-3IC7PRTW.js → chunk-TA4L7U2M.js} +1 -1
  67. package/dist/{chunk-ZX4TZNP4.js → chunk-UG7TZJIG.js} +1 -1
  68. package/dist/{chunk-ZEWOPHTA.js → chunk-USHY3SH6.js} +62 -1
  69. package/dist/{chunk-VBM6T5ZP.js → chunk-WNDBACO7.js} +25 -3
  70. package/dist/{chunk-WE6FSG7J.js → chunk-WYMBWCG5.js} +3 -1
  71. package/dist/{chunk-Y35D3ZCH.js → chunk-XCEA5OMI.js} +2 -2
  72. package/dist/{chunk-KAGMYJYG.js → chunk-YB2GAK32.js} +5 -5
  73. package/dist/{chunk-IK3PYAQU.js → chunk-YFZHRYCM.js} +94 -21
  74. package/dist/{chunk-YW2IQEWS.js → chunk-ZV6PMFF4.js} +1 -1
  75. package/dist/{citations-ZZ6ODCGZ.js → citations-WX4VO6ZI.js} +3 -3
  76. package/dist/{cli-catalog-HEX47BKL.js → cli-catalog-BTRNR2UP.js} +3 -3
  77. package/dist/{cli-commands-6OLN355M.js → cli-commands-EXWAMK7Z.js} +7 -7
  78. package/dist/cli.js +13 -13
  79. package/dist/{competitor-6MRHORU2.js → competitor-HZRZWCEN.js} +3 -3
  80. package/dist/{content-S2UOGTLN.js → content-NOZDHI3M.js} +3 -3
  81. package/dist/{dashboard-J4H3FVKH.js → dashboard-TZLWHXP4.js} +6 -6
  82. package/dist/{demo-7PJJQMLO.js → demo-2PYBQD47.js} +1 -1
  83. package/dist/{demo-server-55I5LNNS.js → demo-server-JEQNGMMV.js} +12 -12
  84. package/dist/{discover-O4NFDHGP.js → discover-A2XFXHOC.js} +3 -3
  85. package/dist/{discover-eval-PE2MW42B.js → discover-eval-A6SBUYXF.js} +3 -3
  86. package/dist/{doctor-GT4MMJQJ.js → doctor-GZACELPF.js} +3 -3
  87. package/dist/{evidence-Z344KVJX.js → evidence-RVFMUWIL.js} +3 -3
  88. package/dist/{export-cmd-Z6WWLI6H.js → export-cmd-X2TFZGNJ.js} +3 -3
  89. package/dist/{ga-SXIGAF5F.js → ga-TOT3V67A.js} +3 -3
  90. package/dist/{gbp-CSLWSEKF.js → gbp-KP4YZU6S.js} +3 -3
  91. package/dist/{google-EAQJ46AR.js → google-GCFSTV5N.js} +4 -4
  92. package/dist/{google-marketing-NVKB4NLG.js → google-marketing-ANS65KQN.js} +1 -1
  93. package/dist/{health-cmd-6IYRMZS3.js → health-cmd-UKMNLU6D.js} +3 -3
  94. package/dist/{history-KLZI7IKJ.js → history-TWGYSAZZ.js} +3 -3
  95. package/dist/index.d.ts +395 -37
  96. package/dist/index.js +25 -25
  97. package/dist/{init-LFLCM6KJ.js → init-2WZWYSDW.js} +12 -12
  98. package/dist/{insights-C7NN64E2.js → insights-7IOC7WIR.js} +3 -3
  99. package/dist/intelligence-service-42Q3OVI5.js +16 -0
  100. package/dist/{journeys-C34YDOM6.js → journeys-NWKT45PT.js} +3 -3
  101. package/dist/{keys-4RDLFHXO.js → keys-ZZYZUHUK.js} +3 -3
  102. package/dist/{keyword-BZEJEYAG.js → keyword-F6EIX5KM.js} +3 -3
  103. package/dist/{logs-5FPZRSZM.js → logs-B45FXS6E.js} +3 -3
  104. package/dist/{mcp-574UA5Y3.js → mcp-WPNCNWA5.js} +4 -4
  105. package/dist/mcp.js +9 -9
  106. package/dist/{measurement-plan-2H4KHD2Y.js → measurement-plan-QT5HJ3KC.js} +5 -5
  107. package/dist/{notify-TFXL4CSH.js → notify-Z3LIF3SO.js} +3 -3
  108. package/dist/{organic-evidence-R55KSYFN.js → organic-evidence-R5TM7XUB.js} +3 -3
  109. package/dist/{overview-NJTCLHAB.js → overview-6TZHJLQN.js} +4 -4
  110. package/dist/{project-PV36DZDG.js → project-VMPVOQ2A.js} +3 -3
  111. package/dist/{query-5SVITJ4K.js → query-EXSH5QP7.js} +3 -3
  112. package/dist/{research-JSET5FNY.js → research-6R6BEL4X.js} +3 -3
  113. package/dist/{results-export-5EFMXTPG.js → results-export-ZJRL3ECU.js} +3 -3
  114. package/dist/{run-NOSOG3YH.js → run-C4VXAJE3.js} +4 -4
  115. package/dist/{schedule-I3ACQC2C.js → schedule-KC6ETWMO.js} +3 -3
  116. package/dist/{search-EE53K7J5.js → search-SUR6BEQD.js} +3 -3
  117. package/dist/{serve-SDU77HVC.js → serve-VVG3VYMU.js} +26 -26
  118. package/dist/{session-FYZCUPVX.js → session-D42KUKCZ.js} +13 -13
  119. package/dist/{settings-CEI7EKPO.js → settings-LTCG3D5B.js} +3 -3
  120. package/dist/sitemaps-YMTZLF5S.js +46 -0
  121. package/dist/{skills-TRTFFZU3.js → skills-THMG3L64.js} +2 -2
  122. package/dist/{snapshot-2RXVTDTZ.js → snapshot-ZEVB3EE4.js} +3 -3
  123. package/dist/{src-DYJHW2HG.js → src-HPVSTXVF.js} +6 -2
  124. package/dist/{status-2VHBSIRY.js → status-LPCPTWKO.js} +4 -4
  125. package/dist/{technical-aeo-3OMGT4ZT.js → technical-aeo-J6LNT45B.js} +3 -3
  126. package/dist/{telemetry-5F4EHGR2.js → telemetry-BPY34GDV.js} +4 -4
  127. package/dist/{tools-C3IIMXBJ.js → tools-K3G43ESI.js} +11 -11
  128. package/dist/{traffic-S3VUYBG6.js → traffic-BOIFAPAR.js} +5 -5
  129. package/dist/{trends-RQ4B2QWA.js → trends-A2MDRSQQ.js} +3 -3
  130. package/dist/{users-T6OOG5YB.js → users-VJOQODJK.js} +3 -3
  131. package/dist/{visibility-stats-2O24MQCV.js → visibility-stats-YNMJYASA.js} +3 -3
  132. package/dist/{wordpress-SDENOBFI.js → wordpress-BWG6D7VH.js} +3 -3
  133. package/package.json +1 -1
  134. package/assets/assets/MeasurementPropertyPage-CTZzlHWE.js +0 -4
  135. package/assets/assets/ProjectPage-D79zuY-M.js +0 -11
  136. package/assets/assets/SettingsPage-BOQgT_7N.js +0 -1
  137. package/assets/assets/SiteHealthSection-G3_MShnD.js +0 -2
  138. package/assets/assets/index-y0Wx0ZWq.js +0 -60
  139. package/assets/assets/query-client-Dm_GqsTu.js +0 -1
  140. package/assets/assets/react-query-BwhgbuS1.js +0 -1
  141. package/dist/intelligence-service-ENI35JFR.js +0 -16
@@ -28,7 +28,7 @@ import {
28
28
  unknownUsageObservation,
29
29
  usdToMicros,
30
30
  withRetry
31
- } from "./chunk-YKLYWVLL.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-YKLYWVLL.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-YKLYWVLL.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-JLBJEQPV.js";
5
+ } from "./chunk-7ASKZHS4.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-DX46HM7S.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-YKLYWVLL.js";
190
+ } from "./chunk-ETIIPSWL.js";
191
191
 
192
192
  // src/mcp/tool-registry.ts
193
193
  import { z as z2 } from "zod";
@@ -2527,6 +2527,17 @@ var rawCanonryMcpTools = [
2527
2527
  openApiOperations: ["GET /api/v1/projects/{name}/bing/coverage"],
2528
2528
  handler: (client, input) => client.bingCoverage(input.project)
2529
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
+ }),
2530
2541
  defineTool({
2531
2542
  name: "canonry_bing_sync",
2532
2543
  title: "Sync Bing data",
@@ -4457,6 +4468,17 @@ var rawCanonryMcpTools = [
4457
4468
  openApiOperations: ["GET /api/v1/projects/{name}/technical-aeo/trend"],
4458
4469
  handler: (client, input) => client.getTechnicalAeoTrend(input.project, input.limit !== void 0 ? { limit: input.limit } : void 0)
4459
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
+ }),
4460
4482
  defineTool({
4461
4483
  name: "canonry_trends",
4462
4484
  title: "Get a dashboard trend card",
@@ -5,7 +5,7 @@ import {
5
5
  AppError,
6
6
  parseWindowIn,
7
7
  resolveDateRange
8
- } from "./chunk-YKLYWVLL.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-YW2IQEWS.js";
3
+ } from "./chunk-ZV6PMFF4.js";
4
4
  import {
5
5
  diagnosticIdentity,
6
6
  redactLogString,
7
7
  redactLogValue
8
- } from "./chunk-YKLYWVLL.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-DPKA5CWK.js";
3
+ } from "./chunk-GKX5F7NX.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-Y35D3ZCH.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-HSOZSLIZ.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-ZEWOPHTA.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-YKLYWVLL.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,7 +1,7 @@
1
1
  import {
2
2
  answerServiceAdapters,
3
3
  answerServiceDescriptors
4
- } from "./chunk-3IC7PRTW.js";
4
+ } from "./chunk-TA4L7U2M.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-GSNKBXGN.js";
30
+ } from "./chunk-NKGQCCUS.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-GDEYX6E3.js";
37
+ } from "./chunk-DF4B6OGX.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-ZX4TZNP4.js";
56
+ } from "./chunk-UG7TZJIG.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-4INNOSWU.js";
68
+ } from "./chunk-I7DAEE3L.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-RE24YYIY.js";
80
+ } from "./chunk-DZO6CATO.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-3H5VURTU.js";
88
+ } from "./chunk-LQWMNDZR.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-WPTCWNA6.js";
100
+ } from "./chunk-AFYKUX2X.js";
101
101
  import {
102
102
  createCanonryMcpServer
103
- } from "./chunk-S7D2ELTC.js";
103
+ } from "./chunk-7VJJXLRP.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-TCANF22P.js";
110
+ } from "./chunk-F6WNKKGG.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-A6DKZ4KQ.js";
142
+ } from "./chunk-OOVWMWMT.js";
143
143
  import {
144
144
  getBundledSkillSnapshots
145
- } from "./chunk-MXGME7NG.js";
145
+ } from "./chunk-Q6EZEVXE.js";
146
146
  import {
147
147
  computeFactorAverages,
148
148
  deleteSiteCrawlGraphLayout,
149
149
  persistSiteCrawlGraphLayout,
150
150
  prepareSiteCrawlGraphLayout,
151
151
  recordedSharePct
152
- } from "./chunk-EWR25OVQ.js";
152
+ } from "./chunk-N7LRPMWR.js";
153
153
  import {
154
154
  CanonryMcpToolNames,
155
155
  canonryMcpTools
156
- } from "./chunk-VBM6T5ZP.js";
156
+ } from "./chunk-WNDBACO7.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-KAGMYJYG.js";
165
+ } from "./chunk-YB2GAK32.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
169
- } from "./chunk-DPKA5CWK.js";
169
+ } from "./chunk-GKX5F7NX.js";
170
170
  import {
171
171
  addLogListener,
172
172
  createFastifyLogger,
173
173
  createLogger
174
- } from "./chunk-Y35D3ZCH.js";
174
+ } from "./chunk-XCEA5OMI.js";
175
175
  import {
176
176
  BingApiError,
177
177
  CC_CACHE_DIR,
@@ -268,6 +268,7 @@ import {
268
268
  listMonthlyKeywords,
269
269
  listPlaceActionLinks,
270
270
  listReviews,
271
+ listSitemaps,
271
272
  loadDuckdb,
272
273
  markSessionFailed,
273
274
  measurementRunCompleteness,
@@ -315,7 +316,7 @@ import {
315
316
  webhookResponseReason,
316
317
  webhookTargetRefusalReason,
317
318
  writeAuditLog
318
- } from "./chunk-HSOZSLIZ.js";
319
+ } from "./chunk-SDXMG4VX.js";
319
320
  import {
320
321
  OperationalLogStore,
321
322
  SentimentIdempotencyConflict,
@@ -369,6 +370,7 @@ import {
369
370
  gscDataWatermarks,
370
371
  gscQueryDailyTotals,
371
372
  gscSearchData,
373
+ gscSitemaps,
372
374
  gscUrlInspections,
373
375
  gtmConnections,
374
376
  gtmRawSnapshots,
@@ -406,11 +408,12 @@ import {
406
408
  siteCrawlRunRequests,
407
409
  siteCrawlSnapshots,
408
410
  siteLivenessState,
411
+ sitemapListSyncs,
409
412
  trafficSources,
410
413
  unrecognizedAgentEventsHourly,
411
414
  unrecognizedAgentNotifyState,
412
415
  usageCounters
413
- } from "./chunk-ZEWOPHTA.js";
416
+ } from "./chunk-USHY3SH6.js";
414
417
  import {
415
418
  AGENT_MEMORY_VALUE_MAX_BYTES,
416
419
  AI_ENGINE_DOMAINS,
@@ -667,7 +670,7 @@ import {
667
670
  winnabilityClassLabel,
668
671
  withRetry,
669
672
  withSkippedProviders
670
- } from "./chunk-YKLYWVLL.js";
673
+ } from "./chunk-ETIIPSWL.js";
671
674
 
672
675
  // src/google-marketing-runtime.ts
673
676
  import crypto2 from "crypto";
@@ -5971,7 +5974,7 @@ function nonBlank(value) {
5971
5974
  return trimmed ? trimmed : void 0;
5972
5975
  }
5973
5976
  function resolveBuildCommit(env = process.env) {
5974
- const embedded = true ? "631c4f7e14ca92a42ef0e2ea31ad5f3d14c8a286" : void 0;
5977
+ const embedded = true ? "5b7cd7625b3f0674d78f92e2665fb351f76d51e3" : void 0;
5975
5978
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5976
5979
  }
5977
5980
  function resolveInstanceIdentity(env = process.env) {
@@ -8620,6 +8623,64 @@ function googleRunFailure(err) {
8620
8623
 
8621
8624
  // src/gsc-sync.ts
8622
8625
  var log3 = createLogger("GscSync");
8626
+ var GSC_SITEMAP_INDEX_MAX_PER_SYNC = 20;
8627
+ function countOrNull(value) {
8628
+ if (value === void 0 || value === "") return null;
8629
+ const n = Number(value);
8630
+ return Number.isFinite(n) && n >= 0 ? n : null;
8631
+ }
8632
+ function gscSitemapUrlCount(sitemap) {
8633
+ if (!sitemap.contents || sitemap.contents.length === 0) return null;
8634
+ return sitemap.contents.reduce((sum, content) => sum + (countOrNull(content.submitted) ?? 0), 0);
8635
+ }
8636
+ async function syncGscSitemaps(db, projectId, runId, accessToken, propertyId) {
8637
+ const top = await listSitemaps(accessToken, propertyId);
8638
+ const indexes = top.filter((sitemap) => sitemap.isSitemapsIndex);
8639
+ const read = indexes.slice(0, GSC_SITEMAP_INDEX_MAX_PER_SYNC);
8640
+ const files = /* @__PURE__ */ new Map();
8641
+ for (const index of read) files.set(index.path, await listSitemaps(accessToken, propertyId, index.path));
8642
+ const syncedAt = (/* @__PURE__ */ new Date()).toISOString();
8643
+ const toRow = (sitemap, parentUrl) => ({
8644
+ projectId,
8645
+ url: sitemap.path,
8646
+ parentUrl,
8647
+ isIndex: Boolean(sitemap.isSitemapsIndex),
8648
+ isPending: Boolean(sitemap.isPending),
8649
+ type: sitemap.type ?? null,
8650
+ urlCount: gscSitemapUrlCount(sitemap),
8651
+ warnings: countOrNull(sitemap.warnings),
8652
+ errors: countOrNull(sitemap.errors),
8653
+ submittedAt: sitemap.lastSubmitted ?? null,
8654
+ lastDownloadedAt: sitemap.lastDownloaded ?? null,
8655
+ syncRunId: runId,
8656
+ syncedAt
8657
+ });
8658
+ const rows = [
8659
+ ...top.map((sitemap) => toRow(sitemap, null)),
8660
+ ...[...files.entries()].flatMap(([parent, children]) => children.map((child) => toRow({ ...child, isSitemapsIndex: false }, parent)))
8661
+ ];
8662
+ const byUrl = /* @__PURE__ */ new Map();
8663
+ for (const row of rows) if (!byUrl.has(row.url)) byUrl.set(row.url, row);
8664
+ const unread = new Set(indexes.slice(GSC_SITEMAP_INDEX_MAX_PER_SYNC).map((index) => index.path));
8665
+ db.transaction((tx) => {
8666
+ const stored = tx.select({ url: gscSitemaps.url, parentUrl: gscSitemaps.parentUrl }).from(gscSitemaps).where(eq7(gscSitemaps.projectId, projectId)).all();
8667
+ for (const row of stored) {
8668
+ if (byUrl.has(row.url) || row.parentUrl !== null && unread.has(row.parentUrl)) continue;
8669
+ tx.delete(gscSitemaps).where(and5(eq7(gscSitemaps.projectId, projectId), eq7(gscSitemaps.url, row.url))).run();
8670
+ }
8671
+ for (const row of byUrl.values()) {
8672
+ tx.insert(gscSitemaps).values({ id: crypto8.randomUUID(), ...row }).onConflictDoUpdate({
8673
+ target: [gscSitemaps.projectId, gscSitemaps.url],
8674
+ set: { ...row }
8675
+ }).run();
8676
+ }
8677
+ tx.insert(sitemapListSyncs).values({ projectId, engine: "google", syncedAt, syncRunId: runId }).onConflictDoUpdate({
8678
+ target: [sitemapListSyncs.projectId, sitemapListSyncs.engine],
8679
+ set: { syncedAt, syncRunId: runId }
8680
+ }).run();
8681
+ });
8682
+ return { sitemaps: byUrl.size, indexesRead: read.length };
8683
+ }
8623
8684
  async function executeGscSync(db, runId, projectId, opts) {
8624
8685
  const reportOutcome = startRunOutcome(db, runId, FeatureNames.search_console, "sync");
8625
8686
  const now = (/* @__PURE__ */ new Date()).toISOString();
@@ -8775,6 +8836,12 @@ async function executeGscSync(db, runId, projectId, opts) {
8775
8836
  }).run();
8776
8837
  }
8777
8838
  log3.info("query-totals.complete", { runId, projectId, rowCount: queryTotalRows.length });
8839
+ try {
8840
+ const stored = await syncGscSitemaps(db, projectId, runId, accessToken, propertyId);
8841
+ log3.info("sitemaps.complete", { runId, projectId, ...stored });
8842
+ } catch (err) {
8843
+ log3.warn("sitemaps.failed", { runId, projectId, error: describeError(err) });
8844
+ }
8778
8845
  const coverage = writeCoverageSnapshot(db, projectId, runId);
8779
8846
  db.update(runs).set({ status: "completed", finishedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq7(runs.id, runId)).run();
8780
8847
  log3.info("sync.completed", { runId, projectId, searchDataRows: rows.length, indexed: coverage.indexed, notIndexed: coverage.notIndexed, unknown: coverage.unknown, verifiedByInspection: coverage.verifiedByInspection });
@@ -11088,6 +11155,7 @@ async function executeBingSync(db, runId, projectId, opts) {
11088
11155
  tx.insert(bingSitemaps).values({ id: crypto15.randomUUID(), projectId, url: feed.Url, ...values }).onConflictDoUpdate({ target: [bingSitemaps.projectId, bingSitemaps.url], set: values }).run();
11089
11156
  }
11090
11157
  tx.delete(bingSitemaps).where(urls.length > 0 ? and9(eq13(bingSitemaps.projectId, projectId), notInArray2(bingSitemaps.url, urls)) : eq13(bingSitemaps.projectId, projectId)).run();
11158
+ tx.insert(sitemapListSyncs).values({ projectId, engine: "bing", syncedAt, syncRunId: runId }).onConflictDoUpdate({ target: [sitemapListSyncs.projectId, sitemapListSyncs.engine], set: { syncedAt, syncRunId: runId } }).run();
11091
11159
  });
11092
11160
  return collected.size;
11093
11161
  });
@@ -22375,6 +22443,11 @@ async function createServer(opts) {
22375
22443
  if (basePath && !url.startsWith(basePath)) {
22376
22444
  return reply.status(404).send({ error: "Not found", path: request.url });
22377
22445
  }
22446
+ const assetsPrefix = `${basePath ?? "/"}assets/`;
22447
+ if (url.startsWith(assetsPrefix) || decodedUrl.startsWith(assetsPrefix)) {
22448
+ const error = notFound("Asset", url);
22449
+ return reply.status(error.statusCode).send(error.toJSON());
22450
+ }
22378
22451
  if (fs5.existsSync(indexPath)) {
22379
22452
  const html = fs5.readFileSync(indexPath, "utf-8");
22380
22453
  return sendSpaDocument(reply, html);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-YKLYWVLL.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-TCANF22P.js";
4
- import "./chunk-A6DKZ4KQ.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-YKLYWVLL.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-ZYEWB5BK.js";
7
- import "./chunk-WE6FSG7J.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-YKLYWVLL.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-WHN4RF2Y.js";
3
+ } from "./chunk-T7OH3YPX.js";
4
4
  import "./chunk-6GO5VVAC.js";
5
5
  import "./chunk-VJWDBFSL.js";
6
- import "./chunk-5GQ2AGWS.js";
6
+ import "./chunk-L2MDMZFT.js";
7
7
  import "./chunk-TSENU4GG.js";
8
- import "./chunk-TCANF22P.js";
9
- import "./chunk-A6DKZ4KQ.js";
10
- import "./chunk-WE6FSG7J.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-DX46HM7S.js";
12
+ import "./chunk-PID3C4B7.js";
13
13
  import "./chunk-AOJU5LKX.js";
14
14
  import "./chunk-HGMYEDAQ.js";
15
- import "./chunk-YKLYWVLL.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-WHN4RF2Y.js";
4
+ } from "./chunk-T7OH3YPX.js";
5
5
  import "./chunk-6GO5VVAC.js";
6
6
  import {
7
7
  buildSetupState,
8
8
  runPendingServeHandoff
9
- } from "./chunk-7522CQ2E.js";
9
+ } from "./chunk-CHTADAEC.js";
10
10
  import "./chunk-VJWDBFSL.js";
11
- import "./chunk-5GQ2AGWS.js";
11
+ import "./chunk-L2MDMZFT.js";
12
12
  import "./chunk-TSENU4GG.js";
13
- import "./chunk-3H5VURTU.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-WPTCWNA6.js";
27
+ } from "./chunk-AFYKUX2X.js";
28
28
  import {
29
29
  autoSyncSkills,
30
30
  formatAutoSyncNotice
31
- } from "./chunk-2BZJ4W27.js";
32
- import "./chunk-TCANF22P.js";
33
- import "./chunk-A6DKZ4KQ.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-ZYEWB5BK.js";
38
+ } from "./chunk-2UULABPI.js";
39
39
  import {
40
40
  resolveCliAccess
41
- } from "./chunk-WE6FSG7J.js";
41
+ } from "./chunk-WYMBWCG5.js";
42
42
  import "./chunk-Z7IUAJOF.js";
43
- import "./chunk-MXGME7NG.js";
44
- import "./chunk-DX46HM7S.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-YKLYWVLL.js";
55
+ } from "./chunk-ETIIPSWL.js";
56
56
  import "./chunk-MLKGABMK.js";
57
57
 
58
58
  // src/cli.ts