@canonry/canonry 7.63.1 → 7.64.1

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/agent-workspace/skills/aero/references/ai-traffic-tracking.md +13 -9
  2. package/assets/agent-workspace/skills/canonry/references/ai-traffic-tracking.md +13 -9
  3. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +24 -3
  4. package/assets/assets/{AgentSetupPage-D6lCJ1G1.js → AgentSetupPage-C9VnIbMS.js} +1 -1
  5. package/assets/assets/{AuditHistoryPanel-DlgI3o-U.js → AuditHistoryPanel-DLa6Ca5t.js} +1 -1
  6. package/assets/assets/{BacklinksPage-ByiMqbSI.js → BacklinksPage-Dxnz-sUy.js} +1 -1
  7. package/assets/assets/{HistoryPage-DclVeuLO.js → HistoryPage-PU7UNO3T.js} +1 -1
  8. package/assets/assets/{MeasurementPropertyPage-DDHybtHa.js → MeasurementPropertyPage-Bo4xKbWQ.js} +1 -1
  9. package/assets/assets/{ProjectPage-vBu6oWFi.js → ProjectPage-DuW9zWT9.js} +1 -1
  10. package/assets/assets/{RunsPage-CYBJ6pXX.js → RunsPage-Cr0QSE4Q.js} +1 -1
  11. package/assets/assets/{SettingsPage-w0GmXir0.js → SettingsPage-K6tGAVHo.js} +1 -1
  12. package/assets/assets/{SiteHealthSection-DDTjGZ05.js → SiteHealthSection-DxhIqNDZ.js} +2 -2
  13. package/assets/assets/ToneBadge-Cvv6Tkk7.js +60 -0
  14. package/assets/assets/{TrafficPage-hUWYv-HT.js → TrafficPage-lNcR4TvT.js} +1 -1
  15. package/assets/assets/{TrafficSourceDetailPage-CGHgPxs8.js → TrafficSourceDetailPage-D47VIFDK.js} +1 -1
  16. package/assets/assets/{account-context-qX-Es0RK.js → account-context-BL8j43iU.js} +1 -1
  17. package/assets/assets/{card-CzROANT5.js → card-BKud0olB.js} +1 -1
  18. package/assets/assets/{extract-error-message-BY1STLiX.js → extract-error-message-CvEgflI1.js} +1 -1
  19. package/assets/assets/{format-helpers-BNQR1HNK.js → format-helpers-Ce3RoH9T.js} +1 -1
  20. package/assets/assets/{index-LmB57HOs.js → index-C2t4yW4t.js} +4 -4
  21. package/assets/assets/{query-client-Gz37p16p.js → query-client-Bf5Rr6po.js} +1 -1
  22. package/assets/assets/{react-query-C6DtBAYQ.js → react-query-CsFtWT8r.js} +1 -1
  23. package/assets/assets/{react-sigma_core.esm.min-CgxuyPPF.js → react-sigma_core.esm.min-D-dyJflK.js} +1 -1
  24. package/assets/assets/{service-DyHZWnMe.js → service-C0U5Ude4.js} +1 -1
  25. package/assets/index.html +7 -7
  26. package/dist/{ads-FOUJNHP4.js → ads-EFXCND5Z.js} +3 -3
  27. package/dist/{agent-UVDVH7LK.js → agent-2MAONYLR.js} +7 -7
  28. package/dist/{agent-ask-UEYN2SQX.js → agent-ask-5555LQQL.js} +3 -3
  29. package/dist/{agent-conversations-F54376Q2.js → agent-conversations-LYWOS4X3.js} +3 -3
  30. package/dist/{agent-memory-SOHBTJ4U.js → agent-memory-HOYIIO66.js} +3 -3
  31. package/dist/{agent-providers-MMEK2H6V.js → agent-providers-EYXB2DMX.js} +3 -3
  32. package/dist/{agent-transcript-5IJ3VAEV.js → agent-transcript-BWDOJXPV.js} +3 -3
  33. package/dist/{analytics-LDWO5IW6.js → analytics-46VKY4SP.js} +3 -3
  34. package/dist/{apply-PSGFDJIC.js → apply-GII5J3QB.js} +3 -3
  35. package/dist/{backfill-2BVFKQ6J.js → backfill-WSIEPRES.js} +9 -9
  36. package/dist/{backlinks-X6DXIL2O.js → backlinks-GRHTLP5Z.js} +3 -3
  37. package/dist/{bing-3HMFUEOO.js → bing-5QDDHK57.js} +3 -3
  38. package/dist/{bootstrap-ZUSSLXCI.js → bootstrap-GWDFCGEQ.js} +10 -10
  39. package/dist/{cdp-FH627HJ6.js → cdp-YMIJN52Z.js} +7 -7
  40. package/dist/{chunk-SN5A767O.js → chunk-2BJDLTDI.js} +1 -1
  41. package/dist/{chunk-TKLE2Y6H.js → chunk-4PRXS5JH.js} +103 -4
  42. package/dist/{chunk-2LAL5W6J.js → chunk-6AYOWQJ3.js} +3 -3
  43. package/dist/{chunk-6ABOEN5D.js → chunk-6ZA23GRE.js} +8 -8
  44. package/dist/{chunk-PH7RTAWW.js → chunk-7LVZATRE.js} +1 -1
  45. package/dist/{chunk-V3QMOGZE.js → chunk-7STLCYWL.js} +5 -5
  46. package/dist/{chunk-AGSQWIE4.js → chunk-7U2SFOJN.js} +20 -20
  47. package/dist/{chunk-L2QPAUTQ.js → chunk-7V6DJCZO.js} +1 -1
  48. package/dist/{chunk-LBD7YXVD.js → chunk-AUIHVRJ3.js} +2 -2
  49. package/dist/{chunk-ZJTU73GW.js → chunk-BAQOH3LE.js} +3 -3
  50. package/dist/{chunk-QNFX7ZCT.js → chunk-BUED4RWE.js} +1 -1
  51. package/dist/{chunk-NOQCIXM6.js → chunk-CLMJSIZU.js} +1 -1
  52. package/dist/{chunk-UBP3AAKA.js → chunk-CNPYR2CQ.js} +1 -1
  53. package/dist/{chunk-SQYYAYH6.js → chunk-DKVY6HFW.js} +3 -3
  54. package/dist/{chunk-LEG7F3DN.js → chunk-DYDLK3YY.js} +2 -2
  55. package/dist/{chunk-CWMJQ2JV.js → chunk-I62VYS4B.js} +4 -4
  56. package/dist/{chunk-GRWZC3GQ.js → chunk-ITYUIHKO.js} +1 -1
  57. package/dist/{chunk-5VAC4KQ2.js → chunk-JP4Q5FEW.js} +3 -3
  58. package/dist/{chunk-32KNDPD3.js → chunk-K5S5HXAK.js} +348 -336
  59. package/dist/{chunk-UYPBR3SF.js → chunk-L6IQN2Y5.js} +2 -2
  60. package/dist/{chunk-ERJ54U2I.js → chunk-M6QGMJAQ.js} +1 -1
  61. package/dist/{chunk-OIHJJHJR.js → chunk-MXQB7AAP.js} +1 -1
  62. package/dist/{chunk-5GMYD7UZ.js → chunk-NFZXB5ZV.js} +5 -5
  63. package/dist/{chunk-22ABGRB7.js → chunk-TX4HBLFP.js} +206 -115
  64. package/dist/{chunk-SG2OPR7J.js → chunk-UQABYWAX.js} +1 -1
  65. package/dist/{chunk-67262NJL.js → chunk-V23ALG2D.js} +2 -2
  66. package/dist/{chunk-H22RCHYH.js → chunk-VLOWXBJS.js} +3 -3
  67. package/dist/{chunk-IDQZTPRG.js → chunk-WFOIIHAK.js} +2 -2
  68. package/dist/{chunk-IRRONWF7.js → chunk-WLCYVJGN.js} +4 -4
  69. package/dist/{chunk-EHTSCLEL.js → chunk-XR3R5PDK.js} +1 -1
  70. package/dist/{chunk-A57HYHJ3.js → chunk-Y3VMSYEG.js} +1 -1
  71. package/dist/{chunk-5YC6IU44.js → chunk-ZGLLSPBB.js} +2 -2
  72. package/dist/{chunk-JM6OFCLX.js → chunk-ZUH7GDQ4.js} +4 -4
  73. package/dist/{chunk-HNZQVIPS.js → chunk-ZYE7D2OC.js} +23 -1
  74. package/dist/{citations-BKWLP5S3.js → citations-AMOXXK5R.js} +3 -3
  75. package/dist/{cli-catalog-VRJS66GR.js → cli-catalog-K5EQZBOO.js} +3 -3
  76. package/dist/{cli-commands-ONFE63OB.js → cli-commands-CCGP2A2P.js} +7 -7
  77. package/dist/cli.js +13 -13
  78. package/dist/{competitor-VELMM2TJ.js → competitor-YQBDZE6A.js} +3 -3
  79. package/dist/{content-I525MITL.js → content-DFZ56U3J.js} +3 -3
  80. package/dist/{dashboard-BC4NKAO2.js → dashboard-LIPZS22H.js} +6 -6
  81. package/dist/{demo-ZRFZ5EBH.js → demo-XZJKCQRO.js} +1 -1
  82. package/dist/{demo-server-7R7NGWJA.js → demo-server-3BCUBH4H.js} +11 -11
  83. package/dist/{discover-E2CV5ZP7.js → discover-JDJ2O6D6.js} +3 -3
  84. package/dist/{discover-eval-ESRCWRHP.js → discover-eval-5GST6BOJ.js} +3 -3
  85. package/dist/{doctor-BQDVERII.js → doctor-2LJGHCIZ.js} +3 -3
  86. package/dist/{evidence-NUULK5XD.js → evidence-FQKL6ULX.js} +3 -3
  87. package/dist/{export-cmd-K324RTN4.js → export-cmd-KNGYT4JH.js} +3 -3
  88. package/dist/{ga-PQ36UFTK.js → ga-UH4RUHX2.js} +25 -3
  89. package/dist/{gbp-KTYA6KHR.js → gbp-IPMROSVV.js} +3 -3
  90. package/dist/{google-3D4E7TJX.js → google-QU5M737H.js} +4 -4
  91. package/dist/{google-marketing-4FRO4PRN.js → google-marketing-QCLVAP25.js} +1 -1
  92. package/dist/{health-cmd-CZJOZUAQ.js → health-cmd-7UFZ5MT6.js} +3 -3
  93. package/dist/{history-JNH34GAM.js → history-3H3CKHVR.js} +3 -3
  94. package/dist/index.d.ts +64 -5
  95. package/dist/index.js +24 -24
  96. package/dist/{init-TU4VSGVU.js → init-HNPTJIOS.js} +11 -11
  97. package/dist/{insights-STYJSZBB.js → insights-LEVVXDBW.js} +3 -3
  98. package/dist/intelligence-service-GQQNTMUX.js +15 -0
  99. package/dist/{journeys-POTSSBOM.js → journeys-JMQBUF2E.js} +3 -3
  100. package/dist/{keys-BPCSPX2O.js → keys-LF2UMTN6.js} +3 -3
  101. package/dist/{keyword-6SML434W.js → keyword-JSJYNWN2.js} +3 -3
  102. package/dist/{logs-WTKKH4UJ.js → logs-RWUB42V3.js} +3 -3
  103. package/dist/{mcp-HTAHMVRC.js → mcp-FWQXTWAR.js} +2 -2
  104. package/dist/mcp.js +9 -9
  105. package/dist/{measurement-plan-LJHKKRZ7.js → measurement-plan-4WXYE6CZ.js} +5 -5
  106. package/dist/{notify-EARS4LMG.js → notify-FBS43GY5.js} +3 -3
  107. package/dist/{organic-evidence-W7ZQQKPL.js → organic-evidence-TTXXAHFX.js} +3 -3
  108. package/dist/{overview-C7KQD4NR.js → overview-AB5JTMWR.js} +4 -4
  109. package/dist/{project-YU2FIL4B.js → project-GSQMF736.js} +7 -4
  110. package/dist/{query-SYFLWHFA.js → query-JITDUO3B.js} +3 -3
  111. package/dist/{research-UOUXMFBV.js → research-UU5W2XPU.js} +3 -3
  112. package/dist/{results-export-VYPG2Z6S.js → results-export-ZX62A645.js} +3 -3
  113. package/dist/{run-GZD3MQGS.js → run-HXNS5CB3.js} +4 -4
  114. package/dist/{schedule-PAA2NLGF.js → schedule-Q4XMBZAH.js} +3 -3
  115. package/dist/{search-6RWCUEEY.js → search-GC4RYLYD.js} +3 -3
  116. package/dist/{serve-VIEGFGSK.js → serve-ECMM256O.js} +25 -25
  117. package/dist/{session-JLH72BF5.js → session-JI4YODZS.js} +12 -12
  118. package/dist/{settings-TTA775EJ.js → settings-5GFLK4DY.js} +3 -3
  119. package/dist/{skills-GA35KKOV.js → skills-B7Z5S3IT.js} +2 -2
  120. package/dist/{snapshot-QVQVAMMN.js → snapshot-2JOQFYJE.js} +3 -3
  121. package/dist/{src-CTHVFVLF.js → src-2UNG3E4M.js} +2 -2
  122. package/dist/{status-E7B726S6.js → status-NKK5MYNE.js} +4 -4
  123. package/dist/{technical-aeo-SMPN3QDQ.js → technical-aeo-MQLGHVIX.js} +3 -3
  124. package/dist/{telemetry-CTBFPMWD.js → telemetry-J5F2H7OJ.js} +4 -4
  125. package/dist/{tools-YOV2KHF2.js → tools-CXANMI23.js} +11 -11
  126. package/dist/{traffic-XACOSYYM.js → traffic-BVKW6QDD.js} +5 -5
  127. package/dist/{users-WJC7SGRL.js → users-2EKLHWPH.js} +3 -3
  128. package/dist/{visibility-stats-H3ZNFV5M.js → visibility-stats-HVQ6VUEB.js} +3 -3
  129. package/dist/{wordpress-72YMWF7F.js → wordpress-EEYBM634.js} +3 -3
  130. package/package.json +1 -1
  131. package/assets/assets/ToneBadge-MKA1xeYc.js +0 -60
  132. package/dist/intelligence-service-MWTHUE7S.js +0 -15
@@ -3842,8 +3842,53 @@ var ga4EventNameSchema = z7.string().trim().regex(/^[a-z]\w{0,39}$/i, {
3842
3842
  var measurementConfigSchema = z7.object({
3843
3843
  marketingHosts: z7.array(marketingHostSchema).overwrite((values) => dedupeStable(values, true)),
3844
3844
  brandTerms: z7.array(brandTermSchema).overwrite((values) => dedupeStable(values, true)),
3845
- leadEventNames: z7.array(ga4EventNameSchema).overwrite((values) => dedupeStable(values))
3846
- });
3845
+ leadEventNames: z7.array(ga4EventNameSchema).overwrite((values) => dedupeStable(values)),
3846
+ /**
3847
+ * Also count the events the GA4 property marks as key events (its
3848
+ * conversions, read from the GA4 Admin API on each sync) alongside
3849
+ * `leadEventNames`. Omitted means on; set false to count only
3850
+ * `leadEventNames`.
3851
+ */
3852
+ countKeyEvents: z7.boolean().optional()
3853
+ });
3854
+ function countsKeyEvents(config) {
3855
+ return config.countKeyEvents !== false;
3856
+ }
3857
+ var NON_CONVERSION_KEY_EVENTS = Object.freeze([
3858
+ // Recommended ecommerce events that are funnel steps (purchase is the outcome).
3859
+ "view_item_list",
3860
+ "select_item",
3861
+ "view_item",
3862
+ "add_to_wishlist",
3863
+ "add_to_cart",
3864
+ "remove_from_cart",
3865
+ "view_cart",
3866
+ "begin_checkout",
3867
+ "add_shipping_info",
3868
+ "add_payment_info",
3869
+ "view_promotion",
3870
+ "select_promotion",
3871
+ "refund",
3872
+ // Automatically collected and enhanced measurement engagement events.
3873
+ "page_view",
3874
+ "session_start",
3875
+ "first_visit",
3876
+ "user_engagement",
3877
+ "scroll",
3878
+ "view_search_results",
3879
+ "form_start",
3880
+ "video_start",
3881
+ "video_progress",
3882
+ "video_complete"
3883
+ ]);
3884
+ var NON_CONVERSION_KEY_EVENT_SET = new Set(NON_CONVERSION_KEY_EVENTS);
3885
+ function countedLeadEventNames(configured, keyEvents) {
3886
+ return [.../* @__PURE__ */ new Set([...configured, ...keyEvents.filter((name) => !NON_CONVERSION_KEY_EVENT_SET.has(name))])].sort();
3887
+ }
3888
+ function ignoredKeyEventNames(configured, keyEvents) {
3889
+ const configuredSet = new Set(configured);
3890
+ return [...new Set(keyEvents.filter((name) => NON_CONVERSION_KEY_EVENT_SET.has(name) && !configuredSet.has(name)))].sort();
3891
+ }
3847
3892
  function createDefaultMeasurementConfig() {
3848
3893
  return {
3849
3894
  marketingHosts: [],
@@ -4013,7 +4058,38 @@ var gaMeasurementAnalysisDtoSchema = z7.object({
4013
4058
  * GA4's own AI channel group in `channels`, which does not say which
4014
4059
  * engine and pools paid with organic.
4015
4060
  */
4016
- aiEngines: analysisAiEngineLeadsSchema
4061
+ aiEngines: analysisAiEngineLeadsSchema,
4062
+ /**
4063
+ * Which GA4 events count as conversions: the configured
4064
+ * `leadEventNames`, plus the property's key events when `countKeyEvents`
4065
+ * is on. `keyEvents` is the last successful read (null before one), and
4066
+ * `keyEventsError` the latest failed read, which keeps the previous list.
4067
+ */
4068
+ countedEvents: z7.object({
4069
+ configured: z7.array(z7.string()),
4070
+ keyEventsEnabled: z7.boolean(),
4071
+ keyEvents: z7.array(z7.string()).nullable(),
4072
+ keyEventsError: z7.string().nullable(),
4073
+ /**
4074
+ * Key events the property marks that are not counted because they are
4075
+ * funnel or engagement steps (`NON_CONVERSION_KEY_EVENTS`), not outcomes.
4076
+ * Configuring one as a lead event counts it.
4077
+ */
4078
+ ignoredKeyEvents: z7.array(z7.string())
4079
+ }),
4080
+ /**
4081
+ * Conversions per counted event name, so sales, bookings and form leads
4082
+ * read separately. `origin` says whether the name is configured, a GA4
4083
+ * key event, or both. Measured events come first, ranked like
4084
+ * `channels`; `measured: false` is a counted event no lead sync has
4085
+ * fetched yet, listed without `periods` rather than as a zero.
4086
+ */
4087
+ events: z7.array(z7.object({
4088
+ eventName: z7.string(),
4089
+ origin: z7.enum(["configured", "key-event", "both"]),
4090
+ measured: z7.boolean(),
4091
+ periods: z7.array(analysisEventPeriodSchema)
4092
+ }))
4017
4093
  }),
4018
4094
  engagement: z7.object({
4019
4095
  status: z7.enum(["ready", "unavailable"]),
@@ -17420,7 +17496,25 @@ var ga4SyncResponseDtoSchema = z50.object({
17420
17496
  syncedAt: z50.string(),
17421
17497
  measurement: z50.object({
17422
17498
  acquisition: z50.object({ days: z50.number().int().nonnegative(), status: z50.enum(["ready", "error"]), rowCount: z50.number().int().nonnegative(), error: z50.string().optional() }),
17423
- leads: z50.object({ days: z50.number().int().nonnegative(), status: z50.enum(["ready", "error", "not-configured"]), rowCount: z50.number().int().nonnegative(), attributionScope: z50.enum(["landing-page", "channel"]).optional(), error: z50.string().optional() }),
17499
+ leads: z50.object({
17500
+ days: z50.number().int().nonnegative(),
17501
+ status: z50.enum(["ready", "error", "not-configured"]),
17502
+ rowCount: z50.number().int().nonnegative(),
17503
+ attributionScope: z50.enum(["landing-page", "channel"]).optional(),
17504
+ error: z50.string().optional(),
17505
+ /** The GA4 events this sync counted: the configured lead events plus the property's key events. */
17506
+ eventNames: z50.array(z50.string()).optional(),
17507
+ /**
17508
+ * The property's key-event read. `read` lists them; `error` keeps the
17509
+ * previous successful list and names the failure; `disabled` means the
17510
+ * project counts only its configured lead events.
17511
+ */
17512
+ keyEvents: z50.object({
17513
+ status: z50.enum(["read", "error", "disabled"]),
17514
+ names: z50.array(z50.string()),
17515
+ error: z50.string().optional()
17516
+ }).optional()
17517
+ }),
17424
17518
  /**
17425
17519
  * GA4's Search Console landing-page snapshot. Absent when `only` names
17426
17520
  * another slice, since this sync did not attempt it. Its failure never
@@ -21613,6 +21707,7 @@ var projectFieldsStateSchema = z70.object({
21613
21707
  "measurement.marketingHosts": measurementConfigSchema.shape.marketingHosts.optional(),
21614
21708
  "measurement.brandTerms": measurementConfigSchema.shape.brandTerms.optional(),
21615
21709
  "measurement.leadEventNames": measurementConfigSchema.shape.leadEventNames.optional(),
21710
+ "measurement.countKeyEvents": z70.boolean().optional(),
21616
21711
  locations: z70.array(locationContextSchema).optional(),
21617
21712
  defaultLocation: z70.string().nullable().optional(),
21618
21713
  autoExtractBacklinks: z70.boolean().optional(),
@@ -21636,6 +21731,7 @@ var projectFieldsChangeSchema = z70.object({
21636
21731
  "measurement.marketingHosts": fieldChangeSchema(measurementConfigSchema.shape.marketingHosts).optional(),
21637
21732
  "measurement.brandTerms": fieldChangeSchema(measurementConfigSchema.shape.brandTerms).optional(),
21638
21733
  "measurement.leadEventNames": fieldChangeSchema(measurementConfigSchema.shape.leadEventNames).optional(),
21734
+ "measurement.countKeyEvents": fieldChangeSchema(z70.boolean()).optional(),
21639
21735
  locations: fieldChangeSchema(z70.array(locationContextSchema)).optional(),
21640
21736
  defaultLocation: fieldChangeSchema(z70.string()).optional(),
21641
21737
  autoExtractBacklinks: fieldChangeSchema(z70.boolean()).optional(),
@@ -26080,6 +26176,9 @@ export {
26080
26176
  roundRatio,
26081
26177
  percentOf,
26082
26178
  measurementConfigSchema,
26179
+ countsKeyEvents,
26180
+ countedLeadEventNames,
26181
+ ignoredKeyEventNames,
26083
26182
  DEFAULT_MEASUREMENT_CONFIG,
26084
26183
  gaMeasurementAnalysisWindowSchema,
26085
26184
  gaMeasurementHostScopeSchema,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createApiClient
3
- } from "./chunk-LEG7F3DN.js";
3
+ } from "./chunk-DYDLK3YY.js";
4
4
  import {
5
5
  emitJsonl
6
6
  } from "./chunk-Z7IUAJOF.js";
7
7
  import {
8
8
  measurementDraftOperationSchema,
9
9
  runMeasurementDraftAction
10
- } from "./chunk-NOQCIXM6.js";
10
+ } from "./chunk-CLMJSIZU.js";
11
11
  import {
12
12
  isMachineFormat,
13
13
  systemError
@@ -37,7 +37,7 @@ import {
37
37
  unattributedAnswersLabel,
38
38
  uncheckedSourcesLabel,
39
39
  visibilityReportRequestSchema
40
- } from "./chunk-TKLE2Y6H.js";
40
+ } from "./chunk-4PRXS5JH.js";
41
41
 
42
42
  // src/commands/measurement-plan.ts
43
43
  import crypto from "crypto";
@@ -7,27 +7,27 @@ import {
7
7
  reparseStoredResult4,
8
8
  reparseStoredResult5,
9
9
  resolveStoredApiResponse
10
- } from "./chunk-UYPBR3SF.js";
10
+ } from "./chunk-L6IQN2Y5.js";
11
11
  import {
12
12
  loadConfig
13
- } from "./chunk-A57HYHJ3.js";
13
+ } from "./chunk-Y3VMSYEG.js";
14
14
  import {
15
15
  isMachineFormat
16
16
  } from "./chunk-HGMYEDAQ.js";
17
17
  import {
18
18
  determineCitationState
19
- } from "./chunk-EHTSCLEL.js";
19
+ } from "./chunk-XR3R5PDK.js";
20
20
  import {
21
21
  backfillProjectAnswerMentions,
22
22
  competitorIdentityColumns,
23
23
  createRunCompetitorResolver,
24
24
  readMarketCompetitorNames,
25
25
  refreshSnapshotMentionIdentity
26
- } from "./chunk-22ABGRB7.js";
26
+ } from "./chunk-TX4HBLFP.js";
27
27
  import {
28
28
  classifyAiUserFetch,
29
29
  classifyCrawler
30
- } from "./chunk-SG2OPR7J.js";
30
+ } from "./chunk-UQABYWAX.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-HNZQVIPS.js";
45
+ } from "./chunk-ZYE7D2OC.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-TKLE2Y6H.js";
62
+ } from "./chunk-4PRXS5JH.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-MWTHUE7S.js");
440
+ const { IntelligenceService } = await import("./intelligence-service-GQQNTMUX.js");
441
441
  const config = loadConfig();
442
442
  const db = createClient(config.database);
443
443
  migrate(db);
@@ -15,7 +15,7 @@ import {
15
15
  formatCanonryPluginUpdateHint,
16
16
  formatCanonryPluginVersionMismatch,
17
17
  skillsClientSchema
18
- } from "./chunk-TKLE2Y6H.js";
18
+ } from "./chunk-4PRXS5JH.js";
19
19
 
20
20
  // src/commands/skills.ts
21
21
  import crypto from "crypto";
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-JM6OFCLX.js";
8
+ } from "./chunk-ZUH7GDQ4.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS
11
11
  } from "./chunk-NCIPNVD6.js";
@@ -22,15 +22,15 @@ import {
22
22
  resolveApiKeyFor,
23
23
  resolveModelForProvider,
24
24
  validateAgentProviderRegistry
25
- } from "./chunk-A57HYHJ3.js";
25
+ } from "./chunk-Y3VMSYEG.js";
26
26
  import {
27
27
  CanonryMcpToolNames,
28
28
  canonryMcpTools
29
- } from "./chunk-H22RCHYH.js";
29
+ } from "./chunk-VLOWXBJS.js";
30
30
  import {
31
31
  agentToolEvents,
32
32
  llmUsageEvents
33
- } from "./chunk-HNZQVIPS.js";
33
+ } from "./chunk-ZYE7D2OC.js";
34
34
  import {
35
35
  MeasurementPortfolioLists,
36
36
  agentTurnLimitsSchema,
@@ -38,7 +38,7 @@ import {
38
38
  describeError,
39
39
  validationError,
40
40
  visibilityReportRequestSchema
41
- } from "./chunk-TKLE2Y6H.js";
41
+ } from "./chunk-4PRXS5JH.js";
42
42
 
43
43
  // src/agent/session.ts
44
44
  import fs3 from "fs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  answerServiceAdapters,
3
3
  answerServiceDescriptors
4
- } from "./chunk-OIHJJHJR.js";
4
+ } from "./chunk-MXQB7AAP.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-V3QMOGZE.js";
30
+ } from "./chunk-7STLCYWL.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-JM6OFCLX.js";
37
+ } from "./chunk-ZUH7GDQ4.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-UBP3AAKA.js";
56
+ } from "./chunk-CNPYR2CQ.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-UYPBR3SF.js";
67
+ } from "./chunk-L6IQN2Y5.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-CWMJQ2JV.js";
79
+ } from "./chunk-I62VYS4B.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-GRWZC3GQ.js";
87
+ } from "./chunk-ITYUIHKO.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-67262NJL.js";
98
+ } from "./chunk-V23ALG2D.js";
99
99
  import {
100
100
  createCanonryMcpServer
101
- } from "./chunk-5VAC4KQ2.js";
101
+ } from "./chunk-JP4Q5FEW.js";
102
102
  import {
103
103
  CANONRY_MCP_TIERS,
104
104
  CANONRY_MCP_TOOLKIT_NAMES
105
105
  } from "./chunk-NCIPNVD6.js";
106
106
  import {
107
107
  ApiClient
108
- } from "./chunk-LEG7F3DN.js";
108
+ } from "./chunk-DYDLK3YY.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-A57HYHJ3.js";
139
+ } from "./chunk-Y3VMSYEG.js";
140
140
  import {
141
141
  getBundledSkillSnapshots
142
- } from "./chunk-PH7RTAWW.js";
142
+ } from "./chunk-7LVZATRE.js";
143
143
  import {
144
144
  computeFactorAverages,
145
145
  deleteSiteCrawlGraphLayout,
146
146
  persistSiteCrawlGraphLayout,
147
147
  prepareSiteCrawlGraphLayout,
148
148
  recordedSharePct
149
- } from "./chunk-5YC6IU44.js";
149
+ } from "./chunk-ZGLLSPBB.js";
150
150
  import {
151
151
  CanonryMcpToolNames,
152
152
  canonryMcpTools
153
- } from "./chunk-H22RCHYH.js";
153
+ } from "./chunk-VLOWXBJS.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-5GMYD7UZ.js";
165
+ } from "./chunk-NFZXB5ZV.js";
166
166
  import {
167
167
  computeCitedCompetitorDomains,
168
168
  determineCitationState
169
- } from "./chunk-EHTSCLEL.js";
169
+ } from "./chunk-XR3R5PDK.js";
170
170
  import {
171
171
  BingApiError,
172
172
  CC_CACHE_DIR,
@@ -285,7 +285,7 @@ import {
285
285
  webhookResponseReason,
286
286
  webhookTargetRefusalReason,
287
287
  writeAuditLog
288
- } from "./chunk-22ABGRB7.js";
288
+ } from "./chunk-TX4HBLFP.js";
289
289
  import {
290
290
  OperationalLogStore,
291
291
  SentimentIdempotencyConflict,
@@ -371,7 +371,7 @@ import {
371
371
  siteLivenessState,
372
372
  trafficSources,
373
373
  usageCounters
374
- } from "./chunk-HNZQVIPS.js";
374
+ } from "./chunk-ZYE7D2OC.js";
375
375
  import {
376
376
  AGENT_MEMORY_VALUE_MAX_BYTES,
377
377
  AI_ENGINE_DOMAINS,
@@ -617,7 +617,7 @@ import {
617
617
  winnabilityClassLabel,
618
618
  withRetry,
619
619
  withSkippedProviders
620
- } from "./chunk-TKLE2Y6H.js";
620
+ } from "./chunk-4PRXS5JH.js";
621
621
 
622
622
  // src/google-marketing-runtime.ts
623
623
  import crypto2 from "crypto";
@@ -5658,7 +5658,7 @@ function nonBlank(value) {
5658
5658
  return trimmed ? trimmed : void 0;
5659
5659
  }
5660
5660
  function resolveBuildCommit(env = process.env) {
5661
- const embedded = true ? "bf661eb5ab6eb02b455254b13b5cc8d0d8ca6536" : void 0;
5661
+ const embedded = true ? "5e143f28d48e476bca9b7e4fbf9ef81e99f6607b" : void 0;
5662
5662
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5663
5663
  }
5664
5664
  function resolveInstanceIdentity(env = process.env) {
@@ -5,7 +5,7 @@ import {
5
5
  AppError,
6
6
  parseWindowIn,
7
7
  resolveDateRange
8
- } from "./chunk-TKLE2Y6H.js";
8
+ } from "./chunk-4PRXS5JH.js";
9
9
 
10
10
  // src/cli-access.ts
11
11
  var CLI_ACCESS_BY_ID = Object.freeze({
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  trackIntegrationConnection
3
- } from "./chunk-CWMJQ2JV.js";
3
+ } from "./chunk-I62VYS4B.js";
4
4
  import {
5
5
  cliRuntimeContext
6
- } from "./chunk-67262NJL.js";
6
+ } from "./chunk-V23ALG2D.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-L2QPAUTQ.js";
6
+ } from "./chunk-7V6DJCZO.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-TKLE2Y6H.js";
17
+ } from "./chunk-4PRXS5JH.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-VRJS66GR.js");
114
+ const { printCliCatalog: printCliCatalog2 } = await import("./cli-catalog-K5EQZBOO.js");
115
115
  const group2 = argsWithoutHelp.find((arg) => !arg.startsWith("--"));
116
116
  printCliCatalog2(specs, fallbackFormat, group2, accessValue);
117
117
  return true;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  USAGE_TELEMETRY_HEADERS,
3
3
  redactLogString
4
- } from "./chunk-TKLE2Y6H.js";
4
+ } from "./chunk-4PRXS5JH.js";
5
5
 
6
6
  // ../api-routes/src/request-context.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -23,7 +23,7 @@ import {
23
23
  measurementDraftUpsertGroupRequestSchema,
24
24
  measurementDraftUpsertMarketRequestSchema,
25
25
  measurementDraftUpsertTargetRequestSchema
26
- } from "./chunk-TKLE2Y6H.js";
26
+ } from "./chunk-4PRXS5JH.js";
27
27
 
28
28
  // src/measurement-draft-actions.ts
29
29
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cloudflareQueueNameSchema
3
- } from "./chunk-TKLE2Y6H.js";
3
+ } from "./chunk-4PRXS5JH.js";
4
4
 
5
5
  // src/cloudflare-traffic-config.ts
6
6
  function unsupportedDeliveryMode(deliveryMode) {
@@ -2,18 +2,18 @@ import {
2
2
  configExists,
3
3
  loadConfigRaw,
4
4
  saveConfigPatch
5
- } from "./chunk-A57HYHJ3.js";
5
+ } from "./chunk-Y3VMSYEG.js";
6
6
  import {
7
7
  BUNDLED_SKILL_NAMES,
8
8
  installSkills
9
- } from "./chunk-PH7RTAWW.js";
9
+ } from "./chunk-7LVZATRE.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-TKLE2Y6H.js";
16
+ } from "./chunk-4PRXS5JH.js";
17
17
 
18
18
  // src/skills-autosync.ts
19
19
  import fs from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-A57HYHJ3.js";
3
+ } from "./chunk-Y3VMSYEG.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-TKLE2Y6H.js";
39
+ } from "./chunk-4PRXS5JH.js";
40
40
 
41
41
  // ../api-client-generated/src/generated/core/bodySerializer.gen.ts
42
42
  var jsonBodySerializer = {
@@ -2,13 +2,13 @@ import {
2
2
  bucketCliCommandDuration,
3
3
  isTelemetryEnabled,
4
4
  trackEvent
5
- } from "./chunk-67262NJL.js";
5
+ } from "./chunk-V23ALG2D.js";
6
6
  import {
7
7
  getConfigDir
8
- } from "./chunk-A57HYHJ3.js";
8
+ } from "./chunk-Y3VMSYEG.js";
9
9
  import {
10
10
  currentOutcomeAttribution
11
- } from "./chunk-QNFX7ZCT.js";
11
+ } from "./chunk-BUED4RWE.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-TKLE2Y6H.js";
22
+ } from "./chunk-4PRXS5JH.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-TKLE2Y6H.js";
4
+ } from "./chunk-4PRXS5JH.js";
5
5
 
6
6
  // src/provider-registration.ts
7
7
  function isApiProviderRegistrable(name, entry) {
@@ -6,12 +6,12 @@ import {
6
6
  import {
7
7
  createApiClient,
8
8
  runWithUsageTags
9
- } from "./chunk-LEG7F3DN.js";
9
+ } from "./chunk-DYDLK3YY.js";
10
10
  import {
11
11
  canonryMcpTools,
12
12
  mcpOutputSchema,
13
13
  toolOperationAccess
14
- } from "./chunk-H22RCHYH.js";
14
+ } from "./chunk-VLOWXBJS.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-TKLE2Y6H.js";
27
+ } from "./chunk-4PRXS5JH.js";
28
28
 
29
29
  // src/mcp/server.ts
30
30
  import { randomUUID } from "crypto";