@wix/himalaya-cli 0.1419.0 → 0.1421.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.
@@ -824,7 +824,7 @@ export interface TelemetrySink {
824
824
  * integration; Phase A reserves the names so apps configuring telemetry sinks
825
825
  * before the engine lands can prepare matching schemas without later churn.
826
826
  */
827
- export type KnownTelemetryEventType = "screen_view" | "action_dispatched" | "action_completed" | "action_failed" | "cache_layer_miss" | "toggles_applied" | "unknown_component_fallback" | "bridge_call_denied" | "bridge_dispatch" | "bridge_wix_call" | "worker_boot_started" | "worker_boot_completed" | "worker_crashed" | "worker_console" | "bundle_load_failed" | "bundle_load_revoked" | "app_launched" | "app_foreground" | "app_background" | "launch_time" | "screen_load" | "network_request" | "app_crashed" | "error_logged" | "experiment_exposed" | "flag_evaluated";
827
+ export type KnownTelemetryEventType = "screen_view" | "action_dispatched" | "action_completed" | "action_failed" | "cache_layer_miss" | "toggles_applied" | "unknown_component_fallback" | "bridge_call_denied" | "bridge_dispatch" | "bridge_wix_call" | "worker_boot_started" | "worker_boot_completed" | "worker_crashed" | "worker_console" | "bundle_load_failed" | "bundle_load_revoked" | "descriptor_decode_failed" | "descriptor_decode_degraded" | "app_launched" | "app_foreground" | "app_background" | "launch_time" | "screen_load" | "network_request" | "app_crashed" | "error_logged" | "experiment_exposed" | "flag_evaluated";
828
828
  export interface TelemetryEvent {
829
829
  /**
830
830
  * Platform-mandated taxonomy, per invariant 23. Use [KnownTelemetryEventType]
package/dist/cli.mjs CHANGED
@@ -9002,6 +9002,81 @@ var init_token_suggest = __esm({
9002
9002
  }
9003
9003
  });
9004
9004
 
9005
+ // ../worker-globals/allowlist.ts
9006
+ var ES2020_GLOBALS, IMPLICIT_BINDINGS, WORKER_SURFACE, WORKER_ALLOWLIST;
9007
+ var init_allowlist = __esm({
9008
+ "../worker-globals/allowlist.ts"() {
9009
+ ES2020_GLOBALS = [
9010
+ // value properties
9011
+ "globalThis",
9012
+ "undefined",
9013
+ "NaN",
9014
+ "Infinity",
9015
+ // function properties
9016
+ "parseInt",
9017
+ "parseFloat",
9018
+ "isNaN",
9019
+ "isFinite",
9020
+ "encodeURI",
9021
+ "encodeURIComponent",
9022
+ "decodeURI",
9023
+ "decodeURIComponent",
9024
+ // fundamental objects
9025
+ "Object",
9026
+ "Function",
9027
+ "Boolean",
9028
+ "Symbol",
9029
+ // errors
9030
+ "Error",
9031
+ "EvalError",
9032
+ "RangeError",
9033
+ "ReferenceError",
9034
+ "SyntaxError",
9035
+ "TypeError",
9036
+ "URIError",
9037
+ // numbers, dates, text
9038
+ "Number",
9039
+ "BigInt",
9040
+ "Math",
9041
+ "Date",
9042
+ "String",
9043
+ "RegExp",
9044
+ // indexed / keyed collections
9045
+ "Array",
9046
+ "Map",
9047
+ "Set",
9048
+ "WeakMap",
9049
+ "WeakSet",
9050
+ // binary data
9051
+ "ArrayBuffer",
9052
+ "DataView",
9053
+ "Int8Array",
9054
+ "Uint8Array",
9055
+ "Uint8ClampedArray",
9056
+ "Int16Array",
9057
+ "Uint16Array",
9058
+ "Int32Array",
9059
+ "Uint32Array",
9060
+ "Float32Array",
9061
+ "Float64Array",
9062
+ "BigInt64Array",
9063
+ "BigUint64Array",
9064
+ // structured data, control abstraction, reflection
9065
+ "JSON",
9066
+ "Promise",
9067
+ "Reflect",
9068
+ "Proxy"
9069
+ ];
9070
+ IMPLICIT_BINDINGS = ["arguments"];
9071
+ WORKER_SURFACE = ["himalaya", "console"];
9072
+ WORKER_ALLOWLIST = /* @__PURE__ */ new Set([
9073
+ ...ES2020_GLOBALS,
9074
+ ...IMPLICIT_BINDINGS,
9075
+ ...WORKER_SURFACE
9076
+ ]);
9077
+ }
9078
+ });
9079
+
9005
9080
  // ../../core/dev-server/src/l10n-strings.ts
9006
9081
  function isUserVisibleCopy(s2) {
9007
9082
  return isCopyShaped(s2) && /[A-Za-z֐-׿؀-ۿ]/.test(s2);
@@ -10091,13 +10166,30 @@ var init_rich_content = __esm({
10091
10166
  }
10092
10167
  });
10093
10168
 
10169
+ // ../../core/dev-server/src/realm-parity.ts
10170
+ function withheldGlobalsSource(hide) {
10171
+ if (!hide?.length) return "";
10172
+ return `${JSON.stringify(hide)}.forEach(function (n) { try { delete globalThis[n]; } catch (e) { /* non-configurable: leave it */ } });`;
10173
+ }
10174
+ function realmInstallsIntl(intl, hide) {
10175
+ return intl === true && !(hide ?? []).includes("Intl");
10176
+ }
10177
+ var init_realm_parity = __esm({
10178
+ "../../core/dev-server/src/realm-parity.ts"() {
10179
+ }
10180
+ });
10181
+
10094
10182
  // ../../core/dev-server/src/validate-descriptor.core.ts
10095
10183
  var validate_descriptor_core_exports = {};
10096
10184
  __export(validate_descriptor_core_exports, {
10097
10185
  CORE_PACKAGES: () => CORE_PACKAGES,
10098
10186
  CRAWL_BLOCKING_PASSES: () => CRAWL_BLOCKING_PASSES,
10099
10187
  DESCRIPTOR_DEPTH_BUDGETS: () => DESCRIPTOR_DEPTH_BUDGETS,
10188
+ DEVICE_NETWORK_WITHHELD: () => DEVICE_NETWORK_WITHHELD,
10189
+ DEVICE_PARITY_CANDIDATES: () => DEVICE_PARITY_CANDIDATES,
10100
10190
  DEVICE_PARITY_WITHHELD: () => DEVICE_PARITY_WITHHELD,
10191
+ DEVICE_STRIPPED_HOST_GLOBALS: () => DEVICE_STRIPPED_HOST_GLOBALS,
10192
+ DEVICE_WITHHELD: () => DEVICE_WITHHELD,
10101
10193
  EMBEDDED_BINDING: () => EMBEDDED_BINDING,
10102
10194
  INTEGER_MODIFIERS: () => INTEGER_MODIFIERS,
10103
10195
  INTEGER_PROPS: () => INTEGER_PROPS,
@@ -10121,6 +10213,7 @@ __export(validate_descriptor_core_exports, {
10121
10213
  componentPropFindings: () => componentPropFindings,
10122
10214
  depthBudgetFindings: () => depthBudgetFindings,
10123
10215
  depthBudgetIssues: () => depthBudgetIssues,
10216
+ deviceParityWithheldFrom: () => deviceParityWithheldFrom,
10124
10217
  dryRunBundle: () => dryRunBundle,
10125
10218
  enumFieldNames: () => enumFieldNames,
10126
10219
  extractBundleContract: () => extractBundleContract,
@@ -10137,6 +10230,7 @@ __export(validate_descriptor_core_exports, {
10137
10230
  pathCrossesOpaqueAuthorJson: () => pathCrossesOpaqueAuthorJson,
10138
10231
  pathValue: () => pathValue,
10139
10232
  pinnedIntrinsicsSource: () => pinnedIntrinsicsSource,
10233
+ realmInstallsIntl: () => realmInstallsIntl,
10140
10234
  resolveActionEvaluator: () => resolveActionEvaluator,
10141
10235
  resolveBootEvaluator: () => resolveBootEvaluator,
10142
10236
  resolveEvaluator: () => resolveEvaluator,
@@ -10146,6 +10240,7 @@ __export(validate_descriptor_core_exports, {
10146
10240
  setDefaultEvaluator: () => setDefaultEvaluator,
10147
10241
  topBarFindings: () => topBarFindings,
10148
10242
  validateScreenDescriptor: () => validateScreenDescriptor,
10243
+ withheldGlobalsSource: () => withheldGlobalsSource,
10149
10244
  workerSubtreeAllowed: () => workerSubtreeAllowed
10150
10245
  });
10151
10246
  function makeInert() {
@@ -10322,6 +10417,15 @@ function nondeterministicServices(bundleJs, opts = {}) {
10322
10417
  if (threw > 0) return names.sort();
10323
10418
  return names.filter((name) => safeStringify(a2[name]) !== safeStringify(b2[name])).sort();
10324
10419
  }
10420
+ function deviceParityWithheldFrom(root) {
10421
+ const names = new Set(DEVICE_PARITY_CANDIDATES);
10422
+ for (let o2 = root; o2 && o2 !== Object.prototype; o2 = Object.getPrototypeOf(o2)) {
10423
+ for (const name of Object.getOwnPropertyNames(o2)) names.add(name);
10424
+ }
10425
+ names.delete("constructor");
10426
+ names.delete("__proto__");
10427
+ return [...names].filter((name) => /^[A-Za-z_$][\w$]*$/.test(name) && !WORKER_ALLOWLIST.has(name)).sort();
10428
+ }
10325
10429
  function setDefaultEvaluator(evaluator) {
10326
10430
  defaultEvaluator = evaluator;
10327
10431
  }
@@ -10476,9 +10580,12 @@ async function bootBundleWorker(bundleJs, opts) {
10476
10580
  }, info() {
10477
10581
  }, debug() {
10478
10582
  } },
10479
- // A raw fetch is still a signal, not a silent hang (mirrors runBundleSandbox).
10480
- fetch: () => {
10481
- throw new Error("`fetch` is not available \u2014 workers load data via the sanctioned Wix transport (`@himalaya/wix-*` or `globalThis.himalaya.wixApi.call`), not raw `fetch`.");
10583
+ // A raw fetch is still a signal, not a silent hang (mirrors runBundleSandbox). Under
10584
+ // deviceParity it is ABSENT instead, as on every device (#4499 — DEVICE_NETWORK_WITHHELD).
10585
+ ...opts.deviceParity ? {} : {
10586
+ fetch: () => {
10587
+ throw new Error("`fetch` is not available \u2014 workers load data via the sanctioned Wix transport (`@himalaya/wix-*` or `globalThis.himalaya.wixApi.call`), not raw `fetch`.");
10588
+ }
10482
10589
  },
10483
10590
  // Under deviceParity these are ABSENT so a bundle touching one throws here exactly as it
10484
10591
  // would on the FLOOR. Measured, not assumed (engine-parity runners, #1367): JSC and the
@@ -12468,13 +12575,14 @@ function validateScreenDescriptor(screenId, descriptor, opts = {}) {
12468
12575
  services: Object.keys(services)
12469
12576
  };
12470
12577
  }
12471
- var CRAWL_BLOCKING_PASSES, BOOT_EVAL_TIMEOUT_MS, DRIFT_PROBES, DEVICE_PARITY_WITHHELD, defaultEvaluator, bootEvaluator, actionEvaluator, NATIVE_PROP_ENUMS, KNOWN_PROPS, IN_ARRAY_BINDING_PROPS, SERVICE_SIGIL, INTEGER_PROPS, NATIVE_REQUIRED_PROPS, bareNestedClass, NATIVE_NESTED_CLASSES, NATIVE_MODIFIERS_CLASS, NATIVE_DESCRIPTOR_CLASS, NATIVE_DESCRIPTOR_NESTED, NATIVE_NESTED_PROPS, LENIENT_TOP_BAR_BLOCKS, MODIFIER_KEYS, INTEGER_MODIFIERS, MODIFIER_KINDS, SCHEMA_SCORED_NODES, CORE_PACKAGES, LEGACY_UNSCORED_KEYS, DYNAMIC_PLACEHOLDER, LITERAL_ONLY_PROPS, SERVICE_ONLY_BINDING_PROPS, WHOLE_VALUE_BINDING, EMBEDDED_BINDING, OPTIONS_BINDING_PROPS, EDITOR_SERVICE_NAME, SHEET_PLACEMENTS, DESCRIPTOR_DEPTH_BUDGETS, UNSAFE_TO_RECURSE_DEPTH, ROW_TEMPLATE_HOST_TYPES, TOP_BAR_TRAILING_LIMIT, TOP_BAR_NON_TRAILING, BUTTON_STYLES, EMPTY_STATE_ACTION_STYLES, EMPTY_STATE_ACTION_SIZES;
12578
+ var CRAWL_BLOCKING_PASSES, BOOT_EVAL_TIMEOUT_MS, DRIFT_PROBES, DEVICE_NETWORK_WITHHELD, DEVICE_STRIPPED_HOST_GLOBALS, DEVICE_WITHHELD, DEVICE_PARITY_CANDIDATES, DEVICE_PARITY_WITHHELD, defaultEvaluator, bootEvaluator, actionEvaluator, NATIVE_PROP_ENUMS, KNOWN_PROPS, IN_ARRAY_BINDING_PROPS, SERVICE_SIGIL, INTEGER_PROPS, NATIVE_REQUIRED_PROPS, bareNestedClass, NATIVE_NESTED_CLASSES, NATIVE_MODIFIERS_CLASS, NATIVE_DESCRIPTOR_CLASS, NATIVE_DESCRIPTOR_NESTED, NATIVE_NESTED_PROPS, LENIENT_TOP_BAR_BLOCKS, MODIFIER_KEYS, INTEGER_MODIFIERS, MODIFIER_KINDS, SCHEMA_SCORED_NODES, CORE_PACKAGES, LEGACY_UNSCORED_KEYS, DYNAMIC_PLACEHOLDER, LITERAL_ONLY_PROPS, SERVICE_ONLY_BINDING_PROPS, WHOLE_VALUE_BINDING, EMBEDDED_BINDING, OPTIONS_BINDING_PROPS, EDITOR_SERVICE_NAME, SHEET_PLACEMENTS, DESCRIPTOR_DEPTH_BUDGETS, UNSAFE_TO_RECURSE_DEPTH, ROW_TEMPLATE_HOST_TYPES, TOP_BAR_TRAILING_LIMIT, TOP_BAR_NON_TRAILING, BUTTON_STYLES, EMPTY_STATE_ACTION_STYLES, EMPTY_STATE_ACTION_SIZES;
12472
12579
  var init_validate_descriptor_core = __esm({
12473
12580
  "../../core/dev-server/src/validate-descriptor.core.ts"() {
12474
12581
  init_validator();
12475
12582
  init_validator();
12476
12583
  init_tokens();
12477
12584
  init_token_suggest();
12585
+ init_allowlist();
12478
12586
  init_l10n_strings();
12479
12587
  init_a11y_contract();
12480
12588
  init_bindings();
@@ -12483,6 +12591,7 @@ var init_validate_descriptor_core = __esm({
12483
12591
  init_frame_limits();
12484
12592
  init_rich_content();
12485
12593
  init_worker_subtree();
12594
+ init_realm_parity();
12486
12595
  CRAWL_BLOCKING_PASSES = /* @__PURE__ */ new Set([
12487
12596
  // A screen whose bindings do not resolve has no state to crawl.
12488
12597
  "bindings",
@@ -12503,7 +12612,25 @@ var init_validate_descriptor_core = __esm({
12503
12612
  { clock: Date.UTC(2021, 7, 28, 19, 35, 57, 789), seed: 1, mirrorRandom: true }
12504
12613
  // a Saturday or Sunday, the 28th/29th
12505
12614
  ];
12506
- DEVICE_PARITY_WITHHELD = [
12615
+ DEVICE_NETWORK_WITHHELD = [
12616
+ "fetch",
12617
+ "XMLHttpRequest",
12618
+ "WebSocket",
12619
+ "EventSource",
12620
+ "importScripts",
12621
+ "WebTransport",
12622
+ "RTCPeerConnection",
12623
+ "webkitRTCPeerConnection",
12624
+ "Worker",
12625
+ "SharedWorker",
12626
+ "Image",
12627
+ "Audio",
12628
+ "open",
12629
+ "Request",
12630
+ "Response",
12631
+ "Headers"
12632
+ ];
12633
+ DEVICE_STRIPPED_HOST_GLOBALS = [
12507
12634
  "setTimeout",
12508
12635
  "clearTimeout",
12509
12636
  "setInterval",
@@ -12514,6 +12641,33 @@ var init_validate_descriptor_core = __esm({
12514
12641
  "TextDecoder",
12515
12642
  "AbortController"
12516
12643
  ];
12644
+ DEVICE_WITHHELD = [...DEVICE_NETWORK_WITHHELD, ...DEVICE_STRIPPED_HOST_GLOBALS];
12645
+ DEVICE_PARITY_CANDIDATES = [
12646
+ ...DEVICE_WITHHELD,
12647
+ // Host APIs and post-ES2020 / non-portable intrinsics an engine may carry natively (QuickJS-ng 0.15
12648
+ // installs `performance` and `queueMicrotask`), named so a host realm without them still withholds them.
12649
+ "atob",
12650
+ "btoa",
12651
+ "structuredClone",
12652
+ "queueMicrotask",
12653
+ "crypto",
12654
+ "performance",
12655
+ "navigator",
12656
+ "self",
12657
+ "window",
12658
+ "Intl",
12659
+ "WeakRef",
12660
+ "FinalizationRegistry",
12661
+ "AggregateError",
12662
+ "InternalError",
12663
+ "SharedArrayBuffer",
12664
+ "Atomics",
12665
+ "WebAssembly",
12666
+ "eval",
12667
+ "escape",
12668
+ "unescape"
12669
+ ];
12670
+ DEVICE_PARITY_WITHHELD = deviceParityWithheldFrom(globalThis);
12517
12671
  defaultEvaluator = null;
12518
12672
  bootEvaluator = null;
12519
12673
  actionEvaluator = null;
@@ -13997,7 +14151,11 @@ __export(validate_descriptor_exports, {
13997
14151
  CORE_PACKAGES: () => CORE_PACKAGES,
13998
14152
  CRAWL_BLOCKING_PASSES: () => CRAWL_BLOCKING_PASSES,
13999
14153
  DESCRIPTOR_DEPTH_BUDGETS: () => DESCRIPTOR_DEPTH_BUDGETS,
14154
+ DEVICE_NETWORK_WITHHELD: () => DEVICE_NETWORK_WITHHELD,
14155
+ DEVICE_PARITY_CANDIDATES: () => DEVICE_PARITY_CANDIDATES,
14000
14156
  DEVICE_PARITY_WITHHELD: () => DEVICE_PARITY_WITHHELD,
14157
+ DEVICE_STRIPPED_HOST_GLOBALS: () => DEVICE_STRIPPED_HOST_GLOBALS,
14158
+ DEVICE_WITHHELD: () => DEVICE_WITHHELD,
14001
14159
  EMBEDDED_BINDING: () => EMBEDDED_BINDING,
14002
14160
  INTEGER_MODIFIERS: () => INTEGER_MODIFIERS,
14003
14161
  INTEGER_PROPS: () => INTEGER_PROPS,
@@ -14023,6 +14181,7 @@ __export(validate_descriptor_exports, {
14023
14181
  componentPropFindings: () => componentPropFindings,
14024
14182
  depthBudgetFindings: () => depthBudgetFindings,
14025
14183
  depthBudgetIssues: () => depthBudgetIssues,
14184
+ deviceParityWithheldFrom: () => deviceParityWithheldFrom,
14026
14185
  discoverNativeActions: () => discoverNativeActions,
14027
14186
  dryRunBundle: () => dryRunBundle,
14028
14187
  enumFieldNames: () => enumFieldNames,
@@ -14045,6 +14204,7 @@ __export(validate_descriptor_exports, {
14045
14204
  pinnedIntrinsicsSource: () => pinnedIntrinsicsSource,
14046
14205
  readBuiltBundle: () => readBuiltBundle,
14047
14206
  readBuiltBundleMap: () => readBuiltBundleMap,
14207
+ realmInstallsIntl: () => realmInstallsIntl,
14048
14208
  registeredActions: () => registeredActions,
14049
14209
  resolveActionEvaluator: () => resolveActionEvaluator,
14050
14210
  resolveBootEvaluator: () => resolveBootEvaluator,
@@ -14055,6 +14215,7 @@ __export(validate_descriptor_exports, {
14055
14215
  setDefaultEvaluator: () => setDefaultEvaluator,
14056
14216
  topBarFindings: () => topBarFindings,
14057
14217
  validateScreenDescriptor: () => validateScreenDescriptor,
14218
+ withheldGlobalsSource: () => withheldGlobalsSource,
14058
14219
  workerSubtreeAllowed: () => workerSubtreeAllowed
14059
14220
  });
14060
14221
  import { readFileSync as readFileSync15, existsSync as existsSync13, readdirSync as readdirSync11 } from "node:fs";
@@ -14151,10 +14312,13 @@ var init_validate_descriptor = __esm({
14151
14312
  "../../core/dev-server/src/validate-descriptor.ts"() {
14152
14313
  init_player_host_manifest();
14153
14314
  init_validate_descriptor_core();
14315
+ init_realm_parity();
14154
14316
  init_validate_descriptor_core();
14155
14317
  nodeVmEvaluator = {
14156
14318
  run(code, sandbox, opts) {
14157
14319
  const context = createContext(sandbox);
14320
+ const hideSource = withheldGlobalsSource((opts.hide ?? []).filter((name) => !(name in sandbox)));
14321
+ if (hideSource) runInContext(hideSource, context, { filename: "himi-hide.js" });
14158
14322
  const pins = pinnedIntrinsicsSource(opts);
14159
14323
  if (pins) {
14160
14324
  const pinned = runInContext(`(${pins})(Date, Math)`, context, { timeout: opts.timeoutMs, filename: "himi-pins.js" });
@@ -16200,6 +16364,9 @@ ${opts.liveTransport ? ` var handle = { getState: function () { return def
16200
16364
  globalThis.fetch = function () {
16201
16365
  throw new Error("\`fetch\` is not available in the author-time sandbox \u2014 workers load data via the sanctioned Wix transport (\`@himalaya/wix-*\` or \`globalThis.himalaya.wixApi.call\`), not raw \`fetch\`.");
16202
16366
  };
16367
+ // ...unless \`hide\` withholds it (deviceParity, #4499): every device has NO \`fetch\`, so a
16368
+ // stub here would let a \`typeof fetch === "function"\` branch pass and fail on the device.
16369
+ ${(opts.hide ?? []).includes("fetch") ? " delete globalThis.fetch;" : ""}
16203
16370
  // Timers honour \`hide\`. Installing them unconditionally made \`deviceParity\` report
16204
16371
  // \`typeof setTimeout === "function"\` where node:vm correctly reported "undefined" \u2014 a FALSE
16205
16372
  // GREEN on exactly the floor gate this realm exists to enforce. The URL family is never
@@ -16289,6 +16456,9 @@ ${opts.clock === void 0 ? "" : opts.freezeDate ? ` globalThis.Date = (${pinnedI
16289
16456
  return sweepPromise;
16290
16457
  },
16291
16458
  });` : ""}
16459
+ // LAST, so nothing the prelude installed (the \`fetch\` stub) or the engine carries natively
16460
+ // (QuickJS-ng 0.15's \`performance\`, \`queueMicrotask\`) survives deviceParity (#4511).
16461
+ ${withheldGlobalsSource(opts.hide)}
16292
16462
  return ${opts.liveTransport ? "{ readback: readback, dispatch: dispatchAction, actions: readActions }" : "readback"};
16293
16463
  })();
16294
16464
  `;
@@ -16369,14 +16539,7 @@ async function createQuickJsEvaluator(options = {}) {
16369
16539
  }
16370
16540
  readback = pre.value;
16371
16541
  if ((options.webGlobals ?? options.intl) && !opts.hide?.length) installWebGlobals(ctx);
16372
- if (options.intl) {
16373
- if (opts.hide?.length) {
16374
- throw new Error(
16375
- "quickjs: `intl: true` and deviceParity are contradictory realms \u2014 deviceParity models the wrist (no timers, no Intl) and `intl` models the host. Pick one: an evaluator without `intl` for the device-floor crawl, or one with it for containment."
16376
- );
16377
- }
16378
- installIntl(ctx);
16379
- }
16542
+ if (realmInstallsIntl(options.intl, opts.hide)) installIntl(ctx);
16380
16543
  const res = ctx.evalCode(code, opts.filename);
16381
16544
  if (res.error) {
16382
16545
  const detail = ctx.dump(res.error);
@@ -16459,6 +16622,7 @@ var init_quickjs_evaluator = __esm({
16459
16622
  init_quickjs_intl();
16460
16623
  init_quickjs_state_codec();
16461
16624
  init_quickjs_web_globals();
16625
+ init_realm_parity();
16462
16626
  init_validate_descriptor_core();
16463
16627
  RECYCLE_AFTER_BLOWUPS = 1;
16464
16628
  DEFAULT_MEMORY_LIMIT_BYTES = 128 * 1024 * 1024;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1419.0",
3
+ "version": "0.1421.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -71,5 +71,5 @@
71
71
  "artifactId": "himalaya-cli"
72
72
  }
73
73
  },
74
- "falconPackageHash": "ee7c2063084b2cc9cfe97bd9969ad339ad9ea61d026dcfcbe7b4f9e5"
74
+ "falconPackageHash": "4d89203d9e66955e734a0bf6b57b933b45cfceb3d80c598aff230922"
75
75
  }