@canonry/canonry 7.77.1 → 7.78.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 (139) hide show
  1. package/assets/agent-workspace/skills/aero/references/seo-analysis.md +13 -2
  2. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +4 -2
  3. package/assets/assets/{AgentSetupPage-BZXWC3x6.js → AgentSetupPage-BGdvyQFL.js} +4 -4
  4. package/assets/assets/{AuditHistoryPanel-DcrUuwRu.js → AuditHistoryPanel-Bb5wq-Bk.js} +1 -1
  5. package/assets/assets/{BacklinksPage-BSpHJBiy.js → BacklinksPage-i1cfxTDj.js} +1 -1
  6. package/assets/assets/{HistoryPage-0a0CK9zF.js → HistoryPage-C2NRdNrn.js} +1 -1
  7. package/assets/assets/MeasurementPropertyPage-CwPuJMBy.js +4 -0
  8. package/assets/assets/ProjectPage-Bbnbg7c9.js +11 -0
  9. package/assets/assets/{RunsPage-D0vbz1Ho.js → RunsPage-CJHJ7kHk.js} +1 -1
  10. package/assets/assets/{SettingsPage-DjRm5cmn.js → SettingsPage-r8VrtFyJ.js} +1 -1
  11. package/assets/assets/SiteHealthSection-D1oSuo9O.js +2 -0
  12. package/assets/assets/ToneBadge-CUe-WrzN.js +60 -0
  13. package/assets/assets/{TrafficPage-Z8Z_z0k9.js → TrafficPage-DY2ykwH1.js} +1 -1
  14. package/assets/assets/TrafficSourceDetailPage-D3KHgRvF.js +1 -0
  15. package/assets/assets/{account-context-zaSxLBst.js → account-context-B50QqDEA.js} +1 -1
  16. package/assets/assets/{card-COqALGzB.js → card-BE2fqwVq.js} +1 -1
  17. package/assets/assets/{extract-error-message-DKve0SNr.js → extract-error-message-xuN_xeRJ.js} +1 -1
  18. package/assets/assets/{format-helpers-DKrHlaV7.js → format-helpers-CiC6gALY.js} +1 -1
  19. package/assets/assets/{index-CKZK95pI.css → index-CHHZDc6d.css} +1 -1
  20. package/assets/assets/{index-fzqtwr6m.js → index-Dfm8z5cG.js} +23 -23
  21. package/assets/assets/{query-client-COM9uzxL.js → query-client-C5GhDMY7.js} +1 -1
  22. package/assets/assets/react-query-CmHyfYFq.js +1 -0
  23. package/assets/assets/{react-sigma_core.esm.min-e91U3Myi.js → react-sigma_core.esm.min-Bjdtl0TQ.js} +1 -1
  24. package/assets/assets/{service-BgFTYqJA.js → service-B2i_ZzWP.js} +1 -1
  25. package/assets/index.html +8 -8
  26. package/dist/{ads-M6IAQDG7.js → ads-MIR5MCHL.js} +3 -3
  27. package/dist/{agent-X2T5X5K3.js → agent-IXRL5RBI.js} +7 -7
  28. package/dist/{agent-ask-55LQH4TI.js → agent-ask-K42H6H2T.js} +3 -3
  29. package/dist/{agent-conversations-O6WC2NPV.js → agent-conversations-2T3W4DHO.js} +3 -3
  30. package/dist/{agent-memory-6DWFMB4I.js → agent-memory-LJBNSTSP.js} +3 -3
  31. package/dist/{agent-providers-Q4YDVQX3.js → agent-providers-QR4LY3AP.js} +3 -3
  32. package/dist/{agent-transcript-SJKCP2AO.js → agent-transcript-JIHJWHV6.js} +3 -3
  33. package/dist/{analytics-4JOQMWH7.js → analytics-JRV7DBBU.js} +3 -3
  34. package/dist/{apply-EAKKKIZD.js → apply-ZFWDSAV4.js} +3 -3
  35. package/dist/{backfill-PASKIVGP.js → backfill-LU2AQIPY.js} +9 -9
  36. package/dist/{backlinks-TICPC323.js → backlinks-NAC2373F.js} +3 -3
  37. package/dist/{bing-MC7TSL4E.js → bing-L3LDBJOC.js} +3 -3
  38. package/dist/{bootstrap-X2BW64W7.js → bootstrap-I6DA4KWB.js} +10 -10
  39. package/dist/{cdp-TCJKITCR.js → cdp-4F74XLTH.js} +7 -7
  40. package/dist/{chunk-CCNPBUQ5.js → chunk-367K6XVX.js} +2 -2
  41. package/dist/{chunk-JPOIDGGF.js → chunk-3MGM3U6V.js} +1 -1
  42. package/dist/{chunk-2BDWXHYF.js → chunk-45RGH7XI.js} +3 -3
  43. package/dist/{chunk-RPJJOBKN.js → chunk-6ACWXQNZ.js} +3 -1
  44. package/dist/{chunk-B7JHQ3FW.js → chunk-6P6YBNKN.js} +7 -7
  45. package/dist/{chunk-YMOQSEO3.js → chunk-6PRFVLIK.js} +15 -4
  46. package/dist/{chunk-D5XPB7MM.js → chunk-6VBLPCCX.js} +1 -1
  47. package/dist/{chunk-5QR7D4RQ.js → chunk-7HB6QLX4.js} +1 -1
  48. package/dist/{chunk-7UVCZZQJ.js → chunk-AI44ZCMK.js} +1 -1
  49. package/dist/{chunk-X7UC755Q.js → chunk-C5WSQXP5.js} +26 -2
  50. package/dist/{chunk-CQMNWC5K.js → chunk-EFMZSYRD.js} +160 -26
  51. package/dist/{chunk-FXIZBJZ4.js → chunk-EHXNYXAS.js} +3 -3
  52. package/dist/{chunk-2WBT6TEJ.js → chunk-FCYGY4FT.js} +1 -1
  53. package/dist/{chunk-XYYWKCJQ.js → chunk-JERATA5R.js} +1 -1
  54. package/dist/{chunk-P3BWUKJL.js → chunk-JEUL5QZP.js} +4 -4
  55. package/dist/{chunk-PSNTEGNY.js → chunk-KZB6HLFT.js} +1 -1
  56. package/dist/{chunk-UGNNR7EO.js → chunk-L2KMR7CM.js} +2 -2
  57. package/dist/{chunk-H4ANN32B.js → chunk-L6F2HOQH.js} +8 -8
  58. package/dist/{chunk-GDKMVOZI.js → chunk-M3BUP6XD.js} +104 -13
  59. package/dist/{chunk-4QHTXT4A.js → chunk-MUYTDD35.js} +40 -4
  60. package/dist/{chunk-TESDUMVK.js → chunk-O4WBYEGV.js} +1 -1
  61. package/dist/{chunk-FCGYYZHL.js → chunk-PM2DB3HE.js} +164 -10
  62. package/dist/{chunk-TRW4XLQK.js → chunk-QXSOXDUR.js} +2 -2
  63. package/dist/{chunk-2SCPPWRW.js → chunk-RSVANBNW.js} +4 -4
  64. package/dist/{chunk-UB65XBH2.js → chunk-SAHH2FXO.js} +3 -3
  65. package/dist/{chunk-46KV7CZU.js → chunk-SOQVI7EZ.js} +2 -2
  66. package/dist/{chunk-Z2FY6AGZ.js → chunk-TZRYVW75.js} +2 -2
  67. package/dist/{chunk-C3UFOS7J.js → chunk-UH44UCRM.js} +2 -2
  68. package/dist/{chunk-TJYS2XCI.js → chunk-UQOC5ZQE.js} +4 -4
  69. package/dist/{chunk-2BRVGCVU.js → chunk-VLOCDWCS.js} +7 -1
  70. package/dist/{chunk-6EZQHF67.js → chunk-WCFANFR2.js} +371 -340
  71. package/dist/{chunk-ZXYCPRNY.js → chunk-WSWHLKKJ.js} +1 -1
  72. package/dist/{chunk-NDTU7FGL.js → chunk-WVCDUKJ2.js} +1 -1
  73. package/dist/{chunk-JZT3ZRD3.js → chunk-WXIL2EFM.js} +4 -4
  74. package/dist/{chunk-JSCO223C.js → chunk-ZHFE6J3A.js} +1 -1
  75. package/dist/{chunk-HD2VVIPD.js → chunk-ZUC7CJVD.js} +5 -5
  76. package/dist/{citations-IA3OCV53.js → citations-2XELMCCV.js} +3 -3
  77. package/dist/{cli-catalog-ZVFLJXID.js → cli-catalog-KC6JYHSW.js} +3 -3
  78. package/dist/{cli-commands-O7BYY3W5.js → cli-commands-WCOAB6XU.js} +7 -7
  79. package/dist/cli.js +13 -13
  80. package/dist/{competitor-4FVAZAQZ.js → competitor-IK4GYTZO.js} +3 -3
  81. package/dist/{content-OVBF6U7Z.js → content-SMQPJXPC.js} +3 -3
  82. package/dist/{dashboard-UGZSSIWK.js → dashboard-EE24ROVG.js} +6 -6
  83. package/dist/{demo-5CU3JDHC.js → demo-7XH2N65A.js} +1 -1
  84. package/dist/{demo-server-43QV3UKM.js → demo-server-CVB65UYW.js} +12 -12
  85. package/dist/{discover-R5BYAPOU.js → discover-3KHUCVE7.js} +3 -3
  86. package/dist/{discover-eval-3FA4BR2L.js → discover-eval-DOEP4ZQ7.js} +3 -3
  87. package/dist/{doctor-2Q5LVV2P.js → doctor-3T6RKSE7.js} +3 -3
  88. package/dist/{evidence-LMGRT5IO.js → evidence-4NFL5KM3.js} +3 -3
  89. package/dist/{export-cmd-LBLZ273Z.js → export-cmd-BQC6XLJ7.js} +3 -3
  90. package/dist/{ga-PBIWRU67.js → ga-HBRA4UUK.js} +3 -3
  91. package/dist/{gbp-NYG7SW6P.js → gbp-2WMBTDJV.js} +3 -3
  92. package/dist/{google-57XEYVOU.js → google-JFUE4BNJ.js} +4 -4
  93. package/dist/{google-marketing-XPE6CVQI.js → google-marketing-5ROIKBC7.js} +1 -1
  94. package/dist/{health-cmd-SJVYQZQL.js → health-cmd-7BMVCCG2.js} +3 -3
  95. package/dist/{history-5XYZNWGP.js → history-QA4ZXCVH.js} +3 -3
  96. package/dist/index.d.ts +216 -23
  97. package/dist/index.js +26 -26
  98. package/dist/{init-KXR6PJEQ.js → init-O4G2MDMC.js} +12 -12
  99. package/dist/{insights-L7OOH34I.js → insights-K4UX2PSI.js} +3 -3
  100. package/dist/intelligence-service-D7DS4UKT.js +16 -0
  101. package/dist/{journeys-VXBGDFBO.js → journeys-UWEWJXGT.js} +3 -3
  102. package/dist/{keys-YMB5HAAG.js → keys-CL5YYE7Q.js} +3 -3
  103. package/dist/{keyword-RZEMKH3K.js → keyword-IFCC5IZT.js} +3 -3
  104. package/dist/{logs-ONZWSYXS.js → logs-2A3HBUBK.js} +3 -3
  105. package/dist/{mcp-KK6EFHAZ.js → mcp-B6L7PKZ4.js} +4 -4
  106. package/dist/mcp.js +10 -10
  107. package/dist/{measurement-plan-LE7INWW6.js → measurement-plan-GYSO6CXX.js} +5 -5
  108. package/dist/{notify-T6T5LYRR.js → notify-XM23I2B3.js} +3 -3
  109. package/dist/{organic-evidence-P2GZ766W.js → organic-evidence-U7HZMXKP.js} +3 -3
  110. package/dist/{overview-P2AILIWJ.js → overview-TSAK5DQP.js} +4 -4
  111. package/dist/{project-7MHQSOJD.js → project-L7DLDEPI.js} +3 -3
  112. package/dist/{query-EUDMU6L7.js → query-FM5HDHO4.js} +3 -3
  113. package/dist/{research-4DASCVGY.js → research-7G5JU44N.js} +3 -3
  114. package/dist/{results-export-GKXHX55L.js → results-export-JJDGG6ZP.js} +3 -3
  115. package/dist/{run-6LJGMJ5S.js → run-ZVIQVG23.js} +4 -4
  116. package/dist/{schedule-D74P2BO5.js → schedule-TV7LWSYI.js} +3 -3
  117. package/dist/{search-W7AOYWRM.js → search-7KRZLZ6S.js} +3 -3
  118. package/dist/{serve-UNVCQSRC.js → serve-WSOG525W.js} +27 -27
  119. package/dist/{session-6NGNVCKP.js → session-OUGQSGVV.js} +14 -14
  120. package/dist/{settings-LGD64PFE.js → settings-AOXQJOHN.js} +3 -3
  121. package/dist/{skills-CYHWYN42.js → skills-DWXA55QA.js} +2 -2
  122. package/dist/{snapshot-PDYGSZZH.js → snapshot-B44CXKFU.js} +3 -3
  123. package/dist/{src-SXB3MOP3.js → src-IBGSUYEG.js} +2 -2
  124. package/dist/{status-UZ4SE7ZP.js → status-RNBSFZ6Q.js} +4 -4
  125. package/dist/{technical-aeo-BNH7NV44.js → technical-aeo-UAOKK5QH.js} +3 -3
  126. package/dist/{telemetry-UWDS7QNJ.js → telemetry-55PUOMA7.js} +4 -4
  127. package/dist/{tools-EDPBQCI2.js → tools-HRGP4FXN.js} +11 -11
  128. package/dist/{traffic-NI6ACQO4.js → traffic-M4OHG5JW.js} +5 -5
  129. package/dist/{users-XTZ65NLC.js → users-GU7MULRM.js} +3 -3
  130. package/dist/{visibility-stats-EPF6MHYQ.js → visibility-stats-4IDTDXDC.js} +3 -3
  131. package/dist/{wordpress-ZACJ3H5M.js → wordpress-CYXB4R5Y.js} +3 -3
  132. package/package.json +1 -1
  133. package/assets/assets/MeasurementPropertyPage-DbfTFN3F.js +0 -4
  134. package/assets/assets/ProjectPage-D0m-Xpp3.js +0 -9
  135. package/assets/assets/SiteHealthSection-BCdPVFEJ.js +0 -2
  136. package/assets/assets/ToneBadge-DSJSzqI6.js +0 -60
  137. package/assets/assets/TrafficSourceDetailPage-DJyDO527.js +0 -1
  138. package/assets/assets/react-query-BVRWpXWq.js +0 -1
  139. package/dist/intelligence-service-NXZYQJBH.js +0 -16
@@ -17,7 +17,7 @@ import {
17
17
  showMeasurementProperty,
18
18
  showMeasurementPropertyEvidence,
19
19
  showMeasurementReport
20
- } from "./chunk-UB65XBH2.js";
20
+ } from "./chunk-SAHH2FXO.js";
21
21
  import {
22
22
  listMcpClientIds
23
23
  } from "./chunk-VJWDBFSL.js";
@@ -26,11 +26,11 @@ import {
26
26
  } from "./chunk-TSENU4GG.js";
27
27
  import {
28
28
  createApiClient
29
- } from "./chunk-X7UC755Q.js";
29
+ } from "./chunk-C5WSQXP5.js";
30
30
  import {
31
31
  getConfigDir,
32
32
  loadConfig
33
- } from "./chunk-2BRVGCVU.js";
33
+ } from "./chunk-VLOCDWCS.js";
34
34
  import {
35
35
  getBoolean,
36
36
  getString,
@@ -43,7 +43,7 @@ import {
43
43
  resolveCliAccess,
44
44
  stringOption,
45
45
  unknownSubcommand
46
- } from "./chunk-RPJJOBKN.js";
46
+ } from "./chunk-6ACWXQNZ.js";
47
47
  import {
48
48
  emitJsonl
49
49
  } from "./chunk-Z7IUAJOF.js";
@@ -89,7 +89,9 @@ import {
89
89
  sentimentJobRequestSchema,
90
90
  sentimentSettingsUpdateSchema,
91
91
  sentimentSummaryRequestSchema,
92
+ seoCompetitorQuerySchema,
92
93
  seoEvidenceQuerySchema,
94
+ seoKeywordGapQuerySchema,
93
95
  seoMarketRankingQuerySchema,
94
96
  seoMarketRankingSummaryQuerySchema,
95
97
  seoProfileInputSchema,
@@ -100,7 +102,7 @@ import {
100
102
  snapshotProviderModeSchema,
101
103
  visibilityCompareSelectionSchema,
102
104
  winnabilityClassSchema
103
- } from "./chunk-FCGYYZHL.js";
105
+ } from "./chunk-PM2DB3HE.js";
104
106
 
105
107
  // src/cli-commands/sentiment.ts
106
108
  import "zod";
@@ -444,6 +446,7 @@ async function showSeoProfile(project3, id2, format) {
444
446
  console.log(`Scope: ${value.scope.kind}${value.scope.key ? ` ${value.scope.key}` : ""}`);
445
447
  console.log(`Capabilities: ${value.capabilities.join(", ")} \xB7 row limit ${value.limit}`);
446
448
  for (const target of value.targets) console.log(`Target: ${target.kind} ${target.value} \xB7 subdomains ${target.includeSubdomains ? "included" : "excluded"}`);
449
+ for (const competitor of value.competitors ?? []) console.log(`Comparison competitor: ${competitor.value} \xB7 subdomains ${competitor.includeSubdomains ? "included" : "excluded"}`);
447
450
  for (const keyword of value.keywords) console.log(`Keyword: ${keyword}`);
448
451
  }
449
452
  async function setSeoProfile(project3, id2, source, format) {
@@ -486,7 +489,8 @@ async function showSeoRun(project3, id2, format) {
486
489
  printSeoRun(value);
487
490
  for (const task of value.tasks) {
488
491
  const subject = task.searchText !== null ? ` \xB7 "${task.searchText}" from ${task.locationLabel ?? "its market"}` : task.target ? ` \xB7 ${task.target.value}` : "";
489
- console.log(` ${task.capability}${subject}${task.retried ? " \xB7 retried once" : ""}: ${task.status}${task.error ? ` \xB7 ${task.error}` : ""}`);
492
+ const comparison = task.comparison ? ` vs ${task.comparison.competitor.value} \xB7 ${task.comparison.mode}` : "";
493
+ console.log(` ${task.capability}${subject}${comparison}${task.retried ? " \xB7 retried once" : ""}: ${task.status}${task.error ? ` \xB7 ${task.error}` : ""}`);
490
494
  }
491
495
  if (value.resultsTruncated) console.log("Result preview is partial. Read the evidence commands with this run ID for all saved rows.");
492
496
  }
@@ -500,7 +504,7 @@ async function showSeoOverview(project3, query, format) {
500
504
  console.log(`SEO data: ${value.status.available ? "available" : "unavailable"}`);
501
505
  if (value.status.reason) console.log(value.status.reason);
502
506
  if (value.latestRun) printSeoRun(value.latestRun);
503
- console.log(`Saved rows: ${value.keywordMetricsCount} keyword metrics \xB7 ${value.rankedKeywordCount} ranked keywords \xB7 ${value.domainIntelligenceCount} domain summaries \xB7 ${value.marketRankingCount} market rankings`);
507
+ console.log(`Saved rows: ${value.keywordMetricsCount} keyword metrics \xB7 ${value.rankedKeywordCount} ranked keywords \xB7 ${value.domainIntelligenceCount} domain summaries \xB7 ${value.marketRankingCount} market rankings \xB7 ${value.competitorCount} competitors \xB7 ${value.keywordGapCount} keyword gaps`);
504
508
  if (value.summary) console.log(`${value.summary.target.value}: ${value.summary.organicKeywords ?? "Unavailable"} organic keywords \xB7 ${value.summary.inTop10 ?? "Unavailable"} in top 10 \xB7 ${value.summary.estimatedOrganicTraffic ?? "Unavailable"} estimated monthly traffic`);
505
509
  if (value.evidenceRunId) console.log(`Evidence run: ${value.evidenceRunId}`);
506
510
  }
@@ -522,13 +526,26 @@ async function showSeoRankedKeywords(project3, query, format) {
522
526
  console.log(`Ranked keywords \xB7 run ${value.runId ?? "none"} \xB7 ${value.items.length} of ${value.total} rows \xB7 offset ${value.offset}`);
523
527
  for (const row of value.items) console.log(`${row.keyword} Organic rank ${row.rankOrganic ?? "Not available"} Volume ${row.searchVolume === null ? "Not available" : formatNumber(row.searchVolume)} ${row.url ?? "URL unavailable"} ${row.provenance.provider} \xB7 ${row.provenance.locationCode}/${row.provenance.languageCode} \xB7 ${row.provenance.collectedAt}`);
524
528
  }
529
+ async function showSeoCompetitors(project3, query, format) {
530
+ const value = await createApiClient().getSeoCompetitors(project3, query);
531
+ if (printSeoJson(value, format)) return;
532
+ console.log(`Organic competitors \xB7 run ${value.runId ?? "none"} \xB7 ${value.items.length} of ${value.total} saved rows \xB7 offset ${value.offset}`);
533
+ for (const row of value.items) console.log(`${row.target.value} ${row.domain} Shared searches ${row.sharedKeywords === null ? "Not available" : formatNumber(row.sharedKeywords)} Average position ${row.averagePosition ?? "Not available"} Organic traffic estimate ${row.estimatedOrganicTraffic === null ? "Not available" : formatNumber(row.estimatedOrganicTraffic)} ${row.provenance.provider} \xB7 ${row.provenance.locationCode}/${row.provenance.languageCode} \xB7 ${row.provenance.collectedAt}`);
534
+ }
535
+ async function showSeoKeywordGaps(project3, query, format) {
536
+ const value = await createApiClient().getSeoKeywordGaps(project3, query);
537
+ if (printSeoJson(value, format)) return;
538
+ console.log(`Search gaps \xB7 ${query.kind ?? "all"} \xB7 run ${value.runId ?? "none"} \xB7 ${value.items.length} of ${value.total} saved rows \xB7 offset ${value.offset}`);
539
+ console.log("Missing means absent from the source database for this target and locale. Positive rank gap means the rival is ahead. Saved rows are a bounded sample.");
540
+ for (const row of value.items) console.log(`${row.keyword} ${row.target.value} ${row.targetRankOrganic === null ? "Not found" : `#${row.targetRankOrganic}`} ${row.competitor.value} #${row.competitorRankOrganic} ${row.kind} Rank gap ${row.rankGap ?? "Unavailable"} Volume ${row.searchVolume === null ? "Not available" : formatNumber(row.searchVolume)} ${row.provenance.provider} \xB7 ${row.provenance.locationCode}/${row.provenance.languageCode} \xB7 ${row.provenance.collectedAt}`);
541
+ }
525
542
  async function showSeoMarketRankings(project3, query, format) {
526
543
  const value = await createApiClient().getSeoMarketRankings(project3, query);
527
544
  if (printSeoJson(value, format)) return;
528
545
  console.log(`Market rankings \xB7 run ${value.runId ?? "none"} \xB7 ${value.items.length} of ${value.total} rows \xB7 offset ${value.offset}`);
529
546
  for (const row of value.items) {
530
- const rival = row.competitors[0];
531
- const rivalText = row.outcome === SeoMarketRankingOutcomes.failed || row.outcome === SeoMarketRankingOutcomes.cancelled ? "No result" : rival ? `Top rival ${rival.domain} #${rival.rankOrganic}${row.rivalAhead ? " (ahead)" : ""}` : "No tracked rival in the results";
547
+ const rival = row.topCompetitor;
548
+ const rivalText = row.outcome === SeoMarketRankingOutcomes.failed || row.outcome === SeoMarketRankingOutcomes.cancelled ? "No result" : rival ? `Top rival ${rival.domain} #${rival.rankOrganic}${row.rivalAhead ? " (ahead)" : ""}${row.rankGap === null ? "" : ` \xB7 rank gap ${row.rankGap}`}` : "No tracked rival in the results";
532
549
  const source = row.provenance ? ` \xB7 ${row.provenance.device} \xB7 ${row.provenance.collectedAt}` : "";
533
550
  console.log(`${row.marketLabel} ${row.queryText} ${rankText(row)} ${row.url ?? "No ranking page"} ${rivalText} Searched as "${row.searchText}" from ${row.locationLabel}${source}`);
534
551
  }
@@ -587,6 +604,18 @@ function selection2(input) {
587
604
  return result.data;
588
605
  }
589
606
  var rankingOptions = { ...selectionOptions2, market: stringOption(), region: stringOption(), outcome: stringOption(), search: stringOption(), sort: stringOption() };
607
+ var competitorOptions = { ...selectionOptions2, sort: stringOption() };
608
+ var gapOptions = { ...competitorOptions, kind: stringOption() };
609
+ function competitorSelection(input) {
610
+ const result = seoCompetitorQuerySchema.safeParse({ ...selection2(input), sort: getString(input.values, "sort") });
611
+ if (!result.success) throw usageError(result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; "));
612
+ return result.data;
613
+ }
614
+ function gapSelection(input) {
615
+ const result = seoKeywordGapQuerySchema.safeParse({ ...selection2(input), kind: getString(input.values, "kind"), sort: getString(input.values, "sort") });
616
+ if (!result.success) throw usageError(result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; "));
617
+ return result.data;
618
+ }
590
619
  function rankingSelection(input) {
591
620
  const result = seoMarketRankingQuerySchema.safeParse({
592
621
  ...selection2(input),
@@ -640,7 +669,7 @@ var SEO_CLI_COMMANDS = [
640
669
  path: ["seo", "profile", "set"],
641
670
  usage: "canonry seo profile set <project> <profile-id> --file <json-path|-> [--format json]",
642
671
  access: "write",
643
- help: "Create or replace the complete profile. JSON includes name, connectionId, capabilities, targets, keywords, locationCode, languageCode, limit and scope. Advanced scope pins expectedPlanRevision. Does not start provider work or change host spending policy.",
672
+ help: "Create or replace the complete profile. JSON includes name, connectionId, capabilities, targets, keywords, locationCode, languageCode, limit and scope. keyword-gaps also requires explicit competitors. Competitor discovery and gaps compare whole domains at project scope; Advanced scope pins expectedPlanRevision. Does not start provider work or change host spending policy.",
644
673
  options: { file: stringOption() },
645
674
  run: (input) => setSeoProfile(project2(input), id(input), requireStringOption(input, "file", { command: "seo.profile.set", usage: "canonry seo profile set <project> <id> --file <json-path|->", message: "--file is required" }), input.format)
646
675
  },
@@ -670,6 +699,8 @@ var SEO_CLI_COMMANDS = [
670
699
  { path: ["seo", "keyword-metrics"], usage: "canonry seo keyword-metrics <project> [--profile-id <id>] [--run-id <id>] [--limit <n>] [--offset <n>] [--format json]", access: "stored", options: selectionOptions2, help: evidenceHelp, run: (input) => showSeoKeywordMetrics(project2(input), selection2(input), input.format) },
671
700
  { path: ["seo", "domain-intelligence"], usage: "canonry seo domain-intelligence <project> [--profile-id <id>] [--run-id <id>] [--limit <n>] [--offset <n>] [--format json]", access: "stored", options: selectionOptions2, help: evidenceHelp, run: (input) => showSeoDomainIntelligence(project2(input), selection2(input), input.format) },
672
701
  { path: ["seo", "ranked-keywords"], usage: "canonry seo ranked-keywords <project> [--profile-id <id>] [--run-id <id>] [--limit <n>] [--offset <n>] [--format json]", access: "stored", options: selectionOptions2, help: evidenceHelp, run: (input) => showSeoRankedKeywords(project2(input), selection2(input), input.format) },
702
+ { path: ["seo", "competitors"], usage: "canonry seo competitors <project> [--profile-id <id>] [--run-id <id>] [--sort=domain|-domain|shared|-shared|position|-position|traffic|-traffic] [--limit <n>] [--offset <n>] [--format json]", access: "stored", options: competitorOptions, help: "Read saved organic competitor discovery for whole domains. Preserves target, locale and source date. Discovery does not pin rivals or start provider work. Sorts all saved rows before paging, with missing values last in either direction. Omitted sort preserves source order; use --sort=-shared for descending counts. Keep --run-id and sort fixed when paging.", run: (input) => showSeoCompetitors(project2(input), competitorSelection(input), input.format) },
703
+ { path: ["seo", "keyword-gaps"], usage: "canonry seo keyword-gaps <project> [--profile-id <id>] [--run-id <id>] [--kind shared|missing|outranked] [--sort=keyword|-keyword|kind|-kind|target-rank|-target-rank|competitor-rank|-competitor-rank|rank-gap|-rank-gap|volume|-volume] [--limit <n>] [--offset <n>] [--format json]", access: "stored", options: gapOptions, help: "Read saved whole-domain organic search comparisons. shared includes searches where both domains rank, including outranked; missing means the source database has a rival rank and no target rank; outranked means the rival ranks higher. Rank gap is target rank minus rival rank, or unavailable without both. Sorts all filtered rows before paging, with missing values last in either direction. Omitted sort preserves source order; use --sort=-volume for descending demand. Reads never start provider work. Preserve --run-id and sort when paging.", run: (input) => showSeoKeywordGaps(project2(input), gapSelection(input), input.format) },
673
704
  {
674
705
  path: ["seo", "market-rankings"],
675
706
  usage: "canonry seo market-rankings <project> [--profile-id <id>] [--run-id <id>] [--market <key>] [--region <key>] [--outcome needs-work|page-1|ranks-11-20|ranks-21-plus|not-ranked|partly-checked|rival-ahead|failed|cancelled] [--search <text>] [--sort=market|rank|-rank|query|-query] [--limit <n>] [--offset <n>] [--format json]",
@@ -696,7 +727,7 @@ var DEMO_CLI_COMMANDS = [{
696
727
  options: { host: stringOption(), port: stringOption(), "trust-proxy": multiStringOption() },
697
728
  allowPositionals: false,
698
729
  run: async (input) => {
699
- const { demoCommand } = await import("./demo-5CU3JDHC.js");
730
+ const { demoCommand } = await import("./demo-7XH2N65A.js");
700
731
  await demoCommand({
701
732
  host: getString(input.values, "host"),
702
733
  port: getString(input.values, "port"),
@@ -717,7 +748,7 @@ var BACKFILL_CLI_COMMANDS = [
717
748
  allowPositionals: false,
718
749
  supportsDryRun: true,
719
750
  run: async (input) => {
720
- const { backfillAnswerVisibilityCommand } = await import("./backfill-PASKIVGP.js");
751
+ const { backfillAnswerVisibilityCommand } = await import("./backfill-LU2AQIPY.js");
721
752
  await backfillAnswerVisibilityCommand({
722
753
  project: getString(input.values, "project"),
723
754
  dryRun: input.dryRun,
@@ -734,7 +765,7 @@ var BACKFILL_CLI_COMMANDS = [
734
765
  allowPositionals: false,
735
766
  supportsDryRun: true,
736
767
  run: async (input) => {
737
- const { backfillAnswerMentionsCommand } = await import("./backfill-PASKIVGP.js");
768
+ const { backfillAnswerMentionsCommand } = await import("./backfill-LU2AQIPY.js");
738
769
  await backfillAnswerMentionsCommand({
739
770
  project: getString(input.values, "project"),
740
771
  dryRun: input.dryRun,
@@ -752,7 +783,7 @@ var BACKFILL_CLI_COMMANDS = [
752
783
  },
753
784
  supportsDryRun: true,
754
785
  run: async (input) => {
755
- const { backfillInsightsCommand } = await import("./backfill-PASKIVGP.js");
786
+ const { backfillInsightsCommand } = await import("./backfill-LU2AQIPY.js");
756
787
  const usage = "canonry backfill insights <project> [--from-run <id>] [--to-run <id>] [--since <date>] [--dry-run] [--format json]";
757
788
  const project3 = requireProject(input, "backfill insights", usage);
758
789
  await backfillInsightsCommand(project3, {
@@ -772,7 +803,7 @@ var BACKFILL_CLI_COMMANDS = [
772
803
  },
773
804
  allowPositionals: false,
774
805
  run: async (input) => {
775
- const { backfillNormalizedPathsCommand } = await import("./backfill-PASKIVGP.js");
806
+ const { backfillNormalizedPathsCommand } = await import("./backfill-LU2AQIPY.js");
776
807
  await backfillNormalizedPathsCommand({
777
808
  project: getString(input.values, "project"),
778
809
  format: input.format
@@ -787,7 +818,7 @@ var BACKFILL_CLI_COMMANDS = [
787
818
  },
788
819
  allowPositionals: false,
789
820
  run: async (input) => {
790
- const { backfillAiReferralPathsCommand } = await import("./backfill-PASKIVGP.js");
821
+ const { backfillAiReferralPathsCommand } = await import("./backfill-LU2AQIPY.js");
791
822
  await backfillAiReferralPathsCommand({
792
823
  project: getString(input.values, "project"),
793
824
  format: input.format
@@ -799,7 +830,7 @@ var BACKFILL_CLI_COMMANDS = [
799
830
  usage: "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]",
800
831
  supportsDryRun: true,
801
832
  run: async (input) => {
802
- const { backfillSnapshotAttributionCommand } = await import("./backfill-PASKIVGP.js");
833
+ const { backfillSnapshotAttributionCommand } = await import("./backfill-LU2AQIPY.js");
803
834
  const usage = "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]";
804
835
  const project3 = requireProject(input, "backfill snapshot-attribution", usage);
805
836
  await backfillSnapshotAttributionCommand({
@@ -818,7 +849,7 @@ var BACKFILL_CLI_COMMANDS = [
818
849
  allowPositionals: false,
819
850
  supportsDryRun: true,
820
851
  run: async (input) => {
821
- const { backfillTrafficClassificationCommand } = await import("./backfill-PASKIVGP.js");
852
+ const { backfillTrafficClassificationCommand } = await import("./backfill-LU2AQIPY.js");
822
853
  await backfillTrafficClassificationCommand({
823
854
  project: getString(input.values, "project"),
824
855
  dryRun: input.dryRun,
@@ -846,7 +877,7 @@ var BACKLINKS_CLI_COMMANDS = [
846
877
  usage: "canonry backlinks install [--format json]",
847
878
  options: {},
848
879
  run: async (input) => {
849
- const { backlinksInstall } = await import("./backlinks-TICPC323.js");
880
+ const { backlinksInstall } = await import("./backlinks-NAC2373F.js");
850
881
  await backlinksInstall({ format: input.format });
851
882
  }
852
883
  },
@@ -855,7 +886,7 @@ var BACKLINKS_CLI_COMMANDS = [
855
886
  usage: "canonry backlinks doctor [--format json]",
856
887
  options: {},
857
888
  run: async (input) => {
858
- const { backlinksDoctor } = await import("./backlinks-TICPC323.js");
889
+ const { backlinksDoctor } = await import("./backlinks-NAC2373F.js");
859
890
  await backlinksDoctor({ format: input.format });
860
891
  }
861
892
  },
@@ -867,7 +898,7 @@ var BACKLINKS_CLI_COMMANDS = [
867
898
  wait: { type: "boolean" }
868
899
  },
869
900
  run: async (input) => {
870
- const { backlinksSync } = await import("./backlinks-TICPC323.js");
901
+ const { backlinksSync } = await import("./backlinks-NAC2373F.js");
871
902
  await backlinksSync({
872
903
  release: getString(input.values, "release"),
873
904
  wait: getBoolean(input.values, "wait"),
@@ -880,7 +911,7 @@ var BACKLINKS_CLI_COMMANDS = [
880
911
  usage: "canonry backlinks status [--format json]",
881
912
  options: {},
882
913
  run: async (input) => {
883
- const { backlinksStatus } = await import("./backlinks-TICPC323.js");
914
+ const { backlinksStatus } = await import("./backlinks-NAC2373F.js");
884
915
  await backlinksStatus({ format: input.format });
885
916
  }
886
917
  },
@@ -894,7 +925,7 @@ var BACKLINKS_CLI_COMMANDS = [
894
925
  "exclude-crawlers": { type: "boolean" }
895
926
  },
896
927
  run: async (input) => {
897
- const { backlinksList, parseSourceFlag } = await import("./backlinks-TICPC323.js");
928
+ const { backlinksList, parseSourceFlag } = await import("./backlinks-NAC2373F.js");
898
929
  const project3 = requireProject(
899
930
  input,
900
931
  "backlinks list",
@@ -922,7 +953,7 @@ var BACKLINKS_CLI_COMMANDS = [
922
953
  "exclude-crawlers": { type: "boolean" }
923
954
  },
924
955
  run: async (input) => {
925
- const { backlinksSources } = await import("./backlinks-TICPC323.js");
956
+ const { backlinksSources } = await import("./backlinks-NAC2373F.js");
926
957
  const project3 = requireProject(
927
958
  input,
928
959
  "backlinks sources",
@@ -940,7 +971,7 @@ var BACKLINKS_CLI_COMMANDS = [
940
971
  usage: "canonry backlinks releases [--format json]",
941
972
  options: {},
942
973
  run: async (input) => {
943
- const { backlinksReleases } = await import("./backlinks-TICPC323.js");
974
+ const { backlinksReleases } = await import("./backlinks-NAC2373F.js");
944
975
  await backlinksReleases({ format: input.format });
945
976
  }
946
977
  },
@@ -949,7 +980,7 @@ var BACKLINKS_CLI_COMMANDS = [
949
980
  usage: "canonry backlinks releases latest [--format json]",
950
981
  options: {},
951
982
  run: async (input) => {
952
- const { backlinksLatestRelease } = await import("./backlinks-TICPC323.js");
983
+ const { backlinksLatestRelease } = await import("./backlinks-NAC2373F.js");
953
984
  await backlinksLatestRelease({ format: input.format });
954
985
  }
955
986
  },
@@ -961,7 +992,7 @@ var BACKLINKS_CLI_COMMANDS = [
961
992
  wait: { type: "boolean" }
962
993
  },
963
994
  run: async (input) => {
964
- const { backlinksExtract } = await import("./backlinks-TICPC323.js");
995
+ const { backlinksExtract } = await import("./backlinks-NAC2373F.js");
965
996
  const project3 = requireProject(
966
997
  input,
967
998
  "backlinks extract",
@@ -982,7 +1013,7 @@ var BACKLINKS_CLI_COMMANDS = [
982
1013
  release: stringOption()
983
1014
  },
984
1015
  run: async (input) => {
985
- const { backlinksCachePrune } = await import("./backlinks-TICPC323.js");
1016
+ const { backlinksCachePrune } = await import("./backlinks-NAC2373F.js");
986
1017
  const release = requireStringOption(input, "release", {
987
1018
  message: "--release is required",
988
1019
  usage: "canonry backlinks cache prune --release <id>",
@@ -1005,7 +1036,7 @@ var BING_CLI_COMMANDS = [
1005
1036
  "api-key": stringOption()
1006
1037
  },
1007
1038
  run: async (input) => {
1008
- const { bingConnect } = await import("./bing-MC7TSL4E.js");
1039
+ const { bingConnect } = await import("./bing-L3LDBJOC.js");
1009
1040
  const project3 = requireProject(input, "bing.connect", "canonry bing connect <project> [--api-key <key>] [--format json]");
1010
1041
  await bingConnect(project3, {
1011
1042
  apiKey: getString(input.values, "api-key"),
@@ -1017,7 +1048,7 @@ var BING_CLI_COMMANDS = [
1017
1048
  path: ["bing", "disconnect"],
1018
1049
  usage: "canonry bing disconnect <project> [--format json]",
1019
1050
  run: async (input) => {
1020
- const { bingDisconnect } = await import("./bing-MC7TSL4E.js");
1051
+ const { bingDisconnect } = await import("./bing-L3LDBJOC.js");
1021
1052
  const project3 = requireProject(input, "bing.disconnect", "canonry bing disconnect <project> [--format json]");
1022
1053
  await bingDisconnect(project3, input.format);
1023
1054
  }
@@ -1026,7 +1057,7 @@ var BING_CLI_COMMANDS = [
1026
1057
  path: ["bing", "status"],
1027
1058
  usage: "canonry bing status <project> [--format json]",
1028
1059
  run: async (input) => {
1029
- const { bingStatus } = await import("./bing-MC7TSL4E.js");
1060
+ const { bingStatus } = await import("./bing-L3LDBJOC.js");
1030
1061
  const project3 = requireProject(input, "bing.status", "canonry bing status <project> [--format json]");
1031
1062
  await bingStatus(project3, input.format);
1032
1063
  }
@@ -1035,7 +1066,7 @@ var BING_CLI_COMMANDS = [
1035
1066
  path: ["bing", "sites"],
1036
1067
  usage: "canonry bing sites <project> [--format json]",
1037
1068
  run: async (input) => {
1038
- const { bingSites } = await import("./bing-MC7TSL4E.js");
1069
+ const { bingSites } = await import("./bing-L3LDBJOC.js");
1039
1070
  const project3 = requireProject(input, "bing.sites", "canonry bing sites <project> [--format json]");
1040
1071
  await bingSites(project3, input.format);
1041
1072
  }
@@ -1044,7 +1075,7 @@ var BING_CLI_COMMANDS = [
1044
1075
  path: ["bing", "set-site"],
1045
1076
  usage: "canonry bing set-site <project> <url> [--format json]",
1046
1077
  run: async (input) => {
1047
- const { bingSetSite } = await import("./bing-MC7TSL4E.js");
1078
+ const { bingSetSite } = await import("./bing-L3LDBJOC.js");
1048
1079
  const project3 = requireProject(input, "bing.set-site", "canonry bing set-site <project> <url> [--format json]");
1049
1080
  const siteUrl = requirePositional(input, 1, {
1050
1081
  command: "bing.set-site",
@@ -1059,7 +1090,7 @@ var BING_CLI_COMMANDS = [
1059
1090
  usage: "canonry bing coverage-history <project> [--limit <n>] [--format json]",
1060
1091
  options: { limit: stringOption() },
1061
1092
  run: async (input) => {
1062
- const { bingCoverageHistory } = await import("./bing-MC7TSL4E.js");
1093
+ const { bingCoverageHistory } = await import("./bing-L3LDBJOC.js");
1063
1094
  const project3 = requireProject(input, "bing.coverage-history", "canonry bing coverage-history <project> [--limit <n>] [--format json]");
1064
1095
  await bingCoverageHistory(project3, {
1065
1096
  limit: parseIntegerOption(input, "limit", {
@@ -1075,7 +1106,7 @@ var BING_CLI_COMMANDS = [
1075
1106
  path: ["bing", "coverage"],
1076
1107
  usage: "canonry bing coverage <project> [--format json]",
1077
1108
  run: async (input) => {
1078
- const { bingCoverage } = await import("./bing-MC7TSL4E.js");
1109
+ const { bingCoverage } = await import("./bing-L3LDBJOC.js");
1079
1110
  const project3 = requireProject(input, "bing.coverage", "canonry bing coverage <project> [--format json]");
1080
1111
  await bingCoverage(project3, input.format);
1081
1112
  }
@@ -1084,7 +1115,7 @@ var BING_CLI_COMMANDS = [
1084
1115
  path: ["bing", "inspect"],
1085
1116
  usage: "canonry bing inspect <project> <url> [--format json]",
1086
1117
  run: async (input) => {
1087
- const { bingInspect } = await import("./bing-MC7TSL4E.js");
1118
+ const { bingInspect } = await import("./bing-L3LDBJOC.js");
1088
1119
  const project3 = requireProject(input, "bing.inspect", "canonry bing inspect <project> <url> [--format json]");
1089
1120
  const url = requirePositional(input, 1, {
1090
1121
  command: "bing.inspect",
@@ -1101,7 +1132,7 @@ var BING_CLI_COMMANDS = [
1101
1132
  url: stringOption()
1102
1133
  },
1103
1134
  run: async (input) => {
1104
- const { bingInspections } = await import("./bing-MC7TSL4E.js");
1135
+ const { bingInspections } = await import("./bing-L3LDBJOC.js");
1105
1136
  const project3 = requireProject(input, "bing.inspections", "canonry bing inspections <project> [--url <url>] [--format json]");
1106
1137
  await bingInspections(project3, {
1107
1138
  url: getString(input.values, "url"),
@@ -1117,7 +1148,7 @@ var BING_CLI_COMMANDS = [
1117
1148
  wait: { type: "boolean", default: false }
1118
1149
  },
1119
1150
  run: async (input) => {
1120
- const { bingInspectSitemap } = await import("./bing-MC7TSL4E.js");
1151
+ const { bingInspectSitemap } = await import("./bing-L3LDBJOC.js");
1121
1152
  const project3 = requireProject(input, "bing.inspect-sitemap", "canonry bing inspect-sitemap <project> [--sitemap-url <url>] [--wait] [--format json]");
1122
1153
  await bingInspectSitemap(project3, {
1123
1154
  sitemapUrl: getString(input.values, "sitemap-url"),
@@ -1133,7 +1164,7 @@ var BING_CLI_COMMANDS = [
1133
1164
  "all-unindexed": { type: "boolean", default: false }
1134
1165
  },
1135
1166
  run: async (input) => {
1136
- const { bingRequestIndexing } = await import("./bing-MC7TSL4E.js");
1167
+ const { bingRequestIndexing } = await import("./bing-L3LDBJOC.js");
1137
1168
  const project3 = requireProject(input, "bing.request-indexing", "canonry bing request-indexing <project> [url] [--all-unindexed] [--format json]");
1138
1169
  const url = input.positionals[1];
1139
1170
  const allUnindexed = getBoolean(input.values, "all-unindexed");
@@ -1157,7 +1188,7 @@ var BING_CLI_COMMANDS = [
1157
1188
  path: ["bing", "performance"],
1158
1189
  usage: "canonry bing performance <project> [--format json]",
1159
1190
  run: async (input) => {
1160
- const { bingPerformance } = await import("./bing-MC7TSL4E.js");
1191
+ const { bingPerformance } = await import("./bing-L3LDBJOC.js");
1161
1192
  const project3 = requireProject(input, "bing.performance", "canonry bing performance <project> [--format json]");
1162
1193
  await bingPerformance(project3, input.format);
1163
1194
  }
@@ -1166,7 +1197,7 @@ var BING_CLI_COMMANDS = [
1166
1197
  path: ["bing", "refresh"],
1167
1198
  usage: "canonry bing refresh <project> [--format json]",
1168
1199
  run: async (input) => {
1169
- const { bingRefresh } = await import("./bing-MC7TSL4E.js");
1200
+ const { bingRefresh } = await import("./bing-L3LDBJOC.js");
1170
1201
  const project3 = requireProject(input, "bing.refresh", "canonry bing refresh <project> [--format json]");
1171
1202
  await bingRefresh(project3, input.format);
1172
1203
  }
@@ -1195,7 +1226,7 @@ var CDP_CLI_COMMANDS = [
1195
1226
  },
1196
1227
  allowPositionals: false,
1197
1228
  run: async (input) => {
1198
- const { cdpConnect } = await import("./cdp-TCJKITCR.js");
1229
+ const { cdpConnect } = await import("./cdp-4F74XLTH.js");
1199
1230
  await cdpConnect({
1200
1231
  host: getString(input.values, "host"),
1201
1232
  port: getString(input.values, "port"),
@@ -1208,7 +1239,7 @@ var CDP_CLI_COMMANDS = [
1208
1239
  usage: "canonry cdp status [--format json]",
1209
1240
  allowPositionals: false,
1210
1241
  run: async (input) => {
1211
- const { cdpStatus } = await import("./cdp-TCJKITCR.js");
1242
+ const { cdpStatus } = await import("./cdp-4F74XLTH.js");
1212
1243
  await cdpStatus(input.format);
1213
1244
  }
1214
1245
  },
@@ -1217,7 +1248,7 @@ var CDP_CLI_COMMANDS = [
1217
1248
  usage: "canonry cdp targets [--format json]",
1218
1249
  allowPositionals: false,
1219
1250
  run: async (input) => {
1220
- const { cdpTargets } = await import("./cdp-TCJKITCR.js");
1251
+ const { cdpTargets } = await import("./cdp-4F74XLTH.js");
1221
1252
  await cdpTargets(input.format);
1222
1253
  }
1223
1254
  },
@@ -1228,7 +1259,7 @@ var CDP_CLI_COMMANDS = [
1228
1259
  targets: stringOption()
1229
1260
  },
1230
1261
  run: async (input) => {
1231
- const { cdpScreenshot } = await import("./cdp-TCJKITCR.js");
1262
+ const { cdpScreenshot } = await import("./cdp-4F74XLTH.js");
1232
1263
  const query = requirePositional(input, 0, {
1233
1264
  command: "cdp.screenshot",
1234
1265
  usage: "canonry cdp screenshot <query> [--targets <list>] [--format json]",
@@ -1260,7 +1291,7 @@ var DASHBOARD_CLI_COMMANDS = [
1260
1291
  usage: "canonry dashboard reset-password [--format json]",
1261
1292
  help: "Clears the dashboard password from config.yaml, so the dashboard asks for a new one after a restart.\nLocal only: it edits the config file under CANONRY_CONFIG_DIR and does not call the server.",
1262
1293
  run: async (input) => {
1263
- const { resetDashboardPassword } = await import("./dashboard-UGZSSIWK.js");
1294
+ const { resetDashboardPassword } = await import("./dashboard-EE24ROVG.js");
1264
1295
  await resetDashboardPassword({ format: input.format });
1265
1296
  }
1266
1297
  },
@@ -1376,7 +1407,7 @@ var DISCOVER_CLI_COMMANDS = [
1376
1407
  wait: { type: "boolean", default: false }
1377
1408
  },
1378
1409
  run: async (input) => {
1379
- const { discoverRun } = await import("./discover-R5BYAPOU.js");
1410
+ const { discoverRun } = await import("./discover-3KHUCVE7.js");
1380
1411
  const usage = 'canonry discover run <project> [--icp "..."] [--buyer "..."] [--seed-provider gemini --seed-provider openai] [--icp-angle "..."] [--locations michigan,florida] [--dedup-threshold 0.95] [--max-probes 100] [--probe-concurrency 3] [--wait] [--format json]';
1381
1412
  const project3 = requireProject(input, "discover.run", usage);
1382
1413
  await discoverRun(project3, {
@@ -1413,7 +1444,7 @@ var DISCOVER_CLI_COMMANDS = [
1413
1444
  "probe-concurrency": stringOption()
1414
1445
  },
1415
1446
  run: async (input) => {
1416
- const { discoverEval } = await import("./discover-eval-3FA4BR2L.js");
1447
+ const { discoverEval } = await import("./discover-eval-DOEP4ZQ7.js");
1417
1448
  const usage = "canonry discover eval [--baseline <path>] [--update-baseline] [--shape eval-b2b-saas ...] [--seed-provider gemini --seed-provider openai] [--max-probes 2] [--probe-concurrency 2] [--format json]";
1418
1449
  await discoverEval({
1419
1450
  baseline: getString(input.values, "baseline"),
@@ -1449,7 +1480,7 @@ var DISCOVER_CLI_COMMANDS = [
1449
1480
  wait: { type: "boolean", default: false }
1450
1481
  },
1451
1482
  run: async (input) => {
1452
- const { discoverSeed } = await import("./discover-R5BYAPOU.js");
1483
+ const { discoverSeed } = await import("./discover-3KHUCVE7.js");
1453
1484
  const usage = 'canonry discover seed <project> [--icp "..."] [--buyer "..."] [--seed-provider gemini --seed-provider openai] [--icp-angle "..."] [--locations michigan,florida] [--dedup-threshold 0.95] [--max-probes 100] [--probe-concurrency 3] [--wait] [--format json]';
1454
1485
  const project3 = requireProject(input, "discover.seed", usage);
1455
1486
  await discoverSeed(project3, {
@@ -1478,7 +1509,7 @@ var DISCOVER_CLI_COMMANDS = [
1478
1509
  path: ["discover", "probe"],
1479
1510
  usage: "canonry discover probe <project> <session-id> [--format json]",
1480
1511
  run: async (input) => {
1481
- const { discoverProbe } = await import("./discover-R5BYAPOU.js");
1512
+ const { discoverProbe } = await import("./discover-3KHUCVE7.js");
1482
1513
  const project3 = requireProject(
1483
1514
  input,
1484
1515
  "discover.probe",
@@ -1499,7 +1530,7 @@ var DISCOVER_CLI_COMMANDS = [
1499
1530
  limit: stringOption()
1500
1531
  },
1501
1532
  run: async (input) => {
1502
- const { discoverList } = await import("./discover-R5BYAPOU.js");
1533
+ const { discoverList } = await import("./discover-3KHUCVE7.js");
1503
1534
  const project3 = requireProject(
1504
1535
  input,
1505
1536
  "discover.list",
@@ -1519,7 +1550,7 @@ var DISCOVER_CLI_COMMANDS = [
1519
1550
  path: ["discover", "show"],
1520
1551
  usage: "canonry discover show <project> <session-id> [--format json]",
1521
1552
  run: async (input) => {
1522
- const { discoverShow } = await import("./discover-R5BYAPOU.js");
1553
+ const { discoverShow } = await import("./discover-3KHUCVE7.js");
1523
1554
  const project3 = requireProject(
1524
1555
  input,
1525
1556
  "discover.show",
@@ -1542,7 +1573,7 @@ var DISCOVER_CLI_COMMANDS = [
1542
1573
  "no-competitors": { type: "boolean", default: false }
1543
1574
  },
1544
1575
  run: async (input) => {
1545
- const { discoverPromote } = await import("./discover-R5BYAPOU.js");
1576
+ const { discoverPromote } = await import("./discover-3KHUCVE7.js");
1546
1577
  const usage = "canonry discover promote <project> <session-id> [--bucket cited,aspirational,wasted-surface] [--competitor-types direct-competitor,editorial-media] [--no-competitors] [--format json]";
1547
1578
  const project3 = requireProject(input, "discover.promote", usage);
1548
1579
  const sessionId = requirePositional(input, 1, {
@@ -1566,7 +1597,7 @@ var DISCOVER_CLI_COMMANDS = [
1566
1597
  "no-anchor": { type: "boolean", default: false }
1567
1598
  },
1568
1599
  run: async (input) => {
1569
- const { discoverHarvest } = await import("./discover-R5BYAPOU.js");
1600
+ const { discoverHarvest } = await import("./discover-3KHUCVE7.js");
1570
1601
  const usage = "canonry discover harvest <project> <session-id> [--min-probe-hits <n>] [--no-anchor] [--format json|jsonl]";
1571
1602
  const project3 = requireProject(input, "discover.harvest", usage);
1572
1603
  const sessionId = requirePositional(input, 1, {
@@ -1589,7 +1620,7 @@ var DISCOVER_CLI_COMMANDS = [
1589
1620
  path: ["discover", "promote", "preview"],
1590
1621
  usage: "canonry discover promote preview <project> <session-id> [--format json]",
1591
1622
  run: async (input) => {
1592
- const { discoverPromotePreview } = await import("./discover-R5BYAPOU.js");
1623
+ const { discoverPromotePreview } = await import("./discover-3KHUCVE7.js");
1593
1624
  const project3 = requireProject(
1594
1625
  input,
1595
1626
  "discover.promote.preview",
@@ -1690,7 +1721,7 @@ var RESEARCH_CLI_COMMANDS = [
1690
1721
  usage: BATCH_USAGE,
1691
1722
  options: { wait: { type: "boolean", default: false } },
1692
1723
  run: async (input) => {
1693
- const { researchBatch } = await import("./research-4DASCVGY.js");
1724
+ const { researchBatch } = await import("./research-7G5JU44N.js");
1694
1725
  const project3 = requireProject(input, "research.batch", BATCH_USAGE);
1695
1726
  const source = requirePositional(input, 1, {
1696
1727
  command: "research.batch",
@@ -1717,7 +1748,7 @@ var RESEARCH_CLI_COMMANDS = [
1717
1748
  wait: { type: "boolean", default: false }
1718
1749
  },
1719
1750
  run: async (input) => {
1720
- const { researchRun } = await import("./research-4DASCVGY.js");
1751
+ const { researchRun } = await import("./research-7G5JU44N.js");
1721
1752
  const project3 = requireProject(input, "research.run", RUN_USAGE);
1722
1753
  const provider = getString(input.values, "provider")?.trim() || void 0;
1723
1754
  const model = getString(input.values, "model")?.trim() || void 0;
@@ -1746,7 +1777,7 @@ Usage: ${RUN_USAGE}`, {
1746
1777
  usage: "canonry research list <project> [--limit <n>] [--cursor <cursor>] [--format json|jsonl]",
1747
1778
  options: { limit: stringOption(), cursor: stringOption() },
1748
1779
  run: async (input) => {
1749
- const { researchList } = await import("./research-4DASCVGY.js");
1780
+ const { researchList } = await import("./research-7G5JU44N.js");
1750
1781
  const usage = "canonry research list <project> [--limit <n>] [--cursor <cursor>] [--format json|jsonl]";
1751
1782
  const project3 = requireProject(input, "research.list", usage);
1752
1783
  await researchList(project3, {
@@ -1760,7 +1791,7 @@ Usage: ${RUN_USAGE}`, {
1760
1791
  path: ["research", "show"],
1761
1792
  usage: "canonry research show <project> <run-id> [--format json|jsonl]",
1762
1793
  run: async (input) => {
1763
- const { researchShow } = await import("./research-4DASCVGY.js");
1794
+ const { researchShow } = await import("./research-7G5JU44N.js");
1764
1795
  const usage = "canonry research show <project> <run-id> [--format json|jsonl]";
1765
1796
  const project3 = requireProject(input, "research.show", usage);
1766
1797
  const runId = requirePositional(input, 1, { command: "research.show", usage, message: "research run ID is required" });
@@ -1783,7 +1814,7 @@ var DOCTOR_CLI_COMMANDS = [
1783
1814
  },
1784
1815
  allowPositionals: false,
1785
1816
  run: async (input) => {
1786
- const { doctorCommand } = await import("./doctor-2Q5LVV2P.js");
1817
+ const { doctorCommand } = await import("./doctor-3T6RKSE7.js");
1787
1818
  await doctorCommand({
1788
1819
  project: getString(input.values, "project"),
1789
1820
  reportMonth: getString(input.values, "report-month"),
@@ -1804,7 +1835,7 @@ var ADS_CLI_COMMANDS = [
1804
1835
  "api-key": stringOption()
1805
1836
  },
1806
1837
  run: async (input) => {
1807
- const { adsConnect } = await import("./ads-M6IAQDG7.js");
1838
+ const { adsConnect } = await import("./ads-MIR5MCHL.js");
1808
1839
  const project3 = requireProject(input, "ads.connect", "canonry ads connect <project> --api-key <sdk-key> [--format json]");
1809
1840
  await adsConnect(project3, {
1810
1841
  apiKey: getString(input.values, "api-key"),
@@ -1816,7 +1847,7 @@ var ADS_CLI_COMMANDS = [
1816
1847
  path: ["ads", "disconnect"],
1817
1848
  usage: "canonry ads disconnect <project> [--format json]",
1818
1849
  run: async (input) => {
1819
- const { adsDisconnect } = await import("./ads-M6IAQDG7.js");
1850
+ const { adsDisconnect } = await import("./ads-MIR5MCHL.js");
1820
1851
  const project3 = requireProject(input, "ads.disconnect", "canonry ads disconnect <project> [--format json]");
1821
1852
  await adsDisconnect(project3, { format: input.format });
1822
1853
  }
@@ -1825,7 +1856,7 @@ var ADS_CLI_COMMANDS = [
1825
1856
  path: ["ads", "status"],
1826
1857
  usage: "canonry ads status <project> [--format json]",
1827
1858
  run: async (input) => {
1828
- const { adsStatus } = await import("./ads-M6IAQDG7.js");
1859
+ const { adsStatus } = await import("./ads-MIR5MCHL.js");
1829
1860
  const project3 = requireProject(input, "ads.status", "canonry ads status <project> [--format json]");
1830
1861
  await adsStatus(project3, { format: input.format });
1831
1862
  }
@@ -1834,7 +1865,7 @@ var ADS_CLI_COMMANDS = [
1834
1865
  path: ["ads", "account"],
1835
1866
  usage: "canonry ads account <project> [--format json]",
1836
1867
  run: async (input) => {
1837
- const { adsAccount } = await import("./ads-M6IAQDG7.js");
1868
+ const { adsAccount } = await import("./ads-MIR5MCHL.js");
1838
1869
  const project3 = requireProject(input, "ads.account", "canonry ads account <project> [--format json]");
1839
1870
  await adsAccount(project3, { format: input.format });
1840
1871
  }
@@ -1847,7 +1878,7 @@ var ADS_CLI_COMMANDS = [
1847
1878
  limit: stringOption()
1848
1879
  },
1849
1880
  run: async (input) => {
1850
- const { adsGeoSearch } = await import("./ads-M6IAQDG7.js");
1881
+ const { adsGeoSearch } = await import("./ads-MIR5MCHL.js");
1851
1882
  const usage = "canonry ads geo search <project> --query <text> [--limit <n>] [--format json|jsonl]";
1852
1883
  const project3 = requireProject(input, "ads.geo.search", usage);
1853
1884
  await adsGeoSearch(project3, {
@@ -1865,7 +1896,7 @@ var ADS_CLI_COMMANDS = [
1865
1896
  path: ["ads", "conversions", "pixels"],
1866
1897
  usage: "canonry ads conversions pixels <project> [--format json|jsonl]",
1867
1898
  run: async (input) => {
1868
- const { adsConversionPixels } = await import("./ads-M6IAQDG7.js");
1899
+ const { adsConversionPixels } = await import("./ads-MIR5MCHL.js");
1869
1900
  const project3 = requireProject(input, "ads.conversions.pixels", "canonry ads conversions pixels <project> [--format json|jsonl]");
1870
1901
  await adsConversionPixels(project3, { format: input.format });
1871
1902
  }
@@ -1874,7 +1905,7 @@ var ADS_CLI_COMMANDS = [
1874
1905
  path: ["ads", "conversions", "event-settings"],
1875
1906
  usage: "canonry ads conversions event-settings <project> [--format json|jsonl]",
1876
1907
  run: async (input) => {
1877
- const { adsConversionEventSettings } = await import("./ads-M6IAQDG7.js");
1908
+ const { adsConversionEventSettings } = await import("./ads-MIR5MCHL.js");
1878
1909
  const project3 = requireProject(input, "ads.conversions.event-settings", "canonry ads conversions event-settings <project> [--format json|jsonl]");
1879
1910
  await adsConversionEventSettings(project3, { format: input.format });
1880
1911
  }
@@ -1888,7 +1919,7 @@ var ADS_CLI_COMMANDS = [
1888
1919
  cursor: stringOption()
1889
1920
  },
1890
1921
  run: async (input) => {
1891
- const { adsOperationsUnresolved } = await import("./ads-M6IAQDG7.js");
1922
+ const { adsOperationsUnresolved } = await import("./ads-MIR5MCHL.js");
1892
1923
  const usage = "canonry ads operations unresolved <project> [--state <csv>] [--limit <n>] [--cursor <opaque>] [--format json|jsonl]";
1893
1924
  const project3 = requireProject(
1894
1925
  input,
@@ -1920,7 +1951,7 @@ Usage: ${usage}`, {
1920
1951
  path: ["ads", "operation"],
1921
1952
  usage: "canonry ads operation <project> <operation-key> [--format json]",
1922
1953
  run: async (input) => {
1923
- const { adsOperationGet } = await import("./ads-M6IAQDG7.js");
1954
+ const { adsOperationGet } = await import("./ads-MIR5MCHL.js");
1924
1955
  const usage = "canonry ads operation <project> <operation-key> [--format json]";
1925
1956
  const project3 = requireProject(input, "ads.operation", usage);
1926
1957
  const operationKey = requirePositional(input, 1, {
@@ -1938,7 +1969,7 @@ Usage: ${usage}`, {
1938
1969
  "operation-key": stringOption()
1939
1970
  },
1940
1971
  run: async (input) => {
1941
- const { adsOperationReconcile } = await import("./ads-M6IAQDG7.js");
1972
+ const { adsOperationReconcile } = await import("./ads-MIR5MCHL.js");
1942
1973
  const usage = "canonry ads operation reconcile <project> --operation-key <key> [--format json]";
1943
1974
  const project3 = requireProject(input, "ads.operation.reconcile", usage);
1944
1975
  const operationKey = requireStringOption(input, "operation-key", {
@@ -1957,7 +1988,7 @@ Usage: ${usage}`, {
1957
1988
  usage: "canonry ads operation resume-activation <project> --operation-key <key> [--format json]",
1958
1989
  options: { "operation-key": stringOption() },
1959
1990
  run: async (input) => {
1960
- const { adsOperationResumeActivation } = await import("./ads-M6IAQDG7.js");
1991
+ const { adsOperationResumeActivation } = await import("./ads-MIR5MCHL.js");
1961
1992
  const usage = "canonry ads operation resume-activation <project> --operation-key <key> [--format json]";
1962
1993
  const project3 = requireProject(input, "ads.operation.resume-activation", usage);
1963
1994
  await adsOperationResumeActivation(project3, {
@@ -1975,7 +2006,7 @@ Usage: ${usage}`, {
1975
2006
  usage: "canonry ads activation-grant create <project> --input <json-file|-> [--format json]",
1976
2007
  options: { input: stringOption() },
1977
2008
  run: async (input) => {
1978
- const { adsActivationGrantCreate } = await import("./ads-M6IAQDG7.js");
2009
+ const { adsActivationGrantCreate } = await import("./ads-MIR5MCHL.js");
1979
2010
  const usage = "canonry ads activation-grant create <project> --input <json-file|-> [--format json]";
1980
2011
  const project3 = requireProject(input, "ads.activation-grant.create", usage);
1981
2012
  await adsActivationGrantCreate(project3, {
@@ -1988,7 +2019,7 @@ Usage: ${usage}`, {
1988
2019
  path: ["ads", "activation-grant", "revoke"],
1989
2020
  usage: "canonry ads activation-grant revoke <project> <grant-id> [--format json]",
1990
2021
  run: async (input) => {
1991
- const { adsActivationGrantRevoke } = await import("./ads-M6IAQDG7.js");
2022
+ const { adsActivationGrantRevoke } = await import("./ads-MIR5MCHL.js");
1992
2023
  const usage = "canonry ads activation-grant revoke <project> <grant-id> [--format json]";
1993
2024
  const project3 = requireProject(input, "ads.activation-grant.revoke", usage);
1994
2025
  const grantId = requirePositional(input, 1, {
@@ -2004,7 +2035,7 @@ Usage: ${usage}`, {
2004
2035
  usage: "canonry ads image upload <project> --input <json-file|-> [--format json]",
2005
2036
  options: { input: stringOption() },
2006
2037
  run: async (input) => {
2007
- const { adsImageUpload } = await import("./ads-M6IAQDG7.js");
2038
+ const { adsImageUpload } = await import("./ads-MIR5MCHL.js");
2008
2039
  const project3 = requireProject(input, "ads.image.upload", "canonry ads image upload <project> --input <json-file|-> [--format json]");
2009
2040
  await adsImageUpload(project3, { input: getString(input.values, "input"), format: input.format });
2010
2041
  }
@@ -2014,7 +2045,7 @@ Usage: ${usage}`, {
2014
2045
  usage: "canonry ads campaign create <project> --input <json-file|-> [--format json]",
2015
2046
  options: { input: stringOption() },
2016
2047
  run: async (input) => {
2017
- const { adsCampaignCreate } = await import("./ads-M6IAQDG7.js");
2048
+ const { adsCampaignCreate } = await import("./ads-MIR5MCHL.js");
2018
2049
  const project3 = requireProject(input, "ads.campaign.create", "canonry ads campaign create <project> --input <json-file|-> [--format json]");
2019
2050
  await adsCampaignCreate(project3, { input: getString(input.values, "input"), format: input.format });
2020
2051
  }
@@ -2024,7 +2055,7 @@ Usage: ${usage}`, {
2024
2055
  usage: "canonry ads campaign update <project> <campaign-id> --input <json-file|-> [--format json]",
2025
2056
  options: { input: stringOption() },
2026
2057
  run: async (input) => {
2027
- const { adsCampaignUpdate } = await import("./ads-M6IAQDG7.js");
2058
+ const { adsCampaignUpdate } = await import("./ads-MIR5MCHL.js");
2028
2059
  const usage = "canonry ads campaign update <project> <campaign-id> --input <json-file|-> [--format json]";
2029
2060
  const project3 = requireProject(input, "ads.campaign.update", usage);
2030
2061
  const id2 = requirePositional(input, 1, { command: "ads.campaign.update", usage, message: "campaign id is required" });
@@ -2036,7 +2067,7 @@ Usage: ${usage}`, {
2036
2067
  usage: "canonry ads campaign activate-tree <project> <campaign-id> --input <json-file|-> [--format json]",
2037
2068
  options: { input: stringOption() },
2038
2069
  run: async (input) => {
2039
- const { adsCampaignActivateTree } = await import("./ads-M6IAQDG7.js");
2070
+ const { adsCampaignActivateTree } = await import("./ads-MIR5MCHL.js");
2040
2071
  const usage = "canonry ads campaign activate-tree <project> <campaign-id> --input <json-file|-> [--format json]";
2041
2072
  const project3 = requireProject(input, "ads.campaign.activate-tree", usage);
2042
2073
  const id2 = requirePositional(input, 1, {
@@ -2055,7 +2086,7 @@ Usage: ${usage}`, {
2055
2086
  usage: "canonry ads campaign pause <project> <campaign-id> --input <json-file|-> [--format json]",
2056
2087
  options: { input: stringOption() },
2057
2088
  run: async (input) => {
2058
- const { adsCampaignPause } = await import("./ads-M6IAQDG7.js");
2089
+ const { adsCampaignPause } = await import("./ads-MIR5MCHL.js");
2059
2090
  const usage = "canonry ads campaign pause <project> <campaign-id> --input <json-file|-> [--format json]";
2060
2091
  const project3 = requireProject(input, "ads.campaign.pause", usage);
2061
2092
  const id2 = requirePositional(input, 1, { command: "ads.campaign.pause", usage, message: "campaign id is required" });
@@ -2067,7 +2098,7 @@ Usage: ${usage}`, {
2067
2098
  usage: "canonry ads ad-group create <project> --input <json-file|-> [--format json]",
2068
2099
  options: { input: stringOption() },
2069
2100
  run: async (input) => {
2070
- const { adsAdGroupCreate } = await import("./ads-M6IAQDG7.js");
2101
+ const { adsAdGroupCreate } = await import("./ads-MIR5MCHL.js");
2071
2102
  const project3 = requireProject(input, "ads.ad-group.create", "canonry ads ad-group create <project> --input <json-file|-> [--format json]");
2072
2103
  await adsAdGroupCreate(project3, { input: getString(input.values, "input"), format: input.format });
2073
2104
  }
@@ -2077,7 +2108,7 @@ Usage: ${usage}`, {
2077
2108
  usage: "canonry ads ad-group update <project> <ad-group-id> --input <json-file|-> [--format json]",
2078
2109
  options: { input: stringOption() },
2079
2110
  run: async (input) => {
2080
- const { adsAdGroupUpdate } = await import("./ads-M6IAQDG7.js");
2111
+ const { adsAdGroupUpdate } = await import("./ads-MIR5MCHL.js");
2081
2112
  const usage = "canonry ads ad-group update <project> <ad-group-id> --input <json-file|-> [--format json]";
2082
2113
  const project3 = requireProject(input, "ads.ad-group.update", usage);
2083
2114
  const id2 = requirePositional(input, 1, { command: "ads.ad-group.update", usage, message: "ad group id is required" });
@@ -2089,7 +2120,7 @@ Usage: ${usage}`, {
2089
2120
  usage: "canonry ads ad-group pause <project> <ad-group-id> --input <json-file|-> [--format json]",
2090
2121
  options: { input: stringOption() },
2091
2122
  run: async (input) => {
2092
- const { adsAdGroupPause } = await import("./ads-M6IAQDG7.js");
2123
+ const { adsAdGroupPause } = await import("./ads-MIR5MCHL.js");
2093
2124
  const usage = "canonry ads ad-group pause <project> <ad-group-id> --input <json-file|-> [--format json]";
2094
2125
  const project3 = requireProject(input, "ads.ad-group.pause", usage);
2095
2126
  const id2 = requirePositional(input, 1, { command: "ads.ad-group.pause", usage, message: "ad group id is required" });
@@ -2101,7 +2132,7 @@ Usage: ${usage}`, {
2101
2132
  usage: "canonry ads ad create <project> --input <json-file|-> [--format json]",
2102
2133
  options: { input: stringOption() },
2103
2134
  run: async (input) => {
2104
- const { adsAdCreate } = await import("./ads-M6IAQDG7.js");
2135
+ const { adsAdCreate } = await import("./ads-MIR5MCHL.js");
2105
2136
  const project3 = requireProject(input, "ads.ad.create", "canonry ads ad create <project> --input <json-file|-> [--format json]");
2106
2137
  await adsAdCreate(project3, { input: getString(input.values, "input"), format: input.format });
2107
2138
  }
@@ -2111,7 +2142,7 @@ Usage: ${usage}`, {
2111
2142
  usage: "canonry ads ad update <project> <ad-id> --input <json-file|-> [--format json]",
2112
2143
  options: { input: stringOption() },
2113
2144
  run: async (input) => {
2114
- const { adsAdUpdate } = await import("./ads-M6IAQDG7.js");
2145
+ const { adsAdUpdate } = await import("./ads-MIR5MCHL.js");
2115
2146
  const usage = "canonry ads ad update <project> <ad-id> --input <json-file|-> [--format json]";
2116
2147
  const project3 = requireProject(input, "ads.ad.update", usage);
2117
2148
  const id2 = requirePositional(input, 1, { command: "ads.ad.update", usage, message: "ad id is required" });
@@ -2123,7 +2154,7 @@ Usage: ${usage}`, {
2123
2154
  usage: "canonry ads ad pause <project> <ad-id> --input <json-file|-> [--format json]",
2124
2155
  options: { input: stringOption() },
2125
2156
  run: async (input) => {
2126
- const { adsAdPause } = await import("./ads-M6IAQDG7.js");
2157
+ const { adsAdPause } = await import("./ads-MIR5MCHL.js");
2127
2158
  const usage = "canonry ads ad pause <project> <ad-id> --input <json-file|-> [--format json]";
2128
2159
  const project3 = requireProject(input, "ads.ad.pause", usage);
2129
2160
  const id2 = requirePositional(input, 1, { command: "ads.ad.pause", usage, message: "ad id is required" });
@@ -2134,7 +2165,7 @@ Usage: ${usage}`, {
2134
2165
  path: ["ads", "sync"],
2135
2166
  usage: "canonry ads sync <project> [--format json]",
2136
2167
  run: async (input) => {
2137
- const { adsSync } = await import("./ads-M6IAQDG7.js");
2168
+ const { adsSync } = await import("./ads-MIR5MCHL.js");
2138
2169
  const project3 = requireProject(input, "ads.sync", "canonry ads sync <project> [--format json]");
2139
2170
  await adsSync(project3, { format: input.format });
2140
2171
  }
@@ -2143,7 +2174,7 @@ Usage: ${usage}`, {
2143
2174
  path: ["ads", "campaigns"],
2144
2175
  usage: "canonry ads campaigns <project> [--format json|jsonl]",
2145
2176
  run: async (input) => {
2146
- const { adsCampaigns } = await import("./ads-M6IAQDG7.js");
2177
+ const { adsCampaigns } = await import("./ads-MIR5MCHL.js");
2147
2178
  const project3 = requireProject(input, "ads.campaigns", "canonry ads campaigns <project> [--format json|jsonl]");
2148
2179
  await adsCampaigns(project3, { format: input.format });
2149
2180
  }
@@ -2159,7 +2190,7 @@ Usage: ${usage}`, {
2159
2190
  to: stringOption()
2160
2191
  },
2161
2192
  run: async (input) => {
2162
- const { adsInsights } = await import("./ads-M6IAQDG7.js");
2193
+ const { adsInsights } = await import("./ads-MIR5MCHL.js");
2163
2194
  const project3 = requireProject(input, "ads.insights", "canonry ads insights <project> [--level <level>] [--entity <id>] [--from <date>] [--to <date>] [--format json|jsonl]");
2164
2195
  await adsInsights(project3, {
2165
2196
  level: getString(input.values, "level"),
@@ -2174,7 +2205,7 @@ Usage: ${usage}`, {
2174
2205
  path: ["ads", "summary"],
2175
2206
  usage: "canonry ads summary <project> [--format json]",
2176
2207
  run: async (input) => {
2177
- const { adsSummary } = await import("./ads-M6IAQDG7.js");
2208
+ const { adsSummary } = await import("./ads-MIR5MCHL.js");
2178
2209
  const project3 = requireProject(input, "ads.summary", "canonry ads summary <project> [--format json]");
2179
2210
  await adsSummary(project3, { format: input.format });
2180
2211
  }
@@ -2187,7 +2218,7 @@ Usage: ${usage}`, {
2187
2218
  "lookback-days": stringOption()
2188
2219
  },
2189
2220
  run: async (input) => {
2190
- const { adsLiveDelivery } = await import("./ads-M6IAQDG7.js");
2221
+ const { adsLiveDelivery } = await import("./ads-MIR5MCHL.js");
2191
2222
  const usage = "canonry ads live-delivery <project> [--campaign <id>] [--lookback-days <n>] [--format json]";
2192
2223
  const project3 = requireProject(input, "ads.live-delivery", usage);
2193
2224
  await adsLiveDelivery(project3, {
@@ -2205,7 +2236,7 @@ Usage: ${usage}`, {
2205
2236
  path: ["ads", "delivery-diagnostics"],
2206
2237
  usage: "canonry ads delivery-diagnostics <project> [--format json]",
2207
2238
  run: async (input) => {
2208
- const { adsDeliveryDiagnostics } = await import("./ads-M6IAQDG7.js");
2239
+ const { adsDeliveryDiagnostics } = await import("./ads-MIR5MCHL.js");
2209
2240
  const project3 = requireProject(input, "ads.delivery-diagnostics", "canonry ads delivery-diagnostics <project> [--format json]");
2210
2241
  await adsDeliveryDiagnostics(project3, { format: input.format });
2211
2242
  }
@@ -2234,7 +2265,7 @@ var GA_CLI_COMMANDS = [
2234
2265
  help: "Stored GA4 sessions only, with filtered totals independent of grouping and paging. Never calls Google. Meaningful page query parameters remain distinct.",
2235
2266
  options: { ...RANGE_OPTIONS, channel: stringOption(), source: stringOption(), medium: stringOption(), host: stringOption(), "landing-page": stringOption(), "path-prefix": stringOption(), "group-by": stringOption(), limit: stringOption(), offset: stringOption() },
2236
2267
  run: async (input) => {
2237
- const { gaAcquisition } = await import("./ga-PBIWRU67.js");
2268
+ const { gaAcquisition } = await import("./ga-HBRA4UUK.js");
2238
2269
  const project3 = requireProject(input, "ga.acquisition", "canonry ga acquisition <project>");
2239
2270
  const aliases = { channel: "channelGroup", host: "hostName", "landing-page": "landingPage" };
2240
2271
  const groupBy = getString(input.values, "group-by")?.split(",").map((key) => aliases[key.trim()] ?? key.trim()).join(",");
@@ -2251,7 +2282,7 @@ var GA_CLI_COMMANDS = [
2251
2282
  "key-json": stringOption()
2252
2283
  },
2253
2284
  run: async (input) => {
2254
- const { gaConnect } = await import("./ga-PBIWRU67.js");
2285
+ const { gaConnect } = await import("./ga-HBRA4UUK.js");
2255
2286
  const project3 = requireProject(input, "ga.connect", "canonry ga connect <project> --property-id <id> [--key-file <path>]");
2256
2287
  const propertyId = getString(input.values, "property-id");
2257
2288
  if (!propertyId) {
@@ -2269,7 +2300,7 @@ var GA_CLI_COMMANDS = [
2269
2300
  path: ["ga", "disconnect"],
2270
2301
  usage: "canonry ga disconnect <project> [--format json]",
2271
2302
  run: async (input) => {
2272
- const { gaDisconnect } = await import("./ga-PBIWRU67.js");
2303
+ const { gaDisconnect } = await import("./ga-HBRA4UUK.js");
2273
2304
  const project3 = requireProject(input, "ga.disconnect", "canonry ga disconnect <project> [--format json]");
2274
2305
  await gaDisconnect(project3, input.format);
2275
2306
  }
@@ -2278,7 +2309,7 @@ var GA_CLI_COMMANDS = [
2278
2309
  path: ["ga", "properties"],
2279
2310
  usage: "canonry ga properties <project> [--format json]",
2280
2311
  run: async (input) => {
2281
- const { gaProperties } = await import("./ga-PBIWRU67.js");
2312
+ const { gaProperties } = await import("./ga-HBRA4UUK.js");
2282
2313
  const project3 = requireProject(input, "ga.properties", "canonry ga properties <project> [--format json]");
2283
2314
  await gaProperties(project3, input.format);
2284
2315
  }
@@ -2287,7 +2318,7 @@ var GA_CLI_COMMANDS = [
2287
2318
  path: ["ga", "status"],
2288
2319
  usage: "canonry ga status <project> [--format json]",
2289
2320
  run: async (input) => {
2290
- const { gaStatus } = await import("./ga-PBIWRU67.js");
2321
+ const { gaStatus } = await import("./ga-HBRA4UUK.js");
2291
2322
  const project3 = requireProject(input, "ga.status", "canonry ga status <project> [--format json]");
2292
2323
  await gaStatus(project3, input.format);
2293
2324
  }
@@ -2300,7 +2331,7 @@ var GA_CLI_COMMANDS = [
2300
2331
  only: stringOption()
2301
2332
  },
2302
2333
  run: async (input) => {
2303
- const { gaSync } = await import("./ga-PBIWRU67.js");
2334
+ const { gaSync } = await import("./ga-HBRA4UUK.js");
2304
2335
  const project3 = requireProject(input, "ga.sync", "canonry ga sync <project> [--days 30] [--only traffic|ai|social|search-landing] [--format json]");
2305
2336
  const daysStr = getString(input.values, "days");
2306
2337
  const days = daysStr ? parseInt(daysStr, 10) : void 0;
@@ -2323,7 +2354,7 @@ var GA_CLI_COMMANDS = [
2323
2354
  limit: stringOption()
2324
2355
  },
2325
2356
  run: async (input) => {
2326
- const { gaMeasurementAnalysis } = await import("./ga-PBIWRU67.js");
2357
+ const { gaMeasurementAnalysis } = await import("./ga-HBRA4UUK.js");
2327
2358
  const project3 = requireProject(input, "ga.measurement-analysis", "canonry ga measurement-analysis <project> [--window 30d|60d|90d] [--format json]");
2328
2359
  const limitValue = getString(input.values, "limit");
2329
2360
  await gaMeasurementAnalysis(project3, {
@@ -2345,7 +2376,7 @@ var GA_CLI_COMMANDS = [
2345
2376
  offset: stringOption()
2346
2377
  },
2347
2378
  run: async (input) => {
2348
- const { gaSearchLandingPages } = await import("./ga-PBIWRU67.js");
2379
+ const { gaSearchLandingPages } = await import("./ga-HBRA4UUK.js");
2349
2380
  const project3 = requireProject(input, "ga.search-landing-pages", "canonry ga search-landing-pages <project> [--window 7d|28d|90d] [--limit 50] [--offset 0] [--format json|jsonl]");
2350
2381
  await gaSearchLandingPages(project3, {
2351
2382
  window: getString(input.values, "window"),
@@ -2364,7 +2395,7 @@ var GA_CLI_COMMANDS = [
2364
2395
  ...RANGE_OPTIONS
2365
2396
  },
2366
2397
  run: async (input) => {
2367
- const { gaTraffic } = await import("./ga-PBIWRU67.js");
2398
+ const { gaTraffic } = await import("./ga-HBRA4UUK.js");
2368
2399
  const project3 = requireProject(input, "ga.traffic", `canonry ga traffic <project> [--limit 50] ${RANGE_USAGE} [--format json]`);
2369
2400
  const limitStr = getString(input.values, "limit");
2370
2401
  const limit = limitStr ? parseInt(limitStr, 10) : void 0;
@@ -2379,7 +2410,7 @@ var GA_CLI_COMMANDS = [
2379
2410
  path: ["ga", "coverage"],
2380
2411
  usage: "canonry ga coverage <project> [--format json]",
2381
2412
  run: async (input) => {
2382
- const { gaCoverage } = await import("./ga-PBIWRU67.js");
2413
+ const { gaCoverage } = await import("./ga-HBRA4UUK.js");
2383
2414
  const project3 = requireProject(input, "ga.coverage", "canonry ga coverage <project> [--format json]");
2384
2415
  await gaCoverage(project3, input.format);
2385
2416
  }
@@ -2390,7 +2421,7 @@ var GA_CLI_COMMANDS = [
2390
2421
  usage: `canonry ga ai-referral-history <project> ${RANGE_USAGE} [--format json]`,
2391
2422
  options: { ...RANGE_OPTIONS },
2392
2423
  run: async (input) => {
2393
- const { gaAiReferralHistory } = await import("./ga-PBIWRU67.js");
2424
+ const { gaAiReferralHistory } = await import("./ga-HBRA4UUK.js");
2394
2425
  const project3 = requireProject(input, "ga.ai-referral-history", `canonry ga ai-referral-history <project> ${RANGE_USAGE} [--format json]`);
2395
2426
  await gaAiReferralHistory(project3, {
2396
2427
  ...rangeValues(input.values),
@@ -2404,7 +2435,7 @@ var GA_CLI_COMMANDS = [
2404
2435
  usage: `canonry ga ai-referral-daily <project> ${RANGE_USAGE} [--format json]`,
2405
2436
  options: { ...RANGE_OPTIONS },
2406
2437
  run: async (input) => {
2407
- const { gaAiReferralDaily } = await import("./ga-PBIWRU67.js");
2438
+ const { gaAiReferralDaily } = await import("./ga-HBRA4UUK.js");
2408
2439
  const project3 = requireProject(input, "ga.ai-referral-daily", `canonry ga ai-referral-daily <project> ${RANGE_USAGE} [--format json]`);
2409
2440
  await gaAiReferralDaily(project3, {
2410
2441
  ...rangeValues(input.values),
@@ -2418,7 +2449,7 @@ var GA_CLI_COMMANDS = [
2418
2449
  usage: `canonry ga social-referral-history <project> ${RANGE_USAGE} [--format json]`,
2419
2450
  options: { ...RANGE_OPTIONS },
2420
2451
  run: async (input) => {
2421
- const { gaSocialReferralHistory } = await import("./ga-PBIWRU67.js");
2452
+ const { gaSocialReferralHistory } = await import("./ga-HBRA4UUK.js");
2422
2453
  const project3 = requireProject(input, "ga.social-referral-history", `canonry ga social-referral-history <project> ${RANGE_USAGE} [--format json]`);
2423
2454
  await gaSocialReferralHistory(project3, {
2424
2455
  ...rangeValues(input.values),
@@ -2431,7 +2462,7 @@ var GA_CLI_COMMANDS = [
2431
2462
  windows: WINDOW_SETS.gaOverview,
2432
2463
  usage: "canonry ga overview <project> [--window 7d|30d|90d] [--format json]",
2433
2464
  run: async (input) => {
2434
- const { gaOverview } = await import("./ga-PBIWRU67.js");
2465
+ const { gaOverview } = await import("./ga-HBRA4UUK.js");
2435
2466
  const project3 = requireProject(input, "ga.overview", "canonry ga overview <project> [--window 7d|30d|90d] [--format json]");
2436
2467
  await gaOverview(project3, {
2437
2468
  window: typeof input.values.window === "string" ? input.values.window : void 0,
@@ -2445,7 +2476,7 @@ var GA_CLI_COMMANDS = [
2445
2476
  usage: `canonry ga session-history <project> ${RANGE_USAGE} [--format json]`,
2446
2477
  options: { ...RANGE_OPTIONS },
2447
2478
  run: async (input) => {
2448
- const { gaSessionHistory } = await import("./ga-PBIWRU67.js");
2479
+ const { gaSessionHistory } = await import("./ga-HBRA4UUK.js");
2449
2480
  const project3 = requireProject(input, "ga.session-history", `canonry ga session-history <project> ${RANGE_USAGE} [--format json]`);
2450
2481
  await gaSessionHistory(project3, {
2451
2482
  ...rangeValues(input.values),
@@ -2460,7 +2491,7 @@ var GA_CLI_COMMANDS = [
2460
2491
  trend: { type: "boolean", default: false }
2461
2492
  },
2462
2493
  run: async (input) => {
2463
- const { gaSocialReferralSummary } = await import("./ga-PBIWRU67.js");
2494
+ const { gaSocialReferralSummary } = await import("./ga-HBRA4UUK.js");
2464
2495
  const project3 = requireProject(input, "ga.social-referral-summary", "canonry ga social-referral-summary <project> [--trend] [--format json]");
2465
2496
  await gaSocialReferralSummary(project3, {
2466
2497
  trend: input.values.trend === true,
@@ -2475,7 +2506,7 @@ var GA_CLI_COMMANDS = [
2475
2506
  trend: { type: "boolean", default: false }
2476
2507
  },
2477
2508
  run: async (input) => {
2478
- const { gaAttribution } = await import("./ga-PBIWRU67.js");
2509
+ const { gaAttribution } = await import("./ga-HBRA4UUK.js");
2479
2510
  const project3 = requireProject(input, "ga.attribution", "canonry ga attribution <project> [--trend] [--format json]");
2480
2511
  await gaAttribution(project3, {
2481
2512
  trend: input.values.trend === true,
@@ -2504,7 +2535,7 @@ var GBP_CLI_COMMANDS = [
2504
2535
  usage: "canonry gbp posts attempt <project> --attempt UUID --package SHA256 [--format json]",
2505
2536
  options: { attempt: stringOption(), package: stringOption() },
2506
2537
  run: async (input) => {
2507
- const { gbpLocalPosts } = await import("./gbp-NYG7SW6P.js");
2538
+ const { gbpLocalPosts } = await import("./gbp-2WMBTDJV.js");
2508
2539
  await gbpLocalPosts(requireProject(input, "gbp.posts.attempt", "canonry gbp posts attempt <project>"), "attempt", { attempt: getString(input.values, "attempt"), package: getString(input.values, "package") });
2509
2540
  }
2510
2541
  },
@@ -2514,7 +2545,7 @@ var GBP_CLI_COMMANDS = [
2514
2545
  usage: "canonry gbp posts list <project> --account accounts/id --location locations/id [--page-token token] [--format json]",
2515
2546
  options: { account: stringOption(), location: stringOption(), "page-token": stringOption() },
2516
2547
  run: async (input) => {
2517
- const { gbpLocalPosts } = await import("./gbp-NYG7SW6P.js");
2548
+ const { gbpLocalPosts } = await import("./gbp-2WMBTDJV.js");
2518
2549
  await gbpLocalPosts(requireProject(input, "gbp.posts.list", "canonry gbp posts list <project>"), "list", { account: getString(input.values, "account"), location: getString(input.values, "location"), pageToken: getString(input.values, "page-token") });
2519
2550
  }
2520
2551
  },
@@ -2524,7 +2555,7 @@ var GBP_CLI_COMMANDS = [
2524
2555
  usage: "canonry gbp posts get <project> --post resource [--format json]",
2525
2556
  options: { post: stringOption() },
2526
2557
  run: async (input) => {
2527
- const { gbpLocalPosts } = await import("./gbp-NYG7SW6P.js");
2558
+ const { gbpLocalPosts } = await import("./gbp-2WMBTDJV.js");
2528
2559
  await gbpLocalPosts(requireProject(input, "gbp.posts.get", "canonry gbp posts get <project>"), "get", { post: getString(input.values, "post") });
2529
2560
  }
2530
2561
  },
@@ -2534,7 +2565,7 @@ var GBP_CLI_COMMANDS = [
2534
2565
  usage: "canonry gbp posts create <project> --request file [--format json]",
2535
2566
  options: { request: stringOption() },
2536
2567
  run: async (input) => {
2537
- const { gbpLocalPosts } = await import("./gbp-NYG7SW6P.js");
2568
+ const { gbpLocalPosts } = await import("./gbp-2WMBTDJV.js");
2538
2569
  await gbpLocalPosts(requireProject(input, "gbp.posts.create", "canonry gbp posts create <project>"), "create", { request: getString(input.values, "request") });
2539
2570
  }
2540
2571
  },
@@ -2544,7 +2575,7 @@ var GBP_CLI_COMMANDS = [
2544
2575
  usage: "canonry gbp reviews live <project> --account accounts/id --location locations/id [--format json]",
2545
2576
  options: { account: stringOption(), location: stringOption() },
2546
2577
  run: async (input) => {
2547
- const { gbpLocalPosts } = await import("./gbp-NYG7SW6P.js");
2578
+ const { gbpLocalPosts } = await import("./gbp-2WMBTDJV.js");
2548
2579
  await gbpLocalPosts(requireProject(input, "gbp.reviews.live", "canonry gbp reviews live <project>"), "reviews", { account: getString(input.values, "account"), location: getString(input.values, "location") });
2549
2580
  }
2550
2581
  },
@@ -2555,7 +2586,7 @@ var GBP_CLI_COMMANDS = [
2555
2586
  "public-url": stringOption()
2556
2587
  },
2557
2588
  run: async (input) => {
2558
- const { gbpConnect } = await import("./gbp-NYG7SW6P.js");
2589
+ const { gbpConnect } = await import("./gbp-2WMBTDJV.js");
2559
2590
  const project3 = requireProject(input, "gbp.connect", "canonry gbp connect <project> [--public-url <url>] [--format json]");
2560
2591
  await gbpConnect(project3, {
2561
2592
  publicUrl: getString(input.values, "public-url"),
@@ -2567,7 +2598,7 @@ var GBP_CLI_COMMANDS = [
2567
2598
  path: ["gbp", "disconnect"],
2568
2599
  usage: "canonry gbp disconnect <project> [--format json]",
2569
2600
  run: async (input) => {
2570
- const { gbpDisconnect } = await import("./gbp-NYG7SW6P.js");
2601
+ const { gbpDisconnect } = await import("./gbp-2WMBTDJV.js");
2571
2602
  const project3 = requireProject(input, "gbp.disconnect", "canonry gbp disconnect <project> [--format json]");
2572
2603
  await gbpDisconnect(project3, { format: input.format });
2573
2604
  }
@@ -2579,7 +2610,7 @@ var GBP_CLI_COMMANDS = [
2579
2610
  "selected-only": { type: "boolean" }
2580
2611
  },
2581
2612
  run: async (input) => {
2582
- const { gbpLocationsList } = await import("./gbp-NYG7SW6P.js");
2613
+ const { gbpLocationsList } = await import("./gbp-2WMBTDJV.js");
2583
2614
  const project3 = requireProject(input, "gbp.locations", "canonry gbp locations <project> [--selected-only] [--format json]");
2584
2615
  await gbpLocationsList(project3, {
2585
2616
  format: input.format,
@@ -2591,7 +2622,7 @@ var GBP_CLI_COMMANDS = [
2591
2622
  path: ["gbp", "accounts"],
2592
2623
  usage: "canonry gbp accounts <project> [--format json]",
2593
2624
  run: async (input) => {
2594
- const { gbpAccounts } = await import("./gbp-NYG7SW6P.js");
2625
+ const { gbpAccounts } = await import("./gbp-2WMBTDJV.js");
2595
2626
  const project3 = requireProject(input, "gbp.accounts", "canonry gbp accounts <project> [--format json]");
2596
2627
  await gbpAccounts(project3, { format: input.format });
2597
2628
  }
@@ -2605,7 +2636,7 @@ var GBP_CLI_COMMANDS = [
2605
2636
  "switch-account": { type: "boolean" }
2606
2637
  },
2607
2638
  run: async (input) => {
2608
- const { gbpLocationsDiscover } = await import("./gbp-NYG7SW6P.js");
2639
+ const { gbpLocationsDiscover } = await import("./gbp-2WMBTDJV.js");
2609
2640
  const project3 = requireProject(input, "gbp.locations.discover", "canonry gbp locations discover <project> [--account <accounts/{n}>] [--switch-account] [--no-select-new] [--format json]");
2610
2641
  const noSelectNew = getBoolean(input.values, "no-select-new") ?? false;
2611
2642
  await gbpLocationsDiscover(project3, {
@@ -2623,7 +2654,7 @@ var GBP_CLI_COMMANDS = [
2623
2654
  location: stringOption()
2624
2655
  },
2625
2656
  run: async (input) => {
2626
- const { gbpLocationSelect } = await import("./gbp-NYG7SW6P.js");
2657
+ const { gbpLocationSelect } = await import("./gbp-2WMBTDJV.js");
2627
2658
  const project3 = requireProject(input, "gbp.locations.select", "canonry gbp locations select <project> --location <name> [--format json]");
2628
2659
  const location = getString(input.values, "location");
2629
2660
  if (!location) throw usageError("canonry gbp locations select <project> --location <locations/{n}>: --location is required");
@@ -2637,7 +2668,7 @@ var GBP_CLI_COMMANDS = [
2637
2668
  location: stringOption()
2638
2669
  },
2639
2670
  run: async (input) => {
2640
- const { gbpLocationDeselect } = await import("./gbp-NYG7SW6P.js");
2671
+ const { gbpLocationDeselect } = await import("./gbp-2WMBTDJV.js");
2641
2672
  const project3 = requireProject(input, "gbp.locations.deselect", "canonry gbp locations deselect <project> --location <name> [--format json]");
2642
2673
  const location = getString(input.values, "location");
2643
2674
  if (!location) throw usageError("canonry gbp locations deselect <project> --location <locations/{n}>: --location is required");
@@ -2654,7 +2685,7 @@ var GBP_CLI_COMMANDS = [
2654
2685
  wait: { type: "boolean" }
2655
2686
  },
2656
2687
  run: async (input) => {
2657
- const { gbpSync } = await import("./gbp-NYG7SW6P.js");
2688
+ const { gbpSync } = await import("./gbp-2WMBTDJV.js");
2658
2689
  const project3 = requireProject(input, "gbp.sync", "canonry gbp sync <project> [--location <name>] [--days N] [--months N] [--wait] [--format json]");
2659
2690
  await gbpSync(project3, {
2660
2691
  location: getString(input.values, "location"),
@@ -2673,7 +2704,7 @@ var GBP_CLI_COMMANDS = [
2673
2704
  metric: stringOption()
2674
2705
  },
2675
2706
  run: async (input) => {
2676
- const { gbpMetrics } = await import("./gbp-NYG7SW6P.js");
2707
+ const { gbpMetrics } = await import("./gbp-2WMBTDJV.js");
2677
2708
  const project3 = requireProject(input, "gbp.metrics", "canonry gbp metrics <project> [--location <name>] [--metric <DailyMetric>] [--format json]");
2678
2709
  await gbpMetrics(project3, {
2679
2710
  location: getString(input.values, "location"),
@@ -2689,7 +2720,7 @@ var GBP_CLI_COMMANDS = [
2689
2720
  location: stringOption()
2690
2721
  },
2691
2722
  run: async (input) => {
2692
- const { gbpKeywords } = await import("./gbp-NYG7SW6P.js");
2723
+ const { gbpKeywords } = await import("./gbp-2WMBTDJV.js");
2693
2724
  const project3 = requireProject(input, "gbp.keywords", "canonry gbp keywords <project> [--location <name>] [--format json]");
2694
2725
  await gbpKeywords(project3, {
2695
2726
  location: getString(input.values, "location"),
@@ -2704,7 +2735,7 @@ var GBP_CLI_COMMANDS = [
2704
2735
  location: stringOption()
2705
2736
  },
2706
2737
  run: async (input) => {
2707
- const { gbpPlaceActions } = await import("./gbp-NYG7SW6P.js");
2738
+ const { gbpPlaceActions } = await import("./gbp-2WMBTDJV.js");
2708
2739
  const project3 = requireProject(input, "gbp.place-actions", "canonry gbp place-actions <project> [--location <name>] [--format json]");
2709
2740
  await gbpPlaceActions(project3, { location: getString(input.values, "location"), format: input.format });
2710
2741
  }
@@ -2716,7 +2747,7 @@ var GBP_CLI_COMMANDS = [
2716
2747
  location: stringOption()
2717
2748
  },
2718
2749
  run: async (input) => {
2719
- const { gbpLodging } = await import("./gbp-NYG7SW6P.js");
2750
+ const { gbpLodging } = await import("./gbp-2WMBTDJV.js");
2720
2751
  const project3 = requireProject(input, "gbp.lodging", "canonry gbp lodging <project> [--location <name>] [--format json]");
2721
2752
  await gbpLodging(project3, { location: getString(input.values, "location"), format: input.format });
2722
2753
  }
@@ -2728,7 +2759,7 @@ var GBP_CLI_COMMANDS = [
2728
2759
  location: stringOption()
2729
2760
  },
2730
2761
  run: async (input) => {
2731
- const { gbpAttributes } = await import("./gbp-NYG7SW6P.js");
2762
+ const { gbpAttributes } = await import("./gbp-2WMBTDJV.js");
2732
2763
  const project3 = requireProject(input, "gbp.attributes", "canonry gbp attributes <project> [--location <name>] [--format json]");
2733
2764
  await gbpAttributes(project3, { location: getString(input.values, "location"), format: input.format });
2734
2765
  }
@@ -2740,7 +2771,7 @@ var GBP_CLI_COMMANDS = [
2740
2771
  location: stringOption()
2741
2772
  },
2742
2773
  run: async (input) => {
2743
- const { gbpPlaces } = await import("./gbp-NYG7SW6P.js");
2774
+ const { gbpPlaces } = await import("./gbp-2WMBTDJV.js");
2744
2775
  const project3 = requireProject(input, "gbp.places", "canonry gbp places <project> [--location <name>] [--format json]");
2745
2776
  await gbpPlaces(project3, { location: getString(input.values, "location"), format: input.format });
2746
2777
  }
@@ -2754,7 +2785,7 @@ var GBP_CLI_COMMANDS = [
2754
2785
  limit: stringOption()
2755
2786
  },
2756
2787
  run: async (input) => {
2757
- const { gbpReviews } = await import("./gbp-NYG7SW6P.js");
2788
+ const { gbpReviews } = await import("./gbp-2WMBTDJV.js");
2758
2789
  const usage = "canonry gbp reviews <project> [--location <name>] [--negative] [--limit N] [--format json]";
2759
2790
  const project3 = requireProject(input, "gbp.reviews", usage);
2760
2791
  await gbpReviews(project3, {
@@ -2772,7 +2803,7 @@ var GBP_CLI_COMMANDS = [
2772
2803
  location: stringOption()
2773
2804
  },
2774
2805
  run: async (input) => {
2775
- const { gbpSummary } = await import("./gbp-NYG7SW6P.js");
2806
+ const { gbpSummary } = await import("./gbp-2WMBTDJV.js");
2776
2807
  const project3 = requireProject(input, "gbp.summary", "canonry gbp summary <project> [--location <name>] [--format json]");
2777
2808
  await gbpSummary(project3, { location: getString(input.values, "location"), format: input.format });
2778
2809
  }
@@ -2811,7 +2842,7 @@ function createGoogleMarketingCliCommands(createClient) {
2811
2842
  path: ["google-ads", "disconnect"],
2812
2843
  usage: "canonry google-ads disconnect <project> [--format json]",
2813
2844
  run: async (input) => {
2814
- const { googleAdsDisconnect } = await import("./google-marketing-XPE6CVQI.js");
2845
+ const { googleAdsDisconnect } = await import("./google-marketing-5ROIKBC7.js");
2815
2846
  const usage = "canonry google-ads disconnect <project> [--format json]";
2816
2847
  await googleAdsDisconnect(createClient(), requireProject(input, "google-ads.disconnect", usage), { format: input.format });
2817
2848
  }
@@ -2820,7 +2851,7 @@ function createGoogleMarketingCliCommands(createClient) {
2820
2851
  path: ["google-ads", "status"],
2821
2852
  usage: "canonry google-ads status <project> [--format json]",
2822
2853
  run: async (input) => {
2823
- const { googleAdsStatus } = await import("./google-marketing-XPE6CVQI.js");
2854
+ const { googleAdsStatus } = await import("./google-marketing-5ROIKBC7.js");
2824
2855
  const usage = "canonry google-ads status <project> [--format json]";
2825
2856
  await googleAdsStatus(createClient(), requireProject(input, "google-ads.status", usage), { format: input.format });
2826
2857
  }
@@ -2829,7 +2860,7 @@ function createGoogleMarketingCliCommands(createClient) {
2829
2860
  path: ["google-ads", "customers"],
2830
2861
  usage: "canonry google-ads customers <project> [--format json|jsonl]",
2831
2862
  run: async (input) => {
2832
- const { googleAdsCustomers } = await import("./google-marketing-XPE6CVQI.js");
2863
+ const { googleAdsCustomers } = await import("./google-marketing-5ROIKBC7.js");
2833
2864
  const usage = "canonry google-ads customers <project> [--format json|jsonl]";
2834
2865
  await googleAdsCustomers(createClient(), requireProject(input, "google-ads.customers", usage), { format: input.format });
2835
2866
  }
@@ -2839,7 +2870,7 @@ function createGoogleMarketingCliCommands(createClient) {
2839
2870
  usage: "canonry google-ads select <project> --customer <customer-id> [--login-customer <manager-id>] [--format json]",
2840
2871
  options: { customer: stringOption(), "login-customer": stringOption() },
2841
2872
  run: async (input) => {
2842
- const { googleAdsSelect } = await import("./google-marketing-XPE6CVQI.js");
2873
+ const { googleAdsSelect } = await import("./google-marketing-5ROIKBC7.js");
2843
2874
  const usage = "canonry google-ads select <project> --customer <customer-id> [--login-customer <manager-id>] [--format json]";
2844
2875
  const project3 = requireProject(input, "google-ads.select", usage);
2845
2876
  const customerId = requireStringOption(input, "customer", {
@@ -2857,7 +2888,7 @@ function createGoogleMarketingCliCommands(createClient) {
2857
2888
  path: ["google-ads", "sync"],
2858
2889
  usage: "canonry google-ads sync <project> [--format json]",
2859
2890
  run: async (input) => {
2860
- const { googleAdsSync } = await import("./google-marketing-XPE6CVQI.js");
2891
+ const { googleAdsSync } = await import("./google-marketing-5ROIKBC7.js");
2861
2892
  const usage = "canonry google-ads sync <project> [--format json]";
2862
2893
  await googleAdsSync(createClient(), requireProject(input, "google-ads.sync", usage), { format: input.format });
2863
2894
  }
@@ -2868,7 +2899,7 @@ function createGoogleMarketingCliCommands(createClient) {
2868
2899
  usage: "canonry google-ads performance <project> [--window 7d|14d|30d] [--format json]",
2869
2900
  options: { window: stringOption() },
2870
2901
  run: async (input) => {
2871
- const { googleAdsPerformance } = await import("./google-marketing-XPE6CVQI.js");
2902
+ const { googleAdsPerformance } = await import("./google-marketing-5ROIKBC7.js");
2872
2903
  const usage = "canonry google-ads performance <project> [--window 7d|14d|30d] [--format json]";
2873
2904
  const project3 = requireProject(input, "google-ads.performance", usage);
2874
2905
  const window = performanceWindow(input, usage);
@@ -2883,7 +2914,7 @@ function createGoogleMarketingCliCommands(createClient) {
2883
2914
  usage: "canonry google-ads snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]",
2884
2915
  options: { limit: stringOption(), cursor: stringOption() },
2885
2916
  run: async (input) => {
2886
- const { googleAdsSnapshots } = await import("./google-marketing-XPE6CVQI.js");
2917
+ const { googleAdsSnapshots } = await import("./google-marketing-5ROIKBC7.js");
2887
2918
  const usage = "canonry google-ads snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]";
2888
2919
  await googleAdsSnapshots(createClient(), requireProject(input, "google-ads.snapshots", usage), {
2889
2920
  limit: snapshotLimit(input, "google-ads.snapshots", usage),
@@ -2896,7 +2927,7 @@ function createGoogleMarketingCliCommands(createClient) {
2896
2927
  path: ["google-ads", "snapshot"],
2897
2928
  usage: "canonry google-ads snapshot <project> <snapshot-id> [--format json]",
2898
2929
  run: async (input) => {
2899
- const { googleAdsSnapshot } = await import("./google-marketing-XPE6CVQI.js");
2930
+ const { googleAdsSnapshot } = await import("./google-marketing-5ROIKBC7.js");
2900
2931
  const usage = "canonry google-ads snapshot <project> <snapshot-id> [--format json]";
2901
2932
  const project3 = requireProject(input, "google-ads.snapshot", usage);
2902
2933
  await googleAdsSnapshot(createClient(), project3, requirePositional(input, 1, {
@@ -2910,7 +2941,7 @@ function createGoogleMarketingCliCommands(createClient) {
2910
2941
  path: ["gtm", "disconnect"],
2911
2942
  usage: "canonry gtm disconnect <project> [--format json]",
2912
2943
  run: async (input) => {
2913
- const { gtmDisconnect } = await import("./google-marketing-XPE6CVQI.js");
2944
+ const { gtmDisconnect } = await import("./google-marketing-5ROIKBC7.js");
2914
2945
  const usage = "canonry gtm disconnect <project> [--format json]";
2915
2946
  await gtmDisconnect(createClient(), requireProject(input, "gtm.disconnect", usage), { format: input.format });
2916
2947
  }
@@ -2919,7 +2950,7 @@ function createGoogleMarketingCliCommands(createClient) {
2919
2950
  path: ["gtm", "status"],
2920
2951
  usage: "canonry gtm status <project> [--format json]",
2921
2952
  run: async (input) => {
2922
- const { gtmStatus } = await import("./google-marketing-XPE6CVQI.js");
2953
+ const { gtmStatus } = await import("./google-marketing-5ROIKBC7.js");
2923
2954
  const usage = "canonry gtm status <project> [--format json]";
2924
2955
  await gtmStatus(createClient(), requireProject(input, "gtm.status", usage), { format: input.format });
2925
2956
  }
@@ -2928,7 +2959,7 @@ function createGoogleMarketingCliCommands(createClient) {
2928
2959
  path: ["gtm", "accounts"],
2929
2960
  usage: "canonry gtm accounts <project> [--format json|jsonl]",
2930
2961
  run: async (input) => {
2931
- const { gtmAccounts } = await import("./google-marketing-XPE6CVQI.js");
2962
+ const { gtmAccounts } = await import("./google-marketing-5ROIKBC7.js");
2932
2963
  const usage = "canonry gtm accounts <project> [--format json|jsonl]";
2933
2964
  await gtmAccounts(createClient(), requireProject(input, "gtm.accounts", usage), { format: input.format });
2934
2965
  }
@@ -2938,7 +2969,7 @@ function createGoogleMarketingCliCommands(createClient) {
2938
2969
  usage: "canonry gtm containers <project> --account <account-id> [--format json|jsonl]",
2939
2970
  options: { account: stringOption() },
2940
2971
  run: async (input) => {
2941
- const { gtmContainers } = await import("./google-marketing-XPE6CVQI.js");
2972
+ const { gtmContainers } = await import("./google-marketing-5ROIKBC7.js");
2942
2973
  const usage = "canonry gtm containers <project> --account <account-id> [--format json|jsonl]";
2943
2974
  const project3 = requireProject(input, "gtm.containers", usage);
2944
2975
  await gtmContainers(createClient(), project3, requireStringOption(input, "account", {
@@ -2953,7 +2984,7 @@ function createGoogleMarketingCliCommands(createClient) {
2953
2984
  usage: "canonry gtm workspaces <project> --account <account-id> --container <container-id> [--format json|jsonl]",
2954
2985
  options: { account: stringOption(), container: stringOption() },
2955
2986
  run: async (input) => {
2956
- const { gtmWorkspaces } = await import("./google-marketing-XPE6CVQI.js");
2987
+ const { gtmWorkspaces } = await import("./google-marketing-5ROIKBC7.js");
2957
2988
  const usage = "canonry gtm workspaces <project> --account <account-id> --container <container-id> [--format json|jsonl]";
2958
2989
  const project3 = requireProject(input, "gtm.workspaces", usage);
2959
2990
  const accountId = requireStringOption(input, "account", { command: "gtm.workspaces", usage, message: "--account is required" });
@@ -2966,7 +2997,7 @@ function createGoogleMarketingCliCommands(createClient) {
2966
2997
  usage: "canonry gtm select <project> --account <account-id> --container <container-id> [--workspace <workspace-id>] [--format json]",
2967
2998
  options: { account: stringOption(), container: stringOption(), workspace: stringOption() },
2968
2999
  run: async (input) => {
2969
- const { gtmSelect } = await import("./google-marketing-XPE6CVQI.js");
3000
+ const { gtmSelect } = await import("./google-marketing-5ROIKBC7.js");
2970
3001
  const usage = "canonry gtm select <project> --account <account-id> --container <container-id> [--workspace <workspace-id>] [--format json]";
2971
3002
  const project3 = requireProject(input, "gtm.select", usage);
2972
3003
  const accountId = requireStringOption(input, "account", { command: "gtm.select", usage, message: "--account is required" });
@@ -2983,7 +3014,7 @@ function createGoogleMarketingCliCommands(createClient) {
2983
3014
  path: ["gtm", "sync"],
2984
3015
  usage: "canonry gtm sync <project> [--format json]",
2985
3016
  run: async (input) => {
2986
- const { gtmSync } = await import("./google-marketing-XPE6CVQI.js");
3017
+ const { gtmSync } = await import("./google-marketing-5ROIKBC7.js");
2987
3018
  const usage = "canonry gtm sync <project> [--format json]";
2988
3019
  await gtmSync(createClient(), requireProject(input, "gtm.sync", usage), { format: input.format });
2989
3020
  }
@@ -2993,7 +3024,7 @@ function createGoogleMarketingCliCommands(createClient) {
2993
3024
  usage: "canonry gtm snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]",
2994
3025
  options: { limit: stringOption(), cursor: stringOption() },
2995
3026
  run: async (input) => {
2996
- const { gtmSnapshots } = await import("./google-marketing-XPE6CVQI.js");
3027
+ const { gtmSnapshots } = await import("./google-marketing-5ROIKBC7.js");
2997
3028
  const usage = "canonry gtm snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]";
2998
3029
  await gtmSnapshots(createClient(), requireProject(input, "gtm.snapshots", usage), {
2999
3030
  limit: snapshotLimit(input, "gtm.snapshots", usage),
@@ -3006,7 +3037,7 @@ function createGoogleMarketingCliCommands(createClient) {
3006
3037
  path: ["gtm", "snapshot"],
3007
3038
  usage: "canonry gtm snapshot <project> <snapshot-id> [--format json]",
3008
3039
  run: async (input) => {
3009
- const { gtmSnapshot } = await import("./google-marketing-XPE6CVQI.js");
3040
+ const { gtmSnapshot } = await import("./google-marketing-5ROIKBC7.js");
3010
3041
  const usage = "canonry gtm snapshot <project> <snapshot-id> [--format json]";
3011
3042
  const project3 = requireProject(input, "gtm.snapshot", usage);
3012
3043
  await gtmSnapshot(createClient(), project3, requirePositional(input, 1, {
@@ -3020,7 +3051,7 @@ function createGoogleMarketingCliCommands(createClient) {
3020
3051
  path: ["conversion-tracking", "contracts"],
3021
3052
  usage: "canonry conversion-tracking contracts <project> [--format json|jsonl]",
3022
3053
  run: async (input) => {
3023
- const { conversionTrackingContracts } = await import("./google-marketing-XPE6CVQI.js");
3054
+ const { conversionTrackingContracts } = await import("./google-marketing-5ROIKBC7.js");
3024
3055
  const usage = "canonry conversion-tracking contracts <project> [--format json|jsonl]";
3025
3056
  await conversionTrackingContracts(createClient(), requireProject(input, "conversion-tracking.contracts", usage), { format: input.format });
3026
3057
  }
@@ -3029,7 +3060,7 @@ function createGoogleMarketingCliCommands(createClient) {
3029
3060
  path: ["conversion-tracking", "contracts", "get"],
3030
3061
  usage: "canonry conversion-tracking contracts get <project> <contract-id> [--format json]",
3031
3062
  run: async (input) => {
3032
- const { conversionTrackingContract } = await import("./google-marketing-XPE6CVQI.js");
3063
+ const { conversionTrackingContract } = await import("./google-marketing-5ROIKBC7.js");
3033
3064
  const usage = "canonry conversion-tracking contracts get <project> <contract-id> [--format json]";
3034
3065
  const project3 = requireProject(input, "conversion-tracking.contracts.get", usage);
3035
3066
  await conversionTrackingContract(createClient(), project3, requirePositional(input, 1, {
@@ -3044,7 +3075,7 @@ function createGoogleMarketingCliCommands(createClient) {
3044
3075
  usage: "canonry conversion-tracking contracts create <project> --input <json-file|-> [--format json]",
3045
3076
  options: { input: stringOption() },
3046
3077
  run: async (input) => {
3047
- const { conversionTrackingCreate, readConversionTrackingContractInput } = await import("./google-marketing-XPE6CVQI.js");
3078
+ const { conversionTrackingCreate, readConversionTrackingContractInput } = await import("./google-marketing-5ROIKBC7.js");
3048
3079
  const usage = "canonry conversion-tracking contracts create <project> --input <json-file|-> [--format json]";
3049
3080
  await conversionTrackingCreate(createClient(), requireProject(input, "conversion-tracking.contracts.create", usage), readConversionTrackingContractInput(getString(input.values, "input")), { format: input.format });
3050
3081
  }
@@ -3054,7 +3085,7 @@ function createGoogleMarketingCliCommands(createClient) {
3054
3085
  usage: "canonry conversion-tracking contracts update <project> <contract-id> --input <json-file|-> [--format json]",
3055
3086
  options: { input: stringOption() },
3056
3087
  run: async (input) => {
3057
- const { conversionTrackingUpdate, readConversionTrackingContractInput } = await import("./google-marketing-XPE6CVQI.js");
3088
+ const { conversionTrackingUpdate, readConversionTrackingContractInput } = await import("./google-marketing-5ROIKBC7.js");
3058
3089
  const usage = "canonry conversion-tracking contracts update <project> <contract-id> --input <json-file|-> [--format json]";
3059
3090
  const project3 = requireProject(input, "conversion-tracking.contracts.update", usage);
3060
3091
  const contractId = requirePositional(input, 1, { command: "conversion-tracking.contracts.update", usage, message: "contract id is required" });
@@ -3065,7 +3096,7 @@ function createGoogleMarketingCliCommands(createClient) {
3065
3096
  path: ["conversion-tracking", "contracts", "delete"],
3066
3097
  usage: "canonry conversion-tracking contracts delete <project> <contract-id> [--format json]",
3067
3098
  run: async (input) => {
3068
- const { conversionTrackingDelete } = await import("./google-marketing-XPE6CVQI.js");
3099
+ const { conversionTrackingDelete } = await import("./google-marketing-5ROIKBC7.js");
3069
3100
  const usage = "canonry conversion-tracking contracts delete <project> <contract-id> [--format json]";
3070
3101
  const project3 = requireProject(input, "conversion-tracking.contracts.delete", usage);
3071
3102
  await conversionTrackingDelete(createClient(), project3, requirePositional(input, 1, {
@@ -3079,7 +3110,7 @@ function createGoogleMarketingCliCommands(createClient) {
3079
3110
  path: ["conversion-tracking", "contracts", "integrity"],
3080
3111
  usage: "canonry conversion-tracking contracts integrity <project> <contract-id> [--format json|jsonl]",
3081
3112
  run: async (input) => {
3082
- const { conversionTrackingIntegrity } = await import("./google-marketing-XPE6CVQI.js");
3113
+ const { conversionTrackingIntegrity } = await import("./google-marketing-5ROIKBC7.js");
3083
3114
  const usage = "canonry conversion-tracking contracts integrity <project> <contract-id> [--format json|jsonl]";
3084
3115
  const project3 = requireProject(input, "conversion-tracking.contracts.integrity", usage);
3085
3116
  await conversionTrackingIntegrity(createClient(), project3, requirePositional(input, 1, {
@@ -3205,7 +3236,7 @@ var TRAFFIC_CLI_COMMANDS = [
3205
3236
  help: "Complete stored traffic totals and breakdowns for the selected window. Project-wide for Simple and Advanced portfolios; no provider calls or sync.",
3206
3237
  options: { period: stringOption() },
3207
3238
  run: async (input) => {
3208
- const { trafficAnalytics } = await import("./traffic-NI6ACQO4.js");
3239
+ const { trafficAnalytics } = await import("./traffic-M4OHG5JW.js");
3209
3240
  const project3 = requireProject(input, "traffic.analytics", "canonry traffic analytics <project> [--period 7|14|30|90]");
3210
3241
  await trafficAnalytics(project3, { period: getString(input.values, "window") ?? getString(input.values, "period"), format: input.format });
3211
3242
  }
@@ -3217,7 +3248,7 @@ var TRAFFIC_CLI_COMMANDS = [
3217
3248
  help: "DB-only diagnostic. Raw headlines stay unchanged. Candidate bursts are not confirmed automation; adjusted counts are estimates. Property, Target and market attribution are unavailable. The observed GA quotient has unknown comparable coverage.",
3218
3249
  options: { "start-date": stringOption(), "end-date": stringOption(), source: stringOption(), "burst-threshold": stringOption(), "ratio-threshold": stringOption(), limit: stringOption() },
3219
3250
  run: async (input) => {
3220
- const { trafficReferralAssessment } = await import("./traffic-NI6ACQO4.js");
3251
+ const { trafficReferralAssessment } = await import("./traffic-M4OHG5JW.js");
3221
3252
  const project3 = requireProject(input, "traffic.referral-assessment", "canonry traffic referral-assessment <project> --start-date YYYY-MM-DD --end-date YYYY-MM-DD");
3222
3253
  await trafficReferralAssessment(project3, {
3223
3254
  startDate: getString(input.values, "start") ?? getString(input.values, "start-date"),
@@ -3250,7 +3281,7 @@ var TRAFFIC_CLI_COMMANDS = [
3250
3281
  "confirm-fail-open": { type: "boolean" }
3251
3282
  },
3252
3283
  run: async (input) => {
3253
- const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-NI6ACQO4.js");
3284
+ const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-M4OHG5JW.js");
3254
3285
  const forwardPageViews = getBoolean(input.values, "forward-page-views");
3255
3286
  const noForwardPageViews = getBoolean(input.values, "no-forward-page-views");
3256
3287
  if (forwardPageViews && noForwardPageViews) {
@@ -3303,7 +3334,7 @@ var TRAFFIC_CLI_COMMANDS = [
3303
3334
  "display-name": stringOption()
3304
3335
  },
3305
3336
  run: async (input) => {
3306
- const { trafficConnectCloudRun } = await import("./traffic-NI6ACQO4.js");
3337
+ const { trafficConnectCloudRun } = await import("./traffic-M4OHG5JW.js");
3307
3338
  const project3 = requireProject(
3308
3339
  input,
3309
3340
  "traffic.connect.cloud-run",
@@ -3334,7 +3365,7 @@ var TRAFFIC_CLI_COMMANDS = [
3334
3365
  "display-name": stringOption()
3335
3366
  },
3336
3367
  run: async (input) => {
3337
- const { trafficConnectWordpress } = await import("./traffic-NI6ACQO4.js");
3368
+ const { trafficConnectWordpress } = await import("./traffic-M4OHG5JW.js");
3338
3369
  const project3 = requireProject(
3339
3370
  input,
3340
3371
  "traffic.connect.wordpress",
@@ -3366,7 +3397,7 @@ var TRAFFIC_CLI_COMMANDS = [
3366
3397
  "display-name": stringOption()
3367
3398
  },
3368
3399
  run: async (input) => {
3369
- const { trafficConnectVercel } = await import("./traffic-NI6ACQO4.js");
3400
+ const { trafficConnectVercel } = await import("./traffic-M4OHG5JW.js");
3370
3401
  const project3 = requireProject(
3371
3402
  input,
3372
3403
  "traffic.connect.vercel",
@@ -3405,7 +3436,7 @@ var TRAFFIC_CLI_COMMANDS = [
3405
3436
  source: stringOption()
3406
3437
  },
3407
3438
  run: async (input) => {
3408
- const { trafficActivate } = await import("./traffic-NI6ACQO4.js");
3439
+ const { trafficActivate } = await import("./traffic-M4OHG5JW.js");
3409
3440
  const project3 = requireProject(
3410
3441
  input,
3411
3442
  "traffic.activate",
@@ -3424,7 +3455,7 @@ var TRAFFIC_CLI_COMMANDS = [
3424
3455
  "since-minutes": stringOption()
3425
3456
  },
3426
3457
  run: async (input) => {
3427
- const { trafficSync } = await import("./traffic-NI6ACQO4.js");
3458
+ const { trafficSync } = await import("./traffic-M4OHG5JW.js");
3428
3459
  const project3 = requireProject(
3429
3460
  input,
3430
3461
  "traffic.sync",
@@ -3453,7 +3484,7 @@ var TRAFFIC_CLI_COMMANDS = [
3453
3484
  wait: { type: "boolean" }
3454
3485
  },
3455
3486
  run: async (input) => {
3456
- const { trafficBackfill } = await import("./traffic-NI6ACQO4.js");
3487
+ const { trafficBackfill } = await import("./traffic-M4OHG5JW.js");
3457
3488
  const project3 = requireProject(
3458
3489
  input,
3459
3490
  "traffic.backfill",
@@ -3482,7 +3513,7 @@ var TRAFFIC_CLI_COMMANDS = [
3482
3513
  "advance-to-now": { type: "boolean" }
3483
3514
  },
3484
3515
  run: async (input) => {
3485
- const { trafficReset } = await import("./traffic-NI6ACQO4.js");
3516
+ const { trafficReset } = await import("./traffic-M4OHG5JW.js");
3486
3517
  const project3 = requireProject(
3487
3518
  input,
3488
3519
  "traffic.reset",
@@ -3504,7 +3535,7 @@ var TRAFFIC_CLI_COMMANDS = [
3504
3535
  source: stringOption()
3505
3536
  },
3506
3537
  run: async (input) => {
3507
- const { trafficDeclareGap } = await import("./traffic-NI6ACQO4.js");
3538
+ const { trafficDeclareGap } = await import("./traffic-M4OHG5JW.js");
3508
3539
  const project3 = requireProject(
3509
3540
  input,
3510
3541
  "traffic.declare-gap",
@@ -3519,7 +3550,7 @@ var TRAFFIC_CLI_COMMANDS = [
3519
3550
  path: ["traffic", "sources"],
3520
3551
  usage: "canonry traffic sources <project> [--format json]",
3521
3552
  run: async (input) => {
3522
- const { trafficSources } = await import("./traffic-NI6ACQO4.js");
3553
+ const { trafficSources } = await import("./traffic-M4OHG5JW.js");
3523
3554
  const project3 = requireProject(
3524
3555
  input,
3525
3556
  "traffic.sources",
@@ -3532,7 +3563,7 @@ var TRAFFIC_CLI_COMMANDS = [
3532
3563
  path: ["traffic", "status"],
3533
3564
  usage: "canonry traffic status <project> [--format json]",
3534
3565
  run: async (input) => {
3535
- const { trafficStatus } = await import("./traffic-NI6ACQO4.js");
3566
+ const { trafficStatus } = await import("./traffic-M4OHG5JW.js");
3536
3567
  const project3 = requireProject(
3537
3568
  input,
3538
3569
  "traffic.status",
@@ -3547,7 +3578,7 @@ var TRAFFIC_CLI_COMMANDS = [
3547
3578
  help: "Stored sampled tail with 30-day retention, not visits. Unknown traffic is excluded by default. No provider calls.",
3548
3579
  options: { kind: stringOption(), source: stringOption(), since: stringOption(), until: stringOption(), "since-minutes": stringOption(), path: stringOption(), limit: stringOption(), offset: stringOption() },
3549
3580
  run: async (input) => {
3550
- const { trafficSamples } = await import("./traffic-NI6ACQO4.js");
3581
+ const { trafficSamples } = await import("./traffic-M4OHG5JW.js");
3551
3582
  const project3 = requireProject(input, "traffic.samples", "canonry traffic samples <project>");
3552
3583
  const integer = (name) => parseIntegerOption(input, name, { command: "traffic.samples", usage: "canonry traffic samples <project>", message: `--${name} must be an integer` });
3553
3584
  await trafficSamples(project3, { kind: getString(input.values, "kind"), sourceId: getString(input.values, "source"), since: getString(input.values, "since"), until: getString(input.values, "until"), sinceMinutes: integer("since-minutes"), path: getString(input.values, "path"), limit: integer("limit"), offset: integer("offset"), format: input.format });
@@ -3566,7 +3597,7 @@ var TRAFFIC_CLI_COMMANDS = [
3566
3597
  granularity: stringOption()
3567
3598
  },
3568
3599
  run: async (input) => {
3569
- const { trafficEvents } = await import("./traffic-NI6ACQO4.js");
3600
+ const { trafficEvents } = await import("./traffic-M4OHG5JW.js");
3570
3601
  const project3 = requireProject(
3571
3602
  input,
3572
3603
  "traffic.events",
@@ -3629,7 +3660,7 @@ var JOURNEYS_CLI_COMMANDS = [
3629
3660
  help: "Stored AI visitor journeys: visitors whose first AI visit fell in the window and how many came back. No provider calls.",
3630
3661
  options: { since: stringOption(), until: stringOption() },
3631
3662
  run: async (input) => {
3632
- const { journeysSummary } = await import("./journeys-VXBGDFBO.js");
3663
+ const { journeysSummary } = await import("./journeys-UWEWJXGT.js");
3633
3664
  const project3 = requireProject(input, "journeys.summary", SUMMARY_USAGE);
3634
3665
  await journeysSummary(project3, { since: getString(input.values, "since"), until: getString(input.values, "until"), format: input.format });
3635
3666
  }
@@ -3640,7 +3671,7 @@ var JOURNEYS_CLI_COMMANDS = [
3640
3671
  help: "Stored AI visitors, newest first AI visit first, with their visits. No provider calls.",
3641
3672
  options: { since: stringOption(), until: stringOption(), engine: stringOption(), returned: stringOption(), limit: stringOption(), offset: stringOption() },
3642
3673
  run: async (input) => {
3643
- const { journeysList } = await import("./journeys-VXBGDFBO.js");
3674
+ const { journeysList } = await import("./journeys-UWEWJXGT.js");
3644
3675
  const project3 = requireProject(input, "journeys.list", LIST_USAGE);
3645
3676
  const integer = (name) => parseIntegerOption(input, name, { command: "journeys.list", usage: LIST_USAGE, message: `--${name} must be an integer` });
3646
3677
  await journeysList(project3, {
@@ -3660,7 +3691,7 @@ var JOURNEYS_CLI_COMMANDS = [
3660
3691
  help: "Stored visits and requests for one AI visitor, a page at a time. No provider calls.",
3661
3692
  options: { limit: stringOption(), offset: stringOption() },
3662
3693
  run: async (input) => {
3663
- const { journeyShow } = await import("./journeys-VXBGDFBO.js");
3694
+ const { journeyShow } = await import("./journeys-UWEWJXGT.js");
3664
3695
  const project3 = requireProject(input, "journeys.show", SHOW_USAGE);
3665
3696
  const visitorKey = requirePositional(input, 1, { command: "journeys.show", usage: SHOW_USAGE, message: "visitor key is required" });
3666
3697
  const integer = (name) => parseIntegerOption(input, name, { command: "journeys.show", usage: SHOW_USAGE, message: `--${name} must be an integer` });
@@ -3711,7 +3742,7 @@ var COMPETITOR_CLI_COMMANDS = [
3711
3742
  supportsDryRun: true,
3712
3743
  accessFor: ({ dryRun }) => dryRun ? OperationAccesses.stored : OperationAccesses.write,
3713
3744
  run: async (input) => {
3714
- const { addCompetitors } = await import("./competitor-4FVAZAQZ.js");
3745
+ const { addCompetitors } = await import("./competitor-IK4GYTZO.js");
3715
3746
  const project3 = requireProject(input, "competitor.add", ADD_USAGE);
3716
3747
  const domains = input.positionals.slice(1);
3717
3748
  if (domains.length === 0) {
@@ -3740,7 +3771,7 @@ Usage: ${ADD_USAGE}`, {
3740
3771
  usage: IMPORT_USAGE,
3741
3772
  options: { "acknowledge-bulk-add": { type: "boolean" }, ...WAIT_OPTIONS },
3742
3773
  run: async (input) => {
3743
- const { importCompetitors } = await import("./competitor-4FVAZAQZ.js");
3774
+ const { importCompetitors } = await import("./competitor-IK4GYTZO.js");
3744
3775
  const project3 = requireProject(input, "competitor.import", IMPORT_USAGE);
3745
3776
  const file = requirePositional(input, 1, { command: "competitor.import", usage: IMPORT_USAGE, message: "input file is required" });
3746
3777
  await importCompetitors(project3, file, input.format, { acknowledgeBulkAdd: getBoolean(input.values, "acknowledge-bulk-add"), wait: getBoolean(input.values, "wait"), waitTimeout: getString(input.values, "wait-timeout") });
@@ -3758,7 +3789,7 @@ Usage: ${ADD_USAGE}`, {
3758
3789
  supportsDryRun: true,
3759
3790
  accessFor: ({ values }) => getBoolean(values, "apply") ? OperationAccesses.write : OperationAccesses.stored,
3760
3791
  run: async (input) => {
3761
- const { detectCompetitorAutoAliases } = await import("./competitor-4FVAZAQZ.js");
3792
+ const { detectCompetitorAutoAliases } = await import("./competitor-IK4GYTZO.js");
3762
3793
  const project3 = requireProject(input, "competitor.aliases.detect", DETECT_USAGE);
3763
3794
  await detectCompetitorAutoAliases(project3, { apply: getBoolean(input.values, "apply"), ...input.dryRun ? { dryRun: true } : {}, format: input.format });
3764
3795
  }
@@ -3781,7 +3812,7 @@ Usage: ${ADD_USAGE}`, {
3781
3812
  return mutating && !dryRun ? OperationAccesses.write : OperationAccesses.stored;
3782
3813
  },
3783
3814
  run: async (input) => {
3784
- const { competitorAliases } = await import("./competitor-4FVAZAQZ.js");
3815
+ const { competitorAliases } = await import("./competitor-IK4GYTZO.js");
3785
3816
  const project3 = requireProject(input, "competitor.aliases", ALIASES_USAGE);
3786
3817
  const domain = requirePositional(input, 1, {
3787
3818
  command: "competitor.aliases",
@@ -3818,7 +3849,7 @@ Usage: ${ALIASES_USAGE}`, {
3818
3849
  usage: "canonry competitor remove <project> <domain...> [--dry-run] [--format json]",
3819
3850
  accessFor: ({ dryRun }) => dryRun ? OperationAccesses.stored : OperationAccesses.write,
3820
3851
  run: async (input) => {
3821
- const { removeCompetitors } = await import("./competitor-4FVAZAQZ.js");
3852
+ const { removeCompetitors } = await import("./competitor-IK4GYTZO.js");
3822
3853
  const project3 = requireProject(input, "competitor.remove", "canonry competitor remove <project> <domain...> [--dry-run] [--format json]");
3823
3854
  const domains = input.positionals.slice(1);
3824
3855
  if (domains.length === 0) {
@@ -3839,7 +3870,7 @@ Usage: ${ALIASES_USAGE}`, {
3839
3870
  usage: "canonry competitor delete <project> <domain...> [--dry-run] [--format json]",
3840
3871
  accessFor: ({ dryRun }) => dryRun ? OperationAccesses.stored : OperationAccesses.write,
3841
3872
  run: async (input) => {
3842
- const { removeCompetitors } = await import("./competitor-4FVAZAQZ.js");
3873
+ const { removeCompetitors } = await import("./competitor-IK4GYTZO.js");
3843
3874
  const project3 = requireProject(input, "competitor.delete", "canonry competitor delete <project> <domain...> [--dry-run] [--format json]");
3844
3875
  const domains = input.positionals.slice(1);
3845
3876
  if (domains.length === 0) {
@@ -3858,7 +3889,7 @@ Usage: ${ALIASES_USAGE}`, {
3858
3889
  path: ["competitor", "list"],
3859
3890
  usage: "canonry competitor list <project> [--format json]",
3860
3891
  run: async (input) => {
3861
- const { listCompetitors } = await import("./competitor-4FVAZAQZ.js");
3892
+ const { listCompetitors } = await import("./competitor-IK4GYTZO.js");
3862
3893
  const project3 = requireProject(input, "competitor.list", "canonry competitor list <project>");
3863
3894
  await listCompetitors(project3, input.format);
3864
3895
  }
@@ -3880,7 +3911,7 @@ Usage: ${ALIASES_USAGE}`, {
3880
3911
  answers: stringOption()
3881
3912
  },
3882
3913
  run: async (input) => {
3883
- const { showCompetitorLandscape } = await import("./competitor-4FVAZAQZ.js");
3914
+ const { showCompetitorLandscape } = await import("./competitor-IK4GYTZO.js");
3884
3915
  const project3 = requireProject(input, "competitor.landscape", LANDSCAPE_USAGE);
3885
3916
  const scope = parseLandscapeScope(getString(input.values, "scope"));
3886
3917
  const groupKey = getString(input.values, "group-key");
@@ -3927,7 +3958,7 @@ Usage: ${ALIASES_USAGE}`, {
3927
3958
  limit: stringOption()
3928
3959
  },
3929
3960
  run: async (input) => {
3930
- const { suggestCompetitors } = await import("./competitor-4FVAZAQZ.js");
3961
+ const { suggestCompetitors } = await import("./competitor-IK4GYTZO.js");
3931
3962
  const project3 = requireProject(input, "competitor.suggest", SUGGEST_USAGE);
3932
3963
  const minAnswers = parseIntegerOption(input, "min-answers", {
3933
3964
  command: "competitor.suggest",
@@ -3978,7 +4009,7 @@ var GOOGLE_CLI_COMMANDS = [
3978
4009
  "public-url": stringOption()
3979
4010
  },
3980
4011
  run: async (input) => {
3981
- const { googleConnect } = await import("./google-57XEYVOU.js");
4012
+ const { googleConnect } = await import("./google-JFUE4BNJ.js");
3982
4013
  const project3 = requireProject(input, "google.connect", "canonry google connect <project> [--type gsc|ga4] [--public-url <url>] [--format json]");
3983
4014
  await googleConnect(project3, {
3984
4015
  type: getString(input.values, "type") ?? "gsc",
@@ -3994,7 +4025,7 @@ var GOOGLE_CLI_COMMANDS = [
3994
4025
  type: stringOption()
3995
4026
  },
3996
4027
  run: async (input) => {
3997
- const { googleDisconnect } = await import("./google-57XEYVOU.js");
4028
+ const { googleDisconnect } = await import("./google-JFUE4BNJ.js");
3998
4029
  const project3 = requireProject(input, "google.disconnect", "canonry google disconnect <project> [--type gsc|ga4] [--format json]");
3999
4030
  await googleDisconnect(project3, {
4000
4031
  type: getString(input.values, "type") ?? "gsc",
@@ -4006,7 +4037,7 @@ var GOOGLE_CLI_COMMANDS = [
4006
4037
  path: ["google", "status"],
4007
4038
  usage: "canonry google status <project> [--format json]",
4008
4039
  run: async (input) => {
4009
- const { googleStatus } = await import("./google-57XEYVOU.js");
4040
+ const { googleStatus } = await import("./google-JFUE4BNJ.js");
4010
4041
  const project3 = requireProject(input, "google.status", "canonry google status <project> [--format json]");
4011
4042
  await googleStatus(project3, input.format);
4012
4043
  }
@@ -4015,7 +4046,7 @@ var GOOGLE_CLI_COMMANDS = [
4015
4046
  path: ["google", "properties"],
4016
4047
  usage: "canonry google properties <project> [--format json]",
4017
4048
  run: async (input) => {
4018
- const { googleProperties } = await import("./google-57XEYVOU.js");
4049
+ const { googleProperties } = await import("./google-JFUE4BNJ.js");
4019
4050
  const project3 = requireProject(input, "google.properties", "canonry google properties <project> [--format json]");
4020
4051
  await googleProperties(project3, input.format);
4021
4052
  }
@@ -4024,7 +4055,7 @@ var GOOGLE_CLI_COMMANDS = [
4024
4055
  path: ["google", "set-property"],
4025
4056
  usage: "canonry google set-property <project> <url> [--format json]",
4026
4057
  run: async (input) => {
4027
- const { googleSetProperty } = await import("./google-57XEYVOU.js");
4058
+ const { googleSetProperty } = await import("./google-JFUE4BNJ.js");
4028
4059
  const project3 = requireProject(input, "google.set-property", "canonry google set-property <project> <url> [--format json]");
4029
4060
  const propertyUrl = requirePositional(input, 1, {
4030
4061
  command: "google.set-property",
@@ -4038,7 +4069,7 @@ var GOOGLE_CLI_COMMANDS = [
4038
4069
  path: ["google", "set-sitemap"],
4039
4070
  usage: "canonry google set-sitemap <project> <url> [--format json]",
4040
4071
  run: async (input) => {
4041
- const { googleSetSitemap } = await import("./google-57XEYVOU.js");
4072
+ const { googleSetSitemap } = await import("./google-JFUE4BNJ.js");
4042
4073
  const project3 = requireProject(input, "google.set-sitemap", "canonry google set-sitemap <project> <url> [--format json]");
4043
4074
  const sitemapUrl = requirePositional(input, 1, {
4044
4075
  command: "google.set-sitemap",
@@ -4052,7 +4083,7 @@ var GOOGLE_CLI_COMMANDS = [
4052
4083
  path: ["google", "list-sitemaps"],
4053
4084
  usage: "canonry google list-sitemaps <project> [--format json]",
4054
4085
  run: async (input) => {
4055
- const { googleListSitemaps } = await import("./google-57XEYVOU.js");
4086
+ const { googleListSitemaps } = await import("./google-JFUE4BNJ.js");
4056
4087
  const project3 = requireProject(input, "google.list-sitemaps", "canonry google list-sitemaps <project> [--format json]");
4057
4088
  await googleListSitemaps(project3, { format: input.format });
4058
4089
  }
@@ -4066,7 +4097,7 @@ var GOOGLE_CLI_COMMANDS = [
4066
4097
  "all-files": { type: "boolean", default: false }
4067
4098
  },
4068
4099
  run: async (input) => {
4069
- const { googleSubmitSitemaps } = await import("./google-57XEYVOU.js");
4100
+ const { googleSubmitSitemaps } = await import("./google-JFUE4BNJ.js");
4070
4101
  const project3 = requireProject(input, "google.submit-sitemap", "canonry google submit-sitemap <project> [url...] [--configured|--all|--all-files] [--format json|jsonl]");
4071
4102
  const sitemapUrls = input.positionals.slice(1);
4072
4103
  const configured = getBoolean(input.values, "configured");
@@ -4100,7 +4131,7 @@ var GOOGLE_CLI_COMMANDS = [
4100
4131
  wait: { type: "boolean", default: false }
4101
4132
  },
4102
4133
  run: async (input) => {
4103
- const { googleSync } = await import("./google-57XEYVOU.js");
4134
+ const { googleSync } = await import("./google-JFUE4BNJ.js");
4104
4135
  const project3 = requireProject(input, "google.sync", "canonry google sync <project> [--type gsc|ga4] [--days <n>] [--full] [--wait] [--format json]");
4105
4136
  await googleSync(project3, {
4106
4137
  type: getString(input.values, "type") ?? "gsc",
@@ -4130,7 +4161,7 @@ var GOOGLE_CLI_COMMANDS = [
4130
4161
  "order-by": stringOption()
4131
4162
  },
4132
4163
  run: async (input) => {
4133
- const { googlePerformance } = await import("./google-57XEYVOU.js");
4164
+ const { googlePerformance } = await import("./google-JFUE4BNJ.js");
4134
4165
  const project3 = requireProject(input, "google.performance", GOOGLE_PERFORMANCE_USAGE);
4135
4166
  const startDate = getString(input.values, "start");
4136
4167
  const endDate = getString(input.values, "end");
@@ -4181,7 +4212,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4181
4212
  end: stringOption()
4182
4213
  },
4183
4214
  run: async (input) => {
4184
- const { googlePerformanceDaily } = await import("./google-57XEYVOU.js");
4215
+ const { googlePerformanceDaily } = await import("./google-JFUE4BNJ.js");
4185
4216
  const project3 = requireProject(input, "google.performance-daily", "canonry google performance-daily <project> [--window 7d|30d|90d|all] [--start <YYYY-MM-DD>] [--end <YYYY-MM-DD>] [--format json]");
4186
4217
  await googlePerformanceDaily(project3, {
4187
4218
  window: getString(input.values, "window"),
@@ -4202,7 +4233,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4202
4233
  limit: stringOption()
4203
4234
  },
4204
4235
  run: async (input) => {
4205
- const { googleTopPages } = await import("./google-57XEYVOU.js");
4236
+ const { googleTopPages } = await import("./google-JFUE4BNJ.js");
4206
4237
  const usage = "canonry google top-pages <project> [--window 7d|30d|90d|all] [--start <YYYY-MM-DD>] [--end <YYYY-MM-DD>] [--limit <n>] [--format json]";
4207
4238
  const project3 = requireProject(input, "google.top-pages", usage);
4208
4239
  await googleTopPages(project3, {
@@ -4230,7 +4261,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4230
4261
  offset: stringOption()
4231
4262
  },
4232
4263
  run: async (input) => {
4233
- const { googleQueryTotals } = await import("./google-57XEYVOU.js");
4264
+ const { googleQueryTotals } = await import("./google-JFUE4BNJ.js");
4234
4265
  const project3 = requireProject(input, "google.query-totals", GOOGLE_QUERY_TOTALS_USAGE);
4235
4266
  await googleQueryTotals(project3, {
4236
4267
  window: getString(input.values, "window"),
@@ -4254,7 +4285,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4254
4285
  path: ["google", "inspect"],
4255
4286
  usage: "canonry google inspect <project> <url> [--format json]",
4256
4287
  run: async (input) => {
4257
- const { googleInspect } = await import("./google-57XEYVOU.js");
4288
+ const { googleInspect } = await import("./google-JFUE4BNJ.js");
4258
4289
  const project3 = requireProject(input, "google.inspect", "canonry google inspect <project> <url> [--format json]");
4259
4290
  const url = requirePositional(input, 1, {
4260
4291
  command: "google.inspect",
@@ -4271,7 +4302,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4271
4302
  url: stringOption()
4272
4303
  },
4273
4304
  run: async (input) => {
4274
- const { googleInspections } = await import("./google-57XEYVOU.js");
4305
+ const { googleInspections } = await import("./google-JFUE4BNJ.js");
4275
4306
  const project3 = requireProject(input, "google.inspections", "canonry google inspections <project> [--url <url>] [--format json]");
4276
4307
  await googleInspections(project3, {
4277
4308
  url: getString(input.values, "url"),
@@ -4287,7 +4318,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4287
4318
  wait: { type: "boolean", default: false }
4288
4319
  },
4289
4320
  run: async (input) => {
4290
- const { googleInspectSitemap } = await import("./google-57XEYVOU.js");
4321
+ const { googleInspectSitemap } = await import("./google-JFUE4BNJ.js");
4291
4322
  const project3 = requireProject(input, "google.inspect-sitemap", "canonry google inspect-sitemap <project> [--sitemap-url <url>] [--wait] [--format json]");
4292
4323
  await googleInspectSitemap(project3, {
4293
4324
  sitemapUrl: getString(input.values, "sitemap-url"),
@@ -4300,7 +4331,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4300
4331
  path: ["google", "coverage"],
4301
4332
  usage: "canonry google coverage <project> [--format json]",
4302
4333
  run: async (input) => {
4303
- const { googleCoverage } = await import("./google-57XEYVOU.js");
4334
+ const { googleCoverage } = await import("./google-JFUE4BNJ.js");
4304
4335
  const project3 = requireProject(input, "google.coverage", "canonry google coverage <project> [--format json]");
4305
4336
  await googleCoverage(project3, input.format);
4306
4337
  }
@@ -4312,7 +4343,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4312
4343
  limit: stringOption()
4313
4344
  },
4314
4345
  run: async (input) => {
4315
- const { googleCoverageHistory } = await import("./google-57XEYVOU.js");
4346
+ const { googleCoverageHistory } = await import("./google-JFUE4BNJ.js");
4316
4347
  const project3 = requireProject(input, "google.coverage-history", "canonry google coverage-history <project> [--limit <n>] [--format json]");
4317
4348
  await googleCoverageHistory(project3, {
4318
4349
  limit: parseIntegerOption(input, "limit", {
@@ -4328,7 +4359,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4328
4359
  path: ["google", "deindexed"],
4329
4360
  usage: "canonry google deindexed <project> [--format json]",
4330
4361
  run: async (input) => {
4331
- const { googleDeindexed } = await import("./google-57XEYVOU.js");
4362
+ const { googleDeindexed } = await import("./google-JFUE4BNJ.js");
4332
4363
  const project3 = requireProject(input, "google.deindexed", "canonry google deindexed <project> [--format json]");
4333
4364
  await googleDeindexed(project3, input.format);
4334
4365
  }
@@ -4340,7 +4371,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4340
4371
  wait: { type: "boolean", default: false }
4341
4372
  },
4342
4373
  run: async (input) => {
4343
- const { googleDiscoverSitemaps } = await import("./google-57XEYVOU.js");
4374
+ const { googleDiscoverSitemaps } = await import("./google-JFUE4BNJ.js");
4344
4375
  const project3 = requireProject(input, "google.discover-sitemaps", "canonry google discover-sitemaps <project> [--wait] [--format json]");
4345
4376
  await googleDiscoverSitemaps(project3, {
4346
4377
  wait: getBoolean(input.values, "wait"),
@@ -4356,7 +4387,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4356
4387
  wait: { type: "boolean", default: false }
4357
4388
  },
4358
4389
  run: async (input) => {
4359
- const { googleRequestIndexing } = await import("./google-57XEYVOU.js");
4390
+ const { googleRequestIndexing } = await import("./google-JFUE4BNJ.js");
4360
4391
  const project3 = requireProject(input, "google.request-indexing", "canonry google request-indexing <project> [url] [--all-unindexed] [--wait] [--format json]");
4361
4392
  const url = input.positionals[1];
4362
4393
  const allUnindexed = getBoolean(input.values, "all-unindexed");
@@ -4381,7 +4412,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4381
4412
  path: ["google", "refresh"],
4382
4413
  usage: "canonry google refresh <project> [--format json]",
4383
4414
  run: async (input) => {
4384
- const { googleRefresh } = await import("./google-57XEYVOU.js");
4415
+ const { googleRefresh } = await import("./google-JFUE4BNJ.js");
4385
4416
  const project3 = requireProject(input, "google.refresh", "canonry google refresh <project> [--format json]");
4386
4417
  await googleRefresh(project3, input.format);
4387
4418
  }
@@ -4405,7 +4436,7 @@ var KEYS_CLI_COMMANDS = [
4405
4436
  path: ["key", "list"],
4406
4437
  usage: "canonry key list [--format json|jsonl]",
4407
4438
  run: async (input) => {
4408
- const { listApiKeys } = await import("./keys-YMB5HAAG.js");
4439
+ const { listApiKeys } = await import("./keys-CL5YYE7Q.js");
4409
4440
  await listApiKeys(input.format);
4410
4441
  }
4411
4442
  },
@@ -4419,7 +4450,7 @@ var KEYS_CLI_COMMANDS = [
4419
4450
  project: stringOption()
4420
4451
  },
4421
4452
  run: async (input) => {
4422
- const { createApiKey } = await import("./keys-YMB5HAAG.js");
4453
+ const { createApiKey } = await import("./keys-CL5YYE7Q.js");
4423
4454
  const name = requireStringOption(input, "name", {
4424
4455
  command: "key.create",
4425
4456
  usage: "canonry key create --name <name> [--read-only | --scope <s> ...] [--project <name>] [--format json]",
@@ -4440,7 +4471,7 @@ var KEYS_CLI_COMMANDS = [
4440
4471
  path: ["key", "whoami"],
4441
4472
  usage: "canonry key whoami [--format json]",
4442
4473
  run: async (input) => {
4443
- const { showApiKeySelf } = await import("./keys-YMB5HAAG.js");
4474
+ const { showApiKeySelf } = await import("./keys-CL5YYE7Q.js");
4444
4475
  await showApiKeySelf(input.format);
4445
4476
  }
4446
4477
  },
@@ -4448,7 +4479,7 @@ var KEYS_CLI_COMMANDS = [
4448
4479
  path: ["key", "revoke"],
4449
4480
  usage: "canonry key revoke <id> [--format json]",
4450
4481
  run: async (input) => {
4451
- const { revokeApiKey } = await import("./keys-YMB5HAAG.js");
4482
+ const { revokeApiKey } = await import("./keys-CL5YYE7Q.js");
4452
4483
  const id2 = requirePositional(input, 0, {
4453
4484
  command: "key.revoke",
4454
4485
  usage: "canonry key revoke <id> [--format json]",
@@ -4477,7 +4508,7 @@ var USERS_CLI_COMMANDS = [
4477
4508
  path: ["user", "list"],
4478
4509
  usage: "canonry user list [--format json|jsonl]",
4479
4510
  run: async (input) => {
4480
- const { listUsers } = await import("./users-XTZ65NLC.js");
4511
+ const { listUsers } = await import("./users-GU7MULRM.js");
4481
4512
  await listUsers(input.format);
4482
4513
  }
4483
4514
  },
@@ -4492,7 +4523,7 @@ var USERS_CLI_COMMANDS = [
4492
4523
  "password-stdin": { type: "boolean" }
4493
4524
  },
4494
4525
  run: async (input) => {
4495
- const { createUser } = await import("./users-XTZ65NLC.js");
4526
+ const { createUser } = await import("./users-GU7MULRM.js");
4496
4527
  const name = requireStringOption(input, "name", {
4497
4528
  command: "user.create",
4498
4529
  usage: CREATE_USAGE,
@@ -4515,7 +4546,7 @@ var USERS_CLI_COMMANDS = [
4515
4546
  path: ["user", "delete"],
4516
4547
  usage: "canonry user delete <name> [--format json]",
4517
4548
  run: async (input) => {
4518
- const { deleteUser } = await import("./users-XTZ65NLC.js");
4549
+ const { deleteUser } = await import("./users-GU7MULRM.js");
4519
4550
  const name = requirePositional(input, 0, {
4520
4551
  command: "user.delete",
4521
4552
  usage: "canonry user delete <name> [--format json]",
@@ -4543,7 +4574,7 @@ var KEYWORD_CLI_COMMANDS = [
4543
4574
  path: ["keyword", "add"],
4544
4575
  usage: "canonry keyword add <project> <kw...> [--format json]",
4545
4576
  run: async (input) => {
4546
- const { addKeywords } = await import("./keyword-RZEMKH3K.js");
4577
+ const { addKeywords } = await import("./keyword-IFCC5IZT.js");
4547
4578
  const project3 = requireProject(input, "keyword.add", "canonry keyword add <project> <kw...> [--format json]");
4548
4579
  const keywords = input.positionals.slice(1);
4549
4580
  if (keywords.length === 0) {
@@ -4562,7 +4593,7 @@ var KEYWORD_CLI_COMMANDS = [
4562
4593
  path: ["keyword", "replace"],
4563
4594
  usage: "canonry keyword replace <project> <kw...> [--format json]",
4564
4595
  run: async (input) => {
4565
- const { replaceKeywords } = await import("./keyword-RZEMKH3K.js");
4596
+ const { replaceKeywords } = await import("./keyword-IFCC5IZT.js");
4566
4597
  const project3 = requireProject(input, "keyword.replace", "canonry keyword replace <project> <kw...> [--format json]");
4567
4598
  const keywords = input.positionals.slice(1);
4568
4599
  if (keywords.length === 0) {
@@ -4581,7 +4612,7 @@ var KEYWORD_CLI_COMMANDS = [
4581
4612
  path: ["keyword", "remove"],
4582
4613
  usage: "canonry keyword remove <project> <kw...> [--format json]",
4583
4614
  run: async (input) => {
4584
- const { removeKeywords } = await import("./keyword-RZEMKH3K.js");
4615
+ const { removeKeywords } = await import("./keyword-IFCC5IZT.js");
4585
4616
  const project3 = requireProject(input, "keyword.remove", "canonry keyword remove <project> <kw...> [--format json]");
4586
4617
  const keywords = input.positionals.slice(1);
4587
4618
  if (keywords.length === 0) {
@@ -4600,7 +4631,7 @@ var KEYWORD_CLI_COMMANDS = [
4600
4631
  path: ["keyword", "delete"],
4601
4632
  usage: "canonry keyword delete <project> <kw...> [--format json]",
4602
4633
  run: async (input) => {
4603
- const { removeKeywords } = await import("./keyword-RZEMKH3K.js");
4634
+ const { removeKeywords } = await import("./keyword-IFCC5IZT.js");
4604
4635
  const project3 = requireProject(input, "keyword.delete", "canonry keyword delete <project> <kw...> [--format json]");
4605
4636
  const keywords = input.positionals.slice(1);
4606
4637
  if (keywords.length === 0) {
@@ -4619,7 +4650,7 @@ var KEYWORD_CLI_COMMANDS = [
4619
4650
  path: ["keyword", "list"],
4620
4651
  usage: "canonry keyword list <project> [--format json]",
4621
4652
  run: async (input) => {
4622
- const { listKeywords } = await import("./keyword-RZEMKH3K.js");
4653
+ const { listKeywords } = await import("./keyword-IFCC5IZT.js");
4623
4654
  const project3 = requireProject(input, "keyword.list", "canonry keyword list <project> [--format json]");
4624
4655
  await listKeywords(project3, input.format);
4625
4656
  }
@@ -4628,7 +4659,7 @@ var KEYWORD_CLI_COMMANDS = [
4628
4659
  path: ["keyword", "import"],
4629
4660
  usage: "canonry keyword import <project> <file> [--format json]",
4630
4661
  run: async (input) => {
4631
- const { importKeywords } = await import("./keyword-RZEMKH3K.js");
4662
+ const { importKeywords } = await import("./keyword-IFCC5IZT.js");
4632
4663
  const project3 = requireProject(input, "keyword.import", "canonry keyword import <project> <file> [--format json]");
4633
4664
  const filePath = requirePositional(input, 1, {
4634
4665
  command: "keyword.import",
@@ -4647,7 +4678,7 @@ var KEYWORD_CLI_COMMANDS = [
4647
4678
  save: { type: "boolean", default: false }
4648
4679
  },
4649
4680
  run: async (input) => {
4650
- const { generateKeywords } = await import("./keyword-RZEMKH3K.js");
4681
+ const { generateKeywords } = await import("./keyword-IFCC5IZT.js");
4651
4682
  const project3 = requireProject(
4652
4683
  input,
4653
4684
  "keyword.generate",
@@ -4688,7 +4719,7 @@ var QUERY_CLI_COMMANDS = [
4688
4719
  path: ["query", action],
4689
4720
  usage: `canonry query ${action} <project>${action === "workspace" ? "" : " <json|->"} [--format json]`,
4690
4721
  run: async (input) => {
4691
- const { runAdvancedMeasurementOperation: runAdvancedMeasurementOperation2 } = await import("./measurement-plan-LE7INWW6.js");
4722
+ const { runAdvancedMeasurementOperation: runAdvancedMeasurementOperation2 } = await import("./measurement-plan-GYSO6CXX.js");
4692
4723
  const usage = `canonry query ${action} <project>${action === "workspace" ? "" : " <json|->"} [--format json]`;
4693
4724
  const project3 = requireProject(input, `query.${action}`, usage);
4694
4725
  const source = action === "workspace" ? void 0 : requirePositional(input, 1, {
@@ -4703,7 +4734,7 @@ var QUERY_CLI_COMMANDS = [
4703
4734
  path: ["query", "add"],
4704
4735
  usage: "canonry query add <project> <query...> [--format json]",
4705
4736
  run: async (input) => {
4706
- const { addQueries } = await import("./query-EUDMU6L7.js");
4737
+ const { addQueries } = await import("./query-FM5HDHO4.js");
4707
4738
  const project3 = requireProject(input, "query.add", "canonry query add <project> <query...> [--format json]");
4708
4739
  const queries = input.positionals.slice(1);
4709
4740
  if (queries.length === 0) {
@@ -4723,7 +4754,7 @@ var QUERY_CLI_COMMANDS = [
4723
4754
  usage: "canonry query replace <project> <query...> [--dry-run] [--format json]",
4724
4755
  supportsDryRun: true,
4725
4756
  run: async (input) => {
4726
- const { replaceQueries } = await import("./query-EUDMU6L7.js");
4757
+ const { replaceQueries } = await import("./query-FM5HDHO4.js");
4727
4758
  const project3 = requireProject(input, "query.replace", "canonry query replace <project> <query...> [--dry-run] [--format json]");
4728
4759
  const queries = input.positionals.slice(1);
4729
4760
  if (queries.length === 0) {
@@ -4742,7 +4773,7 @@ var QUERY_CLI_COMMANDS = [
4742
4773
  path: ["query", "remove"],
4743
4774
  usage: "canonry query remove <project> <query...> [--format json]",
4744
4775
  run: async (input) => {
4745
- const { removeQueries } = await import("./query-EUDMU6L7.js");
4776
+ const { removeQueries } = await import("./query-FM5HDHO4.js");
4746
4777
  const project3 = requireProject(input, "query.remove", "canonry query remove <project> <query...> [--format json]");
4747
4778
  const queries = input.positionals.slice(1);
4748
4779
  if (queries.length === 0) {
@@ -4761,7 +4792,7 @@ var QUERY_CLI_COMMANDS = [
4761
4792
  path: ["query", "delete"],
4762
4793
  usage: "canonry query delete <project> <query...> [--format json]",
4763
4794
  run: async (input) => {
4764
- const { removeQueries } = await import("./query-EUDMU6L7.js");
4795
+ const { removeQueries } = await import("./query-FM5HDHO4.js");
4765
4796
  const project3 = requireProject(input, "query.delete", "canonry query delete <project> <query...> [--format json]");
4766
4797
  const queries = input.positionals.slice(1);
4767
4798
  if (queries.length === 0) {
@@ -4780,7 +4811,7 @@ var QUERY_CLI_COMMANDS = [
4780
4811
  path: ["query", "list"],
4781
4812
  usage: "canonry query list <project> [--format json]",
4782
4813
  run: async (input) => {
4783
- const { listQueries } = await import("./query-EUDMU6L7.js");
4814
+ const { listQueries } = await import("./query-FM5HDHO4.js");
4784
4815
  const project3 = requireProject(input, "query.list", "canonry query list <project> [--format json]");
4785
4816
  await listQueries(project3, input.format);
4786
4817
  }
@@ -4789,7 +4820,7 @@ var QUERY_CLI_COMMANDS = [
4789
4820
  path: ["query", "import"],
4790
4821
  usage: "canonry query import <project> <file> [--format json]",
4791
4822
  run: async (input) => {
4792
- const { importQueries } = await import("./query-EUDMU6L7.js");
4823
+ const { importQueries } = await import("./query-FM5HDHO4.js");
4793
4824
  const project3 = requireProject(input, "query.import", "canonry query import <project> <file> [--format json]");
4794
4825
  const filePath = requirePositional(input, 1, {
4795
4826
  command: "query.import",
@@ -4808,7 +4839,7 @@ var QUERY_CLI_COMMANDS = [
4808
4839
  save: { type: "boolean", default: false }
4809
4840
  },
4810
4841
  run: async (input) => {
4811
- const { generateQueries } = await import("./query-EUDMU6L7.js");
4842
+ const { generateQueries } = await import("./query-FM5HDHO4.js");
4812
4843
  const project3 = requireProject(
4813
4844
  input,
4814
4845
  "query.generate",
@@ -4850,7 +4881,7 @@ var MCP_CLI_COMMANDS = [
4850
4881
  path: ["mcp", "profile"],
4851
4882
  usage: "canonry mcp profile [--format json]",
4852
4883
  run: async (input) => {
4853
- const { showMcpProfile } = await import("./mcp-KK6EFHAZ.js");
4884
+ const { showMcpProfile } = await import("./mcp-B6L7PKZ4.js");
4854
4885
  await showMcpProfile(input.format);
4855
4886
  }
4856
4887
  },
@@ -4866,7 +4897,7 @@ var MCP_CLI_COMMANDS = [
4866
4897
  "config-path": stringOption()
4867
4898
  },
4868
4899
  run: async (input) => {
4869
- const { installMcp } = await import("./mcp-KK6EFHAZ.js");
4900
+ const { installMcp } = await import("./mcp-B6L7PKZ4.js");
4870
4901
  const usage = `canonry mcp install --client ${CLIENT_LIST} [--name <server>] [--read-only] [--dry-run] [--config-path <path>] [--format json]`;
4871
4902
  const client = requireStringOption(input, "client", {
4872
4903
  command: "mcp.install",
@@ -4893,7 +4924,7 @@ var MCP_CLI_COMMANDS = [
4893
4924
  "read-only": { type: "boolean" }
4894
4925
  },
4895
4926
  run: async (input) => {
4896
- const { printMcpConfig } = await import("./mcp-KK6EFHAZ.js");
4927
+ const { printMcpConfig } = await import("./mcp-B6L7PKZ4.js");
4897
4928
  const usage = `canonry mcp config --client ${CLIENT_LIST} [--name <server>] [--read-only] [--format json]`;
4898
4929
  const client = requireStringOption(input, "client", {
4899
4930
  command: "mcp.config",
@@ -4929,7 +4960,7 @@ var NOTIFY_CLI_COMMANDS = [
4929
4960
  usage: "canonry notify events [--target local|server] [--format json|jsonl]",
4930
4961
  options: { target: stringOption() },
4931
4962
  run: async (input) => {
4932
- const { listEvents } = await import("./notify-T6T5LYRR.js");
4963
+ const { listEvents } = await import("./notify-XM23I2B3.js");
4933
4964
  await listEvents(input.format, getString(input.values, "target"));
4934
4965
  }
4935
4966
  },
@@ -4941,7 +4972,7 @@ var NOTIFY_CLI_COMMANDS = [
4941
4972
  events: stringOption()
4942
4973
  },
4943
4974
  run: async (input) => {
4944
- const { addNotification } = await import("./notify-T6T5LYRR.js");
4975
+ const { addNotification } = await import("./notify-XM23I2B3.js");
4945
4976
  const project3 = requireProject(input, "notify.add", "canonry notify add <project> --webhook <url> --events <list> [--format json]");
4946
4977
  const webhook = requireStringOption(input, "webhook", {
4947
4978
  command: "notify.add",
@@ -4964,7 +4995,7 @@ var NOTIFY_CLI_COMMANDS = [
4964
4995
  path: ["notify", "list"],
4965
4996
  usage: "canonry notify list <project> [--format json]",
4966
4997
  run: async (input) => {
4967
- const { listNotifications } = await import("./notify-T6T5LYRR.js");
4998
+ const { listNotifications } = await import("./notify-XM23I2B3.js");
4968
4999
  const project3 = requireProject(input, "notify.list", "canonry notify list <project> [--format json]");
4969
5000
  await listNotifications(project3, input.format);
4970
5001
  }
@@ -4973,7 +5004,7 @@ var NOTIFY_CLI_COMMANDS = [
4973
5004
  path: ["notify", "remove"],
4974
5005
  usage: "canonry notify remove <project> <id> [--format json]",
4975
5006
  run: async (input) => {
4976
- const { removeNotification } = await import("./notify-T6T5LYRR.js");
5007
+ const { removeNotification } = await import("./notify-XM23I2B3.js");
4977
5008
  const project3 = requireProject(input, "notify.remove", "canonry notify remove <project> <id> [--format json]");
4978
5009
  const id2 = requirePositional(input, 1, {
4979
5010
  command: "notify.remove",
@@ -4987,7 +5018,7 @@ var NOTIFY_CLI_COMMANDS = [
4987
5018
  path: ["notify", "test"],
4988
5019
  usage: "canonry notify test <project> <id> [--format json]",
4989
5020
  run: async (input) => {
4990
- const { testNotification } = await import("./notify-T6T5LYRR.js");
5021
+ const { testNotification } = await import("./notify-XM23I2B3.js");
4991
5022
  const project3 = requireProject(input, "notify.test", "canonry notify test <project> <id> [--format json]");
4992
5023
  const id2 = requirePositional(input, 1, {
4993
5024
  command: "notify.test",
@@ -5151,7 +5182,7 @@ var OPERATOR_CLI_COMMANDS = [
5151
5182
  usage: RESULTS_CLEAR_USAGE,
5152
5183
  options: { run: multiStringOption(), "research-run": multiStringOption(), confirm: { type: "boolean", default: false } },
5153
5184
  run: async (input) => {
5154
- const { clearResults } = await import("./history-5XYZNWGP.js");
5185
+ const { clearResults } = await import("./history-QA4ZXCVH.js");
5155
5186
  await clearResults(requireProject(input, "results.clear", RESULTS_CLEAR_USAGE), {
5156
5187
  runIds: getStringArray(input.values, "run") ?? [],
5157
5188
  researchRunIds: getStringArray(input.values, "research-run") ?? [],
@@ -5170,7 +5201,7 @@ var OPERATOR_CLI_COMMANDS = [
5170
5201
  output: { type: "string", short: "o" }
5171
5202
  },
5172
5203
  run: async (input) => {
5173
- const { exportResults } = await import("./results-export-GKXHX55L.js");
5204
+ const { exportResults } = await import("./results-export-JJDGG6ZP.js");
5174
5205
  const project3 = requireProject(input, "results export", RESULTS_EXPORT_USAGE);
5175
5206
  await exportResults(project3, {
5176
5207
  format: parseResultsExportFormat(getString(input.values, "format")),
@@ -5186,7 +5217,7 @@ var OPERATOR_CLI_COMMANDS = [
5186
5217
  usage: "canonry status <project>|--all [--problems] [--format json|jsonl]",
5187
5218
  options: { all: { type: "boolean", default: false }, problems: { type: "boolean", default: false } },
5188
5219
  run: async (input) => {
5189
- const { showStatus } = await import("./status-UZ4SE7ZP.js");
5220
+ const { showStatus } = await import("./status-RNBSFZ6Q.js");
5190
5221
  const all = getBoolean(input.values, "all");
5191
5222
  const usage = "canonry status <project>|--all [--problems] [--format json|jsonl]";
5192
5223
  const project3 = all ? void 0 : requireProject(input, "status", usage);
@@ -5197,7 +5228,7 @@ var OPERATOR_CLI_COMMANDS = [
5197
5228
  path: ["evidence"],
5198
5229
  usage: "canonry evidence <project> [--format json]",
5199
5230
  run: async (input) => {
5200
- const { showEvidence } = await import("./evidence-LMGRT5IO.js");
5231
+ const { showEvidence } = await import("./evidence-4NFL5KM3.js");
5201
5232
  const project3 = requireProject(input, "evidence", "canonry evidence <project> [--format json]");
5202
5233
  await showEvidence(project3, input.format);
5203
5234
  }
@@ -5219,7 +5250,7 @@ var OPERATOR_CLI_COMMANDS = [
5219
5250
  "entity-type": stringOption()
5220
5251
  },
5221
5252
  run: async (input) => {
5222
- const { showHistory } = await import("./history-5XYZNWGP.js");
5253
+ const { showHistory } = await import("./history-QA4ZXCVH.js");
5223
5254
  const usage = "canonry history <project> [--limit <1..500>] [--offset <n>] [--since <ISO>] [--until <ISO>] [--action <action>] [--action-prefix <prefix>] [--actor <actor>] [--entity-type <type>] [--exclude-entity-type <type>]... [--entity-id <id>] [--format json|jsonl]\n canonry history --all [same filters]";
5224
5255
  if (getBoolean(input.values, "all") && input.positionals.length > 0) throw usageError("Use a project or --all, not both.");
5225
5256
  const project3 = getBoolean(input.values, "all") ? void 0 : requireProject(input, "history", usage);
@@ -5245,7 +5276,7 @@ var OPERATOR_CLI_COMMANDS = [
5245
5276
  "include-secrets": { type: "boolean", default: false }
5246
5277
  },
5247
5278
  run: async (input) => {
5248
- const { exportProject } = await import("./export-cmd-LBLZ273Z.js");
5279
+ const { exportProject } = await import("./export-cmd-BQC6XLJ7.js");
5249
5280
  const project3 = requireProject(input, "export", "canonry export <project> [--include-results] [--include-secrets] [--format json]");
5250
5281
  await exportProject(project3, {
5251
5282
  includeResults: getBoolean(input.values, "include-results"),
@@ -5264,7 +5295,7 @@ var OPERATOR_CLI_COMMANDS = [
5264
5295
  "query-class": stringOption()
5265
5296
  },
5266
5297
  run: async (input) => {
5267
- const { ANALYTICS_USAGE, parseAnalyticsQueryClass, showAnalytics } = await import("./analytics-4JOQMWH7.js");
5298
+ const { ANALYTICS_USAGE, parseAnalyticsQueryClass, showAnalytics } = await import("./analytics-JRV7DBBU.js");
5268
5299
  const project3 = requireProject(input, "analytics", ANALYTICS_USAGE);
5269
5300
  await showAnalytics(project3, {
5270
5301
  feature: getString(input.values, "feature"),
@@ -5311,7 +5342,7 @@ var OPERATOR_CLI_COMMANDS = [
5311
5342
  usage: "canonry apply <file...> [--dry-run] [--format json]",
5312
5343
  supportsDryRun: true,
5313
5344
  run: async (input) => {
5314
- const { applyConfigs } = await import("./apply-EAKKKIZD.js");
5345
+ const { applyConfigs } = await import("./apply-ZFWDSAV4.js");
5315
5346
  if (input.positionals.length === 0) {
5316
5347
  throw usageError("Error: at least one file path is required\nUsage: canonry apply <file...> [--format json]", {
5317
5348
  message: "at least one file path is required",
@@ -5346,7 +5377,7 @@ var PROJECT_CLI_COMMANDS = [
5346
5377
  "site-audit-max-pages": stringOption()
5347
5378
  },
5348
5379
  run: async (input) => {
5349
- const { createProject } = await import("./project-7MHQSOJD.js");
5380
+ const { createProject } = await import("./project-L7DLDEPI.js");
5350
5381
  const name = requireProject(
5351
5382
  input,
5352
5383
  "project.create",
@@ -5409,7 +5440,7 @@ var PROJECT_CLI_COMMANDS = [
5409
5440
  "remove-marketing-host": multiStringOption()
5410
5441
  },
5411
5442
  run: async (input) => {
5412
- const { updateProjectSettings } = await import("./project-7MHQSOJD.js");
5443
+ const { updateProjectSettings } = await import("./project-L7DLDEPI.js");
5413
5444
  const name = requireProject(
5414
5445
  input,
5415
5446
  "project.update",
@@ -5466,7 +5497,7 @@ var PROJECT_CLI_COMMANDS = [
5466
5497
  usage: "canonry project list [--format json]",
5467
5498
  allowPositionals: false,
5468
5499
  run: async (input) => {
5469
- const { listProjects } = await import("./project-7MHQSOJD.js");
5500
+ const { listProjects } = await import("./project-L7DLDEPI.js");
5470
5501
  await listProjects(input.format);
5471
5502
  }
5472
5503
  },
@@ -5474,7 +5505,7 @@ var PROJECT_CLI_COMMANDS = [
5474
5505
  path: ["project", "show"],
5475
5506
  usage: "canonry project show <name> [--format json]",
5476
5507
  run: async (input) => {
5477
- const { showProject } = await import("./project-7MHQSOJD.js");
5508
+ const { showProject } = await import("./project-L7DLDEPI.js");
5478
5509
  const name = requireProject(input, "project.show", "canonry project show <name>");
5479
5510
  await showProject(name, input.format);
5480
5511
  }
@@ -5484,7 +5515,7 @@ var PROJECT_CLI_COMMANDS = [
5484
5515
  usage: "canonry project delete <name> [--dry-run] [--format json]",
5485
5516
  supportsDryRun: true,
5486
5517
  run: async (input) => {
5487
- const { deleteProject } = await import("./project-7MHQSOJD.js");
5518
+ const { deleteProject } = await import("./project-L7DLDEPI.js");
5488
5519
  const name = requireProject(input, "project.delete", "canonry project delete <name> [--dry-run] [--format json]");
5489
5520
  await deleteProject(name, { dryRun: input.dryRun, format: input.format });
5490
5521
  }
@@ -5500,7 +5531,7 @@ var PROJECT_CLI_COMMANDS = [
5500
5531
  timezone: stringOption()
5501
5532
  },
5502
5533
  run: async (input) => {
5503
- const { addLocation } = await import("./project-7MHQSOJD.js");
5534
+ const { addLocation } = await import("./project-L7DLDEPI.js");
5504
5535
  const name = requireProject(
5505
5536
  input,
5506
5537
  "project.add-location",
@@ -5534,7 +5565,7 @@ var PROJECT_CLI_COMMANDS = [
5534
5565
  path: ["project", "locations"],
5535
5566
  usage: "canonry project locations <name> [--format json]",
5536
5567
  run: async (input) => {
5537
- const { listLocations } = await import("./project-7MHQSOJD.js");
5568
+ const { listLocations } = await import("./project-L7DLDEPI.js");
5538
5569
  const name = requireProject(input, "project.locations", "canonry project locations <name> [--format json]");
5539
5570
  await listLocations(name, input.format);
5540
5571
  }
@@ -5543,7 +5574,7 @@ var PROJECT_CLI_COMMANDS = [
5543
5574
  path: ["project", "remove-location"],
5544
5575
  usage: "canonry project remove-location <name> <label> [--format json]",
5545
5576
  run: async (input) => {
5546
- const { removeLocation } = await import("./project-7MHQSOJD.js");
5577
+ const { removeLocation } = await import("./project-L7DLDEPI.js");
5547
5578
  const name = requireProject(input, "project.remove-location", "canonry project remove-location <name> <label> [--format json]");
5548
5579
  const label = requirePositional(input, 1, {
5549
5580
  command: "project.remove-location",
@@ -5557,7 +5588,7 @@ var PROJECT_CLI_COMMANDS = [
5557
5588
  path: ["project", "set-default-location"],
5558
5589
  usage: "canonry project set-default-location <name> <label> [--format json]",
5559
5590
  run: async (input) => {
5560
- const { setDefaultLocation } = await import("./project-7MHQSOJD.js");
5591
+ const { setDefaultLocation } = await import("./project-L7DLDEPI.js");
5561
5592
  const name = requireProject(input, "project.set-default-location", "canonry project set-default-location <name> <label> [--format json]");
5562
5593
  const label = requirePositional(input, 1, {
5563
5594
  command: "project.set-default-location",
@@ -5688,7 +5719,7 @@ var ORGANIC_EVIDENCE_CLI_COMMANDS = [
5688
5719
  usage: USAGE3,
5689
5720
  options: { period: stringOption() },
5690
5721
  run: async (input) => {
5691
- const { showOrganicEvidence } = await import("./organic-evidence-P2GZ766W.js");
5722
+ const { showOrganicEvidence } = await import("./organic-evidence-U7HZMXKP.js");
5692
5723
  const project3 = requireProject(input, "organic-evidence", USAGE3);
5693
5724
  await showOrganicEvidence(project3, {
5694
5725
  period: parsePeriod(getString(input.values, "window") ?? getString(input.values, "period")),
@@ -5713,7 +5744,7 @@ var RUN_LIST_OPTIONS = {
5713
5744
  since: stringOption()
5714
5745
  };
5715
5746
  async function listRunsCommand(input) {
5716
- const { listRuns } = await import("./run-6LJGMJ5S.js");
5747
+ const { listRuns } = await import("./run-ZVIQVG23.js");
5717
5748
  const project3 = requireProject(input, "runs", RUNS_USAGE);
5718
5749
  await listRuns(project3, {
5719
5750
  format: input.format,
@@ -5759,7 +5790,7 @@ function parseDispatchMode(value, command, usage) {
5759
5790
  });
5760
5791
  }
5761
5792
  async function triggerRunCommand(input, command) {
5762
- const { triggerRun, triggerRunAll } = await import("./run-6LJGMJ5S.js");
5793
+ const { triggerRun, triggerRunAll } = await import("./run-ZVIQVG23.js");
5763
5794
  const groups = getStringArray(input.values, "group") ?? [];
5764
5795
  const targets = getStringArray(input.values, "target") ?? [];
5765
5796
  const queries = getStringArray(input.values, "query") ?? [];
@@ -5833,7 +5864,7 @@ var RUN_CLI_COMMANDS = [
5833
5864
  path: ["run", "show"],
5834
5865
  usage: "canonry run show <id> [--format json]",
5835
5866
  run: async (input) => {
5836
- const { showRun } = await import("./run-6LJGMJ5S.js");
5867
+ const { showRun } = await import("./run-ZVIQVG23.js");
5837
5868
  const id2 = requirePositional(input, 0, {
5838
5869
  command: "run.show",
5839
5870
  usage: "canonry run show <id> [--format json]",
@@ -5851,7 +5882,7 @@ var RUN_CLI_COMMANDS = [
5851
5882
  },
5852
5883
  supportsDryRun: true,
5853
5884
  run: async (input) => {
5854
- const { fillRun } = await import("./run-6LJGMJ5S.js");
5885
+ const { fillRun } = await import("./run-ZVIQVG23.js");
5855
5886
  if (input.positionals.length === 0 && !input.dryRun) return triggerRunCommand({ ...input, positionals: ["fill"] }, "run");
5856
5887
  const runId = requirePositional(input, 0, {
5857
5888
  command: "run.fill",
@@ -5871,7 +5902,7 @@ var RUN_CLI_COMMANDS = [
5871
5902
  path: ["run", "completeness"],
5872
5903
  usage: "canonry run completeness <run-id> [--format json]",
5873
5904
  run: async (input) => {
5874
- const { showRunCompleteness } = await import("./run-6LJGMJ5S.js");
5905
+ const { showRunCompleteness } = await import("./run-ZVIQVG23.js");
5875
5906
  if (input.positionals.length === 0) return triggerRunCommand({ ...input, positionals: ["completeness"] }, "run");
5876
5907
  const runId = requirePositional(input, 0, {
5877
5908
  command: "run.completeness",
@@ -5885,7 +5916,7 @@ var RUN_CLI_COMMANDS = [
5885
5916
  path: ["run", "cancel"],
5886
5917
  usage: "canonry run cancel <project> [run-id] [--format json]",
5887
5918
  run: async (input) => {
5888
- const { cancelRun } = await import("./run-6LJGMJ5S.js");
5919
+ const { cancelRun } = await import("./run-ZVIQVG23.js");
5889
5920
  const project3 = requireProject(input, "run.cancel", "canonry run cancel <project> [run-id] [--format json]");
5890
5921
  await cancelRun(project3, input.positionals[1], input.format);
5891
5922
  }
@@ -5932,7 +5963,7 @@ var SCHEDULE_CLI_COMMANDS = [
5932
5963
  path: ["schedule", "list"],
5933
5964
  usage: "canonry schedule list <project> [--format json|jsonl]",
5934
5965
  run: async (input) => {
5935
- const { listSchedules } = await import("./schedule-D74P2BO5.js");
5966
+ const { listSchedules } = await import("./schedule-TV7LWSYI.js");
5936
5967
  await listSchedules(requireProject(input, "schedule.list", "canonry schedule list <project>"), input.format);
5937
5968
  }
5938
5969
  },
@@ -5951,7 +5982,7 @@ var SCHEDULE_CLI_COMMANDS = [
5951
5982
  provider: multiStringOption()
5952
5983
  },
5953
5984
  run: async (input) => {
5954
- const { setSchedule } = await import("./schedule-D74P2BO5.js");
5985
+ const { setSchedule } = await import("./schedule-TV7LWSYI.js");
5955
5986
  const usage = "canonry schedule set <project> (--preset <preset> | --cron <expr> | --every-days <n> --start-date <YYYY-MM-DD> --at <HH:mm>) [--kind answer-visibility|traffic-sync|gbp-sync|data-refresh|backlinks-sync|site-audit|ads-sync|doctor|seo-sync] [--source <id>] [--timezone <tz>] [--provider <name>...] [--format json]";
5956
5987
  const project3 = requireProject(input, "schedule.set", usage);
5957
5988
  const preset = getString(input.values, "preset");
@@ -5992,7 +6023,7 @@ var SCHEDULE_CLI_COMMANDS = [
5992
6023
  usage: "canonry schedule show <project> [--kind answer-visibility|traffic-sync|gbp-sync|data-refresh|backlinks-sync|site-audit|ads-sync|doctor|seo-sync] [--format json]",
5993
6024
  options: { kind: stringOption() },
5994
6025
  run: async (input) => {
5995
- const { showSchedule } = await import("./schedule-D74P2BO5.js");
6026
+ const { showSchedule } = await import("./schedule-TV7LWSYI.js");
5996
6027
  const project3 = requireProject(input, "schedule.show", "canonry schedule show <project> [--kind ...]");
5997
6028
  await showSchedule(project3, input.format, getString(input.values, "kind"));
5998
6029
  }
@@ -6002,7 +6033,7 @@ var SCHEDULE_CLI_COMMANDS = [
6002
6033
  usage: "canonry schedule enable <project> [--kind answer-visibility|traffic-sync|gbp-sync|data-refresh|backlinks-sync|site-audit|ads-sync|doctor|seo-sync] [--format json]",
6003
6034
  options: { kind: stringOption() },
6004
6035
  run: async (input) => {
6005
- const { enableSchedule } = await import("./schedule-D74P2BO5.js");
6036
+ const { enableSchedule } = await import("./schedule-TV7LWSYI.js");
6006
6037
  const project3 = requireProject(input, "schedule.enable", "canonry schedule enable <project> [--kind ...]");
6007
6038
  await enableSchedule(project3, input.format, getString(input.values, "kind"));
6008
6039
  }
@@ -6012,7 +6043,7 @@ var SCHEDULE_CLI_COMMANDS = [
6012
6043
  usage: "canonry schedule disable <project> [--kind answer-visibility|traffic-sync|gbp-sync|data-refresh|backlinks-sync|site-audit|ads-sync|doctor|seo-sync] [--format json]",
6013
6044
  options: { kind: stringOption() },
6014
6045
  run: async (input) => {
6015
- const { disableSchedule } = await import("./schedule-D74P2BO5.js");
6046
+ const { disableSchedule } = await import("./schedule-TV7LWSYI.js");
6016
6047
  const project3 = requireProject(input, "schedule.disable", "canonry schedule disable <project> [--kind ...]");
6017
6048
  await disableSchedule(project3, input.format, getString(input.values, "kind"));
6018
6049
  }
@@ -6022,7 +6053,7 @@ var SCHEDULE_CLI_COMMANDS = [
6022
6053
  usage: "canonry schedule remove <project> [--kind answer-visibility|traffic-sync|gbp-sync|data-refresh|backlinks-sync|site-audit|ads-sync|doctor|seo-sync] [--format json]",
6023
6054
  options: { kind: stringOption() },
6024
6055
  run: async (input) => {
6025
- const { removeSchedule } = await import("./schedule-D74P2BO5.js");
6056
+ const { removeSchedule } = await import("./schedule-TV7LWSYI.js");
6026
6057
  const project3 = requireProject(input, "schedule.remove", "canonry schedule remove <project> [--kind ...]");
6027
6058
  await removeSchedule(project3, input.format, getString(input.values, "kind"));
6028
6059
  }
@@ -6046,7 +6077,7 @@ var SETTINGS_CLI_COMMANDS = [
6046
6077
  path: ["settings", "reload-providers"],
6047
6078
  usage: "canonry settings reload-providers [--format json]",
6048
6079
  run: async (input) => {
6049
- const { reloadProviders } = await import("./settings-LGD64PFE.js");
6080
+ const { reloadProviders } = await import("./settings-AOXQJOHN.js");
6050
6081
  return reloadProviders(input.format);
6051
6082
  }
6052
6083
  },
@@ -6062,7 +6093,7 @@ var SETTINGS_CLI_COMMANDS = [
6062
6093
  "max-per-day": stringOption()
6063
6094
  },
6064
6095
  run: async (input) => {
6065
- const { setProvider } = await import("./settings-LGD64PFE.js");
6096
+ const { setProvider } = await import("./settings-AOXQJOHN.js");
6066
6097
  const name = requirePositional(input, 0, {
6067
6098
  command: "settings.provider",
6068
6099
  usage: "canonry settings provider <name> [--api-key <key>] [--base-url <url>] [--model <model>] [--max-concurrent <n>] [--max-per-minute <n>] [--max-per-day <n>] [--format json]",
@@ -6138,7 +6169,7 @@ Usage: canonry settings provider ${name} --api-key <key> [--model <model>] [--ma
6138
6169
  target: stringOption()
6139
6170
  },
6140
6171
  run: async (input) => {
6141
- const { setGoogleAuth } = await import("./settings-LGD64PFE.js");
6172
+ const { setGoogleAuth } = await import("./settings-AOXQJOHN.js");
6142
6173
  const clientId = getString(input.values, "client-id");
6143
6174
  const clientSecret = getString(input.values, "client-secret");
6144
6175
  if (!clientId || !clientSecret) {
@@ -6181,7 +6212,7 @@ Usage: canonry settings provider ${name} --api-key <key> [--model <model>] [--ma
6181
6212
  path: ["settings"],
6182
6213
  usage: "canonry settings [provider|reload-providers|google] [args]",
6183
6214
  run: async (input) => {
6184
- const { showSettings } = await import("./settings-LGD64PFE.js");
6215
+ const { showSettings } = await import("./settings-AOXQJOHN.js");
6185
6216
  const subcommand = input.positionals[0];
6186
6217
  if (!subcommand) {
6187
6218
  await showSettings(input.format);
@@ -6202,7 +6233,7 @@ var SKILLS_CLI_COMMANDS = [
6202
6233
  path: ["skills", "list"],
6203
6234
  usage: "canonry skills list [--format json]",
6204
6235
  run: async (input) => {
6205
- const { listSkills } = await import("./skills-CYHWYN42.js");
6236
+ const { listSkills } = await import("./skills-DWXA55QA.js");
6206
6237
  await listSkills({ format: input.format });
6207
6238
  }
6208
6239
  },
@@ -6217,7 +6248,7 @@ var SKILLS_CLI_COMMANDS = [
6217
6248
  },
6218
6249
  allowPositionals: true,
6219
6250
  run: async (input) => {
6220
- const { emitInstallSummary, installSkills, parseSkillsClient } = await import("./skills-CYHWYN42.js");
6251
+ const { emitInstallSummary, installSkills, parseSkillsClient } = await import("./skills-DWXA55QA.js");
6221
6252
  const summary = await installSkills({
6222
6253
  dir: getString(input.values, "dir"),
6223
6254
  user: getBoolean(input.values, "user"),
@@ -6264,7 +6295,7 @@ var SNAPSHOT_CLI_COMMANDS = [
6264
6295
  output: stringOption()
6265
6296
  },
6266
6297
  run: async (input) => {
6267
- const { createSnapshotReport } = await import("./snapshot-PDYGSZZH.js");
6298
+ const { createSnapshotReport } = await import("./snapshot-B44CXKFU.js");
6268
6299
  const usage = SNAPSHOT_USAGE;
6269
6300
  const companyName = requirePositional(input, 0, {
6270
6301
  command: "snapshot",
@@ -6317,7 +6348,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6317
6348
  limit: { type: "string" }
6318
6349
  },
6319
6350
  run: async (input) => {
6320
- const { listInsights } = await import("./insights-L7OOH34I.js");
6351
+ const { listInsights } = await import("./insights-K4UX2PSI.js");
6321
6352
  const usage = "canonry insights <project> [--type <type|prefix*>] [--severity <low|medium|high|critical>] [--limit <n>] [--dismissed] [--run-id <id>] [--format json]";
6322
6353
  const project3 = requireProject(input, "insights", usage);
6323
6354
  const dismissed = input.values.dismissed === true;
@@ -6333,7 +6364,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6333
6364
  usage: "canonry insights dismiss <project> <id> [--format json]",
6334
6365
  options: {},
6335
6366
  run: async (input) => {
6336
- const { dismissInsight } = await import("./insights-L7OOH34I.js");
6367
+ const { dismissInsight } = await import("./insights-K4UX2PSI.js");
6337
6368
  const usage = "canonry insights dismiss <project> <id> [--format json]";
6338
6369
  const project3 = requireProject(input, "insights dismiss", usage);
6339
6370
  const id2 = requirePositional(input, 1, { command: "insights dismiss", usage, message: "insight ID is required" });
@@ -6348,7 +6379,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6348
6379
  limit: { type: "string" }
6349
6380
  },
6350
6381
  run: async (input) => {
6351
- const { showHealth } = await import("./health-cmd-SJVYQZQL.js");
6382
+ const { showHealth } = await import("./health-cmd-7BMVCCG2.js");
6352
6383
  const usage = "canonry health <project> [--history] [--limit <n>] [--format json]";
6353
6384
  const project3 = requireProject(input, "health", usage);
6354
6385
  const history = input.values.history === true;
@@ -6370,7 +6401,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6370
6401
  },
6371
6402
  allowPositionals: true,
6372
6403
  run: async (input) => {
6373
- const { showAllOverviews, showOverview } = await import("./overview-P2AILIWJ.js");
6404
+ const { showAllOverviews, showOverview } = await import("./overview-TSAK5DQP.js");
6374
6405
  const usage = "canonry overview <project>|--all [--location <label>] [--since <iso>] [--format json]";
6375
6406
  const all = getBoolean(input.values, "all");
6376
6407
  const location = getString(input.values, "location");
@@ -6390,7 +6421,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6390
6421
  limit: { type: "string" }
6391
6422
  },
6392
6423
  run: async (input) => {
6393
- const { searchProject } = await import("./search-W7AOYWRM.js");
6424
+ const { searchProject } = await import("./search-7KRZLZ6S.js");
6394
6425
  const usage = "canonry search <project> <query> [--limit <n>] [--format json]";
6395
6426
  const project3 = requireProject(input, "search", usage);
6396
6427
  const query = requirePositional(input, 1, { command: "search", usage, message: "query is required" });
@@ -6407,7 +6438,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6407
6438
  usage: "canonry citations visibility <project> [--format json]",
6408
6439
  options: {},
6409
6440
  run: async (input) => {
6410
- const { showCitationVisibility } = await import("./citations-IA3OCV53.js");
6441
+ const { showCitationVisibility } = await import("./citations-2XELMCCV.js");
6411
6442
  const usage = "canonry citations visibility <project> [--format json]";
6412
6443
  const project3 = requireProject(input, "citations visibility", usage);
6413
6444
  await showCitationVisibility(project3, { format: input.format });
@@ -6423,7 +6454,7 @@ var CONTENT_CLI_COMMANDS = [
6423
6454
  help: "List persisted addressed content targets, including those hidden from content targets.",
6424
6455
  options: {},
6425
6456
  run: async (input) => {
6426
- const { listContentDismissals } = await import("./content-OVBF6U7Z.js");
6457
+ const { listContentDismissals } = await import("./content-SMQPJXPC.js");
6427
6458
  const project3 = requireProject(input, "content dismissals", "canonry content dismissals <project> [--format json|jsonl]");
6428
6459
  await listContentDismissals(project3, { format: input.format });
6429
6460
  }
@@ -6434,7 +6465,7 @@ var CONTENT_CLI_COMMANDS = [
6434
6465
  help: "Mark a content target addressed. Restore it with content restore.",
6435
6466
  options: { "addressed-url": { type: "string" }, note: { type: "string" } },
6436
6467
  run: async (input) => {
6437
- const { dismissContentTarget } = await import("./content-OVBF6U7Z.js");
6468
+ const { dismissContentTarget } = await import("./content-SMQPJXPC.js");
6438
6469
  const usage = "canonry content dismiss <project> <targetRef> [--addressed-url <url>] [--note <text>] [--format json]";
6439
6470
  const project3 = requireProject(input, "content dismiss", usage);
6440
6471
  const targetRef = requirePositional(input, 1, { command: "content dismiss", usage, message: "targetRef is required (from content targets)" });
@@ -6447,7 +6478,7 @@ var CONTENT_CLI_COMMANDS = [
6447
6478
  help: "Remove a persisted dismissal so an eligible target can appear again.",
6448
6479
  options: {},
6449
6480
  run: async (input) => {
6450
- const { restoreContentTarget } = await import("./content-OVBF6U7Z.js");
6481
+ const { restoreContentTarget } = await import("./content-SMQPJXPC.js");
6451
6482
  const usage = "canonry content restore <project> <targetRef> [--format json]";
6452
6483
  const project3 = requireProject(input, "content restore", usage);
6453
6484
  const targetRef = requirePositional(input, 1, { command: "content restore", usage, message: "targetRef is required (from content dismissals)" });
@@ -6464,7 +6495,7 @@ var CONTENT_CLI_COMMANDS = [
6464
6495
  "winnability-class": { type: "string" }
6465
6496
  },
6466
6497
  run: async (input) => {
6467
- const { listContentTargets } = await import("./content-OVBF6U7Z.js");
6498
+ const { listContentTargets } = await import("./content-SMQPJXPC.js");
6468
6499
  const usage = "canonry content targets <project> [--limit <n>] [--include-in-progress] [--ownable] [--winnability-class <ownable|ceded>] [--format json]";
6469
6500
  const project3 = requireProject(input, "content targets", usage);
6470
6501
  const limit = parseIntegerOption(input, "limit", {
@@ -6495,7 +6526,7 @@ var CONTENT_CLI_COMMANDS = [
6495
6526
  usage: "canonry content sources <project> [--format json]",
6496
6527
  options: {},
6497
6528
  run: async (input) => {
6498
- const { listContentSources } = await import("./content-OVBF6U7Z.js");
6529
+ const { listContentSources } = await import("./content-SMQPJXPC.js");
6499
6530
  const usage = "canonry content sources <project> [--format json]";
6500
6531
  const project3 = requireProject(input, "content sources", usage);
6501
6532
  await listContentSources(project3, { format: input.format });
@@ -6506,7 +6537,7 @@ var CONTENT_CLI_COMMANDS = [
6506
6537
  usage: "canonry content gaps <project> [--format json]",
6507
6538
  options: {},
6508
6539
  run: async (input) => {
6509
- const { listContentGaps } = await import("./content-OVBF6U7Z.js");
6540
+ const { listContentGaps } = await import("./content-SMQPJXPC.js");
6510
6541
  const usage = "canonry content gaps <project> [--format json]";
6511
6542
  const project3 = requireProject(input, "content gaps", usage);
6512
6543
  await listContentGaps(project3, { format: input.format });
@@ -6521,7 +6552,7 @@ var CONTENT_CLI_COMMANDS = [
6521
6552
  force: { type: "boolean" }
6522
6553
  },
6523
6554
  run: async (input) => {
6524
- const { generateContentBrief } = await import("./content-OVBF6U7Z.js");
6555
+ const { generateContentBrief } = await import("./content-SMQPJXPC.js");
6525
6556
  const usage = "canonry content brief <project> <targetRef> [--provider <p>] [--model <m>] [--force] [--format json]";
6526
6557
  const project3 = requireProject(input, "content brief", usage);
6527
6558
  const targetRef = requirePositional(input, 1, {
@@ -6542,7 +6573,7 @@ var CONTENT_CLI_COMMANDS = [
6542
6573
  usage: "canonry content map <project> [--format json]",
6543
6574
  options: {},
6544
6575
  run: async (input) => {
6545
- const { contentMap } = await import("./content-OVBF6U7Z.js");
6576
+ const { contentMap } = await import("./content-SMQPJXPC.js");
6546
6577
  const usage = "canonry content map <project> [--format json]";
6547
6578
  const project3 = requireProject(input, "content map", usage);
6548
6579
  await contentMap(project3, { format: input.format });
@@ -6837,7 +6868,7 @@ var SYSTEM_CLI_COMMANDS = [
6837
6868
  options: { access: stringOption() },
6838
6869
  run: async (input) => {
6839
6870
  if (input.positionals.length > 1) throw usageError("Expected at most one command group");
6840
- const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-ZVFLJXID.js"), import("./cli-commands-O7BYY3W5.js")]);
6871
+ const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-KC6JYHSW.js"), import("./cli-commands-WCOAB6XU.js")]);
6841
6872
  printCliCatalog(REGISTERED_CLI_COMMANDS2, input.format, input.positionals[0], getString(input.values, "access"));
6842
6873
  }
6843
6874
  },
@@ -6848,7 +6879,7 @@ var SYSTEM_CLI_COMMANDS = [
6848
6879
  options: { level: stringOption(), module: stringOption(), "run-id": stringOption(), "project-id": stringOption(), actor: stringOption(), "request-id": stringOption(), since: stringOption(), until: stringOption(), limit: stringOption(), cursor: stringOption() },
6849
6880
  allowPositionals: false,
6850
6881
  run: async (input) => {
6851
- const { showOperationalLogs } = await import("./logs-ONZWSYXS.js");
6882
+ const { showOperationalLogs } = await import("./logs-2A3HBUBK.js");
6852
6883
  return showOperationalLogs({
6853
6884
  level: getString(input.values, "level"),
6854
6885
  module: getString(input.values, "module"),
@@ -6886,7 +6917,7 @@ var SYSTEM_CLI_COMMANDS = [
6886
6917
  },
6887
6918
  allowPositionals: false,
6888
6919
  run: async (input) => {
6889
- const { initCommand } = await import("./init-KXR6PJEQ.js");
6920
+ const { initCommand } = await import("./init-O4G2MDMC.js");
6890
6921
  await initCommand({
6891
6922
  force: getBoolean(input.values, "force"),
6892
6923
  ref: getString(input.values, "ref"),
@@ -6919,7 +6950,7 @@ var SYSTEM_CLI_COMMANDS = [
6919
6950
  },
6920
6951
  allowPositionals: false,
6921
6952
  run: async (input) => {
6922
- const { bootstrapCommand } = await import("./bootstrap-X2BW64W7.js");
6953
+ const { bootstrapCommand } = await import("./bootstrap-I6DA4KWB.js");
6923
6954
  await bootstrapCommand({
6924
6955
  format: input.format,
6925
6956
  ref: getString(input.values, "ref")
@@ -6941,7 +6972,7 @@ var SYSTEM_CLI_COMMANDS = [
6941
6972
  allowPositionals: false,
6942
6973
  run: async (input) => {
6943
6974
  applyServerEnv(input.values);
6944
- const { serveCommand } = await import("./serve-UNVCQSRC.js");
6975
+ const { serveCommand } = await import("./serve-WSOG525W.js");
6945
6976
  await serveCommand(input.format);
6946
6977
  }
6947
6978
  },
@@ -7011,7 +7042,7 @@ var SYSTEM_CLI_COMMANDS = [
7011
7042
  options: { target: stringOption() },
7012
7043
  allowPositionals: false,
7013
7044
  run: async (input) => {
7014
- const { telemetryCommand } = await import("./telemetry-UWDS7QNJ.js");
7045
+ const { telemetryCommand } = await import("./telemetry-55PUOMA7.js");
7015
7046
  await telemetryCommand("status", input.format, getString(input.values, "target"));
7016
7047
  }
7017
7048
  },
@@ -7021,7 +7052,7 @@ var SYSTEM_CLI_COMMANDS = [
7021
7052
  options: { target: stringOption() },
7022
7053
  allowPositionals: false,
7023
7054
  run: async (input) => {
7024
- const { telemetryCommand } = await import("./telemetry-UWDS7QNJ.js");
7055
+ const { telemetryCommand } = await import("./telemetry-55PUOMA7.js");
7025
7056
  await telemetryCommand("enable", input.format, getString(input.values, "target"));
7026
7057
  }
7027
7058
  },
@@ -7031,7 +7062,7 @@ var SYSTEM_CLI_COMMANDS = [
7031
7062
  options: { target: stringOption() },
7032
7063
  allowPositionals: false,
7033
7064
  run: async (input) => {
7034
- const { telemetryCommand } = await import("./telemetry-UWDS7QNJ.js");
7065
+ const { telemetryCommand } = await import("./telemetry-55PUOMA7.js");
7035
7066
  await telemetryCommand("disable", input.format, getString(input.values, "target"));
7036
7067
  }
7037
7068
  },
@@ -7089,7 +7120,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7089
7120
  access: "stored",
7090
7121
  options: { "run-id": stringOption(), cursor: stringOption(), limit: stringOption() },
7091
7122
  run: async (input) => {
7092
- const { technicalAeoIssues } = await import("./technical-aeo-BNH7NV44.js");
7123
+ const { technicalAeoIssues } = await import("./technical-aeo-UAOKK5QH.js");
7093
7124
  const usage = "canonry technical-aeo issues <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7094
7125
  const project3 = requireProject(input, "technical-aeo.issues", usage);
7095
7126
  await technicalAeoIssues(project3, {
@@ -7104,7 +7135,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7104
7135
  access: "stored",
7105
7136
  options: { "issue-id": stringOption(), "run-id": stringOption(), cursor: stringOption(), limit: stringOption() },
7106
7137
  run: async (input) => {
7107
- const { technicalAeoIssuePages } = await import("./technical-aeo-BNH7NV44.js");
7138
+ const { technicalAeoIssuePages } = await import("./technical-aeo-UAOKK5QH.js");
7108
7139
  const usage = "canonry technical-aeo issue-pages <project> --issue-id <id> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7109
7140
  const project3 = requireProject(input, "technical-aeo.issue-pages", usage);
7110
7141
  const issueId = requireStringOption(input, "issue-id", { command: "technical-aeo.issue-pages", usage, message: "--issue-id is required" });
@@ -7122,7 +7153,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7122
7153
  "run-id": stringOption()
7123
7154
  },
7124
7155
  run: async (input) => {
7125
- const { technicalAeoScore } = await import("./technical-aeo-BNH7NV44.js");
7156
+ const { technicalAeoScore } = await import("./technical-aeo-UAOKK5QH.js");
7126
7157
  const project3 = requireProject(
7127
7158
  input,
7128
7159
  "technical-aeo.score",
@@ -7141,7 +7172,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7141
7172
  limit: stringOption()
7142
7173
  },
7143
7174
  run: async (input) => {
7144
- const { technicalAeoPages } = await import("./technical-aeo-BNH7NV44.js");
7175
+ const { technicalAeoPages } = await import("./technical-aeo-UAOKK5QH.js");
7145
7176
  const usage = "canonry technical-aeo pages <project> [--run-id <id>] [--status success|error] [--sort score-asc|score-desc|url] [--limit <n>] [--format json|jsonl]";
7146
7177
  const project3 = requireProject(input, "technical-aeo.pages", usage);
7147
7178
  await technicalAeoPages(project3, {
@@ -7164,7 +7195,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7164
7195
  limit: stringOption()
7165
7196
  },
7166
7197
  run: async (input) => {
7167
- const { technicalAeoTrend } = await import("./technical-aeo-BNH7NV44.js");
7198
+ const { technicalAeoTrend } = await import("./technical-aeo-UAOKK5QH.js");
7168
7199
  const usage = "canonry technical-aeo trend <project> [--limit <n>] [--format json|jsonl]";
7169
7200
  const project3 = requireProject(input, "technical-aeo.trend", usage);
7170
7201
  await technicalAeoTrend(project3, {
@@ -7194,7 +7225,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7194
7225
  wait: { type: "boolean", default: false }
7195
7226
  },
7196
7227
  run: async (input) => {
7197
- const { technicalAeoRun } = await import("./technical-aeo-BNH7NV44.js");
7228
+ const { technicalAeoRun } = await import("./technical-aeo-UAOKK5QH.js");
7198
7229
  const usage = "canonry technical-aeo run <project> [--sitemap-url <url>] [--max-pages <n>] [--max-edges <n>] [--max-depth <n>] [--check-dead-links] [--include-geo] [--no-agent-skills] [--wait] [--format json]";
7199
7230
  const project3 = requireProject(input, "technical-aeo.run", usage);
7200
7231
  await technicalAeoRun(project3, {
@@ -7232,7 +7263,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7232
7263
  usage: "canonry technical-aeo crawl <project> [--run-id <id> | --date YYYY-MM-DD] [--format json]",
7233
7264
  options: { "run-id": stringOption(), date: stringOption() },
7234
7265
  run: async (input) => {
7235
- const { technicalAeoCrawl } = await import("./technical-aeo-BNH7NV44.js");
7266
+ const { technicalAeoCrawl } = await import("./technical-aeo-UAOKK5QH.js");
7236
7267
  const usage = "canonry technical-aeo crawl <project> [--run-id <id> | --date YYYY-MM-DD] [--format json]";
7237
7268
  const project3 = requireProject(input, "technical-aeo.crawl", usage);
7238
7269
  await technicalAeoCrawl(project3, { runId: getString(input.values, "run-id"), date: getString(input.values, "date"), format: input.format });
@@ -7243,7 +7274,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7243
7274
  usage: "canonry technical-aeo progress <project> --run-id <id> [--format json]",
7244
7275
  options: { "run-id": stringOption() },
7245
7276
  run: async (input) => {
7246
- const { technicalAeoProgress } = await import("./technical-aeo-BNH7NV44.js");
7277
+ const { technicalAeoProgress } = await import("./technical-aeo-UAOKK5QH.js");
7247
7278
  const usage = "canonry technical-aeo progress <project> --run-id <id> [--format json]";
7248
7279
  const project3 = requireProject(input, "technical-aeo.progress", usage);
7249
7280
  const runId = requireStringOption(input, "run-id", {
@@ -7266,7 +7297,7 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7266
7297
  "max-edges": stringOption()
7267
7298
  },
7268
7299
  run: async (input) => {
7269
- const { technicalAeoSubgraph } = await import("./technical-aeo-BNH7NV44.js");
7300
+ const { technicalAeoSubgraph } = await import("./technical-aeo-UAOKK5QH.js");
7270
7301
  const usage = "canonry technical-aeo subgraph <project> [--run-id <id>] [--node-key <key>|--url <url>] [--hops <n>] [--max-nodes <n>] [--max-edges <n>] [--format json]";
7271
7302
  const project3 = requireProject(input, "technical-aeo.subgraph", usage);
7272
7303
  const nodeKey = getString(input.values, "node-key");
@@ -7301,7 +7332,7 @@ Usage: ${usage}`, {
7301
7332
  "max-depth": stringOption()
7302
7333
  },
7303
7334
  run: async (input) => {
7304
- const { technicalAeoPath } = await import("./technical-aeo-BNH7NV44.js");
7335
+ const { technicalAeoPath } = await import("./technical-aeo-UAOKK5QH.js");
7305
7336
  const usage = "canonry technical-aeo path <project> (--to-node-key <key>|--to-url <url>) [--run-id <id>] [--from-node-key <key>|--from-url <url>] [--max-depth <n>] [--format json]";
7306
7337
  const project3 = requireProject(input, "technical-aeo.path", usage);
7307
7338
  const fromNodeKey = getString(input.values, "from-node-key");
@@ -7345,7 +7376,7 @@ Usage: ${usage}`, {
7345
7376
  limit: stringOption()
7346
7377
  },
7347
7378
  run: async (input) => {
7348
- const { technicalAeoChanges } = await import("./technical-aeo-BNH7NV44.js");
7379
+ const { technicalAeoChanges } = await import("./technical-aeo-UAOKK5QH.js");
7349
7380
  const usage = "canonry technical-aeo changes <project> [--from-run-id <id>] [--to-run-id <id>] [--scope all|pages|links] [--change all|added|removed|changed] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7350
7381
  const project3 = requireProject(input, "technical-aeo.changes", usage);
7351
7382
  const fromRunId = getString(input.values, "from-run-id");
@@ -7393,7 +7424,7 @@ Usage: ${usage}`, {
7393
7424
  limit: stringOption()
7394
7425
  },
7395
7426
  run: async (input) => {
7396
- const { technicalAeoCrawlPages } = await import("./technical-aeo-BNH7NV44.js");
7427
+ const { technicalAeoCrawlPages } = await import("./technical-aeo-UAOKK5QH.js");
7397
7428
  const usage = "canonry technical-aeo crawl-pages <project> [--run-id <id> | --date YYYY-MM-DD] [--inventory-eligible true|false] [--fetch-state <state>] [--indexability-state <state>] [--audit-state <state>] [--url-versions include|exclude|only] [--sort url|path|score-asc|score-desc] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7398
7429
  const project3 = requireProject(input, "technical-aeo.crawl-pages", usage);
7399
7430
  const sort = getString(input.values, "sort");
@@ -7432,7 +7463,7 @@ Usage: ${usage}`, {
7432
7463
  usage: "canonry technical-aeo page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]",
7433
7464
  options: { "run-id": stringOption(), "node-key": stringOption(), url: stringOption() },
7434
7465
  run: async (input) => {
7435
- const { technicalAeoPageAudit } = await import("./technical-aeo-BNH7NV44.js");
7466
+ const { technicalAeoPageAudit } = await import("./technical-aeo-UAOKK5QH.js");
7436
7467
  const usage = "canonry technical-aeo page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]";
7437
7468
  const project3 = requireProject(input, "technical-aeo.page-audit", usage);
7438
7469
  const nodeKey = getString(input.values, "node-key");
@@ -7464,7 +7495,7 @@ Usage: ${usage}`, {
7464
7495
  usage: "canonry technical-aeo structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7465
7496
  options: { "run-id": stringOption(), "parent-path": stringOption(), cursor: stringOption(), limit: stringOption() },
7466
7497
  run: async (input) => {
7467
- const { technicalAeoStructure } = await import("./technical-aeo-BNH7NV44.js");
7498
+ const { technicalAeoStructure } = await import("./technical-aeo-UAOKK5QH.js");
7468
7499
  const usage = "canonry technical-aeo structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7469
7500
  const project3 = requireProject(input, "technical-aeo.structure", usage);
7470
7501
  await technicalAeoStructure(project3, {
@@ -7489,7 +7520,7 @@ Usage: ${usage}`, {
7489
7520
  limit: stringOption()
7490
7521
  },
7491
7522
  run: async (input) => {
7492
- const { technicalAeoInternalLinks } = await import("./technical-aeo-BNH7NV44.js");
7523
+ const { technicalAeoInternalLinks } = await import("./technical-aeo-UAOKK5QH.js");
7493
7524
  const usage = "canonry technical-aeo links <project> [--run-id <id>] [--source-url <url>] [--target-url <url>] [--followable|--nofollow] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7494
7525
  const project3 = requireProject(input, "technical-aeo.links", usage);
7495
7526
  const followable = getBoolean(input.values, "followable");
@@ -7517,7 +7548,7 @@ Usage: ${usage}`, {
7517
7548
  usage: "canonry technical-aeo links neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]",
7518
7549
  options: { "run-id": stringOption(), "node-key": stringOption(), url: stringOption(), limit: stringOption() },
7519
7550
  run: async (input) => {
7520
- const { technicalAeoLinkNeighbors } = await import("./technical-aeo-BNH7NV44.js");
7551
+ const { technicalAeoLinkNeighbors } = await import("./technical-aeo-UAOKK5QH.js");
7521
7552
  const usage = "canonry technical-aeo links neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]";
7522
7553
  const project3 = requireProject(input, "technical-aeo.links.neighbors", usage);
7523
7554
  const nodeKey = getString(input.values, "node-key");
@@ -7543,7 +7574,7 @@ Usage: ${usage}`, {
7543
7574
  usage: "canonry technical-aeo dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7544
7575
  options: { "run-id": stringOption(), cursor: stringOption(), limit: stringOption() },
7545
7576
  run: async (input) => {
7546
- const { technicalAeoDeadLinks } = await import("./technical-aeo-BNH7NV44.js");
7577
+ const { technicalAeoDeadLinks } = await import("./technical-aeo-UAOKK5QH.js");
7547
7578
  const usage = "canonry technical-aeo dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7548
7579
  const project3 = requireProject(input, "technical-aeo.dead-links", usage);
7549
7580
  await technicalAeoDeadLinks(project3, {
@@ -7695,7 +7726,7 @@ var VISIBILITY_STATS_CLI_COMMANDS = [
7695
7726
  "query-class": stringOption()
7696
7727
  },
7697
7728
  run: async (input) => {
7698
- const { showVisibilityStats } = await import("./visibility-stats-EPF6MHYQ.js");
7729
+ const { showVisibilityStats } = await import("./visibility-stats-4IDTDXDC.js");
7699
7730
  const project3 = requireProject(input, "visibility-stats", USAGE4);
7700
7731
  await showVisibilityStats(project3, {
7701
7732
  since: getString(input.values, "since"),
@@ -7726,7 +7757,7 @@ var VISIBILITY_STATS_CLI_COMMANDS = [
7726
7757
  location: stringOption()
7727
7758
  },
7728
7759
  run: async (input) => {
7729
- const { showVisibilityCompare } = await import("./visibility-stats-EPF6MHYQ.js");
7760
+ const { showVisibilityCompare } = await import("./visibility-stats-4IDTDXDC.js");
7730
7761
  const project3 = requireProject(input, "visibility-compare", COMPARE_USAGE);
7731
7762
  await showVisibilityCompare(project3, {
7732
7763
  from: getString(input.values, "from"),
@@ -7809,7 +7840,7 @@ var WORDPRESS_CLI_COMMANDS = [
7809
7840
  "default-env": stringOption()
7810
7841
  },
7811
7842
  run: async (input) => {
7812
- const { wordpressConnect } = await import("./wordpress-ZACJ3H5M.js");
7843
+ const { wordpressConnect } = await import("./wordpress-CYXB4R5Y.js");
7813
7844
  const usage = "canonry wordpress connect <project> --url <url> --user <user> [--app-password <password>] [--staging-url <url>] [--default-env live|staging] [--format json]";
7814
7845
  const project3 = requireProject(input, "wordpress.connect", usage);
7815
7846
  const url = requireStringOption(input, "url", {
@@ -7843,7 +7874,7 @@ var WORDPRESS_CLI_COMMANDS = [
7843
7874
  path: ["wordpress", "disconnect"],
7844
7875
  usage: "canonry wordpress disconnect <project> [--format json]",
7845
7876
  run: async (input) => {
7846
- const { wordpressDisconnect } = await import("./wordpress-ZACJ3H5M.js");
7877
+ const { wordpressDisconnect } = await import("./wordpress-CYXB4R5Y.js");
7847
7878
  const project3 = requireProject(input, "wordpress.disconnect", "canonry wordpress disconnect <project> [--format json]");
7848
7879
  await wordpressDisconnect(project3, input.format);
7849
7880
  }
@@ -7852,7 +7883,7 @@ var WORDPRESS_CLI_COMMANDS = [
7852
7883
  path: ["wordpress", "status"],
7853
7884
  usage: "canonry wordpress status <project> [--format json]",
7854
7885
  run: async (input) => {
7855
- const { wordpressStatus } = await import("./wordpress-ZACJ3H5M.js");
7886
+ const { wordpressStatus } = await import("./wordpress-CYXB4R5Y.js");
7856
7887
  const project3 = requireProject(input, "wordpress.status", "canonry wordpress status <project> [--format json]");
7857
7888
  await wordpressStatus(project3, input.format);
7858
7889
  }
@@ -7862,7 +7893,7 @@ var WORDPRESS_CLI_COMMANDS = [
7862
7893
  usage: "canonry wordpress pages <project> [--live|--staging] [--format json]",
7863
7894
  options: envOptions,
7864
7895
  run: async (input) => {
7865
- const { wordpressPages } = await import("./wordpress-ZACJ3H5M.js");
7896
+ const { wordpressPages } = await import("./wordpress-CYXB4R5Y.js");
7866
7897
  const usage = "canonry wordpress pages <project> [--live|--staging] [--format json]";
7867
7898
  const project3 = requireProject(input, "wordpress.pages", usage);
7868
7899
  await wordpressPages(project3, {
@@ -7876,7 +7907,7 @@ var WORDPRESS_CLI_COMMANDS = [
7876
7907
  usage: "canonry wordpress page <project> <slug> [--live|--staging] [--format json]",
7877
7908
  options: envOptions,
7878
7909
  run: async (input) => {
7879
- const { wordpressPage } = await import("./wordpress-ZACJ3H5M.js");
7910
+ const { wordpressPage } = await import("./wordpress-CYXB4R5Y.js");
7880
7911
  const usage = "canonry wordpress page <project> <slug> [--live|--staging] [--format json]";
7881
7912
  const project3 = requireProject(input, "wordpress.page", usage);
7882
7913
  const slug = requirePositional(input, 1, {
@@ -7902,7 +7933,7 @@ var WORDPRESS_CLI_COMMANDS = [
7902
7933
  ...envOptions
7903
7934
  },
7904
7935
  run: async (input) => {
7905
- const { wordpressCreatePage } = await import("./wordpress-ZACJ3H5M.js");
7936
+ const { wordpressCreatePage } = await import("./wordpress-CYXB4R5Y.js");
7906
7937
  const usage = "canonry wordpress create-page <project> --title <title> --slug <slug> [--content <content>|--content-file <path>] [--status draft|publish] [--live|--staging] [--format json]";
7907
7938
  const project3 = requireProject(input, "wordpress.create-page", usage);
7908
7939
  await wordpressCreatePage(project3, {
@@ -7935,7 +7966,7 @@ var WORDPRESS_CLI_COMMANDS = [
7935
7966
  ...envOptions
7936
7967
  },
7937
7968
  run: async (input) => {
7938
- const { wordpressUpdatePage } = await import("./wordpress-ZACJ3H5M.js");
7969
+ const { wordpressUpdatePage } = await import("./wordpress-CYXB4R5Y.js");
7939
7970
  const usage = "canonry wordpress update-page <project> <slug> [--title <title>] [--slug <slug>] [--content <content>|--content-file <path>] [--status draft|publish] [--live|--staging] [--format json]";
7940
7971
  const project3 = requireProject(input, "wordpress.update-page", usage);
7941
7972
  const currentSlug = requirePositional(input, 1, {
@@ -7966,7 +7997,7 @@ var WORDPRESS_CLI_COMMANDS = [
7966
7997
  ...envOptions
7967
7998
  },
7968
7999
  run: async (input) => {
7969
- const { wordpressBulkSetMeta, wordpressSetMeta } = await import("./wordpress-ZACJ3H5M.js");
8000
+ const { wordpressBulkSetMeta, wordpressSetMeta } = await import("./wordpress-CYXB4R5Y.js");
7970
8001
  const fromFile = getString(input.values, "from");
7971
8002
  if (fromFile) {
7972
8003
  const usage2 = "canonry wordpress set-meta <project> --from <file> [--live|--staging] [--format json]";
@@ -8003,7 +8034,7 @@ var WORDPRESS_CLI_COMMANDS = [
8003
8034
  ...envOptions
8004
8035
  },
8005
8036
  run: async (input) => {
8006
- const { wordpressSchemaDeploy } = await import("./wordpress-ZACJ3H5M.js");
8037
+ const { wordpressSchemaDeploy } = await import("./wordpress-CYXB4R5Y.js");
8007
8038
  const usage = "canonry wordpress schema deploy <project> --profile <file> [--live|--staging] [--format json]";
8008
8039
  const project3 = requireProject(input, "wordpress.schema.deploy", usage);
8009
8040
  const profile = requireStringOption(input, "profile", {
@@ -8023,7 +8054,7 @@ var WORDPRESS_CLI_COMMANDS = [
8023
8054
  usage: "canonry wordpress schema status <project> [--live|--staging] [--format json]",
8024
8055
  options: envOptions,
8025
8056
  run: async (input) => {
8026
- const { wordpressSchemaStatus } = await import("./wordpress-ZACJ3H5M.js");
8057
+ const { wordpressSchemaStatus } = await import("./wordpress-CYXB4R5Y.js");
8027
8058
  const usage = "canonry wordpress schema status <project> [--live|--staging] [--format json]";
8028
8059
  const project3 = requireProject(input, "wordpress.schema.status", usage);
8029
8060
  await wordpressSchemaStatus(project3, {
@@ -8037,7 +8068,7 @@ var WORDPRESS_CLI_COMMANDS = [
8037
8068
  usage: "canonry wordpress schema <project> <slug> [--live|--staging] [--format json]",
8038
8069
  options: envOptions,
8039
8070
  run: async (input) => {
8040
- const { wordpressSchema } = await import("./wordpress-ZACJ3H5M.js");
8071
+ const { wordpressSchema } = await import("./wordpress-CYXB4R5Y.js");
8041
8072
  const usage = "canonry wordpress schema <project> <slug> [--live|--staging] [--format json]";
8042
8073
  const project3 = requireProject(input, "wordpress.schema", usage);
8043
8074
  const slug = requirePositional(input, 1, {
@@ -8060,7 +8091,7 @@ var WORDPRESS_CLI_COMMANDS = [
8060
8091
  ...envOptions
8061
8092
  },
8062
8093
  run: async (input) => {
8063
- const { wordpressSetSchema } = await import("./wordpress-ZACJ3H5M.js");
8094
+ const { wordpressSetSchema } = await import("./wordpress-CYXB4R5Y.js");
8064
8095
  const usage = "canonry wordpress set-schema <project> <slug> --json <json> [--type <type>] [--live|--staging] [--format json]";
8065
8096
  const project3 = requireProject(input, "wordpress.set-schema", usage);
8066
8097
  const slug = requirePositional(input, 1, {
@@ -8086,7 +8117,7 @@ var WORDPRESS_CLI_COMMANDS = [
8086
8117
  usage: "canonry wordpress llms-txt <project> [--live|--staging] [--format json]",
8087
8118
  options: envOptions,
8088
8119
  run: async (input) => {
8089
- const { wordpressLlmsTxt } = await import("./wordpress-ZACJ3H5M.js");
8120
+ const { wordpressLlmsTxt } = await import("./wordpress-CYXB4R5Y.js");
8090
8121
  const usage = "canonry wordpress llms-txt <project> [--live|--staging] [--format json]";
8091
8122
  const project3 = requireProject(input, "wordpress.llms-txt", usage);
8092
8123
  await wordpressLlmsTxt(project3, {
@@ -8103,7 +8134,7 @@ var WORDPRESS_CLI_COMMANDS = [
8103
8134
  ...envOptions
8104
8135
  },
8105
8136
  run: async (input) => {
8106
- const { wordpressSetLlmsTxt } = await import("./wordpress-ZACJ3H5M.js");
8137
+ const { wordpressSetLlmsTxt } = await import("./wordpress-CYXB4R5Y.js");
8107
8138
  const usage = "canonry wordpress set-llms-txt <project> --content <content> [--live|--staging] [--format json]";
8108
8139
  const project3 = requireProject(input, "wordpress.set-llms-txt", usage);
8109
8140
  await wordpressSetLlmsTxt(project3, {
@@ -8131,7 +8162,7 @@ var WORDPRESS_CLI_COMMANDS = [
8131
8162
  ...envOptions
8132
8163
  },
8133
8164
  run: async (input) => {
8134
- const { wordpressOnboard } = await import("./wordpress-ZACJ3H5M.js");
8165
+ const { wordpressOnboard } = await import("./wordpress-CYXB4R5Y.js");
8135
8166
  const usage = "canonry wordpress onboard <project> --url <url> --user <user> [--app-password <pw>] [--profile <file>] [--format json]";
8136
8167
  const project3 = requireProject(input, "wordpress.onboard", usage);
8137
8168
  const url = requireStringOption(input, "url", {
@@ -8162,7 +8193,7 @@ var WORDPRESS_CLI_COMMANDS = [
8162
8193
  usage: "canonry wordpress audit <project> [--live|--staging] [--format json]",
8163
8194
  options: envOptions,
8164
8195
  run: async (input) => {
8165
- const { wordpressAudit } = await import("./wordpress-ZACJ3H5M.js");
8196
+ const { wordpressAudit } = await import("./wordpress-CYXB4R5Y.js");
8166
8197
  const usage = "canonry wordpress audit <project> [--live|--staging] [--format json]";
8167
8198
  const project3 = requireProject(input, "wordpress.audit", usage);
8168
8199
  await wordpressAudit(project3, {
@@ -8175,7 +8206,7 @@ var WORDPRESS_CLI_COMMANDS = [
8175
8206
  path: ["wordpress", "diff"],
8176
8207
  usage: "canonry wordpress diff <project> <slug> [--format json]",
8177
8208
  run: async (input) => {
8178
- const { wordpressDiff } = await import("./wordpress-ZACJ3H5M.js");
8209
+ const { wordpressDiff } = await import("./wordpress-CYXB4R5Y.js");
8179
8210
  const usage = "canonry wordpress diff <project> <slug> [--format json]";
8180
8211
  const project3 = requireProject(input, "wordpress.diff", usage);
8181
8212
  const slug = requirePositional(input, 1, {
@@ -8190,7 +8221,7 @@ var WORDPRESS_CLI_COMMANDS = [
8190
8221
  path: ["wordpress", "staging", "status"],
8191
8222
  usage: "canonry wordpress staging status <project> [--format json]",
8192
8223
  run: async (input) => {
8193
- const { wordpressStagingStatus } = await import("./wordpress-ZACJ3H5M.js");
8224
+ const { wordpressStagingStatus } = await import("./wordpress-CYXB4R5Y.js");
8194
8225
  const project3 = requireProject(input, "wordpress.staging.status", "canonry wordpress staging status <project> [--format json]");
8195
8226
  await wordpressStagingStatus(project3, input.format);
8196
8227
  }
@@ -8199,7 +8230,7 @@ var WORDPRESS_CLI_COMMANDS = [
8199
8230
  path: ["wordpress", "staging", "push"],
8200
8231
  usage: "canonry wordpress staging push <project> [--format json]",
8201
8232
  run: async (input) => {
8202
- const { wordpressStagingPush } = await import("./wordpress-ZACJ3H5M.js");
8233
+ const { wordpressStagingPush } = await import("./wordpress-CYXB4R5Y.js");
8203
8234
  const project3 = requireProject(input, "wordpress.staging.push", "canonry wordpress staging push <project> [--format json]");
8204
8235
  await wordpressStagingPush(project3, input.format);
8205
8236
  }
@@ -8236,7 +8267,7 @@ var AGENT_CLI_COMMANDS = [
8236
8267
  usage: `canonry agent conversations ${action} <project> [--id <conversation-id>] [--offset <n>] [--limit <n>] [--format json]`,
8237
8268
  options: { id: stringOption(), offset: stringOption(), limit: stringOption() },
8238
8269
  run: async (input) => {
8239
- const { agentConversations } = await import("./agent-conversations-O6WC2NPV.js");
8270
+ const { agentConversations } = await import("./agent-conversations-2T3W4DHO.js");
8240
8271
  const usage = `canonry agent conversations ${action} <project>`;
8241
8272
  const project3 = requireProject(input, `agent.conversations.${action}`, usage);
8242
8273
  const id2 = action === "new" || action === "list" ? getString(input.values, "id") : requireStringOption(input, "id", { command: `agent.conversations.${action}`, usage, message: "--id is required" });
@@ -8259,9 +8290,9 @@ var AGENT_CLI_COMMANDS = [
8259
8290
  "timeout-ms": stringOption()
8260
8291
  },
8261
8292
  run: async (input) => {
8262
- const { coerceAgentProvider } = await import("./session-6NGNVCKP.js");
8263
- const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-EDPBQCI2.js");
8264
- const { agentAsk } = await import("./agent-ask-55LQH4TI.js");
8293
+ const { coerceAgentProvider } = await import("./session-OUGQSGVV.js");
8294
+ const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-HRGP4FXN.js");
8295
+ const { agentAsk } = await import("./agent-ask-K42H6H2T.js");
8265
8296
  const usage = `canonry agent ask <project> "<prompt>" [--provider ${AGENT_PROVIDER_IDS.join("|")}] [--model <id>] [--scope all|read-only] [--profile default|ads-operator] [--context <json>] [--conversation <id>] [--max-tool-calls <n>] [--timeout-ms <ms>] [--format json]`;
8266
8297
  const project3 = requireProject(input, "agent.ask", usage);
8267
8298
  const prompt = input.positionals.slice(1).join(" ").trim();
@@ -8346,7 +8377,7 @@ Usage: ${usage}`, {
8346
8377
  usage: "canonry agent providers <project> [--format json]",
8347
8378
  options: {},
8348
8379
  run: async (input) => {
8349
- const { agentProviders } = await import("./agent-providers-Q4YDVQX3.js");
8380
+ const { agentProviders } = await import("./agent-providers-QR4LY3AP.js");
8350
8381
  const project3 = requireProject(input, "agent.providers", "canonry agent providers <project> [--format json]");
8351
8382
  await agentProviders({ project: project3, format: input.format });
8352
8383
  }
@@ -8358,7 +8389,7 @@ Usage: ${usage}`, {
8358
8389
  url: stringOption()
8359
8390
  },
8360
8391
  run: async (input) => {
8361
- const { agentAttach } = await import("./agent-X2T5X5K3.js");
8392
+ const { agentAttach } = await import("./agent-IXRL5RBI.js");
8362
8393
  const usage = "canonry agent attach <project> --url <webhook-url> [--format json]";
8363
8394
  const project3 = requireProject(input, "agent.attach", usage);
8364
8395
  const url = requireStringOption(input, "url", {
@@ -8377,7 +8408,7 @@ Usage: ${usage}`, {
8377
8408
  usage: "canonry agent detach <project> [--format json]",
8378
8409
  options: {},
8379
8410
  run: async (input) => {
8380
- const { agentDetach } = await import("./agent-X2T5X5K3.js");
8411
+ const { agentDetach } = await import("./agent-IXRL5RBI.js");
8381
8412
  const project3 = requireProject(input, "agent.detach", "canonry agent detach <project> [--format json]");
8382
8413
  await agentDetach({ project: project3, format: input.format });
8383
8414
  }
@@ -8387,7 +8418,7 @@ Usage: ${usage}`, {
8387
8418
  usage: "canonry agent transcript <project> [--format json]",
8388
8419
  options: {},
8389
8420
  run: async (input) => {
8390
- const { agentTranscript } = await import("./agent-transcript-SJKCP2AO.js");
8421
+ const { agentTranscript } = await import("./agent-transcript-JIHJWHV6.js");
8391
8422
  const project3 = requireProject(input, "agent.transcript", "canonry agent transcript <project> [--format json]");
8392
8423
  await agentTranscript({ project: project3, format: input.format });
8393
8424
  }
@@ -8397,7 +8428,7 @@ Usage: ${usage}`, {
8397
8428
  usage: "canonry agent reset <project> [--format json]",
8398
8429
  options: {},
8399
8430
  run: async (input) => {
8400
- const { agentTranscriptReset } = await import("./agent-transcript-SJKCP2AO.js");
8431
+ const { agentTranscriptReset } = await import("./agent-transcript-JIHJWHV6.js");
8401
8432
  const project3 = requireProject(input, "agent.reset", "canonry agent reset <project> [--format json]");
8402
8433
  await agentTranscriptReset({ project: project3, format: input.format });
8403
8434
  }
@@ -8407,7 +8438,7 @@ Usage: ${usage}`, {
8407
8438
  usage: "canonry agent clear <project> [--format json]",
8408
8439
  options: {},
8409
8440
  run: async (input) => {
8410
- const { agentTranscriptReset } = await import("./agent-transcript-SJKCP2AO.js");
8441
+ const { agentTranscriptReset } = await import("./agent-transcript-JIHJWHV6.js");
8411
8442
  const project3 = requireProject(input, "agent.clear", "canonry agent clear <project> [--format json]");
8412
8443
  await agentTranscriptReset({ project: project3, format: input.format });
8413
8444
  }
@@ -8417,7 +8448,7 @@ Usage: ${usage}`, {
8417
8448
  usage: "canonry agent memory list <project> [--format json]",
8418
8449
  options: {},
8419
8450
  run: async (input) => {
8420
- const { agentMemoryList } = await import("./agent-memory-6DWFMB4I.js");
8451
+ const { agentMemoryList } = await import("./agent-memory-LJBNSTSP.js");
8421
8452
  const usage = "canonry agent memory list <project> [--format json]";
8422
8453
  const project3 = requireProject(input, "agent.memory.list", usage);
8423
8454
  await agentMemoryList({ project: project3, format: input.format });
@@ -8431,7 +8462,7 @@ Usage: ${usage}`, {
8431
8462
  value: stringOption()
8432
8463
  },
8433
8464
  run: async (input) => {
8434
- const { agentMemorySet } = await import("./agent-memory-6DWFMB4I.js");
8465
+ const { agentMemorySet } = await import("./agent-memory-LJBNSTSP.js");
8435
8466
  const usage = "canonry agent memory set <project> --key <k> --value <v> [--format json]";
8436
8467
  const project3 = requireProject(input, "agent.memory.set", usage);
8437
8468
  const key = requireStringOption(input, "key", {
@@ -8460,7 +8491,7 @@ Usage: ${usage}`, {
8460
8491
  key: stringOption()
8461
8492
  },
8462
8493
  run: async (input) => {
8463
- const { agentMemoryForget } = await import("./agent-memory-6DWFMB4I.js");
8494
+ const { agentMemoryForget } = await import("./agent-memory-LJBNSTSP.js");
8464
8495
  const usage = "canonry agent memory forget <project> --key <k> [--format json]";
8465
8496
  const project3 = requireProject(input, "agent.memory.forget", usage);
8466
8497
  const key = requireStringOption(input, "key", {