@wireai/activation 0.10.0 → 0.11.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 (42) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +33 -4
  3. package/dist/analytics/index.d.mts +21 -3
  4. package/dist/analytics/index.d.ts +21 -3
  5. package/dist/analytics/index.js +94 -61
  6. package/dist/analytics/index.js.map +1 -1
  7. package/dist/analytics/index.mjs +91 -62
  8. package/dist/analytics/index.mjs.map +1 -1
  9. package/dist/{currentSession-DdDkprpM.d.mts → currentSession-C0_odnIW.d.mts} +101 -1
  10. package/dist/{currentSession-D0Vq7_VE.d.ts → currentSession-DdnUq2HQ.d.ts} +101 -1
  11. package/dist/index.d.mts +3 -49
  12. package/dist/index.d.ts +3 -49
  13. package/dist/index.js +50 -41
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs +47 -42
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/questionnaire/index.js +10 -2
  18. package/dist/questionnaire/index.js.map +1 -1
  19. package/dist/questionnaire/index.mjs +10 -2
  20. package/dist/questionnaire/index.mjs.map +1 -1
  21. package/dist/reviews/index.d.mts +1 -1
  22. package/dist/reviews/index.d.ts +1 -1
  23. package/dist/reviews/index.js +24 -9
  24. package/dist/reviews/index.js.map +1 -1
  25. package/dist/reviews/index.mjs +24 -9
  26. package/dist/reviews/index.mjs.map +1 -1
  27. package/dist/{transport-Bzb-bcB2.d.mts → transport-BGW9uXZJ.d.mts} +0 -15
  28. package/dist/{transport-B31G0Cib.d.ts → transport-jUJd5kxu.d.ts} +0 -15
  29. package/llms.txt +8 -0
  30. package/package.json +1 -1
  31. package/src/analytics/analyticsFacade.ts +72 -9
  32. package/src/analytics/eventQueue.ts +12 -11
  33. package/src/analytics/index.ts +9 -0
  34. package/src/analytics/reportClientEvent.ts +12 -2
  35. package/src/context/userContext.ts +55 -0
  36. package/src/identity/userIdentity.ts +10 -0
  37. package/src/index.ts +5 -1
  38. package/src/questionnaire/transport.ts +5 -1
  39. package/src/reviews/decision.ts +8 -1
  40. package/src/reviews/transport.ts +6 -8
  41. package/src/session-analytics/lifecycle.ts +6 -11
  42. package/src/session-analytics/useLifecycleEvents.ts +41 -27
@@ -698,7 +698,14 @@ var resolveRules = (config) => {
698
698
  var _a, _b, _c, _d, _e;
699
699
  return {
700
700
  enabled: (_a = config.enabled) != null ? _a : true,
701
- minSessions: (_b = config.minSessions) != null ? _b : 0,
701
+ // FAIL-CLOSED on the first session (behavior change, 0.11.0). An unconfigured host with no
702
+ // server decision must NOT prompt on the very first mount: `minSessions` defaults to 2 so the
703
+ // gate needs at least a second session before the LOCAL rules can fire. This is the client-side
704
+ // floor only — a server `decision` (from `fetchReviewDecision`) still OVERRIDES everything, and a
705
+ // host that genuinely wants first-session prompting can set `minSessions: 1` (or `0`) explicitly.
706
+ // Mirrors the 2026-07-16 incident: a first-session user, no server decision, got the prompt and
707
+ // left 1 star. See `evaluateGate` (`min_sessions` reason) and the CHANGELOG.
708
+ minSessions: (_b = config.minSessions) != null ? _b : 2,
702
709
  minEvents: (_c = config.minEvents) != null ? _c : 0,
703
710
  cooldownDays: (_d = config.cooldownDays) != null ? _d : 0,
704
711
  oncePerVersion: (_e = config.oncePerVersion) != null ? _e : true
@@ -856,7 +863,8 @@ var fetchQuestionnaireDecision = async (target, options = {}) => {
856
863
  const res = await fetch(url, { headers });
857
864
  if (!res || !res.ok) return null;
858
865
  const json = await res.json();
859
- return json != null ? json : null;
866
+ if (!json || typeof json.fire !== "boolean") return null;
867
+ return json;
860
868
  } catch {
861
869
  return null;
862
870
  }