@syntrologie/adapt-gamification 2.8.0-canary.567 → 2.8.0-canary.568

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.
package/dist/schema.js CHANGED
@@ -4442,6 +4442,61 @@ var TELEMETRY_EVENTS = {
4442
4442
  verb: "triggered",
4443
4443
  scope: "open",
4444
4444
  props: ["turn"]
4445
+ }),
4446
+ // --- search takeover (2026-09-17) ---------------------------------------
4447
+ // All plan-scope: the search interceptor fires before any concierge open
4448
+ // exists. No prop here ever carries query text (SEE the contract test's
4449
+ // no-text-prop rule) — classification/signal_hits are the interceptor's
4450
+ // own derived signals, never the string itself.
4451
+ syntro_search_sent: entry({
4452
+ subject: "search",
4453
+ verb: "sent",
4454
+ scope: "plan",
4455
+ props: ["classification", "word_count", "signal_hits", "entry_point", "platform"]
4456
+ // classification: SearchClassification, entry_point: SearchEntryPoint
4457
+ }),
4458
+ // `ms_to_skeleton` is intentionally the only timing prop: it is always
4459
+ // knowable the instant the surface mounts. `ms_to_first_content` is NOT
4460
+ // declared here (revision 1 defect) because a surface that never painted
4461
+ // content still fires this event, and a required prop it cannot supply
4462
+ // would make TelemetryCore.emit drop exactly the row worth measuring.
4463
+ syntro_search_surface_seen: entry({
4464
+ subject: "search_surface",
4465
+ verb: "seen",
4466
+ scope: "plan",
4467
+ props: ["variant", "classification", "result_count", "ms_to_skeleton"]
4468
+ // variant: SearchVariant, classification: SearchClassification
4469
+ }),
4470
+ syntro_search_result_tapped: entry({
4471
+ subject: "search_result",
4472
+ verb: "tapped",
4473
+ scope: "plan",
4474
+ props: ["variant", "region_id", "module", "position"]
4475
+ // variant: SearchVariant
4476
+ }),
4477
+ syntro_search_followup_sent: entry({
4478
+ subject: "search_followup",
4479
+ verb: "sent",
4480
+ scope: "plan",
4481
+ props: ["delta_kind", "variant"]
4482
+ // delta_kind: SearchDeltaKind, variant: SearchVariant
4483
+ }),
4484
+ // Declares `ms_since_boot` (not a "since surface mounted" timing prop) so a
4485
+ // not-ready fallback the takeover never rendered is still measurable —
4486
+ // revision 1 emitted nothing on this path.
4487
+ syntro_search_native_served: entry({
4488
+ subject: "search_native",
4489
+ verb: "served",
4490
+ scope: "plan",
4491
+ props: ["reason", "platform", "ms_since_boot"]
4492
+ // reason: SearchFallbackReason
4493
+ }),
4494
+ syntro_search_takeover_dismissed: entry({
4495
+ subject: "search_takeover",
4496
+ verb: "dismissed",
4497
+ scope: "plan",
4498
+ props: ["variant", "reason"]
4499
+ // variant: SearchVariant, reason: SearchDismissReason
4445
4500
  })
4446
4501
  };
4447
4502
  var TELEMETRY_EVENT_NAMES = Object.keys(TELEMETRY_EVENTS);