@active-reach/web-sdk 1.19.0 → 1.20.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.
@@ -1 +1 @@
1
- {"version":3,"file":"AegisInAppManager.d.ts","sourceRoot":"","sources":["../../src/inapp/AegisInAppManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AegisInAppManager.d.ts","sourceRoot":"","sources":["../../src/inapp/AegisInAppManager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4580,6 +4580,7 @@ const _AegisInAppManager = class _AegisInAppManager {
4580
4580
  const labels = shown.map((s) => s.label);
4581
4581
  const n = labels.length >= 2 ? labels.length : 8;
4582
4582
  const isLossSeg = (i) => !!shown[i] && String(shown[i].prize_type || "").toLowerCase() === "no_prize";
4583
+ const alreadyWon = ic.already_won && typeof ic.already_won === "object" ? ic.already_won : null;
4583
4584
  const colorOf = (i) => {
4584
4585
  const c = shown[i] && typeof shown[i].color === "string" ? shown[i].color : "";
4585
4586
  return c || (i % 2 === 0 ? text : `${text}40`);
@@ -4615,6 +4616,8 @@ const _AegisInAppManager = class _AegisInAppManager {
4615
4616
  let soundOn = ic.spin_sound_enabled !== false;
4616
4617
  const pointerColor = cfgStr("spin_pointer_color") || "#ffffff";
4617
4618
  const hubImg = cfgStr("spin_hub_image_url");
4619
+ const wheelBgImg = cfgStr("wheel_background_url");
4620
+ const pointerImg = cfgStr("pointer_image_url");
4618
4621
  const isUrl = (s) => /^https?:\/\//i.test(s);
4619
4622
  const now = () => typeof performance !== "undefined" && performance.now ? performance.now() : Date.now();
4620
4623
  let rotation = 0;
@@ -4692,11 +4695,12 @@ const _AegisInAppManager = class _AegisInAppManager {
4692
4695
  const wheelWrap = document.createElement("div");
4693
4696
  wheelWrap.style.cssText = `position: relative; width: ${SIZE}px; height: ${SIZE}px; filter: drop-shadow(0 10px 22px rgba(0,0,0,0.30));`;
4694
4697
  const pointer = document.createElement("div");
4695
- pointer.style.cssText = `position: absolute; left: 50%; top: -7px; transform: translateX(-50%); transform-origin: 50% 0; width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 16px solid ${pointerColor}; z-index: 5; filter: drop-shadow(0 2px 2px rgba(0,0,0,0.35));`;
4698
+ pointer.style.cssText = pointerImg ? `position: absolute; left: 50%; top: -10px; transform: translateX(-50%); transform-origin: 50% 0; width: 26px; height: 30px; background: center / contain no-repeat url("${pointerImg}"); z-index: 5; filter: drop-shadow(0 2px 2px rgba(0,0,0,0.35));` : `position: absolute; left: 50%; top: -7px; transform: translateX(-50%); transform-origin: 50% 0; width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 16px solid ${pointerColor}; z-index: 5; filter: drop-shadow(0 2px 2px rgba(0,0,0,0.35));`;
4696
4699
  const wheel = document.createElement("div");
4697
- wheel.style.cssText = `position: relative; width: ${SIZE}px; height: ${SIZE}px; border-radius: 50%; border: 5px solid #ffffff; box-shadow: 0 0 0 2px ${text}2e, inset 0 0 22px rgba(0,0,0,0.20); background: conic-gradient(${stops}); overflow: hidden; will-change: transform; touch-action: none; cursor: ${spinMode === "button" ? "default" : "grab"};`;
4700
+ const wheelFace = wheelBgImg ? `center / cover no-repeat url("${wheelBgImg}")` : `conic-gradient(${stops})`;
4701
+ wheel.style.cssText = `position: relative; width: ${SIZE}px; height: ${SIZE}px; border-radius: 50%; border: 5px solid #ffffff; box-shadow: 0 0 0 2px ${text}2e, inset 0 0 22px rgba(0,0,0,0.20); background: ${wheelFace}; overflow: hidden; will-change: transform; touch-action: none; cursor: ${spinMode === "button" ? "default" : "grab"};`;
4698
4702
  if (idleAnim === "wobble") wheel.style.animation = "aegisSpinWobble 3s ease-in-out infinite";
4699
- starts.forEach((b) => {
4703
+ if (!wheelBgImg) starts.forEach((b) => {
4700
4704
  const ln = document.createElement("div");
4701
4705
  ln.style.cssText = `position: absolute; left: 50%; top: 0; width: 1.5px; height: 50%; background: rgba(255,255,255,0.55); transform-origin: bottom center; transform: translateX(-50%) rotate(${b}deg); pointer-events: none;`;
4702
4706
  wheel.appendChild(ln);
@@ -4705,8 +4709,19 @@ const _AegisInAppManager = class _AegisInAppManager {
4705
4709
  const rRim = radius - 8;
4706
4710
  const bandLen = rRim - rHub;
4707
4711
  const rText = (rHub + rRim) / 2;
4708
- labels.forEach((label, i) => {
4712
+ if (!wheelBgImg) labels.forEach((label, i) => {
4709
4713
  const mid = midOf(i);
4714
+ const wedgeImg = shown[i] && typeof shown[i].image_url === "string" ? shown[i].image_url : "";
4715
+ if (wedgeImg && isUrl(wedgeImg)) {
4716
+ const flipImg = mid > 180 && mid < 360;
4717
+ const isz = Math.max(18, Math.min(40, bandLen * 0.62));
4718
+ const wim = document.createElement("img");
4719
+ wim.src = wedgeImg;
4720
+ wim.alt = label || "";
4721
+ wim.style.cssText = `position: absolute; left: 50%; top: 50%; width: ${isz}px; height: ${isz}px; object-fit: contain; transform: translate(-50%, -50%) rotate(${mid}deg) translateY(-${rText}px) rotate(${flipImg ? 90 : -90}deg); filter: drop-shadow(0 1px 3px rgba(0,0,0,0.55)); pointer-events: none;`;
4722
+ wheel.appendChild(wim);
4723
+ return;
4724
+ }
4710
4725
  const icoVal = shown[i] && typeof shown[i].icon === "string" ? shown[i].icon : "";
4711
4726
  const chord = 2 * rText * Math.sin(spans[i] * Math.PI / 180 / 2);
4712
4727
  const byThickness = chord * 0.6;
@@ -4943,7 +4958,25 @@ const _AegisInAppManager = class _AegisInAppManager {
4943
4958
  this._playReaction(card, "empathize", void 0, ic);
4944
4959
  }
4945
4960
  if (winReveal === "takeover" && r.won) renderTakeover(r);
4946
- else result.textContent = r.label ? r.code ? `${r.label} — ${r.code}` : r.label : "Thanks for playing!";
4961
+ else if (r.label && r.code) {
4962
+ result.textContent = "";
4963
+ const tag = document.createElement("span");
4964
+ tag.textContent = `${r.label} — `;
4965
+ const chip = document.createElement("button");
4966
+ chip.type = "button";
4967
+ chip.textContent = `${r.code} ⧉`;
4968
+ chip.style.cssText = `padding: 2px 8px; border-radius: 999px; border: 1.5px dashed ${text}66; background: transparent; color: ${text}; font-weight: 800; font-size: 12px; letter-spacing: 0.5px; cursor: pointer;`;
4969
+ chip.addEventListener("click", () => {
4970
+ var _a;
4971
+ try {
4972
+ void ((_a = navigator.clipboard) == null ? void 0 : _a.writeText(r.code));
4973
+ chip.textContent = "Copied ✓";
4974
+ } catch {
4975
+ }
4976
+ });
4977
+ result.appendChild(tag);
4978
+ result.appendChild(chip);
4979
+ } else result.textContent = r.label || "Thanks for playing!";
4947
4980
  retireCta();
4948
4981
  };
4949
4982
  const beginSpin = (velocityDegPerMs) => {
@@ -4959,16 +4992,40 @@ const _AegisInAppManager = class _AegisInAppManager {
4959
4992
  const v = Math.min(2.4, Math.max(0.25, velocityDegPerMs || 0.6));
4960
4993
  const turns = Math.round(3 + v * 2);
4961
4994
  const provisional = Math.floor(Math.random() * n);
4995
+ const loopSpeed = 0.5 + v * 0.35;
4996
+ let looping = true;
4962
4997
  let done = false;
4998
+ let lastTs = now();
4999
+ const loopFrame = () => {
5000
+ if (!looping) return;
5001
+ const t = now();
5002
+ const moved = loopSpeed * (t - lastTs);
5003
+ lastTs = t;
5004
+ rotation += moved;
5005
+ spinSpeed = moved;
5006
+ wheel.style.transform = `rotate(${rotation}deg)`;
5007
+ playTicks(rotation);
5008
+ requestAnimationFrame(loopFrame);
5009
+ };
5010
+ requestAnimationFrame(loopFrame);
5011
+ const lossIndex = () => {
5012
+ for (let i = 0; i < n; i++) {
5013
+ if (isLossSeg(i)) return i;
5014
+ }
5015
+ return provisional;
5016
+ };
4963
5017
  const launch = (idx, r) => {
4964
5018
  if (done) return;
4965
5019
  done = true;
5020
+ looping = false;
4966
5021
  const segMid = midOf(idx);
4967
5022
  const want = ((360 - segMid) % 360 + 360) % 360;
4968
5023
  const base = rotation;
4969
5024
  let target2 = base - (base % 360 + 360) % 360 + want + turns * 360;
4970
5025
  if (target2 <= base + 360) target2 += 360;
4971
- animateTo(target2, 2300 + turns * 230, () => {
5026
+ const matched = 3 * (target2 - base) / Math.max(0.05, loopSpeed);
5027
+ const duration = Math.min(4200, Math.max(2300, matched));
5028
+ animateTo(target2, duration, () => {
4972
5029
  spinning = false;
4973
5030
  reveal(r);
4974
5031
  });
@@ -4982,16 +5039,18 @@ const _AegisInAppManager = class _AegisInAppManager {
4982
5039
  const kind = prize && typeof prize.prize_type === "string" ? prize.prize_type.toLowerCase() : shown[idx] && typeof shown[idx].prize_type === "string" ? String(shown[idx].prize_type).toLowerCase() : "";
4983
5040
  const lost = prize ? String(prize.prize_type || "").toLowerCase() === "no_prize" : isLossSeg(idx);
4984
5041
  launch(idx, { label, code, won: !!label && !lost, kind });
5042
+ }).catch(() => {
4985
5043
  });
4986
- window.setTimeout(
4987
- () => launch(provisional, {
4988
- label: labels[provisional] || "",
5044
+ window.setTimeout(() => {
5045
+ if (done) return;
5046
+ const li = lossIndex();
5047
+ launch(li, {
5048
+ label: labels[li] || "",
4989
5049
  code: "",
4990
- won: !isLossSeg(provisional),
4991
- kind: shown[provisional] && typeof shown[provisional].prize_type === "string" ? String(shown[provisional].prize_type).toLowerCase() : ""
4992
- }),
4993
- 900
4994
- );
5050
+ won: false,
5051
+ kind: shown[li] && typeof shown[li].prize_type === "string" ? String(shown[li].prize_type).toLowerCase() : "no_prize"
5052
+ });
5053
+ }, 8e3);
4995
5054
  };
4996
5055
  if (spinMode === "button" || spinMode === "both") {
4997
5056
  btn.addEventListener("click", () => beginSpin(0.7));
@@ -5063,6 +5122,16 @@ const _AegisInAppManager = class _AegisInAppManager {
5063
5122
  body.appendChild(btn);
5064
5123
  card.appendChild(body);
5065
5124
  target.appendChild(card);
5125
+ if (alreadyWon) {
5126
+ stopIdle();
5127
+ const wonKind = String(alreadyWon.prize_type || "").toLowerCase();
5128
+ reveal({
5129
+ label: String(alreadyWon.label || ""),
5130
+ code: String(alreadyWon.coupon_code || ""),
5131
+ won: wonKind !== "no_prize",
5132
+ kind: wonKind
5133
+ });
5134
+ }
5066
5135
  return true;
5067
5136
  }
5068
5137
  /** Built-in embedded QUICK POLL — option buttons submit the chosen index. */
@@ -9144,10 +9213,19 @@ function maybeStartPairing(apiHost) {
9144
9213
  }
9145
9214
  }
9146
9215
  function isIntentLeaf(expr) {
9147
- return "signal" in expr;
9216
+ return !("operands" in expr);
9217
+ }
9218
+ function getValueByPath(namespaces, path) {
9219
+ if (!namespaces || !path) return void 0;
9220
+ let cur = namespaces;
9221
+ for (const part of path.split(".")) {
9222
+ if (cur === null || typeof cur !== "object" || Array.isArray(cur)) return void 0;
9223
+ cur = cur[part];
9224
+ }
9225
+ return cur;
9148
9226
  }
9149
- function evaluateLeaf(leaf, snapshot) {
9150
- const actual = snapshot[leaf.signal];
9227
+ function evaluateLeaf(leaf, snapshot, namespaces) {
9228
+ const actual = leaf.path !== void 0 ? getValueByPath(namespaces, leaf.path) : leaf.signal !== void 0 ? snapshot[leaf.signal] : void 0;
9151
9229
  if (actual === void 0 || actual === null) {
9152
9230
  return null;
9153
9231
  }
@@ -9179,14 +9257,14 @@ function evaluateLeaf(leaf, snapshot) {
9179
9257
  }
9180
9258
  }
9181
9259
  }
9182
- function evaluateExpr(expr, snapshot) {
9260
+ function evaluateExpr(expr, snapshot, namespaces) {
9183
9261
  if (isIntentLeaf(expr)) {
9184
- return evaluateLeaf(expr, snapshot);
9262
+ return evaluateLeaf(expr, snapshot, namespaces);
9185
9263
  }
9186
9264
  switch (expr.op) {
9187
9265
  case "AND": {
9188
9266
  for (const operand of expr.operands) {
9189
- const v = evaluateExpr(operand, snapshot);
9267
+ const v = evaluateExpr(operand, snapshot, namespaces);
9190
9268
  if (v === null) return false;
9191
9269
  if (!v) return false;
9192
9270
  }
@@ -9195,14 +9273,14 @@ function evaluateExpr(expr, snapshot) {
9195
9273
  case "OR": {
9196
9274
  let allNull = true;
9197
9275
  for (const operand of expr.operands) {
9198
- const v = evaluateExpr(operand, snapshot);
9276
+ const v = evaluateExpr(operand, snapshot, namespaces);
9199
9277
  if (v === true) return true;
9200
9278
  if (v !== null) allNull = false;
9201
9279
  }
9202
9280
  return allNull ? null : false;
9203
9281
  }
9204
9282
  case "NOT": {
9205
- const v = evaluateExpr(expr.operands[0], snapshot);
9283
+ const v = evaluateExpr(expr.operands[0], snapshot, namespaces);
9206
9284
  if (v === null) return null;
9207
9285
  return !v;
9208
9286
  }
@@ -9211,14 +9289,15 @@ function evaluateExpr(expr, snapshot) {
9211
9289
  }
9212
9290
  }
9213
9291
  }
9214
- function evaluateRule(rule, snapshot) {
9215
- const result = evaluateExpr(rule.when, snapshot);
9292
+ function evaluateRule(rule, snapshot, namespaces) {
9293
+ const result = evaluateExpr(rule.when, snapshot, namespaces);
9216
9294
  return result === true;
9217
9295
  }
9218
9296
  class IntentRuleEvaluator {
9219
9297
  constructor() {
9220
9298
  this.armed = [];
9221
9299
  this.snapshot = {};
9300
+ this.namespaces = {};
9222
9301
  this.firedThisSession = /* @__PURE__ */ new Set();
9223
9302
  this.silencedThisSession = /* @__PURE__ */ new Set();
9224
9303
  }
@@ -9232,6 +9311,21 @@ class IntentRuleEvaluator {
9232
9311
  getSnapshot() {
9233
9312
  return this.snapshot;
9234
9313
  }
9314
+ // ─── generic reactive context (updateContext) ───
9315
+ /** Merge a namespace's data (shallow). Path-leaves (`cart.total`) resolve
9316
+ * against this. The runtime's updateContext() delegates here so there is ONE
9317
+ * context store, then bridges well-known paths to enum signals. */
9318
+ updateContext(namespace, data) {
9319
+ if (!namespace || !data) return;
9320
+ this.namespaces[namespace] = { ...this.namespaces[namespace], ...data };
9321
+ }
9322
+ getNamespaces() {
9323
+ return this.namespaces;
9324
+ }
9325
+ /** Resolve a dot-path against the live context (for previews / debugging). */
9326
+ getValueByPath(path) {
9327
+ return getValueByPath(this.namespaces, path);
9328
+ }
9235
9329
  // ─── armed-campaign management ───
9236
9330
  setArmed(campaigns) {
9237
9331
  this.armed = [...campaigns];
@@ -9277,7 +9371,7 @@ class IntentRuleEvaluator {
9277
9371
  });
9278
9372
  for (let i = 0; i < candidates.length; i++) {
9279
9373
  const c = candidates[i];
9280
- if (!evaluateRule(c.rule, this.snapshot)) continue;
9374
+ if (!evaluateRule(c.rule, this.snapshot, this.namespaces)) continue;
9281
9375
  if (c.rule.suppress_competing) {
9282
9376
  const suppressIds = this.armed.filter((other) => other.id !== c.id).map((other) => other.id);
9283
9377
  suppressIds.forEach((id) => this.silencedThisSession.add(id));
@@ -9360,6 +9454,13 @@ class ContactScoresFetcher {
9360
9454
  this.latestSnapshot = payload;
9361
9455
  if (this.evaluator) {
9362
9456
  this.evaluator.updateSnapshot(toIntentSnapshot(payload));
9457
+ if (payload.context && typeof payload.context === "object") {
9458
+ for (const [ns, data] of Object.entries(payload.context)) {
9459
+ if (data && typeof data === "object") {
9460
+ this.evaluator.updateContext(ns, data);
9461
+ }
9462
+ }
9463
+ }
9363
9464
  }
9364
9465
  return payload;
9365
9466
  } catch (err) {
@@ -12118,6 +12219,9 @@ class AegisLoyaltyManager {
12118
12219
  }
12119
12220
  }
12120
12221
  class AegisMessageRuntime {
12222
+ // Context is held in ONE place — `intentRuleEvaluator.namespaces` (fed via
12223
+ // updateContext). The renderer cart reader + the cart_value signal are DERIVED
12224
+ // from it; there is no parallel cart/context store on the runtime.
12121
12225
  constructor(config) {
12122
12226
  var _a;
12123
12227
  this.initialized = false;
@@ -12156,7 +12260,7 @@ class AegisMessageRuntime {
12156
12260
  getWorkspaceId: config.getWorkspaceId,
12157
12261
  // First-party cart reader — renderers (progress-bar) read live cart
12158
12262
  // state from here instead of `window.*` cart globals. See setCartState().
12159
- getCartState: () => this.cartState
12263
+ getCartState: () => this.deriveCartState()
12160
12264
  });
12161
12265
  this.intentRuleEvaluator = new IntentRuleEvaluator();
12162
12266
  this.contactScores = new ContactScoresFetcher({
@@ -12237,31 +12341,77 @@ class AegisMessageRuntime {
12237
12341
  (_b = (_a = this.inApp).onClientEvent) == null ? void 0 : _b.call(_a, eventName, eventData);
12238
12342
  }
12239
12343
  /**
12240
- * Feed live cart state into the runtime the imperative, encapsulated
12241
- * equivalent of the `window.aegis_cart` global the SDK reads for
12242
- * third-party Shopify/Woo/Magento embeds. Headless storefronts (e.g. the
12243
- * Active Commerce Store) call this on every cart mutation.
12344
+ * Unified reactive context the GENERAL imperative state API (Plotline-style
12345
+ * "global context state engine"). The host app feeds named namespaces:
12346
+ * runtime.updateContext('cart', { total: 540, items: 3, currency: 'INR' })
12347
+ * runtime.updateContext('user', { tier: 'gold', lifecycle: 'active' })
12348
+ * runtime.updateContext('session', { idle_s: 60 })
12244
12349
  *
12245
- * The state is held in PRIVATE runtime state (no window pollution, not
12246
- * readable/writable by third-party scripts) and:
12247
- * 1. surfaces to renderers (progress-bar free-delivery / cart-total goals)
12248
- * via the getCartState reader passed into the InAppManager;
12249
- * 2. feeds the `cart_value` micro-intent signal so `CART_VALUE`-gated
12250
- * campaigns (e.g. a cart-idle nudge) can evaluate — this signal was
12251
- * previously never populated client-side;
12252
- * 3. taps a debounced in-app refresh so a newly eligible cart-gated
12253
- * campaign arms without waiting for the next identity flip.
12350
+ * Held in PRIVATE runtime state (no `window` pollution). Merged shallowly per
12351
+ * namespace and evaluated entirely client-side no round-trip. This supersedes
12352
+ * the single-purpose `setCartState` (kept as a thin wrapper for back-compat).
12254
12353
  *
12255
- * This is a visual/targeting hint only. Reward GATING that must agree with
12256
- * the server-side checkout guard should use the trusted SSE progress source.
12354
+ * Design note (vs the proposed rewrite): we DELIBERATELY do NOT introduce a
12355
+ * parallel rule schema. Our canonical `IntentRule` (shared with the cell-plane
12356
+ * Pydantic schema + the editor + seeded campaigns) stays the source of truth.
12357
+ * `updateContext` BRIDGES known paths into the existing enum-keyed
12358
+ * `IntentSnapshot` (e.g. cart.total → the `cart_value` signal) so today's rules
12359
+ * keep firing — fed by the generic API. Arbitrary dot-path leaves
12360
+ * (`cart.foo`) are a forward-compatible follow-up that adds an optional `path`
12361
+ * to the canonical `IntentLeaf` (schema-mirrored + drift-guarded), NOT a second
12362
+ * evaluator. Tri-state (null = unprovable) evaluation is preserved — we do not
12363
+ * regress missing paths to `false`.
12257
12364
  */
12258
- setCartState(state) {
12259
- this.cartState = state;
12260
- const total = Number(state == null ? void 0 : state.total);
12261
- if (Number.isFinite(total)) {
12262
- this.intentRuleEvaluator.updateSignal("cart_value", total);
12365
+ updateContext(namespace, data) {
12366
+ if (!namespace || typeof namespace !== "string" || !data) return;
12367
+ this.intentRuleEvaluator.updateContext(namespace, data);
12368
+ this.bridgeContextToSignals(namespace);
12369
+ this.inApp.refreshOnEvent("context_updated");
12370
+ }
12371
+ /** Read the current client-side context snapshot (for the editor scrubber /
12372
+ * preview bridge to mirror live values). Read-only view of the ONE store. */
12373
+ getContext() {
12374
+ return this.intentRuleEvaluator.getNamespaces();
12375
+ }
12376
+ /**
12377
+ * Bridge well-known context paths into the canonical enum-keyed IntentSnapshot,
12378
+ * so existing signal-based rules (cart_value) keep firing off the generic
12379
+ * `updateContext`. Reads from the ONE store (the evaluator). Extend here as new
12380
+ * signals map to context paths — no parallel engine.
12381
+ */
12382
+ bridgeContextToSignals(namespace) {
12383
+ if (namespace === "cart") {
12384
+ const total = Number(this.intentRuleEvaluator.getValueByPath("cart.total") ?? this.intentRuleEvaluator.getValueByPath("cart.cart_value"));
12385
+ if (Number.isFinite(total)) {
12386
+ this.intentRuleEvaluator.updateSignal("cart_value", total);
12387
+ }
12263
12388
  }
12264
- this.inApp.refreshOnEvent("cart_updated");
12389
+ }
12390
+ /** Derive the typed cart snapshot for the progress-bar renderer reader from
12391
+ * the ONE context store (the `cart` namespace). No separate cart field. */
12392
+ deriveCartState() {
12393
+ const total = Number(this.intentRuleEvaluator.getValueByPath("cart.total"));
12394
+ if (!Number.isFinite(total)) return void 0;
12395
+ const items = Number(
12396
+ this.intentRuleEvaluator.getValueByPath("cart.items") ?? this.intentRuleEvaluator.getValueByPath("cart.itemCount")
12397
+ );
12398
+ const currency = this.intentRuleEvaluator.getValueByPath("cart.currency");
12399
+ return {
12400
+ total,
12401
+ itemCount: Number.isFinite(items) ? items : 0,
12402
+ currency: typeof currency === "string" ? currency : "INR"
12403
+ };
12404
+ }
12405
+ /**
12406
+ * Back-compat wrapper over `updateContext('cart', …)`. The single-purpose cart
12407
+ * feed for headless storefronts; prefer `updateContext` for new code.
12408
+ */
12409
+ setCartState(state) {
12410
+ this.updateContext("cart", {
12411
+ total: state.total,
12412
+ items: state.itemCount,
12413
+ currency: state.currency
12414
+ });
12265
12415
  }
12266
12416
  // --- Qualifying-event refresh facade (DLR Tracker 1 / P1, 2026-05-28) ---
12267
12417
  //