@walkeros/cli 4.0.1-next-1778230564486 → 4.0.1

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/cli.js CHANGED
@@ -1418,14 +1418,14 @@ var init_sse = __esm({
1418
1418
 
1419
1419
  // ../core/dist/dev.mjs
1420
1420
  import { z as n3 } from "zod";
1421
- import { z as Li } from "zod";
1421
+ import { z as Ni } from "zod";
1422
1422
  function o(e3, t3, i2 = "draft-7") {
1423
1423
  return n3.toJSONSchema(e3, { target: i2 });
1424
1424
  }
1425
- function R2(e3, t3) {
1425
+ function M2(e3, t3) {
1426
1426
  return n3.object({ data: n3.union([e3, t3]).optional().describe("Data transformation rules") }).partial();
1427
1427
  }
1428
- function M2(e3) {
1428
+ function R2(e3) {
1429
1429
  return n3.object({ mapping: e3.optional().describe("Event mapping rules") }).partial();
1430
1430
  }
1431
1431
  function T2(e3) {
@@ -1446,7 +1446,7 @@ function Pi(e3) {
1446
1446
  function Di(e3) {
1447
1447
  return wi.safeParse(e3);
1448
1448
  }
1449
- function Bi(e3) {
1449
+ function qi(e3) {
1450
1450
  let t3;
1451
1451
  try {
1452
1452
  t3 = JSON.parse(e3);
@@ -1455,7 +1455,7 @@ function Bi(e3) {
1455
1455
  if (e4 instanceof SyntaxError) {
1456
1456
  const i4 = e4.message.match(/position\s+(\d+)/);
1457
1457
  if (i4) {
1458
- return Hi(t5, parseInt(i4[1], 10));
1458
+ return Vi(t5, parseInt(i4[1], 10));
1459
1459
  }
1460
1460
  const n6 = e4.message.match(/line\s+(\d+)\s+column\s+(\d+)/);
1461
1461
  if (n6) return { line: parseInt(n6[1], 10), column: parseInt(n6[2], 10) };
@@ -1466,123 +1466,159 @@ function Bi(e3) {
1466
1466
  }
1467
1467
  const i2 = [], n4 = [], o2 = ki.safeParse(t3);
1468
1468
  if (!o2.success) for (const t4 of o2.error.issues) {
1469
- const n5 = t4.path.join("."), o3 = Ai(e3, t4.path);
1469
+ const n5 = t4.path.join("."), o3 = Zi(e3, t4.path);
1470
1470
  i2.push({ message: t4.message, severity: "error", path: n5 || "root", ...o3 });
1471
1471
  }
1472
1472
  const r3 = (function(e4) {
1473
- if (!($i(e4) && "version" in e4 && "flows" in e4 && $i(e4.flows))) return;
1474
- const t4 = {}, i3 = [], n5 = [], o3 = [], r4 = [], a3 = [];
1475
- let s5;
1476
- Vi(t4, e4.variables), (function(e5, t5) {
1477
- if (!$i(t5)) return;
1473
+ if (!(Gi(e4) && "version" in e4 && "flows" in e4 && Gi(e4.flows))) return;
1474
+ const t4 = {}, i3 = [], n5 = [], o3 = [], r4 = [], a3 = [], s5 = [];
1475
+ let c3;
1476
+ const l2 = Object.keys(e4.flows);
1477
+ Ki(t4, e4.variables), (function(e5, t5) {
1478
+ if (!Gi(t5)) return;
1478
1479
  for (const [, i4] of Object.entries(t5)) {
1479
- if (!$i(i4)) continue;
1480
+ if (!Gi(i4)) continue;
1480
1481
  const t6 = i4.events;
1481
- if ($i(t6)) for (const [i5, n6] of Object.entries(t6)) {
1482
- if (!$i(n6)) continue;
1482
+ if (Gi(t6)) for (const [i5, n6] of Object.entries(t6)) {
1483
+ if (!Gi(n6)) continue;
1483
1484
  const t7 = e5.find((e6) => e6.entity === i5), o4 = Object.keys(n6);
1484
1485
  if (t7) for (const e6 of o4) t7.actions.includes(e6) || t7.actions.push(e6);
1485
1486
  else e5.push({ entity: i5, actions: o4 });
1486
1487
  }
1487
1488
  }
1488
- })(a3, e4.contract);
1489
- for (const a4 of Object.values(e4.flows)) if ($i(a4)) {
1490
- if (!s5) {
1491
- const e5 = a4.config;
1492
- !$i(e5) || "web" !== e5.platform && "server" !== e5.platform || (s5 = e5.platform);
1489
+ })(s5, e4.contract);
1490
+ for (const s6 of Object.values(e4.flows)) if (Gi(s6)) {
1491
+ if (!c3) {
1492
+ const e5 = s6.config;
1493
+ !Gi(e5) || "web" !== e5.platform && "server" !== e5.platform || (c3 = e5.platform);
1493
1494
  }
1494
- Vi(t4, a4.variables);
1495
+ Ki(t4, s6.variables);
1495
1496
  for (const e5 of ["sources", "destinations", "transformers"]) {
1496
- const c4 = "sources" === e5 ? "source" : "destinations" === e5 ? "destination" : "transformer", l2 = "sources" === e5 ? i3 : "destinations" === e5 ? n5 : o3;
1497
- if ($i(a4[e5])) for (const [i4, n6] of Object.entries(a4[e5])) l2.push(i4), $i(n6) && (Vi(t4, n6.variables), "string" == typeof n6.package && r4.push({ package: n6.package, shortName: i4, type: c4, platform: s5 || "web" }));
1497
+ const r5 = "sources" === e5 ? "source" : "destinations" === e5 ? "destination" : "transformer", l3 = "sources" === e5 ? i3 : "destinations" === e5 ? n5 : o3;
1498
+ if (Gi(s6[e5])) for (const [i4, n6] of Object.entries(s6[e5])) l3.push(i4), Gi(n6) && (Ki(t4, n6.variables), "string" == typeof n6.package && a3.push({ package: n6.package, shortName: i4, type: r5, platform: c3 || "web" }));
1498
1499
  }
1500
+ if (Gi(s6.stores)) for (const [e5, i4] of Object.entries(s6.stores)) r4.push(e5), Gi(i4) && Ki(t4, i4.variables);
1499
1501
  }
1500
- const c3 = { variables: t4, stepNames: { sources: i3, destinations: n5, transformers: o3 } };
1501
- s5 && (c3.platform = s5);
1502
- r4.length > 0 && (c3.packages = r4);
1503
- a3.length > 0 && (c3.contract = a3);
1504
- return c3;
1502
+ const d2 = { variables: t4, stepNames: { sources: i3, destinations: n5, transformers: o3, stores: r4 }, flowNames: l2 };
1503
+ c3 && (d2.platform = c3);
1504
+ a3.length > 0 && (d2.packages = a3);
1505
+ s5.length > 0 && (d2.contract = s5);
1506
+ return d2;
1505
1507
  })(t3);
1506
1508
  if (r3) {
1507
1509
  const t4 = (function(e4, t5) {
1508
1510
  const i3 = [];
1509
- if (t5.variables) {
1511
+ return (function(e5, t6, i4) {
1512
+ let n5;
1513
+ Hi.lastIndex = 0;
1514
+ for (; null !== (n5 = Hi.exec(e5)); ) {
1515
+ const t7 = n5[0], o3 = n5[1], r4 = n5[2], a3 = _i(e5, n5.index, t7.length);
1516
+ i4.push({ message: `Malformed reference "${t7}", use a dot, not a colon: "$${o3}.${r4}".`, severity: "warning", path: t7, ...a3 });
1517
+ }
1518
+ })(e4, 0, i3), (function(e5, t6, i4) {
1519
+ if (!t6.variables) return;
1510
1520
  const n5 = /\$var\.(\w+)/g;
1511
1521
  let o3;
1512
- for (; null !== (o3 = n5.exec(e4)); ) if (!(o3[1] in t5.variables)) {
1513
- const n6 = Ui(e4, o3.index, o3[0].length);
1514
- i3.push({ message: `Unknown variable "$var.${o3[1]}". Defined: ${Object.keys(t5.variables).join(", ") || "none"}`, severity: "warning", path: `$var.${o3[1]}`, ...n6 });
1522
+ for (; null !== (o3 = n5.exec(e5)); ) if (!(o3[1] in t6.variables)) {
1523
+ const n6 = _i(e5, o3.index, o3[0].length);
1524
+ i4.push({ message: `Unknown variable "$var.${o3[1]}". Defined: ${Object.keys(t6.variables).join(", ") || "none"}`, severity: "warning", path: `$var.${o3[1]}`, ...n6 });
1515
1525
  }
1516
- }
1517
- return i3;
1526
+ })(e4, t5, i3), (function(e5, t6, i4) {
1527
+ const n5 = t6.stepNames?.stores ?? [];
1528
+ let o3;
1529
+ Ai.lastIndex = 0;
1530
+ for (; null !== (o3 = Ai.exec(e5)); ) if (!n5.includes(o3[1])) {
1531
+ const t7 = _i(e5, o3.index, o3[0].length);
1532
+ i4.push({ message: `Unknown store "$store.${o3[1]}". Defined: ${n5.join(", ") || "none"}`, severity: "warning", path: `$store.${o3[1]}`, ...t7 });
1533
+ }
1534
+ })(e4, t5, i3), (function(e5, t6, i4) {
1535
+ let n5;
1536
+ Bi.lastIndex = 0;
1537
+ for (; null !== (n5 = Bi.exec(e5)); ) {
1538
+ const t7 = n5[0], o3 = n5[1], r4 = n5[2], a3 = _i(e5, n5.index, t7.length);
1539
+ r4 ? i4.push({ message: `Malformed $env reference "${t7}". Use ":" for default values, not "=" (e.g., "$env.${o3}:fallback").`, severity: "warning", path: t7, ...a3 }) : /^[A-Z][A-Z0-9_]*$/.test(o3) || i4.push({ message: `$env.${o3} should use UPPER_SNAKE_CASE by convention (e.g., $env.${o3.toUpperCase()}).`, severity: "warning", path: t7, ...a3 });
1540
+ }
1541
+ })(e4, 0, i3), (function(e5, t6, i4) {
1542
+ const n5 = t6.flowNames ?? [];
1543
+ if (0 === n5.length) return;
1544
+ let o3;
1545
+ Ui.lastIndex = 0;
1546
+ for (; null !== (o3 = Ui.exec(e5)); ) {
1547
+ const t7 = o3[0], r4 = o3[1];
1548
+ if (!n5.includes(r4)) {
1549
+ const a3 = _i(e5, o3.index, t7.length);
1550
+ i4.push({ message: `Unknown flow "$flow.${r4}". Defined: ${n5.join(", ")}`, severity: "warning", path: t7, ...a3 });
1551
+ }
1552
+ }
1553
+ })(e4, t5, i3), i3;
1518
1554
  })(e3, r3);
1519
1555
  n4.push(...t4);
1520
1556
  }
1521
1557
  return { valid: 0 === i2.length, errors: i2, warnings: n4, context: r3 };
1522
1558
  }
1523
- function Hi(e3, t3) {
1559
+ function Vi(e3, t3) {
1524
1560
  let i2 = 1, n4 = 1;
1525
1561
  for (let o2 = 0; o2 < t3 && o2 < e3.length; o2++) "\n" === e3[o2] ? (i2++, n4 = 1) : n4++;
1526
1562
  return { line: i2, column: n4 };
1527
1563
  }
1528
- function Ui(e3, t3, i2) {
1529
- const n4 = Hi(e3, t3), o2 = Hi(e3, t3 + i2);
1564
+ function _i(e3, t3, i2) {
1565
+ const n4 = Vi(e3, t3), o2 = Vi(e3, t3 + i2);
1530
1566
  return { line: n4.line, column: n4.column, endLine: o2.line, endColumn: o2.column };
1531
1567
  }
1532
- function Ai(e3, t3) {
1568
+ function Zi(e3, t3) {
1533
1569
  if (0 === t3.length) return { line: 1, column: 1 };
1534
1570
  const i2 = t3[t3.length - 1];
1535
1571
  if ("string" == typeof i2) {
1536
1572
  const t4 = `"${i2}"`, n4 = e3.lastIndexOf(t4);
1537
- if (-1 !== n4) return Hi(e3, n4);
1573
+ if (-1 !== n4) return Vi(e3, n4);
1538
1574
  }
1539
1575
  return { line: 1, column: 1 };
1540
1576
  }
1541
- function $i(e3) {
1577
+ function Gi(e3) {
1542
1578
  return "object" == typeof e3 && null !== e3 && !Array.isArray(e3);
1543
1579
  }
1544
- function Vi(e3, t3) {
1545
- if ($i(t3)) for (const [i2, n4] of Object.entries(t3)) e3[i2] = n4;
1580
+ function Ki(e3, t3) {
1581
+ if (Gi(t3)) for (const [i2, n4] of Object.entries(t3)) e3[i2] = n4;
1546
1582
  }
1547
- function Gi(e3, t3) {
1583
+ function Qi(e3, t3) {
1548
1584
  const i2 = [], n4 = {};
1549
1585
  for (const [t4, o3] of Object.entries(e3)) {
1550
1586
  o3.required && i2.push(t4);
1551
1587
  const e4 = { type: o3.type };
1552
1588
  if (o3.description && (e4.description = o3.description), o3.pattern && (e4.pattern = o3.pattern), void 0 !== o3.minLength && (e4.minLength = o3.minLength), void 0 !== o3.maxLength && (e4.maxLength = o3.maxLength), void 0 !== o3.minimum && (e4.minimum = o3.minimum), void 0 !== o3.maximum && (e4.maximum = o3.maximum), o3.enum && (e4.enum = [...o3.enum]), void 0 !== o3.default && (e4.default = o3.default), "object" === o3.type && o3.properties) {
1553
1589
  const t5 = {};
1554
- for (const [e5, i3] of Object.entries(o3.properties)) t5[e5] = Ki(i3);
1590
+ for (const [e5, i3] of Object.entries(o3.properties)) t5[e5] = Xi(i3);
1555
1591
  e4.properties = t5;
1556
1592
  }
1557
- "array" === o3.type && o3.items && (e4.items = Ki(o3.items)), n4[t4] = e4;
1593
+ "array" === o3.type && o3.items && (e4.items = Xi(o3.items)), n4[t4] = e4;
1558
1594
  }
1559
1595
  const o2 = { type: "object", properties: n4 };
1560
1596
  return t3 && (o2.title = t3), i2.length > 0 && (o2.required = i2), o2;
1561
1597
  }
1562
- function Ki(e3) {
1598
+ function Xi(e3) {
1563
1599
  const t3 = { type: e3.type };
1564
1600
  if (e3.description && (t3.description = e3.description), e3.pattern && (t3.pattern = e3.pattern), void 0 !== e3.minLength && (t3.minLength = e3.minLength), void 0 !== e3.maxLength && (t3.maxLength = e3.maxLength), void 0 !== e3.minimum && (t3.minimum = e3.minimum), void 0 !== e3.maximum && (t3.maximum = e3.maximum), e3.enum && (t3.enum = [...e3.enum]), void 0 !== e3.default && (t3.default = e3.default), "object" === e3.type && e3.properties) {
1565
1601
  const i2 = {};
1566
- for (const [t4, n4] of Object.entries(e3.properties)) i2[t4] = Ki(n4);
1602
+ for (const [t4, n4] of Object.entries(e3.properties)) i2[t4] = Xi(n4);
1567
1603
  t3.properties = i2;
1568
1604
  }
1569
- return "array" === e3.type && e3.items && (t3.items = Ki(e3.items)), t3;
1605
+ return "array" === e3.type && e3.items && (t3.items = Xi(e3.items)), t3;
1570
1606
  }
1571
- function Qi(e3, t3) {
1572
- const i2 = { type: "array", items: Ki(e3) };
1607
+ function Yi(e3, t3) {
1608
+ const i2 = { type: "array", items: Xi(e3) };
1573
1609
  return void 0 !== t3?.minItems && (i2.minItems = t3.minItems), void 0 !== t3?.maxItems && (i2.maxItems = t3.maxItems), t3?.description && (i2.description = t3.description), t3?.title && (i2.title = t3.title), i2;
1574
1610
  }
1575
- function _i(e3, t3 = "string", i2) {
1611
+ function en(e3, t3 = "string", i2) {
1576
1612
  const n4 = { type: t3, enum: [...e3] };
1577
1613
  return i2?.description && (n4.description = i2.description), i2?.title && (n4.title = i2.title), n4;
1578
1614
  }
1579
- function Xi(e3, t3, i2) {
1580
- return Qi({ type: "object" }, { minItems: 2, maxItems: 2, description: i2 || "Tuple with exactly 2 elements [source, transform]" });
1615
+ function tn(e3, t3, i2) {
1616
+ return Yi({ type: "object" }, { minItems: 2, maxItems: 2, description: i2 || "Tuple with exactly 2 elements [source, transform]" });
1581
1617
  }
1582
- function Yi(e3) {
1618
+ function nn(e3) {
1583
1619
  return n3.toJSONSchema(e3, { target: "draft-7" });
1584
1620
  }
1585
- var e2, t2, i, r2, a2, s4, c2, l, d, p, u2, m, f, g, b, h, S2, v, y, w, k, C2, x, P2, D2, E2, j, I, J2, O2, L2, N2, z2, W2, q2, B2, H, U2, A2, $2, V2, G, K2, Q2, _2, X3, Y3, Z2, ee2, te3, ie3, ne2, oe3, re3, ae3, se3, ce3, le3, de2, pe3, ue3, me3, fe3, ge2, be3, he3, Se3, ve3, ye2, we3, ke3, Ce2, xe, Pe2, De2, Ee3, je, Ie2, Je2, Oe2, Re2, Me2, Te2, Fe2, Le, Ne3, ze2, We2, qe, Be2, He2, Ue2, Ae2, $e2, Ve2, Ge, Ke, Qe, _e2, Xe, Ye, Ze2, et, tt, it, nt, ot, rt, at2, st2, ct2, lt2, dt2, pt, ut, mt2, ft, gt2, bt2, ht2, St, vt2, yt2, wt2, kt, Ct, xt, Pt, Dt, Et, jt2, It, Jt, Ot, Rt, Mt, Tt, Ft, Lt, Nt, zt, Wt, qt, Bt, Ht, Ut, At, $t, Vt, Gt, Kt, Qt, _t, Xt, Yt, Zt, ei, ti, ii, ni, oi, ri, ai, si, ci, li, di, pi, ui, mi, fi, gi, bi, hi, Si, vi, yi, wi, ki, Ei, ji, Ii, Ji, Oi, Ri, Mi, Ti, Fi, Ni, zi, Wi, qi, en;
1621
+ var e2, t2, i, r2, a2, s4, c2, l, d, p, u2, m, f, g, b, h, S2, v, y, w, k, C2, x, P2, D2, E2, j, I, J2, O2, N2, L2, z2, $2, W2, q2, A2, B2, U2, H, V2, _2, Z2, G, K2, Q2, X3, Y3, ee2, te3, ie3, ne2, oe3, re3, ae3, se3, ce3, le3, de2, pe3, ue3, me3, fe3, ge2, be3, he3, Se3, ve3, ye2, we3, ke3, Ce2, xe, Pe2, De2, Ee3, je, Ie2, Je2, Oe2, Me2, Re2, Te2, Fe2, Ne3, Le, ze2, $e2, We2, qe, Ae2, Be2, Ue2, He2, Ve2, _e2, Ze2, Ge, Ke, Qe, Xe, Ye, et, tt, it, nt, ot, rt, at2, st2, ct2, lt2, dt2, pt, ut, mt2, ft, gt2, bt2, ht2, St, vt2, yt2, wt2, kt, Ct, xt, Pt, Dt, Et, jt2, It, Jt, Ot, Mt, Rt, Tt, Ft, Nt, Lt, zt, $t, Wt, qt, At, Bt, Ut, Ht, Vt, _t, Zt, Gt, Kt, Qt, Xt, Yt, ei, ti, ii, ni, oi, ri, ai, si, ci, li, di, pi, ui, mi, fi, gi, bi, hi, Si, vi, yi, wi, ki, Ei, ji, Ii, Ji, Oi, Mi, Ri, Ti, Fi, Li, zi, $i, Wi, Ai, Bi, Ui, Hi, rn;
1586
1622
  var init_dev = __esm({
1587
1623
  "../core/dist/dev.mjs"() {
1588
1624
  "use strict";
@@ -1591,7 +1627,7 @@ var init_dev = __esm({
1591
1627
  for (var n4 in i2) e2(t3, n4, { get: i2[n4], enumerable: true });
1592
1628
  };
1593
1629
  i = {};
1594
- t2(i, { BaseContextConfig: () => N2, BatchConfig: () => z2, CacheRuleSchema: () => Be2, CacheSchema: () => He2, CacheSchemas: () => qe, ClickIdEntrySchema: () => qi, CodeSchema: () => Ni, CollectorSchemas: () => bt2, ConsentSchema: () => Q2, ContractActionsSchema: () => bi, ContractRuleSchema: () => Si, ContractSchema: () => vi, ContractSchemaEntry: () => gi, Counter: () => d, DeepPartialEventSchema: () => ie3, DestinationSchemas: () => Re2, DestinationsMapConfig: () => B2, EntitiesSchema: () => Z2, EntitySchema: () => Y3, EventSchema: () => ee2, FlowBundlePackageSchema: () => ri, FlowBundleSchema: () => ai, FlowCodeSchema: () => si, FlowConfigSchema: () => yi, FlowDestinationSchema: () => mi, FlowJsonSchema: () => ki, FlowSchema: () => wi, FlowSchemas: () => ti, FlowSourceSchema: () => pi, FlowStoreSchema: () => fi, FlowTransformerSchema: () => ui, GenericEnvConfig: () => O2, GenericSettingsConfig: () => J2, HandlersConfig: () => x, HintSchema: () => zi, HintsSchema: () => Wi, IdConfig: () => E2, Identifier: () => c2, InitConfig: () => j, LoggerConfigSchema: () => Ae2, LoggerHandlerSchema: () => Ue2, LoopSchema: () => fe3, MapSchema: () => be3, MappingResultSchema: () => ke3, MappingSchemas: () => pe3, MatchExpressionSchema: () => Le, MatcherSchemas: () => Me2, NextRuleSchema: () => We2, OptionalPrimitiveValue: () => u2, OrderedPropertiesSchema: () => G, PartialEventSchema: () => te3, PolicySchema: () => Se3, PrimaryConfig: () => I, PrimitiveValue: () => p, ProcessingControlConfig: () => W2, PropertiesSchema: () => V2, PropertySchema: () => $2, PropertyTypeSchema: () => A2, QueueConfig: () => D2, RequiredBoolean: () => s4, RequiredNumber: () => a2, RequiredString: () => r2, RoutableNextSchema: () => ze2, RuleSchema: () => ve3, RulesSchema: () => ye2, RuntimeInstanceConfig: () => L2, SetSchema: () => ge2, SourceSchema: () => X3, SourceSchemas: () => Ot, SourceTypeSchema: () => K2, SourcesMapConfig: () => q2, StoreSchemas: () => _t, Timestamp: () => l, TransformerSchemas: () => $t, UserSchema: () => _2, UtilitySchemas: () => m, ValueConfigSchema: () => he3, ValueSchema: () => ue3, ValuesSchema: () => me3, VerboseConfig: () => P2, WalkerOSSchemas: () => H, configJsonSchema: () => Ei, consentJsonSchema: () => de2, contractJsonSchema: () => Fi, contractRuleJsonSchema: () => Ti, createArraySchema: () => Qi, createConsentConfig: () => F2, createDataTransformationConfig: () => R2, createEnumSchema: () => _i, createMappingRulesConfig: () => M2, createObjectSchema: () => Gi, createPolicyConfig: () => T2, createTupleSchema: () => Xi, destinationJsonSchema: () => Oi, entityJsonSchema: () => ce3, eventJsonSchema: () => ne2, flowConfigJsonSchema: () => Ii, flowJsonSchema: () => ji, loopJsonSchema: () => Pe2, mapJsonSchema: () => Ee3, orderedPropertiesJsonSchema: () => se3, parseConfig: () => Ci, parseFlow: () => Pi, partialEventJsonSchema: () => oe3, policyJsonSchema: () => je, propertiesJsonSchema: () => ae3, ruleJsonSchema: () => Ie2, rulesJsonSchema: () => Je2, safeParseConfig: () => xi, safeParseFlow: () => Di, setJsonSchema: () => De2, sourceJsonSchema: () => Ji, sourceTypeJsonSchema: () => le3, storeJsonSchema: () => Mi, transformerJsonSchema: () => Ri, userJsonSchema: () => re3, validateFlowConfig: () => Bi, valueConfigJsonSchema: () => xe, valueJsonSchema: () => Ce2, z: () => n3, zodToSchema: () => Yi });
1630
+ t2(i, { BaseContextConfig: () => L2, BatchConfig: () => z2, CacheRuleSchema: () => qe, CacheSchema: () => Ae2, CacheSchemas: () => We2, ClickIdEntrySchema: () => Wi, CodeSchema: () => Li, CollectorSchemas: () => bt2, ConsentSchema: () => G, ContractActionsSchema: () => bi, ContractRuleSchema: () => Si, ContractSchema: () => vi, ContractSchemaEntry: () => gi, Counter: () => d, DeepPartialEventSchema: () => ie3, DestinationSchemas: () => Me2, DestinationsMapConfig: () => q2, EntitiesSchema: () => Y3, EntitySchema: () => X3, EventSchema: () => ee2, FlowBundlePackageSchema: () => ri, FlowBundleSchema: () => ai, FlowCodeSchema: () => si, FlowConfigSchema: () => yi, FlowDestinationSchema: () => mi, FlowJsonSchema: () => ki, FlowSchema: () => wi, FlowSchemas: () => ti, FlowSourceSchema: () => pi, FlowStoreSchema: () => fi, FlowTransformerSchema: () => ui, GenericEnvConfig: () => O2, GenericSettingsConfig: () => J2, HandlersConfig: () => x, HintSchema: () => zi, HintsSchema: () => $i, IdConfig: () => E2, Identifier: () => c2, InitConfig: () => j, LoggerConfigSchema: () => Ue2, LoggerHandlerSchema: () => Be2, LoopSchema: () => fe3, MapSchema: () => be3, MappingResultSchema: () => ke3, MappingSchemas: () => pe3, MatchExpressionSchema: () => Ne3, MatcherSchemas: () => Re2, NextRuleSchema: () => $e2, OptionalPrimitiveValue: () => u2, OrderedPropertiesSchema: () => _2, PartialEventSchema: () => te3, PolicySchema: () => Se3, PrimaryConfig: () => I, PrimitiveValue: () => p, ProcessingControlConfig: () => $2, PropertiesSchema: () => V2, PropertySchema: () => H, PropertyTypeSchema: () => U2, QueueConfig: () => D2, RequiredBoolean: () => s4, RequiredNumber: () => a2, RequiredString: () => r2, RoutableNextSchema: () => ze2, RuleSchema: () => ve3, RulesSchema: () => ye2, RuntimeInstanceConfig: () => N2, SetSchema: () => ge2, SourceSchema: () => Q2, SourceSchemas: () => Ot, SourceTypeSchema: () => Z2, SourcesMapConfig: () => W2, StoreSchemas: () => Kt, Timestamp: () => l, TransformerSchemas: () => Ht, UserSchema: () => K2, UtilitySchemas: () => m, ValueConfigSchema: () => he3, ValueSchema: () => ue3, ValuesSchema: () => me3, VerboseConfig: () => P2, WalkerOSSchemas: () => A2, configJsonSchema: () => Ei, consentJsonSchema: () => de2, contractJsonSchema: () => Fi, contractRuleJsonSchema: () => Ti, createArraySchema: () => Yi, createConsentConfig: () => F2, createDataTransformationConfig: () => M2, createEnumSchema: () => en, createMappingRulesConfig: () => R2, createObjectSchema: () => Qi, createPolicyConfig: () => T2, createTupleSchema: () => tn, destinationJsonSchema: () => Oi, entityJsonSchema: () => ce3, eventJsonSchema: () => ne2, flowConfigJsonSchema: () => Ii, flowJsonSchema: () => ji, loopJsonSchema: () => Pe2, mapJsonSchema: () => Ee3, orderedPropertiesJsonSchema: () => se3, parseConfig: () => Ci, parseFlow: () => Pi, partialEventJsonSchema: () => oe3, policyJsonSchema: () => je, propertiesJsonSchema: () => ae3, ruleJsonSchema: () => Ie2, rulesJsonSchema: () => Je2, safeParseConfig: () => xi, safeParseFlow: () => Di, setJsonSchema: () => De2, sourceJsonSchema: () => Ji, sourceTypeJsonSchema: () => le3, storeJsonSchema: () => Ri, transformerJsonSchema: () => Mi, userJsonSchema: () => re3, validateFlowConfig: () => qi, valueConfigJsonSchema: () => xe, valueJsonSchema: () => Ce2, z: () => n3, zodToSchema: () => nn });
1595
1631
  r2 = n3.string();
1596
1632
  a2 = n3.number();
1597
1633
  s4 = n3.boolean();
@@ -1620,47 +1656,47 @@ var init_dev = __esm({
1620
1656
  I = n3.object({ primary: n3.boolean().describe("Mark as primary (only one can be primary)").optional() }).partial();
1621
1657
  J2 = n3.object({ settings: n3.any().optional().describe("Implementation-specific configuration") }).partial();
1622
1658
  O2 = n3.object({ env: n3.any().optional().describe("Environment dependencies (platform-specific)") }).partial();
1623
- L2 = n3.object({ type: n3.string().optional().describe("Instance type identifier"), config: n3.unknown().describe("Instance configuration") }).partial();
1624
- N2 = n3.object({ collector: n3.unknown().describe("Collector instance (runtime object)"), config: n3.unknown().describe("Configuration"), env: n3.unknown().describe("Environment dependencies") }).partial();
1659
+ N2 = n3.object({ type: n3.string().optional().describe("Instance type identifier"), config: n3.unknown().describe("Instance configuration") }).partial();
1660
+ L2 = n3.object({ collector: n3.unknown().describe("Collector instance (runtime object)"), config: n3.unknown().describe("Configuration"), env: n3.unknown().describe("Environment dependencies") }).partial();
1625
1661
  z2 = n3.object({ batch: n3.number().optional().describe("Batch size: bundle N events for batch processing"), batched: n3.unknown().optional().describe("Batch of events to be processed") }).partial();
1626
- W2 = n3.object({ ignore: n3.boolean().describe("Set to true to skip processing").optional(), condition: n3.string().optional().describe("Condition function: return true to process") }).partial();
1627
- q2 = n3.object({ sources: n3.record(n3.string(), n3.unknown()).describe("Map of source instances") }).partial();
1628
- B2 = n3.object({ destinations: n3.record(n3.string(), n3.unknown()).describe("Map of destination instances") }).partial();
1629
- H = {};
1630
- t2(H, { ConsentSchema: () => Q2, DeepPartialEventSchema: () => ie3, EntitiesSchema: () => Z2, EntitySchema: () => Y3, EventSchema: () => ee2, OrderedPropertiesSchema: () => G, PartialEventSchema: () => te3, PropertiesSchema: () => V2, PropertySchema: () => $2, PropertyTypeSchema: () => A2, SourceSchema: () => X3, SourceTypeSchema: () => K2, UserSchema: () => _2, consentJsonSchema: () => de2, entityJsonSchema: () => ce3, eventJsonSchema: () => ne2, orderedPropertiesJsonSchema: () => se3, partialEventJsonSchema: () => oe3, propertiesJsonSchema: () => ae3, sourceTypeJsonSchema: () => le3, userJsonSchema: () => re3 });
1631
- A2 = n3.lazy(() => n3.union([n3.boolean(), n3.string(), n3.number(), n3.record(n3.string(), $2)])).meta({ id: "WalkerOSPropertyType", title: "WalkerOS.PropertyType", description: "Base property value types (boolean, string, number, or nested Property record)." });
1632
- $2 = n3.lazy(() => n3.union([A2, n3.array(A2)])).meta({ id: "WalkerOSProperty", title: "WalkerOS.Property", description: "PropertyType or an array of PropertyType. Recursive structure for nested objects and arrays." });
1633
- V2 = n3.record(n3.string(), $2.optional()).meta({ id: "WalkerOSProperties", title: "WalkerOS.Properties", description: "Flexible property collection with optional values." }).describe("Flexible property collection with optional values");
1634
- G = n3.record(n3.string(), n3.tuple([$2, n3.number()]).optional()).meta({ id: "WalkerOSOrderedProperties", title: "WalkerOS.OrderedProperties", description: "Ordered properties with [value, order] tuples for priority control." }).describe("Ordered properties with [value, order] tuples for priority control");
1635
- K2 = n3.union([n3.enum(["web", "server", "app", "other"]), n3.string()]).meta({ id: "WalkerOSSourceType", title: "WalkerOS.SourceType", description: "Source type identifier. Standard: web, server, app, other. Extensible to custom strings." }).describe("Source type: web, server, app, other, or custom");
1636
- Q2 = n3.record(n3.string(), n3.boolean()).meta({ id: "WalkerOSConsent", title: "WalkerOS.Consent", description: "Consent state mapping. Keys are consent groups (e.g. marketing, functional), values are booleans for granted/denied." }).describe("Consent requirement mapping (group name to state)");
1637
- _2 = V2.and(n3.object({ id: n3.string().optional().describe("User identifier"), device: n3.string().optional().describe("Device identifier"), session: n3.string().optional().describe("Session identifier"), hash: n3.string().optional().describe("Hashed identifier"), address: n3.string().optional().describe("User address"), email: n3.string().email().optional().describe("User email address"), phone: n3.string().optional().describe("User phone number"), userAgent: n3.string().optional().describe("Browser user agent string"), browser: n3.string().optional().describe("Browser name"), browserVersion: n3.string().optional().describe("Browser version"), deviceType: n3.string().optional().describe("Device type (mobile, desktop, tablet)"), os: n3.string().optional().describe("Operating system"), osVersion: n3.string().optional().describe("Operating system version"), screenSize: n3.string().optional().describe("Screen dimensions"), language: n3.string().optional().describe("User language"), country: n3.string().optional().describe("User country"), region: n3.string().optional().describe("User region/state"), city: n3.string().optional().describe("User city"), zip: n3.string().optional().describe("User postal code"), timezone: n3.string().optional().describe("User timezone"), ip: n3.string().optional().describe("User IP address"), internal: n3.boolean().optional().describe("Internal user flag (employee, test user)") })).meta({ id: "WalkerOSUser", title: "WalkerOS.User", description: "User identification and attributes." }).describe("User identification and properties");
1638
- X3 = V2.and(n3.object({ type: n3.string().describe("Source kind (browser, dataLayer, gtag, ...)"), platform: n3.string().optional().describe("Runtime platform (web, server, app, ios, android, terminal, ...)"), version: n3.string().optional().describe("Deployment version of the source emitter"), schema: n3.string().optional().describe('Event model spec version (collector defaults to "4")'), count: n3.number().int().nonnegative().optional().describe("Emission sequence per run"), trace: n3.string().optional().describe("W3C traceparent full string"), url: n3.string().optional(), referrer: n3.string().optional(), tool: n3.string().optional(), command: n3.string().optional() })).meta({ id: "WalkerOSSource", title: "WalkerOS.Source", description: "Event source information (origin of the event)." }).describe("Event source information");
1639
- Y3 = n3.lazy(() => n3.object({ entity: n3.string().describe("Entity name"), data: V2.describe("Entity-specific properties"), nested: n3.array(Y3).optional().describe("Nested child entities"), context: G.optional().describe("Entity context data") })).meta({ id: "WalkerOSEntity", title: "WalkerOS.Entity", description: "Nested entity structure with recursive nesting support." }).describe("Nested entity structure with recursive nesting support");
1640
- Z2 = n3.array(Y3).meta({ id: "WalkerOSEntities", title: "WalkerOS.Entities", description: "Array of nested entities." }).describe("Array of nested entities");
1641
- ee2 = n3.object({ name: n3.string().describe('Event name in "entity action" format (e.g., "page view", "product add")'), data: V2.describe("Event-specific properties"), context: G.describe("Ordered context properties with priorities"), globals: V2.describe("Global properties shared across events"), custom: V2.describe("Custom implementation-specific properties"), user: _2.describe("User identification and attributes"), nested: Z2.describe("Related nested entities"), consent: Q2.describe("Consent states at event time"), id: c2.describe("W3C span_id, 16 lowercase hex characters"), trigger: r2.describe("Event trigger identifier"), entity: r2.describe("Parsed entity from event name"), action: r2.describe("Parsed action from event name"), timestamp: l.describe("Unix timestamp in milliseconds since epoch"), timing: a2.describe("Event processing timing information"), source: X3.describe("Event source information") }).meta({ id: "WalkerOSEvent", title: "WalkerOS.Event", description: "Complete walkerOS event structure." }).describe("Complete walkerOS event structure");
1662
+ $2 = n3.object({ ignore: n3.boolean().describe("Set to true to skip processing").optional(), condition: n3.string().optional().describe("Condition function: return true to process") }).partial();
1663
+ W2 = n3.object({ sources: n3.record(n3.string(), n3.unknown()).describe("Map of source instances") }).partial();
1664
+ q2 = n3.object({ destinations: n3.record(n3.string(), n3.unknown()).describe("Map of destination instances") }).partial();
1665
+ A2 = {};
1666
+ t2(A2, { ConsentSchema: () => G, DeepPartialEventSchema: () => ie3, EntitiesSchema: () => Y3, EntitySchema: () => X3, EventSchema: () => ee2, OrderedPropertiesSchema: () => _2, PartialEventSchema: () => te3, PropertiesSchema: () => V2, PropertySchema: () => H, PropertyTypeSchema: () => U2, SourceSchema: () => Q2, SourceTypeSchema: () => Z2, UserSchema: () => K2, consentJsonSchema: () => de2, entityJsonSchema: () => ce3, eventJsonSchema: () => ne2, orderedPropertiesJsonSchema: () => se3, partialEventJsonSchema: () => oe3, propertiesJsonSchema: () => ae3, sourceTypeJsonSchema: () => le3, userJsonSchema: () => re3 });
1667
+ U2 = n3.lazy(() => n3.union([n3.boolean(), n3.string(), n3.number(), n3.record(n3.string(), H)])).meta({ id: "WalkerOSPropertyType", title: "WalkerOS.PropertyType", description: "Base property value types (boolean, string, number, or nested Property record)." });
1668
+ H = n3.lazy(() => n3.union([U2, n3.array(U2)])).meta({ id: "WalkerOSProperty", title: "WalkerOS.Property", description: "PropertyType or an array of PropertyType. Recursive structure for nested objects and arrays." });
1669
+ V2 = n3.record(n3.string(), H.optional()).meta({ id: "WalkerOSProperties", title: "WalkerOS.Properties", description: "Flexible property collection with optional values." }).describe("Flexible property collection with optional values");
1670
+ _2 = n3.record(n3.string(), n3.tuple([H, n3.number()]).optional()).meta({ id: "WalkerOSOrderedProperties", title: "WalkerOS.OrderedProperties", description: "Ordered properties with [value, order] tuples for priority control." }).describe("Ordered properties with [value, order] tuples for priority control");
1671
+ Z2 = n3.union([n3.enum(["web", "server", "app", "other"]), n3.string()]).meta({ id: "WalkerOSSourceType", title: "WalkerOS.SourceType", description: "Source type identifier. Standard: web, server, app, other. Extensible to custom strings." }).describe("Source type: web, server, app, other, or custom");
1672
+ G = n3.record(n3.string(), n3.boolean()).meta({ id: "WalkerOSConsent", title: "WalkerOS.Consent", description: "Consent state mapping. Keys are consent groups (e.g. marketing, functional), values are booleans for granted/denied." }).describe("Consent requirement mapping (group name to state)");
1673
+ K2 = V2.and(n3.object({ id: n3.string().optional().describe("User identifier"), device: n3.string().optional().describe("Device identifier"), session: n3.string().optional().describe("Session identifier"), hash: n3.string().optional().describe("Hashed identifier"), address: n3.string().optional().describe("User address"), email: n3.string().email().optional().describe("User email address"), phone: n3.string().optional().describe("User phone number"), userAgent: n3.string().optional().describe("Browser user agent string"), browser: n3.string().optional().describe("Browser name"), browserVersion: n3.string().optional().describe("Browser version"), deviceType: n3.string().optional().describe("Device type (mobile, desktop, tablet)"), os: n3.string().optional().describe("Operating system"), osVersion: n3.string().optional().describe("Operating system version"), screenSize: n3.string().optional().describe("Screen dimensions"), language: n3.string().optional().describe("User language"), country: n3.string().optional().describe("User country"), region: n3.string().optional().describe("User region/state"), city: n3.string().optional().describe("User city"), zip: n3.string().optional().describe("User postal code"), timezone: n3.string().optional().describe("User timezone"), ip: n3.string().optional().describe("User IP address"), internal: n3.boolean().optional().describe("Internal user flag (employee, test user)") })).meta({ id: "WalkerOSUser", title: "WalkerOS.User", description: "User identification and attributes." }).describe("User identification and properties");
1674
+ Q2 = V2.and(n3.object({ type: n3.string().describe("Source kind (browser, dataLayer, gtag, ...)"), platform: n3.string().optional().describe("Runtime platform (web, server, app, ios, android, terminal, ...)"), version: n3.string().optional().describe("Deployment version of the source emitter"), schema: n3.string().optional().describe('Event model spec version (collector defaults to "4")'), count: n3.number().int().nonnegative().optional().describe("Emission sequence per run"), trace: n3.string().optional().describe("W3C traceparent full string"), url: n3.string().optional(), referrer: n3.string().optional(), tool: n3.string().optional(), command: n3.string().optional() })).meta({ id: "WalkerOSSource", title: "WalkerOS.Source", description: "Event source information (origin of the event)." }).describe("Event source information");
1675
+ X3 = n3.lazy(() => n3.object({ entity: n3.string().describe("Entity name"), data: V2.describe("Entity-specific properties"), nested: n3.array(X3).optional().describe("Nested child entities"), context: _2.optional().describe("Entity context data") })).meta({ id: "WalkerOSEntity", title: "WalkerOS.Entity", description: "Nested entity structure with recursive nesting support." }).describe("Nested entity structure with recursive nesting support");
1676
+ Y3 = n3.array(X3).meta({ id: "WalkerOSEntities", title: "WalkerOS.Entities", description: "Array of nested entities." }).describe("Array of nested entities");
1677
+ ee2 = n3.object({ name: n3.string().describe('Event name in "entity action" format (e.g., "page view", "product add")'), data: V2.describe("Event-specific properties"), context: _2.describe("Ordered context properties with priorities"), globals: V2.describe("Global properties shared across events"), custom: V2.describe("Custom implementation-specific properties"), user: K2.describe("User identification and attributes"), nested: Y3.describe("Related nested entities"), consent: G.describe("Consent states at event time"), id: c2.describe("W3C span_id, 16 lowercase hex characters"), trigger: r2.describe("Event trigger identifier"), entity: r2.describe("Parsed entity from event name"), action: r2.describe("Parsed action from event name"), timestamp: l.describe("Unix timestamp in milliseconds since epoch"), timing: a2.describe("Event processing timing information"), source: Q2.describe("Event source information") }).meta({ id: "WalkerOSEvent", title: "WalkerOS.Event", description: "Complete walkerOS event structure." }).describe("Complete walkerOS event structure");
1642
1678
  te3 = ee2.partial().meta({ id: "WalkerOSPartialEvent", title: "WalkerOS.PartialEvent", description: "Partial event structure with all fields optional." }).describe("Partial event structure with all fields optional");
1643
1679
  ie3 = ee2.partial().meta({ id: "WalkerOSDeepPartialEvent", title: "WalkerOS.DeepPartialEvent", description: "Partial event structure with all top-level fields optional." }).describe("Partial event structure with all top-level fields optional");
1644
1680
  ne2 = o(ee2);
1645
1681
  oe3 = o(te3);
1646
- re3 = o(_2);
1682
+ re3 = o(K2);
1647
1683
  ae3 = o(V2);
1648
- se3 = o(G);
1649
- ce3 = o(Y3);
1650
- le3 = o(K2);
1651
- de2 = o(Q2);
1684
+ se3 = o(_2);
1685
+ ce3 = o(X3);
1686
+ le3 = o(Z2);
1687
+ de2 = o(G);
1652
1688
  pe3 = {};
1653
1689
  t2(pe3, { ConfigSchema: () => we3, LoopSchema: () => fe3, MapSchema: () => be3, PolicySchema: () => Se3, ResultSchema: () => ke3, RuleSchema: () => ve3, RulesSchema: () => ye2, SetSchema: () => ge2, ValueConfigSchema: () => he3, ValueSchema: () => ue3, ValuesSchema: () => me3, configJsonSchema: () => Oe2, loopJsonSchema: () => Pe2, mapJsonSchema: () => Ee3, policyJsonSchema: () => je, ruleJsonSchema: () => Ie2, rulesJsonSchema: () => Je2, setJsonSchema: () => De2, valueConfigJsonSchema: () => xe, valueJsonSchema: () => Ce2 });
1654
- ue3 = n3.lazy(() => n3.union([n3.string().describe('String value or property path (e.g., "data.id")'), n3.number().describe("Numeric value"), n3.boolean().describe("Boolean value"), n3.lazy(() => U2), n3.array(ue3).describe("Array of values")])).meta({ id: "MappingValue", title: "Mapping.Value", description: "Polymorphic transform primitive used in every mapping field. A string path, constant, operator object (map/loop/set/condition/consent), or array of values." });
1690
+ ue3 = n3.lazy(() => n3.union([n3.string().describe('String value or property path (e.g., "data.id")'), n3.number().describe("Numeric value"), n3.boolean().describe("Boolean value"), n3.lazy(() => B2), n3.array(ue3).describe("Array of values")])).meta({ id: "MappingValue", title: "Mapping.Value", description: "Polymorphic transform primitive used in every mapping field. A string path, constant, operator object (map/loop/set/condition/consent), or array of values." });
1655
1691
  me3 = n3.array(ue3).meta({ id: "MappingValues", title: "Mapping.Values", description: "Array of transformation values." }).describe("Array of transformation values");
1656
1692
  fe3 = n3.lazy(() => n3.tuple([ue3, ue3]).describe("Loop transformation: [source, transform] tuple for array processing")).meta({ id: "MappingLoop", title: "Mapping.Loop", description: "Loop tuple [source, transform] for iterating and transforming arrays." });
1657
1693
  ge2 = n3.lazy(() => n3.array(ue3).describe("Set: Array of values for selection or combination")).meta({ id: "MappingSet", title: "Mapping.Set", description: "Set: array of values for selection or combination." });
1658
1694
  be3 = n3.lazy(() => n3.record(n3.string(), ue3).describe("Map: Object mapping keys to transformation values")).meta({ id: "MappingMap", title: "Mapping.Map", description: "Map: object mapping keys to transformation values." });
1659
- he3 = U2 = n3.object({ key: n3.string().optional().describe('Property path to extract from event (e.g., "data.id", "user.email")'), value: n3.union([n3.string(), n3.number(), n3.boolean()]).optional().describe("Static primitive value"), fn: n3.string().optional().describe("Custom transformation function as string (serialized)"), map: be3.optional().describe("Object mapping: transform event data to structured output"), loop: fe3.optional().describe("Loop transformation: [source, transform] for array processing"), set: ge2.optional().describe("Set of values: combine or select from multiple values"), consent: Q2.optional().describe("Required consent states to include this value"), condition: n3.string().optional().describe("Condition function as string: return true to include value"), validate: n3.string().optional().describe("Validation function as string: return true if value is valid") }).refine((e3) => Object.keys(e3).length > 0, { message: "ValueConfig must have at least one property" }).meta({ id: "MappingValueConfig", title: "Mapping.ValueConfig", description: "Object-form value transformation with map/loop/set/condition/consent etc." }).describe("Value transformation configuration with multiple strategies");
1695
+ he3 = B2 = n3.object({ key: n3.string().optional().describe('Property path to extract from event (e.g., "data.id", "user.email")'), value: n3.union([n3.string(), n3.number(), n3.boolean()]).optional().describe("Static primitive value"), fn: n3.string().optional().describe("Custom transformation function as string (serialized)"), map: be3.optional().describe("Object mapping: transform event data to structured output"), loop: fe3.optional().describe("Loop transformation: [source, transform] for array processing"), set: ge2.optional().describe("Set of values: combine or select from multiple values"), consent: G.optional().describe("Required consent states to include this value"), condition: n3.string().optional().describe("Condition function as string: return true to include value"), validate: n3.string().optional().describe("Validation function as string: return true if value is valid") }).refine((e3) => Object.keys(e3).length > 0, { message: "ValueConfig must have at least one property" }).meta({ id: "MappingValueConfig", title: "Mapping.ValueConfig", description: "Object-form value transformation with map/loop/set/condition/consent etc." }).describe("Value transformation configuration with multiple strategies");
1660
1696
  Se3 = n3.record(n3.string(), ue3).meta({ id: "MappingPolicy", title: "Mapping.Policy", description: "Policy rules for event pre-processing (key \u2192 value transformation)." }).describe("Policy rules for event pre-processing (key \u2192 value mapping)");
1661
- ve3 = n3.object({ name: n3.string().optional().describe('Custom event name override (e.g., "view_item" for "product view")'), data: n3.union([ue3, me3]).optional().describe("Data transformation rules for event"), settings: n3.any().optional().describe("Destination-specific settings for this event mapping"), condition: n3.string().optional().describe("Condition function as string: return true to process event"), consent: Q2.optional().describe("Required consent states to process this event"), policy: Se3.optional().describe("Event-level policy overrides (applied after config-level policy)"), batch: n3.number().optional().describe("Batch size: bundle N events for batch processing"), include: n3.array(n3.string()).optional().describe('Event sections (e.g. ["context", "globals"]) flattened into context.data'), ignore: n3.boolean().optional().describe("Skip the event entirely. No push, no side effects. Use for suppression."), silent: n3.boolean().optional().describe("Run side effects (settings.identify, ...) but suppress the destination default push call.") }).meta({ id: "MappingRule", title: "Mapping.Rule", description: "Configuration for transforming a single event at one stage of the flow (source or destination)." }).describe("Mapping rule for specific entity-action combination");
1697
+ ve3 = n3.object({ name: n3.string().optional().describe('Custom event name override (e.g., "view_item" for "product view")'), data: n3.union([ue3, me3]).optional().describe("Data transformation rules for event"), settings: n3.any().optional().describe("Destination-specific settings for this event mapping"), condition: n3.string().optional().describe("Condition function as string: return true to process event"), consent: G.optional().describe("Required consent states to process this event"), policy: Se3.optional().describe("Event-level policy overrides (applied after config-level policy)"), batch: n3.number().optional().describe("Batch size: bundle N events for batch processing"), include: n3.array(n3.string()).optional().describe('Event sections (e.g. ["context", "globals"]) flattened into context.data'), ignore: n3.boolean().optional().describe("Skip the event entirely. No push, no side effects. Use for suppression."), silent: n3.boolean().optional().describe("Run side effects (settings.identify, ...) but suppress the destination default push call.") }).meta({ id: "MappingRule", title: "Mapping.Rule", description: "Configuration for transforming a single event at one stage of the flow (source or destination)." }).describe("Mapping rule for specific entity-action combination");
1662
1698
  ye2 = n3.record(n3.string(), n3.record(n3.string(), n3.union([ve3, n3.array(ve3)])).optional()).meta({ id: "MappingRules", title: "Mapping.Rules", description: 'Event mapping rules tree: entity \u2192 action \u2192 Rule (or Rule[]). Use "*" as wildcard for entity or action.' }).describe('Event mapping rules: entity \u2192 action \u2192 Rule. Keys match event name split by space. Use "*" as wildcard for entity or action. Priority: exact > entity wildcard > action wildcard > global wildcard (*\u2192*).');
1663
- we3 = n3.object({ consent: Q2.optional().describe("Required consent states to process any events"), data: n3.union([ue3, me3]).optional().describe("Global data transformation applied to all events"), include: n3.array(n3.string()).optional().describe("Event sections to flatten into context.data"), mapping: ye2.optional().describe("Entity-action specific mapping rules"), policy: Se3.optional().describe("Pre-processing policy rules applied before mapping") }).meta({ id: "MappingConfig", title: "Mapping.Config", description: "Shared mapping configuration (consent, data, include, mapping, policy)." }).describe("Shared mapping configuration for sources and destinations");
1699
+ we3 = n3.object({ consent: G.optional().describe("Required consent states to process any events"), data: n3.union([ue3, me3]).optional().describe("Global data transformation applied to all events"), include: n3.array(n3.string()).optional().describe("Event sections to flatten into context.data"), mapping: ye2.optional().describe("Entity-action specific mapping rules"), policy: Se3.optional().describe("Pre-processing policy rules applied before mapping") }).meta({ id: "MappingConfig", title: "Mapping.Config", description: "Shared mapping configuration (consent, data, include, mapping, policy)." }).describe("Shared mapping configuration for sources and destinations");
1664
1700
  ke3 = n3.object({ eventMapping: ve3.optional().describe("Resolved mapping rule for event"), mappingKey: n3.string().optional().describe('Mapping key used (e.g., "product.view")') }).meta({ id: "MappingResult", title: "Mapping.Result", description: "Mapping resolution result (matched rule + key)." }).describe("Mapping resolution result");
1665
1701
  Ce2 = o(ue3);
1666
1702
  xe = o(he3);
@@ -1671,33 +1707,33 @@ var init_dev = __esm({
1671
1707
  Ie2 = o(ve3);
1672
1708
  Je2 = o(ye2);
1673
1709
  Oe2 = o(we3);
1674
- Re2 = {};
1675
- t2(Re2, { BatchSchema: () => Ze2, ConfigSchema: () => $e2, ContextSchema: () => Ke, DLQSchema: () => ct2, DataSchema: () => et, DestinationPolicySchema: () => Ge, DestinationsSchema: () => ot, InitDestinationsSchema: () => nt, InitSchema: () => it, InstanceSchema: () => tt, PartialConfigSchema: () => Ve2, PushBatchContextSchema: () => _e2, PushContextSchema: () => Qe, PushEventSchema: () => Xe, PushEventsSchema: () => Ye, PushResultSchema: () => at2, RefSchema: () => rt, ResultSchema: () => st2, batchJsonSchema: () => mt2, configJsonSchema: () => lt2, contextJsonSchema: () => pt, instanceJsonSchema: () => ft, partialConfigJsonSchema: () => dt2, pushContextJsonSchema: () => ut, resultJsonSchema: () => gt2 });
1676
1710
  Me2 = {};
1677
- t2(Me2, { MatchExpressionSchema: () => Le, NextRuleSchema: () => We2, RoutableNextSchema: () => ze2 });
1711
+ t2(Me2, { BatchSchema: () => Ye, ConfigSchema: () => He2, ContextSchema: () => Ze2, DLQSchema: () => ct2, DataSchema: () => et, DestinationPolicySchema: () => _e2, DestinationsSchema: () => ot, InitDestinationsSchema: () => nt, InitSchema: () => it, InstanceSchema: () => tt, PartialConfigSchema: () => Ve2, PushBatchContextSchema: () => Ke, PushContextSchema: () => Ge, PushEventSchema: () => Qe, PushEventsSchema: () => Xe, PushResultSchema: () => at2, RefSchema: () => rt, ResultSchema: () => st2, batchJsonSchema: () => mt2, configJsonSchema: () => lt2, contextJsonSchema: () => pt, instanceJsonSchema: () => ft, partialConfigJsonSchema: () => dt2, pushContextJsonSchema: () => ut, resultJsonSchema: () => gt2 });
1712
+ Re2 = {};
1713
+ t2(Re2, { MatchExpressionSchema: () => Ne3, NextRuleSchema: () => $e2, RoutableNextSchema: () => ze2 });
1678
1714
  Te2 = n3.enum(["eq", "contains", "prefix", "suffix", "regex", "gt", "lt", "exists"]).meta({ id: "MatcherOperator", title: "Matcher.Operator", description: "Supported operators for a match condition." });
1679
1715
  Fe2 = n3.object({ key: n3.string(), operator: Te2, value: n3.string(), not: n3.boolean().optional() }).meta({ id: "MatcherCondition", title: "Matcher.Condition", description: "Single match condition (key, operator, value, optional not)." });
1680
- Le = n3.union([Fe2, n3.object({ and: n3.array(n3.lazy(() => Le)) }), n3.object({ or: n3.array(n3.lazy(() => Le)) })]).meta({ id: "MatcherExpression", title: "Matcher.Expression", description: "Boolean expression tree of match conditions (leaf, and, or)." });
1681
- Ne3 = n3.union([Le, n3.literal("*")]);
1682
- ze2 = n3.union([n3.string(), n3.array(n3.string()), n3.array(n3.object({ match: Ne3, next: n3.lazy(() => ze2) }))]).meta({ id: "MatcherNext", title: "Matcher.Next", description: "Routable next target: ID, ID list, or list of {match, next} rules." });
1683
- We2 = n3.object({ match: Ne3, next: n3.lazy(() => ze2) }).meta({ id: "MatcherNextRule", title: "Matcher.NextRule", description: "Single routing rule pairing a match expression with a next target." });
1684
- qe = {};
1685
- t2(qe, { CacheRuleSchema: () => Be2, CacheSchema: () => He2 });
1686
- Be2 = n3.object({ match: n3.union([Le, n3.literal("*")]).describe("Match expression or wildcard to determine when this rule applies"), key: n3.array(n3.string()).min(1).describe("Dot-path fields used to build the cache key"), ttl: n3.number().positive().describe("Time-to-live in seconds for cached entries"), update: n3.record(n3.string(), ue3).optional().describe("Response mutations applied on cache hit (key \u2192 Value mapping)") }).meta({ id: "CacheRule", title: "Cache.Rule", description: "Single caching rule: when it applies (match), what keys it keys off, TTL, and optional response mutations on hit." });
1687
- He2 = n3.object({ full: n3.boolean().optional().describe("Stop flow on cache HIT (default: false). When true, skip remaining steps and return cached value."), store: n3.string().optional().describe("Store ID for persistent caching (references a configured store)"), rules: n3.array(Be2).min(1).describe("Cache rules \u2014 at least one required") }).meta({ id: "CacheConfig", title: "Cache.Config", description: "Top-level cache configuration for a pipeline step (destination / transformer / source ref)." });
1688
- Ue2 = n3.any().meta({ id: "LoggerHandler", title: "Logger.Handler", description: "Custom log handler function (level, ...args) => void" });
1689
- Ae2 = n3.object({ level: n3.union([n3.number(), n3.enum(["ERROR", "WARN", "INFO", "DEBUG"])]).optional().describe("Minimum log level (default: ERROR)"), handler: Ue2.optional().describe("Custom log handler function") }).meta({ id: "LoggerConfig", title: "Logger.Config", description: "Logger configuration (level, handler) to override the collector defaults" });
1690
- $e2 = n3.object({ consent: Q2.optional().describe("Required consent states to send events to this destination"), settings: n3.any().meta({ id: "DestinationSettings", title: "Destination.Settings", description: "Implementation-specific configuration (destination-defined shape)." }).describe("Implementation-specific configuration").optional(), data: n3.union([ue3, me3]).optional().describe("Global data transformation applied to all events for this destination"), include: n3.array(n3.string()).optional().describe("Event sections to flatten into context.data"), env: n3.any().meta({ id: "DestinationEnv", title: "Destination.Env", description: "Environment dependencies (destination-defined shape) \u2014 platform, SDK, or mock hook." }).describe("Environment dependencies (platform-specific)").optional(), id: c2.describe("Destination instance identifier (defaults to destination key)").optional(), init: n3.boolean().describe("Whether to initialize immediately").optional(), loadScript: n3.boolean().describe("Whether to load external script (for web destinations)").optional(), mapping: ye2.optional().describe("Entity-action specific mapping rules for this destination"), policy: Se3.optional().describe("Pre-processing policy rules applied before event mapping"), queue: n3.boolean().describe("Whether to queue events when consent is not granted").optional(), require: n3.array(n3.string()).optional().describe('Defer destination initialization until these collector events fire (e.g., ["consent"])'), logger: Ae2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during destination registration (boolean enables defaults, object configures specifics)"), before: ze2.optional().describe("Post-collector transformer chain applied before this destination receives the event"), next: ze2.optional().describe("Post-push transformer chain. Runs after destination push completes; push response is available at ingest._response"), cache: He2.optional().describe("Cache configuration for deduplication; skip push on cache HIT"), disabled: n3.boolean().describe("Completely skip this destination (no init, no push, no queue)").optional(), mock: n3.unknown().meta({ id: "DestinationMock", title: "Destination.Mock", description: "Return this value instead of calling push(). Dev/testing only." }).optional().describe("Return this value instead of calling push(). Dev/testing only.") }).meta({ id: "DestinationConfig", title: "Destination.Config", description: "Destination configuration: consent, settings, data, env, mapping rules, policy, queue, logger, before/next chains, cache." }).describe("Destination configuration");
1691
- Ve2 = $e2.partial().meta({ id: "DestinationPartialConfig", title: "Destination.PartialConfig", description: "Partial destination configuration with all fields optional." }).describe("Partial destination configuration with all fields optional");
1692
- Ge = Se3.describe("Destination policy rules for event pre-processing");
1693
- Ke = n3.object({ collector: n3.unknown().meta({ id: "DestinationContextCollector", title: "Collector.Instance", description: "Collector instance handed to the destination (runtime object)." }).describe("Collector instance (runtime object)"), config: $e2.describe("Destination configuration"), data: n3.union([n3.unknown(), n3.array(n3.unknown())]).optional().describe("Transformed event data"), env: n3.unknown().meta({ id: "DestinationContextEnv", title: "Destination.Env", description: "Environment dependencies (destination-defined shape)." }).describe("Environment dependencies") }).meta({ id: "DestinationContext", title: "Destination.Context", description: "Destination context passed to init and push functions." }).describe("Destination context for init and push functions");
1694
- Qe = Ke.extend({ mapping: ve3.optional().describe("Resolved mapping rule for this specific event") }).meta({ id: "DestinationPushContext", title: "Destination.PushContext", description: "Destination context for push() with the resolved event mapping rule." }).describe("Push context with event-specific mapping");
1695
- _e2 = Qe.describe("Batch push context with event-specific mapping");
1696
- Xe = n3.object({ event: ee2.describe("The event to process"), mapping: ve3.optional().describe("Mapping rule for this event") }).meta({ id: "DestinationPushEvent", title: "Destination.PushEvent", description: "Single event paired with its resolved mapping rule (batch element)." }).describe("Event with optional mapping for batch processing");
1697
- Ye = n3.array(Xe).meta({ id: "DestinationPushEvents", title: "Destination.PushEvents", description: "Array of events with mappings (batch input)." }).describe("Array of events with mappings");
1698
- Ze2 = n3.object({ key: n3.string().describe('Batch key (usually mapping key like "product.view")'), events: n3.array(ee2).describe("Array of events in batch"), data: n3.array(n3.union([n3.unknown(), n3.array(n3.unknown())]).optional()).describe("Transformed data for each event"), mapping: ve3.optional().describe("Shared mapping rule for batch") }).meta({ id: "DestinationBatch", title: "Destination.Batch", description: "Batch of events grouped by mapping key for batch delivery." }).describe("Batch of events grouped by mapping key");
1716
+ Ne3 = n3.union([Fe2, n3.object({ and: n3.array(n3.lazy(() => Ne3)) }), n3.object({ or: n3.array(n3.lazy(() => Ne3)) })]).meta({ id: "MatcherExpression", title: "Matcher.Expression", description: "Boolean expression tree of match conditions (leaf, and, or)." });
1717
+ Le = n3.union([Ne3, n3.literal("*")]);
1718
+ ze2 = n3.union([n3.string(), n3.array(n3.string()), n3.array(n3.object({ match: Le, next: n3.lazy(() => ze2) }))]).meta({ id: "MatcherNext", title: "Matcher.Next", description: "Routable next target: ID, ID list, or list of {match, next} rules." });
1719
+ $e2 = n3.object({ match: Le, next: n3.lazy(() => ze2) }).meta({ id: "MatcherNextRule", title: "Matcher.NextRule", description: "Single routing rule pairing a match expression with a next target." });
1720
+ We2 = {};
1721
+ t2(We2, { CacheRuleSchema: () => qe, CacheSchema: () => Ae2 });
1722
+ qe = n3.object({ match: n3.union([Ne3, n3.literal("*")]).describe("Match expression or wildcard to determine when this rule applies"), key: n3.array(n3.string()).min(1).describe("Dot-path fields used to build the cache key"), ttl: n3.number().positive().describe("Time-to-live in seconds for cached entries"), update: n3.record(n3.string(), ue3).optional().describe("Response mutations applied on cache hit (key \u2192 Value mapping)") }).meta({ id: "CacheRule", title: "Cache.Rule", description: "Single caching rule: when it applies (match), what keys it keys off, TTL, and optional response mutations on hit." });
1723
+ Ae2 = n3.object({ full: n3.boolean().optional().describe("Stop flow on cache HIT (default: false). When true, skip remaining steps and return cached value."), store: n3.string().optional().describe("Store ID for persistent caching (references a configured store)"), rules: n3.array(qe).min(1).describe("Cache rules \u2014 at least one required") }).meta({ id: "CacheConfig", title: "Cache.Config", description: "Top-level cache configuration for a pipeline step (destination / transformer / source ref)." });
1724
+ Be2 = n3.any().meta({ id: "LoggerHandler", title: "Logger.Handler", description: "Custom log handler function (level, ...args) => void" });
1725
+ Ue2 = n3.object({ level: n3.union([n3.number(), n3.enum(["ERROR", "WARN", "INFO", "DEBUG"])]).optional().describe("Minimum log level (default: ERROR)"), handler: Be2.optional().describe("Custom log handler function") }).meta({ id: "LoggerConfig", title: "Logger.Config", description: "Logger configuration (level, handler) to override the collector defaults" });
1726
+ He2 = n3.object({ consent: G.optional().describe("Required consent states to send events to this destination"), settings: n3.any().meta({ id: "DestinationSettings", title: "Destination.Settings", description: "Implementation-specific configuration (destination-defined shape)." }).describe("Implementation-specific configuration").optional(), data: n3.union([ue3, me3]).optional().describe("Global data transformation applied to all events for this destination"), include: n3.array(n3.string()).optional().describe("Event sections to flatten into context.data"), env: n3.any().meta({ id: "DestinationEnv", title: "Destination.Env", description: "Environment dependencies (destination-defined shape) \u2014 platform, SDK, or mock hook." }).describe("Environment dependencies (platform-specific)").optional(), id: c2.describe("Destination instance identifier (defaults to destination key)").optional(), init: n3.boolean().describe("Whether to initialize immediately").optional(), loadScript: n3.boolean().describe("Whether to load external script (for web destinations)").optional(), mapping: ye2.optional().describe("Entity-action specific mapping rules for this destination"), policy: Se3.optional().describe("Pre-processing policy rules applied before event mapping"), queue: n3.boolean().describe("Whether to queue events when consent is not granted").optional(), require: n3.array(n3.string()).optional().describe('Defer destination initialization until these collector events fire (e.g., ["consent"])'), logger: Ue2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during destination registration (boolean enables defaults, object configures specifics)"), before: ze2.optional().describe("Post-collector transformer chain applied before this destination receives the event"), next: ze2.optional().describe("Post-push transformer chain. Runs after destination push completes; push response is available at ingest._response"), cache: Ae2.optional().describe("Cache configuration for deduplication; skip push on cache HIT"), disabled: n3.boolean().describe("Completely skip this destination (no init, no push, no queue)").optional(), mock: n3.unknown().meta({ id: "DestinationMock", title: "Destination.Mock", description: "Return this value instead of calling push(). Dev/testing only." }).optional().describe("Return this value instead of calling push(). Dev/testing only.") }).meta({ id: "DestinationConfig", title: "Destination.Config", description: "Destination configuration: consent, settings, data, env, mapping rules, policy, queue, logger, before/next chains, cache." }).describe("Destination configuration");
1727
+ Ve2 = He2.partial().meta({ id: "DestinationPartialConfig", title: "Destination.PartialConfig", description: "Partial destination configuration with all fields optional." }).describe("Partial destination configuration with all fields optional");
1728
+ _e2 = Se3.describe("Destination policy rules for event pre-processing");
1729
+ Ze2 = n3.object({ collector: n3.unknown().meta({ id: "DestinationContextCollector", title: "Collector.Instance", description: "Collector instance handed to the destination (runtime object)." }).describe("Collector instance (runtime object)"), config: He2.describe("Destination configuration"), data: n3.union([n3.unknown(), n3.array(n3.unknown())]).optional().describe("Transformed event data"), env: n3.unknown().meta({ id: "DestinationContextEnv", title: "Destination.Env", description: "Environment dependencies (destination-defined shape)." }).describe("Environment dependencies") }).meta({ id: "DestinationContext", title: "Destination.Context", description: "Destination context passed to init and push functions." }).describe("Destination context for init and push functions");
1730
+ Ge = Ze2.extend({ mapping: ve3.optional().describe("Resolved mapping rule for this specific event") }).meta({ id: "DestinationPushContext", title: "Destination.PushContext", description: "Destination context for push() with the resolved event mapping rule." }).describe("Push context with event-specific mapping");
1731
+ Ke = Ge.describe("Batch push context with event-specific mapping");
1732
+ Qe = n3.object({ event: ee2.describe("The event to process"), mapping: ve3.optional().describe("Mapping rule for this event") }).meta({ id: "DestinationPushEvent", title: "Destination.PushEvent", description: "Single event paired with its resolved mapping rule (batch element)." }).describe("Event with optional mapping for batch processing");
1733
+ Xe = n3.array(Qe).meta({ id: "DestinationPushEvents", title: "Destination.PushEvents", description: "Array of events with mappings (batch input)." }).describe("Array of events with mappings");
1734
+ Ye = n3.object({ key: n3.string().describe('Batch key (usually mapping key like "product.view")'), events: n3.array(ee2).describe("Array of events in batch"), data: n3.array(n3.union([n3.unknown(), n3.array(n3.unknown())]).optional()).describe("Transformed data for each event"), mapping: ve3.optional().describe("Shared mapping rule for batch") }).meta({ id: "DestinationBatch", title: "Destination.Batch", description: "Batch of events grouped by mapping key for batch delivery." }).describe("Batch of events grouped by mapping key");
1699
1735
  et = n3.union([n3.unknown(), n3.array(n3.unknown())]).meta({ id: "DestinationData", title: "Destination.Data", description: "Transformed event data delivered to the destination (Property, undefined, or array)." }).optional().describe("Transformed event data (Property, undefined, or array)");
1700
- tt = n3.object({ config: $e2.describe("Destination configuration"), queue: n3.array(ee2).optional().describe("Queued events awaiting consent"), dlq: n3.array(n3.tuple([ee2, n3.unknown()])).optional().describe("Dead letter queue (failed events with errors)"), type: n3.string().optional().describe("Destination type identifier"), env: n3.unknown().optional().describe("Environment dependencies"), init: n3.unknown().optional().describe("Initialization function"), push: n3.unknown().describe("Push function for single events"), pushBatch: n3.unknown().optional().describe("Batch push function"), on: n3.unknown().optional().describe("Event lifecycle hook function") }).meta({ id: "DestinationInstance", title: "Destination.Instance", description: "Destination instance (runtime object with init/push/pushBatch/on)." }).describe("Destination instance (runtime object with functions)");
1736
+ tt = n3.object({ config: He2.describe("Destination configuration"), queue: n3.array(ee2).optional().describe("Queued events awaiting consent"), dlq: n3.array(n3.tuple([ee2, n3.unknown()])).optional().describe("Dead letter queue (failed events with errors)"), type: n3.string().optional().describe("Destination type identifier"), env: n3.unknown().optional().describe("Environment dependencies"), init: n3.unknown().optional().describe("Initialization function"), push: n3.unknown().describe("Push function for single events"), pushBatch: n3.unknown().optional().describe("Batch push function"), on: n3.unknown().optional().describe("Event lifecycle hook function") }).meta({ id: "DestinationInstance", title: "Destination.Instance", description: "Destination instance (runtime object with init/push/pushBatch/on)." }).describe("Destination instance (runtime object with functions)");
1701
1737
  it = n3.object({ code: tt.describe("Destination instance with implementation"), config: Ve2.optional().describe("Partial configuration overrides"), env: n3.unknown().optional().describe("Partial environment overrides") }).meta({ id: "DestinationInit", title: "Destination.Init", description: "Destination initialization bundle (instance code + config + env)." }).describe("Destination initialization configuration");
1702
1738
  nt = n3.record(n3.string(), it).meta({ id: "DestinationInitDestinations", title: "Destination.InitDestinations", description: "Map of destination IDs to initialization configurations." }).describe("Map of destination IDs to initialization configurations");
1703
1739
  ot = n3.record(n3.string(), tt).meta({ id: "DestinationDestinations", title: "Destination.Destinations", description: "Map of destination IDs to runtime destination instances." }).describe("Map of destination IDs to runtime instances");
@@ -1705,23 +1741,23 @@ var init_dev = __esm({
1705
1741
  at2 = n3.object({ queue: n3.array(ee2).optional().describe("Events queued (awaiting consent)"), error: n3.unknown().optional().describe("Error if push failed") }).meta({ id: "DestinationPushResult", title: "Destination.PushResult", description: "Result of a single destination push (queued events, optional error)." }).describe("Push operation result");
1706
1742
  st2 = n3.object({ ok: n3.boolean().describe("True if nothing failed"), event: n3.unknown().optional().describe("The processed event"), done: n3.record(n3.string(), rt).optional().describe("Destinations that processed successfully"), queued: n3.record(n3.string(), rt).optional().describe("Destinations that queued events"), failed: n3.record(n3.string(), rt).optional().describe("Destinations that failed to process") }).meta({ id: "DestinationResult", title: "Destination.Result", description: "Overall push result aggregated across all destinations (done/queued/failed maps)." }).describe("Push result with destination outcomes");
1707
1743
  ct2 = n3.array(n3.tuple([ee2, n3.unknown()])).meta({ id: "DestinationDLQ", title: "Destination.DLQ", description: "Dead-letter queue: list of [event, error] tuples." }).describe("Dead letter queue: [(event, error), ...]");
1708
- lt2 = o($e2);
1744
+ lt2 = o(He2);
1709
1745
  dt2 = o(Ve2);
1710
- pt = o(Ke);
1711
- ut = o(Qe);
1712
- mt2 = o(Ze2);
1746
+ pt = o(Ze2);
1747
+ ut = o(Ge);
1748
+ mt2 = o(Ye);
1713
1749
  ft = o(tt);
1714
1750
  gt2 = o(st2);
1715
1751
  bt2 = {};
1716
1752
  t2(bt2, { CommandTypeSchema: () => ht2, ConfigSchema: () => St, DestinationsSchema: () => Ct, InitConfigSchema: () => yt2, InstanceSchema: () => xt, PushContextSchema: () => wt2, SessionDataSchema: () => vt2, SourcesSchema: () => kt, commandTypeJsonSchema: () => Pt, configJsonSchema: () => Dt, initConfigJsonSchema: () => jt2, instanceJsonSchema: () => Jt, pushContextJsonSchema: () => It, sessionDataJsonSchema: () => Et });
1717
1753
  ht2 = n3.union([n3.enum(["action", "config", "consent", "context", "destination", "elb", "globals", "hook", "init", "link", "run", "user", "walker"]), n3.string()]).meta({ id: "CollectorCommandType", title: "Collector.CommandType", description: "Collector command type identifier (standard or extension string)." }).describe("Collector command type: standard commands or custom string for extensions");
1718
- St = n3.object({ run: n3.boolean().describe("Whether to run collector automatically on initialization").optional(), globalsStatic: V2.describe("Static global properties that persist across collector runs"), sessionStatic: n3.record(n3.string(), n3.unknown()).meta({ id: "CollectorSessionStatic", title: "Collector.SessionStatic", description: "Static session data that persists across collector runs." }).describe("Static session data that persists across collector runs"), logger: Ae2.optional().describe("Logger configuration (level, handler)") }).meta({ id: "CollectorConfig", title: "Collector.Config", description: "Core collector configuration (globals/session statics, logger)." }).describe("Core collector configuration");
1754
+ St = n3.object({ run: n3.boolean().describe("Whether to run collector automatically on initialization").optional(), globalsStatic: V2.describe("Static global properties that persist across collector runs"), sessionStatic: n3.record(n3.string(), n3.unknown()).meta({ id: "CollectorSessionStatic", title: "Collector.SessionStatic", description: "Static session data that persists across collector runs." }).describe("Static session data that persists across collector runs"), logger: Ue2.optional().describe("Logger configuration (level, handler)") }).meta({ id: "CollectorConfig", title: "Collector.Config", description: "Core collector configuration (globals/session statics, logger)." }).describe("Core collector configuration");
1719
1755
  vt2 = V2.and(n3.object({ isStart: n3.boolean().describe("Whether this is a new session start"), storage: n3.boolean().describe("Whether storage is available"), id: c2.describe("Session identifier").optional(), start: l.describe("Session start timestamp").optional(), marketing: n3.literal(true).optional().describe("Marketing attribution flag"), updated: l.describe("Last update timestamp").optional(), isNew: n3.boolean().describe("Whether this is a new session").optional(), device: c2.describe("Device identifier").optional(), count: d.describe("Event count in session").optional(), runs: d.describe("Number of runs").optional() })).meta({ id: "CollectorSessionData", title: "Collector.SessionData", description: "Session state and tracking data." }).describe("Session state and tracking data");
1720
- yt2 = St.partial().extend({ consent: Q2.optional().describe("Initial consent state"), user: _2.optional().describe("Initial user data"), globals: V2.optional().describe("Initial global properties"), sources: n3.unknown().meta({ id: "CollectorInitSources", title: "Source.InitSources", description: "Source configurations map (id \u2192 InitSource)." }).optional().describe("Source configurations"), destinations: n3.unknown().meta({ id: "CollectorInitDestinations", title: "Destination.InitDestinations", description: "Destination configurations map (id \u2192 Init)." }).optional().describe("Destination configurations"), transformers: n3.unknown().meta({ id: "CollectorInitTransformers", title: "Transformer.Configs", description: "Transformer configurations map (id \u2192 Config)." }).optional().describe("Transformer configurations"), stores: n3.unknown().meta({ id: "CollectorInitStores", title: "Store.Configs", description: "Store configurations map (id \u2192 Config)." }).optional().describe("Store configurations"), custom: V2.optional().describe("Initial custom implementation-specific properties"), hooks: n3.unknown().meta({ id: "CollectorHooks", title: "Collector.Hooks", description: "Pipeline observation hooks." }).optional().describe("Pipeline observation hooks") }).meta({ id: "CollectorInitConfig", title: "Collector.InitConfig", description: "Collector initialization configuration with initial state (consent, user, globals, components, hooks)." }).describe("Collector initialization configuration with initial state");
1756
+ yt2 = St.partial().extend({ consent: G.optional().describe("Initial consent state"), user: K2.optional().describe("Initial user data"), globals: V2.optional().describe("Initial global properties"), sources: n3.unknown().meta({ id: "CollectorInitSources", title: "Source.InitSources", description: "Source configurations map (id \u2192 InitSource)." }).optional().describe("Source configurations"), destinations: n3.unknown().meta({ id: "CollectorInitDestinations", title: "Destination.InitDestinations", description: "Destination configurations map (id \u2192 Init)." }).optional().describe("Destination configurations"), transformers: n3.unknown().meta({ id: "CollectorInitTransformers", title: "Transformer.Configs", description: "Transformer configurations map (id \u2192 Config)." }).optional().describe("Transformer configurations"), stores: n3.unknown().meta({ id: "CollectorInitStores", title: "Store.Configs", description: "Store configurations map (id \u2192 Config)." }).optional().describe("Store configurations"), custom: V2.optional().describe("Initial custom implementation-specific properties"), hooks: n3.unknown().meta({ id: "CollectorHooks", title: "Collector.Hooks", description: "Pipeline observation hooks." }).optional().describe("Pipeline observation hooks") }).meta({ id: "CollectorInitConfig", title: "Collector.InitConfig", description: "Collector initialization configuration with initial state (consent, user, globals, components, hooks)." }).describe("Collector initialization configuration with initial state");
1721
1757
  wt2 = n3.object({ mapping: we3.optional().describe("Source-level mapping configuration") }).meta({ id: "CollectorPushContext", title: "Collector.PushContext", description: "Push context with optional source-level mapping." }).describe("Push context with optional source mapping");
1722
1758
  kt = n3.record(n3.string(), n3.unknown()).meta({ id: "CollectorSources", title: "Collector.Sources", description: "Map of source IDs to runtime source instances." }).describe("Map of source IDs to source instances");
1723
1759
  Ct = n3.record(n3.string(), n3.unknown()).meta({ id: "CollectorDestinations", title: "Collector.Destinations", description: "Map of destination IDs to runtime destination instances." }).describe("Map of destination IDs to destination instances");
1724
- xt = n3.object({ push: n3.unknown().describe("Push function for processing events"), command: n3.unknown().describe("Command function for walker commands"), allowed: n3.boolean().describe("Whether event processing is allowed"), config: St.describe("Current collector configuration"), consent: Q2.describe("Current consent state"), custom: V2.describe("Custom implementation-specific properties"), sources: kt.describe("Registered source instances"), destinations: Ct.describe("Registered destination instances"), globals: V2.describe("Current global properties"), hooks: n3.unknown().describe("Lifecycle hook functions"), on: n3.unknown().describe("Event lifecycle configuration"), queue: n3.array(ee2).describe("Queued events awaiting processing"), round: n3.number().describe("Collector run count (increments with each run)"), session: n3.union([vt2]).describe("Current session state"), timing: n3.number().describe("Event processing timing information"), user: _2.describe("Current user data") }).meta({ id: "CollectorInstance", title: "Collector.Instance", description: "Collector instance (runtime object with push/command + full state and component maps)." }).describe("Collector instance with state and methods");
1760
+ xt = n3.object({ push: n3.unknown().describe("Push function for processing events"), command: n3.unknown().describe("Command function for walker commands"), allowed: n3.boolean().describe("Whether event processing is allowed"), config: St.describe("Current collector configuration"), consent: G.describe("Current consent state"), custom: V2.describe("Custom implementation-specific properties"), sources: kt.describe("Registered source instances"), destinations: Ct.describe("Registered destination instances"), globals: V2.describe("Current global properties"), hooks: n3.unknown().describe("Lifecycle hook functions"), on: n3.unknown().describe("Event lifecycle configuration"), queue: n3.array(ee2).describe("Queued events awaiting processing"), round: n3.number().describe("Collector run count (increments with each run)"), session: n3.union([vt2]).describe("Current session state"), timing: n3.number().describe("Event processing timing information"), user: K2.describe("Current user data") }).meta({ id: "CollectorInstance", title: "Collector.Instance", description: "Collector instance (runtime object with push/command + full state and component maps)." }).describe("Collector instance with state and methods");
1725
1761
  Pt = o(ht2);
1726
1762
  Dt = o(St);
1727
1763
  Et = o(vt2);
@@ -1729,34 +1765,34 @@ var init_dev = __esm({
1729
1765
  It = o(wt2);
1730
1766
  Jt = o(xt);
1731
1767
  Ot = {};
1732
- t2(Ot, { BaseEnvSchema: () => Rt, ConfigSchema: () => Mt, InitSchema: () => Lt, InitSourceSchema: () => Nt, InitSourcesSchema: () => zt, InstanceSchema: () => Ft, PartialConfigSchema: () => Tt, baseEnvJsonSchema: () => Wt, configJsonSchema: () => qt, initSourceJsonSchema: () => Ut, initSourcesJsonSchema: () => At, instanceJsonSchema: () => Ht, partialConfigJsonSchema: () => Bt });
1733
- Rt = n3.object({ push: n3.unknown().meta({ id: "SourcePushFn", title: "Source.PushFn", description: "Collector push function passed to the source via dependency injection." }).describe("Collector push function"), command: n3.unknown().meta({ id: "SourceCommandFn", title: "Source.CommandFn", description: "Collector command function passed to the source." }).describe("Collector command function"), sources: n3.unknown().optional().describe("Map of registered source instances"), elb: n3.unknown().meta({ id: "ElbFn", title: "Elb.Fn", description: "Public `elb(...)` API function alias for collector.push." }).describe("Public API function (alias for collector.push)") }).catchall(n3.unknown()).meta({ id: "SourceBaseEnv", title: "Source.BaseEnv", description: "Base environment for source dependency injection; platform-specific sources extend this." }).describe("Base environment for dependency injection - platform-specific sources extend this");
1734
- Mt = we3.extend({ settings: n3.any().meta({ id: "SourceSettings", title: "Source.Settings", description: "Implementation-specific configuration (source-defined shape)." }).describe("Implementation-specific configuration").optional(), env: Rt.optional().describe("Environment dependencies (platform-specific)"), id: c2.describe("Source identifier (defaults to source key)").optional(), primary: n3.boolean().describe("Mark as primary (only one can be primary)").optional(), require: n3.array(n3.string()).optional().describe('Defer source initialization until these collector events fire (e.g., ["consent"])'), logger: Ae2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during source registration (boolean enables defaults, object configures specifics)"), ingest: n3.union([ue3, me3]).optional().describe("Ingest metadata extraction mapping. Extracts values from raw request objects (Express req, Lambda event) using mapping syntax."), disabled: n3.boolean().describe("Completely skip this source (no init, no event capture)").optional(), init: n3.boolean().optional().describe("Init lifecycle flag set by collector to true after Instance.init() runs") }).meta({ id: "SourceConfig", title: "Source.Config", description: "Source configuration with mapping, environment, and lifecycle hooks." }).describe("Source configuration with mapping and environment");
1735
- Tt = Mt.partial().meta({ id: "SourcePartialConfig", title: "Source.PartialConfig", description: "Partial source configuration with all fields optional." }).describe("Partial source configuration with all fields optional");
1736
- Ft = n3.object({ type: n3.string().describe('Source type identifier (e.g., "browser", "dataLayer")'), config: Mt.describe("Current source configuration"), push: n3.any().meta({ id: "SourceInstancePushFn", title: "Source.PushFn", description: "Push function \u2014 THE HANDLER (flexible signature for platform compatibility)." }).describe("Push function - THE HANDLER (flexible signature for platform compatibility)"), destroy: n3.any().meta({ id: "SourceDestroyFn", title: "Source.DestroyFn", description: "Cleanup function called when the source is removed." }).optional().describe("Cleanup function called when source is removed"), on: n3.unknown().optional().describe("Lifecycle hook function for event types") }).meta({ id: "SourceInstance", title: "Source.Instance", description: "Source instance (runtime object with push handler and lifecycle methods)." }).describe("Source instance with push handler and lifecycle methods");
1737
- Lt = n3.any().meta({ id: "SourceInit", title: "Source.Init", description: "Source initialization function: (config, env) => Instance | Promise<Instance>." }).describe("Source initialization function: (config, env) => Instance | Promise<Instance>");
1738
- Nt = n3.object({ code: Lt.describe("Source initialization function"), config: Tt.optional().describe("Partial configuration overrides"), env: Rt.partial().optional().describe("Partial environment overrides"), primary: n3.boolean().optional().describe("Mark as primary source (only one can be primary)") }).meta({ id: "SourceInitSource", title: "Source.InitSource", description: "Source initialization bundle (init function + config + env + primary flag)." }).describe("Source initialization configuration");
1739
- zt = n3.record(n3.string(), Nt).meta({ id: "SourceInitSources", title: "Source.InitSources", description: "Map of source IDs to initialization configurations." }).describe("Map of source IDs to initialization configurations");
1768
+ t2(Ot, { BaseEnvSchema: () => Mt, ConfigSchema: () => Rt, InitSchema: () => Nt, InitSourceSchema: () => Lt, InitSourcesSchema: () => zt, InstanceSchema: () => Ft, PartialConfigSchema: () => Tt, baseEnvJsonSchema: () => $t, configJsonSchema: () => Wt, initSourceJsonSchema: () => Bt, initSourcesJsonSchema: () => Ut, instanceJsonSchema: () => At, partialConfigJsonSchema: () => qt });
1769
+ Mt = n3.object({ push: n3.unknown().meta({ id: "SourcePushFn", title: "Source.PushFn", description: "Collector push function passed to the source via dependency injection." }).describe("Collector push function"), command: n3.unknown().meta({ id: "SourceCommandFn", title: "Source.CommandFn", description: "Collector command function passed to the source." }).describe("Collector command function"), sources: n3.unknown().optional().describe("Map of registered source instances"), elb: n3.unknown().meta({ id: "ElbFn", title: "Elb.Fn", description: "Public `elb(...)` API function alias for collector.push." }).describe("Public API function (alias for collector.push)") }).catchall(n3.unknown()).meta({ id: "SourceBaseEnv", title: "Source.BaseEnv", description: "Base environment for source dependency injection; platform-specific sources extend this." }).describe("Base environment for dependency injection - platform-specific sources extend this");
1770
+ Rt = we3.extend({ settings: n3.any().meta({ id: "SourceSettings", title: "Source.Settings", description: "Implementation-specific configuration (source-defined shape)." }).describe("Implementation-specific configuration").optional(), env: Mt.optional().describe("Environment dependencies (platform-specific)"), id: c2.describe("Source identifier (defaults to source key)").optional(), primary: n3.boolean().describe("Mark as primary (only one can be primary)").optional(), require: n3.array(n3.string()).optional().describe('Defer source initialization until these collector events fire (e.g., ["consent"])'), logger: Ue2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during source registration (boolean enables defaults, object configures specifics)"), ingest: n3.union([ue3, me3]).optional().describe("Ingest metadata extraction mapping. Extracts values from raw request objects (Express req, Lambda event) using mapping syntax."), disabled: n3.boolean().describe("Completely skip this source (no init, no event capture)").optional(), init: n3.boolean().optional().describe("Init lifecycle flag set by collector to true after Instance.init() runs") }).meta({ id: "SourceConfig", title: "Source.Config", description: "Source configuration with mapping, environment, and lifecycle hooks." }).describe("Source configuration with mapping and environment");
1771
+ Tt = Rt.partial().meta({ id: "SourcePartialConfig", title: "Source.PartialConfig", description: "Partial source configuration with all fields optional." }).describe("Partial source configuration with all fields optional");
1772
+ Ft = n3.object({ type: n3.string().describe('Source type identifier (e.g., "browser", "dataLayer")'), config: Rt.describe("Current source configuration"), push: n3.any().meta({ id: "SourceInstancePushFn", title: "Source.PushFn", description: "Push function \u2014 THE HANDLER (flexible signature for platform compatibility)." }).describe("Push function - THE HANDLER (flexible signature for platform compatibility)"), destroy: n3.any().meta({ id: "SourceDestroyFn", title: "Source.DestroyFn", description: "Cleanup function called when the source is removed." }).optional().describe("Cleanup function called when source is removed"), on: n3.unknown().optional().describe("Lifecycle hook function for event types") }).meta({ id: "SourceInstance", title: "Source.Instance", description: "Source instance (runtime object with push handler and lifecycle methods)." }).describe("Source instance with push handler and lifecycle methods");
1773
+ Nt = n3.any().meta({ id: "SourceInit", title: "Source.Init", description: "Source initialization function: (config, env) => Instance | Promise<Instance>." }).describe("Source initialization function: (config, env) => Instance | Promise<Instance>");
1774
+ Lt = n3.object({ code: Nt.describe("Source initialization function"), config: Tt.optional().describe("Partial configuration overrides"), env: Mt.partial().optional().describe("Partial environment overrides"), primary: n3.boolean().optional().describe("Mark as primary source (only one can be primary)") }).meta({ id: "SourceInitSource", title: "Source.InitSource", description: "Source initialization bundle (init function + config + env + primary flag)." }).describe("Source initialization configuration");
1775
+ zt = n3.record(n3.string(), Lt).meta({ id: "SourceInitSources", title: "Source.InitSources", description: "Map of source IDs to initialization configurations." }).describe("Map of source IDs to initialization configurations");
1776
+ $t = o(Mt);
1740
1777
  Wt = o(Rt);
1741
- qt = o(Mt);
1742
- Bt = o(Tt);
1743
- Ht = o(Ft);
1744
- Ut = o(Nt);
1745
- At = o(zt);
1746
- $t = {};
1747
- t2($t, { ConfigSchema: () => Vt, PartialConfigSchema: () => Gt, configJsonSchema: () => Kt, partialConfigJsonSchema: () => Qt });
1748
- Vt = n3.object({ settings: n3.any().meta({ id: "TransformerSettings", title: "Transformer.Settings", description: "Implementation-specific configuration (transformer-defined shape)." }).describe("Implementation-specific configuration").optional(), env: n3.any().meta({ id: "TransformerEnv", title: "Transformer.Env", description: "Environment dependencies (transformer-defined shape)." }).describe("Environment dependencies (platform-specific)").optional(), id: c2.describe("Transformer instance identifier (defaults to transformer key)").optional(), logger: Ae2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), before: ze2.optional().describe("Pre-transformer chain that runs before this transformer pushes"), next: ze2.optional().describe("Graph wiring to the next transformer in the chain"), cache: He2.optional().describe("Step-level cache configuration for this transformer"), init: n3.boolean().describe("Whether to initialize immediately").optional(), disabled: n3.boolean().describe("Completely skip this transformer in chains").optional(), mock: n3.unknown().meta({ id: "TransformerMock", title: "Transformer.Mock", description: "Return this value instead of calling push(). Dev/testing only." }).optional().describe("Return this value instead of calling push(). Global mock for all chains. Dev/testing only."), chainMocks: n3.record(n3.string(), n3.unknown().meta({ id: "TransformerChainMock", title: "Transformer.ChainMock", description: "Chain-path-specific mock value. Dev/testing only." })).optional().describe("Path-specific mock values keyed by chain path. Takes precedence over global mock. Dev/testing only.") }).meta({ id: "TransformerConfig", title: "Transformer.Config", description: "Transformer configuration (settings, env, chain wiring, cache, mocks)." }).describe("Transformer configuration");
1749
- Gt = Vt.partial().meta({ id: "TransformerPartialConfig", title: "Transformer.PartialConfig", description: "Partial transformer configuration with all fields optional." }).describe("Partial transformer configuration with all fields optional");
1750
- Kt = o(Vt);
1751
- Qt = o(Gt);
1752
- _t = {};
1753
- t2(_t, { ConfigSchema: () => Xt, PartialConfigSchema: () => Yt, configJsonSchema: () => Zt, partialConfigJsonSchema: () => ei });
1754
- Xt = n3.object({ settings: n3.unknown().meta({ id: "StoreSettings", title: "Store.Settings", description: "Implementation-specific configuration (store-defined shape)." }).describe("Implementation-specific configuration").optional(), env: n3.unknown().meta({ id: "StoreEnv", title: "Store.Env", description: "Environment dependencies (store-defined shape)." }).describe("Environment dependencies (platform-specific)").optional(), id: c2.describe("Store instance identifier (defaults to store key)").optional(), logger: Ae2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during store registration (boolean enables defaults, object configures specifics)") }).meta({ id: "StoreConfig", title: "Store.Config", description: "Store configuration (settings, env, logger) \u2014 key-value infrastructure component." }).describe("Store configuration");
1755
- Yt = Xt.partial().meta({ id: "StorePartialConfig", title: "Store.PartialConfig", description: "Partial store configuration with all fields optional." }).describe("Partial store configuration with all fields optional");
1756
- Zt = o(Xt);
1757
- ei = o(Yt);
1778
+ qt = o(Tt);
1779
+ At = o(Ft);
1780
+ Bt = o(Lt);
1781
+ Ut = o(zt);
1782
+ Ht = {};
1783
+ t2(Ht, { ConfigSchema: () => Vt, PartialConfigSchema: () => _t, configJsonSchema: () => Zt, partialConfigJsonSchema: () => Gt });
1784
+ Vt = n3.object({ settings: n3.any().meta({ id: "TransformerSettings", title: "Transformer.Settings", description: "Implementation-specific configuration (transformer-defined shape)." }).describe("Implementation-specific configuration").optional(), env: n3.any().meta({ id: "TransformerEnv", title: "Transformer.Env", description: "Environment dependencies (transformer-defined shape)." }).describe("Environment dependencies (platform-specific)").optional(), id: c2.describe("Transformer instance identifier (defaults to transformer key)").optional(), logger: Ue2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), before: ze2.optional().describe("Pre-transformer chain that runs before this transformer pushes"), next: ze2.optional().describe("Graph wiring to the next transformer in the chain"), cache: Ae2.optional().describe("Step-level cache configuration for this transformer"), init: n3.boolean().describe("Whether to initialize immediately").optional(), disabled: n3.boolean().describe("Completely skip this transformer in chains").optional(), mock: n3.unknown().meta({ id: "TransformerMock", title: "Transformer.Mock", description: "Return this value instead of calling push(). Dev/testing only." }).optional().describe("Return this value instead of calling push(). Global mock for all chains. Dev/testing only."), chainMocks: n3.record(n3.string(), n3.unknown().meta({ id: "TransformerChainMock", title: "Transformer.ChainMock", description: "Chain-path-specific mock value. Dev/testing only." })).optional().describe("Path-specific mock values keyed by chain path. Takes precedence over global mock. Dev/testing only.") }).meta({ id: "TransformerConfig", title: "Transformer.Config", description: "Transformer configuration (settings, env, chain wiring, cache, mocks)." }).describe("Transformer configuration");
1785
+ _t = Vt.partial().meta({ id: "TransformerPartialConfig", title: "Transformer.PartialConfig", description: "Partial transformer configuration with all fields optional." }).describe("Partial transformer configuration with all fields optional");
1786
+ Zt = o(Vt);
1787
+ Gt = o(_t);
1788
+ Kt = {};
1789
+ t2(Kt, { ConfigSchema: () => Qt, PartialConfigSchema: () => Xt, configJsonSchema: () => Yt, partialConfigJsonSchema: () => ei });
1790
+ Qt = n3.object({ settings: n3.unknown().meta({ id: "StoreSettings", title: "Store.Settings", description: "Implementation-specific configuration (store-defined shape)." }).describe("Implementation-specific configuration").optional(), env: n3.unknown().meta({ id: "StoreEnv", title: "Store.Env", description: "Environment dependencies (store-defined shape)." }).describe("Environment dependencies (platform-specific)").optional(), id: c2.describe("Store instance identifier (defaults to store key)").optional(), logger: Ue2.optional().describe("Logger configuration (level, handler) to override the collector defaults"), setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during store registration (boolean enables defaults, object configures specifics)") }).meta({ id: "StoreConfig", title: "Store.Config", description: "Store configuration (settings, env, logger) \u2014 key-value infrastructure component." }).describe("Store configuration");
1791
+ Xt = Qt.partial().meta({ id: "StorePartialConfig", title: "Store.PartialConfig", description: "Partial store configuration with all fields optional." }).describe("Partial store configuration with all fields optional");
1792
+ Yt = o(Qt);
1793
+ ei = o(Xt);
1758
1794
  ti = {};
1759
- t2(ti, { BundlePackageSchema: () => ri, BundleSchema: () => ai, CodeSchema: () => si, ConfigSchema: () => yi, ContractActionsSchema: () => bi, ContractEventsSchema: () => hi, ContractRuleSchema: () => Si, ContractSchema: () => vi, ContractSchemaEntry: () => gi, DestinationSchema: () => mi, FlowSchema: () => wi, JsonSchema: () => ki, SettingsSchema: () => ni, SourceSchema: () => pi, StepExampleSchema: () => li, StepExamplesSchema: () => di, StoreSchema: () => fi, TransformerSchema: () => ui, TriggerDescriptorSchema: () => ci, VariablesSchema: () => ii, configJsonSchema: () => Ei, contractJsonSchema: () => Fi, contractRuleJsonSchema: () => Ti, destinationJsonSchema: () => Oi, flowConfigJsonSchema: () => Ii, flowJsonSchema: () => ji, parseConfig: () => Ci, parseFlow: () => Pi, safeParseConfig: () => xi, safeParseFlow: () => Di, sourceJsonSchema: () => Ji, storeJsonSchema: () => Mi, transformerJsonSchema: () => Ri });
1795
+ t2(ti, { BundlePackageSchema: () => ri, BundleSchema: () => ai, CodeSchema: () => si, ConfigSchema: () => yi, ContractActionsSchema: () => bi, ContractEventsSchema: () => hi, ContractRuleSchema: () => Si, ContractSchema: () => vi, ContractSchemaEntry: () => gi, DestinationSchema: () => mi, FlowSchema: () => wi, JsonSchema: () => ki, SettingsSchema: () => ni, SourceSchema: () => pi, StepExampleSchema: () => li, StepExamplesSchema: () => di, StoreSchema: () => fi, TransformerSchema: () => ui, TriggerDescriptorSchema: () => ci, VariablesSchema: () => ii, configJsonSchema: () => Ei, contractJsonSchema: () => Fi, contractRuleJsonSchema: () => Ti, destinationJsonSchema: () => Oi, flowConfigJsonSchema: () => Ii, flowJsonSchema: () => ji, parseConfig: () => Ci, parseFlow: () => Pi, safeParseConfig: () => xi, safeParseFlow: () => Di, sourceJsonSchema: () => Ji, storeJsonSchema: () => Ri, transformerJsonSchema: () => Mi });
1760
1796
  ii = n3.record(n3.string(), n3.unknown()).meta({ id: "FlowVariables", title: "Flow.Variables", description: "Reusable values referenced via $var.name (with optional deep paths). Whole-string refs preserve native type; inline interpolation requires scalars." });
1761
1797
  ni = n3.record(n3.string(), n3.unknown()).meta({ id: "FlowSettings", title: "Flow.Settings", description: "Free-form key-value settings consumed by the platform runtime." }).describe("Free-form platform settings bag");
1762
1798
  oi = /^(@[a-z0-9\-~][a-z0-9\-._~]*\/)?[a-z0-9\-~][a-z0-9\-._~]*$/;
@@ -1766,9 +1802,9 @@ var init_dev = __esm({
1766
1802
  ci = n3.object({ type: n3.string().optional().describe("Trigger mechanism (e.g., click, POST, load)"), options: n3.unknown().optional().describe("Mechanism-specific options") }).meta({ id: "TriggerDescriptor", title: "Trigger.Descriptor", description: "Source trigger metadata (mechanism + options) used by step examples." });
1767
1803
  li = n3.object({ title: n3.string().optional().describe("Human-readable title (overrides default heading)"), description: n3.string().optional().describe("Human-readable description"), public: n3.boolean().optional().describe("Whether this example is shown in docs/UI/MCP default output (default: true). Set false for test-only fixtures."), in: n3.unknown().optional().describe("Input to the step"), trigger: ci.optional().describe("Source trigger metadata"), mapping: n3.unknown().optional().describe("Mapping configuration"), out: n3.unknown().optional().describe("Expected output from the step"), command: n3.enum(["config", "consent", "user", "run"]).optional().describe("Invoke elb('walker <command>', in) instead of pushing in as an event") }).meta({ id: "FlowStepExample", title: "Flow.StepExample", description: "Named example with input/output pair used for step testing." }).describe("Named example with input/output pair");
1768
1804
  di = n3.record(n3.string(), li).meta({ id: "FlowStepExamples", title: "Flow.StepExamples", description: "Named step examples keyed by scenario name." }).describe("Named step examples for testing and documentation");
1769
- pi = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe('Package specifier with optional version (e.g., "@walkeros/web-source-browser@2.0.0")'), code: n3.union([n3.string(), si]).optional().describe('Either a named export string (e.g., "sourceExpress") or an inline code object with push function'), config: n3.looseObject({ setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during source registration (boolean enables defaults, object configures specifics)") }).meta({ id: "FlowSourceConfig", title: "Source.Config", description: "Source-specific configuration object (Source.Config)." }).optional().describe("Source-specific configuration object"), env: n3.unknown().meta({ id: "FlowSourceEnv", title: "Source.BaseEnv", description: "Source environment configuration (Source.BaseEnv overrides)." }).optional().describe("Source environment configuration"), primary: n3.boolean().optional().describe("Mark as primary source (provides main elb). Only one source should be primary."), variables: ii.optional().describe("Source-level variables (highest priority in cascade)"), next: ze2.optional().describe("Pre-collector transformer chain. String, string[], or NextRule[] for conditional routing based on ingest data."), before: ze2.optional().describe("Pre-source transformer chain (consent-exempt). Handles transport-level preprocessing."), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)"), cache: He2.optional().describe("Cache configuration for this source (match \u2192 key \u2192 ttl rules)") }).meta({ id: "FlowSource", title: "Flow.Source", description: "Source package reference with configuration, env, chains, and examples." }).describe("Source package reference with configuration");
1770
- ui = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe('Package specifier with optional version (e.g., "@walkeros/transformer-enricher@1.0.0")'), code: n3.union([n3.string(), si]).optional().describe('Either a named export string (e.g., "transformerEnricher") or an inline code object with push function'), config: n3.unknown().meta({ id: "FlowTransformerConfig", title: "Transformer.Config", description: "Transformer-specific configuration object." }).optional().describe("Transformer-specific configuration object"), env: n3.unknown().meta({ id: "FlowTransformerEnv", title: "Transformer.Env", description: "Transformer environment configuration." }).optional().describe("Transformer environment configuration"), before: ze2.optional().describe("Pre-transformer chain. Runs before this transformer push function."), next: ze2.optional().describe("Next transformer in chain. String, string[], or NextRule[] for conditional routing."), variables: ii.optional().describe("Transformer-level variables (highest priority in cascade)"), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)"), cache: He2.optional().describe("Cache configuration for this transformer (match \u2192 key \u2192 ttl rules)") }).meta({ id: "FlowTransformer", title: "Flow.Transformer", description: "Transformer package reference with configuration, env, chains, and cache." }).describe("Transformer package reference with configuration");
1771
- mi = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe('Package specifier with optional version (e.g., "@walkeros/web-destination-gtag@2.0.0")'), code: n3.union([n3.string(), si]).optional().describe('Either a named export string (e.g., "destinationAnalytics") or an inline code object with push function'), config: n3.looseObject({ setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during destination registration (boolean enables defaults, object configures specifics)") }).meta({ id: "FlowDestinationConfig", title: "Destination.Config", description: "Destination-specific configuration object." }).optional().describe("Destination-specific configuration object"), env: n3.unknown().meta({ id: "FlowDestinationEnv", title: "Destination.Env", description: "Destination environment configuration." }).optional().describe("Destination environment configuration"), variables: ii.optional().describe("Destination-level variables (highest priority in cascade)"), before: ze2.optional().describe("Post-collector transformer chain. String, string[], or NextRule[] for conditional routing."), next: ze2.optional().describe("Post-push transformer chain. Push response available at context.ingest._response."), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)"), cache: He2.optional().describe("Cache configuration for this destination (match \u2192 key \u2192 ttl rules)") }).meta({ id: "FlowDestination", title: "Flow.Destination", description: "Destination package reference with configuration, env, chains, and cache." }).describe("Destination package reference with configuration");
1805
+ pi = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe('Package specifier with optional version (e.g., "@walkeros/web-source-browser@2.0.0")'), code: n3.union([n3.string(), si]).optional().describe('Either a named export string (e.g., "sourceExpress") or an inline code object with push function'), config: n3.looseObject({ setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during source registration (boolean enables defaults, object configures specifics)") }).meta({ id: "FlowSourceConfig", title: "Source.Config", description: "Source-specific configuration object (Source.Config)." }).optional().describe("Source-specific configuration object"), env: n3.unknown().meta({ id: "FlowSourceEnv", title: "Source.BaseEnv", description: "Source environment configuration (Source.BaseEnv overrides)." }).optional().describe("Source environment configuration"), primary: n3.boolean().optional().describe("Mark as primary source (provides main elb). Only one source should be primary."), variables: ii.optional().describe("Source-level variables (highest priority in cascade)"), next: ze2.optional().describe("Pre-collector transformer chain. String, string[], or NextRule[] for conditional routing based on ingest data."), before: ze2.optional().describe("Pre-source transformer chain (consent-exempt). Handles transport-level preprocessing."), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)"), cache: Ae2.optional().describe("Cache configuration for this source (match \u2192 key \u2192 ttl rules)") }).meta({ id: "FlowSource", title: "Flow.Source", description: "Source package reference with configuration, env, chains, and examples." }).describe("Source package reference with configuration");
1806
+ ui = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe('Package specifier with optional version (e.g., "@walkeros/transformer-enricher@1.0.0")'), code: n3.union([n3.string(), si]).optional().describe('Either a named export string (e.g., "transformerEnricher") or an inline code object with push function'), config: n3.unknown().meta({ id: "FlowTransformerConfig", title: "Transformer.Config", description: "Transformer-specific configuration object." }).optional().describe("Transformer-specific configuration object"), env: n3.unknown().meta({ id: "FlowTransformerEnv", title: "Transformer.Env", description: "Transformer environment configuration." }).optional().describe("Transformer environment configuration"), before: ze2.optional().describe("Pre-transformer chain. Runs before this transformer push function."), next: ze2.optional().describe("Next transformer in chain. String, string[], or NextRule[] for conditional routing."), variables: ii.optional().describe("Transformer-level variables (highest priority in cascade)"), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)"), cache: Ae2.optional().describe("Cache configuration for this transformer (match \u2192 key \u2192 ttl rules)") }).meta({ id: "FlowTransformer", title: "Flow.Transformer", description: "Transformer package reference with configuration, env, chains, and cache." }).describe("Transformer package reference with configuration");
1807
+ mi = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe('Package specifier with optional version (e.g., "@walkeros/web-destination-gtag@2.0.0")'), code: n3.union([n3.string(), si]).optional().describe('Either a named export string (e.g., "destinationAnalytics") or an inline code object with push function'), config: n3.looseObject({ setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during destination registration (boolean enables defaults, object configures specifics)") }).meta({ id: "FlowDestinationConfig", title: "Destination.Config", description: "Destination-specific configuration object." }).optional().describe("Destination-specific configuration object"), env: n3.unknown().meta({ id: "FlowDestinationEnv", title: "Destination.Env", description: "Destination environment configuration." }).optional().describe("Destination environment configuration"), variables: ii.optional().describe("Destination-level variables (highest priority in cascade)"), before: ze2.optional().describe("Post-collector transformer chain. String, string[], or NextRule[] for conditional routing."), next: ze2.optional().describe("Post-push transformer chain. Push response available at context.ingest._response."), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)"), cache: Ae2.optional().describe("Cache configuration for this destination (match \u2192 key \u2192 ttl rules)") }).meta({ id: "FlowDestination", title: "Flow.Destination", description: "Destination package reference with configuration, env, chains, and cache." }).describe("Destination package reference with configuration");
1772
1808
  fi = n3.object({ package: n3.string().min(1, "Package name cannot be empty").optional().describe("Store package specifier with optional version"), code: n3.union([n3.string(), si]).optional().describe("Named export string or inline code definition"), config: n3.looseObject({ setup: n3.union([n3.boolean(), n3.record(n3.string(), n3.unknown())]).optional().describe("One-time setup options applied during store registration (boolean enables defaults, object configures specifics)") }).meta({ id: "FlowStoreConfig", title: "Store.Config", description: "Store-specific configuration object." }).optional().describe("Store-specific configuration object"), env: n3.unknown().meta({ id: "FlowStoreEnv", title: "Store.Env", description: "Store environment configuration." }).optional().describe("Store environment configuration"), variables: ii.optional().describe("Store-level variables (highest priority in cascade)"), examples: di.optional().describe("Named step examples for testing and documentation (stripped during bundling)") }).meta({ id: "FlowStore", title: "Flow.Store", description: "Store package reference with configuration, env, and examples." }).describe("Store package reference with configuration");
1773
1809
  gi = n3.record(n3.string(), n3.unknown()).meta({ id: "FlowContractSchemaEntry", title: "Flow.ContractSchemaEntry", description: "JSON Schema object for event validation with description/examples annotations." }).describe("JSON Schema object for event validation with description/examples annotations");
1774
1810
  bi = n3.record(n3.string(), gi).meta({ id: "FlowContractActions", title: "Flow.ContractActions", description: "Action-level contract entries keyed by action name." }).describe("Action-level contract entries");
@@ -1783,15 +1819,19 @@ var init_dev = __esm({
1783
1819
  Ii = o(yi);
1784
1820
  Ji = o(pi);
1785
1821
  Oi = o(mi);
1786
- Ri = o(ui);
1787
- Mi = o(fi);
1822
+ Mi = o(ui);
1823
+ Ri = o(fi);
1788
1824
  Ti = o(Si);
1789
1825
  Fi = o(vi);
1790
- Ni = Li.object({ lang: Li.string().optional().describe("Language identifier (e.g. json, sql, bash, typescript)"), code: Li.string().describe("Code snippet") });
1791
- zi = Li.object({ text: Li.string().describe("Short actionable hint text focused on walkerOS usage"), code: Li.array(Ni).optional().describe("Optional code snippets") });
1792
- Wi = Li.record(Li.string(), zi).describe("Keyed hints for AI consumption \u2014 lightweight context beyond schemas and examples");
1793
- qi = n3.object({ param: n3.string().describe("Lowercase URL parameter name. Match is case-insensitive on lookup."), platform: n3.string().describe("Canonical platform identifier (lowercase, kebab-case).") });
1794
- en = { source: Ot.configJsonSchema, destination: Re2.configJsonSchema };
1826
+ Li = Ni.object({ lang: Ni.string().optional().describe("Language identifier (e.g. json, sql, bash, typescript)"), code: Ni.string().describe("Code snippet") });
1827
+ zi = Ni.object({ text: Ni.string().describe("Short actionable hint text focused on walkerOS usage"), code: Ni.array(Li).optional().describe("Optional code snippets") });
1828
+ $i = Ni.record(Ni.string(), zi).describe("Keyed hints for AI consumption \u2014 lightweight context beyond schemas and examples");
1829
+ Wi = n3.object({ param: n3.string().describe("Lowercase URL parameter name. Match is case-insensitive on lookup."), platform: n3.string().describe("Canonical platform identifier (lowercase, kebab-case).") });
1830
+ Ai = /\$store\.([a-zA-Z_][a-zA-Z0-9_]*)/g;
1831
+ Bi = /\$env\.([A-Za-z_]\w*)(=[^"}\s]*)?/g;
1832
+ Ui = /\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?/g;
1833
+ Hi = /\$(var|store|flow|secret):([a-zA-Z_][a-zA-Z0-9_]*)/g;
1834
+ rn = { source: Ot.configJsonSchema, destination: Me2.configJsonSchema };
1795
1835
  }
1796
1836
  });
1797
1837
 
@@ -3075,22 +3115,29 @@ function validateReference(type, name, ref) {
3075
3115
  throw new Error(`${type} "${name}": Must specify either package or code.`);
3076
3116
  }
3077
3117
  }
3078
- function generateInlineCode(inline, config, env, chain, chainPropertyName, isDestination) {
3118
+ function generateInlineCode(inline, config, env, chains, isDestination) {
3079
3119
  const pushFn = inline.push.replace("$code:", "");
3080
3120
  const initFn = inline.init ? inline.init.replace("$code:", "") : void 0;
3081
3121
  const typeLine = inline.type ? `type: '${inline.type}',` : "";
3082
- const chainLine = chain && chainPropertyName ? `${chainPropertyName}: ${JSON.stringify(chain)},` : "";
3122
+ const chainLines = [];
3123
+ if (chains?.before !== void 0) {
3124
+ chainLines.push(`before: ${JSON.stringify(chains.before)}`);
3125
+ }
3126
+ if (chains?.next !== void 0) {
3127
+ chainLines.push(`next: ${JSON.stringify(chains.next)}`);
3128
+ }
3129
+ const chainBlock = chainLines.length ? `,
3130
+ ${chainLines.join(",\n ")}` : "";
3083
3131
  if (isDestination) {
3084
3132
  return `{
3085
3133
  code: {
3086
3134
  ${typeLine}
3087
- config: ${JSON.stringify(config || {})},
3135
+ config: ${processConfigValue(config || {})},
3088
3136
  ${initFn ? `init: ${initFn},` : ""}
3089
3137
  push: ${pushFn}
3090
3138
  },
3091
- config: ${JSON.stringify(config || {})},
3092
- env: ${JSON.stringify(env || {})}${chain ? `,
3093
- ${chainLine.slice(0, -1)}` : ""}
3139
+ config: ${processConfigValue(config || {})},
3140
+ env: ${processConfigValue(env || {})}${chainBlock}
3094
3141
  }`;
3095
3142
  }
3096
3143
  return `{
@@ -3100,9 +3147,8 @@ function generateInlineCode(inline, config, env, chain, chainPropertyName, isDes
3100
3147
  ${initFn ? `init: ${initFn},` : ""}
3101
3148
  push: ${pushFn}
3102
3149
  }),
3103
- config: ${JSON.stringify(config || {})},
3104
- env: ${JSON.stringify(env || {})}${chain ? `,
3105
- ${chainLine.slice(0, -1)}` : ""}
3150
+ config: ${processConfigValue(config || {})},
3151
+ env: ${processConfigValue(env || {})}${chainBlock}
3106
3152
  }`;
3107
3153
  }
3108
3154
  async function copyIncludes(includes, sourceDir, outputDir, logger) {
@@ -3938,13 +3984,13 @@ function buildSplitConfigObject(flowSettings, explicitCodeImports) {
3938
3984
  });
3939
3985
  const sourcesEntries = Object.entries(sources).filter(([, source]) => source.package || hasCodeReference(source.code)).map(([key, source]) => {
3940
3986
  if (isInlineCode(source.code)) {
3941
- return ` ${key}: ${generateInlineCode(source.code, source.config || {}, source.env, source.next, "next")}`;
3987
+ return ` ${key}: ${generateInlineCode(source.code, source.config || {}, source.env, { next: source.next })}`;
3942
3988
  }
3943
3989
  return buildSplitStepEntry("sources", key, source);
3944
3990
  });
3945
3991
  const destinationsEntries = Object.entries(destinations).filter(([, dest]) => dest.package || hasCodeReference(dest.code)).map(([key, dest]) => {
3946
3992
  if (isInlineCode(dest.code)) {
3947
- return ` ${key}: ${generateInlineCode(dest.code, dest.config || {}, dest.env, dest.before, "before", true)}`;
3993
+ return ` ${key}: ${generateInlineCode(dest.code, dest.config || {}, dest.env, { before: dest.before, next: dest.next }, true)}`;
3948
3994
  }
3949
3995
  return buildSplitStepEntry("destinations", key, dest);
3950
3996
  });
@@ -3952,7 +3998,7 @@ function buildSplitConfigObject(flowSettings, explicitCodeImports) {
3952
3998
  ([, transformer]) => transformer.package || hasCodeReference(transformer.code)
3953
3999
  ).map(([key, transformer]) => {
3954
4000
  if (isInlineCode(transformer.code)) {
3955
- return ` ${key}: ${generateInlineCode(transformer.code, transformer.config || {}, transformer.env, transformer.next, "next")}`;
4001
+ return ` ${key}: ${generateInlineCode(transformer.code, transformer.config || {}, transformer.env, { before: transformer.before, next: transformer.next })}`;
3956
4002
  }
3957
4003
  return buildSplitStepEntry("transformers", key, transformer);
3958
4004
  });
@@ -5707,7 +5753,7 @@ function He(e3, n4) {
5707
5753
  }
5708
5754
  async function Ne2(e3) {
5709
5755
  const n4 = X({ globalsStatic: {}, sessionStatic: {}, run: true }, e3, { merge: false, extend: false }), t3 = { level: e3.logger?.level, handler: e3.logger?.handler }, o2 = _e(t3), s5 = { ...n4.globalsStatic, ...e3.globals }, a3 = { allowed: false, config: n4, consent: e3.consent || {}, custom: e3.custom || {}, destinations: {}, transformers: {}, stores: {}, globals: s5, hooks: e3.hooks || {}, logger: o2, on: {}, queue: [], round: 0, session: void 0, status: { startedAt: Date.now(), in: 0, out: 0, failed: 0, sources: {}, destinations: {} }, timing: Date.now(), user: e3.user || {}, sources: {}, pending: { destinations: {} }, push: void 0, command: void 0 };
5710
- a3.push = He(a3, (e4) => ({ timing: Math.round((Date.now() - a3.timing) / 10) / 100, source: { type: "collector", schema: "4", version: "4.0.1-next-1778230564486" }, ...e4 })), a3.command = (function(e4, n5) {
5756
+ a3.push = He(a3, (e4) => ({ timing: Math.round((Date.now() - a3.timing) / 10) / 100, source: { type: "collector", schema: "4", version: "4.0.1" }, ...e4 })), a3.command = (function(e4, n5) {
5711
5757
  return Je(async (t4, o3, s6) => await Me(async () => await n5(e4, t4, o3, s6), () => ve2({ ok: false }))(), "Command", e4.hooks, e4.logger);
5712
5758
  })(a3, De);
5713
5759
  const c3 = e3.stores || {};
@@ -9017,7 +9063,7 @@ function validateMapping(input) {
9017
9063
  // src/commands/validate/validators/entry.ts
9018
9064
  init_dist();
9019
9065
  import Ajv from "ajv";
9020
- var CLIENT_HEADER = "walkeros-cli/4.0.1-next-1778230564486";
9066
+ var CLIENT_HEADER = "walkeros-cli/4.0.1";
9021
9067
  var SECTIONS = ["destinations", "sources", "transformers"];
9022
9068
  function resolveEntry(path19, flowConfig) {
9023
9069
  const flows = flowConfig.flows;