@canonry/canonry 7.98.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 +34 -23
  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-DeN79d3c.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-CdEHcI5S.js → account-context-CoJVqEXZ.js} +1 -1
  31. package/assets/assets/{agent-trust-copy-N6WacCSg.js → agent-trust-copy-BIXDMtBm.js} +1 -1
  32. package/assets/assets/{card-B1O0SunG.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-f4uuOgrw.js → react-sigma_core.esm.min-D1q0DR_j.js} +3 -3
  38. package/assets/assets/{server-traffic-CkSCFMnL.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-PQ4OP6OH.js → ads-FVPZ6R6Z.js} +3 -3
  48. package/dist/{agent-B6ZPL2HH.js → agent-2LPU2E5I.js} +7 -7
  49. package/dist/{agent-ask-ZUKNXRAX.js → agent-ask-5ODREK6D.js} +3 -3
  50. package/dist/{agent-conversations-DJ7WU7PL.js → agent-conversations-SNLOOJEM.js} +3 -3
  51. package/dist/{agent-journeys-LGUI3SQG.js → agent-journeys-XDXVL6PK.js} +3 -3
  52. package/dist/{agent-memory-PWZJ7G5Q.js → agent-memory-NKAI2S3U.js} +3 -3
  53. package/dist/{agent-providers-TEERDNJT.js → agent-providers-R5L7A72X.js} +3 -3
  54. package/dist/{agent-transcript-KDPOPK5Z.js → agent-transcript-C5WAGYVC.js} +3 -3
  55. package/dist/{analytics-NFW5RQRT.js → analytics-EJVOLIQL.js} +33 -13
  56. package/dist/{apply-EP4V4UF5.js → apply-I6JOM247.js} +3 -3
  57. package/dist/{backfill-6UTNNVFO.js → backfill-UVUR36IB.js} +10 -10
  58. package/dist/{backlinks-SG5GV5X5.js → backlinks-3VMVACWN.js} +3 -3
  59. package/dist/{bing-Q4W24JNC.js → bing-R5RL3PW2.js} +3 -3
  60. package/dist/{bootstrap-WEMERVNZ.js → bootstrap-GMMSDTNO.js} +12 -12
  61. package/dist/{cdp-3XKBJGHO.js → cdp-FJKUXHEY.js} +7 -7
  62. package/dist/{chunk-KK3Z34AN.js → chunk-2DV7F6XA.js} +91 -2
  63. package/dist/{chunk-MTW37GXF.js → chunk-2FWYWGIR.js} +2 -2
  64. package/dist/{chunk-Q5SNOMRB.js → chunk-56VVRWJM.js} +14 -5
  65. package/dist/{chunk-52M2JWCB.js → chunk-7BEGCVVB.js} +1 -1
  66. package/dist/{chunk-WZSDGC45.js → chunk-7BH53MOB.js} +27 -2
  67. package/dist/{chunk-IX5AC3QB.js → chunk-7J2RIIYU.js} +1450 -1067
  68. package/dist/{chunk-UXXZXXNG.js → chunk-7SNMIXEQ.js} +2 -2
  69. package/dist/{chunk-2XCYEBQV.js → chunk-AMGM55CP.js} +2 -2
  70. package/dist/{chunk-MSI4BGFN.js → chunk-AYKTVQF7.js} +13 -5
  71. package/dist/{chunk-3JWY65XO.js → chunk-BKDRT4VS.js} +7 -7
  72. package/dist/{chunk-FQ3L2TIX.js → chunk-COHSL6KW.js} +1 -1
  73. package/dist/{chunk-X3UXMHWC.js → chunk-DGDLLRS4.js} +1 -1
  74. package/dist/{chunk-YJITDEZR.js → chunk-DHIB7EIA.js} +4 -4
  75. package/dist/{chunk-BLW327AU.js → chunk-EE3QTCLS.js} +18 -6
  76. package/dist/{chunk-3GMBHGQ5.js → chunk-F46TBLXK.js} +204 -94
  77. package/dist/{chunk-RTH5JVC3.js → chunk-FBO25TA3.js} +1 -1
  78. package/dist/{chunk-2Q7JEC6N.js → chunk-FZ3MUTU3.js} +2 -2
  79. package/dist/{chunk-64R66MWZ.js → chunk-G6QN4VFS.js} +16 -10
  80. package/dist/{chunk-ISIJ2NS4.js → chunk-HBHLYWKE.js} +9 -6
  81. package/dist/{chunk-EJZ444VV.js → chunk-HL2LGRTI.js} +8 -6
  82. package/dist/chunk-J6536OL6.js +31 -0
  83. package/dist/{chunk-RLKI2QF7.js → chunk-KVRX7YIH.js} +20 -10
  84. package/dist/{chunk-3BA75QYU.js → chunk-LJO2BKWU.js} +1 -1
  85. package/dist/{chunk-CN6MVUY3.js → chunk-LNVFERI4.js} +1 -1
  86. package/dist/{chunk-ZADRESLB.js → chunk-NQYJHKML.js} +39 -7
  87. package/dist/{chunk-IAGC2MGP.js → chunk-O5UFAXUI.js} +646 -588
  88. package/dist/{chunk-RGFIRJ7F.js → chunk-O6APBEJE.js} +2 -2
  89. package/dist/{chunk-ZBTUISPG.js → chunk-O7S7OHLE.js} +9399 -8388
  90. package/dist/{chunk-ER5ZHAB2.js → chunk-QS5DWJDI.js} +2 -2
  91. package/dist/{chunk-QSL3FXE4.js → chunk-RBG2QXQM.js} +4 -4
  92. package/dist/{chunk-SAKH2RRF.js → chunk-SWZXHHAG.js} +16 -8
  93. package/dist/{chunk-VMGZBH5L.js → chunk-T7UDY7W3.js} +26 -11
  94. package/dist/{chunk-OL2L5ANJ.js → chunk-UGO2FO6V.js} +119 -55
  95. package/dist/{chunk-J6MYB3F4.js → chunk-VHULVUDL.js} +1 -1
  96. package/dist/{chunk-O22WSFWL.js → chunk-YGAQQSCL.js} +56339 -54966
  97. package/dist/{chunk-TNOYUE2L.js → chunk-YIIRS7V7.js} +98 -65
  98. package/dist/{chunk-64KB6YTG.js → chunk-YU2WX7RD.js} +3 -3
  99. package/dist/{citations-5OSQ3ZYU.js → citations-LOEQRDUB.js} +21 -10
  100. package/dist/{cli-catalog-T5OAVKGS.js → cli-catalog-5RXNUFBS.js} +3 -3
  101. package/dist/{cli-commands-VATCVJKW.js → cli-commands-HE2BQY3Y.js} +7 -7
  102. package/dist/cli.js +22 -17
  103. package/dist/{competitor-YIKTMTHY.js → competitor-PIX2BHJW.js} +3 -3
  104. package/dist/{content-DS2LKR7J.js → content-PJGW4WZF.js} +3 -3
  105. package/dist/{dashboard-HLVRRRI4.js → dashboard-7OKBD4MG.js} +6 -6
  106. package/dist/{demo-A5DTVJGK.js → demo-SCOFAWFM.js} +1 -1
  107. package/dist/{demo-server-P2JGAI6C.js → demo-server-SJPI6RSL.js} +38 -36
  108. package/dist/{discover-VNZDO2MU.js → discover-I3WL2QUN.js} +10 -8
  109. package/dist/{discover-eval-ON77LUEN.js → discover-eval-YRECOIP5.js} +3 -3
  110. package/dist/{doctor-7TNNTI7H.js → doctor-F4J6LILX.js} +3 -3
  111. package/dist/{evidence-E54CNGXS.js → evidence-MYQTCY4V.js} +25 -10
  112. package/dist/{export-cmd-XXZ6KLQQ.js → export-cmd-3SUFOJM6.js} +3 -3
  113. package/dist/{ga-ZQB4EJI3.js → ga-VA6FYK4L.js} +3 -3
  114. package/dist/{gbp-ZQL6NQEK.js → gbp-DI6ZVFHL.js} +3 -3
  115. package/dist/{google-7EIHQGSV.js → google-UVKWJCD2.js} +4 -4
  116. package/dist/{google-marketing-RSAO4PG7.js → google-marketing-S63HN733.js} +1 -1
  117. package/dist/{health-cmd-R7WPKGWX.js → health-cmd-DOZXGI46.js} +16 -9
  118. package/dist/{history-2CSWSVCY.js → history-UTJTUDYK.js} +3 -3
  119. package/dist/index.d.ts +204 -12
  120. package/dist/index.js +26 -26
  121. package/dist/{init-FXZRMXZ3.js → init-IVJSS33J.js} +19 -19
  122. package/dist/{insights-EJUL3W6D.js → insights-UHCVCZ76.js} +3 -3
  123. package/dist/intelligence-service-3EENJ5DS.js +16 -0
  124. package/dist/{journeys-YUMBANFH.js → journeys-XIT7WDM2.js} +3 -3
  125. package/dist/{keys-KLOTGT4H.js → keys-MQKW4JUI.js} +3 -3
  126. package/dist/{keyword-5NSJFEOI.js → keyword-EASMKYZ3.js} +3 -3
  127. package/dist/{logs-WW3RLCRG.js → logs-ZHZ6XM55.js} +3 -3
  128. package/dist/{mcp-NTBEIEVX.js → mcp-ECVT2YGU.js} +4 -4
  129. package/dist/mcp.js +10 -10
  130. package/dist/{measurement-plan-BLPAZEXS.js → measurement-plan-7FQKUOMR.js} +5 -5
  131. package/dist/{notify-KAGE6UEN.js → notify-TC7ARC6W.js} +3 -3
  132. package/dist/{organic-evidence-HTYRXRML.js → organic-evidence-M34MWJXE.js} +7 -4
  133. package/dist/overview-P6BRMXJN.js +314 -0
  134. package/dist/{project-NYUWICVC.js → project-WZ2YXFPJ.js} +4 -4
  135. package/dist/project-setup-WV6SPGIV.js +176 -0
  136. package/dist/{query-3CRRDOHD.js → query-WAFJKDHG.js} +3 -3
  137. package/dist/{research-ZULVD3TW.js → research-B5ZPQX7R.js} +3 -3
  138. package/dist/{results-export-STM7SQ4J.js → results-export-NIZV6R3K.js} +3 -3
  139. package/dist/{run-S4MFU4MK.js → run-ICLPZ7QT.js} +7 -4
  140. package/dist/{schedule-6W3Q2FUL.js → schedule-4C44LQ7R.js} +22 -3
  141. package/dist/{search-EKXXN7C4.js → search-UJM7KII3.js} +11 -4
  142. package/dist/{serve-TFBFPFAQ.js → serve-A6UIO6WP.js} +30 -29
  143. package/dist/{session-4B5V3AH6.js → session-RTE22GQT.js} +14 -14
  144. package/dist/settings-BOF5Z7ML.js +211 -0
  145. package/dist/{sitemaps-R7XFCH6E.js → sitemaps-BM7S76H2.js} +4 -4
  146. package/dist/{skills-44XYCTVD.js → skills-X5SR4HRO.js} +2 -2
  147. package/dist/{snapshot-ROAOJI4W.js → snapshot-KLKE37VY.js} +4 -4
  148. package/dist/{src-ZJRIKEDB.js → src-EKLG5A6O.js} +4 -2
  149. package/dist/{status-EN3A2TX5.js → status-OYG57DWU.js} +6 -5
  150. package/dist/{technical-aeo-ZV466F65.js → technical-aeo-KWVWOOTI.js} +23 -23
  151. package/dist/{telemetry-EZHPNZ2A.js → telemetry-KGE6FF3Y.js} +4 -4
  152. package/dist/{tools-IH4M7AAG.js → tools-4R33AZQ3.js} +11 -11
  153. package/dist/{traffic-VFLXWB3Z.js → traffic-SVMOKCSS.js} +7 -11
  154. package/dist/{trends-ZXJIX3Z3.js → trends-RGAKGX3L.js} +4 -4
  155. package/dist/{users-J2BYEWOE.js → users-47WKA2TO.js} +3 -3
  156. package/dist/{visibility-stats-AJ7NY2BP.js → visibility-stats-DTGQJPNV.js} +9 -5
  157. package/dist/{wordpress-U6MS35VE.js → wordpress-2CNUX4UE.js} +3 -3
  158. package/package.json +2 -2
  159. package/assets/assets/AgentSetupPage-h1kJhy9q.js +0 -18
  160. package/assets/assets/AuditHistoryPanel-CNUApNiJ.js +0 -1
  161. package/assets/assets/BacklinksPage-CpKmlAek.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-CcHnYn81.js +0 -4
  166. package/assets/assets/ProjectPage-Tmuqmust.js +0 -11
  167. package/assets/assets/RunsPage-BD4k3MjX.js +0 -1
  168. package/assets/assets/SettingsPage-BHy30JP5.js +0 -1
  169. package/assets/assets/SiteHealthSection-SYdtuGjq.js +0 -2
  170. package/assets/assets/ToneBadge-Cii5KNtg.js +0 -60
  171. package/assets/assets/TrafficPage-DuxtRqnc.js +0 -40
  172. package/assets/assets/TrafficSourceDetailPage-DiX1bB02.js +0 -1
  173. package/assets/assets/format-helpers-V8Pyc7cR.js +0 -3
  174. package/assets/assets/index-BAxHW-1G.css +0 -1
  175. package/assets/assets/index-BTz-B9hV.js +0 -60
  176. package/assets/assets/query-client-C1ycmW1c.js +0 -1
  177. package/assets/assets/react-query-DI7VfOND.js +0 -1
  178. package/assets/assets/service-DSgXWhNq.js +0 -1
  179. package/assets/assets/vendor-lucide-DuOM7wVi.js +0 -1
  180. package/dist/intelligence-service-TKK7O3Z5.js +0 -16
  181. package/dist/overview-GSJ4GP2T.js +0 -213
  182. package/dist/settings-VRTDPFR3.js +0 -119
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-VJWDBFSL.js";
5
5
  import {
6
6
  createApiClient
7
- } from "./chunk-OL2L5ANJ.js";
7
+ } from "./chunk-UGO2FO6V.js";
8
8
  import {
9
9
  CliError,
10
10
  isMachineFormat
11
11
  } from "./chunk-HGMYEDAQ.js";
12
12
  import {
13
13
  describeError
14
- } from "./chunk-ZBTUISPG.js";
14
+ } from "./chunk-O7S7OHLE.js";
15
15
 
16
16
  // src/commands/mcp.ts
17
17
  import fs from "fs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registeredProviderNames
3
- } from "./chunk-FQ3L2TIX.js";
3
+ } from "./chunk-COHSL6KW.js";
4
4
  import {
5
5
  configExists,
6
6
  loadConfigRaw
7
- } from "./chunk-BLW327AU.js";
7
+ } from "./chunk-EE3QTCLS.js";
8
8
 
9
9
  // src/setup-state.ts
10
10
  import fs from "fs";
@@ -28,7 +28,7 @@ async function buildSetupState() {
28
28
  }
29
29
  if (dbPath && fs.existsSync(dbPath)) {
30
30
  try {
31
- const { createClient, projects, queries: queriesTable } = await import("./src-ZJRIKEDB.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-EKLG5A6O.js");
32
32
  const db = createClient(dbPath);
33
33
  project_count = db.select({ id: projects.id }).from(projects).all().length;
34
34
  const firstQuery = db.select({ id: queriesTable.id }).from(queriesTable).limit(1).all();
@@ -47,7 +47,7 @@ function queueServeHandoff() {
47
47
  async function runPendingServeHandoff(format) {
48
48
  if (!pendingServeHandoff) return;
49
49
  pendingServeHandoff = false;
50
- const { serveCommand } = await import("./serve-TFBFPFAQ.js");
50
+ const { serveCommand } = await import("./serve-A6UIO6WP.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pickProjectCitedDomain
3
- } from "./chunk-ISIJ2NS4.js";
3
+ } from "./chunk-HBHLYWKE.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-UXXZXXNG.js";
6
+ } from "./chunk-7SNMIXEQ.js";
7
7
  import {
8
8
  GBP_INSIGHT_PROVIDER,
9
9
  PERSISTENT_GAP_THRESHOLD,
@@ -17,7 +17,7 @@ import {
17
17
  mergeGscQueryTotalsWithFallback,
18
18
  readGscQueryDailyRows,
19
19
  readLatestGscDataDate
20
- } from "./chunk-O22WSFWL.js";
20
+ } from "./chunk-YGAQQSCL.js";
21
21
  import {
22
22
  competitors,
23
23
  gbpDailyMetrics,
@@ -35,14 +35,16 @@ import {
35
35
  queries,
36
36
  querySnapshots,
37
37
  runs
38
- } from "./chunk-KK3Z34AN.js";
38
+ } from "./chunk-2DV7F6XA.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,
42
42
  RunStatuses,
43
43
  RunTriggers,
44
- effectiveDomains
45
- } from "./chunk-ZBTUISPG.js";
44
+ effectiveDomains,
45
+ isCitationStateMeasured,
46
+ readCitationState
47
+ } from "./chunk-O7S7OHLE.js";
46
48
 
47
49
  // src/intelligence-service.ts
48
50
  import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
@@ -565,7 +567,9 @@ var IntelligenceService = class {
565
567
  id: crypto.randomUUID(),
566
568
  projectId,
567
569
  runId,
568
- overallCitedRate: String(result.health.overallCitedRate),
570
+ // NOT NULL column: a run with no pair measured stores 0, and readers
571
+ // return null for it from the breakdown's `citationNotMeasured`.
572
+ overallCitedRate: String(result.health.overallCitedRate ?? 0),
569
573
  overallMentionRate: String(result.health.overallMentionRate),
570
574
  totalPairs: result.health.totalPairs,
571
575
  citedPairs: result.health.citedPairs,
@@ -716,6 +720,7 @@ var IntelligenceService = class {
716
720
  queryText: querySnapshots.queryText,
717
721
  provider: querySnapshots.provider,
718
722
  citationState: querySnapshots.citationState,
723
+ retrievalStatus: querySnapshots.retrievalStatus,
719
724
  answerMentioned: querySnapshots.answerMentioned,
720
725
  citedDomains: querySnapshots.citedDomains,
721
726
  rawResponse: querySnapshots.rawResponse,
@@ -734,10 +739,13 @@ var IntelligenceService = class {
734
739
  citedDomains: domains,
735
740
  groundingSources: readStoredGroundingSources(r.rawResponse)
736
741
  }).citedCompetitorDomains;
742
+ const citationState = readCitationState(r);
737
743
  snapshots.push({
738
744
  query: resolvedQuery,
739
745
  provider: r.provider,
740
- cited: r.citationState === CitationStates.cited,
746
+ // Tri-state: an answer whose engine returns no sources observed
747
+ // nothing about citation (null), and no detector reads it as a miss.
748
+ cited: isCitationStateMeasured(citationState) ? citationState === CitationStates.cited : null,
741
749
  // Independent answer-text signal. Tri-state passes through untouched
742
750
  // (true / false / null = "not checked"); computeHealth counts only
743
751
  // exact `true`. Never coerce null→false here.
@@ -3,7 +3,7 @@ import {
3
3
  resolveCliAccess,
4
4
  resolveCliAccessForInvocation,
5
5
  windowOptions
6
- } from "./chunk-WZSDGC45.js";
6
+ } from "./chunk-7BH53MOB.js";
7
7
  import {
8
8
  emitJsonl
9
9
  } from "./chunk-Z7IUAJOF.js";
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-HGMYEDAQ.js";
15
15
  import {
16
16
  OperationAccesses
17
- } from "./chunk-ZBTUISPG.js";
17
+ } from "./chunk-O7S7OHLE.js";
18
18
 
19
19
  // src/cli-catalog.ts
20
20
  import { createRequire } from "module";
@@ -45,6 +45,10 @@ Usage: ${commandUsage(spec)}
45
45
  const access = spec.access ?? OperationAccesses.stored;
46
46
  console.log(`Access: ${access} (${access === OperationAccesses.live ? "calls a provider now" : access === OperationAccesses.write ? "changes server state" : "uses stored data"})
47
47
  `);
48
+ if (spec.deprecatedAliasOf) {
49
+ console.log(`Deprecated: use canonry ${spec.deprecatedAliasOf.join(" ")}. This name still works, with the same flags, output and exit codes.
50
+ `);
51
+ }
48
52
  if (spec.help) console.log(`${spec.help}
49
53
  `);
50
54
  const aliases = Object.entries(spec.windowAliases ?? {}).map(([canonical, alias]) => `--${alias} for --${canonical}`);
@@ -94,6 +98,12 @@ function printGroupHelp(group, specs, accessFilter) {
94
98
  console.log(`
95
99
  Usage: canonry ${group} <command> [options]
96
100
  `);
101
+ const replacementRoots = new Set(groupSpecs.map((spec) => spec.deprecatedAliasOf?.[0]));
102
+ const [replacementRoot] = replacementRoots;
103
+ if (replacementRoots.size === 1 && replacementRoot !== void 0) {
104
+ console.log(`Deprecated: use canonry ${replacementRoot}. These names still work, with the same flags, output and exit codes.
105
+ `);
106
+ }
97
107
  if (parentSpec && (!accessFilter || (parentSpec.access ?? OperationAccesses.stored) === accessFilter)) {
98
108
  const access = parentSpec.access ?? OperationAccesses.stored;
99
109
  console.log(` [${access}] ${commandUsage(parentSpec)}
@@ -102,6 +112,7 @@ Usage: canonry ${group} <command> [options]
102
112
  console.log("Subcommands:");
103
113
  for (const spec of groupSpecs) {
104
114
  console.log(` [${spec.access ?? OperationAccesses.stored}] ${commandUsage(spec)}`);
115
+ if (spec.deprecatedAliasOf) console.log(` use: canonry ${spec.deprecatedAliasOf.join(" ")}`);
105
116
  }
106
117
  console.log();
107
118
  }
@@ -111,7 +122,7 @@ async function dispatchRegisteredCommand(args, fallbackFormat, specs) {
111
122
  const accessValue = accessFilterFromArgs(argsWithoutHelp);
112
123
  validateAccessFilter(accessValue);
113
124
  if (fallbackFormat !== "text") {
114
- const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-T5OAVKGS.js");
125
+ const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-5RXNUFBS.js");
115
126
  const group2 = argsWithoutHelp.find((arg) => !arg.startsWith("--"));
116
127
  printCliCatalog2(specs, fallbackFormat, group2, accessValue);
117
128
  return true;
@@ -250,17 +261,21 @@ var CLI_ROOT_SUMMARIES = {
250
261
  "section": "Setup",
251
262
  "summary": "List or install bundled agent skills (claude/codex)"
252
263
  },
264
+ "agent-readiness": {
265
+ "section": "Agent Readiness",
266
+ "summary": "Scan your site, then read its Agent Readiness score, pages, issues and links"
267
+ },
253
268
  "technical-aeo": {
254
- "section": "Page Health",
255
- "summary": "Crawl, score, and inspect site health evidence"
269
+ "section": "Deprecated aliases",
270
+ "summary": "Deprecated name for agent-readiness (same commands, flags and output)"
256
271
  },
257
272
  "doctor": {
258
- "section": "Page Health",
273
+ "section": "Setup",
259
274
  "summary": "Diagnose runtime and integration health"
260
275
  },
261
276
  "project": {
262
277
  "section": "Projects",
263
- "summary": "Create, update, list, show, delete projects"
278
+ "summary": "Create, update, list, show, delete projects; read setup status"
264
279
  },
265
280
  "query": {
266
281
  "section": "Projects",
@@ -383,8 +398,8 @@ var CLI_ROOT_SUMMARIES = {
383
398
  "summary": "Install and manage MCP client connections"
384
399
  },
385
400
  "site-health": {
386
- "section": "Page Health",
387
- "summary": "Crawl, score, and inspect site health evidence"
401
+ "section": "Deprecated aliases",
402
+ "summary": "Deprecated name for agent-readiness reads (same commands, flags and output)"
388
403
  },
389
404
  "keyword": {
390
405
  "section": "Projects",
@@ -528,8 +543,8 @@ function buildCliCatalog(specs) {
528
543
  return { version, globalOptions: catalogOptions({ ...CLI_GLOBAL_OPTIONS, help: { type: "boolean" }, version: { type: "boolean" } }), groups };
529
544
  }
530
545
  function renderTopLevelHelp(catalog) {
531
- const sections = ["Setup", "Page Health", "Projects", "Monitoring", "Config-as-Code", "Integrations", "Automation", "Admin"];
532
- const lines = ["cnry - Page Health and AI visibility CLI ('canonry' also works)", "", "Usage: cnry <command> [options]", ""];
546
+ const sections = ["Setup", "Agent Readiness", "Projects", "Monitoring", "Config-as-Code", "Integrations", "Automation", "Admin", "Deprecated aliases"];
547
+ const lines = ["cnry - Agent Readiness and AI visibility CLI ('canonry' also works)", "", "Usage: cnry <command> [options]", ""];
533
548
  for (const section of [.../* @__PURE__ */ new Set([...sections, ...catalog.groups.map((group) => group.section)])]) {
534
549
  const groups = catalog.groups.filter((group) => group.section === section);
535
550
  if (!groups.length) continue;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-BLW327AU.js";
3
+ } from "./chunk-EE3QTCLS.js";
4
4
  import {
5
5
  PACKAGE_VERSION
6
6
  } from "./chunk-AOJU5LKX.js";
@@ -36,7 +36,7 @@ import {
36
36
  sentimentSettingsReadSchema,
37
37
  sentimentSummaryReadSchema,
38
38
  upgradeCommandFor
39
- } from "./chunk-ZBTUISPG.js";
39
+ } from "./chunk-O7S7OHLE.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -1757,6 +1757,16 @@ var getApiV1ProjectsByNameRunsLatest = (options) => (options.client ?? client).g
1757
1757
  url: "/api/v1/projects/{name}/runs/latest",
1758
1758
  ...options
1759
1759
  });
1760
+ var getApiV1ProjectsByNameRunPreview = (options) => (options.client ?? client).get({
1761
+ security: [{ scheme: "bearer", type: "http" }],
1762
+ url: "/api/v1/projects/{name}/run-preview",
1763
+ ...options
1764
+ });
1765
+ var getApiV1ProjectsByNameSetup = (options) => (options.client ?? client).get({
1766
+ security: [{ scheme: "bearer", type: "http" }],
1767
+ url: "/api/v1/projects/{name}/setup",
1768
+ ...options
1769
+ });
1760
1770
  var getApiV1RunsById = (options) => (options.client ?? client).get({
1761
1771
  security: [{ scheme: "bearer", type: "http" }],
1762
1772
  url: "/api/v1/runs/{id}",
@@ -1854,6 +1864,20 @@ var getApiV1Settings = (options) => (options?.client ?? client).get({
1854
1864
  url: "/api/v1/settings",
1855
1865
  ...options
1856
1866
  });
1867
+ var deleteApiV1SettingsProvidersByName = (options) => (options.client ?? client).delete({
1868
+ security: [{ scheme: "bearer", type: "http" }],
1869
+ url: "/api/v1/settings/providers/{name}",
1870
+ ...options,
1871
+ headers: {
1872
+ "Content-Type": "application/json",
1873
+ ...options.headers
1874
+ }
1875
+ });
1876
+ var getApiV1SettingsProvidersByName = (options) => (options.client ?? client).get({
1877
+ security: [{ scheme: "bearer", type: "http" }],
1878
+ url: "/api/v1/settings/providers/{name}",
1879
+ ...options
1880
+ });
1857
1881
  var putApiV1SettingsProvidersByName = (options) => (options.client ?? client).put({
1858
1882
  security: [{ scheme: "bearer", type: "http" }],
1859
1883
  url: "/api/v1/settings/providers/{name}",
@@ -1872,6 +1896,11 @@ var postApiV1SettingsProvidersReload = (options) => (options?.client ?? client).
1872
1896
  ...options?.headers
1873
1897
  }
1874
1898
  });
1899
+ var postApiV1SettingsProvidersByNameTest = (options) => (options.client ?? client).post({
1900
+ security: [{ scheme: "bearer", type: "http" }],
1901
+ url: "/api/v1/settings/providers/{name}/test",
1902
+ ...options
1903
+ });
1875
1904
  var putApiV1SettingsGoogle = (options) => (options.client ?? client).put({
1876
1905
  security: [{ scheme: "bearer", type: "http" }],
1877
1906
  url: "/api/v1/settings/google",
@@ -1933,6 +1962,15 @@ var postApiV1Snapshot = (options) => (options.client ?? client).post({
1933
1962
  ...options.headers
1934
1963
  }
1935
1964
  });
1965
+ var postApiV1ProjectsByNameSchedulePreview = (options) => (options.client ?? client).post({
1966
+ security: [{ scheme: "bearer", type: "http" }],
1967
+ url: "/api/v1/projects/{name}/schedule/preview",
1968
+ ...options,
1969
+ headers: {
1970
+ "Content-Type": "application/json",
1971
+ ...options.headers
1972
+ }
1973
+ });
1936
1974
  var deleteApiV1ProjectsByNameSchedule = (options) => (options.client ?? client).delete({
1937
1975
  security: [{ scheme: "bearer", type: "http" }],
1938
1976
  url: "/api/v1/projects/{name}/schedule",
@@ -3402,19 +3440,19 @@ var postApiV1ProjectsByNameDiscoverSessionsByIdPromote = (options) => (options.c
3402
3440
  ...options.headers
3403
3441
  }
3404
3442
  });
3405
- var getApiV1ProjectsByNameTechnicalAeo = (options) => (options.client ?? client).get({
3443
+ var getApiV1ProjectsByNameAgentReadiness = (options) => (options.client ?? client).get({
3406
3444
  security: [{ scheme: "bearer", type: "http" }],
3407
- url: "/api/v1/projects/{name}/technical-aeo",
3445
+ url: "/api/v1/projects/{name}/agent-readiness",
3408
3446
  ...options
3409
3447
  });
3410
- var getApiV1ProjectsByNameTechnicalAeoPages = (options) => (options.client ?? client).get({
3448
+ var getApiV1ProjectsByNameAgentReadinessPages = (options) => (options.client ?? client).get({
3411
3449
  security: [{ scheme: "bearer", type: "http" }],
3412
- url: "/api/v1/projects/{name}/technical-aeo/pages",
3450
+ url: "/api/v1/projects/{name}/agent-readiness/pages",
3413
3451
  ...options
3414
3452
  });
3415
- var getApiV1ProjectsByNameTechnicalAeoTrend = (options) => (options.client ?? client).get({
3453
+ var getApiV1ProjectsByNameAgentReadinessTrend = (options) => (options.client ?? client).get({
3416
3454
  security: [{ scheme: "bearer", type: "http" }],
3417
- url: "/api/v1/projects/{name}/technical-aeo/trend",
3455
+ url: "/api/v1/projects/{name}/agent-readiness/trend",
3418
3456
  ...options
3419
3457
  });
3420
3458
  var getApiV1ProjectsByNameTrends = (options) => (options.client ?? client).get({
@@ -3422,78 +3460,78 @@ var getApiV1ProjectsByNameTrends = (options) => (options.client ?? client).get({
3422
3460
  url: "/api/v1/projects/{name}/trends",
3423
3461
  ...options
3424
3462
  });
3425
- var getApiV1ProjectsByNameTechnicalAeoCrawl = (options) => (options.client ?? client).get({
3463
+ var getApiV1ProjectsByNameAgentReadinessCrawl = (options) => (options.client ?? client).get({
3426
3464
  security: [{ scheme: "bearer", type: "http" }],
3427
- url: "/api/v1/projects/{name}/technical-aeo/crawl",
3465
+ url: "/api/v1/projects/{name}/agent-readiness/crawl",
3428
3466
  ...options
3429
3467
  });
3430
- var getApiV1ProjectsByNameTechnicalAeoSubgraph = (options) => (options.client ?? client).get({
3468
+ var getApiV1ProjectsByNameAgentReadinessSubgraph = (options) => (options.client ?? client).get({
3431
3469
  security: [{ scheme: "bearer", type: "http" }],
3432
- url: "/api/v1/projects/{name}/technical-aeo/subgraph",
3470
+ url: "/api/v1/projects/{name}/agent-readiness/subgraph",
3433
3471
  ...options
3434
3472
  });
3435
- var getApiV1ProjectsByNameTechnicalAeoPath = (options) => (options.client ?? client).get({
3473
+ var getApiV1ProjectsByNameAgentReadinessPath = (options) => (options.client ?? client).get({
3436
3474
  security: [{ scheme: "bearer", type: "http" }],
3437
- url: "/api/v1/projects/{name}/technical-aeo/path",
3475
+ url: "/api/v1/projects/{name}/agent-readiness/path",
3438
3476
  ...options
3439
3477
  });
3440
- var getApiV1ProjectsByNameTechnicalAeoChanges = (options) => (options.client ?? client).get({
3478
+ var getApiV1ProjectsByNameAgentReadinessChanges = (options) => (options.client ?? client).get({
3441
3479
  security: [{ scheme: "bearer", type: "http" }],
3442
- url: "/api/v1/projects/{name}/technical-aeo/changes",
3480
+ url: "/api/v1/projects/{name}/agent-readiness/changes",
3443
3481
  ...options
3444
3482
  });
3445
- var getApiV1ProjectsByNameTechnicalAeoIssues = (options) => (options.client ?? client).get({
3483
+ var getApiV1ProjectsByNameAgentReadinessIssues = (options) => (options.client ?? client).get({
3446
3484
  security: [{ scheme: "bearer", type: "http" }],
3447
- url: "/api/v1/projects/{name}/technical-aeo/issues",
3485
+ url: "/api/v1/projects/{name}/agent-readiness/issues",
3448
3486
  ...options
3449
3487
  });
3450
- var getApiV1ProjectsByNameTechnicalAeoIssuesByIssueIdPages = (options) => (options.client ?? client).get({
3488
+ var getApiV1ProjectsByNameAgentReadinessIssuesByIssueIdPages = (options) => (options.client ?? client).get({
3451
3489
  security: [{ scheme: "bearer", type: "http" }],
3452
- url: "/api/v1/projects/{name}/technical-aeo/issues/{issueId}/pages",
3490
+ url: "/api/v1/projects/{name}/agent-readiness/issues/{issueId}/pages",
3453
3491
  ...options
3454
3492
  });
3455
- var getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit = (options) => (options.client ?? client).get({
3493
+ var getApiV1ProjectsByNameAgentReadinessCrawlPagesAudit = (options) => (options.client ?? client).get({
3456
3494
  security: [{ scheme: "bearer", type: "http" }],
3457
- url: "/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",
3495
+ url: "/api/v1/projects/{name}/agent-readiness/crawl/pages/audit",
3458
3496
  ...options
3459
3497
  });
3460
- var getApiV1ProjectsByNameTechnicalAeoCrawlPages = (options) => (options.client ?? client).get({
3498
+ var getApiV1ProjectsByNameAgentReadinessCrawlPages = (options) => (options.client ?? client).get({
3461
3499
  security: [{ scheme: "bearer", type: "http" }],
3462
- url: "/api/v1/projects/{name}/technical-aeo/crawl/pages",
3500
+ url: "/api/v1/projects/{name}/agent-readiness/crawl/pages",
3463
3501
  ...options
3464
3502
  });
3465
- var getApiV1ProjectsByNameTechnicalAeoStructure = (options) => (options.client ?? client).get({
3503
+ var getApiV1ProjectsByNameAgentReadinessStructure = (options) => (options.client ?? client).get({
3466
3504
  security: [{ scheme: "bearer", type: "http" }],
3467
- url: "/api/v1/projects/{name}/technical-aeo/structure",
3505
+ url: "/api/v1/projects/{name}/agent-readiness/structure",
3468
3506
  ...options
3469
3507
  });
3470
- var getApiV1ProjectsByNameTechnicalAeoInternalLinks = (options) => (options.client ?? client).get({
3508
+ var getApiV1ProjectsByNameAgentReadinessInternalLinks = (options) => (options.client ?? client).get({
3471
3509
  security: [{ scheme: "bearer", type: "http" }],
3472
- url: "/api/v1/projects/{name}/technical-aeo/internal-links",
3510
+ url: "/api/v1/projects/{name}/agent-readiness/internal-links",
3473
3511
  ...options
3474
3512
  });
3475
- var getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors = (options) => (options.client ?? client).get({
3513
+ var getApiV1ProjectsByNameAgentReadinessInternalLinksNeighbors = (options) => (options.client ?? client).get({
3476
3514
  security: [{ scheme: "bearer", type: "http" }],
3477
- url: "/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",
3515
+ url: "/api/v1/projects/{name}/agent-readiness/internal-links/neighbors",
3478
3516
  ...options
3479
3517
  });
3480
- var getApiV1ProjectsByNameTechnicalAeoDeadLinks = (options) => (options.client ?? client).get({
3518
+ var getApiV1ProjectsByNameAgentReadinessDeadLinks = (options) => (options.client ?? client).get({
3481
3519
  security: [{ scheme: "bearer", type: "http" }],
3482
- url: "/api/v1/projects/{name}/technical-aeo/dead-links",
3520
+ url: "/api/v1/projects/{name}/agent-readiness/dead-links",
3483
3521
  ...options
3484
3522
  });
3485
- var postApiV1ProjectsByNameTechnicalAeoRuns = (options) => (options.client ?? client).post({
3523
+ var postApiV1ProjectsByNameAgentReadinessRuns = (options) => (options.client ?? client).post({
3486
3524
  security: [{ scheme: "bearer", type: "http" }],
3487
- url: "/api/v1/projects/{name}/technical-aeo/runs",
3525
+ url: "/api/v1/projects/{name}/agent-readiness/runs",
3488
3526
  ...options,
3489
3527
  headers: {
3490
3528
  "Content-Type": "application/json",
3491
3529
  ...options.headers
3492
3530
  }
3493
3531
  });
3494
- var getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress = (options) => (options.client ?? client).get({
3532
+ var getApiV1ProjectsByNameAgentReadinessRunsByRunIdProgress = (options) => (options.client ?? client).get({
3495
3533
  security: [{ scheme: "bearer", type: "http" }],
3496
- url: "/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",
3534
+ url: "/api/v1/projects/{name}/agent-readiness/runs/{runId}/progress",
3497
3535
  ...options
3498
3536
  });
3499
3537
  var getApiV1ProjectsByNameAgentConversations = (options) => (options.client ?? client).get({
@@ -3995,6 +4033,10 @@ var ApiClient = class {
3995
4033
  async getProject(name) {
3996
4034
  return this.invoke(() => getApiV1ProjectsByName({ client: this.heyClient, path: { name } }));
3997
4035
  }
4036
+ /** The project's first-run setup status: both tracks and the server's next action. Stored reads only. */
4037
+ async getProjectSetup(name) {
4038
+ return this.invoke(() => getApiV1ProjectsByNameSetup({ client: this.heyClient, path: { name } }));
4039
+ }
3998
4040
  async deleteProject(name) {
3999
4041
  await this.invoke(() => deleteApiV1ProjectsByName({ client: this.heyClient, path: { name } }));
4000
4042
  }
@@ -4791,6 +4833,9 @@ var ApiClient = class {
4791
4833
  })
4792
4834
  );
4793
4835
  }
4836
+ async previewRun(project) {
4837
+ return this.invoke(() => getApiV1ProjectsByNameRunPreview({ client: this.heyClient, path: { name: project } }));
4838
+ }
4794
4839
  async getLatestRun(project) {
4795
4840
  return this.invoke(
4796
4841
  () => getApiV1ProjectsByNameRunsLatest({ client: this.heyClient, path: { name: project } })
@@ -4940,6 +4985,16 @@ var ApiClient = class {
4940
4985
  () => putApiV1SettingsProvidersByName({ client: this.heyClient, path: { name }, body })
4941
4986
  );
4942
4987
  }
4988
+ async getProviderSettings(name) {
4989
+ return this.invoke(
4990
+ () => getApiV1SettingsProvidersByName({ client: this.heyClient, path: { name } })
4991
+ );
4992
+ }
4993
+ async disconnectProvider(name, body) {
4994
+ return this.invoke(
4995
+ () => deleteApiV1SettingsProvidersByName({ client: this.heyClient, path: { name }, body })
4996
+ );
4997
+ }
4943
4998
  async updateGoogleSettings(body) {
4944
4999
  return this.invoke(
4945
5000
  () => putApiV1SettingsGoogle({ client: this.heyClient, body })
@@ -4950,6 +5005,12 @@ var ApiClient = class {
4950
5005
  () => postApiV1SettingsProvidersReload({ client: this.heyClient, body, signal })
4951
5006
  );
4952
5007
  }
5008
+ /** Run one saved connection's healthcheck now. A failed check is a result (`ok: false`), not an error. */
5009
+ async testProvider(name) {
5010
+ return this.invoke(
5011
+ () => postApiV1SettingsProvidersByNameTest({ client: this.heyClient, path: { name } })
5012
+ );
5013
+ }
4953
5014
  async createSnapshot(body) {
4954
5015
  return this.invoke(() => postApiV1Snapshot({ client: this.heyClient, body }));
4955
5016
  }
@@ -4977,6 +5038,9 @@ var ApiClient = class {
4977
5038
  return this.invoke(() => postApiV1Feedback({ client: this.heyClient, body }));
4978
5039
  }
4979
5040
  // ── Schedules / notifications / locations ───────────────────────────────
5041
+ async previewSchedule(project, body) {
5042
+ return this.invoke(() => postApiV1ProjectsByNameSchedulePreview({ client: this.heyClient, path: { name: project }, body }));
5043
+ }
4980
5044
  async listSchedules(project) {
4981
5045
  return this.invoke(
4982
5046
  () => getApiV1ProjectsByNameSchedules({ client: this.heyClient, path: { name: project } })
@@ -6538,15 +6602,15 @@ var ApiClient = class {
6538
6602
  })
6539
6603
  );
6540
6604
  }
6541
- // ── Technical AEO (site-audit) ──────────────────────────────────────────
6605
+ // ── Agent Readiness (site-audit) ────────────────────────────────────────
6542
6606
  async getTechnicalAeoScore(project, opts) {
6543
6607
  return this.invoke(
6544
- () => getApiV1ProjectsByNameTechnicalAeo({ client: this.heyClient, path: { name: project }, query: { runId: opts?.runId } })
6608
+ () => getApiV1ProjectsByNameAgentReadiness({ client: this.heyClient, path: { name: project }, query: { runId: opts?.runId } })
6545
6609
  );
6546
6610
  }
6547
6611
  async getTechnicalAeoPages(project, opts) {
6548
6612
  return this.invoke(
6549
- () => getApiV1ProjectsByNameTechnicalAeoPages({
6613
+ () => getApiV1ProjectsByNameAgentReadinessPages({
6550
6614
  client: this.heyClient,
6551
6615
  path: { name: project },
6552
6616
  query: {
@@ -6576,7 +6640,7 @@ var ApiClient = class {
6576
6640
  }
6577
6641
  async getTechnicalAeoTrend(project, opts) {
6578
6642
  return this.invoke(
6579
- () => getApiV1ProjectsByNameTechnicalAeoTrend({
6643
+ () => getApiV1ProjectsByNameAgentReadinessTrend({
6580
6644
  client: this.heyClient,
6581
6645
  path: { name: project },
6582
6646
  query: { limit: opts?.limit !== void 0 ? String(opts.limit) : void 0 }
@@ -6586,7 +6650,7 @@ var ApiClient = class {
6586
6650
  /** Exact durable counters and lifecycle state for one non-probe site-audit run. */
6587
6651
  async getTechnicalAeoProgress(project, runId) {
6588
6652
  return this.invoke(
6589
- () => getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress({
6653
+ () => getApiV1ProjectsByNameAgentReadinessRunsByRunIdProgress({
6590
6654
  client: this.heyClient,
6591
6655
  path: { name: project, runId }
6592
6656
  })
@@ -6595,7 +6659,7 @@ var ApiClient = class {
6595
6659
  /** Persisted full-crawl metadata. This never synthesizes a graph from legacy audit rows. */
6596
6660
  async getTechnicalAeoCrawl(project, opts) {
6597
6661
  return this.invoke(
6598
- () => getApiV1ProjectsByNameTechnicalAeoCrawl({
6662
+ () => getApiV1ProjectsByNameAgentReadinessCrawl({
6599
6663
  client: this.heyClient,
6600
6664
  path: { name: project },
6601
6665
  query: { runId: opts?.runId, date: opts?.date }
@@ -6605,7 +6669,7 @@ var ApiClient = class {
6605
6669
  /** Stored findings across audited pages, including score-independent duplicate groups. */
6606
6670
  async getSiteAuditIssues(project, opts) {
6607
6671
  return this.invoke(
6608
- () => getApiV1ProjectsByNameTechnicalAeoIssues({
6672
+ () => getApiV1ProjectsByNameAgentReadinessIssues({
6609
6673
  client: this.heyClient,
6610
6674
  path: { name: project },
6611
6675
  query: { runId: opts?.runId, cursor: opts?.cursor, limit: opts?.limit }
@@ -6615,17 +6679,17 @@ var ApiClient = class {
6615
6679
  /** Page evidence for one stored audit issue; continuation stays pinned to its crawl. */
6616
6680
  async getSiteAuditIssuePages(project, issueId, opts) {
6617
6681
  return this.invoke(
6618
- () => getApiV1ProjectsByNameTechnicalAeoIssuesByIssueIdPages({
6682
+ () => getApiV1ProjectsByNameAgentReadinessIssuesByIssueIdPages({
6619
6683
  client: this.heyClient,
6620
6684
  path: { name: project, issueId },
6621
6685
  query: { runId: opts?.runId, cursor: opts?.cursor, limit: opts?.limit }
6622
6686
  })
6623
6687
  );
6624
6688
  }
6625
- /** Bounded semantic Site Health neighborhood; this never returns visualization layout. */
6689
+ /** Bounded semantic Agent Readiness neighborhood; this never returns visualization layout. */
6626
6690
  async getSiteHealthSubgraph(project, opts) {
6627
6691
  return this.invoke(
6628
- () => getApiV1ProjectsByNameTechnicalAeoSubgraph({
6692
+ () => getApiV1ProjectsByNameAgentReadinessSubgraph({
6629
6693
  client: this.heyClient,
6630
6694
  path: { name: project },
6631
6695
  query: {
@@ -6642,7 +6706,7 @@ var ApiClient = class {
6642
6706
  /** Directed shortest path over persisted, followable internal links. */
6643
6707
  async getSiteHealthPath(project, opts) {
6644
6708
  return this.invoke(
6645
- () => getApiV1ProjectsByNameTechnicalAeoPath({
6709
+ () => getApiV1ProjectsByNameAgentReadinessPath({
6646
6710
  client: this.heyClient,
6647
6711
  path: { name: project },
6648
6712
  query: {
@@ -6659,7 +6723,7 @@ var ApiClient = class {
6659
6723
  /** Cursor-paged canonical page/link changes between immutable complete crawls. */
6660
6724
  async getSiteHealthChanges(project, opts) {
6661
6725
  return this.invoke(
6662
- () => getApiV1ProjectsByNameTechnicalAeoChanges({
6726
+ () => getApiV1ProjectsByNameAgentReadinessChanges({
6663
6727
  client: this.heyClient,
6664
6728
  path: { name: project },
6665
6729
  query: {
@@ -6676,7 +6740,7 @@ var ApiClient = class {
6676
6740
  /** Bounded, cursor-paged crawl nodes. */
6677
6741
  async getTechnicalAeoCrawlPages(project, opts) {
6678
6742
  return this.invoke(
6679
- () => getApiV1ProjectsByNameTechnicalAeoCrawlPages({
6743
+ () => getApiV1ProjectsByNameAgentReadinessCrawlPages({
6680
6744
  client: this.heyClient,
6681
6745
  path: { name: project },
6682
6746
  query: {
@@ -6697,7 +6761,7 @@ var ApiClient = class {
6697
6761
  /** Exact page-scoped audit evidence tied to a persisted crawl node. */
6698
6762
  async getTechnicalAeoPageAudit(project, opts) {
6699
6763
  return this.invoke(
6700
- () => getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit({
6764
+ () => getApiV1ProjectsByNameAgentReadinessCrawlPagesAudit({
6701
6765
  client: this.heyClient,
6702
6766
  path: { name: project },
6703
6767
  query: {
@@ -6711,7 +6775,7 @@ var ApiClient = class {
6711
6775
  /** One bounded path level from a persisted crawl. */
6712
6776
  async getTechnicalAeoStructure(project, opts) {
6713
6777
  return this.invoke(
6714
- () => getApiV1ProjectsByNameTechnicalAeoStructure({
6778
+ () => getApiV1ProjectsByNameAgentReadinessStructure({
6715
6779
  client: this.heyClient,
6716
6780
  path: { name: project },
6717
6781
  query: {
@@ -6726,7 +6790,7 @@ var ApiClient = class {
6726
6790
  /** Bounded, cursor-paged internal crawl edges. */
6727
6791
  async getTechnicalAeoInternalLinks(project, opts) {
6728
6792
  return this.invoke(
6729
- () => getApiV1ProjectsByNameTechnicalAeoInternalLinks({
6793
+ () => getApiV1ProjectsByNameAgentReadinessInternalLinks({
6730
6794
  client: this.heyClient,
6731
6795
  path: { name: project },
6732
6796
  query: {
@@ -6744,7 +6808,7 @@ var ApiClient = class {
6744
6808
  /** Bounded inbound/outbound internal edges for one crawl node. */
6745
6809
  async getTechnicalAeoInternalLinkNeighbors(project, opts) {
6746
6810
  return this.invoke(
6747
- () => getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors({
6811
+ () => getApiV1ProjectsByNameAgentReadinessInternalLinksNeighbors({
6748
6812
  client: this.heyClient,
6749
6813
  path: { name: project },
6750
6814
  query: {
@@ -6760,7 +6824,7 @@ var ApiClient = class {
6760
6824
  /** Dead-link state/findings; `disabled` means the crawl did not opt in. */
6761
6825
  async getTechnicalAeoDeadLinks(project, opts) {
6762
6826
  return this.invoke(
6763
- () => getApiV1ProjectsByNameTechnicalAeoDeadLinks({
6827
+ () => getApiV1ProjectsByNameAgentReadinessDeadLinks({
6764
6828
  client: this.heyClient,
6765
6829
  path: { name: project },
6766
6830
  query: {
@@ -6773,7 +6837,7 @@ var ApiClient = class {
6773
6837
  }
6774
6838
  async triggerSiteAudit(project, body) {
6775
6839
  return this.invoke(
6776
- () => postApiV1ProjectsByNameTechnicalAeoRuns({
6840
+ () => postApiV1ProjectsByNameAgentReadinessRuns({
6777
6841
  client: this.heyClient,
6778
6842
  path: { name: project },
6779
6843
  body: body ?? {}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cloudflareQueueNameSchema
3
- } from "./chunk-ZBTUISPG.js";
3
+ } from "./chunk-O7S7OHLE.js";
4
4
 
5
5
  // src/cloudflare-traffic-config.ts
6
6
  function unsupportedDeliveryMode(deliveryMode) {