@namiml/sdk-core 3.4.11-dev.202609151845 → 3.4.11-dev.202609152019

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/index.cjs CHANGED
@@ -106,7 +106,7 @@ const {
106
106
  // version — stamped by scripts/version.sh
107
107
  NAMI_SDK_VERSION: exports.NAMI_SDK_VERSION = "3.4.11",
108
108
  // full package version including dev suffix — stamped by scripts/version.sh
109
- NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.11-dev.202609151845",
109
+ NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.11-dev.202609152019",
110
110
  // environments
111
111
  PRODUCTION: exports.PRODUCTION = "production", DEVELOPMENT: exports.DEVELOPMENT = "development",
112
112
  // error messages
@@ -62634,11 +62634,24 @@ class FlowLiquidResolver {
62634
62634
  const screenState = flow?.component;
62635
62635
  // Handle launchContext paths
62636
62636
  if (key.startsWith("launchContext.")) {
62637
- const launchContext = this.flowManager.currentFlow?.context;
62637
+ const launchContext = flow?.context;
62638
62638
  if (launchContext) {
62639
62639
  const contextPath = key.substring("launchContext.".length);
62640
- const resolver = new LaunchContextResolver(launchContext);
62640
+ // `placement` and `tags` are read off the campaign, so omitting it here
62641
+ // left both permanently dead. Deliberately `flow.campaign` (constructor-
62642
+ // assigned, and what the condition-evaluator wiring already passes) and
62643
+ // not `flow.component.campaign`, which is renderer-assigned state — the
62644
+ // class of source that blanked {{ pageId }} in NAM-4371. (NAM-3637)
62645
+ const resolver = new LaunchContextResolver(launchContext, flow?.campaign);
62641
62646
  const resolvedValue = resolver['resolveValue'](contextPath);
62647
+ // `tags` and `productGroups` resolve to arrays, which the condition
62648
+ // evaluator needs in array form for contains/notContains — so flatten
62649
+ // for text here, not in the resolver. Comma, no space: what
62650
+ // Array.prototype.toString already yielded for productGroups, joined
62651
+ // explicitly so the separator stays a visible decision. (NAM-3637)
62652
+ if (Array.isArray(resolvedValue)) {
62653
+ return resolvedValue.join(",");
62654
+ }
62642
62655
  return resolvedValue?.toString();
62643
62656
  }
62644
62657
  return undefined;
package/dist/index.mjs CHANGED
@@ -104,7 +104,7 @@ const {
104
104
  // version — stamped by scripts/version.sh
105
105
  NAMI_SDK_VERSION = "3.4.11",
106
106
  // full package version including dev suffix — stamped by scripts/version.sh
107
- NAMI_SDK_PACKAGE_VERSION = "3.4.11-dev.202609151845",
107
+ NAMI_SDK_PACKAGE_VERSION = "3.4.11-dev.202609152019",
108
108
  // environments
109
109
  PRODUCTION = "production", DEVELOPMENT = "development",
110
110
  // error messages
@@ -62632,11 +62632,24 @@ class FlowLiquidResolver {
62632
62632
  const screenState = flow?.component;
62633
62633
  // Handle launchContext paths
62634
62634
  if (key.startsWith("launchContext.")) {
62635
- const launchContext = this.flowManager.currentFlow?.context;
62635
+ const launchContext = flow?.context;
62636
62636
  if (launchContext) {
62637
62637
  const contextPath = key.substring("launchContext.".length);
62638
- const resolver = new LaunchContextResolver(launchContext);
62638
+ // `placement` and `tags` are read off the campaign, so omitting it here
62639
+ // left both permanently dead. Deliberately `flow.campaign` (constructor-
62640
+ // assigned, and what the condition-evaluator wiring already passes) and
62641
+ // not `flow.component.campaign`, which is renderer-assigned state — the
62642
+ // class of source that blanked {{ pageId }} in NAM-4371. (NAM-3637)
62643
+ const resolver = new LaunchContextResolver(launchContext, flow?.campaign);
62639
62644
  const resolvedValue = resolver['resolveValue'](contextPath);
62645
+ // `tags` and `productGroups` resolve to arrays, which the condition
62646
+ // evaluator needs in array form for contains/notContains — so flatten
62647
+ // for text here, not in the resolver. Comma, no space: what
62648
+ // Array.prototype.toString already yielded for productGroups, joined
62649
+ // explicitly so the separator stays a visible decision. (NAM-3637)
62650
+ if (Array.isArray(resolvedValue)) {
62651
+ return resolvedValue.join(",");
62652
+ }
62640
62653
  return resolvedValue?.toString();
62641
62654
  }
62642
62655
  return undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namiml/sdk-core",
3
- "version": "3.4.11-dev.202609151845",
3
+ "version": "3.4.11-dev.202609152019",
4
4
  "description": "Platform-agnostic core for the Nami SDK — business logic, API, types, and state management",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",