@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
@@ -9,14 +9,14 @@ import {
9
9
  normalizeCloudflareWorkerEvent,
10
10
  sessionizeJourneyRequests,
11
11
  verifyRequestSignature
12
- } from "./chunk-J4CNNYRQ.js";
12
+ } from "./chunk-CNSLBHFP.js";
13
13
  import {
14
14
  currentOutcomeAttribution,
15
15
  getRequestContext,
16
16
  registerRequestContext,
17
17
  requestAuditIdentity,
18
18
  sanitizeRequestContext
19
- } from "./chunk-7SGZHGZ2.js";
19
+ } from "./chunk-KDV5NQZH.js";
20
20
  import {
21
21
  SentimentIdempotencyConflict,
22
22
  SentimentRepository,
@@ -156,7 +156,7 @@ import {
156
156
  userSessions,
157
157
  users,
158
158
  writeNegativeReviewMaxStars
159
- } from "./chunk-ARIYTYOM.js";
159
+ } from "./chunk-XOCF2U54.js";
160
160
  import {
161
161
  ADS_ACTIVATE_SCOPE,
162
162
  ADS_ACTIVATION_ABSOLUTE_MAX_ENTITIES,
@@ -234,6 +234,8 @@ import {
234
234
  DiscoveryCompetitorTypes,
235
235
  DiscoveryPromoteCompetitorSkipReasons,
236
236
  DiscoverySessionStatuses,
237
+ EMBED_QUERIES_WRITE_SCOPE,
238
+ EMBED_QUERY_LIMIT_HEADER,
237
239
  FeatureNames,
238
240
  GA4_AI_ASSISTANT_CHANNEL_GROUP,
239
241
  GA_OVERVIEW_HISTORY_DAYS,
@@ -609,6 +611,7 @@ import {
609
611
  domainClassificationsResponseDtoSchema,
610
612
  effectiveBrandNames,
611
613
  effectiveDomains,
614
+ embedQueryLimitReached,
612
615
  emptyCitationVisibility,
613
616
  emptySentimentCounts,
614
617
  escapeLikePattern,
@@ -925,6 +928,7 @@ import {
925
928
  organicEvidenceDtoSchema,
926
929
  outcomeSurfaceSchema,
927
930
  parseBoundedRate,
931
+ parseEmbedQueryLimit,
928
932
  parseInclusiveEndMs,
929
933
  parseMeasurementDraftEtagVersion,
930
934
  parseMeasurementRunManifestV1,
@@ -1175,10 +1179,11 @@ import {
1175
1179
  windowCutoff,
1176
1180
  winnabilityClassSchema,
1177
1181
  withRetry,
1178
- wordpressAuditPageDtoSchema,
1182
+ wordpressAuditDtoSchema,
1179
1183
  wordpressBulkMetaResultDtoSchema,
1180
1184
  wordpressDiffDtoSchema,
1181
1185
  wordpressEnvSchema,
1186
+ wordpressLlmsTxtDtoSchema,
1182
1187
  wordpressManualAssistDtoSchema,
1183
1188
  wordpressOnboardResultDtoSchema,
1184
1189
  wordpressPageDetailDtoSchema,
@@ -1187,7 +1192,7 @@ import {
1187
1192
  wordpressSchemaDeployResultDtoSchema,
1188
1193
  wordpressSchemaStatusResultDtoSchema,
1189
1194
  wordpressStatusDtoSchema
1190
- } from "./chunk-VPZMSV3Q.js";
1195
+ } from "./chunk-6JGQT4OH.js";
1191
1196
 
1192
1197
  // ../api-routes/src/user-session.ts
1193
1198
  import crypto2 from "crypto";
@@ -6284,17 +6289,25 @@ function isTechnicalAeoRead(request, url) {
6284
6289
  }
6285
6290
  return rest === "technical-aeo" || rest === "technical-aeo/pages" || rest === "technical-aeo/trend" || rest === "technical-aeo/crawl" || rest === "technical-aeo/graph" || rest === "technical-aeo/subgraph" || rest === "technical-aeo/path" || rest === "technical-aeo/changes" || rest === "technical-aeo/crawl/pages/audit" || rest === "technical-aeo/crawl/pages" || rest === "technical-aeo/runs" || rest === "technical-aeo/structure" || rest === "technical-aeo/internal-links" || rest === "technical-aeo/internal-links/neighbors" || rest === "technical-aeo/dead-links";
6286
6291
  }
6292
+ function isEmbedQueryWrite(request) {
6293
+ return request.routeOptions.config.writeScope === EMBED_QUERIES_WRITE_SCOPE && (principalScopes(request) ?? []).includes(EMBED_QUERIES_WRITE_SCOPE);
6294
+ }
6295
+ function isEmbedQueryRead(request, url) {
6296
+ if (parseEmbedQueryLimit(request.headers[EMBED_QUERY_LIMIT_HEADER]) === void 0) return false;
6297
+ return projectRouteRest(url) === "query-tracking";
6298
+ }
6287
6299
  function enforceEmbedProjectTabs(request, configuredTabs) {
6288
6300
  const policy = requestEmbedProjectTabs(request, configuredTabs);
6289
6301
  if (policy === void 0) return;
6290
6302
  if (request.method === "OPTIONS") return;
6291
6303
  const { tabs } = policy;
6292
- if (policy.fromEmbedSurface && WRITE_METHODS2.has(request.method)) {
6304
+ if (policy.fromEmbedSurface && WRITE_METHODS2.has(request.method) && !isEmbedQueryWrite(request)) {
6293
6305
  throw forbidden("This endpoint is not available in embed mode.");
6294
6306
  }
6295
6307
  if (WRITE_METHODS2.has(request.method)) return;
6296
6308
  const url = request.url.split("?")[0];
6297
6309
  if (isProjectShellRead(request, url)) return;
6310
+ if (isEmbedQueryRead(request, url)) return;
6298
6311
  if (tabs.includes("overview") && isOverviewRead(url)) return;
6299
6312
  if (tabs.includes("technical-aeo") && isTechnicalAeoRead(request, url)) return;
6300
6313
  throw forbidden("This endpoint is not available for the configured embed tabs.");
@@ -24928,6 +24941,31 @@ function readVisibilityComparisonRuns(db, projectId, since, until, includeEviden
24928
24941
  // ../api-routes/src/query-tracking.ts
24929
24942
  import crypto24 from "crypto";
24930
24943
  import { and as and33, desc as desc17, eq as eq41, inArray as inArray22, isNotNull as isNotNull5, isNull as isNull8, ne as ne8 } from "drizzle-orm";
24944
+
24945
+ // ../api-routes/src/embed-queries.ts
24946
+ function embedQueryWriteLimit(request) {
24947
+ const principal = request.principal;
24948
+ const scopes = principal?.scopes ?? request.apiKey?.scopes ?? [];
24949
+ if (!scopes.includes(EMBED_QUERIES_WRITE_SCOPE)) return void 0;
24950
+ if (scopes.includes(WILDCARD_SCOPE) || scopes.includes(MEASUREMENT_PLAN_WRITE_SCOPE)) return void 0;
24951
+ const projectId = principal?.kind === "api-key" ? principal.projectId : request.apiKey?.projectId;
24952
+ if (!projectId) throw forbidden("An embedded query key must be scoped to one project.");
24953
+ const limit = parseEmbedQueryLimit(request.headers[EMBED_QUERY_LIMIT_HEADER]);
24954
+ if (limit === void 0) throw forbidden("An embedded query change needs the dashboard query limit.");
24955
+ return limit;
24956
+ }
24957
+ function assertEmbedQueryChange(mutation) {
24958
+ const plain = mutation.additions.length + mutation.removals.length === 1 && (mutation.edits ?? []).length === 0 && mutation.additions.every((addition) => addition.input.source === "manual" && addition.audience === void 0 && addition.contexts === void 0 && addition.queryClass === void 0) && mutation.removals.every((removal) => removal.queryId !== void 0 && removal.audience === void 0);
24959
+ if (!plain) throw forbidden("An embedded dashboard can add or remove one query at a time.");
24960
+ }
24961
+ function assertEmbedQueryWorkspace(mode) {
24962
+ if (mode !== "simple") throw forbidden("Your agency manages the queries for this project.");
24963
+ }
24964
+ function assertWithinEmbedQueryLimit(before, after, limit) {
24965
+ if (after > limit && after > before) throw embedQueryLimitReached(limit, after);
24966
+ }
24967
+
24968
+ // ../api-routes/src/query-tracking.ts
24931
24969
  var SOURCE_LIMIT = 100;
24932
24970
  var MAX_REVIEW_AGE_MS = 15 * 60 * 1e3;
24933
24971
  var MAX_REVIEW_FUTURE_SKEW_MS = 60 * 1e3;
@@ -26344,17 +26382,21 @@ async function queryTrackingRoutes(app, opts = {}) {
26344
26382
  const project = resolveProject(app.db, request.params.name);
26345
26383
  return workspaceDto(app.db, readWorkspace(app.db, project), opts);
26346
26384
  });
26347
- app.post("/projects/:name/query-tracking/preview", async (request) => {
26348
- requireScope(request, MEASUREMENT_PLAN_WRITE_SCOPE);
26385
+ app.post("/projects/:name/query-tracking/preview", { config: { writeScope: EMBED_QUERIES_WRITE_SCOPE } }, async (request) => {
26386
+ const embedLimit = embedQueryWriteLimit(request);
26387
+ if (embedLimit === void 0) requireScope(request, MEASUREMENT_PLAN_WRITE_SCOPE);
26349
26388
  const parsed = queryTrackingPreviewRequestSchema.safeParse(request.body);
26350
26389
  if (!parsed.success) throw validationError("Invalid query tracking preview payload", { issues: parsed.error.issues });
26390
+ if (embedLimit !== void 0) assertEmbedQueryChange(parsed.data);
26351
26391
  const project = resolveProject(app.db, request.params.name);
26352
26392
  const state = readWorkspace(app.db, project);
26393
+ if (embedLimit !== void 0) assertEmbedQueryWorkspace(state.mode);
26353
26394
  if (parsed.data.expectedWorkspaceVersion !== state.workspaceVersion) {
26354
26395
  throw queryTrackingPreviewStale(parsed.data.expectedWorkspaceVersion, state.workspaceVersion);
26355
26396
  }
26356
26397
  const reviewedAt = (/* @__PURE__ */ new Date()).toISOString();
26357
26398
  const candidate = buildCandidate(app.db, state, parsed.data, opts, reviewedAt);
26399
+ if (embedLimit !== void 0) assertWithinEmbedQueryLimit(state.queryRows.length, candidate.queryRows.size, embedLimit);
26358
26400
  return queryTrackingPreviewResponseSchema.parse({
26359
26401
  mode: state.mode,
26360
26402
  workspaceVersion: state.workspaceVersion,
@@ -26366,10 +26408,12 @@ async function queryTrackingRoutes(app, opts = {}) {
26366
26408
  workload: candidate.workload
26367
26409
  });
26368
26410
  });
26369
- app.post("/projects/:name/query-tracking/commit", async (request, reply) => {
26370
- requireScope(request, MEASUREMENT_PLAN_WRITE_SCOPE);
26411
+ app.post("/projects/:name/query-tracking/commit", { config: { writeScope: EMBED_QUERIES_WRITE_SCOPE } }, async (request, reply) => {
26412
+ const embedLimit = embedQueryWriteLimit(request);
26413
+ if (embedLimit === void 0) requireScope(request, MEASUREMENT_PLAN_WRITE_SCOPE);
26371
26414
  const parsed = queryTrackingCommitRequestSchema.safeParse(request.body);
26372
26415
  if (!parsed.success) throw validationError("Invalid query tracking commit payload", { issues: parsed.error.issues });
26416
+ if (embedLimit !== void 0) assertEmbedQueryChange(parsed.data);
26373
26417
  const project = resolveProject(app.db, request.params.name);
26374
26418
  const lookup = { operation: "query-tracking.commit", key: parsed.data.previewToken, checksum: requestChecksum(parsed.data) };
26375
26419
  const replay = replayReceipt(app.db, project.id, lookup, reply);
@@ -26381,6 +26425,7 @@ async function queryTrackingRoutes(app, opts = {}) {
26381
26425
  const currentProject = tx.select().from(projects).where(eq41(projects.id, project.id)).get();
26382
26426
  if (!currentProject) throw notFound("Project", project.name);
26383
26427
  const state = readWorkspace(tx, currentProject);
26428
+ if (embedLimit !== void 0) assertEmbedQueryWorkspace(state.mode);
26384
26429
  if (parsed.data.expectedWorkspaceVersion !== state.workspaceVersion) {
26385
26430
  throw queryTrackingPreviewStale(parsed.data.expectedWorkspaceVersion, state.workspaceVersion);
26386
26431
  }
@@ -26388,6 +26433,7 @@ async function queryTrackingRoutes(app, opts = {}) {
26388
26433
  if (parsed.data.previewToken !== mutationPreviewToken(candidate, parsed.data, reviewedAt)) {
26389
26434
  throw queryTrackingPreviewStale(parsed.data.expectedWorkspaceVersion, state.workspaceVersion);
26390
26435
  }
26436
+ if (embedLimit !== void 0) assertWithinEmbedQueryLimit(state.queryRows.length, candidate.queryRows.size, embedLimit);
26391
26437
  if (!candidate.diff.noOp && !rowsEqual(new Map(state.queryRows.map((row) => [row.id, row])), candidate.queryRows)) {
26392
26438
  assertNoActivePlanlessSweep(tx, { projectId: project.id, projectName: project.name });
26393
26439
  }
@@ -26400,7 +26446,12 @@ async function queryTrackingRoutes(app, opts = {}) {
26400
26446
  actor: "api",
26401
26447
  action: "query-tracking.updated",
26402
26448
  entityType: "query",
26403
- diff: { added: candidate.diff.added.length, removed: candidate.diff.removed.length, reused: candidate.diff.reused.length }
26449
+ diff: {
26450
+ added: candidate.diff.added.length,
26451
+ removed: candidate.diff.removed.length,
26452
+ reused: candidate.diff.reused.length,
26453
+ ...embedLimit !== void 0 ? { via: "embed" } : {}
26454
+ }
26404
26455
  }));
26405
26456
  active = null;
26406
26457
  } else if (!candidate.diff.noOp) {
@@ -34287,9 +34338,10 @@ var SCHEMA_TABLE = {
34287
34338
  LoginRequest: loginRequestSchema,
34288
34339
  VisibilityCompareDto: visibilityCompareDtoSchema,
34289
34340
  VisibilityStatsDto: visibilityStatsDtoSchema,
34290
- WordpressAuditPageDto: wordpressAuditPageDtoSchema,
34341
+ WordpressAuditDto: wordpressAuditDtoSchema,
34291
34342
  WordpressBulkMetaResultDto: wordpressBulkMetaResultDtoSchema,
34292
34343
  WordpressDiffDto: wordpressDiffDtoSchema,
34344
+ WordpressLlmsTxtDto: wordpressLlmsTxtDtoSchema,
34293
34345
  WordpressManualAssistDto: wordpressManualAssistDtoSchema,
34294
34346
  WordpressOnboardResultDto: wordpressOnboardResultDtoSchema,
34295
34347
  WordpressPageDetailDto: wordpressPageDetailDtoSchema,
@@ -40427,8 +40479,7 @@ var routeCatalog = [
40427
40479
  tags: ["wordpress"],
40428
40480
  parameters: [nameParameter, wordpressEnvQueryParameter],
40429
40481
  responses: {
40430
- // Returns raw text/plain content of llms.txt.
40431
- 200: { description: "llms.txt returned.", content: { "text/plain": { schema: { type: "string" } } } },
40482
+ 200: jsonResponse("llms.txt returned.", "WordpressLlmsTxtDto"),
40432
40483
  400: errorResponse("Invalid environment or missing connection."),
40433
40484
  404: errorResponse("Project not found.")
40434
40485
  }
@@ -40467,7 +40518,7 @@ var routeCatalog = [
40467
40518
  tags: ["wordpress"],
40468
40519
  parameters: [nameParameter, wordpressEnvQueryParameter],
40469
40520
  responses: {
40470
- 200: jsonArrayResponse("WordPress audit returned.", "WordpressAuditPageDto"),
40521
+ 200: jsonResponse("WordPress audit returned.", "WordpressAuditDto"),
40471
40522
  400: errorResponse("Invalid environment or missing connection."),
40472
40523
  404: errorResponse("Project not found.")
40473
40524
  }
@@ -47873,6 +47924,7 @@ async function googleRoutes(app, opts) {
47873
47924
  lastCrawlResult: r.lastCrawlResult,
47874
47925
  isMobileFriendly: r.isMobileFriendly,
47875
47926
  richResults: r.richResults,
47927
+ referringUrls: r.referringUrls,
47876
47928
  inspectedAt: r.inspectedAt
47877
47929
  });
47878
47930
  const reasonMap = /* @__PURE__ */ new Map();
@@ -15,7 +15,7 @@ import {
15
15
  formatCanonryPluginUpdateHint,
16
16
  formatCanonryPluginVersionMismatch,
17
17
  skillsClientSchema
18
- } from "./chunk-VPZMSV3Q.js";
18
+ } from "./chunk-6JGQT4OH.js";
19
19
 
20
20
  // src/commands/skills.ts
21
21
  import crypto from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  answerServiceAdapters,
3
3
  answerServiceDescriptors
4
- } from "./chunk-ARYBII44.js";
4
+ } from "./chunk-SFMCFMJR.js";
5
5
  import {
6
6
  AeroLlmUsageFeatures,
7
7
  aeroTurnStatus,
@@ -27,14 +27,14 @@ import {
27
27
  resolveConfiguredAgentProvider,
28
28
  resolveSessionProviderAndModel,
29
29
  setAeroSystemPrompt
30
- } from "./chunk-U3EJ5RW7.js";
30
+ } from "./chunk-BRT5GE3Z.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-W7PA35VJ.js";
37
+ } from "./chunk-DW3KF33I.js";
38
38
  import {
39
39
  getGoogleAuthConfig,
40
40
  getGoogleConnection,
@@ -53,7 +53,7 @@ import {
53
53
  removeCloudflareTrafficConnection,
54
54
  removeCloudflareTrafficConnectionBySourceId,
55
55
  upsertCloudflareTrafficConnection
56
- } from "./chunk-LTMQ4MHF.js";
56
+ } from "./chunk-RPYSCFFA.js";
57
57
  import {
58
58
  claudeAdapter,
59
59
  embedQueries,
@@ -64,7 +64,7 @@ import {
64
64
  openaiAdapter,
65
65
  openrouterAdapter,
66
66
  perplexityAdapter
67
- } from "./chunk-IVBJEVHS.js";
67
+ } from "./chunk-EIRIZPR6.js";
68
68
  import {
69
69
  classifyUsageSurface,
70
70
  createApiUsageTelemetry,
@@ -76,7 +76,7 @@ import {
76
76
  startOutcomeTimer,
77
77
  trackFeatureCompleted,
78
78
  trackInstallState
79
- } from "./chunk-ZUXFHO4T.js";
79
+ } from "./chunk-3LTLLHCD.js";
80
80
  import {
81
81
  isLoopbackBindHost
82
82
  } from "./chunk-TSENU4GG.js";
@@ -84,7 +84,7 @@ import {
84
84
  isApiProviderRegistrable,
85
85
  isCdpProviderRegistrable,
86
86
  registeredProviderNames
87
- } from "./chunk-XMXYUP7X.js";
87
+ } from "./chunk-3ZF3T3OG.js";
88
88
  import {
89
89
  checkLatestVersionForServer,
90
90
  getOrCreateAnonymousId,
@@ -95,17 +95,17 @@ import {
95
95
  recordDashboardEvent,
96
96
  setTelemetryPreference,
97
97
  trackEvent
98
- } from "./chunk-7AXVACK6.js";
98
+ } from "./chunk-RVEXUQHP.js";
99
99
  import {
100
100
  createCanonryMcpServer
101
- } from "./chunk-4KMUJOYL.js";
101
+ } from "./chunk-PHHQVV3G.js";
102
102
  import {
103
103
  CANONRY_MCP_TIERS,
104
104
  CANONRY_MCP_TOOLKIT_NAMES
105
105
  } from "./chunk-NDTU7FGL.js";
106
106
  import {
107
107
  ApiClient
108
- } from "./chunk-FDRZQH3Y.js";
108
+ } from "./chunk-BGTJTKOJ.js";
109
109
  import {
110
110
  AGENT_PROVIDERS,
111
111
  adapterSupportsBatch,
@@ -136,21 +136,21 @@ import {
136
136
  saveConfigPatch,
137
137
  sentimentInstallReadiness,
138
138
  updateSharedProviderExecutionGate
139
- } from "./chunk-MVRPFLEL.js";
139
+ } from "./chunk-6RI7JFFI.js";
140
140
  import {
141
141
  getBundledSkillSnapshots
142
- } from "./chunk-2D7O5UHJ.js";
142
+ } from "./chunk-JNRMODJS.js";
143
143
  import {
144
144
  computeFactorAverages,
145
145
  deleteSiteCrawlGraphLayout,
146
146
  persistSiteCrawlGraphLayout,
147
147
  prepareSiteCrawlGraphLayout,
148
148
  recordedSharePct
149
- } from "./chunk-RNA6ZCM6.js";
149
+ } from "./chunk-7W4KNDAW.js";
150
150
  import {
151
151
  CanonryMcpToolNames,
152
152
  canonryMcpTools
153
- } from "./chunk-YIIIYNPW.js";
153
+ } from "./chunk-QNSMMQJY.js";
154
154
  import {
155
155
  PACKAGE_VERSION
156
156
  } from "./chunk-AOJU5LKX.js";
@@ -162,11 +162,11 @@ import {
162
162
  addLogListener,
163
163
  createFastifyLogger,
164
164
  createLogger
165
- } from "./chunk-ZU6X4SN2.js";
165
+ } from "./chunk-42JQQZZQ.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
169
- } from "./chunk-K2P2XO6P.js";
169
+ } from "./chunk-R7RTWOOV.js";
170
170
  import {
171
171
  BingApiError,
172
172
  CC_CACHE_DIR,
@@ -286,7 +286,7 @@ import {
286
286
  webhookResponseReason,
287
287
  webhookTargetRefusalReason,
288
288
  writeAuditLog
289
- } from "./chunk-6W3ENB2X.js";
289
+ } from "./chunk-JGO7LGVN.js";
290
290
  import {
291
291
  OperationalLogStore,
292
292
  SentimentIdempotencyConflict,
@@ -372,7 +372,7 @@ import {
372
372
  siteLivenessState,
373
373
  trafficSources,
374
374
  usageCounters
375
- } from "./chunk-ARIYTYOM.js";
375
+ } from "./chunk-XOCF2U54.js";
376
376
  import {
377
377
  AGENT_MEMORY_VALUE_MAX_BYTES,
378
378
  AI_ENGINE_DOMAINS,
@@ -389,6 +389,7 @@ import {
389
389
  CheckStatuses,
390
390
  DEFAULT_VIEWER_RESEARCH_DAILY_RUN_LIMIT,
391
391
  DiscoveryCompetitorTypes,
392
+ EMBED_QUERY_LIMIT_HEADER,
392
393
  FEEDBACK_LIMITS,
393
394
  FeatureNames,
394
395
  GBP_NO_SELECTED_LOCATIONS_ERROR,
@@ -621,7 +622,7 @@ import {
621
622
  winnabilityClassLabel,
622
623
  withRetry,
623
624
  withSkippedProviders
624
- } from "./chunk-VPZMSV3Q.js";
625
+ } from "./chunk-6JGQT4OH.js";
625
626
 
626
627
  // src/google-marketing-runtime.ts
627
628
  import crypto2 from "crypto";
@@ -5804,7 +5805,7 @@ function nonBlank(value) {
5804
5805
  return trimmed ? trimmed : void 0;
5805
5806
  }
5806
5807
  function resolveBuildCommit(env = process.env) {
5807
- const embedded = true ? "2631ed359be107c3e47aee3905b706f664443b08" : void 0;
5808
+ const embedded = true ? "b237135d4193b22493d7723946c7a8964b181a4f" : void 0;
5808
5809
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5809
5810
  }
5810
5811
  function resolveInstanceIdentity(env = process.env) {
@@ -21303,7 +21304,7 @@ async function createServer(opts) {
21303
21304
  const assetsDir = opts.assetsDir ?? path5.join(dirname, "..", "assets");
21304
21305
  if (fs5.existsSync(assetsDir)) {
21305
21306
  const indexPath = path5.join(assetsDir, "index.html");
21306
- const injectConfig = (html, projectTabsOverride, themeOverride, renderTokenOverride) => {
21307
+ const injectConfig = (html, projectTabsOverride, themeOverride, renderTokenOverride, queryLimitOverride) => {
21307
21308
  const clientConfig = {};
21308
21309
  if (basePath) clientConfig.basePath = basePath;
21309
21310
  const dashboardConfig = {};
@@ -21338,7 +21339,13 @@ async function createServer(opts) {
21338
21339
  };
21339
21340
  }
21340
21341
  if (embed.enabled) {
21341
- const embedClient = embedClientConfigForRequest(embed, projectTabsOverride, themeOverride, renderTokenOverride);
21342
+ const embedClient = embedClientConfigForRequest(
21343
+ embed,
21344
+ projectTabsOverride,
21345
+ themeOverride,
21346
+ renderTokenOverride,
21347
+ queryLimitOverride
21348
+ );
21342
21349
  const projectTabsError = embedProjectTabsError(embedClient?.projectTabs);
21343
21350
  if (projectTabsError) throw validationError(projectTabsError);
21344
21351
  if (embedClient) clientConfig.embed = embedClient;
@@ -21355,7 +21362,8 @@ async function createServer(opts) {
21355
21362
  html,
21356
21363
  reply.request.headers["x-canonry-embed-tabs"],
21357
21364
  reply.request.headers["x-canonry-embed-theme"],
21358
- reply.request.headers["x-canonry-embed-render-token"]
21365
+ reply.request.headers["x-canonry-embed-render-token"],
21366
+ reply.request.headers[EMBED_QUERY_LIMIT_HEADER]
21359
21367
  )
21360
21368
  );
21361
21369
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-VPZMSV3Q.js";
4
+ } from "./chunk-6JGQT4OH.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  trackIntegrationConnection
3
- } from "./chunk-ZUXFHO4T.js";
3
+ } from "./chunk-3LTLLHCD.js";
4
4
  import {
5
5
  cliRuntimeContext
6
- } from "./chunk-7AXVACK6.js";
6
+ } from "./chunk-RVEXUQHP.js";
7
7
 
8
8
  // src/cli-connection-telemetry.ts
9
9
  function trackCliConnection(properties) {
@@ -3,7 +3,7 @@ import {
3
3
  resolveCliAccess,
4
4
  resolveCliAccessForInvocation,
5
5
  windowOptions
6
- } from "./chunk-33LH4ZGF.js";
6
+ } from "./chunk-PJYXLC3D.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-VPZMSV3Q.js";
17
+ } from "./chunk-6JGQT4OH.js";
18
18
 
19
19
  // src/cli-catalog.ts
20
20
  import { createRequire } from "module";
@@ -111,7 +111,7 @@ async function dispatchRegisteredCommand(args, fallbackFormat, specs) {
111
111
  const accessValue = accessFilterFromArgs(argsWithoutHelp);
112
112
  validateAccessFilter(accessValue);
113
113
  if (fallbackFormat !== "text") {
114
- const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-ONYERYPV.js");
114
+ const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-ZBTUYNJA.js");
115
115
  const group2 = argsWithoutHelp.find((arg) => !arg.startsWith("--"));
116
116
  printCliCatalog2(specs, fallbackFormat, group2, accessValue);
117
117
  return true;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-FDRZQH3Y.js";
3
+ } from "./chunk-BGTJTKOJ.js";
4
4
  import {
5
5
  emitJsonl
6
6
  } from "./chunk-Z7IUAJOF.js";
@@ -19,7 +19,7 @@ import {
19
19
  formatMicros,
20
20
  formatRunErrorOneLine,
21
21
  resolveProviderInput
22
- } from "./chunk-VPZMSV3Q.js";
22
+ } from "./chunk-6JGQT4OH.js";
23
23
 
24
24
  // src/commands/run.ts
25
25
  function getClient() {
@@ -6,12 +6,12 @@ import {
6
6
  import {
7
7
  createApiClient,
8
8
  runWithUsageTags
9
- } from "./chunk-FDRZQH3Y.js";
9
+ } from "./chunk-BGTJTKOJ.js";
10
10
  import {
11
11
  canonryMcpTools,
12
12
  mcpOutputSchema,
13
13
  toolOperationAccess
14
- } from "./chunk-YIIIYNPW.js";
14
+ } from "./chunk-QNSMMQJY.js";
15
15
  import {
16
16
  PACKAGE_VERSION
17
17
  } from "./chunk-AOJU5LKX.js";
@@ -24,7 +24,7 @@ import {
24
24
  isReadOnlyKey,
25
25
  restrictedWriteScopes,
26
26
  upgradeCaveatFor
27
- } from "./chunk-VPZMSV3Q.js";
27
+ } from "./chunk-6JGQT4OH.js";
28
28
 
29
29
  // src/mcp/server.ts
30
30
  import { randomUUID } from "crypto";
@@ -5,7 +5,7 @@ import {
5
5
  AppError,
6
6
  parseWindowIn,
7
7
  resolveDateRange
8
- } from "./chunk-VPZMSV3Q.js";
8
+ } from "./chunk-6JGQT4OH.js";
9
9
 
10
10
  // src/cli-access.ts
11
11
  var CLI_ACCESS_BY_ID = Object.freeze({
@@ -7,27 +7,27 @@ import {
7
7
  reparseStoredResult4,
8
8
  reparseStoredResult5,
9
9
  resolveStoredApiResponse
10
- } from "./chunk-IVBJEVHS.js";
10
+ } from "./chunk-EIRIZPR6.js";
11
11
  import {
12
12
  loadConfig
13
- } from "./chunk-MVRPFLEL.js";
13
+ } from "./chunk-6RI7JFFI.js";
14
14
  import {
15
15
  isMachineFormat
16
16
  } from "./chunk-HGMYEDAQ.js";
17
17
  import {
18
18
  determineCitationState
19
- } from "./chunk-K2P2XO6P.js";
19
+ } from "./chunk-R7RTWOOV.js";
20
20
  import {
21
21
  backfillProjectAnswerMentions,
22
22
  competitorIdentityColumns,
23
23
  createRunCompetitorResolver,
24
24
  readMarketCompetitorNames,
25
25
  refreshSnapshotMentionIdentity
26
- } from "./chunk-6W3ENB2X.js";
26
+ } from "./chunk-JGO7LGVN.js";
27
27
  import {
28
28
  classifyAiUserFetch,
29
29
  classifyCrawler
30
- } from "./chunk-J4CNNYRQ.js";
30
+ } from "./chunk-CNSLBHFP.js";
31
31
  import {
32
32
  aiUserFetchEventsHourly,
33
33
  auditLog,
@@ -42,7 +42,7 @@ import {
42
42
  querySnapshots,
43
43
  rawEventSamples,
44
44
  runs
45
- } from "./chunk-ARIYTYOM.js";
45
+ } from "./chunk-XOCF2U54.js";
46
46
  import {
47
47
  ProviderNames,
48
48
  RetrievalContracts,
@@ -59,7 +59,7 @@ import {
59
59
  extractRecommendedCompetitors,
60
60
  normalizeUrlPath,
61
61
  openRouterRouteModel
62
- } from "./chunk-VPZMSV3Q.js";
62
+ } from "./chunk-6JGQT4OH.js";
63
63
 
64
64
  // src/commands/backfill.ts
65
65
  import { setImmediate as yieldToEventLoop } from "timers/promises";
@@ -437,7 +437,7 @@ No DB writes performed. Re-run without --dry-run to apply.`);
437
437
  }
438
438
  }
439
439
  async function backfillInsightsCommand(project, opts) {
440
- const { IntelligenceService } = await import("./intelligence-service-4OO2VQ2I.js");
440
+ const { IntelligenceService } = await import("./intelligence-service-PAMFRLPE.js");
441
441
  const config = loadConfig();
442
442
  const db = createClient(config.database);
443
443
  migrate(db);
@@ -2,11 +2,11 @@ import {
2
2
  dedupeGscSitemapUrls,
3
3
  resolveDiscoveredGscSitemapUrls,
4
4
  submitGscSitemapBatches
5
- } from "./chunk-5SK27UE7.js";
5
+ } from "./chunk-CSDDKEL6.js";
6
6
  import {
7
7
  measurementDraftOperationSchema,
8
8
  runMeasurementDraftAction
9
- } from "./chunk-PAVSKSKA.js";
9
+ } from "./chunk-ULUKHNE4.js";
10
10
  import {
11
11
  CliError
12
12
  } from "./chunk-HGMYEDAQ.js";
@@ -177,7 +177,7 @@ import {
177
177
  trafficSeriesGranularitySchema,
178
178
  visibilityCompareSelectionSchema,
179
179
  visibilityReportRequestSchema
180
- } from "./chunk-VPZMSV3Q.js";
180
+ } from "./chunk-6JGQT4OH.js";
181
181
 
182
182
  // src/mcp/tool-registry.ts
183
183
  import { z as z2 } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  hostMatchesDomain
3
- } from "./chunk-VPZMSV3Q.js";
3
+ } from "./chunk-6JGQT4OH.js";
4
4
 
5
5
  // src/citation-utils.ts
6
6
  function pickProjectCitedDomain(citedDomains, projectDomains) {
@@ -2,18 +2,18 @@ import {
2
2
  configExists,
3
3
  loadConfigRaw,
4
4
  saveConfigPatch
5
- } from "./chunk-MVRPFLEL.js";
5
+ } from "./chunk-6RI7JFFI.js";
6
6
  import {
7
7
  BUNDLED_SKILL_NAMES,
8
8
  installSkills
9
- } from "./chunk-2D7O5UHJ.js";
9
+ } from "./chunk-JNRMODJS.js";
10
10
  import {
11
11
  PACKAGE_VERSION
12
12
  } from "./chunk-AOJU5LKX.js";
13
13
  import {
14
14
  SKILL_MANIFEST_FILENAME,
15
15
  SkillsClients
16
- } from "./chunk-VPZMSV3Q.js";
16
+ } from "./chunk-6JGQT4OH.js";
17
17
 
18
18
  // src/skills-autosync.ts
19
19
  import fs from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cloudflareQueueNameSchema
3
- } from "./chunk-VPZMSV3Q.js";
3
+ } from "./chunk-6JGQT4OH.js";
4
4
 
5
5
  // src/cloudflare-traffic-config.ts
6
6
  function unsupportedDeliveryMode(deliveryMode) {