@canonry/canonry 7.68.1 → 7.69.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 (132) hide show
  1. package/assets/assets/{AgentSetupPage-DyssdZ1J.js → AgentSetupPage-CKRlDQZp.js} +1 -1
  2. package/assets/assets/{AuditHistoryPanel-Bma4Q6p0.js → AuditHistoryPanel-DXXGdrLo.js} +1 -1
  3. package/assets/assets/{BacklinksPage-C3GoO2Wf.js → BacklinksPage-CEJPc6fQ.js} +1 -1
  4. package/assets/assets/{HistoryPage-6iYvYCL7.js → HistoryPage-DMU_b4kk.js} +1 -1
  5. package/assets/assets/MeasurementPropertyPage-DWwuFP2S.js +4 -0
  6. package/assets/assets/ProjectPage-D7jNMDzn.js +9 -0
  7. package/assets/assets/{RunsPage-Cw0GTxgx.js → RunsPage-vVs_xnqi.js} +1 -1
  8. package/assets/assets/{SettingsPage-Cvg8BvZn.js → SettingsPage-wY4KTSfr.js} +1 -1
  9. package/assets/assets/SiteHealthSection-DEwB7O4i.js +2 -0
  10. package/assets/assets/{ToneBadge-c2bgjqqz.js → ToneBadge-B8lm5z8O.js} +1 -1
  11. package/assets/assets/{TrafficPage-BUb0xr-b.js → TrafficPage-DDpApkaw.js} +4 -4
  12. package/assets/assets/{TrafficSourceDetailPage-DmrtEYs8.js → TrafficSourceDetailPage-C2pV1K3V.js} +1 -1
  13. package/assets/assets/{account-context-qhg8esXw.js → account-context-VRNXJv_l.js} +1 -1
  14. package/assets/assets/{card-BNthgfAY.js → card-CPDjkZ38.js} +1 -1
  15. package/assets/assets/{extract-error-message-DuYEL09s.js → extract-error-message-Ba5pz5dQ.js} +1 -1
  16. package/assets/assets/{format-helpers-6v-a8B3S.js → format-helpers-C2il_710.js} +1 -1
  17. package/assets/assets/{index-CqNwsqjm.css → index-CIGmRg9U.css} +1 -1
  18. package/assets/assets/index-DPFsoLdC.js +60 -0
  19. package/assets/assets/{query-client-COFiuVJB.js → query-client-DyFmy9AJ.js} +1 -1
  20. package/assets/assets/{react-query-ZdpN7cFt.js → react-query-BcEtnzKt.js} +1 -1
  21. package/assets/assets/{react-sigma_core.esm.min-EbeNATny.js → react-sigma_core.esm.min-D2CArzQ5.js} +1 -1
  22. package/assets/assets/{service-DGFjEsYR.js → service-D57MOMmG.js} +1 -1
  23. package/assets/index.html +8 -8
  24. package/dist/{ads-AHM5LMVT.js → ads-UTME46NF.js} +3 -3
  25. package/dist/{agent-2FSGY7SD.js → agent-PYDTNLR4.js} +7 -7
  26. package/dist/{agent-ask-GIK7T2HD.js → agent-ask-NA4QFFM6.js} +3 -3
  27. package/dist/{agent-conversations-JEIFZHT3.js → agent-conversations-3S56EX4U.js} +3 -3
  28. package/dist/{agent-memory-JC3JJXON.js → agent-memory-D2RT5TVJ.js} +3 -3
  29. package/dist/{agent-providers-JRL3VZA7.js → agent-providers-5C2DRUR3.js} +3 -3
  30. package/dist/{agent-transcript-ZQDNW3IE.js → agent-transcript-SY5BZPO3.js} +3 -3
  31. package/dist/{analytics-HMYE6EIX.js → analytics-GUENANBB.js} +3 -3
  32. package/dist/{apply-F5CHVFC3.js → apply-R5K6RGEH.js} +3 -3
  33. package/dist/{backfill-JZDQKZHY.js → backfill-B2EXGQCW.js} +9 -9
  34. package/dist/{backlinks-L7XEHBAP.js → backlinks-X55GUIQL.js} +3 -3
  35. package/dist/{bing-XTMKLVRJ.js → bing-5NTEC247.js} +3 -3
  36. package/dist/{bootstrap-AEHBYC77.js → bootstrap-UDEEVI4Z.js} +10 -10
  37. package/dist/{cdp-SSIHU3PU.js → cdp-WWVZ6IBS.js} +7 -7
  38. package/dist/{chunk-ZUXFHO4T.js → chunk-3LTLLHCD.js} +4 -4
  39. package/dist/{chunk-XMXYUP7X.js → chunk-3ZF3T3OG.js} +1 -1
  40. package/dist/{chunk-ZU6X4SN2.js → chunk-42JQQZZQ.js} +5 -5
  41. package/dist/{chunk-VPZMSV3Q.js → chunk-6JGQT4OH.js} +40 -4
  42. package/dist/{chunk-MVRPFLEL.js → chunk-6RI7JFFI.js} +1 -1
  43. package/dist/{chunk-RNA6ZCM6.js → chunk-7W4KNDAW.js} +2 -2
  44. package/dist/{chunk-FDRZQH3Y.js → chunk-BGTJTKOJ.js} +2 -2
  45. package/dist/{chunk-U3EJ5RW7.js → chunk-BRT5GE3Z.js} +5 -5
  46. package/dist/{chunk-J4CNNYRQ.js → chunk-CNSLBHFP.js} +1 -1
  47. package/dist/{chunk-5SK27UE7.js → chunk-CSDDKEL6.js} +1 -1
  48. package/dist/{chunk-W7PA35VJ.js → chunk-DW3KF33I.js} +4 -4
  49. package/dist/{chunk-IVBJEVHS.js → chunk-EIRIZPR6.js} +2 -2
  50. package/dist/{chunk-LO2EII7V.js → chunk-G6VOLODK.js} +4 -4
  51. package/dist/{chunk-6W3ENB2X.js → chunk-JGO7LGVN.js} +67 -15
  52. package/dist/{chunk-2D7O5UHJ.js → chunk-JNRMODJS.js} +1 -1
  53. package/dist/{chunk-KGJ7NDUY.js → chunk-JZ2A55L5.js} +31 -23
  54. package/dist/{chunk-7SGZHGZ2.js → chunk-KDV5NQZH.js} +1 -1
  55. package/dist/{chunk-V6ALEP33.js → chunk-MBNXKKOD.js} +2 -2
  56. package/dist/{chunk-7NMCRHQL.js → chunk-NHF3OGZN.js} +3 -3
  57. package/dist/{chunk-CZUPNWLH.js → chunk-OQR4F7WF.js} +2 -2
  58. package/dist/{chunk-4KMUJOYL.js → chunk-PHHQVV3G.js} +3 -3
  59. package/dist/{chunk-33LH4ZGF.js → chunk-PJYXLC3D.js} +1 -1
  60. package/dist/{chunk-Y42G2YKT.js → chunk-QBR7BWO6.js} +8 -8
  61. package/dist/{chunk-YIIIYNPW.js → chunk-QNSMMQJY.js} +3 -3
  62. package/dist/{chunk-K2P2XO6P.js → chunk-R7RTWOOV.js} +1 -1
  63. package/dist/{chunk-JPVG5LIE.js → chunk-RJSJNR76.js} +3 -3
  64. package/dist/{chunk-LTMQ4MHF.js → chunk-RPYSCFFA.js} +1 -1
  65. package/dist/{chunk-ZD5G5QEV.js → chunk-RSK7E53V.js} +1 -1
  66. package/dist/{chunk-7AXVACK6.js → chunk-RVEXUQHP.js} +2 -2
  67. package/dist/{chunk-ARYBII44.js → chunk-SFMCFMJR.js} +1 -1
  68. package/dist/{chunk-R42VEDCB.js → chunk-SSNKQTRX.js} +3 -3
  69. package/dist/{chunk-PAVSKSKA.js → chunk-ULUKHNE4.js} +1 -1
  70. package/dist/{chunk-F4KTLNW3.js → chunk-WZZIA3LD.js} +334 -334
  71. package/dist/{chunk-ARIYTYOM.js → chunk-XOCF2U54.js} +1 -1
  72. package/dist/{citations-NIFKIG6Y.js → citations-ILU2CNT2.js} +3 -3
  73. package/dist/{cli-catalog-ONYERYPV.js → cli-catalog-ZBTUYNJA.js} +3 -3
  74. package/dist/{cli-commands-3RTJR7FD.js → cli-commands-YXL7KV5B.js} +7 -7
  75. package/dist/cli.js +13 -13
  76. package/dist/{competitor-NSUSTLNW.js → competitor-NXSL3AWD.js} +3 -3
  77. package/dist/{content-W5VYYMAW.js → content-TGWYXNBI.js} +3 -3
  78. package/dist/{dashboard-NNA3P645.js → dashboard-IDCQTIYG.js} +6 -6
  79. package/dist/{demo-5M4YGVV4.js → demo-6X6IDMPT.js} +1 -1
  80. package/dist/{demo-server-FDR4RKLM.js → demo-server-HKJWIYPQ.js} +11 -11
  81. package/dist/{discover-VCKMXFOR.js → discover-NW7NKL2Z.js} +3 -3
  82. package/dist/{discover-eval-CPVP7EK5.js → discover-eval-2BVYL62I.js} +3 -3
  83. package/dist/{doctor-EVCP6PDM.js → doctor-6I3LPYM7.js} +3 -3
  84. package/dist/{evidence-ZWRGNZWN.js → evidence-ZTAMPBEP.js} +3 -3
  85. package/dist/{export-cmd-AM6SIRUW.js → export-cmd-4CXUQVYT.js} +3 -3
  86. package/dist/{ga-6J67NDMZ.js → ga-2YXMDGHQ.js} +3 -3
  87. package/dist/{gbp-ERTWK26L.js → gbp-LTPPWTUR.js} +3 -3
  88. package/dist/{google-O6VQFK4L.js → google-KTUJ4D3T.js} +4 -4
  89. package/dist/{google-marketing-OEW2YGUR.js → google-marketing-FAKTAI5S.js} +1 -1
  90. package/dist/{health-cmd-OPGK37MK.js → health-cmd-C75E3NPQ.js} +3 -3
  91. package/dist/{history-WTU4ETCU.js → history-HE734BPT.js} +3 -3
  92. package/dist/index.js +24 -24
  93. package/dist/{init-XDFRSNJ6.js → init-QWTQCLAK.js} +11 -11
  94. package/dist/{insights-LPEDLSEV.js → insights-4GUVXY2V.js} +3 -3
  95. package/dist/intelligence-service-PAMFRLPE.js +15 -0
  96. package/dist/{journeys-TWVQNRLT.js → journeys-BZCKKFG7.js} +3 -3
  97. package/dist/{keys-C6FPREBZ.js → keys-CMN3FUDW.js} +3 -3
  98. package/dist/{keyword-PBSE65DK.js → keyword-QUM65R7C.js} +3 -3
  99. package/dist/{logs-62RUOAKT.js → logs-HH7EP7YK.js} +3 -3
  100. package/dist/{mcp-P4LNENKX.js → mcp-76T6WX4K.js} +2 -2
  101. package/dist/mcp.js +9 -9
  102. package/dist/{measurement-plan-HKW3IVIE.js → measurement-plan-2D2KQLTW.js} +5 -5
  103. package/dist/{notify-A3I3G7NK.js → notify-VP5YYBJO.js} +3 -3
  104. package/dist/{organic-evidence-OFUJBDCK.js → organic-evidence-EAUZJVET.js} +3 -3
  105. package/dist/{overview-NSRODN2X.js → overview-MCX3OHXK.js} +4 -4
  106. package/dist/{project-B5G2HEAB.js → project-HMELPKXT.js} +3 -3
  107. package/dist/{query-UQHJVYUJ.js → query-J7UTKCY5.js} +3 -3
  108. package/dist/{research-ZWBJDLJY.js → research-O4FYADRL.js} +3 -3
  109. package/dist/{results-export-FOJYT4MK.js → results-export-4JHIHSWW.js} +3 -3
  110. package/dist/{run-ZIUQ2TNN.js → run-YJ3Y7FIE.js} +4 -4
  111. package/dist/{schedule-B5CORKGT.js → schedule-6SXEB245.js} +3 -3
  112. package/dist/{search-2XCZKP6A.js → search-MVL346VH.js} +3 -3
  113. package/dist/{serve-RR6YYFKA.js → serve-4E6LBEHL.js} +25 -25
  114. package/dist/{session-PILSYOTX.js → session-KFFTQBJU.js} +12 -12
  115. package/dist/{settings-Y3LVGZH4.js → settings-UKVP6TDD.js} +3 -3
  116. package/dist/{skills-6E3RVQAQ.js → skills-DF336KFJ.js} +2 -2
  117. package/dist/{snapshot-RAV2HCL7.js → snapshot-YKWGIRTM.js} +3 -3
  118. package/dist/{src-VUD6WO5N.js → src-WDWTA7ON.js} +2 -2
  119. package/dist/{status-2WCUV6C2.js → status-4PDQOFYS.js} +4 -4
  120. package/dist/{technical-aeo-2TJEHHBR.js → technical-aeo-XJRWNW24.js} +3 -3
  121. package/dist/{telemetry-LQAD26UJ.js → telemetry-TXB7NGPP.js} +4 -4
  122. package/dist/{tools-U6VGYZV2.js → tools-5DBHZB4K.js} +11 -11
  123. package/dist/{traffic-3TBXSHPV.js → traffic-AP22ENAC.js} +5 -5
  124. package/dist/{users-2HDDA5GT.js → users-44XJB4ZN.js} +3 -3
  125. package/dist/{visibility-stats-HSGT3OL3.js → visibility-stats-5DMILJO6.js} +3 -3
  126. package/dist/{wordpress-ALODIEFK.js → wordpress-P6J44TMN.js} +3 -3
  127. package/package.json +1 -1
  128. package/assets/assets/MeasurementPropertyPage-CjI5eB3b.js +0 -4
  129. package/assets/assets/ProjectPage-GYIgNPxn.js +0 -9
  130. package/assets/assets/SiteHealthSection-vejp2Igj.js +0 -2
  131. package/assets/assets/index-BUigRGam.js +0 -60
  132. package/dist/intelligence-service-4OO2VQ2I.js +0 -15
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  trackCliConnection
3
- } from "./chunk-V6ALEP33.js";
3
+ } from "./chunk-MBNXKKOD.js";
4
4
  import {
5
5
  answerServiceDescriptors
6
- } from "./chunk-ARYBII44.js";
6
+ } from "./chunk-SFMCFMJR.js";
7
7
  import {
8
8
  outcomeFailure
9
- } from "./chunk-ZUXFHO4T.js";
9
+ } from "./chunk-3LTLLHCD.js";
10
10
  import {
11
11
  isLoopbackBindHost
12
12
  } from "./chunk-TSENU4GG.js";
13
13
  import {
14
14
  registeredProviderNames
15
- } from "./chunk-XMXYUP7X.js";
15
+ } from "./chunk-3ZF3T3OG.js";
16
16
  import {
17
17
  isTelemetryEnabled,
18
18
  recordInstallRef
19
- } from "./chunk-7AXVACK6.js";
19
+ } from "./chunk-RVEXUQHP.js";
20
20
  import {
21
21
  createApiClient
22
- } from "./chunk-FDRZQH3Y.js";
22
+ } from "./chunk-BGTJTKOJ.js";
23
23
  import {
24
24
  configExists,
25
25
  getAnswerServiceEnv,
@@ -30,7 +30,7 @@ import {
30
30
  loadConfigRaw,
31
31
  saveConfig,
32
32
  withBootstrapProviderDefaults
33
- } from "./chunk-MVRPFLEL.js";
33
+ } from "./chunk-6RI7JFFI.js";
34
34
  import "./chunk-AOJU5LKX.js";
35
35
  import {
36
36
  CliError,
@@ -38,17 +38,17 @@ import {
38
38
  isMachineFormat,
39
39
  systemError
40
40
  } from "./chunk-HGMYEDAQ.js";
41
- import "./chunk-7SGZHGZ2.js";
41
+ import "./chunk-KDV5NQZH.js";
42
42
  import {
43
43
  apiKeys,
44
44
  createClient,
45
45
  dashboardSessions,
46
46
  migrate
47
- } from "./chunk-ARIYTYOM.js";
47
+ } from "./chunk-XOCF2U54.js";
48
48
  import {
49
49
  ProviderNames,
50
50
  ProviderReloadErrorReasons
51
- } from "./chunk-VPZMSV3Q.js";
51
+ } from "./chunk-6JGQT4OH.js";
52
52
  import "./chunk-MLKGABMK.js";
53
53
 
54
54
  // src/commands/bootstrap.ts
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  trackCliConnection
3
- } from "./chunk-V6ALEP33.js";
3
+ } from "./chunk-MBNXKKOD.js";
4
4
  import {
5
5
  outcomeFailure
6
- } from "./chunk-ZUXFHO4T.js";
7
- import "./chunk-7AXVACK6.js";
6
+ } from "./chunk-3LTLLHCD.js";
7
+ import "./chunk-RVEXUQHP.js";
8
8
  import {
9
9
  createApiClient
10
- } from "./chunk-FDRZQH3Y.js";
10
+ } from "./chunk-BGTJTKOJ.js";
11
11
  import {
12
12
  loadConfig,
13
13
  saveConfigPatch
14
- } from "./chunk-MVRPFLEL.js";
14
+ } from "./chunk-6RI7JFFI.js";
15
15
  import "./chunk-AOJU5LKX.js";
16
16
  import {
17
17
  CliError,
18
18
  isMachineFormat
19
19
  } from "./chunk-HGMYEDAQ.js";
20
- import "./chunk-7SGZHGZ2.js";
20
+ import "./chunk-KDV5NQZH.js";
21
21
  import {
22
22
  describeError
23
- } from "./chunk-VPZMSV3Q.js";
23
+ } from "./chunk-6JGQT4OH.js";
24
24
  import "./chunk-MLKGABMK.js";
25
25
 
26
26
  // src/commands/cdp.ts
@@ -2,13 +2,13 @@ import {
2
2
  bucketCliCommandDuration,
3
3
  isTelemetryEnabled,
4
4
  trackEvent
5
- } from "./chunk-7AXVACK6.js";
5
+ } from "./chunk-RVEXUQHP.js";
6
6
  import {
7
7
  getConfigDir
8
- } from "./chunk-MVRPFLEL.js";
8
+ } from "./chunk-6RI7JFFI.js";
9
9
  import {
10
10
  currentOutcomeAttribution
11
- } from "./chunk-7SGZHGZ2.js";
11
+ } from "./chunk-KDV5NQZH.js";
12
12
  import {
13
13
  AGENT_NONE,
14
14
  OutcomeSurfaces,
@@ -19,7 +19,7 @@ import {
19
19
  integrationConnectionPropertiesSchema,
20
20
  normalizeAgentSlug,
21
21
  usageSurfaceSchema
22
- } from "./chunk-VPZMSV3Q.js";
22
+ } from "./chunk-6JGQT4OH.js";
23
23
 
24
24
  // src/outcome-telemetry.ts
25
25
  import fs from "fs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  API_PROVIDER_NAMES,
3
3
  ProviderNames
4
- } from "./chunk-VPZMSV3Q.js";
4
+ } from "./chunk-6JGQT4OH.js";
5
5
 
6
6
  // src/provider-registration.ts
7
7
  function isApiProviderRegistrable(name, entry) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pickProjectCitedDomain
3
- } from "./chunk-K2P2XO6P.js";
3
+ } from "./chunk-R7RTWOOV.js";
4
4
  import {
5
5
  GBP_INSIGHT_PROVIDER,
6
6
  PERSISTENT_GAP_THRESHOLD,
@@ -14,10 +14,10 @@ import {
14
14
  mergeGscQueryTotalsWithFallback,
15
15
  readGscQueryDailyRows,
16
16
  readLatestGscDataDate
17
- } from "./chunk-6W3ENB2X.js";
17
+ } from "./chunk-JGO7LGVN.js";
18
18
  import {
19
19
  getRequestContext
20
- } from "./chunk-7SGZHGZ2.js";
20
+ } from "./chunk-KDV5NQZH.js";
21
21
  import {
22
22
  competitors,
23
23
  gbpDailyMetrics,
@@ -35,7 +35,7 @@ import {
35
35
  queries,
36
36
  querySnapshots,
37
37
  runs
38
- } from "./chunk-ARIYTYOM.js";
38
+ } from "./chunk-XOCF2U54.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,
@@ -45,7 +45,7 @@ import {
45
45
  effectiveDomains,
46
46
  redactLogString,
47
47
  redactLogValue
48
- } from "./chunk-VPZMSV3Q.js";
48
+ } from "./chunk-6JGQT4OH.js";
49
49
 
50
50
  // src/intelligence-service.ts
51
51
  import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
@@ -493,6 +493,14 @@ function queryTrackingPreviewStale(expectedWorkspaceVersion, actualWorkspaceVers
493
493
  { expectedWorkspaceVersion, actualWorkspaceVersion }
494
494
  );
495
495
  }
496
+ function embedQueryLimitReached(limit, attempted) {
497
+ return new AppError(
498
+ "EMBED_QUERY_LIMIT",
499
+ `This dashboard can track up to ${limit} queries. Remove one to add another.`,
500
+ 409,
501
+ { limit, attempted }
502
+ );
503
+ }
496
504
  function runNotCancellable(runId, status) {
497
505
  return new AppError("RUN_NOT_CANCELLABLE", `Run '${runId}' is already in terminal state '${status}' and cannot be cancelled`, 409);
498
506
  }
@@ -17736,7 +17744,8 @@ var ga4AiReferralHistoryEntrySchema = z50.object({
17736
17744
  trafficClass: aiReferralTrafficClassSchema,
17737
17745
  landingPage: z50.string(),
17738
17746
  sessions: z50.number(),
17739
- users: z50.number(),
17747
+ /** @deprecated See `GA4AiReferralDto.users`. Never emitted since 4.180.6. */
17748
+ users: z50.number().optional(),
17740
17749
  /** Which GA4 dimension this row came from: session (sessionSource), first_user (firstUserSource), or manual_utm (utm_source parameter) */
17741
17750
  sourceDimension: ga4SourceDimensionSchema
17742
17751
  });
@@ -20698,6 +20707,7 @@ var PROJECTS_WRITE_SCOPE = "projects.write";
20698
20707
  var ADS_WRITE_SCOPE = "ads.write";
20699
20708
  var ADS_APPROVE_SCOPE = "ads.approve";
20700
20709
  var ADS_ACTIVATE_SCOPE = "ads.activate";
20710
+ var EMBED_QUERIES_WRITE_SCOPE = "embed.queries.write";
20701
20711
  var GOOGLE_MARKETING_LIVE_READ_SCOPE = "google-marketing.read-live";
20702
20712
  var GOOGLE_MARKETING_WRITE_SCOPE = "google-marketing.write";
20703
20713
  function grantsWrite(scope) {
@@ -20705,7 +20715,7 @@ function grantsWrite(scope) {
20705
20715
  }
20706
20716
  function restrictedWriteScopes(scopes) {
20707
20717
  const writes = scopes.filter(grantsWrite);
20708
- const restricted = /* @__PURE__ */ new Set([ADS_WRITE_SCOPE, ADS_APPROVE_SCOPE, ADS_ACTIVATE_SCOPE, RESEARCH_RUN_SCOPE, SEO_RUN_SCOPE, SEO_WRITE_SCOPE, GBP_POSTS_WRITE_SCOPE]);
20718
+ const restricted = /* @__PURE__ */ new Set([ADS_WRITE_SCOPE, ADS_APPROVE_SCOPE, ADS_ACTIVATE_SCOPE, RESEARCH_RUN_SCOPE, SEO_RUN_SCOPE, SEO_WRITE_SCOPE, GBP_POSTS_WRITE_SCOPE, EMBED_QUERIES_WRITE_SCOPE]);
20709
20719
  return writes.length > 0 && writes.every((scope) => restricted.has(scope)) ? writes : null;
20710
20720
  }
20711
20721
  function intersectScopes(authority, requested) {
@@ -23182,6 +23192,12 @@ var wordpressManualAssistDtoSchema = z76.object({
23182
23192
  content: z76.string(),
23183
23193
  nextSteps: z76.array(z76.string()).default([])
23184
23194
  });
23195
+ var wordpressLlmsTxtDtoSchema = z76.object({
23196
+ env: wordpressEnvSchema,
23197
+ url: z76.string(),
23198
+ /** The file's text; null when the site does not serve /llms.txt or the fetch fails. */
23199
+ content: z76.string().nullable()
23200
+ });
23185
23201
  var wordpressAuditIssueDtoSchema = z76.object({
23186
23202
  slug: z76.string(),
23187
23203
  severity: z76.enum(["high", "medium", "low"]),
@@ -23203,6 +23219,11 @@ var wordpressAuditPageDtoSchema = z76.object({
23203
23219
  schemaPresent: z76.boolean(),
23204
23220
  issues: z76.array(wordpressAuditIssueDtoSchema).default([])
23205
23221
  });
23222
+ var wordpressAuditDtoSchema = z76.object({
23223
+ env: wordpressEnvSchema,
23224
+ pages: z76.array(wordpressAuditPageDtoSchema),
23225
+ issues: z76.array(wordpressAuditIssueDtoSchema)
23226
+ });
23206
23227
  var wordpressBulkMetaEntryResultDtoSchema = z76.object({
23207
23228
  slug: z76.string(),
23208
23229
  status: z76.enum(["applied", "skipped", "manual"]),
@@ -25137,6 +25158,14 @@ function escapeLikePattern(value) {
25137
25158
  }
25138
25159
 
25139
25160
  // ../contracts/src/embed.ts
25161
+ var EMBED_QUERY_LIMIT_HEADER = "x-canonry-embed-query-limit";
25162
+ var EMBED_QUERY_LIMIT_MAX = 1e3;
25163
+ function parseEmbedQueryLimit(raw) {
25164
+ const value = Array.isArray(raw) ? raw[0] : raw;
25165
+ if (typeof value !== "string" || !/^[1-9]\d{0,3}$/.test(value)) return void 0;
25166
+ const limit = Number(value);
25167
+ return limit <= EMBED_QUERY_LIMIT_MAX ? limit : void 0;
25168
+ }
25140
25169
  function embedProjectTabsError(projectTabs) {
25141
25170
  if (projectTabs?.some((tab) => tab.trim().toLowerCase() === "report")) {
25142
25171
  return "The report embed tab has been retired. Remove report from the allowed tabs; explicitly configure overview to display AI Visibility.";
@@ -25242,16 +25271,18 @@ function parseRenderTokenOverride(raw) {
25242
25271
  if (typeof value !== "string" || value.length === 0 || value.length > 4096) return void 0;
25243
25272
  return value;
25244
25273
  }
25245
- function embedClientConfigForRequest(resolved, projectTabsOverride, themeOverride, renderTokenOverride) {
25274
+ function embedClientConfigForRequest(resolved, projectTabsOverride, themeOverride, renderTokenOverride, queryLimitOverride) {
25246
25275
  const base = buildEmbedClientConfig(resolved);
25247
25276
  if (!base) return void 0;
25248
25277
  const tabs = normalizeIdTokens(splitList(projectTabsOverride));
25249
25278
  const theme = parseThemeOverride(themeOverride);
25250
25279
  const renderToken = parseRenderTokenOverride(renderTokenOverride);
25280
+ const queryLimit = parseEmbedQueryLimit(queryLimitOverride);
25251
25281
  let out = base;
25252
25282
  if (tabs) out = { ...out, projectTabs: tabs };
25253
25283
  if (theme) out = { ...out, theme };
25254
25284
  if (renderToken) out = { ...out, renderToken };
25285
+ if (queryLimit !== void 0) out = { ...out, queries: { limit: queryLimit } };
25255
25286
  return out;
25256
25287
  }
25257
25288
  function serializeForInlineScript(value) {
@@ -26443,6 +26474,7 @@ export {
26443
26474
  measurementIdempotencyKeyRequired,
26444
26475
  measurementIdempotencyKeyConflict,
26445
26476
  queryTrackingPreviewStale,
26477
+ embedQueryLimitReached,
26446
26478
  runNotCancellable,
26447
26479
  unsupportedKind,
26448
26480
  notImplemented,
@@ -27107,7 +27139,8 @@ export {
27107
27139
  wordpressSchemaBlockDtoSchema,
27108
27140
  wordpressPageDetailDtoSchema,
27109
27141
  wordpressManualAssistDtoSchema,
27110
- wordpressAuditPageDtoSchema,
27142
+ wordpressLlmsTxtDtoSchema,
27143
+ wordpressAuditDtoSchema,
27111
27144
  wordpressBulkMetaResultDtoSchema,
27112
27145
  wordpressSchemaDeployResultDtoSchema,
27113
27146
  wordpressSchemaStatusResultDtoSchema,
@@ -27499,11 +27532,14 @@ export {
27499
27532
  ADS_WRITE_SCOPE,
27500
27533
  ADS_APPROVE_SCOPE,
27501
27534
  ADS_ACTIVATE_SCOPE,
27535
+ EMBED_QUERIES_WRITE_SCOPE,
27502
27536
  GOOGLE_MARKETING_LIVE_READ_SCOPE,
27503
27537
  GOOGLE_MARKETING_WRITE_SCOPE,
27504
27538
  restrictedWriteScopes,
27505
27539
  intersectScopes,
27506
27540
  isReadOnlyKey,
27541
+ EMBED_QUERY_LIMIT_HEADER,
27542
+ parseEmbedQueryLimit,
27507
27543
  embedProjectTabsError,
27508
27544
  splitList,
27509
27545
  parseOriginList,
@@ -20,7 +20,7 @@ import {
20
20
  resolveProviderModel,
21
21
  schedulableRunKindSchema,
22
22
  sentimentEvaluatorProviderSchema
23
- } from "./chunk-VPZMSV3Q.js";
23
+ } from "./chunk-6JGQT4OH.js";
24
24
 
25
25
  // ../config/src/index.ts
26
26
  import { z as z4 } from "zod";
@@ -5,7 +5,7 @@ import {
5
5
  siteCrawlGraphNodes,
6
6
  siteCrawlPages,
7
7
  siteCrawlSnapshots
8
- } from "./chunk-ARIYTYOM.js";
8
+ } from "./chunk-XOCF2U54.js";
9
9
  import {
10
10
  SITE_CRAWL_GRAPH_MAX_EDGES,
11
11
  SITE_CRAWL_GRAPH_MAX_NODES,
@@ -15,7 +15,7 @@ import {
15
15
  factorStatusFromDistribution,
16
16
  factorStatusFromScore,
17
17
  roundPreservingTotal
18
- } from "./chunk-VPZMSV3Q.js";
18
+ } from "./chunk-6JGQT4OH.js";
19
19
 
20
20
  // src/site-audit-factors.ts
21
21
  function recordedSharePct(factor) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-MVRPFLEL.js";
3
+ } from "./chunk-6RI7JFFI.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-VPZMSV3Q.js";
39
+ } from "./chunk-6JGQT4OH.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-W7PA35VJ.js";
8
+ } from "./chunk-DW3KF33I.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS
11
11
  } from "./chunk-NDTU7FGL.js";
@@ -22,15 +22,15 @@ import {
22
22
  resolveApiKeyFor,
23
23
  resolveModelForProvider,
24
24
  validateAgentProviderRegistry
25
- } from "./chunk-MVRPFLEL.js";
25
+ } from "./chunk-6RI7JFFI.js";
26
26
  import {
27
27
  CanonryMcpToolNames,
28
28
  canonryMcpTools
29
- } from "./chunk-YIIIYNPW.js";
29
+ } from "./chunk-QNSMMQJY.js";
30
30
  import {
31
31
  agentToolEvents,
32
32
  llmUsageEvents
33
- } from "./chunk-ARIYTYOM.js";
33
+ } from "./chunk-XOCF2U54.js";
34
34
  import {
35
35
  MeasurementPortfolioLists,
36
36
  SeoCapabilities,
@@ -39,7 +39,7 @@ import {
39
39
  describeError,
40
40
  validationError,
41
41
  visibilityReportRequestSchema
42
- } from "./chunk-VPZMSV3Q.js";
42
+ } from "./chunk-6JGQT4OH.js";
43
43
 
44
44
  // src/agent/session.ts
45
45
  import fs3 from "fs";
@@ -8,7 +8,7 @@ import {
8
8
  classifyJourneyEntry,
9
9
  hostMatchesDomain,
10
10
  hostOf
11
- } from "./chunk-VPZMSV3Q.js";
11
+ } from "./chunk-6JGQT4OH.js";
12
12
 
13
13
  // ../integration-traffic/src/ip-ranges/amazonbot.json
14
14
  var amazonbot_default = {
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-HGMYEDAQ.js";
5
5
  import {
6
6
  describeError
7
- } from "./chunk-VPZMSV3Q.js";
7
+ } from "./chunk-6JGQT4OH.js";
8
8
 
9
9
  // src/gsc-sitemap-submission.ts
10
10
  function dedupeGscSitemapUrls(urls) {
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  runWithUsageTags
3
- } from "./chunk-FDRZQH3Y.js";
3
+ } from "./chunk-BGTJTKOJ.js";
4
4
  import {
5
5
  CanonryMcpToolNames,
6
6
  canonryMcpTools
7
- } from "./chunk-YIIIYNPW.js";
7
+ } from "./chunk-QNSMMQJY.js";
8
8
  import {
9
9
  CliError
10
10
  } from "./chunk-HGMYEDAQ.js";
11
11
  import {
12
12
  buildOpenApiDocument
13
- } from "./chunk-6W3ENB2X.js";
13
+ } from "./chunk-JGO7LGVN.js";
14
14
  import {
15
15
  DEFAULT_COMPETITOR_AUTO_ALIAS_MODE,
16
16
  MeasurementPortfolioLists,
@@ -23,7 +23,7 @@ import {
23
23
  seoDatasetWithoutVendor,
24
24
  seoProviderSchema,
25
25
  truncateUtf16
26
- } from "./chunk-VPZMSV3Q.js";
26
+ } from "./chunk-6JGQT4OH.js";
27
27
 
28
28
  // src/agent/tools.ts
29
29
  import { Type as Type2 } from "@earendil-works/pi-ai";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseJsonColumn
3
- } from "./chunk-ARIYTYOM.js";
3
+ } from "./chunk-XOCF2U54.js";
4
4
  import {
5
5
  AI_ENGINE_DOMAINS,
6
6
  AI_ENGINE_SELF_DOMAINS,
@@ -26,7 +26,7 @@ import {
26
26
  retryAfterDelayMs,
27
27
  usageCount,
28
28
  withRetry
29
- } from "./chunk-VPZMSV3Q.js";
29
+ } from "./chunk-6JGQT4OH.js";
30
30
 
31
31
  // ../provider-openai/src/normalize.ts
32
32
  import OpenAI from "openai";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registeredProviderNames
3
- } from "./chunk-XMXYUP7X.js";
3
+ } from "./chunk-3ZF3T3OG.js";
4
4
  import {
5
5
  configExists,
6
6
  loadConfigRaw
7
- } from "./chunk-MVRPFLEL.js";
7
+ } from "./chunk-6RI7JFFI.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-VUD6WO5N.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-WDWTA7ON.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-RR6YYFKA.js");
50
+ const { serveCommand } = await import("./serve-4E6LBEHL.js");
51
51
  await serveCommand(format);
52
52
  }
53
53