@canonry/canonry 7.99.0 → 7.100.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 (182) hide show
  1. package/README.md +18 -16
  2. package/assets/agent-workspace/AGENTS.md +13 -6
  3. package/assets/agent-workspace/skills/aero/SKILL.md +45 -26
  4. package/assets/agent-workspace/skills/aero/references/agent-operations.md +47 -12
  5. package/assets/agent-workspace/skills/aero/references/memory-patterns.md +1 -1
  6. package/assets/agent-workspace/skills/aero/references/orchestration.md +9 -9
  7. package/assets/agent-workspace/skills/aero/references/reporting.md +8 -4
  8. package/assets/agent-workspace/skills/aero/references/seo-analysis.md +2 -2
  9. package/assets/agent-workspace/skills/aero/references/site-health.md +23 -22
  10. package/assets/agent-workspace/skills/aero/soul.md +2 -2
  11. package/assets/agent-workspace/skills/canonry/SKILL.md +37 -7
  12. package/assets/agent-workspace/skills/canonry/references/aeo-analysis.md +14 -11
  13. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +122 -53
  14. package/assets/assets/AccessControls-DzO5Y8v9.js +2 -0
  15. package/assets/assets/AgentSetupPage-DWWovaCw.js +36 -0
  16. package/assets/assets/AuditHistoryPanel-BG-n1i8c.js +1 -0
  17. package/assets/assets/BacklinksPage-D6wdOMXt.js +1 -0
  18. package/assets/assets/ChartPrimitives-CtKdkn64.js +3 -0
  19. package/assets/assets/Hint-3TTi0MgX.js +1 -0
  20. package/assets/assets/{HistoryPage-DNE76LNh.js → HistoryPage-B_ReWHbL.js} +1 -1
  21. package/assets/assets/InfoTooltip-D29JcNMW.js +1 -0
  22. package/assets/assets/MeasurementPropertyPage-zdyLL-kl.js +4 -0
  23. package/assets/assets/ProjectPage-KZNKXR4w.js +15 -0
  24. package/assets/assets/RunsPage-DxN0xXQh.js +1 -0
  25. package/assets/assets/ServerTrafficSection-CvISj5pf.js +40 -0
  26. package/assets/assets/SettingsPage-CpRpBlMV.js +1 -0
  27. package/assets/assets/ToneBadge-DcwPruHr.js +60 -0
  28. package/assets/assets/TrafficPage-zk6zMZyz.js +1 -0
  29. package/assets/assets/TrafficSourceDetailPage-DJtsI06Z.js +1 -0
  30. package/assets/assets/{account-context-j3asaevn.js → account-context-CoJVqEXZ.js} +1 -1
  31. package/assets/assets/{agent-trust-copy--U_DFYQE.js → agent-trust-copy-BIXDMtBm.js} +1 -1
  32. package/assets/assets/{card-CQAQ-c3g.js → card-Dwmc7Srx.js} +1 -1
  33. package/assets/assets/index-fh1T5JQY.css +1 -0
  34. package/assets/assets/index-mqc2mWUR.js +42 -0
  35. package/assets/assets/query-client-Tg1fZu4i.js +1 -0
  36. package/assets/assets/react-query-BqcEEfEO.js +1 -0
  37. package/assets/assets/{react-sigma_core.esm.min-BAq_-iP1.js → react-sigma_core.esm.min-D1q0DR_j.js} +3 -3
  38. package/assets/assets/{server-traffic-jKXLZyeC.js → server-traffic-Djnh_9f0.js} +1 -1
  39. package/assets/assets/service-BQjBdN4O.js +1 -0
  40. package/assets/assets/use-tooltip-position-BOzm-6Wy.js +1 -0
  41. package/assets/assets/vendor-lucide-iE5MEh2-.js +1 -0
  42. package/assets/assets/{vendor-markdown-BDQ1GKGP.js → vendor-markdown-BBGbNklj.js} +1 -1
  43. package/assets/assets/{vendor-radix-BGYlvS2l.js → vendor-radix-DKCt5Z_h.js} +1 -1
  44. package/assets/assets/{vendor-recharts-DhEHcK3G.js → vendor-recharts-D3MLFU3q.js} +1 -1
  45. package/assets/assets/{vendor-tanstack-BNuZ37rE.js → vendor-tanstack-B90HW50P.js} +2 -2
  46. package/assets/index.html +16 -15
  47. package/dist/{ads-EYDUTG4U.js → ads-FVPZ6R6Z.js} +3 -3
  48. package/dist/{agent-KTK2IDB3.js → agent-2LPU2E5I.js} +7 -7
  49. package/dist/{agent-ask-KPZOH6RY.js → agent-ask-5ODREK6D.js} +3 -3
  50. package/dist/{agent-conversations-BCWA4JJL.js → agent-conversations-SNLOOJEM.js} +3 -3
  51. package/dist/{agent-journeys-UBVLQ7JV.js → agent-journeys-XDXVL6PK.js} +3 -3
  52. package/dist/{agent-memory-24SYEGEX.js → agent-memory-NKAI2S3U.js} +3 -3
  53. package/dist/{agent-providers-E7EWFE5P.js → agent-providers-R5L7A72X.js} +3 -3
  54. package/dist/{agent-transcript-QGJ45NW5.js → agent-transcript-C5WAGYVC.js} +3 -3
  55. package/dist/{analytics-GHVG5CCT.js → analytics-EJVOLIQL.js} +33 -13
  56. package/dist/{apply-7YLB2DPH.js → apply-I6JOM247.js} +3 -3
  57. package/dist/{backfill-WNQ6O5WP.js → backfill-UVUR36IB.js} +10 -10
  58. package/dist/{backlinks-ZBZR4D27.js → backlinks-3VMVACWN.js} +3 -3
  59. package/dist/{bing-4VBSKPSX.js → bing-R5RL3PW2.js} +3 -3
  60. package/dist/{bootstrap-7ESCLP2G.js → bootstrap-GMMSDTNO.js} +12 -12
  61. package/dist/{cdp-WBL6FZTL.js → cdp-FJKUXHEY.js} +7 -7
  62. package/dist/{chunk-L53ZSQN5.js → chunk-2DV7F6XA.js} +91 -2
  63. package/dist/{chunk-MTW37GXF.js → chunk-2FWYWGIR.js} +2 -2
  64. package/dist/{chunk-DMPSA7ZS.js → chunk-56VVRWJM.js} +14 -5
  65. package/dist/{chunk-YACKJGY4.js → chunk-7BEGCVVB.js} +1 -1
  66. package/dist/{chunk-YMHN4UIT.js → chunk-7BH53MOB.js} +27 -2
  67. package/dist/{chunk-XPIMVXAI.js → chunk-7J2RIIYU.js} +1366 -1033
  68. package/dist/{chunk-UY6SKAKW.js → chunk-7SNMIXEQ.js} +2 -2
  69. package/dist/{chunk-C55P75G4.js → chunk-AMGM55CP.js} +2 -2
  70. package/dist/{chunk-ZN2TEBBX.js → chunk-AYKTVQF7.js} +13 -5
  71. package/dist/{chunk-74V5EPZH.js → chunk-BKDRT4VS.js} +7 -7
  72. package/dist/{chunk-O6RXNSNW.js → chunk-COHSL6KW.js} +1 -1
  73. package/dist/{chunk-3WDQ5GPO.js → chunk-DGDLLRS4.js} +1 -1
  74. package/dist/{chunk-VADVPARO.js → chunk-DHIB7EIA.js} +4 -4
  75. package/dist/{chunk-3MFYM2IS.js → chunk-EE3QTCLS.js} +18 -6
  76. package/dist/{chunk-DLOWRO5R.js → chunk-F46TBLXK.js} +204 -94
  77. package/dist/{chunk-P764TJKQ.js → chunk-FBO25TA3.js} +1 -1
  78. package/dist/{chunk-SY3CWJR4.js → chunk-FZ3MUTU3.js} +2 -2
  79. package/dist/{chunk-WA6APXI6.js → chunk-G6QN4VFS.js} +16 -10
  80. package/dist/{chunk-YBWATBX4.js → chunk-HBHLYWKE.js} +9 -6
  81. package/dist/{chunk-5ZOM5BJS.js → chunk-HL2LGRTI.js} +8 -6
  82. package/dist/chunk-J6536OL6.js +31 -0
  83. package/dist/{chunk-3MKJ4LP6.js → chunk-KVRX7YIH.js} +20 -10
  84. package/dist/{chunk-3VPBRGPN.js → chunk-LJO2BKWU.js} +1 -1
  85. package/dist/{chunk-YEUULP44.js → chunk-LNVFERI4.js} +1 -1
  86. package/dist/{chunk-WXAF7AMC.js → chunk-NQYJHKML.js} +39 -7
  87. package/dist/{chunk-UPHHKO3L.js → chunk-O5UFAXUI.js} +646 -588
  88. package/dist/{chunk-XQP3XHLJ.js → chunk-O6APBEJE.js} +2 -2
  89. package/dist/{chunk-47X24IJG.js → chunk-O7S7OHLE.js} +9393 -8394
  90. package/dist/{chunk-2RW5D55K.js → chunk-QS5DWJDI.js} +2 -2
  91. package/dist/{chunk-TVBOK4P2.js → chunk-RBG2QXQM.js} +4 -4
  92. package/dist/{chunk-LM7HTNUO.js → chunk-SWZXHHAG.js} +16 -8
  93. package/dist/{chunk-AY7SDX6G.js → chunk-T7UDY7W3.js} +26 -11
  94. package/dist/{chunk-AJD252SX.js → chunk-UGO2FO6V.js} +119 -55
  95. package/dist/{chunk-PT5HNVCM.js → chunk-VHULVUDL.js} +1 -1
  96. package/dist/{chunk-ZGBLNKFN.js → chunk-YGAQQSCL.js} +56303 -54933
  97. package/dist/{chunk-RRXLJPBN.js → chunk-YIIRS7V7.js} +98 -65
  98. package/dist/{chunk-VOVT2H25.js → chunk-YU2WX7RD.js} +3 -3
  99. package/dist/{citations-N5MGNKJN.js → citations-LOEQRDUB.js} +21 -10
  100. package/dist/{cli-catalog-FFU7PHW7.js → cli-catalog-5RXNUFBS.js} +3 -3
  101. package/dist/{cli-commands-AMIDEUO2.js → cli-commands-HE2BQY3Y.js} +7 -7
  102. package/dist/cli.js +22 -17
  103. package/dist/{competitor-GRA2GMZR.js → competitor-PIX2BHJW.js} +3 -3
  104. package/dist/{content-YVAPTIV4.js → content-PJGW4WZF.js} +3 -3
  105. package/dist/{dashboard-33ACBR5A.js → dashboard-7OKBD4MG.js} +6 -6
  106. package/dist/{demo-AGXWBMR6.js → demo-SCOFAWFM.js} +1 -1
  107. package/dist/{demo-server-W4YAC7GT.js → demo-server-SJPI6RSL.js} +38 -36
  108. package/dist/{discover-BH33TO4Z.js → discover-I3WL2QUN.js} +10 -8
  109. package/dist/{discover-eval-3CEA6DEE.js → discover-eval-YRECOIP5.js} +3 -3
  110. package/dist/{doctor-ZAYTD5PC.js → doctor-F4J6LILX.js} +3 -3
  111. package/dist/{evidence-247GL7UK.js → evidence-MYQTCY4V.js} +25 -10
  112. package/dist/{export-cmd-HLKWFI5Q.js → export-cmd-3SUFOJM6.js} +3 -3
  113. package/dist/{ga-BMING57Z.js → ga-VA6FYK4L.js} +3 -3
  114. package/dist/{gbp-MIB5CXSD.js → gbp-DI6ZVFHL.js} +3 -3
  115. package/dist/{google-5JP6RYAW.js → google-UVKWJCD2.js} +4 -4
  116. package/dist/{google-marketing-25OBMPS6.js → google-marketing-S63HN733.js} +1 -1
  117. package/dist/{health-cmd-D5XSEL7H.js → health-cmd-DOZXGI46.js} +16 -9
  118. package/dist/{history-6MDRFPQ3.js → history-UTJTUDYK.js} +3 -3
  119. package/dist/index.d.ts +211 -19
  120. package/dist/index.js +26 -26
  121. package/dist/{init-RDR75N2Y.js → init-IVJSS33J.js} +19 -19
  122. package/dist/{insights-QZVMBGVM.js → insights-UHCVCZ76.js} +3 -3
  123. package/dist/intelligence-service-3EENJ5DS.js +16 -0
  124. package/dist/{journeys-TABTZDFZ.js → journeys-XIT7WDM2.js} +3 -3
  125. package/dist/{keys-SL5YF7NQ.js → keys-MQKW4JUI.js} +3 -3
  126. package/dist/{keyword-OCDEXRSW.js → keyword-EASMKYZ3.js} +3 -3
  127. package/dist/{logs-CSC7O364.js → logs-ZHZ6XM55.js} +3 -3
  128. package/dist/{mcp-P725OHAJ.js → mcp-ECVT2YGU.js} +4 -4
  129. package/dist/mcp.js +10 -10
  130. package/dist/{measurement-plan-Z42GBJBO.js → measurement-plan-7FQKUOMR.js} +5 -5
  131. package/dist/{notify-E5JBES4I.js → notify-TC7ARC6W.js} +3 -3
  132. package/dist/{organic-evidence-CUA3T64O.js → organic-evidence-M34MWJXE.js} +7 -4
  133. package/dist/overview-P6BRMXJN.js +314 -0
  134. package/dist/{project-2ULM64TV.js → project-WZ2YXFPJ.js} +4 -4
  135. package/dist/project-setup-WV6SPGIV.js +176 -0
  136. package/dist/{query-Y47IEFKJ.js → query-WAFJKDHG.js} +3 -3
  137. package/dist/{research-DPFQZ3TE.js → research-B5ZPQX7R.js} +3 -3
  138. package/dist/{results-export-KBHOBQAH.js → results-export-NIZV6R3K.js} +3 -3
  139. package/dist/{run-4CYHVIIU.js → run-ICLPZ7QT.js} +7 -4
  140. package/dist/{schedule-GY4P3RON.js → schedule-4C44LQ7R.js} +22 -3
  141. package/dist/{search-AGVNZMJQ.js → search-UJM7KII3.js} +11 -4
  142. package/dist/{serve-5LFKIXNL.js → serve-A6UIO6WP.js} +30 -29
  143. package/dist/{session-YAYEDM3P.js → session-RTE22GQT.js} +14 -14
  144. package/dist/settings-BOF5Z7ML.js +211 -0
  145. package/dist/{sitemaps-APTY7U6H.js → sitemaps-BM7S76H2.js} +4 -4
  146. package/dist/{skills-4BUONEIZ.js → skills-X5SR4HRO.js} +2 -2
  147. package/dist/{snapshot-BXCWSF5P.js → snapshot-KLKE37VY.js} +4 -4
  148. package/dist/{src-R7XZUX3D.js → src-EKLG5A6O.js} +4 -2
  149. package/dist/{status-SB6HPBYJ.js → status-OYG57DWU.js} +6 -5
  150. package/dist/{technical-aeo-G7UEMWZD.js → technical-aeo-KWVWOOTI.js} +23 -23
  151. package/dist/{telemetry-H4S4Y7YV.js → telemetry-KGE6FF3Y.js} +4 -4
  152. package/dist/{tools-46XX6I4R.js → tools-4R33AZQ3.js} +11 -11
  153. package/dist/{traffic-I6WRJN3W.js → traffic-SVMOKCSS.js} +7 -11
  154. package/dist/{trends-AQK3GLWF.js → trends-RGAKGX3L.js} +4 -4
  155. package/dist/{users-SNTVY6OB.js → users-47WKA2TO.js} +3 -3
  156. package/dist/{visibility-stats-44QAD2XS.js → visibility-stats-DTGQJPNV.js} +9 -5
  157. package/dist/{wordpress-N7LTOW46.js → wordpress-2CNUX4UE.js} +3 -3
  158. package/package.json +1 -1
  159. package/assets/assets/AgentSetupPage-yOqSVJ-e.js +0 -18
  160. package/assets/assets/AuditHistoryPanel-CiTzFgbw.js +0 -1
  161. package/assets/assets/BacklinksPage-DmRdQsFQ.js +0 -1
  162. package/assets/assets/ChartPrimitives-CvK6CQrj.js +0 -1
  163. package/assets/assets/Hint-c4a4W87X.js +0 -1
  164. package/assets/assets/InfoTooltip-Drnst4ML.js +0 -1
  165. package/assets/assets/MeasurementPropertyPage-Cx64Fnmz.js +0 -4
  166. package/assets/assets/ProjectPage-DNfgC82V.js +0 -11
  167. package/assets/assets/RunsPage-BmPKBKKr.js +0 -1
  168. package/assets/assets/SettingsPage-Dl0TNeVK.js +0 -1
  169. package/assets/assets/SiteHealthSection-DxQPaR--.js +0 -2
  170. package/assets/assets/ToneBadge-BhjTBHi-.js +0 -60
  171. package/assets/assets/TrafficPage-CJp0pS01.js +0 -40
  172. package/assets/assets/TrafficSourceDetailPage-DKE8tSw5.js +0 -1
  173. package/assets/assets/format-helpers-BPugHeIX.js +0 -3
  174. package/assets/assets/index-BAxHW-1G.css +0 -1
  175. package/assets/assets/index-xlDLvgRC.js +0 -60
  176. package/assets/assets/query-client-CwZpfiiD.js +0 -1
  177. package/assets/assets/react-query-CBpNFR4t.js +0 -1
  178. package/assets/assets/service-DFumlmXt.js +0 -1
  179. package/assets/assets/vendor-lucide-DuOM7wVi.js +0 -1
  180. package/dist/intelligence-service-KQE7RO5I.js +0 -16
  181. package/dist/overview-UKQ52I72.js +0 -213
  182. package/dist/settings-HUKMWRHY.js +0 -119
@@ -20,17 +20,17 @@ import {
20
20
  showMeasurementProperty,
21
21
  showMeasurementPropertyEvidence,
22
22
  showMeasurementReport
23
- } from "./chunk-ZN2TEBBX.js";
23
+ } from "./chunk-AYKTVQF7.js";
24
24
  import {
25
25
  resolveServePort
26
26
  } from "./chunk-TSENU4GG.js";
27
27
  import {
28
28
  createApiClient
29
- } from "./chunk-AJD252SX.js";
29
+ } from "./chunk-UGO2FO6V.js";
30
30
  import {
31
31
  getConfigDir,
32
32
  loadConfig
33
- } from "./chunk-3MFYM2IS.js";
33
+ } from "./chunk-EE3QTCLS.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-YMHN4UIT.js";
46
+ } from "./chunk-7BH53MOB.js";
47
47
  import {
48
48
  emitJsonl
49
49
  } from "./chunk-Z7IUAJOF.js";
@@ -58,6 +58,8 @@ import {
58
58
  AppError,
59
59
  FEEDBACK_KINDS,
60
60
  OperationAccesses,
61
+ ProviderNames,
62
+ ProviderQuotaFields,
61
63
  RatioUnits,
62
64
  SITE_AUDIT_MAX_PAGE_LIMIT,
63
65
  SeoMarketRankingOutcomes,
@@ -81,6 +83,7 @@ import {
81
83
  parseOrganicEvidencePeriod,
82
84
  parseWindowIn,
83
85
  providerDispatchModeSchema,
86
+ providerSettingsUpdateRequestSchema,
84
87
  queryClassFilterSchema,
85
88
  sentimentBackfillRequestSchema,
86
89
  sentimentBackfillSelectionSchema,
@@ -100,10 +103,11 @@ import {
100
103
  siteAuditIssueListQuerySchema,
101
104
  siteAuditPageBudgetSchema,
102
105
  snapshotProviderModeSchema,
106
+ suggestedBrandName,
103
107
  trendSurfaceSchema,
104
108
  visibilityCompareSelectionSchema,
105
109
  winnabilityClassSchema
106
- } from "./chunk-47X24IJG.js";
110
+ } from "./chunk-O7S7OHLE.js";
107
111
 
108
112
  // src/cli-commands/sentiment.ts
109
113
  import "zod";
@@ -728,7 +732,7 @@ var DEMO_CLI_COMMANDS = [{
728
732
  options: { host: stringOption(), port: stringOption(), "trust-proxy": multiStringOption() },
729
733
  allowPositionals: false,
730
734
  run: async (input) => {
731
- const { demoCommand } = await import("./demo-AGXWBMR6.js");
735
+ const { demoCommand } = await import("./demo-SCOFAWFM.js");
732
736
  await demoCommand({
733
737
  host: getString(input.values, "host"),
734
738
  port: getString(input.values, "port"),
@@ -749,7 +753,7 @@ var BACKFILL_CLI_COMMANDS = [
749
753
  allowPositionals: false,
750
754
  supportsDryRun: true,
751
755
  run: async (input) => {
752
- const { backfillAnswerVisibilityCommand } = await import("./backfill-WNQ6O5WP.js");
756
+ const { backfillAnswerVisibilityCommand } = await import("./backfill-UVUR36IB.js");
753
757
  await backfillAnswerVisibilityCommand({
754
758
  project: getString(input.values, "project"),
755
759
  dryRun: input.dryRun,
@@ -766,7 +770,7 @@ var BACKFILL_CLI_COMMANDS = [
766
770
  allowPositionals: false,
767
771
  supportsDryRun: true,
768
772
  run: async (input) => {
769
- const { backfillAnswerMentionsCommand } = await import("./backfill-WNQ6O5WP.js");
773
+ const { backfillAnswerMentionsCommand } = await import("./backfill-UVUR36IB.js");
770
774
  await backfillAnswerMentionsCommand({
771
775
  project: getString(input.values, "project"),
772
776
  dryRun: input.dryRun,
@@ -784,7 +788,7 @@ var BACKFILL_CLI_COMMANDS = [
784
788
  },
785
789
  supportsDryRun: true,
786
790
  run: async (input) => {
787
- const { backfillInsightsCommand } = await import("./backfill-WNQ6O5WP.js");
791
+ const { backfillInsightsCommand } = await import("./backfill-UVUR36IB.js");
788
792
  const usage = "canonry backfill insights <project> [--from-run <id>] [--to-run <id>] [--since <date>] [--dry-run] [--format json]";
789
793
  const project3 = requireProject(input, "backfill insights", usage);
790
794
  await backfillInsightsCommand(project3, {
@@ -804,7 +808,7 @@ var BACKFILL_CLI_COMMANDS = [
804
808
  },
805
809
  allowPositionals: false,
806
810
  run: async (input) => {
807
- const { backfillNormalizedPathsCommand } = await import("./backfill-WNQ6O5WP.js");
811
+ const { backfillNormalizedPathsCommand } = await import("./backfill-UVUR36IB.js");
808
812
  await backfillNormalizedPathsCommand({
809
813
  project: getString(input.values, "project"),
810
814
  format: input.format
@@ -819,7 +823,7 @@ var BACKFILL_CLI_COMMANDS = [
819
823
  },
820
824
  allowPositionals: false,
821
825
  run: async (input) => {
822
- const { backfillAiReferralPathsCommand } = await import("./backfill-WNQ6O5WP.js");
826
+ const { backfillAiReferralPathsCommand } = await import("./backfill-UVUR36IB.js");
823
827
  await backfillAiReferralPathsCommand({
824
828
  project: getString(input.values, "project"),
825
829
  format: input.format
@@ -831,7 +835,7 @@ var BACKFILL_CLI_COMMANDS = [
831
835
  usage: "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]",
832
836
  supportsDryRun: true,
833
837
  run: async (input) => {
834
- const { backfillSnapshotAttributionCommand } = await import("./backfill-WNQ6O5WP.js");
838
+ const { backfillSnapshotAttributionCommand } = await import("./backfill-UVUR36IB.js");
835
839
  const usage = "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]";
836
840
  const project3 = requireProject(input, "backfill snapshot-attribution", usage);
837
841
  await backfillSnapshotAttributionCommand({
@@ -850,7 +854,7 @@ var BACKFILL_CLI_COMMANDS = [
850
854
  allowPositionals: false,
851
855
  supportsDryRun: true,
852
856
  run: async (input) => {
853
- const { backfillTrafficClassificationCommand } = await import("./backfill-WNQ6O5WP.js");
857
+ const { backfillTrafficClassificationCommand } = await import("./backfill-UVUR36IB.js");
854
858
  await backfillTrafficClassificationCommand({
855
859
  project: getString(input.values, "project"),
856
860
  dryRun: input.dryRun,
@@ -878,7 +882,7 @@ var BACKLINKS_CLI_COMMANDS = [
878
882
  usage: "canonry backlinks install [--format json]",
879
883
  options: {},
880
884
  run: async (input) => {
881
- const { backlinksInstall } = await import("./backlinks-ZBZR4D27.js");
885
+ const { backlinksInstall } = await import("./backlinks-3VMVACWN.js");
882
886
  await backlinksInstall({ format: input.format });
883
887
  }
884
888
  },
@@ -887,7 +891,7 @@ var BACKLINKS_CLI_COMMANDS = [
887
891
  usage: "canonry backlinks doctor [--format json]",
888
892
  options: {},
889
893
  run: async (input) => {
890
- const { backlinksDoctor } = await import("./backlinks-ZBZR4D27.js");
894
+ const { backlinksDoctor } = await import("./backlinks-3VMVACWN.js");
891
895
  await backlinksDoctor({ format: input.format });
892
896
  }
893
897
  },
@@ -899,7 +903,7 @@ var BACKLINKS_CLI_COMMANDS = [
899
903
  wait: { type: "boolean" }
900
904
  },
901
905
  run: async (input) => {
902
- const { backlinksSync } = await import("./backlinks-ZBZR4D27.js");
906
+ const { backlinksSync } = await import("./backlinks-3VMVACWN.js");
903
907
  await backlinksSync({
904
908
  release: getString(input.values, "release"),
905
909
  wait: getBoolean(input.values, "wait"),
@@ -912,7 +916,7 @@ var BACKLINKS_CLI_COMMANDS = [
912
916
  usage: "canonry backlinks status [--format json]",
913
917
  options: {},
914
918
  run: async (input) => {
915
- const { backlinksStatus } = await import("./backlinks-ZBZR4D27.js");
919
+ const { backlinksStatus } = await import("./backlinks-3VMVACWN.js");
916
920
  await backlinksStatus({ format: input.format });
917
921
  }
918
922
  },
@@ -926,7 +930,7 @@ var BACKLINKS_CLI_COMMANDS = [
926
930
  "exclude-crawlers": { type: "boolean" }
927
931
  },
928
932
  run: async (input) => {
929
- const { backlinksList, parseSourceFlag } = await import("./backlinks-ZBZR4D27.js");
933
+ const { backlinksList, parseSourceFlag } = await import("./backlinks-3VMVACWN.js");
930
934
  const project3 = requireProject(
931
935
  input,
932
936
  "backlinks list",
@@ -954,7 +958,7 @@ var BACKLINKS_CLI_COMMANDS = [
954
958
  "exclude-crawlers": { type: "boolean" }
955
959
  },
956
960
  run: async (input) => {
957
- const { backlinksSources } = await import("./backlinks-ZBZR4D27.js");
961
+ const { backlinksSources } = await import("./backlinks-3VMVACWN.js");
958
962
  const project3 = requireProject(
959
963
  input,
960
964
  "backlinks sources",
@@ -972,7 +976,7 @@ var BACKLINKS_CLI_COMMANDS = [
972
976
  usage: "canonry backlinks releases [--format json]",
973
977
  options: {},
974
978
  run: async (input) => {
975
- const { backlinksReleases } = await import("./backlinks-ZBZR4D27.js");
979
+ const { backlinksReleases } = await import("./backlinks-3VMVACWN.js");
976
980
  await backlinksReleases({ format: input.format });
977
981
  }
978
982
  },
@@ -981,7 +985,7 @@ var BACKLINKS_CLI_COMMANDS = [
981
985
  usage: "canonry backlinks releases latest [--format json]",
982
986
  options: {},
983
987
  run: async (input) => {
984
- const { backlinksLatestRelease } = await import("./backlinks-ZBZR4D27.js");
988
+ const { backlinksLatestRelease } = await import("./backlinks-3VMVACWN.js");
985
989
  await backlinksLatestRelease({ format: input.format });
986
990
  }
987
991
  },
@@ -993,7 +997,7 @@ var BACKLINKS_CLI_COMMANDS = [
993
997
  wait: { type: "boolean" }
994
998
  },
995
999
  run: async (input) => {
996
- const { backlinksExtract } = await import("./backlinks-ZBZR4D27.js");
1000
+ const { backlinksExtract } = await import("./backlinks-3VMVACWN.js");
997
1001
  const project3 = requireProject(
998
1002
  input,
999
1003
  "backlinks extract",
@@ -1014,7 +1018,7 @@ var BACKLINKS_CLI_COMMANDS = [
1014
1018
  release: stringOption()
1015
1019
  },
1016
1020
  run: async (input) => {
1017
- const { backlinksCachePrune } = await import("./backlinks-ZBZR4D27.js");
1021
+ const { backlinksCachePrune } = await import("./backlinks-3VMVACWN.js");
1018
1022
  const release = requireStringOption(input, "release", {
1019
1023
  message: "--release is required",
1020
1024
  usage: "canonry backlinks cache prune --release <id>",
@@ -1037,7 +1041,7 @@ var BING_CLI_COMMANDS = [
1037
1041
  "api-key": stringOption()
1038
1042
  },
1039
1043
  run: async (input) => {
1040
- const { bingConnect } = await import("./bing-4VBSKPSX.js");
1044
+ const { bingConnect } = await import("./bing-R5RL3PW2.js");
1041
1045
  const project3 = requireProject(input, "bing.connect", "canonry bing connect <project> [--api-key <key>] [--format json]");
1042
1046
  await bingConnect(project3, {
1043
1047
  apiKey: getString(input.values, "api-key"),
@@ -1049,7 +1053,7 @@ var BING_CLI_COMMANDS = [
1049
1053
  path: ["bing", "disconnect"],
1050
1054
  usage: "canonry bing disconnect <project> [--format json]",
1051
1055
  run: async (input) => {
1052
- const { bingDisconnect } = await import("./bing-4VBSKPSX.js");
1056
+ const { bingDisconnect } = await import("./bing-R5RL3PW2.js");
1053
1057
  const project3 = requireProject(input, "bing.disconnect", "canonry bing disconnect <project> [--format json]");
1054
1058
  await bingDisconnect(project3, input.format);
1055
1059
  }
@@ -1058,7 +1062,7 @@ var BING_CLI_COMMANDS = [
1058
1062
  path: ["bing", "status"],
1059
1063
  usage: "canonry bing status <project> [--format json]",
1060
1064
  run: async (input) => {
1061
- const { bingStatus } = await import("./bing-4VBSKPSX.js");
1065
+ const { bingStatus } = await import("./bing-R5RL3PW2.js");
1062
1066
  const project3 = requireProject(input, "bing.status", "canonry bing status <project> [--format json]");
1063
1067
  await bingStatus(project3, input.format);
1064
1068
  }
@@ -1067,7 +1071,7 @@ var BING_CLI_COMMANDS = [
1067
1071
  path: ["bing", "sites"],
1068
1072
  usage: "canonry bing sites <project> [--format json]",
1069
1073
  run: async (input) => {
1070
- const { bingSites } = await import("./bing-4VBSKPSX.js");
1074
+ const { bingSites } = await import("./bing-R5RL3PW2.js");
1071
1075
  const project3 = requireProject(input, "bing.sites", "canonry bing sites <project> [--format json]");
1072
1076
  await bingSites(project3, input.format);
1073
1077
  }
@@ -1076,7 +1080,7 @@ var BING_CLI_COMMANDS = [
1076
1080
  path: ["bing", "set-site"],
1077
1081
  usage: "canonry bing set-site <project> <url> [--format json]",
1078
1082
  run: async (input) => {
1079
- const { bingSetSite } = await import("./bing-4VBSKPSX.js");
1083
+ const { bingSetSite } = await import("./bing-R5RL3PW2.js");
1080
1084
  const project3 = requireProject(input, "bing.set-site", "canonry bing set-site <project> <url> [--format json]");
1081
1085
  const siteUrl = requirePositional(input, 1, {
1082
1086
  command: "bing.set-site",
@@ -1091,7 +1095,7 @@ var BING_CLI_COMMANDS = [
1091
1095
  usage: "canonry bing coverage-history <project> [--limit <n>] [--format json]",
1092
1096
  options: { limit: stringOption() },
1093
1097
  run: async (input) => {
1094
- const { bingCoverageHistory } = await import("./bing-4VBSKPSX.js");
1098
+ const { bingCoverageHistory } = await import("./bing-R5RL3PW2.js");
1095
1099
  const project3 = requireProject(input, "bing.coverage-history", "canonry bing coverage-history <project> [--limit <n>] [--format json]");
1096
1100
  await bingCoverageHistory(project3, {
1097
1101
  limit: parseIntegerOption(input, "limit", {
@@ -1107,7 +1111,7 @@ var BING_CLI_COMMANDS = [
1107
1111
  path: ["bing", "coverage"],
1108
1112
  usage: "canonry bing coverage <project> [--format json]",
1109
1113
  run: async (input) => {
1110
- const { bingCoverage } = await import("./bing-4VBSKPSX.js");
1114
+ const { bingCoverage } = await import("./bing-R5RL3PW2.js");
1111
1115
  const project3 = requireProject(input, "bing.coverage", "canonry bing coverage <project> [--format json]");
1112
1116
  await bingCoverage(project3, input.format);
1113
1117
  }
@@ -1116,7 +1120,7 @@ var BING_CLI_COMMANDS = [
1116
1120
  path: ["bing", "inspect"],
1117
1121
  usage: "canonry bing inspect <project> <url> [--format json]",
1118
1122
  run: async (input) => {
1119
- const { bingInspect } = await import("./bing-4VBSKPSX.js");
1123
+ const { bingInspect } = await import("./bing-R5RL3PW2.js");
1120
1124
  const project3 = requireProject(input, "bing.inspect", "canonry bing inspect <project> <url> [--format json]");
1121
1125
  const url = requirePositional(input, 1, {
1122
1126
  command: "bing.inspect",
@@ -1133,7 +1137,7 @@ var BING_CLI_COMMANDS = [
1133
1137
  url: stringOption()
1134
1138
  },
1135
1139
  run: async (input) => {
1136
- const { bingInspections } = await import("./bing-4VBSKPSX.js");
1140
+ const { bingInspections } = await import("./bing-R5RL3PW2.js");
1137
1141
  const project3 = requireProject(input, "bing.inspections", "canonry bing inspections <project> [--url <url>] [--format json]");
1138
1142
  await bingInspections(project3, {
1139
1143
  url: getString(input.values, "url"),
@@ -1149,7 +1153,7 @@ var BING_CLI_COMMANDS = [
1149
1153
  wait: { type: "boolean", default: false }
1150
1154
  },
1151
1155
  run: async (input) => {
1152
- const { bingInspectSitemap } = await import("./bing-4VBSKPSX.js");
1156
+ const { bingInspectSitemap } = await import("./bing-R5RL3PW2.js");
1153
1157
  const project3 = requireProject(input, "bing.inspect-sitemap", "canonry bing inspect-sitemap <project> [--sitemap-url <url>] [--wait] [--format json]");
1154
1158
  await bingInspectSitemap(project3, {
1155
1159
  sitemapUrl: getString(input.values, "sitemap-url"),
@@ -1165,7 +1169,7 @@ var BING_CLI_COMMANDS = [
1165
1169
  "all-unindexed": { type: "boolean", default: false }
1166
1170
  },
1167
1171
  run: async (input) => {
1168
- const { bingRequestIndexing } = await import("./bing-4VBSKPSX.js");
1172
+ const { bingRequestIndexing } = await import("./bing-R5RL3PW2.js");
1169
1173
  const project3 = requireProject(input, "bing.request-indexing", "canonry bing request-indexing <project> [url] [--all-unindexed] [--format json]");
1170
1174
  const url = input.positionals[1];
1171
1175
  const allUnindexed = getBoolean(input.values, "all-unindexed");
@@ -1189,7 +1193,7 @@ var BING_CLI_COMMANDS = [
1189
1193
  path: ["bing", "performance"],
1190
1194
  usage: "canonry bing performance <project> [--format json]",
1191
1195
  run: async (input) => {
1192
- const { bingPerformance } = await import("./bing-4VBSKPSX.js");
1196
+ const { bingPerformance } = await import("./bing-R5RL3PW2.js");
1193
1197
  const project3 = requireProject(input, "bing.performance", "canonry bing performance <project> [--format json]");
1194
1198
  await bingPerformance(project3, input.format);
1195
1199
  }
@@ -1198,7 +1202,7 @@ var BING_CLI_COMMANDS = [
1198
1202
  path: ["bing", "refresh"],
1199
1203
  usage: "canonry bing refresh <project> [--format json]",
1200
1204
  run: async (input) => {
1201
- const { bingRefresh } = await import("./bing-4VBSKPSX.js");
1205
+ const { bingRefresh } = await import("./bing-R5RL3PW2.js");
1202
1206
  const project3 = requireProject(input, "bing.refresh", "canonry bing refresh <project> [--format json]");
1203
1207
  await bingRefresh(project3, input.format);
1204
1208
  }
@@ -1207,7 +1211,7 @@ var BING_CLI_COMMANDS = [
1207
1211
  path: ["bing", "submit-sitemap"],
1208
1212
  usage: "canonry bing submit-sitemap <project> <sitemap-url> [--format json]",
1209
1213
  run: async (input) => {
1210
- const { bingSubmitSitemap } = await import("./bing-4VBSKPSX.js");
1214
+ const { bingSubmitSitemap } = await import("./bing-R5RL3PW2.js");
1211
1215
  const project3 = requireProject(input, "bing.submit-sitemap", "canonry bing submit-sitemap <project> <sitemap-url> [--format json]");
1212
1216
  const sitemapUrl = requirePositional(input, 1, { command: "bing.submit-sitemap", usage: "canonry bing submit-sitemap <project> <sitemap-url> [--format json]", message: "project name and sitemap URL are required" });
1213
1217
  await bingSubmitSitemap(project3, sitemapUrl, { format: input.format });
@@ -1218,7 +1222,7 @@ var BING_CLI_COMMANDS = [
1218
1222
  usage: "canonry bing sync <project> [--wait] [--format json]",
1219
1223
  options: { wait: { type: "boolean", default: false } },
1220
1224
  run: async (input) => {
1221
- const { bingSync } = await import("./bing-4VBSKPSX.js");
1225
+ const { bingSync } = await import("./bing-R5RL3PW2.js");
1222
1226
  const project3 = requireProject(input, "bing.sync", "canonry bing sync <project> [--wait] [--format json]");
1223
1227
  await bingSync(project3, { wait: getBoolean(input.values, "wait"), format: input.format });
1224
1228
  }
@@ -1228,7 +1232,7 @@ var BING_CLI_COMMANDS = [
1228
1232
  usage: "canonry bing traffic <project> [--window 7d|30d|90d|all] [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]",
1229
1233
  options: { window: stringOption(), days: stringOption(), "start-date": stringOption(), "end-date": stringOption() },
1230
1234
  run: async (input) => {
1231
- const { bingTraffic } = await import("./bing-4VBSKPSX.js");
1235
+ const { bingTraffic } = await import("./bing-R5RL3PW2.js");
1232
1236
  const project3 = requireProject(input, "bing.traffic", "canonry bing traffic <project> [--window 7d|30d|90d|all] [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]");
1233
1237
  await bingTraffic(project3, { window: getString(input.values, "window"), days: getString(input.values, "days"), startDate: getString(input.values, "start-date"), endDate: getString(input.values, "end-date"), format: input.format });
1234
1238
  }
@@ -1238,7 +1242,7 @@ var BING_CLI_COMMANDS = [
1238
1242
  usage: "canonry bing queries <project> [--window 7d|30d|90d|all] [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--query <text> [--exact]] [--group-by query|week] [--limit <n>] [--offset <n>] [--format json|jsonl]",
1239
1243
  options: { window: stringOption(), days: stringOption(), "start-date": stringOption(), "end-date": stringOption(), query: stringOption(), exact: { type: "boolean", default: false }, "group-by": stringOption(), limit: stringOption(), offset: stringOption() },
1240
1244
  run: async (input) => {
1241
- const { bingQueries } = await import("./bing-4VBSKPSX.js");
1245
+ const { bingQueries } = await import("./bing-R5RL3PW2.js");
1242
1246
  const project3 = requireProject(input, "bing.queries", "canonry bing queries <project> [--window 7d|30d|90d|all] [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--query <text> [--exact]] [--group-by query|week] [--limit <n>] [--offset <n>] [--format json|jsonl]");
1243
1247
  await bingQueries(project3, {
1244
1248
  window: getString(input.values, "window"),
@@ -1259,7 +1263,7 @@ var BING_CLI_COMMANDS = [
1259
1263
  usage: "canonry bing pages <project> [--window 7d|30d|90d|all] [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--page <text> [--exact]] [--group-by page|week] [--limit <n>] [--offset <n>] [--format json|jsonl]",
1260
1264
  options: { window: stringOption(), days: stringOption(), "start-date": stringOption(), "end-date": stringOption(), page: stringOption(), exact: { type: "boolean", default: false }, "group-by": stringOption(), limit: stringOption(), offset: stringOption() },
1261
1265
  run: async (input) => {
1262
- const { bingPages } = await import("./bing-4VBSKPSX.js");
1266
+ const { bingPages } = await import("./bing-R5RL3PW2.js");
1263
1267
  const project3 = requireProject(input, "bing.pages", "canonry bing pages <project> [--window 7d|30d|90d|all] [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--page <text> [--exact]] [--group-by page|week] [--limit <n>] [--offset <n>] [--format json|jsonl]");
1264
1268
  await bingPages(project3, {
1265
1269
  window: getString(input.values, "window"),
@@ -1280,7 +1284,7 @@ var BING_CLI_COMMANDS = [
1280
1284
  usage: "canonry bing crawl-stats <project> [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]",
1281
1285
  options: { days: stringOption(), "start-date": stringOption(), "end-date": stringOption() },
1282
1286
  run: async (input) => {
1283
- const { bingCrawlStats } = await import("./bing-4VBSKPSX.js");
1287
+ const { bingCrawlStats } = await import("./bing-R5RL3PW2.js");
1284
1288
  const project3 = requireProject(input, "bing.crawl-stats", "canonry bing crawl-stats <project> [--days <n>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]");
1285
1289
  await bingCrawlStats(project3, { days: getString(input.values, "days"), startDate: getString(input.values, "start-date"), endDate: getString(input.values, "end-date"), format: input.format });
1286
1290
  }
@@ -1289,7 +1293,7 @@ var BING_CLI_COMMANDS = [
1289
1293
  path: ["bing", "sitemaps"],
1290
1294
  usage: "canonry bing sitemaps <project> [--format json|jsonl]",
1291
1295
  run: async (input) => {
1292
- const { bingSitemaps } = await import("./bing-4VBSKPSX.js");
1296
+ const { bingSitemaps } = await import("./bing-R5RL3PW2.js");
1293
1297
  const project3 = requireProject(input, "bing.sitemaps", "canonry bing sitemaps <project> [--format json|jsonl]");
1294
1298
  await bingSitemaps(project3, input.format);
1295
1299
  }
@@ -1299,7 +1303,7 @@ var BING_CLI_COMMANDS = [
1299
1303
  usage: "canonry bing site <project> [--kind <kind>] [--format json|jsonl]",
1300
1304
  options: { kind: stringOption() },
1301
1305
  run: async (input) => {
1302
- const { bingSite } = await import("./bing-4VBSKPSX.js");
1306
+ const { bingSite } = await import("./bing-R5RL3PW2.js");
1303
1307
  const project3 = requireProject(input, "bing.site", "canonry bing site <project> [--kind <kind>] [--format json|jsonl]");
1304
1308
  await bingSite(project3, { kind: getString(input.values, "kind"), format: input.format });
1305
1309
  }
@@ -1309,7 +1313,7 @@ var BING_CLI_COMMANDS = [
1309
1313
  usage: "canonry bing keyword-demand <project> [--query <tracked query>] [--format json|jsonl]",
1310
1314
  options: { query: stringOption() },
1311
1315
  run: async (input) => {
1312
- const { bingKeywordDemand } = await import("./bing-4VBSKPSX.js");
1316
+ const { bingKeywordDemand } = await import("./bing-R5RL3PW2.js");
1313
1317
  const project3 = requireProject(input, "bing.keyword-demand", "canonry bing keyword-demand <project> [--query <tracked query>] [--format json|jsonl]");
1314
1318
  await bingKeywordDemand(project3, { query: getString(input.values, "query"), format: input.format });
1315
1319
  }
@@ -1318,7 +1322,7 @@ var BING_CLI_COMMANDS = [
1318
1322
  path: ["bing", "query-pages"],
1319
1323
  usage: "canonry bing query-pages <project> <query> [--format json|jsonl]",
1320
1324
  run: async (input) => {
1321
- const { bingQueryPages } = await import("./bing-4VBSKPSX.js");
1325
+ const { bingQueryPages } = await import("./bing-R5RL3PW2.js");
1322
1326
  const project3 = requireProject(input, "bing.query-pages", "canonry bing query-pages <project> <query> [--format json|jsonl]");
1323
1327
  const searchQuery = requirePositional(input, 1, { command: "bing.query-pages", usage: "canonry bing query-pages <project> <query> [--format json|jsonl]", message: "project name and query are required" });
1324
1328
  await bingQueryPages(project3, searchQuery, input.format);
@@ -1328,7 +1332,7 @@ var BING_CLI_COMMANDS = [
1328
1332
  path: ["bing", "page-queries"],
1329
1333
  usage: "canonry bing page-queries <project> <page-url> [--format json|jsonl]",
1330
1334
  run: async (input) => {
1331
- const { bingPageQueries } = await import("./bing-4VBSKPSX.js");
1335
+ const { bingPageQueries } = await import("./bing-R5RL3PW2.js");
1332
1336
  const project3 = requireProject(input, "bing.page-queries", "canonry bing page-queries <project> <page-url> [--format json|jsonl]");
1333
1337
  const page = requirePositional(input, 1, { command: "bing.page-queries", usage: "canonry bing page-queries <project> <page-url> [--format json|jsonl]", message: "project name and page URL are required" });
1334
1338
  await bingPageQueries(project3, page, input.format);
@@ -1339,7 +1343,7 @@ var BING_CLI_COMMANDS = [
1339
1343
  usage: "canonry bing query-history <project> <query> [--page <url>] [--format json|jsonl]",
1340
1344
  options: { page: stringOption() },
1341
1345
  run: async (input) => {
1342
- const { bingQueryHistory } = await import("./bing-4VBSKPSX.js");
1346
+ const { bingQueryHistory } = await import("./bing-R5RL3PW2.js");
1343
1347
  const project3 = requireProject(input, "bing.query-history", "canonry bing query-history <project> <query> [--page <url>] [--format json|jsonl]");
1344
1348
  const searchQuery = requirePositional(input, 1, { command: "bing.query-history", usage: "canonry bing query-history <project> <query> [--page <url>] [--format json|jsonl]", message: "project name and query are required" });
1345
1349
  await bingQueryHistory(project3, { query: searchQuery, page: getString(input.values, "page"), format: input.format });
@@ -1350,7 +1354,7 @@ var BING_CLI_COMMANDS = [
1350
1354
  usage: "canonry bing url-traffic <project> <url> [--children] [--page <n>] [--format json|jsonl]",
1351
1355
  options: { children: { type: "boolean", default: false }, page: stringOption() },
1352
1356
  run: async (input) => {
1353
- const { bingUrlTraffic } = await import("./bing-4VBSKPSX.js");
1357
+ const { bingUrlTraffic } = await import("./bing-R5RL3PW2.js");
1354
1358
  const project3 = requireProject(input, "bing.url-traffic", "canonry bing url-traffic <project> <url> [--children] [--page <n>] [--format json|jsonl]");
1355
1359
  const url = requirePositional(input, 1, { command: "bing.url-traffic", usage: "canonry bing url-traffic <project> <url> [--children] [--page <n>] [--format json|jsonl]", message: "project name and URL are required" });
1356
1360
  await bingUrlTraffic(project3, { url, children: getBoolean(input.values, "children"), page: parseIntegerOption(input, "page", { command: "bing.url-traffic", message: "--page must be an integer", usage: "canonry bing url-traffic <project> <url> [--children] [--page <n>] [--format json|jsonl]" }), format: input.format });
@@ -1361,7 +1365,7 @@ var BING_CLI_COMMANDS = [
1361
1365
  usage: "canonry bing url-children <project> <url> [--page <n>] [--format json|jsonl]",
1362
1366
  options: { page: stringOption() },
1363
1367
  run: async (input) => {
1364
- const { bingUrlChildren } = await import("./bing-4VBSKPSX.js");
1368
+ const { bingUrlChildren } = await import("./bing-R5RL3PW2.js");
1365
1369
  const project3 = requireProject(input, "bing.url-children", "canonry bing url-children <project> <url> [--page <n>] [--format json|jsonl]");
1366
1370
  const url = requirePositional(input, 1, { command: "bing.url-children", usage: "canonry bing url-children <project> <url> [--page <n>] [--format json|jsonl]", message: "project name and URL are required" });
1367
1371
  await bingUrlChildren(project3, { url, page: parseIntegerOption(input, "page", { command: "bing.url-children", message: "--page must be an integer", usage: "canonry bing url-children <project> <url> [--page <n>] [--format json|jsonl]" }), format: input.format });
@@ -1372,7 +1376,7 @@ var BING_CLI_COMMANDS = [
1372
1376
  usage: "canonry bing links <project> [--url <page-url>] [--page <n>] [--format json|jsonl]",
1373
1377
  options: { url: stringOption(), page: stringOption() },
1374
1378
  run: async (input) => {
1375
- const { bingLinks } = await import("./bing-4VBSKPSX.js");
1379
+ const { bingLinks } = await import("./bing-R5RL3PW2.js");
1376
1380
  const project3 = requireProject(input, "bing.links", "canonry bing links <project> [--url <page-url>] [--page <n>] [--format json|jsonl]");
1377
1381
  await bingLinks(project3, { url: getString(input.values, "url"), page: parseIntegerOption(input, "page", { command: "bing.links", message: "--page must be an integer", usage: "canonry bing links <project> [--url <page-url>] [--page <n>] [--format json|jsonl]" }), format: input.format });
1378
1382
  }
@@ -1382,7 +1386,7 @@ var BING_CLI_COMMANDS = [
1382
1386
  usage: "canonry bing fetched-urls <project> [--url <url>] [--format json|jsonl]",
1383
1387
  options: { url: stringOption() },
1384
1388
  run: async (input) => {
1385
- const { bingFetchedUrls } = await import("./bing-4VBSKPSX.js");
1389
+ const { bingFetchedUrls } = await import("./bing-R5RL3PW2.js");
1386
1390
  const project3 = requireProject(input, "bing.fetched-urls", "canonry bing fetched-urls <project> [--url <url>] [--format json|jsonl]");
1387
1391
  await bingFetchedUrls(project3, { url: getString(input.values, "url"), format: input.format });
1388
1392
  }
@@ -1392,7 +1396,7 @@ var BING_CLI_COMMANDS = [
1392
1396
  usage: "canonry bing keywords <project> <keyword> [--country <cc>] [--language <tag>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]",
1393
1397
  options: { country: stringOption(), language: stringOption(), "start-date": stringOption(), "end-date": stringOption() },
1394
1398
  run: async (input) => {
1395
- const { bingKeywords } = await import("./bing-4VBSKPSX.js");
1399
+ const { bingKeywords } = await import("./bing-R5RL3PW2.js");
1396
1400
  const project3 = requireProject(input, "bing.keywords", "canonry bing keywords <project> <keyword> [--country <cc>] [--language <tag>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]");
1397
1401
  const keyword = requirePositional(input, 1, { command: "bing.keywords", usage: "canonry bing keywords <project> <keyword> [--country <cc>] [--language <tag>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--format json|jsonl]", message: "project name and keyword are required" });
1398
1402
  await bingKeywords(project3, {
@@ -1429,7 +1433,7 @@ var CDP_CLI_COMMANDS = [
1429
1433
  },
1430
1434
  allowPositionals: false,
1431
1435
  run: async (input) => {
1432
- const { cdpConnect } = await import("./cdp-WBL6FZTL.js");
1436
+ const { cdpConnect } = await import("./cdp-FJKUXHEY.js");
1433
1437
  await cdpConnect({
1434
1438
  host: getString(input.values, "host"),
1435
1439
  port: getString(input.values, "port"),
@@ -1442,7 +1446,7 @@ var CDP_CLI_COMMANDS = [
1442
1446
  usage: "canonry cdp status [--format json]",
1443
1447
  allowPositionals: false,
1444
1448
  run: async (input) => {
1445
- const { cdpStatus } = await import("./cdp-WBL6FZTL.js");
1449
+ const { cdpStatus } = await import("./cdp-FJKUXHEY.js");
1446
1450
  await cdpStatus(input.format);
1447
1451
  }
1448
1452
  },
@@ -1451,7 +1455,7 @@ var CDP_CLI_COMMANDS = [
1451
1455
  usage: "canonry cdp targets [--format json]",
1452
1456
  allowPositionals: false,
1453
1457
  run: async (input) => {
1454
- const { cdpTargets } = await import("./cdp-WBL6FZTL.js");
1458
+ const { cdpTargets } = await import("./cdp-FJKUXHEY.js");
1455
1459
  await cdpTargets(input.format);
1456
1460
  }
1457
1461
  },
@@ -1462,7 +1466,7 @@ var CDP_CLI_COMMANDS = [
1462
1466
  targets: stringOption()
1463
1467
  },
1464
1468
  run: async (input) => {
1465
- const { cdpScreenshot } = await import("./cdp-WBL6FZTL.js");
1469
+ const { cdpScreenshot } = await import("./cdp-FJKUXHEY.js");
1466
1470
  const query = requirePositional(input, 0, {
1467
1471
  command: "cdp.screenshot",
1468
1472
  usage: "canonry cdp screenshot <query> [--targets <list>] [--format json]",
@@ -1494,7 +1498,7 @@ var DASHBOARD_CLI_COMMANDS = [
1494
1498
  usage: "canonry dashboard reset-password [--format json]",
1495
1499
  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.",
1496
1500
  run: async (input) => {
1497
- const { resetDashboardPassword } = await import("./dashboard-33ACBR5A.js");
1501
+ const { resetDashboardPassword } = await import("./dashboard-7OKBD4MG.js");
1498
1502
  await resetDashboardPassword({ format: input.format });
1499
1503
  }
1500
1504
  },
@@ -1610,7 +1614,7 @@ var DISCOVER_CLI_COMMANDS = [
1610
1614
  wait: { type: "boolean", default: false }
1611
1615
  },
1612
1616
  run: async (input) => {
1613
- const { discoverRun } = await import("./discover-BH33TO4Z.js");
1617
+ const { discoverRun } = await import("./discover-I3WL2QUN.js");
1614
1618
  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]';
1615
1619
  const project3 = requireProject(input, "discover.run", usage);
1616
1620
  await discoverRun(project3, {
@@ -1647,7 +1651,7 @@ var DISCOVER_CLI_COMMANDS = [
1647
1651
  "probe-concurrency": stringOption()
1648
1652
  },
1649
1653
  run: async (input) => {
1650
- const { discoverEval } = await import("./discover-eval-3CEA6DEE.js");
1654
+ const { discoverEval } = await import("./discover-eval-YRECOIP5.js");
1651
1655
  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]";
1652
1656
  await discoverEval({
1653
1657
  baseline: getString(input.values, "baseline"),
@@ -1683,7 +1687,7 @@ var DISCOVER_CLI_COMMANDS = [
1683
1687
  wait: { type: "boolean", default: false }
1684
1688
  },
1685
1689
  run: async (input) => {
1686
- const { discoverSeed } = await import("./discover-BH33TO4Z.js");
1690
+ const { discoverSeed } = await import("./discover-I3WL2QUN.js");
1687
1691
  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]';
1688
1692
  const project3 = requireProject(input, "discover.seed", usage);
1689
1693
  await discoverSeed(project3, {
@@ -1712,7 +1716,7 @@ var DISCOVER_CLI_COMMANDS = [
1712
1716
  path: ["discover", "probe"],
1713
1717
  usage: "canonry discover probe <project> <session-id> [--format json]",
1714
1718
  run: async (input) => {
1715
- const { discoverProbe } = await import("./discover-BH33TO4Z.js");
1719
+ const { discoverProbe } = await import("./discover-I3WL2QUN.js");
1716
1720
  const project3 = requireProject(
1717
1721
  input,
1718
1722
  "discover.probe",
@@ -1733,7 +1737,7 @@ var DISCOVER_CLI_COMMANDS = [
1733
1737
  limit: stringOption()
1734
1738
  },
1735
1739
  run: async (input) => {
1736
- const { discoverList } = await import("./discover-BH33TO4Z.js");
1740
+ const { discoverList } = await import("./discover-I3WL2QUN.js");
1737
1741
  const project3 = requireProject(
1738
1742
  input,
1739
1743
  "discover.list",
@@ -1753,7 +1757,7 @@ var DISCOVER_CLI_COMMANDS = [
1753
1757
  path: ["discover", "show"],
1754
1758
  usage: "canonry discover show <project> <session-id> [--format json]",
1755
1759
  run: async (input) => {
1756
- const { discoverShow } = await import("./discover-BH33TO4Z.js");
1760
+ const { discoverShow } = await import("./discover-I3WL2QUN.js");
1757
1761
  const project3 = requireProject(
1758
1762
  input,
1759
1763
  "discover.show",
@@ -1776,7 +1780,7 @@ var DISCOVER_CLI_COMMANDS = [
1776
1780
  "no-competitors": { type: "boolean", default: false }
1777
1781
  },
1778
1782
  run: async (input) => {
1779
- const { discoverPromote } = await import("./discover-BH33TO4Z.js");
1783
+ const { discoverPromote } = await import("./discover-I3WL2QUN.js");
1780
1784
  const usage = "canonry discover promote <project> <session-id> [--bucket cited,aspirational,wasted-surface] [--competitor-types direct-competitor,editorial-media] [--no-competitors] [--format json]";
1781
1785
  const project3 = requireProject(input, "discover.promote", usage);
1782
1786
  const sessionId = requirePositional(input, 1, {
@@ -1800,7 +1804,7 @@ var DISCOVER_CLI_COMMANDS = [
1800
1804
  "no-anchor": { type: "boolean", default: false }
1801
1805
  },
1802
1806
  run: async (input) => {
1803
- const { discoverHarvest } = await import("./discover-BH33TO4Z.js");
1807
+ const { discoverHarvest } = await import("./discover-I3WL2QUN.js");
1804
1808
  const usage = "canonry discover harvest <project> <session-id> [--min-probe-hits <n>] [--no-anchor] [--format json|jsonl]";
1805
1809
  const project3 = requireProject(input, "discover.harvest", usage);
1806
1810
  const sessionId = requirePositional(input, 1, {
@@ -1823,7 +1827,7 @@ var DISCOVER_CLI_COMMANDS = [
1823
1827
  path: ["discover", "promote", "preview"],
1824
1828
  usage: "canonry discover promote preview <project> <session-id> [--format json]",
1825
1829
  run: async (input) => {
1826
- const { discoverPromotePreview } = await import("./discover-BH33TO4Z.js");
1830
+ const { discoverPromotePreview } = await import("./discover-I3WL2QUN.js");
1827
1831
  const project3 = requireProject(
1828
1832
  input,
1829
1833
  "discover.promote.preview",
@@ -1924,7 +1928,7 @@ var RESEARCH_CLI_COMMANDS = [
1924
1928
  usage: BATCH_USAGE,
1925
1929
  options: { wait: { type: "boolean", default: false } },
1926
1930
  run: async (input) => {
1927
- const { researchBatch } = await import("./research-DPFQZ3TE.js");
1931
+ const { researchBatch } = await import("./research-B5ZPQX7R.js");
1928
1932
  const project3 = requireProject(input, "research.batch", BATCH_USAGE);
1929
1933
  const source = requirePositional(input, 1, {
1930
1934
  command: "research.batch",
@@ -1951,7 +1955,7 @@ var RESEARCH_CLI_COMMANDS = [
1951
1955
  wait: { type: "boolean", default: false }
1952
1956
  },
1953
1957
  run: async (input) => {
1954
- const { researchRun } = await import("./research-DPFQZ3TE.js");
1958
+ const { researchRun } = await import("./research-B5ZPQX7R.js");
1955
1959
  const project3 = requireProject(input, "research.run", RUN_USAGE);
1956
1960
  const provider = getString(input.values, "provider")?.trim() || void 0;
1957
1961
  const model = getString(input.values, "model")?.trim() || void 0;
@@ -1980,7 +1984,7 @@ Usage: ${RUN_USAGE}`, {
1980
1984
  usage: "canonry research list <project> [--limit <n>] [--cursor <cursor>] [--format json|jsonl]",
1981
1985
  options: { limit: stringOption(), cursor: stringOption() },
1982
1986
  run: async (input) => {
1983
- const { researchList } = await import("./research-DPFQZ3TE.js");
1987
+ const { researchList } = await import("./research-B5ZPQX7R.js");
1984
1988
  const usage = "canonry research list <project> [--limit <n>] [--cursor <cursor>] [--format json|jsonl]";
1985
1989
  const project3 = requireProject(input, "research.list", usage);
1986
1990
  await researchList(project3, {
@@ -1994,7 +1998,7 @@ Usage: ${RUN_USAGE}`, {
1994
1998
  path: ["research", "show"],
1995
1999
  usage: "canonry research show <project> <run-id> [--format json|jsonl]",
1996
2000
  run: async (input) => {
1997
- const { researchShow } = await import("./research-DPFQZ3TE.js");
2001
+ const { researchShow } = await import("./research-B5ZPQX7R.js");
1998
2002
  const usage = "canonry research show <project> <run-id> [--format json|jsonl]";
1999
2003
  const project3 = requireProject(input, "research.show", usage);
2000
2004
  const runId = requirePositional(input, 1, { command: "research.show", usage, message: "research run ID is required" });
@@ -2017,7 +2021,7 @@ var DOCTOR_CLI_COMMANDS = [
2017
2021
  },
2018
2022
  allowPositionals: false,
2019
2023
  run: async (input) => {
2020
- const { doctorCommand } = await import("./doctor-ZAYTD5PC.js");
2024
+ const { doctorCommand } = await import("./doctor-F4J6LILX.js");
2021
2025
  await doctorCommand({
2022
2026
  project: getString(input.values, "project"),
2023
2027
  reportMonth: getString(input.values, "report-month"),
@@ -2038,7 +2042,7 @@ var ADS_CLI_COMMANDS = [
2038
2042
  "api-key": stringOption()
2039
2043
  },
2040
2044
  run: async (input) => {
2041
- const { adsConnect } = await import("./ads-EYDUTG4U.js");
2045
+ const { adsConnect } = await import("./ads-FVPZ6R6Z.js");
2042
2046
  const project3 = requireProject(input, "ads.connect", "canonry ads connect <project> --api-key <sdk-key> [--format json]");
2043
2047
  await adsConnect(project3, {
2044
2048
  apiKey: getString(input.values, "api-key"),
@@ -2050,7 +2054,7 @@ var ADS_CLI_COMMANDS = [
2050
2054
  path: ["ads", "disconnect"],
2051
2055
  usage: "canonry ads disconnect <project> [--format json]",
2052
2056
  run: async (input) => {
2053
- const { adsDisconnect } = await import("./ads-EYDUTG4U.js");
2057
+ const { adsDisconnect } = await import("./ads-FVPZ6R6Z.js");
2054
2058
  const project3 = requireProject(input, "ads.disconnect", "canonry ads disconnect <project> [--format json]");
2055
2059
  await adsDisconnect(project3, { format: input.format });
2056
2060
  }
@@ -2059,7 +2063,7 @@ var ADS_CLI_COMMANDS = [
2059
2063
  path: ["ads", "status"],
2060
2064
  usage: "canonry ads status <project> [--format json]",
2061
2065
  run: async (input) => {
2062
- const { adsStatus } = await import("./ads-EYDUTG4U.js");
2066
+ const { adsStatus } = await import("./ads-FVPZ6R6Z.js");
2063
2067
  const project3 = requireProject(input, "ads.status", "canonry ads status <project> [--format json]");
2064
2068
  await adsStatus(project3, { format: input.format });
2065
2069
  }
@@ -2068,7 +2072,7 @@ var ADS_CLI_COMMANDS = [
2068
2072
  path: ["ads", "account"],
2069
2073
  usage: "canonry ads account <project> [--format json]",
2070
2074
  run: async (input) => {
2071
- const { adsAccount } = await import("./ads-EYDUTG4U.js");
2075
+ const { adsAccount } = await import("./ads-FVPZ6R6Z.js");
2072
2076
  const project3 = requireProject(input, "ads.account", "canonry ads account <project> [--format json]");
2073
2077
  await adsAccount(project3, { format: input.format });
2074
2078
  }
@@ -2081,7 +2085,7 @@ var ADS_CLI_COMMANDS = [
2081
2085
  limit: stringOption()
2082
2086
  },
2083
2087
  run: async (input) => {
2084
- const { adsGeoSearch } = await import("./ads-EYDUTG4U.js");
2088
+ const { adsGeoSearch } = await import("./ads-FVPZ6R6Z.js");
2085
2089
  const usage = "canonry ads geo search <project> --query <text> [--limit <n>] [--format json|jsonl]";
2086
2090
  const project3 = requireProject(input, "ads.geo.search", usage);
2087
2091
  await adsGeoSearch(project3, {
@@ -2099,7 +2103,7 @@ var ADS_CLI_COMMANDS = [
2099
2103
  path: ["ads", "conversions", "pixels"],
2100
2104
  usage: "canonry ads conversions pixels <project> [--format json|jsonl]",
2101
2105
  run: async (input) => {
2102
- const { adsConversionPixels } = await import("./ads-EYDUTG4U.js");
2106
+ const { adsConversionPixels } = await import("./ads-FVPZ6R6Z.js");
2103
2107
  const project3 = requireProject(input, "ads.conversions.pixels", "canonry ads conversions pixels <project> [--format json|jsonl]");
2104
2108
  await adsConversionPixels(project3, { format: input.format });
2105
2109
  }
@@ -2108,7 +2112,7 @@ var ADS_CLI_COMMANDS = [
2108
2112
  path: ["ads", "conversions", "event-settings"],
2109
2113
  usage: "canonry ads conversions event-settings <project> [--format json|jsonl]",
2110
2114
  run: async (input) => {
2111
- const { adsConversionEventSettings } = await import("./ads-EYDUTG4U.js");
2115
+ const { adsConversionEventSettings } = await import("./ads-FVPZ6R6Z.js");
2112
2116
  const project3 = requireProject(input, "ads.conversions.event-settings", "canonry ads conversions event-settings <project> [--format json|jsonl]");
2113
2117
  await adsConversionEventSettings(project3, { format: input.format });
2114
2118
  }
@@ -2122,7 +2126,7 @@ var ADS_CLI_COMMANDS = [
2122
2126
  cursor: stringOption()
2123
2127
  },
2124
2128
  run: async (input) => {
2125
- const { adsOperationsUnresolved } = await import("./ads-EYDUTG4U.js");
2129
+ const { adsOperationsUnresolved } = await import("./ads-FVPZ6R6Z.js");
2126
2130
  const usage = "canonry ads operations unresolved <project> [--state <csv>] [--limit <n>] [--cursor <opaque>] [--format json|jsonl]";
2127
2131
  const project3 = requireProject(
2128
2132
  input,
@@ -2154,7 +2158,7 @@ Usage: ${usage}`, {
2154
2158
  path: ["ads", "operation"],
2155
2159
  usage: "canonry ads operation <project> <operation-key> [--format json]",
2156
2160
  run: async (input) => {
2157
- const { adsOperationGet } = await import("./ads-EYDUTG4U.js");
2161
+ const { adsOperationGet } = await import("./ads-FVPZ6R6Z.js");
2158
2162
  const usage = "canonry ads operation <project> <operation-key> [--format json]";
2159
2163
  const project3 = requireProject(input, "ads.operation", usage);
2160
2164
  const operationKey = requirePositional(input, 1, {
@@ -2172,7 +2176,7 @@ Usage: ${usage}`, {
2172
2176
  "operation-key": stringOption()
2173
2177
  },
2174
2178
  run: async (input) => {
2175
- const { adsOperationReconcile } = await import("./ads-EYDUTG4U.js");
2179
+ const { adsOperationReconcile } = await import("./ads-FVPZ6R6Z.js");
2176
2180
  const usage = "canonry ads operation reconcile <project> --operation-key <key> [--format json]";
2177
2181
  const project3 = requireProject(input, "ads.operation.reconcile", usage);
2178
2182
  const operationKey = requireStringOption(input, "operation-key", {
@@ -2191,7 +2195,7 @@ Usage: ${usage}`, {
2191
2195
  usage: "canonry ads operation resume-activation <project> --operation-key <key> [--format json]",
2192
2196
  options: { "operation-key": stringOption() },
2193
2197
  run: async (input) => {
2194
- const { adsOperationResumeActivation } = await import("./ads-EYDUTG4U.js");
2198
+ const { adsOperationResumeActivation } = await import("./ads-FVPZ6R6Z.js");
2195
2199
  const usage = "canonry ads operation resume-activation <project> --operation-key <key> [--format json]";
2196
2200
  const project3 = requireProject(input, "ads.operation.resume-activation", usage);
2197
2201
  await adsOperationResumeActivation(project3, {
@@ -2209,7 +2213,7 @@ Usage: ${usage}`, {
2209
2213
  usage: "canonry ads activation-grant create <project> --input <json-file|-> [--format json]",
2210
2214
  options: { input: stringOption() },
2211
2215
  run: async (input) => {
2212
- const { adsActivationGrantCreate } = await import("./ads-EYDUTG4U.js");
2216
+ const { adsActivationGrantCreate } = await import("./ads-FVPZ6R6Z.js");
2213
2217
  const usage = "canonry ads activation-grant create <project> --input <json-file|-> [--format json]";
2214
2218
  const project3 = requireProject(input, "ads.activation-grant.create", usage);
2215
2219
  await adsActivationGrantCreate(project3, {
@@ -2222,7 +2226,7 @@ Usage: ${usage}`, {
2222
2226
  path: ["ads", "activation-grant", "revoke"],
2223
2227
  usage: "canonry ads activation-grant revoke <project> <grant-id> [--format json]",
2224
2228
  run: async (input) => {
2225
- const { adsActivationGrantRevoke } = await import("./ads-EYDUTG4U.js");
2229
+ const { adsActivationGrantRevoke } = await import("./ads-FVPZ6R6Z.js");
2226
2230
  const usage = "canonry ads activation-grant revoke <project> <grant-id> [--format json]";
2227
2231
  const project3 = requireProject(input, "ads.activation-grant.revoke", usage);
2228
2232
  const grantId = requirePositional(input, 1, {
@@ -2238,7 +2242,7 @@ Usage: ${usage}`, {
2238
2242
  usage: "canonry ads image upload <project> --input <json-file|-> [--format json]",
2239
2243
  options: { input: stringOption() },
2240
2244
  run: async (input) => {
2241
- const { adsImageUpload } = await import("./ads-EYDUTG4U.js");
2245
+ const { adsImageUpload } = await import("./ads-FVPZ6R6Z.js");
2242
2246
  const project3 = requireProject(input, "ads.image.upload", "canonry ads image upload <project> --input <json-file|-> [--format json]");
2243
2247
  await adsImageUpload(project3, { input: getString(input.values, "input"), format: input.format });
2244
2248
  }
@@ -2248,7 +2252,7 @@ Usage: ${usage}`, {
2248
2252
  usage: "canonry ads campaign create <project> --input <json-file|-> [--format json]",
2249
2253
  options: { input: stringOption() },
2250
2254
  run: async (input) => {
2251
- const { adsCampaignCreate } = await import("./ads-EYDUTG4U.js");
2255
+ const { adsCampaignCreate } = await import("./ads-FVPZ6R6Z.js");
2252
2256
  const project3 = requireProject(input, "ads.campaign.create", "canonry ads campaign create <project> --input <json-file|-> [--format json]");
2253
2257
  await adsCampaignCreate(project3, { input: getString(input.values, "input"), format: input.format });
2254
2258
  }
@@ -2258,7 +2262,7 @@ Usage: ${usage}`, {
2258
2262
  usage: "canonry ads campaign update <project> <campaign-id> --input <json-file|-> [--format json]",
2259
2263
  options: { input: stringOption() },
2260
2264
  run: async (input) => {
2261
- const { adsCampaignUpdate } = await import("./ads-EYDUTG4U.js");
2265
+ const { adsCampaignUpdate } = await import("./ads-FVPZ6R6Z.js");
2262
2266
  const usage = "canonry ads campaign update <project> <campaign-id> --input <json-file|-> [--format json]";
2263
2267
  const project3 = requireProject(input, "ads.campaign.update", usage);
2264
2268
  const id2 = requirePositional(input, 1, { command: "ads.campaign.update", usage, message: "campaign id is required" });
@@ -2270,7 +2274,7 @@ Usage: ${usage}`, {
2270
2274
  usage: "canonry ads campaign activate-tree <project> <campaign-id> --input <json-file|-> [--format json]",
2271
2275
  options: { input: stringOption() },
2272
2276
  run: async (input) => {
2273
- const { adsCampaignActivateTree } = await import("./ads-EYDUTG4U.js");
2277
+ const { adsCampaignActivateTree } = await import("./ads-FVPZ6R6Z.js");
2274
2278
  const usage = "canonry ads campaign activate-tree <project> <campaign-id> --input <json-file|-> [--format json]";
2275
2279
  const project3 = requireProject(input, "ads.campaign.activate-tree", usage);
2276
2280
  const id2 = requirePositional(input, 1, {
@@ -2289,7 +2293,7 @@ Usage: ${usage}`, {
2289
2293
  usage: "canonry ads campaign pause <project> <campaign-id> --input <json-file|-> [--format json]",
2290
2294
  options: { input: stringOption() },
2291
2295
  run: async (input) => {
2292
- const { adsCampaignPause } = await import("./ads-EYDUTG4U.js");
2296
+ const { adsCampaignPause } = await import("./ads-FVPZ6R6Z.js");
2293
2297
  const usage = "canonry ads campaign pause <project> <campaign-id> --input <json-file|-> [--format json]";
2294
2298
  const project3 = requireProject(input, "ads.campaign.pause", usage);
2295
2299
  const id2 = requirePositional(input, 1, { command: "ads.campaign.pause", usage, message: "campaign id is required" });
@@ -2301,7 +2305,7 @@ Usage: ${usage}`, {
2301
2305
  usage: "canonry ads ad-group create <project> --input <json-file|-> [--format json]",
2302
2306
  options: { input: stringOption() },
2303
2307
  run: async (input) => {
2304
- const { adsAdGroupCreate } = await import("./ads-EYDUTG4U.js");
2308
+ const { adsAdGroupCreate } = await import("./ads-FVPZ6R6Z.js");
2305
2309
  const project3 = requireProject(input, "ads.ad-group.create", "canonry ads ad-group create <project> --input <json-file|-> [--format json]");
2306
2310
  await adsAdGroupCreate(project3, { input: getString(input.values, "input"), format: input.format });
2307
2311
  }
@@ -2311,7 +2315,7 @@ Usage: ${usage}`, {
2311
2315
  usage: "canonry ads ad-group update <project> <ad-group-id> --input <json-file|-> [--format json]",
2312
2316
  options: { input: stringOption() },
2313
2317
  run: async (input) => {
2314
- const { adsAdGroupUpdate } = await import("./ads-EYDUTG4U.js");
2318
+ const { adsAdGroupUpdate } = await import("./ads-FVPZ6R6Z.js");
2315
2319
  const usage = "canonry ads ad-group update <project> <ad-group-id> --input <json-file|-> [--format json]";
2316
2320
  const project3 = requireProject(input, "ads.ad-group.update", usage);
2317
2321
  const id2 = requirePositional(input, 1, { command: "ads.ad-group.update", usage, message: "ad group id is required" });
@@ -2323,7 +2327,7 @@ Usage: ${usage}`, {
2323
2327
  usage: "canonry ads ad-group pause <project> <ad-group-id> --input <json-file|-> [--format json]",
2324
2328
  options: { input: stringOption() },
2325
2329
  run: async (input) => {
2326
- const { adsAdGroupPause } = await import("./ads-EYDUTG4U.js");
2330
+ const { adsAdGroupPause } = await import("./ads-FVPZ6R6Z.js");
2327
2331
  const usage = "canonry ads ad-group pause <project> <ad-group-id> --input <json-file|-> [--format json]";
2328
2332
  const project3 = requireProject(input, "ads.ad-group.pause", usage);
2329
2333
  const id2 = requirePositional(input, 1, { command: "ads.ad-group.pause", usage, message: "ad group id is required" });
@@ -2335,7 +2339,7 @@ Usage: ${usage}`, {
2335
2339
  usage: "canonry ads ad create <project> --input <json-file|-> [--format json]",
2336
2340
  options: { input: stringOption() },
2337
2341
  run: async (input) => {
2338
- const { adsAdCreate } = await import("./ads-EYDUTG4U.js");
2342
+ const { adsAdCreate } = await import("./ads-FVPZ6R6Z.js");
2339
2343
  const project3 = requireProject(input, "ads.ad.create", "canonry ads ad create <project> --input <json-file|-> [--format json]");
2340
2344
  await adsAdCreate(project3, { input: getString(input.values, "input"), format: input.format });
2341
2345
  }
@@ -2345,7 +2349,7 @@ Usage: ${usage}`, {
2345
2349
  usage: "canonry ads ad update <project> <ad-id> --input <json-file|-> [--format json]",
2346
2350
  options: { input: stringOption() },
2347
2351
  run: async (input) => {
2348
- const { adsAdUpdate } = await import("./ads-EYDUTG4U.js");
2352
+ const { adsAdUpdate } = await import("./ads-FVPZ6R6Z.js");
2349
2353
  const usage = "canonry ads ad update <project> <ad-id> --input <json-file|-> [--format json]";
2350
2354
  const project3 = requireProject(input, "ads.ad.update", usage);
2351
2355
  const id2 = requirePositional(input, 1, { command: "ads.ad.update", usage, message: "ad id is required" });
@@ -2357,7 +2361,7 @@ Usage: ${usage}`, {
2357
2361
  usage: "canonry ads ad pause <project> <ad-id> --input <json-file|-> [--format json]",
2358
2362
  options: { input: stringOption() },
2359
2363
  run: async (input) => {
2360
- const { adsAdPause } = await import("./ads-EYDUTG4U.js");
2364
+ const { adsAdPause } = await import("./ads-FVPZ6R6Z.js");
2361
2365
  const usage = "canonry ads ad pause <project> <ad-id> --input <json-file|-> [--format json]";
2362
2366
  const project3 = requireProject(input, "ads.ad.pause", usage);
2363
2367
  const id2 = requirePositional(input, 1, { command: "ads.ad.pause", usage, message: "ad id is required" });
@@ -2368,7 +2372,7 @@ Usage: ${usage}`, {
2368
2372
  path: ["ads", "sync"],
2369
2373
  usage: "canonry ads sync <project> [--format json]",
2370
2374
  run: async (input) => {
2371
- const { adsSync } = await import("./ads-EYDUTG4U.js");
2375
+ const { adsSync } = await import("./ads-FVPZ6R6Z.js");
2372
2376
  const project3 = requireProject(input, "ads.sync", "canonry ads sync <project> [--format json]");
2373
2377
  await adsSync(project3, { format: input.format });
2374
2378
  }
@@ -2377,7 +2381,7 @@ Usage: ${usage}`, {
2377
2381
  path: ["ads", "campaigns"],
2378
2382
  usage: "canonry ads campaigns <project> [--format json|jsonl]",
2379
2383
  run: async (input) => {
2380
- const { adsCampaigns } = await import("./ads-EYDUTG4U.js");
2384
+ const { adsCampaigns } = await import("./ads-FVPZ6R6Z.js");
2381
2385
  const project3 = requireProject(input, "ads.campaigns", "canonry ads campaigns <project> [--format json|jsonl]");
2382
2386
  await adsCampaigns(project3, { format: input.format });
2383
2387
  }
@@ -2393,7 +2397,7 @@ Usage: ${usage}`, {
2393
2397
  to: stringOption()
2394
2398
  },
2395
2399
  run: async (input) => {
2396
- const { adsInsights } = await import("./ads-EYDUTG4U.js");
2400
+ const { adsInsights } = await import("./ads-FVPZ6R6Z.js");
2397
2401
  const project3 = requireProject(input, "ads.insights", "canonry ads insights <project> [--level <level>] [--entity <id>] [--from <date>] [--to <date>] [--format json|jsonl]");
2398
2402
  await adsInsights(project3, {
2399
2403
  level: getString(input.values, "level"),
@@ -2408,7 +2412,7 @@ Usage: ${usage}`, {
2408
2412
  path: ["ads", "summary"],
2409
2413
  usage: "canonry ads summary <project> [--format json]",
2410
2414
  run: async (input) => {
2411
- const { adsSummary } = await import("./ads-EYDUTG4U.js");
2415
+ const { adsSummary } = await import("./ads-FVPZ6R6Z.js");
2412
2416
  const project3 = requireProject(input, "ads.summary", "canonry ads summary <project> [--format json]");
2413
2417
  await adsSummary(project3, { format: input.format });
2414
2418
  }
@@ -2421,7 +2425,7 @@ Usage: ${usage}`, {
2421
2425
  "lookback-days": stringOption()
2422
2426
  },
2423
2427
  run: async (input) => {
2424
- const { adsLiveDelivery } = await import("./ads-EYDUTG4U.js");
2428
+ const { adsLiveDelivery } = await import("./ads-FVPZ6R6Z.js");
2425
2429
  const usage = "canonry ads live-delivery <project> [--campaign <id>] [--lookback-days <n>] [--format json]";
2426
2430
  const project3 = requireProject(input, "ads.live-delivery", usage);
2427
2431
  await adsLiveDelivery(project3, {
@@ -2439,7 +2443,7 @@ Usage: ${usage}`, {
2439
2443
  path: ["ads", "delivery-diagnostics"],
2440
2444
  usage: "canonry ads delivery-diagnostics <project> [--format json]",
2441
2445
  run: async (input) => {
2442
- const { adsDeliveryDiagnostics } = await import("./ads-EYDUTG4U.js");
2446
+ const { adsDeliveryDiagnostics } = await import("./ads-FVPZ6R6Z.js");
2443
2447
  const project3 = requireProject(input, "ads.delivery-diagnostics", "canonry ads delivery-diagnostics <project> [--format json]");
2444
2448
  await adsDeliveryDiagnostics(project3, { format: input.format });
2445
2449
  }
@@ -2468,7 +2472,7 @@ var GA_CLI_COMMANDS = [
2468
2472
  help: "Stored GA4 sessions only, with filtered totals independent of grouping and paging. Never calls Google. Meaningful page query parameters remain distinct.",
2469
2473
  options: { ...RANGE_OPTIONS, channel: stringOption(), source: stringOption(), medium: stringOption(), host: stringOption(), "landing-page": stringOption(), "path-prefix": stringOption(), "group-by": stringOption(), limit: stringOption(), offset: stringOption() },
2470
2474
  run: async (input) => {
2471
- const { gaAcquisition } = await import("./ga-BMING57Z.js");
2475
+ const { gaAcquisition } = await import("./ga-VA6FYK4L.js");
2472
2476
  const project3 = requireProject(input, "ga.acquisition", "canonry ga acquisition <project>");
2473
2477
  const aliases = { channel: "channelGroup", host: "hostName", "landing-page": "landingPage" };
2474
2478
  const groupBy = getString(input.values, "group-by")?.split(",").map((key) => aliases[key.trim()] ?? key.trim()).join(",");
@@ -2485,7 +2489,7 @@ var GA_CLI_COMMANDS = [
2485
2489
  "key-json": stringOption()
2486
2490
  },
2487
2491
  run: async (input) => {
2488
- const { gaConnect } = await import("./ga-BMING57Z.js");
2492
+ const { gaConnect } = await import("./ga-VA6FYK4L.js");
2489
2493
  const project3 = requireProject(input, "ga.connect", "canonry ga connect <project> --property-id <id> [--key-file <path>]");
2490
2494
  const propertyId = getString(input.values, "property-id");
2491
2495
  if (!propertyId) {
@@ -2503,7 +2507,7 @@ var GA_CLI_COMMANDS = [
2503
2507
  path: ["ga", "disconnect"],
2504
2508
  usage: "canonry ga disconnect <project> [--format json]",
2505
2509
  run: async (input) => {
2506
- const { gaDisconnect } = await import("./ga-BMING57Z.js");
2510
+ const { gaDisconnect } = await import("./ga-VA6FYK4L.js");
2507
2511
  const project3 = requireProject(input, "ga.disconnect", "canonry ga disconnect <project> [--format json]");
2508
2512
  await gaDisconnect(project3, input.format);
2509
2513
  }
@@ -2512,7 +2516,7 @@ var GA_CLI_COMMANDS = [
2512
2516
  path: ["ga", "properties"],
2513
2517
  usage: "canonry ga properties <project> [--format json]",
2514
2518
  run: async (input) => {
2515
- const { gaProperties } = await import("./ga-BMING57Z.js");
2519
+ const { gaProperties } = await import("./ga-VA6FYK4L.js");
2516
2520
  const project3 = requireProject(input, "ga.properties", "canonry ga properties <project> [--format json]");
2517
2521
  await gaProperties(project3, input.format);
2518
2522
  }
@@ -2521,7 +2525,7 @@ var GA_CLI_COMMANDS = [
2521
2525
  path: ["ga", "status"],
2522
2526
  usage: "canonry ga status <project> [--format json]",
2523
2527
  run: async (input) => {
2524
- const { gaStatus } = await import("./ga-BMING57Z.js");
2528
+ const { gaStatus } = await import("./ga-VA6FYK4L.js");
2525
2529
  const project3 = requireProject(input, "ga.status", "canonry ga status <project> [--format json]");
2526
2530
  await gaStatus(project3, input.format);
2527
2531
  }
@@ -2534,7 +2538,7 @@ var GA_CLI_COMMANDS = [
2534
2538
  only: stringOption()
2535
2539
  },
2536
2540
  run: async (input) => {
2537
- const { gaSync } = await import("./ga-BMING57Z.js");
2541
+ const { gaSync } = await import("./ga-VA6FYK4L.js");
2538
2542
  const project3 = requireProject(input, "ga.sync", "canonry ga sync <project> [--days 30] [--only traffic|ai|social|search-landing] [--format json]");
2539
2543
  const daysStr = getString(input.values, "days");
2540
2544
  const days = daysStr ? parseInt(daysStr, 10) : void 0;
@@ -2557,7 +2561,7 @@ var GA_CLI_COMMANDS = [
2557
2561
  limit: stringOption()
2558
2562
  },
2559
2563
  run: async (input) => {
2560
- const { gaMeasurementAnalysis } = await import("./ga-BMING57Z.js");
2564
+ const { gaMeasurementAnalysis } = await import("./ga-VA6FYK4L.js");
2561
2565
  const project3 = requireProject(input, "ga.measurement-analysis", "canonry ga measurement-analysis <project> [--window 30d|60d|90d] [--format json]");
2562
2566
  const limitValue = getString(input.values, "limit");
2563
2567
  await gaMeasurementAnalysis(project3, {
@@ -2579,7 +2583,7 @@ var GA_CLI_COMMANDS = [
2579
2583
  offset: stringOption()
2580
2584
  },
2581
2585
  run: async (input) => {
2582
- const { gaSearchLandingPages } = await import("./ga-BMING57Z.js");
2586
+ const { gaSearchLandingPages } = await import("./ga-VA6FYK4L.js");
2583
2587
  const project3 = requireProject(input, "ga.search-landing-pages", "canonry ga search-landing-pages <project> [--window 7d|28d|90d|180d] [--limit 50] [--offset 0] [--format json|jsonl]");
2584
2588
  await gaSearchLandingPages(project3, {
2585
2589
  window: getString(input.values, "window"),
@@ -2598,7 +2602,7 @@ var GA_CLI_COMMANDS = [
2598
2602
  ...RANGE_OPTIONS
2599
2603
  },
2600
2604
  run: async (input) => {
2601
- const { gaTraffic } = await import("./ga-BMING57Z.js");
2605
+ const { gaTraffic } = await import("./ga-VA6FYK4L.js");
2602
2606
  const project3 = requireProject(input, "ga.traffic", `canonry ga traffic <project> [--limit 50] ${RANGE_USAGE} [--format json]`);
2603
2607
  const limitStr = getString(input.values, "limit");
2604
2608
  const limit = limitStr ? parseInt(limitStr, 10) : void 0;
@@ -2613,7 +2617,7 @@ var GA_CLI_COMMANDS = [
2613
2617
  path: ["ga", "coverage"],
2614
2618
  usage: "canonry ga coverage <project> [--format json]",
2615
2619
  run: async (input) => {
2616
- const { gaCoverage } = await import("./ga-BMING57Z.js");
2620
+ const { gaCoverage } = await import("./ga-VA6FYK4L.js");
2617
2621
  const project3 = requireProject(input, "ga.coverage", "canonry ga coverage <project> [--format json]");
2618
2622
  await gaCoverage(project3, input.format);
2619
2623
  }
@@ -2624,7 +2628,7 @@ var GA_CLI_COMMANDS = [
2624
2628
  usage: `canonry ga ai-referral-history <project> ${RANGE_USAGE} [--format json]`,
2625
2629
  options: { ...RANGE_OPTIONS },
2626
2630
  run: async (input) => {
2627
- const { gaAiReferralHistory } = await import("./ga-BMING57Z.js");
2631
+ const { gaAiReferralHistory } = await import("./ga-VA6FYK4L.js");
2628
2632
  const project3 = requireProject(input, "ga.ai-referral-history", `canonry ga ai-referral-history <project> ${RANGE_USAGE} [--format json]`);
2629
2633
  await gaAiReferralHistory(project3, {
2630
2634
  ...rangeValues(input.values),
@@ -2638,7 +2642,7 @@ var GA_CLI_COMMANDS = [
2638
2642
  usage: `canonry ga ai-referral-daily <project> ${RANGE_USAGE} [--format json]`,
2639
2643
  options: { ...RANGE_OPTIONS },
2640
2644
  run: async (input) => {
2641
- const { gaAiReferralDaily } = await import("./ga-BMING57Z.js");
2645
+ const { gaAiReferralDaily } = await import("./ga-VA6FYK4L.js");
2642
2646
  const project3 = requireProject(input, "ga.ai-referral-daily", `canonry ga ai-referral-daily <project> ${RANGE_USAGE} [--format json]`);
2643
2647
  await gaAiReferralDaily(project3, {
2644
2648
  ...rangeValues(input.values),
@@ -2652,7 +2656,7 @@ var GA_CLI_COMMANDS = [
2652
2656
  usage: `canonry ga social-referral-history <project> ${RANGE_USAGE} [--format json]`,
2653
2657
  options: { ...RANGE_OPTIONS },
2654
2658
  run: async (input) => {
2655
- const { gaSocialReferralHistory } = await import("./ga-BMING57Z.js");
2659
+ const { gaSocialReferralHistory } = await import("./ga-VA6FYK4L.js");
2656
2660
  const project3 = requireProject(input, "ga.social-referral-history", `canonry ga social-referral-history <project> ${RANGE_USAGE} [--format json]`);
2657
2661
  await gaSocialReferralHistory(project3, {
2658
2662
  ...rangeValues(input.values),
@@ -2665,7 +2669,7 @@ var GA_CLI_COMMANDS = [
2665
2669
  windows: WINDOW_SETS.gaOverview,
2666
2670
  usage: "canonry ga overview <project> [--window 7d|30d|90d|180d] [--format json]",
2667
2671
  run: async (input) => {
2668
- const { gaOverview } = await import("./ga-BMING57Z.js");
2672
+ const { gaOverview } = await import("./ga-VA6FYK4L.js");
2669
2673
  const project3 = requireProject(input, "ga.overview", "canonry ga overview <project> [--window 7d|30d|90d|180d] [--format json]");
2670
2674
  await gaOverview(project3, {
2671
2675
  window: typeof input.values.window === "string" ? input.values.window : void 0,
@@ -2679,7 +2683,7 @@ var GA_CLI_COMMANDS = [
2679
2683
  usage: `canonry ga session-history <project> ${RANGE_USAGE} [--format json]`,
2680
2684
  options: { ...RANGE_OPTIONS },
2681
2685
  run: async (input) => {
2682
- const { gaSessionHistory } = await import("./ga-BMING57Z.js");
2686
+ const { gaSessionHistory } = await import("./ga-VA6FYK4L.js");
2683
2687
  const project3 = requireProject(input, "ga.session-history", `canonry ga session-history <project> ${RANGE_USAGE} [--format json]`);
2684
2688
  await gaSessionHistory(project3, {
2685
2689
  ...rangeValues(input.values),
@@ -2694,7 +2698,7 @@ var GA_CLI_COMMANDS = [
2694
2698
  trend: { type: "boolean", default: false }
2695
2699
  },
2696
2700
  run: async (input) => {
2697
- const { gaSocialReferralSummary } = await import("./ga-BMING57Z.js");
2701
+ const { gaSocialReferralSummary } = await import("./ga-VA6FYK4L.js");
2698
2702
  const project3 = requireProject(input, "ga.social-referral-summary", "canonry ga social-referral-summary <project> [--trend] [--format json]");
2699
2703
  await gaSocialReferralSummary(project3, {
2700
2704
  trend: input.values.trend === true,
@@ -2709,7 +2713,7 @@ var GA_CLI_COMMANDS = [
2709
2713
  trend: { type: "boolean", default: false }
2710
2714
  },
2711
2715
  run: async (input) => {
2712
- const { gaAttribution } = await import("./ga-BMING57Z.js");
2716
+ const { gaAttribution } = await import("./ga-VA6FYK4L.js");
2713
2717
  const project3 = requireProject(input, "ga.attribution", "canonry ga attribution <project> [--trend] [--format json]");
2714
2718
  await gaAttribution(project3, {
2715
2719
  trend: input.values.trend === true,
@@ -2738,7 +2742,7 @@ var GBP_CLI_COMMANDS = [
2738
2742
  usage: "canonry gbp posts attempt <project> --attempt UUID --package SHA256 [--format json]",
2739
2743
  options: { attempt: stringOption(), package: stringOption() },
2740
2744
  run: async (input) => {
2741
- const { gbpLocalPosts } = await import("./gbp-MIB5CXSD.js");
2745
+ const { gbpLocalPosts } = await import("./gbp-DI6ZVFHL.js");
2742
2746
  await gbpLocalPosts(requireProject(input, "gbp.posts.attempt", "canonry gbp posts attempt <project>"), "attempt", { attempt: getString(input.values, "attempt"), package: getString(input.values, "package") });
2743
2747
  }
2744
2748
  },
@@ -2748,7 +2752,7 @@ var GBP_CLI_COMMANDS = [
2748
2752
  usage: "canonry gbp posts list <project> --account accounts/id --location locations/id [--page-token token] [--format json]",
2749
2753
  options: { account: stringOption(), location: stringOption(), "page-token": stringOption() },
2750
2754
  run: async (input) => {
2751
- const { gbpLocalPosts } = await import("./gbp-MIB5CXSD.js");
2755
+ const { gbpLocalPosts } = await import("./gbp-DI6ZVFHL.js");
2752
2756
  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") });
2753
2757
  }
2754
2758
  },
@@ -2758,7 +2762,7 @@ var GBP_CLI_COMMANDS = [
2758
2762
  usage: "canonry gbp posts get <project> --post resource [--format json]",
2759
2763
  options: { post: stringOption() },
2760
2764
  run: async (input) => {
2761
- const { gbpLocalPosts } = await import("./gbp-MIB5CXSD.js");
2765
+ const { gbpLocalPosts } = await import("./gbp-DI6ZVFHL.js");
2762
2766
  await gbpLocalPosts(requireProject(input, "gbp.posts.get", "canonry gbp posts get <project>"), "get", { post: getString(input.values, "post") });
2763
2767
  }
2764
2768
  },
@@ -2768,7 +2772,7 @@ var GBP_CLI_COMMANDS = [
2768
2772
  usage: "canonry gbp posts create <project> --request file [--format json]",
2769
2773
  options: { request: stringOption() },
2770
2774
  run: async (input) => {
2771
- const { gbpLocalPosts } = await import("./gbp-MIB5CXSD.js");
2775
+ const { gbpLocalPosts } = await import("./gbp-DI6ZVFHL.js");
2772
2776
  await gbpLocalPosts(requireProject(input, "gbp.posts.create", "canonry gbp posts create <project>"), "create", { request: getString(input.values, "request") });
2773
2777
  }
2774
2778
  },
@@ -2778,7 +2782,7 @@ var GBP_CLI_COMMANDS = [
2778
2782
  usage: "canonry gbp reviews live <project> --account accounts/id --location locations/id [--format json]",
2779
2783
  options: { account: stringOption(), location: stringOption() },
2780
2784
  run: async (input) => {
2781
- const { gbpLocalPosts } = await import("./gbp-MIB5CXSD.js");
2785
+ const { gbpLocalPosts } = await import("./gbp-DI6ZVFHL.js");
2782
2786
  await gbpLocalPosts(requireProject(input, "gbp.reviews.live", "canonry gbp reviews live <project>"), "reviews", { account: getString(input.values, "account"), location: getString(input.values, "location") });
2783
2787
  }
2784
2788
  },
@@ -2789,7 +2793,7 @@ var GBP_CLI_COMMANDS = [
2789
2793
  "public-url": stringOption()
2790
2794
  },
2791
2795
  run: async (input) => {
2792
- const { gbpConnect } = await import("./gbp-MIB5CXSD.js");
2796
+ const { gbpConnect } = await import("./gbp-DI6ZVFHL.js");
2793
2797
  const project3 = requireProject(input, "gbp.connect", "canonry gbp connect <project> [--public-url <url>] [--format json]");
2794
2798
  await gbpConnect(project3, {
2795
2799
  publicUrl: getString(input.values, "public-url"),
@@ -2801,7 +2805,7 @@ var GBP_CLI_COMMANDS = [
2801
2805
  path: ["gbp", "disconnect"],
2802
2806
  usage: "canonry gbp disconnect <project> [--format json]",
2803
2807
  run: async (input) => {
2804
- const { gbpDisconnect } = await import("./gbp-MIB5CXSD.js");
2808
+ const { gbpDisconnect } = await import("./gbp-DI6ZVFHL.js");
2805
2809
  const project3 = requireProject(input, "gbp.disconnect", "canonry gbp disconnect <project> [--format json]");
2806
2810
  await gbpDisconnect(project3, { format: input.format });
2807
2811
  }
@@ -2813,7 +2817,7 @@ var GBP_CLI_COMMANDS = [
2813
2817
  "selected-only": { type: "boolean" }
2814
2818
  },
2815
2819
  run: async (input) => {
2816
- const { gbpLocationsList } = await import("./gbp-MIB5CXSD.js");
2820
+ const { gbpLocationsList } = await import("./gbp-DI6ZVFHL.js");
2817
2821
  const project3 = requireProject(input, "gbp.locations", "canonry gbp locations <project> [--selected-only] [--format json]");
2818
2822
  await gbpLocationsList(project3, {
2819
2823
  format: input.format,
@@ -2825,7 +2829,7 @@ var GBP_CLI_COMMANDS = [
2825
2829
  path: ["gbp", "accounts"],
2826
2830
  usage: "canonry gbp accounts <project> [--format json]",
2827
2831
  run: async (input) => {
2828
- const { gbpAccounts } = await import("./gbp-MIB5CXSD.js");
2832
+ const { gbpAccounts } = await import("./gbp-DI6ZVFHL.js");
2829
2833
  const project3 = requireProject(input, "gbp.accounts", "canonry gbp accounts <project> [--format json]");
2830
2834
  await gbpAccounts(project3, { format: input.format });
2831
2835
  }
@@ -2839,7 +2843,7 @@ var GBP_CLI_COMMANDS = [
2839
2843
  "switch-account": { type: "boolean" }
2840
2844
  },
2841
2845
  run: async (input) => {
2842
- const { gbpLocationsDiscover } = await import("./gbp-MIB5CXSD.js");
2846
+ const { gbpLocationsDiscover } = await import("./gbp-DI6ZVFHL.js");
2843
2847
  const project3 = requireProject(input, "gbp.locations.discover", "canonry gbp locations discover <project> [--account <accounts/{n}>] [--switch-account] [--no-select-new] [--format json]");
2844
2848
  const noSelectNew = getBoolean(input.values, "no-select-new") ?? false;
2845
2849
  await gbpLocationsDiscover(project3, {
@@ -2857,7 +2861,7 @@ var GBP_CLI_COMMANDS = [
2857
2861
  location: stringOption()
2858
2862
  },
2859
2863
  run: async (input) => {
2860
- const { gbpLocationSelect } = await import("./gbp-MIB5CXSD.js");
2864
+ const { gbpLocationSelect } = await import("./gbp-DI6ZVFHL.js");
2861
2865
  const project3 = requireProject(input, "gbp.locations.select", "canonry gbp locations select <project> --location <name> [--format json]");
2862
2866
  const location = getString(input.values, "location");
2863
2867
  if (!location) throw usageError("canonry gbp locations select <project> --location <locations/{n}>: --location is required");
@@ -2871,7 +2875,7 @@ var GBP_CLI_COMMANDS = [
2871
2875
  location: stringOption()
2872
2876
  },
2873
2877
  run: async (input) => {
2874
- const { gbpLocationDeselect } = await import("./gbp-MIB5CXSD.js");
2878
+ const { gbpLocationDeselect } = await import("./gbp-DI6ZVFHL.js");
2875
2879
  const project3 = requireProject(input, "gbp.locations.deselect", "canonry gbp locations deselect <project> --location <name> [--format json]");
2876
2880
  const location = getString(input.values, "location");
2877
2881
  if (!location) throw usageError("canonry gbp locations deselect <project> --location <locations/{n}>: --location is required");
@@ -2888,7 +2892,7 @@ var GBP_CLI_COMMANDS = [
2888
2892
  wait: { type: "boolean" }
2889
2893
  },
2890
2894
  run: async (input) => {
2891
- const { gbpSync } = await import("./gbp-MIB5CXSD.js");
2895
+ const { gbpSync } = await import("./gbp-DI6ZVFHL.js");
2892
2896
  const project3 = requireProject(input, "gbp.sync", "canonry gbp sync <project> [--location <name>] [--days N] [--months N] [--wait] [--format json]");
2893
2897
  await gbpSync(project3, {
2894
2898
  location: getString(input.values, "location"),
@@ -2907,7 +2911,7 @@ var GBP_CLI_COMMANDS = [
2907
2911
  metric: stringOption()
2908
2912
  },
2909
2913
  run: async (input) => {
2910
- const { gbpMetrics } = await import("./gbp-MIB5CXSD.js");
2914
+ const { gbpMetrics } = await import("./gbp-DI6ZVFHL.js");
2911
2915
  const project3 = requireProject(input, "gbp.metrics", "canonry gbp metrics <project> [--location <name>] [--metric <DailyMetric>] [--format json]");
2912
2916
  await gbpMetrics(project3, {
2913
2917
  location: getString(input.values, "location"),
@@ -2923,7 +2927,7 @@ var GBP_CLI_COMMANDS = [
2923
2927
  location: stringOption()
2924
2928
  },
2925
2929
  run: async (input) => {
2926
- const { gbpKeywords } = await import("./gbp-MIB5CXSD.js");
2930
+ const { gbpKeywords } = await import("./gbp-DI6ZVFHL.js");
2927
2931
  const project3 = requireProject(input, "gbp.keywords", "canonry gbp keywords <project> [--location <name>] [--format json]");
2928
2932
  await gbpKeywords(project3, {
2929
2933
  location: getString(input.values, "location"),
@@ -2938,7 +2942,7 @@ var GBP_CLI_COMMANDS = [
2938
2942
  location: stringOption()
2939
2943
  },
2940
2944
  run: async (input) => {
2941
- const { gbpPlaceActions } = await import("./gbp-MIB5CXSD.js");
2945
+ const { gbpPlaceActions } = await import("./gbp-DI6ZVFHL.js");
2942
2946
  const project3 = requireProject(input, "gbp.place-actions", "canonry gbp place-actions <project> [--location <name>] [--format json]");
2943
2947
  await gbpPlaceActions(project3, { location: getString(input.values, "location"), format: input.format });
2944
2948
  }
@@ -2950,7 +2954,7 @@ var GBP_CLI_COMMANDS = [
2950
2954
  location: stringOption()
2951
2955
  },
2952
2956
  run: async (input) => {
2953
- const { gbpLodging } = await import("./gbp-MIB5CXSD.js");
2957
+ const { gbpLodging } = await import("./gbp-DI6ZVFHL.js");
2954
2958
  const project3 = requireProject(input, "gbp.lodging", "canonry gbp lodging <project> [--location <name>] [--format json]");
2955
2959
  await gbpLodging(project3, { location: getString(input.values, "location"), format: input.format });
2956
2960
  }
@@ -2962,7 +2966,7 @@ var GBP_CLI_COMMANDS = [
2962
2966
  location: stringOption()
2963
2967
  },
2964
2968
  run: async (input) => {
2965
- const { gbpAttributes } = await import("./gbp-MIB5CXSD.js");
2969
+ const { gbpAttributes } = await import("./gbp-DI6ZVFHL.js");
2966
2970
  const project3 = requireProject(input, "gbp.attributes", "canonry gbp attributes <project> [--location <name>] [--format json]");
2967
2971
  await gbpAttributes(project3, { location: getString(input.values, "location"), format: input.format });
2968
2972
  }
@@ -2974,7 +2978,7 @@ var GBP_CLI_COMMANDS = [
2974
2978
  location: stringOption()
2975
2979
  },
2976
2980
  run: async (input) => {
2977
- const { gbpPlaces } = await import("./gbp-MIB5CXSD.js");
2981
+ const { gbpPlaces } = await import("./gbp-DI6ZVFHL.js");
2978
2982
  const project3 = requireProject(input, "gbp.places", "canonry gbp places <project> [--location <name>] [--format json]");
2979
2983
  await gbpPlaces(project3, { location: getString(input.values, "location"), format: input.format });
2980
2984
  }
@@ -2988,7 +2992,7 @@ var GBP_CLI_COMMANDS = [
2988
2992
  limit: stringOption()
2989
2993
  },
2990
2994
  run: async (input) => {
2991
- const { gbpReviews } = await import("./gbp-MIB5CXSD.js");
2995
+ const { gbpReviews } = await import("./gbp-DI6ZVFHL.js");
2992
2996
  const usage = "canonry gbp reviews <project> [--location <name>] [--negative] [--limit N] [--format json]";
2993
2997
  const project3 = requireProject(input, "gbp.reviews", usage);
2994
2998
  await gbpReviews(project3, {
@@ -3006,7 +3010,7 @@ var GBP_CLI_COMMANDS = [
3006
3010
  location: stringOption()
3007
3011
  },
3008
3012
  run: async (input) => {
3009
- const { gbpSummary } = await import("./gbp-MIB5CXSD.js");
3013
+ const { gbpSummary } = await import("./gbp-DI6ZVFHL.js");
3010
3014
  const project3 = requireProject(input, "gbp.summary", "canonry gbp summary <project> [--location <name>] [--format json]");
3011
3015
  await gbpSummary(project3, { location: getString(input.values, "location"), format: input.format });
3012
3016
  }
@@ -3045,7 +3049,7 @@ function createGoogleMarketingCliCommands(createClient) {
3045
3049
  path: ["google-ads", "disconnect"],
3046
3050
  usage: "canonry google-ads disconnect <project> [--format json]",
3047
3051
  run: async (input) => {
3048
- const { googleAdsDisconnect } = await import("./google-marketing-25OBMPS6.js");
3052
+ const { googleAdsDisconnect } = await import("./google-marketing-S63HN733.js");
3049
3053
  const usage = "canonry google-ads disconnect <project> [--format json]";
3050
3054
  await googleAdsDisconnect(createClient(), requireProject(input, "google-ads.disconnect", usage), { format: input.format });
3051
3055
  }
@@ -3054,7 +3058,7 @@ function createGoogleMarketingCliCommands(createClient) {
3054
3058
  path: ["google-ads", "status"],
3055
3059
  usage: "canonry google-ads status <project> [--format json]",
3056
3060
  run: async (input) => {
3057
- const { googleAdsStatus } = await import("./google-marketing-25OBMPS6.js");
3061
+ const { googleAdsStatus } = await import("./google-marketing-S63HN733.js");
3058
3062
  const usage = "canonry google-ads status <project> [--format json]";
3059
3063
  await googleAdsStatus(createClient(), requireProject(input, "google-ads.status", usage), { format: input.format });
3060
3064
  }
@@ -3063,7 +3067,7 @@ function createGoogleMarketingCliCommands(createClient) {
3063
3067
  path: ["google-ads", "customers"],
3064
3068
  usage: "canonry google-ads customers <project> [--format json|jsonl]",
3065
3069
  run: async (input) => {
3066
- const { googleAdsCustomers } = await import("./google-marketing-25OBMPS6.js");
3070
+ const { googleAdsCustomers } = await import("./google-marketing-S63HN733.js");
3067
3071
  const usage = "canonry google-ads customers <project> [--format json|jsonl]";
3068
3072
  await googleAdsCustomers(createClient(), requireProject(input, "google-ads.customers", usage), { format: input.format });
3069
3073
  }
@@ -3073,7 +3077,7 @@ function createGoogleMarketingCliCommands(createClient) {
3073
3077
  usage: "canonry google-ads select <project> --customer <customer-id> [--login-customer <manager-id>] [--format json]",
3074
3078
  options: { customer: stringOption(), "login-customer": stringOption() },
3075
3079
  run: async (input) => {
3076
- const { googleAdsSelect } = await import("./google-marketing-25OBMPS6.js");
3080
+ const { googleAdsSelect } = await import("./google-marketing-S63HN733.js");
3077
3081
  const usage = "canonry google-ads select <project> --customer <customer-id> [--login-customer <manager-id>] [--format json]";
3078
3082
  const project3 = requireProject(input, "google-ads.select", usage);
3079
3083
  const customerId = requireStringOption(input, "customer", {
@@ -3091,7 +3095,7 @@ function createGoogleMarketingCliCommands(createClient) {
3091
3095
  path: ["google-ads", "sync"],
3092
3096
  usage: "canonry google-ads sync <project> [--format json]",
3093
3097
  run: async (input) => {
3094
- const { googleAdsSync } = await import("./google-marketing-25OBMPS6.js");
3098
+ const { googleAdsSync } = await import("./google-marketing-S63HN733.js");
3095
3099
  const usage = "canonry google-ads sync <project> [--format json]";
3096
3100
  await googleAdsSync(createClient(), requireProject(input, "google-ads.sync", usage), { format: input.format });
3097
3101
  }
@@ -3102,7 +3106,7 @@ function createGoogleMarketingCliCommands(createClient) {
3102
3106
  usage: "canonry google-ads performance <project> [--window 7d|14d|30d] [--format json]",
3103
3107
  options: { window: stringOption() },
3104
3108
  run: async (input) => {
3105
- const { googleAdsPerformance } = await import("./google-marketing-25OBMPS6.js");
3109
+ const { googleAdsPerformance } = await import("./google-marketing-S63HN733.js");
3106
3110
  const usage = "canonry google-ads performance <project> [--window 7d|14d|30d] [--format json]";
3107
3111
  const project3 = requireProject(input, "google-ads.performance", usage);
3108
3112
  const window = performanceWindow(input, usage);
@@ -3117,7 +3121,7 @@ function createGoogleMarketingCliCommands(createClient) {
3117
3121
  usage: "canonry google-ads snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]",
3118
3122
  options: { limit: stringOption(), cursor: stringOption() },
3119
3123
  run: async (input) => {
3120
- const { googleAdsSnapshots } = await import("./google-marketing-25OBMPS6.js");
3124
+ const { googleAdsSnapshots } = await import("./google-marketing-S63HN733.js");
3121
3125
  const usage = "canonry google-ads snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]";
3122
3126
  await googleAdsSnapshots(createClient(), requireProject(input, "google-ads.snapshots", usage), {
3123
3127
  limit: snapshotLimit(input, "google-ads.snapshots", usage),
@@ -3130,7 +3134,7 @@ function createGoogleMarketingCliCommands(createClient) {
3130
3134
  path: ["google-ads", "snapshot"],
3131
3135
  usage: "canonry google-ads snapshot <project> <snapshot-id> [--format json]",
3132
3136
  run: async (input) => {
3133
- const { googleAdsSnapshot } = await import("./google-marketing-25OBMPS6.js");
3137
+ const { googleAdsSnapshot } = await import("./google-marketing-S63HN733.js");
3134
3138
  const usage = "canonry google-ads snapshot <project> <snapshot-id> [--format json]";
3135
3139
  const project3 = requireProject(input, "google-ads.snapshot", usage);
3136
3140
  await googleAdsSnapshot(createClient(), project3, requirePositional(input, 1, {
@@ -3144,7 +3148,7 @@ function createGoogleMarketingCliCommands(createClient) {
3144
3148
  path: ["gtm", "disconnect"],
3145
3149
  usage: "canonry gtm disconnect <project> [--format json]",
3146
3150
  run: async (input) => {
3147
- const { gtmDisconnect } = await import("./google-marketing-25OBMPS6.js");
3151
+ const { gtmDisconnect } = await import("./google-marketing-S63HN733.js");
3148
3152
  const usage = "canonry gtm disconnect <project> [--format json]";
3149
3153
  await gtmDisconnect(createClient(), requireProject(input, "gtm.disconnect", usage), { format: input.format });
3150
3154
  }
@@ -3153,7 +3157,7 @@ function createGoogleMarketingCliCommands(createClient) {
3153
3157
  path: ["gtm", "status"],
3154
3158
  usage: "canonry gtm status <project> [--format json]",
3155
3159
  run: async (input) => {
3156
- const { gtmStatus } = await import("./google-marketing-25OBMPS6.js");
3160
+ const { gtmStatus } = await import("./google-marketing-S63HN733.js");
3157
3161
  const usage = "canonry gtm status <project> [--format json]";
3158
3162
  await gtmStatus(createClient(), requireProject(input, "gtm.status", usage), { format: input.format });
3159
3163
  }
@@ -3162,7 +3166,7 @@ function createGoogleMarketingCliCommands(createClient) {
3162
3166
  path: ["gtm", "accounts"],
3163
3167
  usage: "canonry gtm accounts <project> [--format json|jsonl]",
3164
3168
  run: async (input) => {
3165
- const { gtmAccounts } = await import("./google-marketing-25OBMPS6.js");
3169
+ const { gtmAccounts } = await import("./google-marketing-S63HN733.js");
3166
3170
  const usage = "canonry gtm accounts <project> [--format json|jsonl]";
3167
3171
  await gtmAccounts(createClient(), requireProject(input, "gtm.accounts", usage), { format: input.format });
3168
3172
  }
@@ -3172,7 +3176,7 @@ function createGoogleMarketingCliCommands(createClient) {
3172
3176
  usage: "canonry gtm containers <project> --account <account-id> [--format json|jsonl]",
3173
3177
  options: { account: stringOption() },
3174
3178
  run: async (input) => {
3175
- const { gtmContainers } = await import("./google-marketing-25OBMPS6.js");
3179
+ const { gtmContainers } = await import("./google-marketing-S63HN733.js");
3176
3180
  const usage = "canonry gtm containers <project> --account <account-id> [--format json|jsonl]";
3177
3181
  const project3 = requireProject(input, "gtm.containers", usage);
3178
3182
  await gtmContainers(createClient(), project3, requireStringOption(input, "account", {
@@ -3187,7 +3191,7 @@ function createGoogleMarketingCliCommands(createClient) {
3187
3191
  usage: "canonry gtm workspaces <project> --account <account-id> --container <container-id> [--format json|jsonl]",
3188
3192
  options: { account: stringOption(), container: stringOption() },
3189
3193
  run: async (input) => {
3190
- const { gtmWorkspaces } = await import("./google-marketing-25OBMPS6.js");
3194
+ const { gtmWorkspaces } = await import("./google-marketing-S63HN733.js");
3191
3195
  const usage = "canonry gtm workspaces <project> --account <account-id> --container <container-id> [--format json|jsonl]";
3192
3196
  const project3 = requireProject(input, "gtm.workspaces", usage);
3193
3197
  const accountId = requireStringOption(input, "account", { command: "gtm.workspaces", usage, message: "--account is required" });
@@ -3200,7 +3204,7 @@ function createGoogleMarketingCliCommands(createClient) {
3200
3204
  usage: "canonry gtm select <project> --account <account-id> --container <container-id> [--workspace <workspace-id>] [--format json]",
3201
3205
  options: { account: stringOption(), container: stringOption(), workspace: stringOption() },
3202
3206
  run: async (input) => {
3203
- const { gtmSelect } = await import("./google-marketing-25OBMPS6.js");
3207
+ const { gtmSelect } = await import("./google-marketing-S63HN733.js");
3204
3208
  const usage = "canonry gtm select <project> --account <account-id> --container <container-id> [--workspace <workspace-id>] [--format json]";
3205
3209
  const project3 = requireProject(input, "gtm.select", usage);
3206
3210
  const accountId = requireStringOption(input, "account", { command: "gtm.select", usage, message: "--account is required" });
@@ -3217,7 +3221,7 @@ function createGoogleMarketingCliCommands(createClient) {
3217
3221
  path: ["gtm", "sync"],
3218
3222
  usage: "canonry gtm sync <project> [--format json]",
3219
3223
  run: async (input) => {
3220
- const { gtmSync } = await import("./google-marketing-25OBMPS6.js");
3224
+ const { gtmSync } = await import("./google-marketing-S63HN733.js");
3221
3225
  const usage = "canonry gtm sync <project> [--format json]";
3222
3226
  await gtmSync(createClient(), requireProject(input, "gtm.sync", usage), { format: input.format });
3223
3227
  }
@@ -3227,7 +3231,7 @@ function createGoogleMarketingCliCommands(createClient) {
3227
3231
  usage: "canonry gtm snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]",
3228
3232
  options: { limit: stringOption(), cursor: stringOption() },
3229
3233
  run: async (input) => {
3230
- const { gtmSnapshots } = await import("./google-marketing-25OBMPS6.js");
3234
+ const { gtmSnapshots } = await import("./google-marketing-S63HN733.js");
3231
3235
  const usage = "canonry gtm snapshots <project> [--limit <n>] [--cursor <opaque>] [--format json|jsonl]";
3232
3236
  await gtmSnapshots(createClient(), requireProject(input, "gtm.snapshots", usage), {
3233
3237
  limit: snapshotLimit(input, "gtm.snapshots", usage),
@@ -3240,7 +3244,7 @@ function createGoogleMarketingCliCommands(createClient) {
3240
3244
  path: ["gtm", "snapshot"],
3241
3245
  usage: "canonry gtm snapshot <project> <snapshot-id> [--format json]",
3242
3246
  run: async (input) => {
3243
- const { gtmSnapshot } = await import("./google-marketing-25OBMPS6.js");
3247
+ const { gtmSnapshot } = await import("./google-marketing-S63HN733.js");
3244
3248
  const usage = "canonry gtm snapshot <project> <snapshot-id> [--format json]";
3245
3249
  const project3 = requireProject(input, "gtm.snapshot", usage);
3246
3250
  await gtmSnapshot(createClient(), project3, requirePositional(input, 1, {
@@ -3254,7 +3258,7 @@ function createGoogleMarketingCliCommands(createClient) {
3254
3258
  path: ["conversion-tracking", "contracts"],
3255
3259
  usage: "canonry conversion-tracking contracts <project> [--format json|jsonl]",
3256
3260
  run: async (input) => {
3257
- const { conversionTrackingContracts } = await import("./google-marketing-25OBMPS6.js");
3261
+ const { conversionTrackingContracts } = await import("./google-marketing-S63HN733.js");
3258
3262
  const usage = "canonry conversion-tracking contracts <project> [--format json|jsonl]";
3259
3263
  await conversionTrackingContracts(createClient(), requireProject(input, "conversion-tracking.contracts", usage), { format: input.format });
3260
3264
  }
@@ -3263,7 +3267,7 @@ function createGoogleMarketingCliCommands(createClient) {
3263
3267
  path: ["conversion-tracking", "contracts", "get"],
3264
3268
  usage: "canonry conversion-tracking contracts get <project> <contract-id> [--format json]",
3265
3269
  run: async (input) => {
3266
- const { conversionTrackingContract } = await import("./google-marketing-25OBMPS6.js");
3270
+ const { conversionTrackingContract } = await import("./google-marketing-S63HN733.js");
3267
3271
  const usage = "canonry conversion-tracking contracts get <project> <contract-id> [--format json]";
3268
3272
  const project3 = requireProject(input, "conversion-tracking.contracts.get", usage);
3269
3273
  await conversionTrackingContract(createClient(), project3, requirePositional(input, 1, {
@@ -3278,7 +3282,7 @@ function createGoogleMarketingCliCommands(createClient) {
3278
3282
  usage: "canonry conversion-tracking contracts create <project> --input <json-file|-> [--format json]",
3279
3283
  options: { input: stringOption() },
3280
3284
  run: async (input) => {
3281
- const { conversionTrackingCreate, readConversionTrackingContractInput } = await import("./google-marketing-25OBMPS6.js");
3285
+ const { conversionTrackingCreate, readConversionTrackingContractInput } = await import("./google-marketing-S63HN733.js");
3282
3286
  const usage = "canonry conversion-tracking contracts create <project> --input <json-file|-> [--format json]";
3283
3287
  await conversionTrackingCreate(createClient(), requireProject(input, "conversion-tracking.contracts.create", usage), readConversionTrackingContractInput(getString(input.values, "input")), { format: input.format });
3284
3288
  }
@@ -3288,7 +3292,7 @@ function createGoogleMarketingCliCommands(createClient) {
3288
3292
  usage: "canonry conversion-tracking contracts update <project> <contract-id> --input <json-file|-> [--format json]",
3289
3293
  options: { input: stringOption() },
3290
3294
  run: async (input) => {
3291
- const { conversionTrackingUpdate, readConversionTrackingContractInput } = await import("./google-marketing-25OBMPS6.js");
3295
+ const { conversionTrackingUpdate, readConversionTrackingContractInput } = await import("./google-marketing-S63HN733.js");
3292
3296
  const usage = "canonry conversion-tracking contracts update <project> <contract-id> --input <json-file|-> [--format json]";
3293
3297
  const project3 = requireProject(input, "conversion-tracking.contracts.update", usage);
3294
3298
  const contractId = requirePositional(input, 1, { command: "conversion-tracking.contracts.update", usage, message: "contract id is required" });
@@ -3299,7 +3303,7 @@ function createGoogleMarketingCliCommands(createClient) {
3299
3303
  path: ["conversion-tracking", "contracts", "delete"],
3300
3304
  usage: "canonry conversion-tracking contracts delete <project> <contract-id> [--format json]",
3301
3305
  run: async (input) => {
3302
- const { conversionTrackingDelete } = await import("./google-marketing-25OBMPS6.js");
3306
+ const { conversionTrackingDelete } = await import("./google-marketing-S63HN733.js");
3303
3307
  const usage = "canonry conversion-tracking contracts delete <project> <contract-id> [--format json]";
3304
3308
  const project3 = requireProject(input, "conversion-tracking.contracts.delete", usage);
3305
3309
  await conversionTrackingDelete(createClient(), project3, requirePositional(input, 1, {
@@ -3313,7 +3317,7 @@ function createGoogleMarketingCliCommands(createClient) {
3313
3317
  path: ["conversion-tracking", "contracts", "integrity"],
3314
3318
  usage: "canonry conversion-tracking contracts integrity <project> <contract-id> [--format json|jsonl]",
3315
3319
  run: async (input) => {
3316
- const { conversionTrackingIntegrity } = await import("./google-marketing-25OBMPS6.js");
3320
+ const { conversionTrackingIntegrity } = await import("./google-marketing-S63HN733.js");
3317
3321
  const usage = "canonry conversion-tracking contracts integrity <project> <contract-id> [--format json|jsonl]";
3318
3322
  const project3 = requireProject(input, "conversion-tracking.contracts.integrity", usage);
3319
3323
  await conversionTrackingIntegrity(createClient(), project3, requirePositional(input, 1, {
@@ -3463,7 +3467,7 @@ var TRAFFIC_CLI_COMMANDS = [
3463
3467
  help: "Stored user-triggered agent request sequences, with trust levels, correlation and coverage limits. Likely fake requests are counted, not listed. No provider calls. Default limit: 50 journeys.",
3464
3468
  options: agentJourneyOptions,
3465
3469
  run: async (input) => {
3466
- const { trafficAgentJourneys } = await import("./agent-journeys-UBVLQ7JV.js");
3470
+ const { trafficAgentJourneys } = await import("./agent-journeys-XDXVL6PK.js");
3467
3471
  const project3 = requireProject(input, "traffic.agent-journeys", AGENT_JOURNEYS_USAGE);
3468
3472
  await trafficAgentJourneys(project3, readAgentJourneyOptions(input, "traffic.agent-journeys", AGENT_JOURNEYS_USAGE));
3469
3473
  }
@@ -3474,7 +3478,7 @@ var TRAFFIC_CLI_COMMANDS = [
3474
3478
  help: "Read one agent request timeline. Keep the list window and selectors; correlation does not prove one user task. Default limit: 100 requests.",
3475
3479
  options: agentJourneyOptions,
3476
3480
  run: async (input) => {
3477
- const { trafficAgentJourney } = await import("./agent-journeys-UBVLQ7JV.js");
3481
+ const { trafficAgentJourney } = await import("./agent-journeys-XDXVL6PK.js");
3478
3482
  const project3 = requireProject(input, "traffic.agent-journey", AGENT_JOURNEY_USAGE);
3479
3483
  const journeyId = requirePositional(input, 1, { command: "traffic.agent-journey", usage: AGENT_JOURNEY_USAGE, message: "journey id is required" });
3480
3484
  await trafficAgentJourney(project3, journeyId, readAgentJourneyOptions(input, "traffic.agent-journey", AGENT_JOURNEY_USAGE));
@@ -3488,7 +3492,7 @@ var TRAFFIC_CLI_COMMANDS = [
3488
3492
  help: "Complete stored traffic totals and breakdowns for the selected window. Project-wide for Simple and Advanced portfolios; no provider calls or sync.",
3489
3493
  options: { period: stringOption() },
3490
3494
  run: async (input) => {
3491
- const { trafficAnalytics } = await import("./traffic-I6WRJN3W.js");
3495
+ const { trafficAnalytics } = await import("./traffic-SVMOKCSS.js");
3492
3496
  const project3 = requireProject(input, "traffic.analytics", "canonry traffic analytics <project> [--period 7|14|30|90]");
3493
3497
  await trafficAnalytics(project3, { period: getString(input.values, "window") ?? getString(input.values, "period"), format: input.format });
3494
3498
  }
@@ -3500,7 +3504,7 @@ var TRAFFIC_CLI_COMMANDS = [
3500
3504
  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.",
3501
3505
  options: { "start-date": stringOption(), "end-date": stringOption(), source: stringOption(), "burst-threshold": stringOption(), "ratio-threshold": stringOption(), limit: stringOption() },
3502
3506
  run: async (input) => {
3503
- const { trafficReferralAssessment } = await import("./traffic-I6WRJN3W.js");
3507
+ const { trafficReferralAssessment } = await import("./traffic-SVMOKCSS.js");
3504
3508
  const project3 = requireProject(input, "traffic.referral-assessment", "canonry traffic referral-assessment <project> --start-date YYYY-MM-DD --end-date YYYY-MM-DD");
3505
3509
  await trafficReferralAssessment(project3, {
3506
3510
  startDate: getString(input.values, "start") ?? getString(input.values, "start-date"),
@@ -3533,7 +3537,7 @@ var TRAFFIC_CLI_COMMANDS = [
3533
3537
  "confirm-fail-open": { type: "boolean" }
3534
3538
  },
3535
3539
  run: async (input) => {
3536
- const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-I6WRJN3W.js");
3540
+ const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-SVMOKCSS.js");
3537
3541
  const forwardPageViews = getBoolean(input.values, "forward-page-views");
3538
3542
  const noForwardPageViews = getBoolean(input.values, "no-forward-page-views");
3539
3543
  if (forwardPageViews && noForwardPageViews) {
@@ -3586,7 +3590,7 @@ var TRAFFIC_CLI_COMMANDS = [
3586
3590
  "display-name": stringOption()
3587
3591
  },
3588
3592
  run: async (input) => {
3589
- const { trafficConnectCloudRun } = await import("./traffic-I6WRJN3W.js");
3593
+ const { trafficConnectCloudRun } = await import("./traffic-SVMOKCSS.js");
3590
3594
  const project3 = requireProject(
3591
3595
  input,
3592
3596
  "traffic.connect.cloud-run",
@@ -3617,7 +3621,7 @@ var TRAFFIC_CLI_COMMANDS = [
3617
3621
  "display-name": stringOption()
3618
3622
  },
3619
3623
  run: async (input) => {
3620
- const { trafficConnectWordpress } = await import("./traffic-I6WRJN3W.js");
3624
+ const { trafficConnectWordpress } = await import("./traffic-SVMOKCSS.js");
3621
3625
  const project3 = requireProject(
3622
3626
  input,
3623
3627
  "traffic.connect.wordpress",
@@ -3649,7 +3653,7 @@ var TRAFFIC_CLI_COMMANDS = [
3649
3653
  "display-name": stringOption()
3650
3654
  },
3651
3655
  run: async (input) => {
3652
- const { trafficConnectVercel } = await import("./traffic-I6WRJN3W.js");
3656
+ const { trafficConnectVercel } = await import("./traffic-SVMOKCSS.js");
3653
3657
  const project3 = requireProject(
3654
3658
  input,
3655
3659
  "traffic.connect.vercel",
@@ -3688,7 +3692,7 @@ var TRAFFIC_CLI_COMMANDS = [
3688
3692
  source: stringOption()
3689
3693
  },
3690
3694
  run: async (input) => {
3691
- const { trafficActivate } = await import("./traffic-I6WRJN3W.js");
3695
+ const { trafficActivate } = await import("./traffic-SVMOKCSS.js");
3692
3696
  const project3 = requireProject(
3693
3697
  input,
3694
3698
  "traffic.activate",
@@ -3707,7 +3711,7 @@ var TRAFFIC_CLI_COMMANDS = [
3707
3711
  "since-minutes": stringOption()
3708
3712
  },
3709
3713
  run: async (input) => {
3710
- const { trafficSync } = await import("./traffic-I6WRJN3W.js");
3714
+ const { trafficSync } = await import("./traffic-SVMOKCSS.js");
3711
3715
  const project3 = requireProject(
3712
3716
  input,
3713
3717
  "traffic.sync",
@@ -3736,7 +3740,7 @@ var TRAFFIC_CLI_COMMANDS = [
3736
3740
  wait: { type: "boolean" }
3737
3741
  },
3738
3742
  run: async (input) => {
3739
- const { trafficBackfill } = await import("./traffic-I6WRJN3W.js");
3743
+ const { trafficBackfill } = await import("./traffic-SVMOKCSS.js");
3740
3744
  const project3 = requireProject(
3741
3745
  input,
3742
3746
  "traffic.backfill",
@@ -3765,7 +3769,7 @@ var TRAFFIC_CLI_COMMANDS = [
3765
3769
  "advance-to-now": { type: "boolean" }
3766
3770
  },
3767
3771
  run: async (input) => {
3768
- const { trafficReset } = await import("./traffic-I6WRJN3W.js");
3772
+ const { trafficReset } = await import("./traffic-SVMOKCSS.js");
3769
3773
  const project3 = requireProject(
3770
3774
  input,
3771
3775
  "traffic.reset",
@@ -3787,7 +3791,7 @@ var TRAFFIC_CLI_COMMANDS = [
3787
3791
  source: stringOption()
3788
3792
  },
3789
3793
  run: async (input) => {
3790
- const { trafficDeclareGap } = await import("./traffic-I6WRJN3W.js");
3794
+ const { trafficDeclareGap } = await import("./traffic-SVMOKCSS.js");
3791
3795
  const project3 = requireProject(
3792
3796
  input,
3793
3797
  "traffic.declare-gap",
@@ -3802,7 +3806,7 @@ var TRAFFIC_CLI_COMMANDS = [
3802
3806
  path: ["traffic", "sources"],
3803
3807
  usage: "canonry traffic sources <project> [--format json]",
3804
3808
  run: async (input) => {
3805
- const { trafficSources } = await import("./traffic-I6WRJN3W.js");
3809
+ const { trafficSources } = await import("./traffic-SVMOKCSS.js");
3806
3810
  const project3 = requireProject(
3807
3811
  input,
3808
3812
  "traffic.sources",
@@ -3815,7 +3819,7 @@ var TRAFFIC_CLI_COMMANDS = [
3815
3819
  path: ["traffic", "status"],
3816
3820
  usage: "canonry traffic status <project> [--format json]",
3817
3821
  run: async (input) => {
3818
- const { trafficStatus } = await import("./traffic-I6WRJN3W.js");
3822
+ const { trafficStatus } = await import("./traffic-SVMOKCSS.js");
3819
3823
  const project3 = requireProject(
3820
3824
  input,
3821
3825
  "traffic.status",
@@ -3830,7 +3834,7 @@ var TRAFFIC_CLI_COMMANDS = [
3830
3834
  help: "Stored sampled tail with 30-day retention, not visits. Unknown traffic is excluded by default. No provider calls.",
3831
3835
  options: { kind: stringOption(), source: stringOption(), since: stringOption(), until: stringOption(), "since-minutes": stringOption(), path: stringOption(), limit: stringOption(), offset: stringOption() },
3832
3836
  run: async (input) => {
3833
- const { trafficSamples } = await import("./traffic-I6WRJN3W.js");
3837
+ const { trafficSamples } = await import("./traffic-SVMOKCSS.js");
3834
3838
  const project3 = requireProject(input, "traffic.samples", "canonry traffic samples <project>");
3835
3839
  const integer = (name) => parseIntegerOption(input, name, { command: "traffic.samples", usage: "canonry traffic samples <project>", message: `--${name} must be an integer` });
3836
3840
  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 });
@@ -3842,7 +3846,7 @@ var TRAFFIC_CLI_COMMANDS = [
3842
3846
  help: "Bots and agents no rule recognizes yet, by the name in their user agent, busiest first. Default window: last 30 days. Stored rows only, no provider calls.",
3843
3847
  options: { source: stringOption(), since: stringOption(), until: stringOption(), limit: stringOption() },
3844
3848
  run: async (input) => {
3845
- const { trafficUnrecognized } = await import("./traffic-I6WRJN3W.js");
3849
+ const { trafficUnrecognized } = await import("./traffic-SVMOKCSS.js");
3846
3850
  const project3 = requireProject(input, "traffic.unrecognized", "canonry traffic unrecognized <project>");
3847
3851
  const limit = parseIntegerOption(input, "limit", { command: "traffic.unrecognized", usage: "canonry traffic unrecognized <project>", message: "--limit must be an integer" });
3848
3852
  await trafficUnrecognized(project3, { sourceId: getString(input.values, "source"), since: getString(input.values, "since"), until: getString(input.values, "until"), limit, format: input.format });
@@ -3861,7 +3865,7 @@ var TRAFFIC_CLI_COMMANDS = [
3861
3865
  granularity: stringOption()
3862
3866
  },
3863
3867
  run: async (input) => {
3864
- const { trafficEvents } = await import("./traffic-I6WRJN3W.js");
3868
+ const { trafficEvents } = await import("./traffic-SVMOKCSS.js");
3865
3869
  const project3 = requireProject(
3866
3870
  input,
3867
3871
  "traffic.events",
@@ -3924,7 +3928,7 @@ var JOURNEYS_CLI_COMMANDS = [
3924
3928
  help: "Stored AI visitor journeys: visitors whose first AI visit fell in the window and how many came back. No provider calls.",
3925
3929
  options: { since: stringOption(), until: stringOption() },
3926
3930
  run: async (input) => {
3927
- const { journeysSummary } = await import("./journeys-TABTZDFZ.js");
3931
+ const { journeysSummary } = await import("./journeys-XIT7WDM2.js");
3928
3932
  const project3 = requireProject(input, "journeys.summary", SUMMARY_USAGE);
3929
3933
  await journeysSummary(project3, { since: getString(input.values, "since"), until: getString(input.values, "until"), format: input.format });
3930
3934
  }
@@ -3935,7 +3939,7 @@ var JOURNEYS_CLI_COMMANDS = [
3935
3939
  help: "Stored AI visitors, newest first AI visit first, with their visits. No provider calls.",
3936
3940
  options: { since: stringOption(), until: stringOption(), engine: stringOption(), returned: stringOption(), "key-basis": stringOption(), limit: stringOption(), offset: stringOption() },
3937
3941
  run: async (input) => {
3938
- const { journeysList } = await import("./journeys-TABTZDFZ.js");
3942
+ const { journeysList } = await import("./journeys-XIT7WDM2.js");
3939
3943
  const project3 = requireProject(input, "journeys.list", LIST_USAGE);
3940
3944
  const integer = (name) => parseIntegerOption(input, name, { command: "journeys.list", usage: LIST_USAGE, message: `--${name} must be an integer` });
3941
3945
  await journeysList(project3, {
@@ -3956,7 +3960,7 @@ var JOURNEYS_CLI_COMMANDS = [
3956
3960
  help: "Stored visits and requests for one AI visitor, a page at a time. No provider calls.",
3957
3961
  options: { events: stringOption(), limit: stringOption(), offset: stringOption() },
3958
3962
  run: async (input) => {
3959
- const { journeyShow } = await import("./journeys-TABTZDFZ.js");
3963
+ const { journeyShow } = await import("./journeys-XIT7WDM2.js");
3960
3964
  const project3 = requireProject(input, "journeys.show", SHOW_USAGE);
3961
3965
  const visitorKey = requirePositional(input, 1, { command: "journeys.show", usage: SHOW_USAGE, message: "visitor key is required" });
3962
3966
  const integer = (name) => parseIntegerOption(input, name, { command: "journeys.show", usage: SHOW_USAGE, message: `--${name} must be an integer` });
@@ -4007,7 +4011,7 @@ var COMPETITOR_CLI_COMMANDS = [
4007
4011
  supportsDryRun: true,
4008
4012
  accessFor: ({ dryRun }) => dryRun ? OperationAccesses.stored : OperationAccesses.write,
4009
4013
  run: async (input) => {
4010
- const { addCompetitors } = await import("./competitor-GRA2GMZR.js");
4014
+ const { addCompetitors } = await import("./competitor-PIX2BHJW.js");
4011
4015
  const project3 = requireProject(input, "competitor.add", ADD_USAGE);
4012
4016
  const domains = input.positionals.slice(1);
4013
4017
  if (domains.length === 0) {
@@ -4036,7 +4040,7 @@ Usage: ${ADD_USAGE}`, {
4036
4040
  usage: IMPORT_USAGE,
4037
4041
  options: { "acknowledge-bulk-add": { type: "boolean" }, ...WAIT_OPTIONS },
4038
4042
  run: async (input) => {
4039
- const { importCompetitors } = await import("./competitor-GRA2GMZR.js");
4043
+ const { importCompetitors } = await import("./competitor-PIX2BHJW.js");
4040
4044
  const project3 = requireProject(input, "competitor.import", IMPORT_USAGE);
4041
4045
  const file = requirePositional(input, 1, { command: "competitor.import", usage: IMPORT_USAGE, message: "input file is required" });
4042
4046
  await importCompetitors(project3, file, input.format, { acknowledgeBulkAdd: getBoolean(input.values, "acknowledge-bulk-add"), wait: getBoolean(input.values, "wait"), waitTimeout: getString(input.values, "wait-timeout") });
@@ -4054,7 +4058,7 @@ Usage: ${ADD_USAGE}`, {
4054
4058
  supportsDryRun: true,
4055
4059
  accessFor: ({ values }) => getBoolean(values, "apply") ? OperationAccesses.write : OperationAccesses.stored,
4056
4060
  run: async (input) => {
4057
- const { detectCompetitorAutoAliases } = await import("./competitor-GRA2GMZR.js");
4061
+ const { detectCompetitorAutoAliases } = await import("./competitor-PIX2BHJW.js");
4058
4062
  const project3 = requireProject(input, "competitor.aliases.detect", DETECT_USAGE);
4059
4063
  await detectCompetitorAutoAliases(project3, { apply: getBoolean(input.values, "apply"), ...input.dryRun ? { dryRun: true } : {}, format: input.format });
4060
4064
  }
@@ -4077,7 +4081,7 @@ Usage: ${ADD_USAGE}`, {
4077
4081
  return mutating && !dryRun ? OperationAccesses.write : OperationAccesses.stored;
4078
4082
  },
4079
4083
  run: async (input) => {
4080
- const { competitorAliases } = await import("./competitor-GRA2GMZR.js");
4084
+ const { competitorAliases } = await import("./competitor-PIX2BHJW.js");
4081
4085
  const project3 = requireProject(input, "competitor.aliases", ALIASES_USAGE);
4082
4086
  const domain = requirePositional(input, 1, {
4083
4087
  command: "competitor.aliases",
@@ -4114,7 +4118,7 @@ Usage: ${ALIASES_USAGE}`, {
4114
4118
  usage: "canonry competitor remove <project> <domain...> [--dry-run] [--format json]",
4115
4119
  accessFor: ({ dryRun }) => dryRun ? OperationAccesses.stored : OperationAccesses.write,
4116
4120
  run: async (input) => {
4117
- const { removeCompetitors } = await import("./competitor-GRA2GMZR.js");
4121
+ const { removeCompetitors } = await import("./competitor-PIX2BHJW.js");
4118
4122
  const project3 = requireProject(input, "competitor.remove", "canonry competitor remove <project> <domain...> [--dry-run] [--format json]");
4119
4123
  const domains = input.positionals.slice(1);
4120
4124
  if (domains.length === 0) {
@@ -4135,7 +4139,7 @@ Usage: ${ALIASES_USAGE}`, {
4135
4139
  usage: "canonry competitor delete <project> <domain...> [--dry-run] [--format json]",
4136
4140
  accessFor: ({ dryRun }) => dryRun ? OperationAccesses.stored : OperationAccesses.write,
4137
4141
  run: async (input) => {
4138
- const { removeCompetitors } = await import("./competitor-GRA2GMZR.js");
4142
+ const { removeCompetitors } = await import("./competitor-PIX2BHJW.js");
4139
4143
  const project3 = requireProject(input, "competitor.delete", "canonry competitor delete <project> <domain...> [--dry-run] [--format json]");
4140
4144
  const domains = input.positionals.slice(1);
4141
4145
  if (domains.length === 0) {
@@ -4154,7 +4158,7 @@ Usage: ${ALIASES_USAGE}`, {
4154
4158
  path: ["competitor", "list"],
4155
4159
  usage: "canonry competitor list <project> [--format json]",
4156
4160
  run: async (input) => {
4157
- const { listCompetitors } = await import("./competitor-GRA2GMZR.js");
4161
+ const { listCompetitors } = await import("./competitor-PIX2BHJW.js");
4158
4162
  const project3 = requireProject(input, "competitor.list", "canonry competitor list <project>");
4159
4163
  await listCompetitors(project3, input.format);
4160
4164
  }
@@ -4176,7 +4180,7 @@ Usage: ${ALIASES_USAGE}`, {
4176
4180
  answers: stringOption()
4177
4181
  },
4178
4182
  run: async (input) => {
4179
- const { showCompetitorLandscape } = await import("./competitor-GRA2GMZR.js");
4183
+ const { showCompetitorLandscape } = await import("./competitor-PIX2BHJW.js");
4180
4184
  const project3 = requireProject(input, "competitor.landscape", LANDSCAPE_USAGE);
4181
4185
  const scope = parseLandscapeScope(getString(input.values, "scope"));
4182
4186
  const groupKey = getString(input.values, "group-key");
@@ -4223,7 +4227,7 @@ Usage: ${ALIASES_USAGE}`, {
4223
4227
  limit: stringOption()
4224
4228
  },
4225
4229
  run: async (input) => {
4226
- const { suggestCompetitors } = await import("./competitor-GRA2GMZR.js");
4230
+ const { suggestCompetitors } = await import("./competitor-PIX2BHJW.js");
4227
4231
  const project3 = requireProject(input, "competitor.suggest", SUGGEST_USAGE);
4228
4232
  const minAnswers = parseIntegerOption(input, "min-answers", {
4229
4233
  command: "competitor.suggest",
@@ -4274,7 +4278,7 @@ var GOOGLE_CLI_COMMANDS = [
4274
4278
  "public-url": stringOption()
4275
4279
  },
4276
4280
  run: async (input) => {
4277
- const { googleConnect } = await import("./google-5JP6RYAW.js");
4281
+ const { googleConnect } = await import("./google-UVKWJCD2.js");
4278
4282
  const project3 = requireProject(input, "google.connect", "canonry google connect <project> [--type gsc|ga4] [--public-url <url>] [--format json]");
4279
4283
  await googleConnect(project3, {
4280
4284
  type: getString(input.values, "type") ?? "gsc",
@@ -4290,7 +4294,7 @@ var GOOGLE_CLI_COMMANDS = [
4290
4294
  type: stringOption()
4291
4295
  },
4292
4296
  run: async (input) => {
4293
- const { googleDisconnect } = await import("./google-5JP6RYAW.js");
4297
+ const { googleDisconnect } = await import("./google-UVKWJCD2.js");
4294
4298
  const project3 = requireProject(input, "google.disconnect", "canonry google disconnect <project> [--type gsc|ga4] [--format json]");
4295
4299
  await googleDisconnect(project3, {
4296
4300
  type: getString(input.values, "type") ?? "gsc",
@@ -4302,7 +4306,7 @@ var GOOGLE_CLI_COMMANDS = [
4302
4306
  path: ["google", "status"],
4303
4307
  usage: "canonry google status <project> [--format json]",
4304
4308
  run: async (input) => {
4305
- const { googleStatus } = await import("./google-5JP6RYAW.js");
4309
+ const { googleStatus } = await import("./google-UVKWJCD2.js");
4306
4310
  const project3 = requireProject(input, "google.status", "canonry google status <project> [--format json]");
4307
4311
  await googleStatus(project3, input.format);
4308
4312
  }
@@ -4311,7 +4315,7 @@ var GOOGLE_CLI_COMMANDS = [
4311
4315
  path: ["google", "properties"],
4312
4316
  usage: "canonry google properties <project> [--format json]",
4313
4317
  run: async (input) => {
4314
- const { googleProperties } = await import("./google-5JP6RYAW.js");
4318
+ const { googleProperties } = await import("./google-UVKWJCD2.js");
4315
4319
  const project3 = requireProject(input, "google.properties", "canonry google properties <project> [--format json]");
4316
4320
  await googleProperties(project3, input.format);
4317
4321
  }
@@ -4320,7 +4324,7 @@ var GOOGLE_CLI_COMMANDS = [
4320
4324
  path: ["google", "set-property"],
4321
4325
  usage: "canonry google set-property <project> <url> [--format json]",
4322
4326
  run: async (input) => {
4323
- const { googleSetProperty } = await import("./google-5JP6RYAW.js");
4327
+ const { googleSetProperty } = await import("./google-UVKWJCD2.js");
4324
4328
  const project3 = requireProject(input, "google.set-property", "canonry google set-property <project> <url> [--format json]");
4325
4329
  const propertyUrl = requirePositional(input, 1, {
4326
4330
  command: "google.set-property",
@@ -4334,7 +4338,7 @@ var GOOGLE_CLI_COMMANDS = [
4334
4338
  path: ["google", "set-sitemap"],
4335
4339
  usage: "canonry google set-sitemap <project> <url> [--format json]",
4336
4340
  run: async (input) => {
4337
- const { googleSetSitemap } = await import("./google-5JP6RYAW.js");
4341
+ const { googleSetSitemap } = await import("./google-UVKWJCD2.js");
4338
4342
  const project3 = requireProject(input, "google.set-sitemap", "canonry google set-sitemap <project> <url> [--format json]");
4339
4343
  const sitemapUrl = requirePositional(input, 1, {
4340
4344
  command: "google.set-sitemap",
@@ -4348,7 +4352,7 @@ var GOOGLE_CLI_COMMANDS = [
4348
4352
  path: ["google", "list-sitemaps"],
4349
4353
  usage: "canonry google list-sitemaps <project> [--format json]",
4350
4354
  run: async (input) => {
4351
- const { googleListSitemaps } = await import("./google-5JP6RYAW.js");
4355
+ const { googleListSitemaps } = await import("./google-UVKWJCD2.js");
4352
4356
  const project3 = requireProject(input, "google.list-sitemaps", "canonry google list-sitemaps <project> [--format json]");
4353
4357
  await googleListSitemaps(project3, { format: input.format });
4354
4358
  }
@@ -4362,7 +4366,7 @@ var GOOGLE_CLI_COMMANDS = [
4362
4366
  "all-files": { type: "boolean", default: false }
4363
4367
  },
4364
4368
  run: async (input) => {
4365
- const { googleSubmitSitemaps } = await import("./google-5JP6RYAW.js");
4369
+ const { googleSubmitSitemaps } = await import("./google-UVKWJCD2.js");
4366
4370
  const project3 = requireProject(input, "google.submit-sitemap", "canonry google submit-sitemap <project> [url...] [--configured|--all|--all-files] [--format json|jsonl]");
4367
4371
  const sitemapUrls = input.positionals.slice(1);
4368
4372
  const configured = getBoolean(input.values, "configured");
@@ -4396,7 +4400,7 @@ var GOOGLE_CLI_COMMANDS = [
4396
4400
  wait: { type: "boolean", default: false }
4397
4401
  },
4398
4402
  run: async (input) => {
4399
- const { googleSync } = await import("./google-5JP6RYAW.js");
4403
+ const { googleSync } = await import("./google-UVKWJCD2.js");
4400
4404
  const project3 = requireProject(input, "google.sync", "canonry google sync <project> [--type gsc|ga4] [--days <n>] [--full] [--wait] [--format json]");
4401
4405
  await googleSync(project3, {
4402
4406
  type: getString(input.values, "type") ?? "gsc",
@@ -4426,7 +4430,7 @@ var GOOGLE_CLI_COMMANDS = [
4426
4430
  "order-by": stringOption()
4427
4431
  },
4428
4432
  run: async (input) => {
4429
- const { googlePerformance } = await import("./google-5JP6RYAW.js");
4433
+ const { googlePerformance } = await import("./google-UVKWJCD2.js");
4430
4434
  const project3 = requireProject(input, "google.performance", GOOGLE_PERFORMANCE_USAGE);
4431
4435
  const startDate = getString(input.values, "start");
4432
4436
  const endDate = getString(input.values, "end");
@@ -4477,7 +4481,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4477
4481
  end: stringOption()
4478
4482
  },
4479
4483
  run: async (input) => {
4480
- const { googlePerformanceDaily } = await import("./google-5JP6RYAW.js");
4484
+ const { googlePerformanceDaily } = await import("./google-UVKWJCD2.js");
4481
4485
  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]");
4482
4486
  await googlePerformanceDaily(project3, {
4483
4487
  window: getString(input.values, "window"),
@@ -4498,7 +4502,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4498
4502
  limit: stringOption()
4499
4503
  },
4500
4504
  run: async (input) => {
4501
- const { googleTopPages } = await import("./google-5JP6RYAW.js");
4505
+ const { googleTopPages } = await import("./google-UVKWJCD2.js");
4502
4506
  const usage = "canonry google top-pages <project> [--window 7d|30d|90d|all] [--start <YYYY-MM-DD>] [--end <YYYY-MM-DD>] [--limit <n>] [--format json]";
4503
4507
  const project3 = requireProject(input, "google.top-pages", usage);
4504
4508
  await googleTopPages(project3, {
@@ -4526,7 +4530,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4526
4530
  offset: stringOption()
4527
4531
  },
4528
4532
  run: async (input) => {
4529
- const { googleQueryTotals } = await import("./google-5JP6RYAW.js");
4533
+ const { googleQueryTotals } = await import("./google-UVKWJCD2.js");
4530
4534
  const project3 = requireProject(input, "google.query-totals", GOOGLE_QUERY_TOTALS_USAGE);
4531
4535
  await googleQueryTotals(project3, {
4532
4536
  window: getString(input.values, "window"),
@@ -4550,7 +4554,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4550
4554
  path: ["google", "inspect"],
4551
4555
  usage: "canonry google inspect <project> <url> [--format json]",
4552
4556
  run: async (input) => {
4553
- const { googleInspect } = await import("./google-5JP6RYAW.js");
4557
+ const { googleInspect } = await import("./google-UVKWJCD2.js");
4554
4558
  const project3 = requireProject(input, "google.inspect", "canonry google inspect <project> <url> [--format json]");
4555
4559
  const url = requirePositional(input, 1, {
4556
4560
  command: "google.inspect",
@@ -4567,7 +4571,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4567
4571
  url: stringOption()
4568
4572
  },
4569
4573
  run: async (input) => {
4570
- const { googleInspections } = await import("./google-5JP6RYAW.js");
4574
+ const { googleInspections } = await import("./google-UVKWJCD2.js");
4571
4575
  const project3 = requireProject(input, "google.inspections", "canonry google inspections <project> [--url <url>] [--format json]");
4572
4576
  await googleInspections(project3, {
4573
4577
  url: getString(input.values, "url"),
@@ -4583,7 +4587,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4583
4587
  wait: { type: "boolean", default: false }
4584
4588
  },
4585
4589
  run: async (input) => {
4586
- const { googleInspectSitemap } = await import("./google-5JP6RYAW.js");
4590
+ const { googleInspectSitemap } = await import("./google-UVKWJCD2.js");
4587
4591
  const project3 = requireProject(input, "google.inspect-sitemap", "canonry google inspect-sitemap <project> [--sitemap-url <url>] [--wait] [--format json]");
4588
4592
  await googleInspectSitemap(project3, {
4589
4593
  sitemapUrl: getString(input.values, "sitemap-url"),
@@ -4596,7 +4600,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4596
4600
  path: ["google", "coverage"],
4597
4601
  usage: "canonry google coverage <project> [--format json]",
4598
4602
  run: async (input) => {
4599
- const { googleCoverage } = await import("./google-5JP6RYAW.js");
4603
+ const { googleCoverage } = await import("./google-UVKWJCD2.js");
4600
4604
  const project3 = requireProject(input, "google.coverage", "canonry google coverage <project> [--format json]");
4601
4605
  await googleCoverage(project3, input.format);
4602
4606
  }
@@ -4608,7 +4612,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4608
4612
  limit: stringOption()
4609
4613
  },
4610
4614
  run: async (input) => {
4611
- const { googleCoverageHistory } = await import("./google-5JP6RYAW.js");
4615
+ const { googleCoverageHistory } = await import("./google-UVKWJCD2.js");
4612
4616
  const project3 = requireProject(input, "google.coverage-history", "canonry google coverage-history <project> [--limit <n>] [--format json]");
4613
4617
  await googleCoverageHistory(project3, {
4614
4618
  limit: parseIntegerOption(input, "limit", {
@@ -4624,7 +4628,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4624
4628
  path: ["google", "deindexed"],
4625
4629
  usage: "canonry google deindexed <project> [--format json]",
4626
4630
  run: async (input) => {
4627
- const { googleDeindexed } = await import("./google-5JP6RYAW.js");
4631
+ const { googleDeindexed } = await import("./google-UVKWJCD2.js");
4628
4632
  const project3 = requireProject(input, "google.deindexed", "canonry google deindexed <project> [--format json]");
4629
4633
  await googleDeindexed(project3, input.format);
4630
4634
  }
@@ -4636,7 +4640,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4636
4640
  wait: { type: "boolean", default: false }
4637
4641
  },
4638
4642
  run: async (input) => {
4639
- const { googleDiscoverSitemaps } = await import("./google-5JP6RYAW.js");
4643
+ const { googleDiscoverSitemaps } = await import("./google-UVKWJCD2.js");
4640
4644
  const project3 = requireProject(input, "google.discover-sitemaps", "canonry google discover-sitemaps <project> [--wait] [--format json]");
4641
4645
  await googleDiscoverSitemaps(project3, {
4642
4646
  wait: getBoolean(input.values, "wait"),
@@ -4652,7 +4656,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4652
4656
  wait: { type: "boolean", default: false }
4653
4657
  },
4654
4658
  run: async (input) => {
4655
- const { googleRequestIndexing } = await import("./google-5JP6RYAW.js");
4659
+ const { googleRequestIndexing } = await import("./google-UVKWJCD2.js");
4656
4660
  const project3 = requireProject(input, "google.request-indexing", "canonry google request-indexing <project> [url] [--all-unindexed] [--wait] [--format json]");
4657
4661
  const url = input.positionals[1];
4658
4662
  const allUnindexed = getBoolean(input.values, "all-unindexed");
@@ -4677,7 +4681,7 @@ Usage: ${GOOGLE_PERFORMANCE_USAGE}`,
4677
4681
  path: ["google", "refresh"],
4678
4682
  usage: "canonry google refresh <project> [--format json]",
4679
4683
  run: async (input) => {
4680
- const { googleRefresh } = await import("./google-5JP6RYAW.js");
4684
+ const { googleRefresh } = await import("./google-UVKWJCD2.js");
4681
4685
  const project3 = requireProject(input, "google.refresh", "canonry google refresh <project> [--format json]");
4682
4686
  await googleRefresh(project3, input.format);
4683
4687
  }
@@ -4701,7 +4705,7 @@ var KEYS_CLI_COMMANDS = [
4701
4705
  path: ["key", "list"],
4702
4706
  usage: "canonry key list [--format json|jsonl]",
4703
4707
  run: async (input) => {
4704
- const { listApiKeys } = await import("./keys-SL5YF7NQ.js");
4708
+ const { listApiKeys } = await import("./keys-MQKW4JUI.js");
4705
4709
  await listApiKeys(input.format);
4706
4710
  }
4707
4711
  },
@@ -4715,7 +4719,7 @@ var KEYS_CLI_COMMANDS = [
4715
4719
  project: stringOption()
4716
4720
  },
4717
4721
  run: async (input) => {
4718
- const { createApiKey } = await import("./keys-SL5YF7NQ.js");
4722
+ const { createApiKey } = await import("./keys-MQKW4JUI.js");
4719
4723
  const name = requireStringOption(input, "name", {
4720
4724
  command: "key.create",
4721
4725
  usage: "canonry key create --name <name> [--read-only | --scope <s> ...] [--project <name>] [--format json]",
@@ -4736,7 +4740,7 @@ var KEYS_CLI_COMMANDS = [
4736
4740
  path: ["key", "whoami"],
4737
4741
  usage: "canonry key whoami [--format json]",
4738
4742
  run: async (input) => {
4739
- const { showApiKeySelf } = await import("./keys-SL5YF7NQ.js");
4743
+ const { showApiKeySelf } = await import("./keys-MQKW4JUI.js");
4740
4744
  await showApiKeySelf(input.format);
4741
4745
  }
4742
4746
  },
@@ -4744,7 +4748,7 @@ var KEYS_CLI_COMMANDS = [
4744
4748
  path: ["key", "revoke"],
4745
4749
  usage: "canonry key revoke <id> [--format json]",
4746
4750
  run: async (input) => {
4747
- const { revokeApiKey } = await import("./keys-SL5YF7NQ.js");
4751
+ const { revokeApiKey } = await import("./keys-MQKW4JUI.js");
4748
4752
  const id2 = requirePositional(input, 0, {
4749
4753
  command: "key.revoke",
4750
4754
  usage: "canonry key revoke <id> [--format json]",
@@ -4773,7 +4777,7 @@ var USERS_CLI_COMMANDS = [
4773
4777
  path: ["user", "list"],
4774
4778
  usage: "canonry user list [--format json|jsonl]",
4775
4779
  run: async (input) => {
4776
- const { listUsers } = await import("./users-SNTVY6OB.js");
4780
+ const { listUsers } = await import("./users-47WKA2TO.js");
4777
4781
  await listUsers(input.format);
4778
4782
  }
4779
4783
  },
@@ -4788,7 +4792,7 @@ var USERS_CLI_COMMANDS = [
4788
4792
  "password-stdin": { type: "boolean" }
4789
4793
  },
4790
4794
  run: async (input) => {
4791
- const { createUser } = await import("./users-SNTVY6OB.js");
4795
+ const { createUser } = await import("./users-47WKA2TO.js");
4792
4796
  const name = requireStringOption(input, "name", {
4793
4797
  command: "user.create",
4794
4798
  usage: CREATE_USAGE,
@@ -4811,7 +4815,7 @@ var USERS_CLI_COMMANDS = [
4811
4815
  path: ["user", "delete"],
4812
4816
  usage: "canonry user delete <name> [--format json]",
4813
4817
  run: async (input) => {
4814
- const { deleteUser } = await import("./users-SNTVY6OB.js");
4818
+ const { deleteUser } = await import("./users-47WKA2TO.js");
4815
4819
  const name = requirePositional(input, 0, {
4816
4820
  command: "user.delete",
4817
4821
  usage: "canonry user delete <name> [--format json]",
@@ -4839,7 +4843,7 @@ var KEYWORD_CLI_COMMANDS = [
4839
4843
  path: ["keyword", "add"],
4840
4844
  usage: "canonry keyword add <project> <kw...> [--format json]",
4841
4845
  run: async (input) => {
4842
- const { addKeywords } = await import("./keyword-OCDEXRSW.js");
4846
+ const { addKeywords } = await import("./keyword-EASMKYZ3.js");
4843
4847
  const project3 = requireProject(input, "keyword.add", "canonry keyword add <project> <kw...> [--format json]");
4844
4848
  const keywords = input.positionals.slice(1);
4845
4849
  if (keywords.length === 0) {
@@ -4858,7 +4862,7 @@ var KEYWORD_CLI_COMMANDS = [
4858
4862
  path: ["keyword", "replace"],
4859
4863
  usage: "canonry keyword replace <project> <kw...> [--format json]",
4860
4864
  run: async (input) => {
4861
- const { replaceKeywords } = await import("./keyword-OCDEXRSW.js");
4865
+ const { replaceKeywords } = await import("./keyword-EASMKYZ3.js");
4862
4866
  const project3 = requireProject(input, "keyword.replace", "canonry keyword replace <project> <kw...> [--format json]");
4863
4867
  const keywords = input.positionals.slice(1);
4864
4868
  if (keywords.length === 0) {
@@ -4877,7 +4881,7 @@ var KEYWORD_CLI_COMMANDS = [
4877
4881
  path: ["keyword", "remove"],
4878
4882
  usage: "canonry keyword remove <project> <kw...> [--format json]",
4879
4883
  run: async (input) => {
4880
- const { removeKeywords } = await import("./keyword-OCDEXRSW.js");
4884
+ const { removeKeywords } = await import("./keyword-EASMKYZ3.js");
4881
4885
  const project3 = requireProject(input, "keyword.remove", "canonry keyword remove <project> <kw...> [--format json]");
4882
4886
  const keywords = input.positionals.slice(1);
4883
4887
  if (keywords.length === 0) {
@@ -4896,7 +4900,7 @@ var KEYWORD_CLI_COMMANDS = [
4896
4900
  path: ["keyword", "delete"],
4897
4901
  usage: "canonry keyword delete <project> <kw...> [--format json]",
4898
4902
  run: async (input) => {
4899
- const { removeKeywords } = await import("./keyword-OCDEXRSW.js");
4903
+ const { removeKeywords } = await import("./keyword-EASMKYZ3.js");
4900
4904
  const project3 = requireProject(input, "keyword.delete", "canonry keyword delete <project> <kw...> [--format json]");
4901
4905
  const keywords = input.positionals.slice(1);
4902
4906
  if (keywords.length === 0) {
@@ -4915,7 +4919,7 @@ var KEYWORD_CLI_COMMANDS = [
4915
4919
  path: ["keyword", "list"],
4916
4920
  usage: "canonry keyword list <project> [--format json]",
4917
4921
  run: async (input) => {
4918
- const { listKeywords } = await import("./keyword-OCDEXRSW.js");
4922
+ const { listKeywords } = await import("./keyword-EASMKYZ3.js");
4919
4923
  const project3 = requireProject(input, "keyword.list", "canonry keyword list <project> [--format json]");
4920
4924
  await listKeywords(project3, input.format);
4921
4925
  }
@@ -4924,7 +4928,7 @@ var KEYWORD_CLI_COMMANDS = [
4924
4928
  path: ["keyword", "import"],
4925
4929
  usage: "canonry keyword import <project> <file> [--format json]",
4926
4930
  run: async (input) => {
4927
- const { importKeywords } = await import("./keyword-OCDEXRSW.js");
4931
+ const { importKeywords } = await import("./keyword-EASMKYZ3.js");
4928
4932
  const project3 = requireProject(input, "keyword.import", "canonry keyword import <project> <file> [--format json]");
4929
4933
  const filePath = requirePositional(input, 1, {
4930
4934
  command: "keyword.import",
@@ -4943,7 +4947,7 @@ var KEYWORD_CLI_COMMANDS = [
4943
4947
  save: { type: "boolean", default: false }
4944
4948
  },
4945
4949
  run: async (input) => {
4946
- const { generateKeywords } = await import("./keyword-OCDEXRSW.js");
4950
+ const { generateKeywords } = await import("./keyword-EASMKYZ3.js");
4947
4951
  const project3 = requireProject(
4948
4952
  input,
4949
4953
  "keyword.generate",
@@ -4984,7 +4988,7 @@ var QUERY_CLI_COMMANDS = [
4984
4988
  path: ["query", action],
4985
4989
  usage: `canonry query ${action} <project>${action === "workspace" ? "" : " <json|->"} [--format json]`,
4986
4990
  run: async (input) => {
4987
- const { runAdvancedMeasurementOperation: runAdvancedMeasurementOperation2 } = await import("./measurement-plan-Z42GBJBO.js");
4991
+ const { runAdvancedMeasurementOperation: runAdvancedMeasurementOperation2 } = await import("./measurement-plan-7FQKUOMR.js");
4988
4992
  const usage = `canonry query ${action} <project>${action === "workspace" ? "" : " <json|->"} [--format json]`;
4989
4993
  const project3 = requireProject(input, `query.${action}`, usage);
4990
4994
  const source = action === "workspace" ? void 0 : requirePositional(input, 1, {
@@ -4999,7 +5003,7 @@ var QUERY_CLI_COMMANDS = [
4999
5003
  path: ["query", "add"],
5000
5004
  usage: "canonry query add <project> <query...> [--format json]",
5001
5005
  run: async (input) => {
5002
- const { addQueries } = await import("./query-Y47IEFKJ.js");
5006
+ const { addQueries } = await import("./query-WAFJKDHG.js");
5003
5007
  const project3 = requireProject(input, "query.add", "canonry query add <project> <query...> [--format json]");
5004
5008
  const queries = input.positionals.slice(1);
5005
5009
  if (queries.length === 0) {
@@ -5019,7 +5023,7 @@ var QUERY_CLI_COMMANDS = [
5019
5023
  usage: "canonry query replace <project> <query...> [--dry-run] [--format json]",
5020
5024
  supportsDryRun: true,
5021
5025
  run: async (input) => {
5022
- const { replaceQueries } = await import("./query-Y47IEFKJ.js");
5026
+ const { replaceQueries } = await import("./query-WAFJKDHG.js");
5023
5027
  const project3 = requireProject(input, "query.replace", "canonry query replace <project> <query...> [--dry-run] [--format json]");
5024
5028
  const queries = input.positionals.slice(1);
5025
5029
  if (queries.length === 0) {
@@ -5038,7 +5042,7 @@ var QUERY_CLI_COMMANDS = [
5038
5042
  path: ["query", "remove"],
5039
5043
  usage: "canonry query remove <project> <query...> [--format json]",
5040
5044
  run: async (input) => {
5041
- const { removeQueries } = await import("./query-Y47IEFKJ.js");
5045
+ const { removeQueries } = await import("./query-WAFJKDHG.js");
5042
5046
  const project3 = requireProject(input, "query.remove", "canonry query remove <project> <query...> [--format json]");
5043
5047
  const queries = input.positionals.slice(1);
5044
5048
  if (queries.length === 0) {
@@ -5057,7 +5061,7 @@ var QUERY_CLI_COMMANDS = [
5057
5061
  path: ["query", "delete"],
5058
5062
  usage: "canonry query delete <project> <query...> [--format json]",
5059
5063
  run: async (input) => {
5060
- const { removeQueries } = await import("./query-Y47IEFKJ.js");
5064
+ const { removeQueries } = await import("./query-WAFJKDHG.js");
5061
5065
  const project3 = requireProject(input, "query.delete", "canonry query delete <project> <query...> [--format json]");
5062
5066
  const queries = input.positionals.slice(1);
5063
5067
  if (queries.length === 0) {
@@ -5076,7 +5080,7 @@ var QUERY_CLI_COMMANDS = [
5076
5080
  path: ["query", "list"],
5077
5081
  usage: "canonry query list <project> [--format json]",
5078
5082
  run: async (input) => {
5079
- const { listQueries } = await import("./query-Y47IEFKJ.js");
5083
+ const { listQueries } = await import("./query-WAFJKDHG.js");
5080
5084
  const project3 = requireProject(input, "query.list", "canonry query list <project> [--format json]");
5081
5085
  await listQueries(project3, input.format);
5082
5086
  }
@@ -5085,7 +5089,7 @@ var QUERY_CLI_COMMANDS = [
5085
5089
  path: ["query", "import"],
5086
5090
  usage: "canonry query import <project> <file> [--format json]",
5087
5091
  run: async (input) => {
5088
- const { importQueries } = await import("./query-Y47IEFKJ.js");
5092
+ const { importQueries } = await import("./query-WAFJKDHG.js");
5089
5093
  const project3 = requireProject(input, "query.import", "canonry query import <project> <file> [--format json]");
5090
5094
  const filePath = requirePositional(input, 1, {
5091
5095
  command: "query.import",
@@ -5104,7 +5108,7 @@ var QUERY_CLI_COMMANDS = [
5104
5108
  save: { type: "boolean", default: false }
5105
5109
  },
5106
5110
  run: async (input) => {
5107
- const { generateQueries } = await import("./query-Y47IEFKJ.js");
5111
+ const { generateQueries } = await import("./query-WAFJKDHG.js");
5108
5112
  const project3 = requireProject(
5109
5113
  input,
5110
5114
  "query.generate",
@@ -5146,7 +5150,7 @@ var MCP_CLI_COMMANDS = [
5146
5150
  path: ["mcp", "profile"],
5147
5151
  usage: "canonry mcp profile [--format json]",
5148
5152
  run: async (input) => {
5149
- const { showMcpProfile } = await import("./mcp-P725OHAJ.js");
5153
+ const { showMcpProfile } = await import("./mcp-ECVT2YGU.js");
5150
5154
  await showMcpProfile(input.format);
5151
5155
  }
5152
5156
  },
@@ -5162,7 +5166,7 @@ var MCP_CLI_COMMANDS = [
5162
5166
  "config-path": stringOption()
5163
5167
  },
5164
5168
  run: async (input) => {
5165
- const { installMcp } = await import("./mcp-P725OHAJ.js");
5169
+ const { installMcp } = await import("./mcp-ECVT2YGU.js");
5166
5170
  const usage = `canonry mcp install --client ${CLIENT_LIST} [--name <server>] [--read-only] [--dry-run] [--config-path <path>] [--format json]`;
5167
5171
  const client = requireStringOption(input, "client", {
5168
5172
  command: "mcp.install",
@@ -5189,7 +5193,7 @@ var MCP_CLI_COMMANDS = [
5189
5193
  "read-only": { type: "boolean" }
5190
5194
  },
5191
5195
  run: async (input) => {
5192
- const { printMcpConfig } = await import("./mcp-P725OHAJ.js");
5196
+ const { printMcpConfig } = await import("./mcp-ECVT2YGU.js");
5193
5197
  const usage = `canonry mcp config --client ${CLIENT_LIST} [--name <server>] [--read-only] [--format json]`;
5194
5198
  const client = requireStringOption(input, "client", {
5195
5199
  command: "mcp.config",
@@ -5225,7 +5229,7 @@ var NOTIFY_CLI_COMMANDS = [
5225
5229
  usage: "canonry notify events [--target local|server] [--format json|jsonl]",
5226
5230
  options: { target: stringOption() },
5227
5231
  run: async (input) => {
5228
- const { listEvents } = await import("./notify-E5JBES4I.js");
5232
+ const { listEvents } = await import("./notify-TC7ARC6W.js");
5229
5233
  await listEvents(input.format, getString(input.values, "target"));
5230
5234
  }
5231
5235
  },
@@ -5237,7 +5241,7 @@ var NOTIFY_CLI_COMMANDS = [
5237
5241
  events: stringOption()
5238
5242
  },
5239
5243
  run: async (input) => {
5240
- const { addNotification } = await import("./notify-E5JBES4I.js");
5244
+ const { addNotification } = await import("./notify-TC7ARC6W.js");
5241
5245
  const project3 = requireProject(input, "notify.add", "canonry notify add <project> --webhook <url> --events <list> [--format json]");
5242
5246
  const webhook = requireStringOption(input, "webhook", {
5243
5247
  command: "notify.add",
@@ -5260,7 +5264,7 @@ var NOTIFY_CLI_COMMANDS = [
5260
5264
  path: ["notify", "list"],
5261
5265
  usage: "canonry notify list <project> [--format json]",
5262
5266
  run: async (input) => {
5263
- const { listNotifications } = await import("./notify-E5JBES4I.js");
5267
+ const { listNotifications } = await import("./notify-TC7ARC6W.js");
5264
5268
  const project3 = requireProject(input, "notify.list", "canonry notify list <project> [--format json]");
5265
5269
  await listNotifications(project3, input.format);
5266
5270
  }
@@ -5269,7 +5273,7 @@ var NOTIFY_CLI_COMMANDS = [
5269
5273
  path: ["notify", "remove"],
5270
5274
  usage: "canonry notify remove <project> <id> [--format json]",
5271
5275
  run: async (input) => {
5272
- const { removeNotification } = await import("./notify-E5JBES4I.js");
5276
+ const { removeNotification } = await import("./notify-TC7ARC6W.js");
5273
5277
  const project3 = requireProject(input, "notify.remove", "canonry notify remove <project> <id> [--format json]");
5274
5278
  const id2 = requirePositional(input, 1, {
5275
5279
  command: "notify.remove",
@@ -5283,7 +5287,7 @@ var NOTIFY_CLI_COMMANDS = [
5283
5287
  path: ["notify", "test"],
5284
5288
  usage: "canonry notify test <project> <id> [--format json]",
5285
5289
  run: async (input) => {
5286
- const { testNotification } = await import("./notify-E5JBES4I.js");
5290
+ const { testNotification } = await import("./notify-TC7ARC6W.js");
5287
5291
  const project3 = requireProject(input, "notify.test", "canonry notify test <project> <id> [--format json]");
5288
5292
  const id2 = requirePositional(input, 1, {
5289
5293
  command: "notify.test",
@@ -5386,6 +5390,10 @@ Source Rankings (${data.window})`);
5386
5390
  console.log(`
5387
5391
  ${provider}: answered, but no answer named a source`);
5388
5392
  }
5393
+ for (const provider of data.providersCitationNotMeasured ?? []) {
5394
+ console.log(`
5395
+ ${provider}: citations not measured, the engine returns no sources`);
5396
+ }
5389
5397
  }
5390
5398
  }
5391
5399
  function describeScope(data) {
@@ -5399,6 +5407,9 @@ function describeScope(data) {
5399
5407
  if (data.unclassifiedAnswers) {
5400
5408
  parts.push(`${data.unclassifiedAnswers} unclassified ${data.unclassifiedAnswers === 1 ? "answer" : "answers"} excluded`);
5401
5409
  }
5410
+ if (data.citationNotMeasuredAnswers) {
5411
+ parts.push(`${data.citationNotMeasuredAnswers} ${data.citationNotMeasuredAnswers === 1 ? "answer" : "answers"} without sources excluded`);
5412
+ }
5402
5413
  return parts.length > 0 ? parts.join(" \xB7 ") : null;
5403
5414
  }
5404
5415
  function printSurfaceClasses(list) {
@@ -5447,7 +5458,7 @@ var OPERATOR_CLI_COMMANDS = [
5447
5458
  usage: RESULTS_CLEAR_USAGE,
5448
5459
  options: { run: multiStringOption(), "research-run": multiStringOption(), confirm: { type: "boolean", default: false } },
5449
5460
  run: async (input) => {
5450
- const { clearResults } = await import("./history-6MDRFPQ3.js");
5461
+ const { clearResults } = await import("./history-UTJTUDYK.js");
5451
5462
  await clearResults(requireProject(input, "results.clear", RESULTS_CLEAR_USAGE), {
5452
5463
  runIds: getStringArray(input.values, "run") ?? [],
5453
5464
  researchRunIds: getStringArray(input.values, "research-run") ?? [],
@@ -5466,7 +5477,7 @@ var OPERATOR_CLI_COMMANDS = [
5466
5477
  output: { type: "string", short: "o" }
5467
5478
  },
5468
5479
  run: async (input) => {
5469
- const { exportResults } = await import("./results-export-KBHOBQAH.js");
5480
+ const { exportResults } = await import("./results-export-NIZV6R3K.js");
5470
5481
  const project3 = requireProject(input, "results export", RESULTS_EXPORT_USAGE);
5471
5482
  await exportResults(project3, {
5472
5483
  format: parseResultsExportFormat(getString(input.values, "format")),
@@ -5482,7 +5493,7 @@ var OPERATOR_CLI_COMMANDS = [
5482
5493
  usage: "canonry status <project>|--all [--problems] [--format json|jsonl]",
5483
5494
  options: { all: { type: "boolean", default: false }, problems: { type: "boolean", default: false } },
5484
5495
  run: async (input) => {
5485
- const { showStatus } = await import("./status-SB6HPBYJ.js");
5496
+ const { showStatus } = await import("./status-OYG57DWU.js");
5486
5497
  const all = getBoolean(input.values, "all");
5487
5498
  const usage = "canonry status <project>|--all [--problems] [--format json|jsonl]";
5488
5499
  const project3 = all ? void 0 : requireProject(input, "status", usage);
@@ -5493,7 +5504,7 @@ var OPERATOR_CLI_COMMANDS = [
5493
5504
  path: ["evidence"],
5494
5505
  usage: "canonry evidence <project> [--format json]",
5495
5506
  run: async (input) => {
5496
- const { showEvidence } = await import("./evidence-247GL7UK.js");
5507
+ const { showEvidence } = await import("./evidence-MYQTCY4V.js");
5497
5508
  const project3 = requireProject(input, "evidence", "canonry evidence <project> [--format json]");
5498
5509
  await showEvidence(project3, input.format);
5499
5510
  }
@@ -5515,7 +5526,7 @@ var OPERATOR_CLI_COMMANDS = [
5515
5526
  "entity-type": stringOption()
5516
5527
  },
5517
5528
  run: async (input) => {
5518
- const { showHistory } = await import("./history-6MDRFPQ3.js");
5529
+ const { showHistory } = await import("./history-UTJTUDYK.js");
5519
5530
  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]";
5520
5531
  if (getBoolean(input.values, "all") && input.positionals.length > 0) throw usageError("Use a project or --all, not both.");
5521
5532
  const project3 = getBoolean(input.values, "all") ? void 0 : requireProject(input, "history", usage);
@@ -5541,7 +5552,7 @@ var OPERATOR_CLI_COMMANDS = [
5541
5552
  "include-secrets": { type: "boolean", default: false }
5542
5553
  },
5543
5554
  run: async (input) => {
5544
- const { exportProject } = await import("./export-cmd-HLKWFI5Q.js");
5555
+ const { exportProject } = await import("./export-cmd-3SUFOJM6.js");
5545
5556
  const project3 = requireProject(input, "export", "canonry export <project> [--include-results] [--include-secrets] [--format json]");
5546
5557
  await exportProject(project3, {
5547
5558
  includeResults: getBoolean(input.values, "include-results"),
@@ -5560,7 +5571,7 @@ var OPERATOR_CLI_COMMANDS = [
5560
5571
  "query-class": stringOption()
5561
5572
  },
5562
5573
  run: async (input) => {
5563
- const { ANALYTICS_USAGE, parseAnalyticsQueryClass, showAnalytics } = await import("./analytics-GHVG5CCT.js");
5574
+ const { ANALYTICS_USAGE, parseAnalyticsQueryClass, showAnalytics } = await import("./analytics-EJVOLIQL.js");
5564
5575
  const project3 = requireProject(input, "analytics", ANALYTICS_USAGE);
5565
5576
  await showAnalytics(project3, {
5566
5577
  feature: getString(input.values, "feature"),
@@ -5607,7 +5618,7 @@ var OPERATOR_CLI_COMMANDS = [
5607
5618
  usage: "canonry apply <file...> [--dry-run] [--format json]",
5608
5619
  supportsDryRun: true,
5609
5620
  run: async (input) => {
5610
- const { applyConfigs } = await import("./apply-7YLB2DPH.js");
5621
+ const { applyConfigs } = await import("./apply-I6JOM247.js");
5611
5622
  if (input.positionals.length === 0) {
5612
5623
  throw usageError("Error: at least one file path is required\nUsage: canonry apply <file...> [--format json]", {
5613
5624
  message: "at least one file path is required",
@@ -5627,7 +5638,7 @@ var PROJECT_CLI_COMMANDS = [
5627
5638
  {
5628
5639
  path: ["project", "create"],
5629
5640
  usage: "canonry project create <name> [--domain <domain>] [--owned-domain <domain>...] [--alias <name>...] [--qualified-alias <name>...] [--country <code>] [--language <lang>] [--display-name <name>] [--provider <name>...] [--provider-model provider=model...] [--dispatch-mode provider=sync|batch...] [--site-audit-max-pages <1-50000|full>] [--format json]",
5630
- help: "Create a project. Pass --domain for the public site to scan. Provider credentials are not required for Page Health.",
5641
+ help: 'Create a project. Pass --domain for the public site to scan; without --display-name, the brand name comes from the domain ("summit-roofing.com" gives "Summit Roofing"). Provider credentials are not required for Agent Readiness.',
5631
5642
  options: {
5632
5643
  domain: { type: "string", short: "d" },
5633
5644
  "owned-domain": multiStringOption(),
@@ -5642,20 +5653,22 @@ var PROJECT_CLI_COMMANDS = [
5642
5653
  "site-audit-max-pages": stringOption()
5643
5654
  },
5644
5655
  run: async (input) => {
5645
- const { createProject } = await import("./project-2ULM64TV.js");
5656
+ const { createProject } = await import("./project-WZ2YXFPJ.js");
5646
5657
  const name = requireProject(
5647
5658
  input,
5648
5659
  "project.create",
5649
5660
  "canonry project create <name> [--domain <domain>] [--owned-domain <domain>...] [--alias <name>...] [--qualified-alias <name>...] [--country <code>] [--language <lang>] [--display-name <name>] [--provider <name>...] [--provider-model provider=model...] [--dispatch-mode provider=sync|batch...] [--site-audit-max-pages <1-50000|full>] [--format json]"
5650
5661
  );
5662
+ const domain = getString(input.values, "domain");
5651
5663
  await createProject(name, {
5652
- domain: getString(input.values, "domain") ?? name,
5664
+ domain: domain ?? name,
5653
5665
  ownedDomains: getStringArray(input.values, "owned-domain") ?? [],
5654
5666
  aliases: getStringArray(input.values, "alias") ?? [],
5655
5667
  qualifiedAliases: getStringArray(input.values, "qualified-alias") ?? [],
5656
5668
  country: getString(input.values, "country") ?? "US",
5657
5669
  language: getString(input.values, "language") ?? "en",
5658
- displayName: getString(input.values, "display-name") ?? name,
5670
+ // As in dashboard setup, a site's brand name comes from its domain ("summit-roofing.com" gives "Summit Roofing").
5671
+ displayName: getString(input.values, "display-name") ?? (domain ? suggestedBrandName(domain) : name),
5659
5672
  providers: getStringArray(input.values, "provider") ?? [],
5660
5673
  providerModels: parseProviderModelAssignments(getStringArray(input.values, "provider-model")),
5661
5674
  providerDispatchModes: parseDispatchModeAssignments(getStringArray(input.values, "dispatch-mode")),
@@ -5705,7 +5718,7 @@ var PROJECT_CLI_COMMANDS = [
5705
5718
  "remove-marketing-host": multiStringOption()
5706
5719
  },
5707
5720
  run: async (input) => {
5708
- const { updateProjectSettings } = await import("./project-2ULM64TV.js");
5721
+ const { updateProjectSettings } = await import("./project-WZ2YXFPJ.js");
5709
5722
  const name = requireProject(
5710
5723
  input,
5711
5724
  "project.update",
@@ -5762,7 +5775,7 @@ var PROJECT_CLI_COMMANDS = [
5762
5775
  usage: "canonry project list [--format json]",
5763
5776
  allowPositionals: false,
5764
5777
  run: async (input) => {
5765
- const { listProjects } = await import("./project-2ULM64TV.js");
5778
+ const { listProjects } = await import("./project-WZ2YXFPJ.js");
5766
5779
  await listProjects(input.format);
5767
5780
  }
5768
5781
  },
@@ -5770,17 +5783,28 @@ var PROJECT_CLI_COMMANDS = [
5770
5783
  path: ["project", "show"],
5771
5784
  usage: "canonry project show <name> [--format json]",
5772
5785
  run: async (input) => {
5773
- const { showProject } = await import("./project-2ULM64TV.js");
5786
+ const { showProject } = await import("./project-WZ2YXFPJ.js");
5774
5787
  const name = requireProject(input, "project.show", "canonry project show <name>");
5775
5788
  await showProject(name, input.format);
5776
5789
  }
5777
5790
  },
5791
+ {
5792
+ path: ["project", "setup"],
5793
+ usage: "canonry project setup <project> [--format json]",
5794
+ access: OperationAccesses.stored,
5795
+ help: "Show first-run setup: the Agent Readiness audit scan and the AI Visibility check, each with its latest run, and the next step the server suggests. Stored reads only: no provider calls or crawls. JSON is the API response.",
5796
+ run: async (input) => {
5797
+ const { showProjectSetup } = await import("./project-setup-WV6SPGIV.js");
5798
+ const name = requireProject(input, "project.setup", "canonry project setup <project> [--format json]");
5799
+ await showProjectSetup(name, input.format);
5800
+ }
5801
+ },
5778
5802
  {
5779
5803
  path: ["project", "delete"],
5780
5804
  usage: "canonry project delete <name> [--dry-run] [--format json]",
5781
5805
  supportsDryRun: true,
5782
5806
  run: async (input) => {
5783
- const { deleteProject } = await import("./project-2ULM64TV.js");
5807
+ const { deleteProject } = await import("./project-WZ2YXFPJ.js");
5784
5808
  const name = requireProject(input, "project.delete", "canonry project delete <name> [--dry-run] [--format json]");
5785
5809
  await deleteProject(name, { dryRun: input.dryRun, format: input.format });
5786
5810
  }
@@ -5796,7 +5820,7 @@ var PROJECT_CLI_COMMANDS = [
5796
5820
  timezone: stringOption()
5797
5821
  },
5798
5822
  run: async (input) => {
5799
- const { addLocation } = await import("./project-2ULM64TV.js");
5823
+ const { addLocation } = await import("./project-WZ2YXFPJ.js");
5800
5824
  const name = requireProject(
5801
5825
  input,
5802
5826
  "project.add-location",
@@ -5830,7 +5854,7 @@ var PROJECT_CLI_COMMANDS = [
5830
5854
  path: ["project", "locations"],
5831
5855
  usage: "canonry project locations <name> [--format json]",
5832
5856
  run: async (input) => {
5833
- const { listLocations } = await import("./project-2ULM64TV.js");
5857
+ const { listLocations } = await import("./project-WZ2YXFPJ.js");
5834
5858
  const name = requireProject(input, "project.locations", "canonry project locations <name> [--format json]");
5835
5859
  await listLocations(name, input.format);
5836
5860
  }
@@ -5839,7 +5863,7 @@ var PROJECT_CLI_COMMANDS = [
5839
5863
  path: ["project", "remove-location"],
5840
5864
  usage: "canonry project remove-location <name> <label> [--format json]",
5841
5865
  run: async (input) => {
5842
- const { removeLocation } = await import("./project-2ULM64TV.js");
5866
+ const { removeLocation } = await import("./project-WZ2YXFPJ.js");
5843
5867
  const name = requireProject(input, "project.remove-location", "canonry project remove-location <name> <label> [--format json]");
5844
5868
  const label = requirePositional(input, 1, {
5845
5869
  command: "project.remove-location",
@@ -5853,7 +5877,7 @@ var PROJECT_CLI_COMMANDS = [
5853
5877
  path: ["project", "set-default-location"],
5854
5878
  usage: "canonry project set-default-location <name> <label> [--format json]",
5855
5879
  run: async (input) => {
5856
- const { setDefaultLocation } = await import("./project-2ULM64TV.js");
5880
+ const { setDefaultLocation } = await import("./project-WZ2YXFPJ.js");
5857
5881
  const name = requireProject(input, "project.set-default-location", "canonry project set-default-location <name> <label> [--format json]");
5858
5882
  const label = requirePositional(input, 1, {
5859
5883
  command: "project.set-default-location",
@@ -5865,12 +5889,12 @@ var PROJECT_CLI_COMMANDS = [
5865
5889
  },
5866
5890
  {
5867
5891
  path: ["project"],
5868
- usage: "canonry project <create|update|list|show|delete|add-location|locations|remove-location|set-default-location> [args]",
5892
+ usage: "canonry project <create|update|list|show|setup|delete|add-location|locations|remove-location|set-default-location> [args]",
5869
5893
  run: async (input) => {
5870
5894
  unknownSubcommand(input.positionals[0], {
5871
5895
  command: "project",
5872
- usage: "canonry project <create|update|list|show|delete|add-location|locations|remove-location|set-default-location> [args]",
5873
- available: ["create", "update", "list", "show", "delete", "add-location", "locations", "remove-location", "set-default-location"]
5896
+ usage: "canonry project <create|update|list|show|setup|delete|add-location|locations|remove-location|set-default-location> [args]",
5897
+ available: ["create", "update", "list", "show", "setup", "delete", "add-location", "locations", "remove-location", "set-default-location"]
5874
5898
  });
5875
5899
  }
5876
5900
  }
@@ -5984,7 +6008,7 @@ var ORGANIC_EVIDENCE_CLI_COMMANDS = [
5984
6008
  usage: USAGE3,
5985
6009
  options: { period: stringOption() },
5986
6010
  run: async (input) => {
5987
- const { showOrganicEvidence } = await import("./organic-evidence-CUA3T64O.js");
6011
+ const { showOrganicEvidence } = await import("./organic-evidence-M34MWJXE.js");
5988
6012
  const project3 = requireProject(input, "organic-evidence", USAGE3);
5989
6013
  await showOrganicEvidence(project3, {
5990
6014
  period: parsePeriod(getString(input.values, "window") ?? getString(input.values, "period")),
@@ -6009,7 +6033,7 @@ var RUN_LIST_OPTIONS = {
6009
6033
  since: stringOption()
6010
6034
  };
6011
6035
  async function listRunsCommand(input) {
6012
- const { listRuns } = await import("./run-4CYHVIIU.js");
6036
+ const { listRuns } = await import("./run-ICLPZ7QT.js");
6013
6037
  const project3 = requireProject(input, "runs", RUNS_USAGE);
6014
6038
  await listRuns(project3, {
6015
6039
  format: input.format,
@@ -6055,7 +6079,7 @@ function parseDispatchMode(value, command, usage) {
6055
6079
  });
6056
6080
  }
6057
6081
  async function triggerRunCommand(input, command) {
6058
- const { triggerRun, triggerRunAll } = await import("./run-4CYHVIIU.js");
6082
+ const { triggerRun, triggerRunAll } = await import("./run-ICLPZ7QT.js");
6059
6083
  const groups = getStringArray(input.values, "group") ?? [];
6060
6084
  const targets = getStringArray(input.values, "target") ?? [];
6061
6085
  const queries = getStringArray(input.values, "query") ?? [];
@@ -6125,11 +6149,21 @@ async function triggerRunCommand(input, command) {
6125
6149
  });
6126
6150
  }
6127
6151
  var RUN_CLI_COMMANDS = [
6152
+ {
6153
+ path: ["run", "preview"],
6154
+ usage: "canonry run preview <project> [--format json]",
6155
+ access: "stored",
6156
+ help: "Preview the next full manual sweep using saved project defaults. Makes no provider calls. Does not preview scoped or forced launches.",
6157
+ run: async (input) => {
6158
+ const { previewRun } = await import("./run-ICLPZ7QT.js");
6159
+ await previewRun(requireProject(input, "run.preview", "canonry run preview <project> [--format json]"), input.format);
6160
+ }
6161
+ },
6128
6162
  {
6129
6163
  path: ["run", "show"],
6130
6164
  usage: "canonry run show <id> [--format json]",
6131
6165
  run: async (input) => {
6132
- const { showRun } = await import("./run-4CYHVIIU.js");
6166
+ const { showRun } = await import("./run-ICLPZ7QT.js");
6133
6167
  const id2 = requirePositional(input, 0, {
6134
6168
  command: "run.show",
6135
6169
  usage: "canonry run show <id> [--format json]",
@@ -6147,7 +6181,7 @@ var RUN_CLI_COMMANDS = [
6147
6181
  },
6148
6182
  supportsDryRun: true,
6149
6183
  run: async (input) => {
6150
- const { fillRun } = await import("./run-4CYHVIIU.js");
6184
+ const { fillRun } = await import("./run-ICLPZ7QT.js");
6151
6185
  if (input.positionals.length === 0 && !input.dryRun) return triggerRunCommand({ ...input, positionals: ["fill"] }, "run");
6152
6186
  const runId = requirePositional(input, 0, {
6153
6187
  command: "run.fill",
@@ -6167,7 +6201,7 @@ var RUN_CLI_COMMANDS = [
6167
6201
  path: ["run", "completeness"],
6168
6202
  usage: "canonry run completeness <run-id> [--format json]",
6169
6203
  run: async (input) => {
6170
- const { showRunCompleteness } = await import("./run-4CYHVIIU.js");
6204
+ const { showRunCompleteness } = await import("./run-ICLPZ7QT.js");
6171
6205
  if (input.positionals.length === 0) return triggerRunCommand({ ...input, positionals: ["completeness"] }, "run");
6172
6206
  const runId = requirePositional(input, 0, {
6173
6207
  command: "run.completeness",
@@ -6181,7 +6215,7 @@ var RUN_CLI_COMMANDS = [
6181
6215
  path: ["run", "cancel"],
6182
6216
  usage: "canonry run cancel <project> [run-id] [--format json]",
6183
6217
  run: async (input) => {
6184
- const { cancelRun } = await import("./run-4CYHVIIU.js");
6218
+ const { cancelRun } = await import("./run-ICLPZ7QT.js");
6185
6219
  const project3 = requireProject(input, "run.cancel", "canonry run cancel <project> [run-id] [--format json]");
6186
6220
  await cancelRun(project3, input.positionals[1], input.format);
6187
6221
  }
@@ -6228,10 +6262,29 @@ var SCHEDULE_CLI_COMMANDS = [
6228
6262
  path: ["schedule", "list"],
6229
6263
  usage: "canonry schedule list <project> [--format json|jsonl]",
6230
6264
  run: async (input) => {
6231
- const { listSchedules } = await import("./schedule-GY4P3RON.js");
6265
+ const { listSchedules } = await import("./schedule-4C44LQ7R.js");
6232
6266
  await listSchedules(requireProject(input, "schedule.list", "canonry schedule list <project>"), input.format);
6233
6267
  }
6234
6268
  },
6269
+ {
6270
+ path: ["schedule", "preview"],
6271
+ usage: "canonry schedule preview <project> (--preset <preset> | --cron <expr> | --every-days <n> --start-date <YYYY-MM-DD> --at <HH:mm>) [--timezone <tz>] [--format json]",
6272
+ help: "Preview the next occurrence without saving a schedule or starting work. Defaults to UTC when --timezone is omitted.",
6273
+ options: { preset: stringOption(), cron: stringOption(), "every-days": stringOption(), "start-date": stringOption(), at: stringOption(), timezone: stringOption() },
6274
+ run: async (input) => {
6275
+ const { previewSchedule } = await import("./schedule-4C44LQ7R.js");
6276
+ const project3 = requireProject(input, "schedule.preview", "canonry schedule preview <project> --preset <preset> [--timezone <tz>]");
6277
+ const everyDays = getString(input.values, "every-days");
6278
+ const startDate = getString(input.values, "start-date");
6279
+ const at = getString(input.values, "at");
6280
+ await previewSchedule(project3, {
6281
+ preset: getString(input.values, "preset"),
6282
+ cron: getString(input.values, "cron"),
6283
+ timezone: getString(input.values, "timezone"),
6284
+ ...[everyDays, startDate, at].some((value) => value !== void 0) ? { recurrence: { everyDays: Number(everyDays), startDate: startDate ?? "", time: at ?? "" } } : {}
6285
+ }, input.format);
6286
+ }
6287
+ },
6235
6288
  {
6236
6289
  path: ["schedule", "set"],
6237
6290
  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>...] [--check-dead-links] [--include-geo] [--no-agent-skills] [--default-checks] [--format json]",
@@ -6255,7 +6308,7 @@ var SCHEDULE_CLI_COMMANDS = [
6255
6308
  "default-checks": { type: "boolean", default: false }
6256
6309
  },
6257
6310
  run: async (input) => {
6258
- const { setSchedule } = await import("./schedule-GY4P3RON.js");
6311
+ const { setSchedule } = await import("./schedule-4C44LQ7R.js");
6259
6312
  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>...] [--check-dead-links] [--include-geo] [--no-agent-skills] [--default-checks] [--format json]";
6260
6313
  const project3 = requireProject(input, "schedule.set", usage);
6261
6314
  const preset = getString(input.values, "preset");
@@ -6316,7 +6369,7 @@ var SCHEDULE_CLI_COMMANDS = [
6316
6369
  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]",
6317
6370
  options: { kind: stringOption() },
6318
6371
  run: async (input) => {
6319
- const { showSchedule } = await import("./schedule-GY4P3RON.js");
6372
+ const { showSchedule } = await import("./schedule-4C44LQ7R.js");
6320
6373
  const project3 = requireProject(input, "schedule.show", "canonry schedule show <project> [--kind ...]");
6321
6374
  await showSchedule(project3, input.format, getString(input.values, "kind"));
6322
6375
  }
@@ -6326,7 +6379,7 @@ var SCHEDULE_CLI_COMMANDS = [
6326
6379
  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]",
6327
6380
  options: { kind: stringOption() },
6328
6381
  run: async (input) => {
6329
- const { enableSchedule } = await import("./schedule-GY4P3RON.js");
6382
+ const { enableSchedule } = await import("./schedule-4C44LQ7R.js");
6330
6383
  const project3 = requireProject(input, "schedule.enable", "canonry schedule enable <project> [--kind ...]");
6331
6384
  await enableSchedule(project3, input.format, getString(input.values, "kind"));
6332
6385
  }
@@ -6336,7 +6389,7 @@ var SCHEDULE_CLI_COMMANDS = [
6336
6389
  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]",
6337
6390
  options: { kind: stringOption() },
6338
6391
  run: async (input) => {
6339
- const { disableSchedule } = await import("./schedule-GY4P3RON.js");
6392
+ const { disableSchedule } = await import("./schedule-4C44LQ7R.js");
6340
6393
  const project3 = requireProject(input, "schedule.disable", "canonry schedule disable <project> [--kind ...]");
6341
6394
  await disableSchedule(project3, input.format, getString(input.values, "kind"));
6342
6395
  }
@@ -6346,50 +6399,93 @@ var SCHEDULE_CLI_COMMANDS = [
6346
6399
  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]",
6347
6400
  options: { kind: stringOption() },
6348
6401
  run: async (input) => {
6349
- const { removeSchedule } = await import("./schedule-GY4P3RON.js");
6402
+ const { removeSchedule } = await import("./schedule-4C44LQ7R.js");
6350
6403
  const project3 = requireProject(input, "schedule.remove", "canonry schedule remove <project> [--kind ...]");
6351
6404
  await removeSchedule(project3, input.format, getString(input.values, "kind"));
6352
6405
  }
6353
6406
  },
6354
6407
  {
6355
6408
  path: ["schedule"],
6356
- usage: "canonry schedule <list|set|show|enable|disable|remove> <project>",
6409
+ usage: "canonry schedule <list|preview|set|show|enable|disable|remove> <project>",
6357
6410
  run: async (input) => {
6358
6411
  unknownSubcommand(input.positionals[0], {
6359
6412
  command: "schedule",
6360
- usage: "canonry schedule <list|set|show|enable|disable|remove> <project>",
6361
- available: ["list", "set", "show", "enable", "disable", "remove"]
6413
+ usage: "canonry schedule <list|preview|set|show|enable|disable|remove> <project>",
6414
+ available: ["list", "preview", "set", "show", "enable", "disable", "remove"]
6362
6415
  });
6363
6416
  }
6364
6417
  }
6365
6418
  ];
6366
6419
 
6367
6420
  // src/cli-commands/settings.ts
6421
+ var PROVIDER_USAGE = "canonry settings provider <name> [--api-key <key>] [--base-url <url> | --reset-base-url] [--model <model> | --reset-model] [--remove-key] [--max-concurrent <n>] [--max-per-minute <n>] [--max-per-day <n>] [--reset-quota <field>] [--reset-limits] [--if-revision <revision>] [--format json]";
6422
+ var PROVIDER_TEST_USAGE = "canonry settings provider test <name> [--format json]";
6368
6423
  var SETTINGS_CLI_COMMANDS = [
6424
+ {
6425
+ path: ["settings", "provider-info"],
6426
+ usage: "canonry settings provider-info <name> [--format json]",
6427
+ run: async (input) => {
6428
+ const { showProviderSettings } = await import("./settings-BOF5Z7ML.js");
6429
+ const name = requirePositional(input, 0, { command: "settings.provider-info", usage: "canonry settings provider-info <name> [--format json]", message: "provider name is required" });
6430
+ await showProviderSettings(name, input.format);
6431
+ }
6432
+ },
6433
+ {
6434
+ path: ["settings", "disconnect-provider"],
6435
+ usage: "canonry settings disconnect-provider <name> [--confirm] [--if-impact-revision <revision>] [--format json]",
6436
+ options: { confirm: { type: "boolean" }, "if-impact-revision": stringOption() },
6437
+ accessFor: ({ values }) => getBoolean(values, "confirm") ? OperationAccesses.write : OperationAccesses.stored,
6438
+ run: async (input) => {
6439
+ const { disconnectProvider } = await import("./settings-BOF5Z7ML.js");
6440
+ const name = requirePositional(input, 0, { command: "settings.disconnect-provider", usage: "canonry settings disconnect-provider <name> [--confirm] [--format json]", message: "provider name is required" });
6441
+ await disconnectProvider(name, { confirm: getBoolean(input.values, "confirm"), expectedImpactRevision: getString(input.values, "if-impact-revision"), format: input.format });
6442
+ }
6443
+ },
6369
6444
  {
6370
6445
  path: ["settings", "reload-providers"],
6371
6446
  usage: "canonry settings reload-providers [--format json]",
6372
6447
  run: async (input) => {
6373
- const { reloadProviders } = await import("./settings-HUKMWRHY.js");
6448
+ const { reloadProviders } = await import("./settings-BOF5Z7ML.js");
6374
6449
  return reloadProviders(input.format);
6375
6450
  }
6376
6451
  },
6452
+ {
6453
+ // Longer than `settings provider <name>`, so dispatch picks it for `provider test`.
6454
+ path: ["settings", "provider", "test"],
6455
+ usage: PROVIDER_TEST_USAGE,
6456
+ help: "Checks the saved connection with the provider now and changes no settings. Most answer engines answer one tiny prompt on your provider account; Local lists its models; OpenRouter reads its key. Exit 0: connected, or saved but not verifiable for free. Exit 2: the provider refused the settings or did not answer. Exit 1: unknown or unconfigured provider.",
6457
+ run: async (input) => {
6458
+ const { testProvider } = await import("./settings-BOF5Z7ML.js");
6459
+ const name = requirePositional(input, 0, {
6460
+ command: "settings.provider.test",
6461
+ usage: PROVIDER_TEST_USAGE,
6462
+ message: "provider name is required (e.g. gemini, openai, claude, perplexity, muse, local, openrouter)"
6463
+ });
6464
+ await testProvider(name, input.format);
6465
+ }
6466
+ },
6377
6467
  {
6378
6468
  path: ["settings", "provider"],
6379
- 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]",
6469
+ usage: PROVIDER_USAGE,
6380
6470
  options: {
6381
6471
  "api-key": stringOption(),
6382
6472
  "base-url": stringOption(),
6383
6473
  model: stringOption(),
6384
6474
  "max-concurrent": stringOption(),
6385
6475
  "max-per-minute": stringOption(),
6386
- "max-per-day": stringOption()
6476
+ "max-per-day": stringOption(),
6477
+ "reset-model": { type: "boolean" },
6478
+ "reset-base-url": { type: "boolean" },
6479
+ "remove-key": { type: "boolean" },
6480
+ "reset-limits": { type: "boolean" },
6481
+ "reset-quota": multiStringOption(),
6482
+ "if-revision": stringOption()
6387
6483
  },
6388
6484
  run: async (input) => {
6389
- const { setProvider } = await import("./settings-HUKMWRHY.js");
6485
+ const { setProvider } = await import("./settings-BOF5Z7ML.js");
6390
6486
  const name = requirePositional(input, 0, {
6391
6487
  command: "settings.provider",
6392
- 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]",
6488
+ usage: PROVIDER_USAGE,
6393
6489
  message: "provider name is required (e.g. gemini, openai, claude, perplexity, muse, local)"
6394
6490
  });
6395
6491
  const apiKey = getString(input.values, "api-key");
@@ -6397,60 +6493,46 @@ var SETTINGS_CLI_COMMANDS = [
6397
6493
  const model = getString(input.values, "model");
6398
6494
  const maxConcurrency = parseIntegerOption(input, "max-concurrent", {
6399
6495
  command: "settings.provider",
6400
- 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]",
6496
+ usage: PROVIDER_USAGE,
6401
6497
  message: "--max-concurrent must be an integer"
6402
6498
  });
6403
6499
  const maxRequestsPerMinute = parseIntegerOption(input, "max-per-minute", {
6404
6500
  command: "settings.provider",
6405
- 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]",
6501
+ usage: PROVIDER_USAGE,
6406
6502
  message: "--max-per-minute must be an integer"
6407
6503
  });
6408
6504
  const maxRequestsPerDay = parseIntegerOption(input, "max-per-day", {
6409
6505
  command: "settings.provider",
6410
- 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]",
6506
+ usage: PROVIDER_USAGE,
6411
6507
  message: "--max-per-day must be an integer"
6412
6508
  });
6413
- const hasNonCredentialEdit = Boolean(model) || maxConcurrency != null || maxRequestsPerMinute != null || maxRequestsPerDay != null;
6414
- if (name === "local") {
6415
- if (!baseUrl && !hasNonCredentialEdit) {
6416
- throw usageError(
6417
- "Error: --base-url is required for the local provider\nUsage: canonry settings provider local --base-url <url> [--api-key <key>] [--model <model>] [--max-concurrent <n>] [--max-per-minute <n>] [--max-per-day <n>] [--format json]",
6418
- {
6419
- message: "--base-url is required for the local provider",
6420
- details: {
6421
- command: "settings.provider",
6422
- usage: "canonry settings provider local --base-url <url> [--api-key <key>] [--model <model>] [--max-concurrent <n>] [--max-per-minute <n>] [--max-per-day <n>] [--format json]",
6423
- required: ["base-url"]
6424
- }
6425
- }
6426
- );
6427
- }
6428
- } else if (!apiKey && !baseUrl && !hasNonCredentialEdit) {
6429
- throw usageError(
6430
- `Error: --api-key is required
6431
- Usage: canonry settings provider ${name} --api-key <key> [--model <model>] [--max-concurrent <n>] [--max-per-minute <n>] [--max-per-day <n>] [--format json]`,
6432
- {
6433
- message: "--api-key is required",
6434
- details: {
6435
- command: "settings.provider",
6436
- usage: `canonry settings provider ${name} --api-key <key> [--model <model>] [--max-concurrent <n>] [--max-per-minute <n>] [--max-per-day <n>] [--format json]`,
6437
- required: ["api-key"]
6438
- }
6439
- }
6440
- );
6441
- }
6442
6509
  const quota = maxConcurrency != null || maxRequestsPerMinute != null || maxRequestsPerDay != null ? {
6443
6510
  ...maxConcurrency != null ? { maxConcurrency } : {},
6444
6511
  ...maxRequestsPerMinute != null ? { maxRequestsPerMinute } : {},
6445
6512
  ...maxRequestsPerDay != null ? { maxRequestsPerDay } : {}
6446
6513
  } : void 0;
6447
- await setProvider(name, {
6448
- apiKey,
6449
- baseUrl,
6450
- model,
6451
- quota,
6452
- format: input.format
6453
- });
6514
+ const resetQuota = getBoolean(input.values, "reset-limits") ? Object.values(ProviderQuotaFields) : getStringArray(input.values, "reset-quota");
6515
+ const resetModel = getBoolean(input.values, "reset-model");
6516
+ const removeKey = getBoolean(input.values, "remove-key");
6517
+ const resetBaseUrl = getBoolean(input.values, "reset-base-url");
6518
+ const reset = resetModel || removeKey || resetQuota || resetBaseUrl ? { ...resetBaseUrl ? { baseUrl: true } : {}, ...resetModel ? { model: true } : {}, ...removeKey ? { apiKey: true } : {}, ...resetQuota ? { quota: resetQuota } : {} } : void 0;
6519
+ const mutation = { apiKey, baseUrl, model, quota, reset };
6520
+ if (Object.values(mutation).every((value) => value === void 0)) {
6521
+ const required = name === ProviderNames.local ? "base-url" : "api-key";
6522
+ const message = required === "base-url" ? "--base-url is required for the local provider" : "--api-key is required";
6523
+ throw usageError(`Error: ${message}
6524
+ Usage: ${PROVIDER_USAGE}`, {
6525
+ message,
6526
+ details: { command: "settings.provider", usage: PROVIDER_USAGE, required: [required] }
6527
+ });
6528
+ }
6529
+ const parsed = providerSettingsUpdateRequestSchema.safeParse({ ...mutation, expectedRevision: getString(input.values, "if-revision") });
6530
+ if (!parsed.success) {
6531
+ const message = parsed.error.issues.map((issue) => issue.message).join("; ");
6532
+ throw usageError(`Error: ${message}
6533
+ Usage: ${PROVIDER_USAGE}`, { message, details: { command: "settings.provider", usage: PROVIDER_USAGE } });
6534
+ }
6535
+ await setProvider(name, { ...parsed.data, format: input.format });
6454
6536
  }
6455
6537
  },
6456
6538
  {
@@ -6462,7 +6544,7 @@ Usage: canonry settings provider ${name} --api-key <key> [--model <model>] [--ma
6462
6544
  target: stringOption()
6463
6545
  },
6464
6546
  run: async (input) => {
6465
- const { setGoogleAuth } = await import("./settings-HUKMWRHY.js");
6547
+ const { setGoogleAuth } = await import("./settings-BOF5Z7ML.js");
6466
6548
  const clientId = getString(input.values, "client-id");
6467
6549
  const clientSecret = getString(input.values, "client-secret");
6468
6550
  if (!clientId || !clientSecret) {
@@ -6503,9 +6585,9 @@ Usage: canonry settings provider ${name} --api-key <key> [--model <model>] [--ma
6503
6585
  },
6504
6586
  {
6505
6587
  path: ["settings"],
6506
- usage: "canonry settings [provider|reload-providers|google] [args]",
6588
+ usage: "canonry settings [provider|provider-info|disconnect-provider|reload-providers|google] [args]",
6507
6589
  run: async (input) => {
6508
- const { showSettings } = await import("./settings-HUKMWRHY.js");
6590
+ const { showSettings } = await import("./settings-BOF5Z7ML.js");
6509
6591
  const subcommand = input.positionals[0];
6510
6592
  if (!subcommand) {
6511
6593
  await showSettings(input.format);
@@ -6513,8 +6595,8 @@ Usage: canonry settings provider ${name} --api-key <key> [--model <model>] [--ma
6513
6595
  }
6514
6596
  unknownSubcommand(subcommand, {
6515
6597
  command: "settings",
6516
- usage: "canonry settings [provider|reload-providers|google] [args]",
6517
- available: ["provider", "reload-providers", "google"]
6598
+ usage: "canonry settings [provider|provider-info|disconnect-provider|reload-providers|google] [args]",
6599
+ available: ["provider", "provider-info", "disconnect-provider", "reload-providers", "google"]
6518
6600
  });
6519
6601
  }
6520
6602
  }
@@ -6526,7 +6608,7 @@ var SKILLS_CLI_COMMANDS = [
6526
6608
  path: ["skills", "list"],
6527
6609
  usage: "canonry skills list [--format json]",
6528
6610
  run: async (input) => {
6529
- const { listSkills } = await import("./skills-4BUONEIZ.js");
6611
+ const { listSkills } = await import("./skills-X5SR4HRO.js");
6530
6612
  await listSkills({ format: input.format });
6531
6613
  }
6532
6614
  },
@@ -6541,7 +6623,7 @@ var SKILLS_CLI_COMMANDS = [
6541
6623
  },
6542
6624
  allowPositionals: true,
6543
6625
  run: async (input) => {
6544
- const { emitInstallSummary, installSkills, parseSkillsClient } = await import("./skills-4BUONEIZ.js");
6626
+ const { emitInstallSummary, installSkills, parseSkillsClient } = await import("./skills-X5SR4HRO.js");
6545
6627
  const summary = await installSkills({
6546
6628
  dir: getString(input.values, "dir"),
6547
6629
  user: getBoolean(input.values, "user"),
@@ -6588,7 +6670,7 @@ var SNAPSHOT_CLI_COMMANDS = [
6588
6670
  output: stringOption()
6589
6671
  },
6590
6672
  run: async (input) => {
6591
- const { createSnapshotReport } = await import("./snapshot-BXCWSF5P.js");
6673
+ const { createSnapshotReport } = await import("./snapshot-KLKE37VY.js");
6592
6674
  const usage = SNAPSHOT_USAGE;
6593
6675
  const companyName = requirePositional(input, 0, {
6594
6676
  command: "snapshot",
@@ -6641,7 +6723,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6641
6723
  limit: { type: "string" }
6642
6724
  },
6643
6725
  run: async (input) => {
6644
- const { listInsights } = await import("./insights-QZVMBGVM.js");
6726
+ const { listInsights } = await import("./insights-UHCVCZ76.js");
6645
6727
  const usage = "canonry insights <project> [--type <type|prefix*>] [--severity <low|medium|high|critical>] [--limit <n>] [--dismissed] [--run-id <id>] [--format json]";
6646
6728
  const project3 = requireProject(input, "insights", usage);
6647
6729
  const dismissed = input.values.dismissed === true;
@@ -6657,7 +6739,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6657
6739
  usage: "canonry insights dismiss <project> <id> [--format json]",
6658
6740
  options: {},
6659
6741
  run: async (input) => {
6660
- const { dismissInsight } = await import("./insights-QZVMBGVM.js");
6742
+ const { dismissInsight } = await import("./insights-UHCVCZ76.js");
6661
6743
  const usage = "canonry insights dismiss <project> <id> [--format json]";
6662
6744
  const project3 = requireProject(input, "insights dismiss", usage);
6663
6745
  const id2 = requirePositional(input, 1, { command: "insights dismiss", usage, message: "insight ID is required" });
@@ -6672,7 +6754,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6672
6754
  limit: { type: "string" }
6673
6755
  },
6674
6756
  run: async (input) => {
6675
- const { showHealth } = await import("./health-cmd-D5XSEL7H.js");
6757
+ const { showHealth } = await import("./health-cmd-DOZXGI46.js");
6676
6758
  const usage = "canonry health <project> [--history] [--limit <n>] [--format json]";
6677
6759
  const project3 = requireProject(input, "health", usage);
6678
6760
  const history = input.values.history === true;
@@ -6694,7 +6776,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6694
6776
  },
6695
6777
  allowPositionals: true,
6696
6778
  run: async (input) => {
6697
- const { showAllOverviews, showOverview } = await import("./overview-UKQ52I72.js");
6779
+ const { showAllOverviews, showOverview } = await import("./overview-P6BRMXJN.js");
6698
6780
  const usage = "canonry overview <project>|--all [--location <label>] [--since <iso>] [--format json]";
6699
6781
  const all = getBoolean(input.values, "all");
6700
6782
  const location = getString(input.values, "location");
@@ -6714,7 +6796,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6714
6796
  limit: { type: "string" }
6715
6797
  },
6716
6798
  run: async (input) => {
6717
- const { searchProject } = await import("./search-AGVNZMJQ.js");
6799
+ const { searchProject } = await import("./search-UJM7KII3.js");
6718
6800
  const usage = "canonry search <project> <query> [--limit <n>] [--format json]";
6719
6801
  const project3 = requireProject(input, "search", usage);
6720
6802
  const query = requirePositional(input, 1, { command: "search", usage, message: "query is required" });
@@ -6731,7 +6813,7 @@ var INTELLIGENCE_CLI_COMMANDS = [
6731
6813
  usage: "canonry citations visibility <project> [--format json]",
6732
6814
  options: {},
6733
6815
  run: async (input) => {
6734
- const { showCitationVisibility } = await import("./citations-N5MGNKJN.js");
6816
+ const { showCitationVisibility } = await import("./citations-LOEQRDUB.js");
6735
6817
  const usage = "canonry citations visibility <project> [--format json]";
6736
6818
  const project3 = requireProject(input, "citations visibility", usage);
6737
6819
  await showCitationVisibility(project3, { format: input.format });
@@ -6747,7 +6829,7 @@ var CONTENT_CLI_COMMANDS = [
6747
6829
  help: "List persisted addressed content targets, including those hidden from content targets.",
6748
6830
  options: {},
6749
6831
  run: async (input) => {
6750
- const { listContentDismissals } = await import("./content-YVAPTIV4.js");
6832
+ const { listContentDismissals } = await import("./content-PJGW4WZF.js");
6751
6833
  const project3 = requireProject(input, "content dismissals", "canonry content dismissals <project> [--format json|jsonl]");
6752
6834
  await listContentDismissals(project3, { format: input.format });
6753
6835
  }
@@ -6758,7 +6840,7 @@ var CONTENT_CLI_COMMANDS = [
6758
6840
  help: "Mark a content target addressed. Restore it with content restore.",
6759
6841
  options: { "addressed-url": { type: "string" }, note: { type: "string" } },
6760
6842
  run: async (input) => {
6761
- const { dismissContentTarget } = await import("./content-YVAPTIV4.js");
6843
+ const { dismissContentTarget } = await import("./content-PJGW4WZF.js");
6762
6844
  const usage = "canonry content dismiss <project> <targetRef> [--addressed-url <url>] [--note <text>] [--format json]";
6763
6845
  const project3 = requireProject(input, "content dismiss", usage);
6764
6846
  const targetRef = requirePositional(input, 1, { command: "content dismiss", usage, message: "targetRef is required (from content targets)" });
@@ -6771,7 +6853,7 @@ var CONTENT_CLI_COMMANDS = [
6771
6853
  help: "Remove a persisted dismissal so an eligible target can appear again.",
6772
6854
  options: {},
6773
6855
  run: async (input) => {
6774
- const { restoreContentTarget } = await import("./content-YVAPTIV4.js");
6856
+ const { restoreContentTarget } = await import("./content-PJGW4WZF.js");
6775
6857
  const usage = "canonry content restore <project> <targetRef> [--format json]";
6776
6858
  const project3 = requireProject(input, "content restore", usage);
6777
6859
  const targetRef = requirePositional(input, 1, { command: "content restore", usage, message: "targetRef is required (from content dismissals)" });
@@ -6788,7 +6870,7 @@ var CONTENT_CLI_COMMANDS = [
6788
6870
  "winnability-class": { type: "string" }
6789
6871
  },
6790
6872
  run: async (input) => {
6791
- const { listContentTargets } = await import("./content-YVAPTIV4.js");
6873
+ const { listContentTargets } = await import("./content-PJGW4WZF.js");
6792
6874
  const usage = "canonry content targets <project> [--limit <n>] [--include-in-progress] [--ownable] [--winnability-class <ownable|ceded>] [--format json]";
6793
6875
  const project3 = requireProject(input, "content targets", usage);
6794
6876
  const limit = parseIntegerOption(input, "limit", {
@@ -6819,7 +6901,7 @@ var CONTENT_CLI_COMMANDS = [
6819
6901
  usage: "canonry content sources <project> [--format json]",
6820
6902
  options: {},
6821
6903
  run: async (input) => {
6822
- const { listContentSources } = await import("./content-YVAPTIV4.js");
6904
+ const { listContentSources } = await import("./content-PJGW4WZF.js");
6823
6905
  const usage = "canonry content sources <project> [--format json]";
6824
6906
  const project3 = requireProject(input, "content sources", usage);
6825
6907
  await listContentSources(project3, { format: input.format });
@@ -6830,7 +6912,7 @@ var CONTENT_CLI_COMMANDS = [
6830
6912
  usage: "canonry content gaps <project> [--format json]",
6831
6913
  options: {},
6832
6914
  run: async (input) => {
6833
- const { listContentGaps } = await import("./content-YVAPTIV4.js");
6915
+ const { listContentGaps } = await import("./content-PJGW4WZF.js");
6834
6916
  const usage = "canonry content gaps <project> [--format json]";
6835
6917
  const project3 = requireProject(input, "content gaps", usage);
6836
6918
  await listContentGaps(project3, { format: input.format });
@@ -6845,7 +6927,7 @@ var CONTENT_CLI_COMMANDS = [
6845
6927
  force: { type: "boolean" }
6846
6928
  },
6847
6929
  run: async (input) => {
6848
- const { generateContentBrief } = await import("./content-YVAPTIV4.js");
6930
+ const { generateContentBrief } = await import("./content-PJGW4WZF.js");
6849
6931
  const usage = "canonry content brief <project> <targetRef> [--provider <p>] [--model <m>] [--force] [--format json]";
6850
6932
  const project3 = requireProject(input, "content brief", usage);
6851
6933
  const targetRef = requirePositional(input, 1, {
@@ -6866,7 +6948,7 @@ var CONTENT_CLI_COMMANDS = [
6866
6948
  usage: "canonry content map <project> [--format json]",
6867
6949
  options: {},
6868
6950
  run: async (input) => {
6869
- const { contentMap } = await import("./content-YVAPTIV4.js");
6951
+ const { contentMap } = await import("./content-PJGW4WZF.js");
6870
6952
  const usage = "canonry content map <project> [--format json]";
6871
6953
  const project3 = requireProject(input, "content map", usage);
6872
6954
  await contentMap(project3, { format: input.format });
@@ -7161,7 +7243,7 @@ var SYSTEM_CLI_COMMANDS = [
7161
7243
  options: { access: stringOption() },
7162
7244
  run: async (input) => {
7163
7245
  if (input.positionals.length > 1) throw usageError("Expected at most one command group");
7164
- const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-FFU7PHW7.js"), import("./cli-commands-AMIDEUO2.js")]);
7246
+ const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-5RXNUFBS.js"), import("./cli-commands-HE2BQY3Y.js")]);
7165
7247
  printCliCatalog(REGISTERED_CLI_COMMANDS2, input.format, input.positionals[0], getString(input.values, "access"));
7166
7248
  }
7167
7249
  },
@@ -7172,7 +7254,7 @@ var SYSTEM_CLI_COMMANDS = [
7172
7254
  options: { level: stringOption(), module: stringOption(), "run-id": stringOption(), "project-id": stringOption(), actor: stringOption(), "request-id": stringOption(), since: stringOption(), until: stringOption(), limit: stringOption(), cursor: stringOption() },
7173
7255
  allowPositionals: false,
7174
7256
  run: async (input) => {
7175
- const { showOperationalLogs } = await import("./logs-CSC7O364.js");
7257
+ const { showOperationalLogs } = await import("./logs-ZHZ6XM55.js");
7176
7258
  return showOperationalLogs({
7177
7259
  level: getString(input.values, "level"),
7178
7260
  module: getString(input.values, "module"),
@@ -7190,7 +7272,7 @@ var SYSTEM_CLI_COMMANDS = [
7190
7272
  {
7191
7273
  path: ["init"],
7192
7274
  usage: "canonry init [--force] [--ref <tag>] [--gemini-key <key>] [--openai-key <key>] [--claude-key <key>] [--perplexity-key <key>] [--muse-key <key>] [--local-url <url>] [--local-model <name>] [--local-key <key>] [--google-client-id <id>] [--google-client-secret <key>] [--skip-skills] [--skip-mcp] [--skills-dir <path>] [--format json]",
7193
- help: 'Optional interactive provider and OAuth setup. First-run Page Health does not need this: use "canonry bootstrap", then "canonry serve". At least one provider is required here. --format json needs provider flags or environment variables.',
7275
+ help: 'Optional interactive provider and OAuth setup. First-run Agent Readiness does not need this: use "canonry bootstrap", then "canonry serve". At least one provider is required here. --format json needs provider flags or environment variables.',
7194
7276
  options: {
7195
7277
  force: { type: "boolean", short: "f", default: false },
7196
7278
  ref: stringOption(),
@@ -7210,7 +7292,7 @@ var SYSTEM_CLI_COMMANDS = [
7210
7292
  },
7211
7293
  allowPositionals: false,
7212
7294
  run: async (input) => {
7213
- const { initCommand } = await import("./init-RDR75N2Y.js");
7295
+ const { initCommand } = await import("./init-IVJSS33J.js");
7214
7296
  await initCommand({
7215
7297
  force: getBoolean(input.values, "force"),
7216
7298
  ref: getString(input.values, "ref"),
@@ -7243,7 +7325,7 @@ var SYSTEM_CLI_COMMANDS = [
7243
7325
  },
7244
7326
  allowPositionals: false,
7245
7327
  run: async (input) => {
7246
- const { bootstrapCommand } = await import("./bootstrap-7ESCLP2G.js");
7328
+ const { bootstrapCommand } = await import("./bootstrap-GMMSDTNO.js");
7247
7329
  await bootstrapCommand({
7248
7330
  format: input.format,
7249
7331
  ref: getString(input.values, "ref")
@@ -7265,7 +7347,7 @@ var SYSTEM_CLI_COMMANDS = [
7265
7347
  allowPositionals: false,
7266
7348
  run: async (input) => {
7267
7349
  applyServerEnv(input.values);
7268
- const { serveCommand } = await import("./serve-5LFKIXNL.js");
7350
+ const { serveCommand } = await import("./serve-A6UIO6WP.js");
7269
7351
  await serveCommand(input.format);
7270
7352
  }
7271
7353
  },
@@ -7335,7 +7417,7 @@ var SYSTEM_CLI_COMMANDS = [
7335
7417
  options: { target: stringOption() },
7336
7418
  allowPositionals: false,
7337
7419
  run: async (input) => {
7338
- const { telemetryCommand } = await import("./telemetry-H4S4Y7YV.js");
7420
+ const { telemetryCommand } = await import("./telemetry-KGE6FF3Y.js");
7339
7421
  await telemetryCommand("status", input.format, getString(input.values, "target"));
7340
7422
  }
7341
7423
  },
@@ -7345,7 +7427,7 @@ var SYSTEM_CLI_COMMANDS = [
7345
7427
  options: { target: stringOption() },
7346
7428
  allowPositionals: false,
7347
7429
  run: async (input) => {
7348
- const { telemetryCommand } = await import("./telemetry-H4S4Y7YV.js");
7430
+ const { telemetryCommand } = await import("./telemetry-KGE6FF3Y.js");
7349
7431
  await telemetryCommand("enable", input.format, getString(input.values, "target"));
7350
7432
  }
7351
7433
  },
@@ -7355,7 +7437,7 @@ var SYSTEM_CLI_COMMANDS = [
7355
7437
  options: { target: stringOption() },
7356
7438
  allowPositionals: false,
7357
7439
  run: async (input) => {
7358
- const { telemetryCommand } = await import("./telemetry-H4S4Y7YV.js");
7440
+ const { telemetryCommand } = await import("./telemetry-KGE6FF3Y.js");
7359
7441
  await telemetryCommand("disable", input.format, getString(input.values, "target"));
7360
7442
  }
7361
7443
  },
@@ -7406,58 +7488,58 @@ Usage: ${usage}`, {
7406
7488
  }
7407
7489
  return selection3.data;
7408
7490
  }
7409
- var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7491
+ var AGENT_READINESS_CLI_COMMANDS = [
7410
7492
  {
7411
- path: ["technical-aeo", "issues"],
7412
- usage: "canonry technical-aeo issues <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7493
+ path: ["agent-readiness", "issues"],
7494
+ usage: "canonry agent-readiness issues <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7413
7495
  access: "stored",
7414
7496
  options: { "run-id": stringOption(), cursor: stringOption(), limit: stringOption() },
7415
7497
  run: async (input) => {
7416
- const { technicalAeoIssues } = await import("./technical-aeo-G7UEMWZD.js");
7417
- const usage = "canonry technical-aeo issues <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7418
- const project3 = requireProject(input, "technical-aeo.issues", usage);
7498
+ const { technicalAeoIssues } = await import("./technical-aeo-KWVWOOTI.js");
7499
+ const usage = "canonry agent-readiness issues <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7500
+ const project3 = requireProject(input, "agent-readiness.issues", usage);
7419
7501
  await technicalAeoIssues(project3, {
7420
- ...auditIssueSelection(input, "technical-aeo.issues", usage),
7502
+ ...auditIssueSelection(input, "agent-readiness.issues", usage),
7421
7503
  format: input.format
7422
7504
  });
7423
7505
  }
7424
7506
  },
7425
7507
  {
7426
- path: ["technical-aeo", "issue-pages"],
7427
- usage: "canonry technical-aeo issue-pages <project> --issue-id <id> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7508
+ path: ["agent-readiness", "issue-pages"],
7509
+ usage: "canonry agent-readiness issue-pages <project> --issue-id <id> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7428
7510
  access: "stored",
7429
7511
  options: { "issue-id": stringOption(), "run-id": stringOption(), cursor: stringOption(), limit: stringOption() },
7430
7512
  run: async (input) => {
7431
- const { technicalAeoIssuePages } = await import("./technical-aeo-G7UEMWZD.js");
7432
- const usage = "canonry technical-aeo issue-pages <project> --issue-id <id> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7433
- const project3 = requireProject(input, "technical-aeo.issue-pages", usage);
7434
- const issueId = requireStringOption(input, "issue-id", { command: "technical-aeo.issue-pages", usage, message: "--issue-id is required" });
7513
+ const { technicalAeoIssuePages } = await import("./technical-aeo-KWVWOOTI.js");
7514
+ const usage = "canonry agent-readiness issue-pages <project> --issue-id <id> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7515
+ const project3 = requireProject(input, "agent-readiness.issue-pages", usage);
7516
+ const issueId = requireStringOption(input, "issue-id", { command: "agent-readiness.issue-pages", usage, message: "--issue-id is required" });
7435
7517
  await technicalAeoIssuePages(project3, {
7436
7518
  issueId,
7437
- ...auditIssueSelection(input, "technical-aeo.issue-pages", usage),
7519
+ ...auditIssueSelection(input, "agent-readiness.issue-pages", usage),
7438
7520
  format: input.format
7439
7521
  });
7440
7522
  }
7441
7523
  },
7442
7524
  {
7443
- path: ["technical-aeo", "score"],
7444
- usage: "canonry technical-aeo score <project> [--run-id <id>] [--format json]",
7525
+ path: ["agent-readiness", "score"],
7526
+ usage: "canonry agent-readiness score <project> [--run-id <id>] [--format json]",
7445
7527
  options: {
7446
7528
  "run-id": stringOption()
7447
7529
  },
7448
7530
  run: async (input) => {
7449
- const { technicalAeoScore } = await import("./technical-aeo-G7UEMWZD.js");
7531
+ const { technicalAeoScore } = await import("./technical-aeo-KWVWOOTI.js");
7450
7532
  const project3 = requireProject(
7451
7533
  input,
7452
- "technical-aeo.score",
7453
- "canonry technical-aeo score <project> [--run-id <id>] [--format json]"
7534
+ "agent-readiness.score",
7535
+ "canonry agent-readiness score <project> [--run-id <id>] [--format json]"
7454
7536
  );
7455
7537
  await technicalAeoScore(project3, { runId: getString(input.values, "run-id"), format: input.format });
7456
7538
  }
7457
7539
  },
7458
7540
  {
7459
- path: ["technical-aeo", "pages"],
7460
- usage: "canonry technical-aeo pages <project> [--run-id <id>] [--status success|error] [--sort score-asc|score-desc|url] [--limit <n>] [--format json|jsonl]",
7541
+ path: ["agent-readiness", "page-scores"],
7542
+ usage: "canonry agent-readiness page-scores <project> [--run-id <id>] [--status success|error] [--sort score-asc|score-desc|url] [--limit <n>] [--format json|jsonl]",
7461
7543
  options: {
7462
7544
  "run-id": stringOption(),
7463
7545
  status: stringOption(),
@@ -7465,15 +7547,15 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7465
7547
  limit: stringOption()
7466
7548
  },
7467
7549
  run: async (input) => {
7468
- const { technicalAeoPages } = await import("./technical-aeo-G7UEMWZD.js");
7469
- const usage = "canonry technical-aeo pages <project> [--run-id <id>] [--status success|error] [--sort score-asc|score-desc|url] [--limit <n>] [--format json|jsonl]";
7470
- const project3 = requireProject(input, "technical-aeo.pages", usage);
7550
+ const { technicalAeoPages } = await import("./technical-aeo-KWVWOOTI.js");
7551
+ const usage = "canonry agent-readiness page-scores <project> [--run-id <id>] [--status success|error] [--sort score-asc|score-desc|url] [--limit <n>] [--format json|jsonl]";
7552
+ const project3 = requireProject(input, "agent-readiness.page-scores", usage);
7471
7553
  await technicalAeoPages(project3, {
7472
7554
  runId: getString(input.values, "run-id"),
7473
7555
  status: getString(input.values, "status"),
7474
7556
  sort: getString(input.values, "sort"),
7475
7557
  limit: parseIntegerOption(input, "limit", {
7476
- command: "technical-aeo.pages",
7558
+ command: "agent-readiness.page-scores",
7477
7559
  usage,
7478
7560
  message: "--limit must be an integer"
7479
7561
  }),
@@ -7482,18 +7564,18 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7482
7564
  }
7483
7565
  },
7484
7566
  {
7485
- path: ["technical-aeo", "trend"],
7486
- usage: "canonry technical-aeo trend <project> [--limit <n>] [--format json|jsonl]",
7567
+ path: ["agent-readiness", "trend"],
7568
+ usage: "canonry agent-readiness trend <project> [--limit <n>] [--format json|jsonl]",
7487
7569
  options: {
7488
7570
  limit: stringOption()
7489
7571
  },
7490
7572
  run: async (input) => {
7491
- const { technicalAeoTrend } = await import("./technical-aeo-G7UEMWZD.js");
7492
- const usage = "canonry technical-aeo trend <project> [--limit <n>] [--format json|jsonl]";
7493
- const project3 = requireProject(input, "technical-aeo.trend", usage);
7573
+ const { technicalAeoTrend } = await import("./technical-aeo-KWVWOOTI.js");
7574
+ const usage = "canonry agent-readiness trend <project> [--limit <n>] [--format json|jsonl]";
7575
+ const project3 = requireProject(input, "agent-readiness.trend", usage);
7494
7576
  await technicalAeoTrend(project3, {
7495
7577
  limit: parseIntegerOption(input, "limit", {
7496
- command: "technical-aeo.trend",
7578
+ command: "agent-readiness.trend",
7497
7579
  usage,
7498
7580
  message: "--limit must be an integer"
7499
7581
  }),
@@ -7502,9 +7584,9 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7502
7584
  }
7503
7585
  },
7504
7586
  {
7505
- path: ["technical-aeo", "run"],
7506
- 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]",
7507
- help: "Start a Site Health crawl. No answer-engine provider is required. Without --max-pages the scan uses the project's saved page budget (canonry project update <project> --site-audit-max-pages <n|full>), else the full site, up to 50,000 pages. --wait polls for up to 15 minutes, so a large full-site scan can outlast it; follow it with canonry technical-aeo progress <project> --run-id <id>. Dead-link checking is off unless --check-dead-links is set. Add --include-geo for location and service-area checks. Agent integration checks are on by default; use --no-agent-skills to disable them.",
7587
+ path: ["agent-readiness", "run"],
7588
+ usage: "canonry agent-readiness 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]",
7589
+ help: "Start an Agent Readiness audit scan. No answer-engine provider is required. Without --max-pages the scan uses the project's saved page budget (canonry project update <project> --site-audit-max-pages <n|full>), else the full site, up to 50,000 pages. --wait polls for up to 15 minutes, so a large full-site scan can outlast it; follow it with canonry agent-readiness progress <project> --run-id <id>. Dead-link checking is off unless --check-dead-links is set. Add --include-geo for location and service-area checks. Agent integration checks are on by default; use --no-agent-skills to disable them.",
7508
7590
  options: {
7509
7591
  "sitemap-url": stringOption(),
7510
7592
  limit: stringOption(),
@@ -7518,28 +7600,28 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7518
7600
  wait: { type: "boolean", default: false }
7519
7601
  },
7520
7602
  run: async (input) => {
7521
- const { technicalAeoRun } = await import("./technical-aeo-G7UEMWZD.js");
7522
- 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]";
7523
- const project3 = requireProject(input, "technical-aeo.run", usage);
7603
+ const { technicalAeoRun } = await import("./technical-aeo-KWVWOOTI.js");
7604
+ const usage = "canonry agent-readiness 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]";
7605
+ const project3 = requireProject(input, "agent-readiness.run", usage);
7524
7606
  await technicalAeoRun(project3, {
7525
7607
  sitemapUrl: getString(input.values, "sitemap-url"),
7526
7608
  limit: parseIntegerOption(input, "limit", {
7527
- command: "technical-aeo.run",
7609
+ command: "agent-readiness.run",
7528
7610
  usage,
7529
7611
  message: "--limit must be an integer"
7530
7612
  }),
7531
7613
  maxPages: parseIntegerOption(input, "max-pages", {
7532
- command: "technical-aeo.run",
7614
+ command: "agent-readiness.run",
7533
7615
  usage,
7534
7616
  message: "--max-pages must be an integer"
7535
7617
  }),
7536
7618
  maxEdges: parseIntegerOption(input, "max-edges", {
7537
- command: "technical-aeo.run",
7619
+ command: "agent-readiness.run",
7538
7620
  usage,
7539
7621
  message: "--max-edges must be an integer"
7540
7622
  }),
7541
7623
  maxDepth: parseIntegerOption(input, "max-depth", {
7542
- command: "technical-aeo.run",
7624
+ command: "agent-readiness.run",
7543
7625
  usage,
7544
7626
  message: "--max-depth must be an integer"
7545
7627
  }),
@@ -7552,26 +7634,26 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7552
7634
  }
7553
7635
  },
7554
7636
  {
7555
- path: ["technical-aeo", "crawl"],
7556
- usage: "canonry technical-aeo crawl <project> [--run-id <id> | --date YYYY-MM-DD] [--format json]",
7637
+ path: ["agent-readiness", "overview"],
7638
+ usage: "canonry agent-readiness overview <project> [--run-id <id> | --date YYYY-MM-DD] [--format json]",
7557
7639
  options: { "run-id": stringOption(), date: stringOption() },
7558
7640
  run: async (input) => {
7559
- const { technicalAeoCrawl } = await import("./technical-aeo-G7UEMWZD.js");
7560
- const usage = "canonry technical-aeo crawl <project> [--run-id <id> | --date YYYY-MM-DD] [--format json]";
7561
- const project3 = requireProject(input, "technical-aeo.crawl", usage);
7641
+ const { technicalAeoCrawl } = await import("./technical-aeo-KWVWOOTI.js");
7642
+ const usage = "canonry agent-readiness overview <project> [--run-id <id> | --date YYYY-MM-DD] [--format json]";
7643
+ const project3 = requireProject(input, "agent-readiness.overview", usage);
7562
7644
  await technicalAeoCrawl(project3, { runId: getString(input.values, "run-id"), date: getString(input.values, "date"), format: input.format });
7563
7645
  }
7564
7646
  },
7565
7647
  {
7566
- path: ["technical-aeo", "progress"],
7567
- usage: "canonry technical-aeo progress <project> --run-id <id> [--format json]",
7648
+ path: ["agent-readiness", "progress"],
7649
+ usage: "canonry agent-readiness progress <project> --run-id <id> [--format json]",
7568
7650
  options: { "run-id": stringOption() },
7569
7651
  run: async (input) => {
7570
- const { technicalAeoProgress } = await import("./technical-aeo-G7UEMWZD.js");
7571
- const usage = "canonry technical-aeo progress <project> --run-id <id> [--format json]";
7572
- const project3 = requireProject(input, "technical-aeo.progress", usage);
7652
+ const { technicalAeoProgress } = await import("./technical-aeo-KWVWOOTI.js");
7653
+ const usage = "canonry agent-readiness progress <project> --run-id <id> [--format json]";
7654
+ const project3 = requireProject(input, "agent-readiness.progress", usage);
7573
7655
  const runId = requireStringOption(input, "run-id", {
7574
- command: "technical-aeo.progress",
7656
+ command: "agent-readiness.progress",
7575
7657
  usage,
7576
7658
  message: "--run-id is required"
7577
7659
  });
@@ -7579,8 +7661,8 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7579
7661
  }
7580
7662
  },
7581
7663
  {
7582
- path: ["technical-aeo", "subgraph"],
7583
- usage: "canonry technical-aeo subgraph <project> [--run-id <id>] [--node-key <key>|--url <url>] [--hops <n>] [--max-nodes <n>] [--max-edges <n>] [--format json]",
7664
+ path: ["agent-readiness", "subgraph"],
7665
+ usage: "canonry agent-readiness subgraph <project> [--run-id <id>] [--node-key <key>|--url <url>] [--hops <n>] [--max-nodes <n>] [--max-edges <n>] [--format json]",
7584
7666
  options: {
7585
7667
  "run-id": stringOption(),
7586
7668
  "node-key": stringOption(),
@@ -7590,32 +7672,32 @@ var TECHNICAL_AEO_CLI_COMMANDS_BASE = [
7590
7672
  "max-edges": stringOption()
7591
7673
  },
7592
7674
  run: async (input) => {
7593
- const { technicalAeoSubgraph } = await import("./technical-aeo-G7UEMWZD.js");
7594
- 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]";
7595
- const project3 = requireProject(input, "technical-aeo.subgraph", usage);
7675
+ const { technicalAeoSubgraph } = await import("./technical-aeo-KWVWOOTI.js");
7676
+ const usage = "canonry agent-readiness subgraph <project> [--run-id <id>] [--node-key <key>|--url <url>] [--hops <n>] [--max-nodes <n>] [--max-edges <n>] [--format json]";
7677
+ const project3 = requireProject(input, "agent-readiness.subgraph", usage);
7596
7678
  const nodeKey = getString(input.values, "node-key");
7597
7679
  const url = getString(input.values, "url");
7598
7680
  if (nodeKey && url) {
7599
7681
  throw usageError(`Error: --node-key and --url cannot be combined
7600
7682
  Usage: ${usage}`, {
7601
7683
  message: "--node-key and --url cannot be combined",
7602
- details: { command: "technical-aeo.subgraph", usage }
7684
+ details: { command: "agent-readiness.subgraph", usage }
7603
7685
  });
7604
7686
  }
7605
7687
  await technicalAeoSubgraph(project3, {
7606
7688
  runId: getString(input.values, "run-id"),
7607
7689
  nodeKey,
7608
7690
  url,
7609
- hops: parseIntegerOption(input, "hops", { command: "technical-aeo.subgraph", usage, message: "--hops must be an integer" }),
7610
- maxNodes: parseIntegerOption(input, "max-nodes", { command: "technical-aeo.subgraph", usage, message: "--max-nodes must be an integer" }),
7611
- maxEdges: parseIntegerOption(input, "max-edges", { command: "technical-aeo.subgraph", usage, message: "--max-edges must be an integer" }),
7691
+ hops: parseIntegerOption(input, "hops", { command: "agent-readiness.subgraph", usage, message: "--hops must be an integer" }),
7692
+ maxNodes: parseIntegerOption(input, "max-nodes", { command: "agent-readiness.subgraph", usage, message: "--max-nodes must be an integer" }),
7693
+ maxEdges: parseIntegerOption(input, "max-edges", { command: "agent-readiness.subgraph", usage, message: "--max-edges must be an integer" }),
7612
7694
  format: input.format
7613
7695
  });
7614
7696
  }
7615
7697
  },
7616
7698
  {
7617
- path: ["technical-aeo", "path"],
7618
- 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]",
7699
+ path: ["agent-readiness", "path"],
7700
+ usage: "canonry agent-readiness path <project> (--to-node-key <key>|--to-url <url>) [--run-id <id>] [--from-node-key <key>|--from-url <url>] [--max-depth <n>] [--format json]",
7619
7701
  options: {
7620
7702
  "run-id": stringOption(),
7621
7703
  "from-node-key": stringOption(),
@@ -7625,9 +7707,9 @@ Usage: ${usage}`, {
7625
7707
  "max-depth": stringOption()
7626
7708
  },
7627
7709
  run: async (input) => {
7628
- const { technicalAeoPath } = await import("./technical-aeo-G7UEMWZD.js");
7629
- 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]";
7630
- const project3 = requireProject(input, "technical-aeo.path", usage);
7710
+ const { technicalAeoPath } = await import("./technical-aeo-KWVWOOTI.js");
7711
+ const usage = "canonry agent-readiness path <project> (--to-node-key <key>|--to-url <url>) [--run-id <id>] [--from-node-key <key>|--from-url <url>] [--max-depth <n>] [--format json]";
7712
+ const project3 = requireProject(input, "agent-readiness.path", usage);
7631
7713
  const fromNodeKey = getString(input.values, "from-node-key");
7632
7714
  const fromUrl = getString(input.values, "from-url");
7633
7715
  const toNodeKey = getString(input.values, "to-node-key");
@@ -7636,14 +7718,14 @@ Usage: ${usage}`, {
7636
7718
  throw usageError(`Error: --to-node-key or --to-url is required
7637
7719
  Usage: ${usage}`, {
7638
7720
  message: "--to-node-key or --to-url is required",
7639
- details: { command: "technical-aeo.path", usage }
7721
+ details: { command: "agent-readiness.path", usage }
7640
7722
  });
7641
7723
  }
7642
7724
  if (fromNodeKey && fromUrl || toNodeKey && toUrl) {
7643
7725
  throw usageError(`Error: node-key and URL selectors cannot be combined
7644
7726
  Usage: ${usage}`, {
7645
7727
  message: "node-key and URL selectors cannot be combined",
7646
- details: { command: "technical-aeo.path", usage }
7728
+ details: { command: "agent-readiness.path", usage }
7647
7729
  });
7648
7730
  }
7649
7731
  await technicalAeoPath(project3, {
@@ -7652,14 +7734,14 @@ Usage: ${usage}`, {
7652
7734
  fromUrl,
7653
7735
  toNodeKey,
7654
7736
  toUrl,
7655
- maxDepth: parseIntegerOption(input, "max-depth", { command: "technical-aeo.path", usage, message: "--max-depth must be an integer" }),
7737
+ maxDepth: parseIntegerOption(input, "max-depth", { command: "agent-readiness.path", usage, message: "--max-depth must be an integer" }),
7656
7738
  format: input.format
7657
7739
  });
7658
7740
  }
7659
7741
  },
7660
7742
  {
7661
- path: ["technical-aeo", "changes"],
7662
- 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]",
7743
+ path: ["agent-readiness", "changes"],
7744
+ usage: "canonry agent-readiness 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]",
7663
7745
  options: {
7664
7746
  "from-run-id": stringOption(),
7665
7747
  "to-run-id": stringOption(),
@@ -7669,9 +7751,9 @@ Usage: ${usage}`, {
7669
7751
  limit: stringOption()
7670
7752
  },
7671
7753
  run: async (input) => {
7672
- const { technicalAeoChanges } = await import("./technical-aeo-G7UEMWZD.js");
7673
- 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]";
7674
- const project3 = requireProject(input, "technical-aeo.changes", usage);
7754
+ const { technicalAeoChanges } = await import("./technical-aeo-KWVWOOTI.js");
7755
+ const usage = "canonry agent-readiness 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]";
7756
+ const project3 = requireProject(input, "agent-readiness.changes", usage);
7675
7757
  const fromRunId = getString(input.values, "from-run-id");
7676
7758
  const toRunId = getString(input.values, "to-run-id");
7677
7759
  const scope = getString(input.values, "scope");
@@ -7680,14 +7762,14 @@ Usage: ${usage}`, {
7680
7762
  throw usageError(`Error: --scope must be all, pages, or links
7681
7763
  Usage: ${usage}`, {
7682
7764
  message: "--scope must be all, pages, or links",
7683
- details: { command: "technical-aeo.changes", usage, option: "scope", value: scope }
7765
+ details: { command: "agent-readiness.changes", usage, option: "scope", value: scope }
7684
7766
  });
7685
7767
  }
7686
7768
  if (change !== void 0 && !isSiteHealthChange(change)) {
7687
7769
  throw usageError(`Error: --change must be all, added, removed, or changed
7688
7770
  Usage: ${usage}`, {
7689
7771
  message: "--change must be all, added, removed, or changed",
7690
- details: { command: "technical-aeo.changes", usage, option: "change", value: change }
7772
+ details: { command: "agent-readiness.changes", usage, option: "change", value: change }
7691
7773
  });
7692
7774
  }
7693
7775
  await technicalAeoChanges(project3, {
@@ -7696,14 +7778,14 @@ Usage: ${usage}`, {
7696
7778
  scope,
7697
7779
  change,
7698
7780
  cursor: getString(input.values, "cursor"),
7699
- limit: parseIntegerOption(input, "limit", { command: "technical-aeo.changes", usage, message: "--limit must be an integer" }),
7781
+ limit: parseIntegerOption(input, "limit", { command: "agent-readiness.changes", usage, message: "--limit must be an integer" }),
7700
7782
  format: input.format
7701
7783
  });
7702
7784
  }
7703
7785
  },
7704
7786
  {
7705
- path: ["technical-aeo", "crawl-pages"],
7706
- 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]",
7787
+ path: ["agent-readiness", "pages"],
7788
+ usage: "canonry agent-readiness 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]",
7707
7789
  options: {
7708
7790
  "run-id": stringOption(),
7709
7791
  date: stringOption(),
@@ -7717,15 +7799,15 @@ Usage: ${usage}`, {
7717
7799
  limit: stringOption()
7718
7800
  },
7719
7801
  run: async (input) => {
7720
- const { technicalAeoCrawlPages } = await import("./technical-aeo-G7UEMWZD.js");
7721
- 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]";
7722
- const project3 = requireProject(input, "technical-aeo.crawl-pages", usage);
7802
+ const { technicalAeoCrawlPages } = await import("./technical-aeo-KWVWOOTI.js");
7803
+ const usage = "canonry agent-readiness 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]";
7804
+ const project3 = requireProject(input, "agent-readiness.pages", usage);
7723
7805
  const sort = getString(input.values, "sort");
7724
7806
  if (sort !== void 0 && !["url", "path", "score-asc", "score-desc"].includes(sort)) {
7725
7807
  throw usageError(`Error: --sort must be url, path, score-asc, or score-desc
7726
7808
  Usage: ${usage}`, {
7727
7809
  message: "--sort must be url, path, score-asc, or score-desc",
7728
- details: { command: "technical-aeo.crawl-pages", usage, option: "sort", value: sort }
7810
+ details: { command: "agent-readiness.pages", usage, option: "sort", value: sort }
7729
7811
  });
7730
7812
  }
7731
7813
  const urlVersions = getString(input.values, "url-versions");
@@ -7733,46 +7815,46 @@ Usage: ${usage}`, {
7733
7815
  throw usageError(`Error: --url-versions must be include, exclude, or only
7734
7816
  Usage: ${usage}`, {
7735
7817
  message: "--url-versions must be include, exclude, or only",
7736
- details: { command: "technical-aeo.crawl-pages", usage, option: "url-versions", value: urlVersions }
7818
+ details: { command: "agent-readiness.pages", usage, option: "url-versions", value: urlVersions }
7737
7819
  });
7738
7820
  }
7739
7821
  await technicalAeoCrawlPages(project3, {
7740
7822
  runId: getString(input.values, "run-id"),
7741
7823
  date: getString(input.values, "date"),
7742
- inventoryEligible: parseOptionalBoolean(input, "inventory-eligible", { command: "technical-aeo.crawl-pages", usage }),
7824
+ inventoryEligible: parseOptionalBoolean(input, "inventory-eligible", { command: "agent-readiness.pages", usage }),
7743
7825
  fetchState: getString(input.values, "fetch-state"),
7744
7826
  indexabilityState: getString(input.values, "indexability-state"),
7745
7827
  auditState: getString(input.values, "audit-state"),
7746
7828
  urlVersions,
7747
7829
  sort,
7748
7830
  cursor: getString(input.values, "cursor"),
7749
- limit: parseIntegerOption(input, "limit", { command: "technical-aeo.crawl-pages", usage, message: "--limit must be an integer" }),
7831
+ limit: parseIntegerOption(input, "limit", { command: "agent-readiness.pages", usage, message: "--limit must be an integer" }),
7750
7832
  format: input.format
7751
7833
  });
7752
7834
  }
7753
7835
  },
7754
7836
  {
7755
- path: ["technical-aeo", "page-audit"],
7756
- usage: "canonry technical-aeo page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]",
7837
+ path: ["agent-readiness", "page-audit"],
7838
+ usage: "canonry agent-readiness page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]",
7757
7839
  options: { "run-id": stringOption(), "node-key": stringOption(), url: stringOption() },
7758
7840
  run: async (input) => {
7759
- const { technicalAeoPageAudit } = await import("./technical-aeo-G7UEMWZD.js");
7760
- const usage = "canonry technical-aeo page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]";
7761
- const project3 = requireProject(input, "technical-aeo.page-audit", usage);
7841
+ const { technicalAeoPageAudit } = await import("./technical-aeo-KWVWOOTI.js");
7842
+ const usage = "canonry agent-readiness page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]";
7843
+ const project3 = requireProject(input, "agent-readiness.page-audit", usage);
7762
7844
  const nodeKey = getString(input.values, "node-key");
7763
7845
  const url = getString(input.values, "url");
7764
7846
  if (!nodeKey && !url) {
7765
7847
  throw usageError(`Error: --node-key or --url is required
7766
7848
  Usage: ${usage}`, {
7767
7849
  message: "--node-key or --url is required",
7768
- details: { command: "technical-aeo.page-audit", usage }
7850
+ details: { command: "agent-readiness.page-audit", usage }
7769
7851
  });
7770
7852
  }
7771
7853
  if (nodeKey && url) {
7772
7854
  throw usageError(`Error: --node-key and --url cannot be combined
7773
7855
  Usage: ${usage}`, {
7774
7856
  message: "--node-key and --url cannot be combined",
7775
- details: { command: "technical-aeo.page-audit", usage }
7857
+ details: { command: "agent-readiness.page-audit", usage }
7776
7858
  });
7777
7859
  }
7778
7860
  await technicalAeoPageAudit(project3, {
@@ -7784,25 +7866,25 @@ Usage: ${usage}`, {
7784
7866
  }
7785
7867
  },
7786
7868
  {
7787
- path: ["technical-aeo", "structure"],
7788
- usage: "canonry technical-aeo structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7869
+ path: ["agent-readiness", "structure"],
7870
+ usage: "canonry agent-readiness structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7789
7871
  options: { "run-id": stringOption(), "parent-path": stringOption(), cursor: stringOption(), limit: stringOption() },
7790
7872
  run: async (input) => {
7791
- const { technicalAeoStructure } = await import("./technical-aeo-G7UEMWZD.js");
7792
- const usage = "canonry technical-aeo structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7793
- const project3 = requireProject(input, "technical-aeo.structure", usage);
7873
+ const { technicalAeoStructure } = await import("./technical-aeo-KWVWOOTI.js");
7874
+ const usage = "canonry agent-readiness structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7875
+ const project3 = requireProject(input, "agent-readiness.structure", usage);
7794
7876
  await technicalAeoStructure(project3, {
7795
7877
  runId: getString(input.values, "run-id"),
7796
7878
  parentPath: getString(input.values, "parent-path"),
7797
7879
  cursor: getString(input.values, "cursor"),
7798
- limit: parseIntegerOption(input, "limit", { command: "technical-aeo.structure", usage, message: "--limit must be an integer" }),
7880
+ limit: parseIntegerOption(input, "limit", { command: "agent-readiness.structure", usage, message: "--limit must be an integer" }),
7799
7881
  format: input.format
7800
7882
  });
7801
7883
  }
7802
7884
  },
7803
7885
  {
7804
- path: ["technical-aeo", "links"],
7805
- usage: "canonry technical-aeo links <project> [--run-id <id>] [--source-url <url>] [--target-url <url>] [--followable|--nofollow] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7886
+ path: ["agent-readiness", "links"],
7887
+ usage: "canonry agent-readiness links <project> [--run-id <id>] [--source-url <url>] [--target-url <url>] [--followable|--nofollow] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7806
7888
  options: {
7807
7889
  "run-id": stringOption(),
7808
7890
  "source-url": stringOption(),
@@ -7813,16 +7895,16 @@ Usage: ${usage}`, {
7813
7895
  limit: stringOption()
7814
7896
  },
7815
7897
  run: async (input) => {
7816
- const { technicalAeoInternalLinks } = await import("./technical-aeo-G7UEMWZD.js");
7817
- 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]";
7818
- const project3 = requireProject(input, "technical-aeo.links", usage);
7898
+ const { technicalAeoInternalLinks } = await import("./technical-aeo-KWVWOOTI.js");
7899
+ const usage = "canonry agent-readiness links <project> [--run-id <id>] [--source-url <url>] [--target-url <url>] [--followable|--nofollow] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7900
+ const project3 = requireProject(input, "agent-readiness.links", usage);
7819
7901
  const followable = getBoolean(input.values, "followable");
7820
7902
  const nofollow = getBoolean(input.values, "nofollow");
7821
7903
  if (followable && nofollow) {
7822
7904
  throw usageError(`Error: --followable and --nofollow cannot be combined
7823
7905
  Usage: ${usage}`, {
7824
7906
  message: "--followable and --nofollow cannot be combined",
7825
- details: { command: "technical-aeo.links", usage }
7907
+ details: { command: "agent-readiness.links", usage }
7826
7908
  });
7827
7909
  }
7828
7910
  await technicalAeoInternalLinks(project3, {
@@ -7831,143 +7913,119 @@ Usage: ${usage}`, {
7831
7913
  targetUrl: getString(input.values, "target-url"),
7832
7914
  followable: followable ? true : nofollow ? false : void 0,
7833
7915
  cursor: getString(input.values, "cursor"),
7834
- limit: parseIntegerOption(input, "limit", { command: "technical-aeo.links", usage, message: "--limit must be an integer" }),
7916
+ limit: parseIntegerOption(input, "limit", { command: "agent-readiness.links", usage, message: "--limit must be an integer" }),
7835
7917
  format: input.format
7836
7918
  });
7837
7919
  }
7838
7920
  },
7839
7921
  {
7840
- path: ["technical-aeo", "links", "neighbors"],
7841
- usage: "canonry technical-aeo links neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]",
7922
+ path: ["agent-readiness", "neighbors"],
7923
+ usage: "canonry agent-readiness neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]",
7842
7924
  options: { "run-id": stringOption(), "node-key": stringOption(), url: stringOption(), limit: stringOption() },
7843
7925
  run: async (input) => {
7844
- const { technicalAeoLinkNeighbors } = await import("./technical-aeo-G7UEMWZD.js");
7845
- const usage = "canonry technical-aeo links neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]";
7846
- const project3 = requireProject(input, "technical-aeo.links.neighbors", usage);
7926
+ const { technicalAeoLinkNeighbors } = await import("./technical-aeo-KWVWOOTI.js");
7927
+ const usage = "canonry agent-readiness neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]";
7928
+ const project3 = requireProject(input, "agent-readiness.neighbors", usage);
7847
7929
  const nodeKey = getString(input.values, "node-key");
7848
7930
  const url = getString(input.values, "url");
7849
7931
  if (!nodeKey && !url) {
7850
7932
  throw usageError(`Error: --node-key or --url is required
7851
7933
  Usage: ${usage}`, {
7852
7934
  message: "--node-key or --url is required",
7853
- details: { command: "technical-aeo.links.neighbors", usage }
7935
+ details: { command: "agent-readiness.neighbors", usage }
7854
7936
  });
7855
7937
  }
7856
7938
  await technicalAeoLinkNeighbors(project3, {
7857
7939
  runId: getString(input.values, "run-id"),
7858
7940
  nodeKey,
7859
7941
  url,
7860
- limit: parseIntegerOption(input, "limit", { command: "technical-aeo.links.neighbors", usage, message: "--limit must be an integer" }),
7942
+ limit: parseIntegerOption(input, "limit", { command: "agent-readiness.neighbors", usage, message: "--limit must be an integer" }),
7861
7943
  format: input.format
7862
7944
  });
7863
7945
  }
7864
7946
  },
7865
7947
  {
7866
- path: ["technical-aeo", "dead-links"],
7867
- usage: "canonry technical-aeo dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7948
+ path: ["agent-readiness", "dead-links"],
7949
+ usage: "canonry agent-readiness dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]",
7868
7950
  options: { "run-id": stringOption(), cursor: stringOption(), limit: stringOption() },
7869
7951
  run: async (input) => {
7870
- const { technicalAeoDeadLinks } = await import("./technical-aeo-G7UEMWZD.js");
7871
- const usage = "canonry technical-aeo dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7872
- const project3 = requireProject(input, "technical-aeo.dead-links", usage);
7952
+ const { technicalAeoDeadLinks } = await import("./technical-aeo-KWVWOOTI.js");
7953
+ const usage = "canonry agent-readiness dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]";
7954
+ const project3 = requireProject(input, "agent-readiness.dead-links", usage);
7873
7955
  await technicalAeoDeadLinks(project3, {
7874
7956
  runId: getString(input.values, "run-id"),
7875
7957
  cursor: getString(input.values, "cursor"),
7876
- limit: parseIntegerOption(input, "limit", { command: "technical-aeo.dead-links", usage, message: "--limit must be an integer" }),
7958
+ limit: parseIntegerOption(input, "limit", { command: "agent-readiness.dead-links", usage, message: "--limit must be an integer" }),
7877
7959
  format: input.format
7878
7960
  });
7879
7961
  }
7880
7962
  }
7881
7963
  ];
7882
- function siteHealthAlias(sourcePath, path2, usage) {
7883
- const source = TECHNICAL_AEO_CLI_COMMANDS_BASE.find(
7884
- (candidate) => candidate.path.join(" ") === sourcePath.join(" ")
7964
+ var DEPRECATED_AGENT_READINESS_CLI_ALIASES = [
7965
+ [["technical-aeo", "score"], ["agent-readiness", "score"]],
7966
+ [["technical-aeo", "pages"], ["agent-readiness", "page-scores"]],
7967
+ [["technical-aeo", "trend"], ["agent-readiness", "trend"]],
7968
+ [["technical-aeo", "run"], ["agent-readiness", "run"]],
7969
+ [["technical-aeo", "progress"], ["agent-readiness", "progress"]],
7970
+ [["technical-aeo", "crawl"], ["agent-readiness", "overview"]],
7971
+ [["technical-aeo", "crawl-pages"], ["agent-readiness", "pages"]],
7972
+ [["technical-aeo", "page-audit"], ["agent-readiness", "page-audit"]],
7973
+ [["technical-aeo", "issues"], ["agent-readiness", "issues"]],
7974
+ [["technical-aeo", "issue-pages"], ["agent-readiness", "issue-pages"]],
7975
+ [["technical-aeo", "structure"], ["agent-readiness", "structure"]],
7976
+ [["technical-aeo", "links"], ["agent-readiness", "links"]],
7977
+ [["technical-aeo", "links", "neighbors"], ["agent-readiness", "neighbors"]],
7978
+ [["technical-aeo", "dead-links"], ["agent-readiness", "dead-links"]],
7979
+ [["technical-aeo", "subgraph"], ["agent-readiness", "subgraph"]],
7980
+ [["technical-aeo", "path"], ["agent-readiness", "path"]],
7981
+ [["technical-aeo", "changes"], ["agent-readiness", "changes"]],
7982
+ [["site-health", "overview"], ["agent-readiness", "overview"]],
7983
+ [["site-health", "pages"], ["agent-readiness", "pages"]],
7984
+ [["site-health", "page-audit"], ["agent-readiness", "page-audit"]],
7985
+ [["site-health", "issues"], ["agent-readiness", "issues"]],
7986
+ [["site-health", "issue-pages"], ["agent-readiness", "issue-pages"]],
7987
+ [["site-health", "structure"], ["agent-readiness", "structure"]],
7988
+ [["site-health", "links"], ["agent-readiness", "links"]],
7989
+ [["site-health", "neighbors"], ["agent-readiness", "neighbors"]],
7990
+ [["site-health", "dead-links"], ["agent-readiness", "dead-links"]],
7991
+ [["site-health", "subgraph"], ["agent-readiness", "subgraph"]],
7992
+ [["site-health", "path"], ["agent-readiness", "path"]],
7993
+ [["site-health", "changes"], ["agent-readiness", "changes"]]
7994
+ ];
7995
+ function deprecatedAlias(aliasPath, canonicalPath) {
7996
+ const canonical = AGENT_READINESS_CLI_COMMANDS.find(
7997
+ (candidate) => candidate.path.join(" ") === canonicalPath.join(" ")
7885
7998
  );
7886
- if (!source) throw new Error(`Missing Site Health compatibility source: ${sourcePath.join(" ")}`);
7999
+ if (!canonical) throw new Error(`Missing Agent Readiness command for deprecated alias: ${aliasPath.join(" ")}`);
8000
+ const canonicalPrefix = `canonry ${canonical.path.join(" ")} `;
8001
+ if (!canonical.usage.startsWith(canonicalPrefix)) {
8002
+ throw new Error(`Agent Readiness usage must start with "${canonicalPrefix}": ${canonical.usage}`);
8003
+ }
8004
+ const usage = `canonry ${aliasPath.join(" ")} ${canonical.usage.slice(canonicalPrefix.length)}`;
8005
+ const command = aliasPath.join(".");
7887
8006
  return {
7888
- ...source,
7889
- path: path2,
8007
+ ...canonical,
8008
+ path: aliasPath,
7890
8009
  usage,
8010
+ deprecatedAliasOf: canonical.path,
7891
8011
  run: async (input) => {
7892
8012
  try {
7893
- await source.run(input);
8013
+ await canonical.run(input);
7894
8014
  } catch (error) {
7895
8015
  if (!(error instanceof CliError) || error.code !== "CLI_USAGE_ERROR") throw error;
7896
8016
  const firstLine = error.displayMessage?.split("\n", 1)[0] ?? `Error: ${error.message}`;
7897
8017
  throw usageError(`${firstLine}
7898
8018
  Usage: ${usage}`, {
7899
8019
  message: error.message,
7900
- details: { ...error.details, command: path2.join("."), usage }
8020
+ details: { ...error.details, command, usage }
7901
8021
  });
7902
8022
  }
7903
8023
  }
7904
8024
  };
7905
8025
  }
7906
- var SITE_HEALTH_COMPATIBILITY_COMMANDS = [
7907
- siteHealthAlias(
7908
- ["technical-aeo", "issues"],
7909
- ["site-health", "issues"],
7910
- "canonry site-health issues <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]"
7911
- ),
7912
- siteHealthAlias(
7913
- ["technical-aeo", "issue-pages"],
7914
- ["site-health", "issue-pages"],
7915
- "canonry site-health issue-pages <project> --issue-id <id> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]"
7916
- ),
7917
- siteHealthAlias(
7918
- ["technical-aeo", "crawl"],
7919
- ["site-health", "overview"],
7920
- "canonry site-health overview <project> [--run-id <id>] [--format json]"
7921
- ),
7922
- siteHealthAlias(
7923
- ["technical-aeo", "crawl-pages"],
7924
- ["site-health", "pages"],
7925
- "canonry site-health pages <project> [--run-id <id>] [--inventory-eligible true|false] [--fetch-state <state>] [--indexability-state <state>] [--audit-state <state>] [--sort url|path|score-asc|score-desc] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]"
7926
- ),
7927
- siteHealthAlias(
7928
- ["technical-aeo", "page-audit"],
7929
- ["site-health", "page-audit"],
7930
- "canonry site-health page-audit <project> (--node-key <key>|--url <url>) [--run-id <id>] [--format json]"
7931
- ),
7932
- siteHealthAlias(
7933
- ["technical-aeo", "structure"],
7934
- ["site-health", "structure"],
7935
- "canonry site-health structure <project> [--run-id <id>] [--parent-path <path>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]"
7936
- ),
7937
- siteHealthAlias(
7938
- ["technical-aeo", "links"],
7939
- ["site-health", "links"],
7940
- "canonry site-health links <project> [--run-id <id>] [--source-url <url>] [--target-url <url>] [--followable|--nofollow] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]"
7941
- ),
7942
- siteHealthAlias(
7943
- ["technical-aeo", "links", "neighbors"],
7944
- ["site-health", "neighbors"],
7945
- "canonry site-health neighbors <project> (--node-key <key>|--url <url>) [--run-id <id>] [--limit <n>] [--format json]"
7946
- ),
7947
- siteHealthAlias(
7948
- ["technical-aeo", "dead-links"],
7949
- ["site-health", "dead-links"],
7950
- "canonry site-health dead-links <project> [--run-id <id>] [--cursor <cursor>] [--limit <n>] [--format json|jsonl]"
7951
- ),
7952
- siteHealthAlias(
7953
- ["technical-aeo", "subgraph"],
7954
- ["site-health", "subgraph"],
7955
- "canonry site-health subgraph <project> [--run-id <id>] [--node-key <key>|--url <url>] [--hops <n>] [--max-nodes <n>] [--max-edges <n>] [--format json]"
7956
- ),
7957
- siteHealthAlias(
7958
- ["technical-aeo", "path"],
7959
- ["site-health", "path"],
7960
- "canonry site-health path <project> (--to-node-key <key>|--to-url <url>) [--run-id <id>] [--from-node-key <key>|--from-url <url>] [--max-depth <n>] [--format json]"
7961
- ),
7962
- siteHealthAlias(
7963
- ["technical-aeo", "changes"],
7964
- ["site-health", "changes"],
7965
- "canonry site-health 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]"
7966
- )
7967
- ];
7968
8026
  var TECHNICAL_AEO_CLI_COMMANDS = [
7969
- ...TECHNICAL_AEO_CLI_COMMANDS_BASE,
7970
- ...SITE_HEALTH_COMPATIBILITY_COMMANDS
8027
+ ...AGENT_READINESS_CLI_COMMANDS,
8028
+ ...DEPRECATED_AGENT_READINESS_CLI_ALIASES.map(([alias, canonical]) => deprecatedAlias(alias, canonical))
7971
8029
  ];
7972
8030
 
7973
8031
  // src/cli-commands/trends.ts
@@ -7977,7 +8035,7 @@ var TRENDS_CLI_COMMANDS = [
7977
8035
  {
7978
8036
  path: ["trends"],
7979
8037
  usage: USAGE4,
7980
- help: "Read a dashboard trend card from stored data: each figure's latest reading, its change since the first reading in the window, and its readings. index-coverage covers Google and Bing indexed pages, site-health the site score per scan, backlinks referring domains per Common Crawl release (crawler and proxy hosts left out). The window ends on the latest reading; it defaults to 90d for index-coverage and all otherwise. --start and --end read your own calendar range instead.",
8038
+ help: "Read a dashboard trend card from stored data: each figure's latest reading, its change since the first reading in the window, and its readings. index-coverage covers Google and Bing indexed pages, site-health the Agent Readiness score per scan, backlinks referring domains per Common Crawl release (crawler and proxy hosts left out). The window ends on the latest reading; it defaults to 90d for index-coverage and all otherwise. --start and --end read your own calendar range instead.",
7981
8039
  options: {
7982
8040
  surface: stringOption(),
7983
8041
  window: stringOption(),
@@ -8015,7 +8073,7 @@ Usage: ${USAGE4}`, {
8015
8073
  details: { command: "trends", usage: USAGE4, option: "window", value: windowValue }
8016
8074
  });
8017
8075
  }
8018
- const { trendsCommand } = await import("./trends-AQK3GLWF.js");
8076
+ const { trendsCommand } = await import("./trends-RGAKGX3L.js");
8019
8077
  await trendsCommand(project3, { surface: surface.data, window: windowValue, startDate: start, endDate: end, format: input.format });
8020
8078
  }
8021
8079
  }
@@ -8027,7 +8085,7 @@ var SITEMAPS_CLI_COMMANDS = [
8027
8085
  {
8028
8086
  path: ["sitemaps"],
8029
8087
  usage: USAGE5,
8030
- help: `Compare the site's sitemaps (from the latest Site Health scan) with what Google and Bing list, from stored data. Each engine shows its sitemaps and the ones it is missing: those the site declares or that were submitted to the other engine. Add a missing one with "canonry google submit-sitemap" or "canonry bing submit-sitemap".`,
8088
+ help: `Compare the site's sitemaps (from the latest Agent Readiness audit scan) with what Google and Bing list, from stored data. Each engine shows its sitemaps and the ones it is missing: those the site declares or that were submitted to the other engine. Add a missing one with "canonry google submit-sitemap" or "canonry bing submit-sitemap".`,
8031
8089
  options: { engine: stringOption() },
8032
8090
  run: async (input) => {
8033
8091
  const project3 = requireProject(input, "sitemaps", USAGE5);
@@ -8037,7 +8095,7 @@ var SITEMAPS_CLI_COMMANDS = [
8037
8095
  throw usageError(`Error: ${message}
8038
8096
  Usage: ${USAGE5}`, { message, details: { command: "sitemaps", usage: USAGE5, option: "engine", value: engine } });
8039
8097
  }
8040
- const { sitemapsCommand } = await import("./sitemaps-APTY7U6H.js");
8098
+ const { sitemapsCommand } = await import("./sitemaps-BM7S76H2.js");
8041
8099
  await sitemapsCommand(project3, { engine, format: input.format });
8042
8100
  }
8043
8101
  }
@@ -8093,7 +8151,7 @@ var VISIBILITY_STATS_CLI_COMMANDS = [
8093
8151
  "query-class": stringOption()
8094
8152
  },
8095
8153
  run: async (input) => {
8096
- const { showVisibilityStats } = await import("./visibility-stats-44QAD2XS.js");
8154
+ const { showVisibilityStats } = await import("./visibility-stats-DTGQJPNV.js");
8097
8155
  const project3 = requireProject(input, "visibility-stats", USAGE6);
8098
8156
  await showVisibilityStats(project3, {
8099
8157
  since: getString(input.values, "since"),
@@ -8124,7 +8182,7 @@ var VISIBILITY_STATS_CLI_COMMANDS = [
8124
8182
  location: stringOption()
8125
8183
  },
8126
8184
  run: async (input) => {
8127
- const { showVisibilityCompare } = await import("./visibility-stats-44QAD2XS.js");
8185
+ const { showVisibilityCompare } = await import("./visibility-stats-DTGQJPNV.js");
8128
8186
  const project3 = requireProject(input, "visibility-compare", COMPARE_USAGE);
8129
8187
  await showVisibilityCompare(project3, {
8130
8188
  from: getString(input.values, "from"),
@@ -8207,7 +8265,7 @@ var WORDPRESS_CLI_COMMANDS = [
8207
8265
  "default-env": stringOption()
8208
8266
  },
8209
8267
  run: async (input) => {
8210
- const { wordpressConnect } = await import("./wordpress-N7LTOW46.js");
8268
+ const { wordpressConnect } = await import("./wordpress-2CNUX4UE.js");
8211
8269
  const usage = "canonry wordpress connect <project> --url <url> --user <user> [--app-password <password>] [--staging-url <url>] [--default-env live|staging] [--format json]";
8212
8270
  const project3 = requireProject(input, "wordpress.connect", usage);
8213
8271
  const url = requireStringOption(input, "url", {
@@ -8241,7 +8299,7 @@ var WORDPRESS_CLI_COMMANDS = [
8241
8299
  path: ["wordpress", "disconnect"],
8242
8300
  usage: "canonry wordpress disconnect <project> [--format json]",
8243
8301
  run: async (input) => {
8244
- const { wordpressDisconnect } = await import("./wordpress-N7LTOW46.js");
8302
+ const { wordpressDisconnect } = await import("./wordpress-2CNUX4UE.js");
8245
8303
  const project3 = requireProject(input, "wordpress.disconnect", "canonry wordpress disconnect <project> [--format json]");
8246
8304
  await wordpressDisconnect(project3, input.format);
8247
8305
  }
@@ -8250,7 +8308,7 @@ var WORDPRESS_CLI_COMMANDS = [
8250
8308
  path: ["wordpress", "status"],
8251
8309
  usage: "canonry wordpress status <project> [--format json]",
8252
8310
  run: async (input) => {
8253
- const { wordpressStatus } = await import("./wordpress-N7LTOW46.js");
8311
+ const { wordpressStatus } = await import("./wordpress-2CNUX4UE.js");
8254
8312
  const project3 = requireProject(input, "wordpress.status", "canonry wordpress status <project> [--format json]");
8255
8313
  await wordpressStatus(project3, input.format);
8256
8314
  }
@@ -8260,7 +8318,7 @@ var WORDPRESS_CLI_COMMANDS = [
8260
8318
  usage: "canonry wordpress pages <project> [--live|--staging] [--format json]",
8261
8319
  options: envOptions,
8262
8320
  run: async (input) => {
8263
- const { wordpressPages } = await import("./wordpress-N7LTOW46.js");
8321
+ const { wordpressPages } = await import("./wordpress-2CNUX4UE.js");
8264
8322
  const usage = "canonry wordpress pages <project> [--live|--staging] [--format json]";
8265
8323
  const project3 = requireProject(input, "wordpress.pages", usage);
8266
8324
  await wordpressPages(project3, {
@@ -8274,7 +8332,7 @@ var WORDPRESS_CLI_COMMANDS = [
8274
8332
  usage: "canonry wordpress page <project> <slug> [--live|--staging] [--format json]",
8275
8333
  options: envOptions,
8276
8334
  run: async (input) => {
8277
- const { wordpressPage } = await import("./wordpress-N7LTOW46.js");
8335
+ const { wordpressPage } = await import("./wordpress-2CNUX4UE.js");
8278
8336
  const usage = "canonry wordpress page <project> <slug> [--live|--staging] [--format json]";
8279
8337
  const project3 = requireProject(input, "wordpress.page", usage);
8280
8338
  const slug = requirePositional(input, 1, {
@@ -8300,7 +8358,7 @@ var WORDPRESS_CLI_COMMANDS = [
8300
8358
  ...envOptions
8301
8359
  },
8302
8360
  run: async (input) => {
8303
- const { wordpressCreatePage } = await import("./wordpress-N7LTOW46.js");
8361
+ const { wordpressCreatePage } = await import("./wordpress-2CNUX4UE.js");
8304
8362
  const usage = "canonry wordpress create-page <project> --title <title> --slug <slug> [--content <content>|--content-file <path>] [--status draft|publish] [--live|--staging] [--format json]";
8305
8363
  const project3 = requireProject(input, "wordpress.create-page", usage);
8306
8364
  await wordpressCreatePage(project3, {
@@ -8333,7 +8391,7 @@ var WORDPRESS_CLI_COMMANDS = [
8333
8391
  ...envOptions
8334
8392
  },
8335
8393
  run: async (input) => {
8336
- const { wordpressUpdatePage } = await import("./wordpress-N7LTOW46.js");
8394
+ const { wordpressUpdatePage } = await import("./wordpress-2CNUX4UE.js");
8337
8395
  const usage = "canonry wordpress update-page <project> <slug> [--title <title>] [--slug <slug>] [--content <content>|--content-file <path>] [--status draft|publish] [--live|--staging] [--format json]";
8338
8396
  const project3 = requireProject(input, "wordpress.update-page", usage);
8339
8397
  const currentSlug = requirePositional(input, 1, {
@@ -8364,7 +8422,7 @@ var WORDPRESS_CLI_COMMANDS = [
8364
8422
  ...envOptions
8365
8423
  },
8366
8424
  run: async (input) => {
8367
- const { wordpressBulkSetMeta, wordpressSetMeta } = await import("./wordpress-N7LTOW46.js");
8425
+ const { wordpressBulkSetMeta, wordpressSetMeta } = await import("./wordpress-2CNUX4UE.js");
8368
8426
  const fromFile = getString(input.values, "from");
8369
8427
  if (fromFile) {
8370
8428
  const usage2 = "canonry wordpress set-meta <project> --from <file> [--live|--staging] [--format json]";
@@ -8401,7 +8459,7 @@ var WORDPRESS_CLI_COMMANDS = [
8401
8459
  ...envOptions
8402
8460
  },
8403
8461
  run: async (input) => {
8404
- const { wordpressSchemaDeploy } = await import("./wordpress-N7LTOW46.js");
8462
+ const { wordpressSchemaDeploy } = await import("./wordpress-2CNUX4UE.js");
8405
8463
  const usage = "canonry wordpress schema deploy <project> --profile <file> [--live|--staging] [--format json]";
8406
8464
  const project3 = requireProject(input, "wordpress.schema.deploy", usage);
8407
8465
  const profile = requireStringOption(input, "profile", {
@@ -8421,7 +8479,7 @@ var WORDPRESS_CLI_COMMANDS = [
8421
8479
  usage: "canonry wordpress schema status <project> [--live|--staging] [--format json]",
8422
8480
  options: envOptions,
8423
8481
  run: async (input) => {
8424
- const { wordpressSchemaStatus } = await import("./wordpress-N7LTOW46.js");
8482
+ const { wordpressSchemaStatus } = await import("./wordpress-2CNUX4UE.js");
8425
8483
  const usage = "canonry wordpress schema status <project> [--live|--staging] [--format json]";
8426
8484
  const project3 = requireProject(input, "wordpress.schema.status", usage);
8427
8485
  await wordpressSchemaStatus(project3, {
@@ -8435,7 +8493,7 @@ var WORDPRESS_CLI_COMMANDS = [
8435
8493
  usage: "canonry wordpress schema <project> <slug> [--live|--staging] [--format json]",
8436
8494
  options: envOptions,
8437
8495
  run: async (input) => {
8438
- const { wordpressSchema } = await import("./wordpress-N7LTOW46.js");
8496
+ const { wordpressSchema } = await import("./wordpress-2CNUX4UE.js");
8439
8497
  const usage = "canonry wordpress schema <project> <slug> [--live|--staging] [--format json]";
8440
8498
  const project3 = requireProject(input, "wordpress.schema", usage);
8441
8499
  const slug = requirePositional(input, 1, {
@@ -8458,7 +8516,7 @@ var WORDPRESS_CLI_COMMANDS = [
8458
8516
  ...envOptions
8459
8517
  },
8460
8518
  run: async (input) => {
8461
- const { wordpressSetSchema } = await import("./wordpress-N7LTOW46.js");
8519
+ const { wordpressSetSchema } = await import("./wordpress-2CNUX4UE.js");
8462
8520
  const usage = "canonry wordpress set-schema <project> <slug> --json <json> [--type <type>] [--live|--staging] [--format json]";
8463
8521
  const project3 = requireProject(input, "wordpress.set-schema", usage);
8464
8522
  const slug = requirePositional(input, 1, {
@@ -8484,7 +8542,7 @@ var WORDPRESS_CLI_COMMANDS = [
8484
8542
  usage: "canonry wordpress llms-txt <project> [--live|--staging] [--format json]",
8485
8543
  options: envOptions,
8486
8544
  run: async (input) => {
8487
- const { wordpressLlmsTxt } = await import("./wordpress-N7LTOW46.js");
8545
+ const { wordpressLlmsTxt } = await import("./wordpress-2CNUX4UE.js");
8488
8546
  const usage = "canonry wordpress llms-txt <project> [--live|--staging] [--format json]";
8489
8547
  const project3 = requireProject(input, "wordpress.llms-txt", usage);
8490
8548
  await wordpressLlmsTxt(project3, {
@@ -8501,7 +8559,7 @@ var WORDPRESS_CLI_COMMANDS = [
8501
8559
  ...envOptions
8502
8560
  },
8503
8561
  run: async (input) => {
8504
- const { wordpressSetLlmsTxt } = await import("./wordpress-N7LTOW46.js");
8562
+ const { wordpressSetLlmsTxt } = await import("./wordpress-2CNUX4UE.js");
8505
8563
  const usage = "canonry wordpress set-llms-txt <project> --content <content> [--live|--staging] [--format json]";
8506
8564
  const project3 = requireProject(input, "wordpress.set-llms-txt", usage);
8507
8565
  await wordpressSetLlmsTxt(project3, {
@@ -8529,7 +8587,7 @@ var WORDPRESS_CLI_COMMANDS = [
8529
8587
  ...envOptions
8530
8588
  },
8531
8589
  run: async (input) => {
8532
- const { wordpressOnboard } = await import("./wordpress-N7LTOW46.js");
8590
+ const { wordpressOnboard } = await import("./wordpress-2CNUX4UE.js");
8533
8591
  const usage = "canonry wordpress onboard <project> --url <url> --user <user> [--app-password <pw>] [--profile <file>] [--format json]";
8534
8592
  const project3 = requireProject(input, "wordpress.onboard", usage);
8535
8593
  const url = requireStringOption(input, "url", {
@@ -8560,7 +8618,7 @@ var WORDPRESS_CLI_COMMANDS = [
8560
8618
  usage: "canonry wordpress audit <project> [--live|--staging] [--format json]",
8561
8619
  options: envOptions,
8562
8620
  run: async (input) => {
8563
- const { wordpressAudit } = await import("./wordpress-N7LTOW46.js");
8621
+ const { wordpressAudit } = await import("./wordpress-2CNUX4UE.js");
8564
8622
  const usage = "canonry wordpress audit <project> [--live|--staging] [--format json]";
8565
8623
  const project3 = requireProject(input, "wordpress.audit", usage);
8566
8624
  await wordpressAudit(project3, {
@@ -8573,7 +8631,7 @@ var WORDPRESS_CLI_COMMANDS = [
8573
8631
  path: ["wordpress", "diff"],
8574
8632
  usage: "canonry wordpress diff <project> <slug> [--format json]",
8575
8633
  run: async (input) => {
8576
- const { wordpressDiff } = await import("./wordpress-N7LTOW46.js");
8634
+ const { wordpressDiff } = await import("./wordpress-2CNUX4UE.js");
8577
8635
  const usage = "canonry wordpress diff <project> <slug> [--format json]";
8578
8636
  const project3 = requireProject(input, "wordpress.diff", usage);
8579
8637
  const slug = requirePositional(input, 1, {
@@ -8588,7 +8646,7 @@ var WORDPRESS_CLI_COMMANDS = [
8588
8646
  path: ["wordpress", "staging", "status"],
8589
8647
  usage: "canonry wordpress staging status <project> [--format json]",
8590
8648
  run: async (input) => {
8591
- const { wordpressStagingStatus } = await import("./wordpress-N7LTOW46.js");
8649
+ const { wordpressStagingStatus } = await import("./wordpress-2CNUX4UE.js");
8592
8650
  const project3 = requireProject(input, "wordpress.staging.status", "canonry wordpress staging status <project> [--format json]");
8593
8651
  await wordpressStagingStatus(project3, input.format);
8594
8652
  }
@@ -8597,7 +8655,7 @@ var WORDPRESS_CLI_COMMANDS = [
8597
8655
  path: ["wordpress", "staging", "push"],
8598
8656
  usage: "canonry wordpress staging push <project> [--format json]",
8599
8657
  run: async (input) => {
8600
- const { wordpressStagingPush } = await import("./wordpress-N7LTOW46.js");
8658
+ const { wordpressStagingPush } = await import("./wordpress-2CNUX4UE.js");
8601
8659
  const project3 = requireProject(input, "wordpress.staging.push", "canonry wordpress staging push <project> [--format json]");
8602
8660
  await wordpressStagingPush(project3, input.format);
8603
8661
  }
@@ -8634,7 +8692,7 @@ var AGENT_CLI_COMMANDS = [
8634
8692
  usage: `canonry agent conversations ${action} <project> [--id <conversation-id>] [--offset <n>] [--limit <n>] [--format json]`,
8635
8693
  options: { id: stringOption(), offset: stringOption(), limit: stringOption() },
8636
8694
  run: async (input) => {
8637
- const { agentConversations } = await import("./agent-conversations-BCWA4JJL.js");
8695
+ const { agentConversations } = await import("./agent-conversations-SNLOOJEM.js");
8638
8696
  const usage = `canonry agent conversations ${action} <project>`;
8639
8697
  const project3 = requireProject(input, `agent.conversations.${action}`, usage);
8640
8698
  const id2 = action === "new" || action === "list" ? getString(input.values, "id") : requireStringOption(input, "id", { command: `agent.conversations.${action}`, usage, message: "--id is required" });
@@ -8657,9 +8715,9 @@ var AGENT_CLI_COMMANDS = [
8657
8715
  "timeout-ms": stringOption()
8658
8716
  },
8659
8717
  run: async (input) => {
8660
- const { coerceAgentProvider } = await import("./session-YAYEDM3P.js");
8661
- const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-46XX6I4R.js");
8662
- const { agentAsk } = await import("./agent-ask-KPZOH6RY.js");
8718
+ const { coerceAgentProvider } = await import("./session-RTE22GQT.js");
8719
+ const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-4R33AZQ3.js");
8720
+ const { agentAsk } = await import("./agent-ask-5ODREK6D.js");
8663
8721
  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]`;
8664
8722
  const project3 = requireProject(input, "agent.ask", usage);
8665
8723
  const prompt = input.positionals.slice(1).join(" ").trim();
@@ -8744,7 +8802,7 @@ Usage: ${usage}`, {
8744
8802
  usage: "canonry agent providers <project> [--format json]",
8745
8803
  options: {},
8746
8804
  run: async (input) => {
8747
- const { agentProviders } = await import("./agent-providers-E7EWFE5P.js");
8805
+ const { agentProviders } = await import("./agent-providers-R5L7A72X.js");
8748
8806
  const project3 = requireProject(input, "agent.providers", "canonry agent providers <project> [--format json]");
8749
8807
  await agentProviders({ project: project3, format: input.format });
8750
8808
  }
@@ -8756,7 +8814,7 @@ Usage: ${usage}`, {
8756
8814
  url: stringOption()
8757
8815
  },
8758
8816
  run: async (input) => {
8759
- const { agentAttach } = await import("./agent-KTK2IDB3.js");
8817
+ const { agentAttach } = await import("./agent-2LPU2E5I.js");
8760
8818
  const usage = "canonry agent attach <project> --url <webhook-url> [--format json]";
8761
8819
  const project3 = requireProject(input, "agent.attach", usage);
8762
8820
  const url = requireStringOption(input, "url", {
@@ -8775,7 +8833,7 @@ Usage: ${usage}`, {
8775
8833
  usage: "canonry agent detach <project> [--format json]",
8776
8834
  options: {},
8777
8835
  run: async (input) => {
8778
- const { agentDetach } = await import("./agent-KTK2IDB3.js");
8836
+ const { agentDetach } = await import("./agent-2LPU2E5I.js");
8779
8837
  const project3 = requireProject(input, "agent.detach", "canonry agent detach <project> [--format json]");
8780
8838
  await agentDetach({ project: project3, format: input.format });
8781
8839
  }
@@ -8785,7 +8843,7 @@ Usage: ${usage}`, {
8785
8843
  usage: "canonry agent transcript <project> [--format json]",
8786
8844
  options: {},
8787
8845
  run: async (input) => {
8788
- const { agentTranscript } = await import("./agent-transcript-QGJ45NW5.js");
8846
+ const { agentTranscript } = await import("./agent-transcript-C5WAGYVC.js");
8789
8847
  const project3 = requireProject(input, "agent.transcript", "canonry agent transcript <project> [--format json]");
8790
8848
  await agentTranscript({ project: project3, format: input.format });
8791
8849
  }
@@ -8795,7 +8853,7 @@ Usage: ${usage}`, {
8795
8853
  usage: "canonry agent reset <project> [--format json]",
8796
8854
  options: {},
8797
8855
  run: async (input) => {
8798
- const { agentTranscriptReset } = await import("./agent-transcript-QGJ45NW5.js");
8856
+ const { agentTranscriptReset } = await import("./agent-transcript-C5WAGYVC.js");
8799
8857
  const project3 = requireProject(input, "agent.reset", "canonry agent reset <project> [--format json]");
8800
8858
  await agentTranscriptReset({ project: project3, format: input.format });
8801
8859
  }
@@ -8805,7 +8863,7 @@ Usage: ${usage}`, {
8805
8863
  usage: "canonry agent clear <project> [--format json]",
8806
8864
  options: {},
8807
8865
  run: async (input) => {
8808
- const { agentTranscriptReset } = await import("./agent-transcript-QGJ45NW5.js");
8866
+ const { agentTranscriptReset } = await import("./agent-transcript-C5WAGYVC.js");
8809
8867
  const project3 = requireProject(input, "agent.clear", "canonry agent clear <project> [--format json]");
8810
8868
  await agentTranscriptReset({ project: project3, format: input.format });
8811
8869
  }
@@ -8815,7 +8873,7 @@ Usage: ${usage}`, {
8815
8873
  usage: "canonry agent memory list <project> [--format json]",
8816
8874
  options: {},
8817
8875
  run: async (input) => {
8818
- const { agentMemoryList } = await import("./agent-memory-24SYEGEX.js");
8876
+ const { agentMemoryList } = await import("./agent-memory-NKAI2S3U.js");
8819
8877
  const usage = "canonry agent memory list <project> [--format json]";
8820
8878
  const project3 = requireProject(input, "agent.memory.list", usage);
8821
8879
  await agentMemoryList({ project: project3, format: input.format });
@@ -8829,7 +8887,7 @@ Usage: ${usage}`, {
8829
8887
  value: stringOption()
8830
8888
  },
8831
8889
  run: async (input) => {
8832
- const { agentMemorySet } = await import("./agent-memory-24SYEGEX.js");
8890
+ const { agentMemorySet } = await import("./agent-memory-NKAI2S3U.js");
8833
8891
  const usage = "canonry agent memory set <project> --key <k> --value <v> [--format json]";
8834
8892
  const project3 = requireProject(input, "agent.memory.set", usage);
8835
8893
  const key = requireStringOption(input, "key", {
@@ -8858,7 +8916,7 @@ Usage: ${usage}`, {
8858
8916
  key: stringOption()
8859
8917
  },
8860
8918
  run: async (input) => {
8861
- const { agentMemoryForget } = await import("./agent-memory-24SYEGEX.js");
8919
+ const { agentMemoryForget } = await import("./agent-memory-NKAI2S3U.js");
8862
8920
  const usage = "canonry agent memory forget <project> --key <k> [--format json]";
8863
8921
  const project3 = requireProject(input, "agent.memory.forget", usage);
8864
8922
  const key = requireStringOption(input, "key", {