@canonry/canonry 4.177.2 → 4.178.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 (29) hide show
  1. package/assets/assets/{AuditHistoryPanel-YZvGU1la.js → AuditHistoryPanel-BmKdyRrR.js} +1 -1
  2. package/assets/assets/{BacklinksPage-CB2uJWWy.js → BacklinksPage-DtqKPVLV.js} +1 -1
  3. package/assets/assets/{ChartPrimitives-BoYe2M-i.js → ChartPrimitives-B_LDVvTy.js} +1 -1
  4. package/assets/assets/{HistoryPage-D9IxxbQ9.js → HistoryPage-yyJsQiJQ.js} +1 -1
  5. package/assets/assets/{MeasurementPropertyPage-CxgnnPdp.js → MeasurementPropertyPage-hjW4iYtr.js} +1 -1
  6. package/assets/assets/ProjectPage-DZKpnPvq.js +9 -0
  7. package/assets/assets/{RunRow-2KxOta8F.js → RunRow-BZeBFb22.js} +1 -1
  8. package/assets/assets/{RunsPage-ya8vTkyd.js → RunsPage-tnXHsK_R.js} +1 -1
  9. package/assets/assets/{SettingsPage-lTy3o2bo.js → SettingsPage-Djj5k8vv.js} +1 -1
  10. package/assets/assets/{SiteHealthSection-Cyu7MIv2.js → SiteHealthSection-BkDncS11.js} +3 -3
  11. package/assets/assets/{TrafficPage-DjhKfw57.js → TrafficPage-nJggXVh-.js} +1 -1
  12. package/assets/assets/{TrafficSourceDetailPage-Pwi-Dl9Q.js → TrafficSourceDetailPage-zxONbSn-.js} +1 -1
  13. package/assets/assets/{extract-error-message-I1FVWHLH.js → extract-error-message-NpQu2vBm.js} +1 -1
  14. package/assets/assets/{index-DQVTRT9J.css → index-D0GbiVhZ.css} +1 -1
  15. package/assets/assets/index-Dwwnkd_V.js +83 -0
  16. package/assets/assets/{react-sigma_core.esm.min-BX6mOEq5.js → react-sigma_core.esm.min-CxMdd8U8.js} +1 -1
  17. package/assets/index.html +2 -2
  18. package/dist/{chunk-QRE3DAAU.js → chunk-A7FB2BVW.js} +2 -2
  19. package/dist/{chunk-XFAPF2YX.js → chunk-O7J5WFVZ.js} +361 -100
  20. package/dist/{chunk-6XUWDSLN.js → chunk-SXKA4OXZ.js} +1356 -907
  21. package/dist/{chunk-PQT3ECM3.js → chunk-T4JH77O6.js} +107 -0
  22. package/dist/{chunk-GJE334DA.js → chunk-YIQMTOEZ.js} +3029 -2080
  23. package/dist/cli.js +87 -5
  24. package/dist/index.js +4 -4
  25. package/dist/{intelligence-service-C57RIB37.js → intelligence-service-YISV327N.js} +2 -2
  26. package/dist/mcp.js +5 -380
  27. package/package.json +9 -9
  28. package/assets/assets/ProjectPage-CPmaXzhL.js +0 -9
  29. package/assets/assets/index-BeLVKN3H.js +0 -83
@@ -8305,6 +8305,84 @@ var googleAdsRawSnapshotDtoSchema = z20.object({
8305
8305
  context.addIssue({ code: z20.ZodIssueCode.custom, path: ["payload", "kind"], message: "Snapshot metadata and payload kinds must match." });
8306
8306
  }
8307
8307
  });
8308
+ var googleAdsMetricsWindowSchema = z20.enum(["7d", "14d", "30d"]);
8309
+ var googleAdsMetricTotalsSchema = z20.object({
8310
+ impressions: z20.number().int().nonnegative(),
8311
+ clicks: z20.number().int().nonnegative(),
8312
+ costMicros: z20.number().int().nonnegative(),
8313
+ /** FLOAT: Google reports fractional conversions, so 0.5 is a real value. */
8314
+ conversions: z20.number().nonnegative(),
8315
+ /** Null when no row in scope reported a value. */
8316
+ conversionValueMicros: z20.number().int().nonnegative().nullable(),
8317
+ /** clicks / impressions. Null when impressions === 0. */
8318
+ ctr: z20.number().nullable(),
8319
+ /** Math.round(costMicros / clicks). Null when clicks === 0. */
8320
+ cpcMicros: z20.number().int().nonnegative().nullable(),
8321
+ /** conversions / clicks. Null when clicks === 0. */
8322
+ conversionRate: z20.number().nullable(),
8323
+ /** Math.round(costMicros / conversions). Null when conversions === 0. */
8324
+ costPerConversionMicros: z20.number().int().nonnegative().nullable()
8325
+ });
8326
+ var googleAdsMetricsDailyPointSchema = z20.object({
8327
+ date: calendarDateSchema,
8328
+ origin: z20.enum(["provider", "filled"]),
8329
+ impressions: z20.number().int().nonnegative(),
8330
+ clicks: z20.number().int().nonnegative(),
8331
+ costMicros: z20.number().int().nonnegative(),
8332
+ conversions: z20.number().nonnegative(),
8333
+ ctr: z20.number().nullable()
8334
+ });
8335
+ var googleAdsCampaignPerformanceSchema = z20.object({
8336
+ campaignId: opaqueIdSchema,
8337
+ /** Null when the metrics snapshot names a campaign the inventory snapshot does not. */
8338
+ name: z20.string().nullable(),
8339
+ status: googleAdsCampaignStatusSchema,
8340
+ totals: googleAdsMetricTotalsSchema
8341
+ });
8342
+ var googleAdsPerformanceSourceSchema = z20.object({
8343
+ snapshotId: opaqueIdSchema,
8344
+ capturedAt: z20.string(),
8345
+ customerId: opaqueIdSchema,
8346
+ currencyCode: z20.string().nullable(),
8347
+ timeZone: z20.string().nullable(),
8348
+ /** Newest CLOSED day. Every window ends here. */
8349
+ asOfDate: calendarDateSchema,
8350
+ openDate: calendarDateSchema.nullable(),
8351
+ /** True when the provider row cap was hit, so totals are a subset sum. */
8352
+ truncated: z20.boolean(),
8353
+ campaignsQueried: z20.number().int().nonnegative(),
8354
+ campaignsInInventory: z20.number().int().nonnegative()
8355
+ });
8356
+ var googleAdsPerformancePeriodSchema = z20.object({
8357
+ startDate: calendarDateSchema,
8358
+ endDate: calendarDateSchema,
8359
+ days: z20.number().int().positive(),
8360
+ totals: googleAdsMetricTotalsSchema
8361
+ });
8362
+ var googleAdsPerformanceComparisonSchema = z20.object({
8363
+ days: z20.number().int().positive(),
8364
+ prior: googleAdsPerformancePeriodSchema,
8365
+ change: z20.object({
8366
+ impressions: z20.number().nullable(),
8367
+ clicks: z20.number().nullable(),
8368
+ costMicros: z20.number().nullable(),
8369
+ conversions: z20.number().nullable(),
8370
+ ctr: z20.number().nullable(),
8371
+ conversionRate: z20.number().nullable()
8372
+ })
8373
+ });
8374
+ var googleAdsPerformanceDtoSchema = z20.object({
8375
+ window: googleAdsMetricsWindowSchema,
8376
+ startDate: calendarDateSchema,
8377
+ endDate: calendarDateSchema,
8378
+ days: z20.number().int().positive(),
8379
+ totals: googleAdsMetricTotalsSchema,
8380
+ daily: z20.array(googleAdsMetricsDailyPointSchema),
8381
+ campaigns: z20.array(googleAdsCampaignPerformanceSchema),
8382
+ comparison: googleAdsPerformanceComparisonSchema.nullable(),
8383
+ comparisonUnavailableReason: z20.enum(["insufficient-history", "no-snapshot"]).nullable(),
8384
+ source: googleAdsPerformanceSourceSchema.nullable()
8385
+ });
8308
8386
 
8309
8387
  // ../contracts/src/google-tag-manager.ts
8310
8388
  import { z as z21 } from "zod";
@@ -8774,6 +8852,32 @@ var conversionTrackingIntegrityAssessmentDtoSchema = z22.object({
8774
8852
  findings: z22.array(conversionTrackingIntegrityFindingDtoSchema),
8775
8853
  evaluatedAt: z22.string()
8776
8854
  }).strict();
8855
+ var conversionTrackingOptionSchema = z22.object({
8856
+ id: opaqueIdSchema3,
8857
+ /** Human label the operator recognises, e.g. "Booking completed". */
8858
+ name: z22.string(),
8859
+ /** Secondary line: the Ads category, or the GTM tag type. */
8860
+ detail: z22.string(),
8861
+ /**
8862
+ * False when the option exists but is not a sensible target: a removed Ads
8863
+ * action, or a paused GTM tag. Offered but flagged, never silently hidden,
8864
+ * because a contract may legitimately point at one.
8865
+ */
8866
+ active: z22.boolean()
8867
+ });
8868
+ var conversionTrackingOptionsDtoSchema = z22.object({
8869
+ googleAds: z22.object({
8870
+ /** Null when Google Ads is not connected or no customer is selected. */
8871
+ customerId: opaqueIdSchema3.nullable(),
8872
+ syncedAt: z22.string().nullable(),
8873
+ conversionActions: z22.array(conversionTrackingOptionSchema)
8874
+ }),
8875
+ gtm: z22.object({
8876
+ containerId: opaqueIdSchema3.nullable(),
8877
+ syncedAt: z22.string().nullable(),
8878
+ tags: z22.array(conversionTrackingOptionSchema)
8879
+ })
8880
+ });
8777
8881
 
8778
8882
  // ../contracts/src/google-marketing.ts
8779
8883
  import { z as z23 } from "zod";
@@ -16414,6 +16518,8 @@ export {
16414
16518
  googleAdsCampaignMetricsQuerySchema,
16415
16519
  GoogleAdsSnapshotKinds,
16416
16520
  googleAdsRawSnapshotDtoSchema,
16521
+ googleAdsMetricsWindowSchema,
16522
+ googleAdsPerformanceDtoSchema,
16417
16523
  GtmConnectionStates,
16418
16524
  gtmAccountsResponseSchema,
16419
16525
  gtmContainerListResponseSchema,
@@ -16434,6 +16540,7 @@ export {
16434
16540
  ConversionTrackingRuntimeObservations,
16435
16541
  deriveConversionTrackingIntegrityStatus,
16436
16542
  conversionTrackingIntegrityAssessmentDtoSchema,
16543
+ conversionTrackingOptionsDtoSchema,
16437
16544
  canonicalizeGtmAccountId,
16438
16545
  canonicalizeGtmContainerId,
16439
16546
  canonicalizeGoogleAdsCustomerSelection,