react-semaphor 0.1.554 → 0.1.556

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/analytics-protocol/index.js +10 -10
  2. package/dist/assistant-context/index.js +1 -1
  3. package/dist/assistant-protocol/index.js +5 -5
  4. package/dist/brand-studio/index.js +438 -455
  5. package/dist/briefings/index.js +6 -6
  6. package/dist/chunks/{analytics-base-schemas-BKs3flFS.js → analytics-base-schemas-BUFUoO6G.js} +2 -2
  7. package/dist/chunks/{assistant-chat-ngs5dTvo.js → assistant-chat-C7Acww1T.js} +15 -15
  8. package/dist/chunks/{bookmark-state-BAeGKd3s.js → bookmark-state-7iZErWnR.js} +3 -3
  9. package/dist/chunks/comparison-window-caption-BseG5aOZ.js +1221 -0
  10. package/dist/chunks/{context-BerEBuFR.js → context-DVy4HOU0.js} +1 -1
  11. package/dist/chunks/{custom-visual-inputs-cTHqcqPu.js → custom-visual-inputs-ChuKjx27.js} +31 -33
  12. package/dist/chunks/{dashboard-548YvEW5.js → dashboard-BU6rE5kV.js} +1 -1
  13. package/dist/chunks/{dashboard-briefing-launcher-ptIRn5FS.js → dashboard-briefing-launcher-qrYd2zkN.js} +15 -15
  14. package/dist/chunks/{dashboard-controls-CqyUTN6Q.js → dashboard-controls-BsapXI2H.js} +14 -14
  15. package/dist/chunks/{dashboard-json-CvDFipA0.js → dashboard-json-CJqPqYnI.js} +5 -5
  16. package/dist/chunks/{document-dashboard-inputs-DrA9m-5H.js → document-dashboard-inputs-BNSprf5_.js} +12 -12
  17. package/dist/chunks/{edit-dashboard-visual-BHL0AlIj.js → edit-dashboard-visual-CjAdV-WG.js} +4603 -4687
  18. package/dist/chunks/{filter-reach-copy-CyftKCZE.js → filter-reach-copy-BTrqtFkh.js} +917 -987
  19. package/dist/chunks/{filter-value-text-DMrpj4h9.js → filter-value-text-CJTJDCym.js} +4 -4
  20. package/dist/chunks/{global-date-filter-utils-Or-3DL3k.js → global-date-filter-utils-CTVf3dG3.js} +2904 -3102
  21. package/dist/chunks/{index-ClwmmbUH.js → index-B_vIRa-q.js} +12 -19
  22. package/dist/chunks/{index-CtoK1Lgu.js → index-dIV-Gdsb.js} +159 -161
  23. package/dist/chunks/{matrix-analytical-definition-DPVGg1mU.js → matrix-analytical-definition-Cg0ioFGQ.js} +21 -21
  24. package/dist/chunks/matrix-card-yYibXSw1.js +42 -0
  25. package/dist/chunks/{matrix-formatter-K2OVPJQI.js → matrix-formatter-C2kjsCDf.js} +44 -44
  26. package/dist/chunks/{matrix-member-presentation-DRWcJ8Mi.js → matrix-member-presentation-DEEauKXC.js} +1 -1
  27. package/dist/chunks/{matrix-operation-contract--lMaLlpV.js → matrix-operation-contract-C1G6AJNh.js} +33 -33
  28. package/dist/chunks/{metric-comparison-CYIt2F5X.js → metric-comparison-BfcmwxM1.js} +4 -4
  29. package/dist/chunks/{model-change-B0rAK-5w.js → model-change-CJEj3ZD6.js} +1 -1
  30. package/dist/chunks/pivot-result-contract-expectations-fKBHFPfz.js +56 -0
  31. package/dist/chunks/pivot-result-identity-CWi5WrrY.js +77 -0
  32. package/dist/chunks/{raw-temporal-contract-WuXA8jBP.js → raw-temporal-contract-CjHaUIsE.js} +1 -1
  33. package/dist/chunks/{raw-temporal-presentation-gooAp93G.js → raw-temporal-presentation-DWzLIHc3.js} +8 -8
  34. package/dist/chunks/{report-preferences-dialog-2tqY0BMQ.js → report-preferences-dialog-D_wrbIQt.js} +17 -17
  35. package/dist/chunks/{report-runtime-context-BaIKSaja.js → report-runtime-context-BgM-iNWB.js} +2 -2
  36. package/dist/chunks/{resolve-dashboard-input-context-bOKDTHfJ.js → resolve-dashboard-input-context-Df8V5QHW.js} +1415 -1567
  37. package/dist/chunks/{saved-dashboard-context--Hq1juf9.js → saved-dashboard-context-VvXI6r03.js} +9 -9
  38. package/dist/chunks/{selection-reducer-yw_JgICP.js → selection-reducer-By4CSmEF.js} +1 -1
  39. package/dist/chunks/{semaphor-ready-indicator-yM4wo-FH.js → semaphor-ready-indicator-fejZmdq9.js} +49593 -56071
  40. package/dist/chunks/{shelf-drop-preview-context-BuLzyT1T.js → shelf-drop-preview-context-BuTCXe-S.js} +7 -7
  41. package/dist/chunks/{source-entity-resolution-CGymm5td.js → source-entity-resolution-B46EZIzX.js} +1 -1
  42. package/dist/chunks/{switch-B-UTI6v-.js → switch-Bq92UGId.js} +3 -3
  43. package/dist/chunks/{table-export-sheet-CgO6gaSM.js → table-export-sheet-noKl8-en.js} +1 -1
  44. package/dist/chunks/{table-settings-DOT_Bv1m.js → table-settings-PpINOzw8.js} +3 -3
  45. package/dist/chunks/{temporal-bucket-C4rqmwaQ.js → temporal-bucket-DzyadxVY.js} +53 -53
  46. package/dist/chunks/temporal-input-presentation-CJWS4d0L.js +879 -0
  47. package/dist/chunks/{token-types-DYECHYGH.js → token-types--0bgRCaO.js} +1 -1
  48. package/dist/chunks/{use-create-flow-overlay-state-DSXC-LD7.js → use-create-flow-overlay-state-Cz-ve64t.js} +7 -7
  49. package/dist/chunks/{validators-ClKLGDGZ.js → validators-CZo_H4E6.js} +305 -307
  50. package/dist/dashboard/index.js +2 -2
  51. package/dist/dashboard-authoring/index.js +65 -63
  52. package/dist/data-app-sdk/index.js +6 -6
  53. package/dist/data-app-sdk-adapters/index.js +3 -3
  54. package/dist/data-app-sdk-validation/index.js +6 -6
  55. package/dist/format-utils/index.js +207 -223
  56. package/dist/index.js +96 -97
  57. package/dist/layouts/index.js +1 -1
  58. package/dist/pdf-export-policy/index.js +9 -11
  59. package/dist/report-runtime-context/index.js +2 -2
  60. package/dist/style.css +1 -1
  61. package/dist/surfboard/index.js +2 -2
  62. package/dist/types/brand-studio/brand-studio-draft.d.ts +0 -3
  63. package/dist/types/brand-studio/index.d.ts +1 -1
  64. package/dist/types/components/visual/data-table/types/data-table.d.ts +0 -1
  65. package/dist/types/components/visual/shared/utils/table-column-order.d.ts +0 -6
  66. package/dist/types/index.js +27 -28
  67. package/dist/types/lib/api/exports-api.d.ts +1 -1
  68. package/dist/types/lib/charts/table-chart-types.d.ts +1 -1
  69. package/dist/types/lib/charts/types.d.ts +2 -2
  70. package/dist/types/lib/dashboard-viewer/export-table-view.d.ts +0 -3
  71. package/dist/types/lib/document/document-edits.d.ts +1 -1
  72. package/dist/types/lib/document/document-section-kinds.d.ts +2 -4
  73. package/dist/types/lib/document/document-table-data-policy.d.ts +1 -2
  74. package/dist/types/lib/formatters/grouped-temporal-activation.d.ts +3 -3
  75. package/dist/types/lib/formatters/grouped-temporal-presentation.d.ts +0 -6
  76. package/dist/types/lib/query-context/card-server-request.d.ts +0 -1
  77. package/dist/types/lib/table-formatting/table-formatting-types.d.ts +1 -1
  78. package/dist/types/lib/types/common-types.d.ts +0 -7
  79. package/dist/types/lib/types/explorer-types.d.ts +1 -14
  80. package/dist/types/lib/utils/card-config-utils.d.ts +11 -1
  81. package/dist/types/shared/dashboard-authoring/card-export-request.d.ts +1 -2
  82. package/dist/types/shared/dashboard-authoring/index.d.ts +1 -1
  83. package/dist/types/shared/dashboard-authoring/legacy-table-routing.d.ts +9 -4
  84. package/dist/types/shared/dashboard-authoring/matrix-card.d.ts +8 -0
  85. package/dist/types/shared/format-utils/grouped-table-presentation.d.ts +0 -14
  86. package/dist/types/shared/format-utils/index.d.ts +0 -2
  87. package/dist/types/shared/format-utils/pdf-export-policy.d.ts +1 -1
  88. package/dist/types/shared/format-utils/pivot-result-contract-expectations.d.ts +2 -20
  89. package/dist/types/shared/format-utils/pivot-result-identity.d.ts +0 -20
  90. package/dist/types/shared/format-utils/table-export/prepare-table-export.d.ts +0 -1
  91. package/dist/types/shared/format-utils/table-export/table-export-result.d.ts +0 -4
  92. package/package.json +2 -2
  93. package/dist/chunks/comparison-window-caption-C2WNTlxK.js +0 -1433
  94. package/dist/chunks/matrix-card-CVFVtqyo.js +0 -38
  95. package/dist/chunks/pivot-header-presentation-CX4fkRuG.js +0 -42
  96. package/dist/chunks/pivot-result-identity-BHJGZwIc.js +0 -94
  97. package/dist/chunks/pivot-result-lifecycle-BygCpOhk.js +0 -1238
  98. package/dist/types/components/visual/pivot-table/types.d.ts +0 -80
  99. package/dist/types/shared/format-utils/aggregate-table-row-presentation.d.ts +0 -85
  100. package/dist/types/shared/format-utils/pivot-result-lifecycle.d.ts +0 -55
@@ -1,12 +1,12 @@
1
- import { M as we, j as U, l as Le, m as Rt, o as Tt, q as Et, v as Nt, g as Ve, h as ee, t as $t, c as qe } from "./analytics-base-schemas-BKs3flFS.js";
1
+ import { M as ke, j as U, l as Le, m as Rt, o as Tt, q as Et, v as Nt, g as Ve, h as ee, a as $t, c as qe } from "./analytics-base-schemas-BUFUoO6G.js";
2
2
  import { z as n } from "zod";
3
3
  function jt(e) {
4
4
  return typeof e == "string" || typeof e == "number" && Number.isFinite(e) || typeof e == "boolean";
5
5
  }
6
6
  function Ct(e) {
7
- return !Array.isArray(e) || e.length === 0 || e.length > we || !e.every(jt) ? {
7
+ return !Array.isArray(e) || e.length === 0 || e.length > ke || !e.every(jt) ? {
8
8
  ok: !1,
9
- error: `matchValues must be 1 to ${we} string, number or boolean values.`
9
+ error: `matchValues must be 1 to ${ke} string, number or boolean values.`
10
10
  } : { ok: !0, values: e };
11
11
  }
12
12
  const Ot = [
@@ -15,10 +15,10 @@ const Ot = [
15
15
  "month",
16
16
  "quarter",
17
17
  "year"
18
- ], ea = ["this", "previous"], Yt = ["now", "latest_available"], Pt = [
18
+ ], Wn = ["this", "previous"], Yt = ["now", "latest_available"], Pt = [
19
19
  "include_partial",
20
20
  "complete_periods"
21
- ], ta = {
21
+ ], ea = {
22
22
  second: 31536e4,
23
23
  minute: 5256e3,
24
24
  hour: 87600,
@@ -37,14 +37,14 @@ function R(e) {
37
37
  function Lt(e) {
38
38
  return (e == null ? void 0 : e.kind) === "calendar";
39
39
  }
40
- function ia(e) {
40
+ function ta(e) {
41
41
  return R(e) && e.anchor === "latest_available" || qt(e) ? null : R(e) && e.unit === "day" && e.completeness !== "complete_periods" ? { mode: "between", unit: "day", from: 1 - e.value, to: 0 } : Ut(R(e) ? { ...e, anchor: "now" } : e);
42
42
  }
43
43
  const Vt = /* @__PURE__ */ new Set(["week", "month", "quarter", "year"]);
44
44
  function qt(e) {
45
45
  return R(e) && Vt.has(e.unit) && e.completeness !== "complete_periods";
46
46
  }
47
- function na(e) {
47
+ function ia(e) {
48
48
  const t = e;
49
49
  return t.mode === "between" ? t.unit === "day" && t.to === 0 && typeof t.from == "number" && t.from <= 0 ? { unit: "day", value: 1 - t.from } : null : t.mode === "last" && typeof t.n == "number" ? t.relativeTo === "latest_data" ? null : {
50
50
  unit: t.unit,
@@ -535,7 +535,7 @@ const M = n.string().min(1).refine((e) => e.trim().length > 0, "Must not be blan
535
535
  ai.strict(),
536
536
  oi.strict(),
537
537
  si.strict()
538
- ]), ke = n.union([
538
+ ]), we = n.union([
539
539
  Ge,
540
540
  U
541
541
  ]), me = n.union([
@@ -676,10 +676,10 @@ function We(e, t = {}) {
676
676
  e.dataType || e.data_type
677
677
  ) === "number" && (!t.excludeIdentifiers || !Fe(e));
678
678
  }
679
- function aa(e) {
679
+ function na(e) {
680
680
  return !We(e) && !Xe(e);
681
681
  }
682
- function oa(e) {
682
+ function aa(e) {
683
683
  const t = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set();
684
684
  for (const r of e) {
685
685
  if (Ze(r))
@@ -761,7 +761,7 @@ function et(e, t) {
761
761
  }
762
762
  return c === 0 ? 0 : i ? -c : c;
763
763
  }
764
- function sa(e, t) {
764
+ function oa(e, t) {
765
765
  if (typeof t == "number" && !Number.isFinite(t))
766
766
  throw new TypeError("Numeric scale must be finite.");
767
767
  const i = [e, F(String(t))].map((a) => {
@@ -796,7 +796,7 @@ function bi(e, t) {
796
796
  function V(e) {
797
797
  return typeof e == "object" && e !== null && "kind" in e && e.kind === "exact_number" && "type" in e && (e.type === "integer" || e.type === "decimal") && "value" in e && typeof e.value == "string";
798
798
  }
799
- function ra(e) {
799
+ function sa(e) {
800
800
  const t = fi(e.nativeDataType);
801
801
  if (!t) throw new TypeError("Numeric result type is not established.");
802
802
  if (e.value === null) return null;
@@ -824,7 +824,7 @@ const _e = n.string().uuid(), H = n.enum(["rows", "columns"]), vi = n.enum(["mem
824
824
  path: [],
825
825
  message: "Others is terminal."
826
826
  });
827
- }), la = n.object({
827
+ }), ra = n.object({
828
828
  rowPath: x,
829
829
  columnPath: x,
830
830
  measureId: _e
@@ -838,10 +838,10 @@ function it(e) {
838
838
  );
839
839
  }
840
840
  const te = "SEMAPHOR_CALCULATED_FIELD", Si = "calculated_fields";
841
- function wi(e) {
841
+ function ki(e) {
842
842
  return (e == null ? void 0 : e.sourceField) || (e == null ? void 0 : e.name) || "";
843
843
  }
844
- const ki = [
844
+ const wi = [
845
845
  // Day granularity formats
846
846
  "MM-DD-YYYY",
847
847
  "YYYY-MM-DD",
@@ -876,10 +876,10 @@ const ki = [
876
876
  // Custom format
877
877
  "custom"
878
878
  ];
879
- function da(e) {
879
+ function la(e) {
880
880
  return e.role === "metric" && "expression" in e && !!e.expression;
881
881
  }
882
- function ua(e) {
882
+ function da(e) {
883
883
  return !!e.expression;
884
884
  }
885
885
  function Ai(e) {
@@ -896,7 +896,7 @@ function nt(e) {
896
896
  legacyManual: !1
897
897
  };
898
898
  const t = e.fieldScope === "domain" ? "domain" : "local", i = ((h = e.derivedField) == null ? void 0 : h.computeStage) || ((y = e.calculatedFormula) == null ? void 0 : y.computeStage), o = !e.calculatedFormula || Array.isArray(e.calculatedFormula.inputFields) && e.calculatedFormula.inputFields.every((_) => {
899
- const O = _ && wi(_);
899
+ const O = _ && ki(_);
900
900
  return typeof O == "string" && !!O.trim();
901
901
  }), r = typeof e.expression == "string" && !!e.expression.trim() && o, a = e.calculationRepresentation;
902
902
  if (e.derivedField || a === "typed-derived") {
@@ -928,23 +928,23 @@ function nt(e) {
928
928
  legacyManual: p === "manual" && t === "local" && !d
929
929
  };
930
930
  }
931
- function ca(e) {
931
+ function ua(e) {
932
932
  if (e.calculationRepresentation) return e;
933
933
  const { representation: t } = nt(e);
934
934
  return t === "physical" ? e : { ...e, calculationRepresentation: t };
935
935
  }
936
- function pa(e) {
936
+ function ca(e) {
937
937
  return nt(e).computeStage;
938
938
  }
939
- function ma(e, t) {
939
+ function pa(e, t) {
940
940
  return e === "aggregate" && t === "default";
941
941
  }
942
- function fa(e) {
942
+ function ma(e) {
943
943
  var i, o;
944
944
  const t = e;
945
945
  return !!(t != null && t.expression && ((o = (i = t.calculatedFormula) == null ? void 0 : i.inputFields) != null && o.length));
946
946
  }
947
- function ga(e) {
947
+ function fa(e) {
948
948
  return !!(e && (e.entityName === te || e.entityId === te));
949
949
  }
950
950
  function ie(e) {
@@ -952,17 +952,16 @@ function ie(e) {
952
952
  (t) => t === te || t === Si
953
953
  ) : !1;
954
954
  }
955
- var Fi = /* @__PURE__ */ ((e) => (e.SUBTOTAL = "__SUBTOTAL__", e.TOTAL = "__TOTAL__", e.ALL = "__ALL__", e))(Fi || {});
956
- function ha(e) {
955
+ function ga(e) {
957
956
  return typeof e == "object" && e !== null && e.mode === "last" && e.relativeTo === "latest_data";
958
957
  }
959
- function xi(e) {
958
+ function Fi(e) {
960
959
  return e === "between" || e === "not between";
961
960
  }
962
- const G = n.enum(["day", "week", "month", "quarter", "year"]), Di = n.enum(["minute", "hour"]), at = n.number().int().positive(), De = n.number().int(), ot = n.object({
961
+ const G = n.enum(["day", "week", "month", "quarter", "year"]), xi = n.enum(["minute", "hour"]), at = n.number().int().positive(), De = n.number().int(), ot = n.object({
963
962
  mode: n.literal("last"),
964
963
  n: at,
965
- unit: Di,
964
+ unit: xi,
966
965
  complete: n.literal(!1).optional(),
967
966
  relativeTo: n.literal("latest_data").optional()
968
967
  }), st = n.object({
@@ -984,7 +983,7 @@ const G = n.enum(["day", "week", "month", "quarter", "year"]), Di = n.enum(["min
984
983
  }), ne = {
985
984
  check: (e) => e.boundary === void 0 || e.unit === "month",
986
985
  message: 'A month boundary requires unit "month".'
987
- }, Mi = n.union([
986
+ }, Di = n.union([
988
987
  ot.strict(),
989
988
  st.strict(),
990
989
  rt.strict().refine(ne.check, {
@@ -993,22 +992,22 @@ const G = n.enum(["day", "week", "month", "quarter", "year"]), Di = n.enum(["min
993
992
  }),
994
993
  lt.strict(),
995
994
  dt.strict()
996
- ]), Ri = n.union([
995
+ ]), Mi = n.union([
997
996
  ot,
998
997
  st,
999
998
  rt.refine(ne.check),
1000
999
  lt,
1001
1000
  dt
1002
1001
  ]);
1003
- function _a(e) {
1004
- const t = Ri.safeParse(e);
1002
+ function ha(e) {
1003
+ const t = Mi.safeParse(e);
1005
1004
  return t.success ? t.data : void 0;
1006
1005
  }
1007
- const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1008
- Ti.innerType().strict(),
1009
- Ei.extend({ type: n.literal("date") }).strict(),
1006
+ const [Ri, Ti, Ei, Ni] = Le.options, $i = n.union([
1007
+ Ri.innerType().strict(),
1008
+ Ti.extend({ type: n.literal("date") }).strict(),
1009
+ Ei.strict(),
1010
1010
  Ni.strict(),
1011
- $i.strict(),
1012
1011
  U
1013
1012
  ]), I = n.string().min(1), Me = n.enum(["groupby", "metric", "sortby", "pivotby", "detail"]), ut = n.enum([
1014
1013
  "table",
@@ -1076,7 +1075,7 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1076
1075
  nativeDataType: n.string().optional(),
1077
1076
  description: n.string().optional(),
1078
1077
  qualifiedEntityName: n.string().optional(),
1079
- dateFormat: n.enum(ki).optional(),
1078
+ dateFormat: n.enum(wi).optional(),
1080
1079
  customFormat: n.string().optional(),
1081
1080
  granularity: ee.optional(),
1082
1081
  role: Me.optional(),
@@ -1087,7 +1086,7 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1087
1086
  formatOrigin: n.enum(["semantic", "override"]).optional(),
1088
1087
  expression: n.string().optional(),
1089
1088
  derivedField: fe.optional(),
1090
- format: ji.optional(),
1089
+ format: $i.optional(),
1091
1090
  semanticTemporalPresentation: n.object({
1092
1091
  granularity: ee,
1093
1092
  format: U
@@ -1110,13 +1109,13 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1110
1109
  computeStage: n.enum(["row", "aggregate"]).optional()
1111
1110
  }).strict().optional()
1112
1111
  }).strict()
1113
- ), Ci = n.union([
1112
+ ), ji = n.union([
1114
1113
  n.string(),
1115
1114
  n.number().finite(),
1116
1115
  n.boolean(),
1117
1116
  n.date(),
1118
1117
  n.null()
1119
- ]), Oi = n.object({
1118
+ ]), Ci = n.object({
1120
1119
  id: I,
1121
1120
  field: q,
1122
1121
  operator: n.enum([
@@ -1138,10 +1137,10 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1138
1137
  "isNull",
1139
1138
  "isNotNull"
1140
1139
  ]),
1141
- value: n.union([Ci, n.array(n.string()), n.array(n.number().finite())]),
1140
+ value: n.union([ji, n.array(n.string()), n.array(n.number().finite())]),
1142
1141
  label: n.string().optional(),
1143
1142
  temporalBucket: $t.optional(),
1144
- relativeMeta: Mi.optional(),
1143
+ relativeMeta: Di.optional(),
1145
1144
  latestValue: n.literal(!0).optional(),
1146
1145
  latestValuePolicy: n.literal("snapshot").optional()
1147
1146
  }).strict().superRefine((e, t) => {
@@ -1150,7 +1149,7 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1150
1149
  code: "custom",
1151
1150
  path: ["value"],
1152
1151
  message: "Between requires two endpoints."
1153
- }), e.relativeMeta && !xi(i) && t.addIssue({
1152
+ }), e.relativeMeta && !Fi(i) && t.addIssue({
1154
1153
  code: "custom",
1155
1154
  path: ["relativeMeta"],
1156
1155
  message: "A relative date requires between or not between."
@@ -1172,10 +1171,10 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1172
1171
  id: I,
1173
1172
  logicalOperator: n.enum(["AND", "OR"]),
1174
1173
  negate: n.boolean(),
1175
- conditions: n.array(Oi),
1174
+ conditions: n.array(Ci),
1176
1175
  groups: n.array(ct)
1177
1176
  }).strict()
1178
- ), Yi = n.object({
1177
+ ), Oi = n.object({
1179
1178
  baseEntity: X,
1180
1179
  joins: n.array(
1181
1180
  n.object({
@@ -1205,14 +1204,14 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1205
1204
  ).min(1)
1206
1205
  }).strict()
1207
1206
  )
1208
- }).strict(), Pi = n.object({
1207
+ }).strict(), Yi = n.object({
1209
1208
  axis: H,
1210
1209
  levelId: n.string().uuid().optional(),
1211
1210
  // Persisted table preferences are edited through Immer; runtime paths remain readonly.
1212
1211
  oppositePath: x.transform((e) => [...e]).optional()
1213
- }).strict(), w = n.string().min(1), Bi = n.array(
1212
+ }).strict(), k = n.string().min(1), Pi = n.array(
1214
1213
  n.enum(["body", "header", "footer", "subtotal", "grandTotal"])
1215
- ), Li = n.enum(["normal", "medium", "semibold", "bold"]), Vi = n.enum(["none", "underline", "line-through"]), pt = n.object({
1214
+ ), Bi = n.enum(["normal", "medium", "semibold", "bold"]), Li = n.enum(["none", "underline", "line-through"]), pt = n.object({
1216
1215
  version: n.literal(1),
1217
1216
  rules: n.array(
1218
1217
  n.object({
@@ -1221,11 +1220,11 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1221
1220
  enabled: n.boolean().optional(),
1222
1221
  target: n.object({
1223
1222
  level: n.enum(["cell", "row"]),
1224
- matrix: Pi.optional(),
1225
- columnIds: n.array(w).optional(),
1226
- conditionColumnId: w.optional(),
1227
- applyToColumnIds: n.array(w).optional(),
1228
- tableParts: Bi.optional(),
1223
+ matrix: Yi.optional(),
1224
+ columnIds: n.array(k).optional(),
1225
+ conditionColumnId: k.optional(),
1226
+ applyToColumnIds: n.array(k).optional(),
1227
+ tableParts: Pi.optional(),
1229
1228
  rowRoles: n.array(n.string()).optional(),
1230
1229
  depth: n.number().int().nonnegative().optional(),
1231
1230
  includeTotals: n.boolean().optional(),
@@ -1234,38 +1233,38 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1234
1233
  condition: n.discriminatedUnion("kind", [
1235
1234
  n.object({
1236
1235
  kind: n.literal("comparison"),
1237
- columnId: w,
1236
+ columnId: k,
1238
1237
  operator: n.enum(["eq", "neq", "gt", "gte", "lt", "lte"]),
1239
1238
  value: B
1240
1239
  }).strict(),
1241
1240
  n.object({
1242
1241
  kind: n.literal("between"),
1243
- columnId: w,
1242
+ columnId: k,
1244
1243
  min: B,
1245
1244
  max: B,
1246
1245
  inclusive: n.boolean().optional()
1247
1246
  }).strict(),
1248
1247
  n.object({
1249
1248
  kind: n.literal("blank"),
1250
- columnId: w,
1249
+ columnId: k,
1251
1250
  isBlank: n.boolean()
1252
1251
  }).strict(),
1253
1252
  n.object({
1254
1253
  kind: n.literal("contains"),
1255
- columnId: w,
1254
+ columnId: k,
1256
1255
  value: n.string(),
1257
1256
  caseSensitive: n.boolean().optional(),
1258
1257
  exact: n.boolean().optional()
1259
1258
  }).strict(),
1260
1259
  n.object({
1261
1260
  kind: n.literal("topBottom"),
1262
- columnId: w,
1261
+ columnId: k,
1263
1262
  direction: n.enum(["top", "bottom"]),
1264
1263
  count: n.number().int().positive()
1265
1264
  }).strict(),
1266
1265
  n.object({
1267
1266
  kind: n.literal("colorScale"),
1268
- columnId: w,
1267
+ columnId: k,
1269
1268
  range: n.enum(["auto", "manual"]),
1270
1269
  min: n.number().finite().optional(),
1271
1270
  mid: n.number().finite().optional(),
@@ -1278,7 +1277,7 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1278
1277
  }).strict(),
1279
1278
  n.object({
1280
1279
  kind: n.literal("dataBar"),
1281
- columnId: w,
1280
+ columnId: k,
1282
1281
  range: n.enum(["auto", "manual"]),
1283
1282
  min: n.number().finite().optional(),
1284
1283
  max: n.number().finite().optional(),
@@ -1289,16 +1288,16 @@ const [Ti, Ei, Ni, $i] = Le.options, ji = n.union([
1289
1288
  style: n.object({
1290
1289
  backgroundColor: n.string().optional(),
1291
1290
  textColor: n.string().optional(),
1292
- fontWeight: Li.optional(),
1291
+ fontWeight: Bi.optional(),
1293
1292
  italic: n.boolean().optional(),
1294
- textDecoration: Vi.optional(),
1293
+ textDecoration: Li.optional(),
1295
1294
  icon: n.enum(["arrowUp", "arrowDown", "warning", "check", "x"]).optional(),
1296
1295
  dataBar: n.object({ color: n.string(), showValue: n.boolean() }).strict().optional()
1297
1296
  }).strict().optional()
1298
1297
  }).strict()
1299
1298
  )
1300
1299
  }).strict();
1301
- function ya(e, t) {
1300
+ function _a(e, t) {
1302
1301
  const i = (a) => {
1303
1302
  if (V(a)) return a.value;
1304
1303
  const l = typeof a == "string" ? hi(a.trim()) ?? ae(a) : ae(a);
@@ -1311,11 +1310,11 @@ function ya(e, t) {
1311
1310
  }, o = i(e), r = i(t);
1312
1311
  return o === null || r === null ? null : et(o, r);
1313
1312
  }
1314
- function ba(e, t, i) {
1315
- const o = Hi(e);
1313
+ function ya(e, t, i) {
1314
+ const o = Ui(e);
1316
1315
  if (o === null) return null;
1317
1316
  if (typeof o == "number" && typeof t == "number" && typeof i == "number") {
1318
- const _ = Gi(o, t, i);
1317
+ const _ = Hi(o, t, i);
1319
1318
  return { ratio: _, midpointComparison: Math.sign(_ - 0.5) };
1320
1319
  }
1321
1320
  if ([t, i].some((_) => typeof _ == "number" && !Number.isFinite(_))) return null;
@@ -1333,20 +1332,20 @@ function ba(e, t, i) {
1333
1332
  const h = u * 2n - p, y = h < 0n ? -1 : h > 0n ? 1 : 0;
1334
1333
  return { ratio: u <= 0n ? 0 : u >= p ? 1 : Number(u * 1000000000n / p) / 1e9, midpointComparison: y };
1335
1334
  }
1336
- function va(e) {
1335
+ function ba(e) {
1337
1336
  return !!e && typeof e == "object" && !Array.isArray(e);
1338
1337
  }
1339
- function Ia(e) {
1338
+ function va(e) {
1340
1339
  return e.enabled !== !1;
1341
1340
  }
1342
- function Sa(e) {
1341
+ function Ia(e) {
1343
1342
  return e.kind === "topBottom" || e.kind === "colorScale" && e.range === "auto" || e.kind === "dataBar" && e.range === "auto";
1344
1343
  }
1345
- function qi(e) {
1344
+ function Vi(e) {
1346
1345
  return e.columnId;
1347
1346
  }
1348
- function Ui(e) {
1349
- const t = [qi(e.condition)];
1347
+ function qi(e) {
1348
+ const t = [Vi(e.condition)];
1350
1349
  return { validationRefs: [.../* @__PURE__ */ new Set([
1351
1350
  ...t,
1352
1351
  ...e.target.conditionColumnId === void 0 ? [] : [e.target.conditionColumnId],
@@ -1363,10 +1362,10 @@ function ae(e) {
1363
1362
  }
1364
1363
  return null;
1365
1364
  }
1366
- function Hi(e) {
1365
+ function Ui(e) {
1367
1366
  return V(e) ? e : ae(e);
1368
1367
  }
1369
- function wa(e) {
1368
+ function Sa(e) {
1370
1369
  const t = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
1371
1370
  for (const o of e)
1372
1371
  V(o) ? i.add(o.value) : t.add(o);
@@ -1380,13 +1379,13 @@ function ka(e, t) {
1380
1379
  typeof t == "number" ? F(String(t)) : t.value
1381
1380
  );
1382
1381
  }
1383
- function Aa(e) {
1382
+ function wa(e) {
1384
1383
  return e == null || e === "";
1385
1384
  }
1386
- function Gi(e, t, i) {
1385
+ function Hi(e, t, i) {
1387
1386
  return !Number.isFinite(e) || !Number.isFinite(t) || !Number.isFinite(i) ? 0 : i === t ? e >= i ? 1 : 0 : Math.max(0, Math.min(1, (e - t) / (i - t)));
1388
1387
  }
1389
- function zi(e) {
1388
+ function Gi(e) {
1390
1389
  switch (e) {
1391
1390
  case "bold":
1392
1391
  return 700;
@@ -1400,16 +1399,16 @@ function zi(e) {
1400
1399
  return;
1401
1400
  }
1402
1401
  }
1403
- function Fa(e) {
1402
+ function Aa(e) {
1404
1403
  return e ? mt({
1405
- fontWeight: zi(e.fontWeight),
1404
+ fontWeight: Gi(e.fontWeight),
1406
1405
  fontStyle: e.italic ? "italic" : void 0,
1407
1406
  color: e.textColor,
1408
1407
  backgroundColor: e.backgroundColor,
1409
1408
  textDecoration: e.textDecoration
1410
1409
  }) : {};
1411
1410
  }
1412
- function xa(...e) {
1411
+ function Fa(...e) {
1413
1412
  return Object.assign(
1414
1413
  {},
1415
1414
  ...e.filter((t) => !!t).map(mt)
@@ -1420,7 +1419,7 @@ function mt(e) {
1420
1419
  Object.entries(e).filter(([, t]) => t !== void 0)
1421
1420
  );
1422
1421
  }
1423
- const v = n.string().uuid(), Qi = n.string().min(1), Ki = n.number().int().positive().max(Number.MAX_SAFE_INTEGER), Xi = n.enum([
1422
+ const v = n.string().uuid(), zi = n.string().min(1), Qi = n.number().int().positive().max(Number.MAX_SAFE_INTEGER), Ki = n.enum([
1424
1423
  "SUM",
1425
1424
  "COUNT",
1426
1425
  "DISTINCT",
@@ -1430,46 +1429,46 @@ const v = n.string().uuid(), Qi = n.string().min(1), Ki = n.number().int().posit
1430
1429
  "MEDIAN"
1431
1430
  ]), ft = ri.omit({
1432
1431
  aggregate: !0
1433
- }), Zi = {
1432
+ }), Xi = {
1434
1433
  id: v,
1435
1434
  field: ft,
1436
1435
  grain: ee.optional()
1437
- }, oe = n.object(Zi).strict(), Ji = n.object({
1436
+ }, oe = n.object(Xi).strict(), Zi = n.object({
1438
1437
  id: v,
1439
1438
  kind: n.literal("aggregate"),
1440
1439
  field: ft,
1441
- aggregate: Xi
1442
- }).strict(), Wi = n.object({
1440
+ aggregate: Ki
1441
+ }).strict(), Ji = n.object({
1443
1442
  id: v,
1444
1443
  kind: n.literal("calculated"),
1445
1444
  definition: fe
1446
- }).strict(), gt = n.discriminatedUnion("kind", [Ji, Wi]), en = n.discriminatedUnion("kind", [
1445
+ }).strict(), gt = n.discriminatedUnion("kind", [Zi, Ji]), Wi = n.discriminatedUnion("kind", [
1447
1446
  n.object({ kind: n.literal("member") }).strict(),
1448
1447
  n.object({
1449
1448
  kind: n.literal("measure"),
1450
1449
  measureId: v,
1451
1450
  oppositePath: x
1452
1451
  }).strict()
1453
- ]), tn = {
1452
+ ]), en = {
1454
1453
  axis: H,
1455
1454
  levelId: v,
1456
1455
  scope: n.discriminatedUnion("kind", [
1457
1456
  n.object({ kind: n.literal("level") }).strict(),
1458
1457
  n.object({ kind: n.literal("branch"), parent: x }).strict()
1459
1458
  ]),
1460
- target: en,
1459
+ target: Wi,
1461
1460
  direction: n.enum(["asc", "desc"]),
1462
1461
  nulls: n.enum(["first", "last"])
1463
- }, ht = n.object(tn).strict(), nn = n.object({
1462
+ }, ht = n.object(en).strict(), tn = n.object({
1464
1463
  id: v,
1465
1464
  axis: H,
1466
1465
  levelId: v,
1467
1466
  direction: n.enum(["top", "bottom"]),
1468
- count: Ki,
1467
+ count: Qi,
1469
1468
  measureId: v,
1470
1469
  oppositePath: x,
1471
1470
  others: n.boolean()
1472
- }).strict(), Z = n.number().finite(), an = n.object({
1471
+ }).strict(), Z = n.number().finite(), nn = n.object({
1473
1472
  id: v,
1474
1473
  axis: H,
1475
1474
  levelId: v,
@@ -1488,11 +1487,11 @@ const v = n.string().uuid(), Qi = n.string().min(1), Ki = n.number().int().posit
1488
1487
  columns: n.array(oe).readonly(),
1489
1488
  measures: n.array(gt).min(1).readonly(),
1490
1489
  filters: ct.optional(),
1491
- joinPlan: Yi.optional(),
1492
- relationshipHint: n.object({ relationshipIds: n.array(Qi).optional() }).strict().optional(),
1490
+ joinPlan: Oi.optional(),
1491
+ relationshipHint: n.object({ relationshipIds: n.array(zi).optional() }).strict().optional(),
1493
1492
  sorts: n.array(ht).readonly(),
1494
- rankings: n.array(nn).readonly(),
1495
- measureFilters: n.array(an).readonly().optional()
1493
+ rankings: n.array(tn).readonly(),
1494
+ measureFilters: n.array(nn).readonly().optional()
1496
1495
  }).strict();
1497
1496
  function yt(e) {
1498
1497
  return JSON.stringify([
@@ -1505,7 +1504,7 @@ function yt(e) {
1505
1504
  function g(e, t, i) {
1506
1505
  e.addIssue({ code: "custom", path: t, message: i });
1507
1506
  }
1508
- function k(e, t, i) {
1507
+ function w(e, t, i) {
1509
1508
  new Set(e).size !== e.length && g(t, i, "Duplicate identity.");
1510
1509
  }
1511
1510
  function $(e, t, i, o, r, a = !1) {
@@ -1524,7 +1523,7 @@ function $(e, t, i, o, r, a = !1) {
1524
1523
  });
1525
1524
  }
1526
1525
  function bt(e, t, i, o) {
1527
- k(t.map(yt), i, o), t.forEach((r, a) => {
1526
+ w(t.map(yt), i, o), t.forEach((r, a) => {
1528
1527
  const l = [...o, a], d = e[r.axis].findIndex((c) => c.id === r.levelId);
1529
1528
  if (d < 0 && g(i, l, "Sort level is not on its axis."), r.scope.kind === "branch" && ($(
1530
1529
  e,
@@ -1561,15 +1560,15 @@ function J(e, t, i) {
1561
1560
  (e.aggregationBehavior === "snapshot" || e.aggregationBehavior === "weighted" || e.aggregationStrategy === "weighted") && g(t, i, "This measure semantic requires a later capability.");
1562
1561
  }
1563
1562
  function vt(e, t) {
1564
- k(
1563
+ w(
1565
1564
  [...e.rows, ...e.columns, ...e.measures].map((a) => a.id),
1566
1565
  t,
1567
1566
  []
1568
- ), k(
1567
+ ), w(
1569
1568
  e.rankings.map((a) => a.id),
1570
1569
  t,
1571
1570
  ["rankings"]
1572
- ), k(
1571
+ ), w(
1573
1572
  e.rankings.map((a) => JSON.stringify([a.axis, a.levelId])),
1574
1573
  t,
1575
1574
  ["rankings"]
@@ -1630,7 +1629,7 @@ function vt(e, t) {
1630
1629
  e.joinPlan.baseEntity,
1631
1630
  ...e.joinPlan.joins.flatMap((l) => [l.source, l.target])
1632
1631
  ];
1633
- (new Set(a.map((l) => l.connectionId)).size > 1 || e.source.kind === "physical" && a[0].connectionId !== e.source.connectionId) && g(t, ["joinPlan"], "Joins must stay within the source connection."), k(
1632
+ (new Set(a.map((l) => l.connectionId)).size > 1 || e.source.kind === "physical" && a[0].connectionId !== e.source.connectionId) && g(t, ["joinPlan"], "Joins must stay within the source connection."), w(
1634
1633
  e.joinPlan.joins.map((l) => l.id),
1635
1634
  t,
1636
1635
  ["joinPlan", "joins"]
@@ -1638,7 +1637,7 @@ function vt(e, t) {
1638
1637
  }
1639
1638
  bt(e, e.sorts, t, ["sorts"]);
1640
1639
  const r = e.measureFilters ?? [];
1641
- k(r.map((a) => a.id), t, ["measureFilters"]), k(
1640
+ w(r.map((a) => a.id), t, ["measureFilters"]), w(
1642
1641
  r.map((a) => JSON.stringify([a.axis, a.levelId])),
1643
1642
  t,
1644
1643
  ["measureFilters"]
@@ -1655,13 +1654,13 @@ function vt(e, t) {
1655
1654
  );
1656
1655
  });
1657
1656
  }
1658
- const C = _t.superRefine(vt), on = _t.extend({
1657
+ const C = _t.superRefine(vt), an = _t.extend({
1659
1658
  rows: n.array(oe).readonly(),
1660
1659
  measures: n.array(gt).readonly()
1661
- }), sn = on.superRefine(vt), rn = C.innerType().extend({ kind: n.literal("matrix") }), ln = rn.superRefine(({ kind: e, ...t }, i) => {
1660
+ }), on = an.superRefine(vt), sn = C.innerType().extend({ kind: n.literal("matrix") }), rn = sn.superRefine(({ kind: e, ...t }, i) => {
1662
1661
  const o = C.safeParse(t);
1663
1662
  o.success || o.error.issues.forEach((r) => i.addIssue(r));
1664
- }), dn = "{member}", Re = n.object({
1663
+ }), ln = "{member}", Re = n.object({
1665
1664
  visible: n.boolean(),
1666
1665
  position: n.enum(["before", "after"]),
1667
1666
  /** As written; a subtotal's `{member}` becomes its member's name. */
@@ -1674,7 +1673,7 @@ const C = _t.superRefine(vt), on = _t.extend({
1674
1673
  * exactly one child shows no subtotal. Off when absent.
1675
1674
  */
1676
1675
  skipRedundant: n.boolean().optional()
1677
- }).strict(), Ee = pt.shape.rules.element, un = pt.extend({
1676
+ }).strict(), Ee = pt.shape.rules.element, dn = pt.extend({
1678
1677
  rules: n.array(Ee.extend({
1679
1678
  target: Ee.shape.target.extend({
1680
1679
  rowRoles: n.array(vi).optional()
@@ -1682,7 +1681,7 @@ const C = _t.superRefine(vt), on = _t.extend({
1682
1681
  }))
1683
1682
  }).superRefine((e, t) => {
1684
1683
  var i;
1685
- k(e.rules.map((o) => o.id), t, ["rules"]);
1684
+ w(e.rules.map((o) => o.id), t, ["rules"]);
1686
1685
  for (const o of e.rules) {
1687
1686
  const r = o.condition;
1688
1687
  r.kind === "topBottom" && g(
@@ -1704,13 +1703,13 @@ const C = _t.superRefine(vt), on = _t.extend({
1704
1703
  );
1705
1704
  }
1706
1705
  });
1707
- function cn(e, t, i, o, r = []) {
1706
+ function un(e, t, i, o, r = []) {
1708
1707
  for (const a of e.rules) {
1709
1708
  const l = [...r, "rules", a.id], d = a.target.matrix;
1710
- d && (d.levelId !== void 0 && !t[d.axis].some((c) => c.id === d.levelId) && g(o, [...l, "target", "matrix", "levelId"], "Conditional-format level is not on the selected axis."), d.oppositePath !== void 0 && $(t, d.axis === "rows" ? "columns" : "rows", d.oppositePath, o, [...l, "target", "matrix", "oppositePath"])), Ui(a).validationRefs.some((c) => !i.has(c)) && g(o, l, "Conditional rules must reference displayed measures.");
1709
+ d && (d.levelId !== void 0 && !t[d.axis].some((c) => c.id === d.levelId) && g(o, [...l, "target", "matrix", "levelId"], "Conditional-format level is not on the selected axis."), d.oppositePath !== void 0 && $(t, d.axis === "rows" ? "columns" : "rows", d.oppositePath, o, [...l, "target", "matrix", "oppositePath"])), qi(a).validationRefs.some((c) => !i.has(c)) && g(o, l, "Conditional rules must reference displayed measures.");
1711
1710
  }
1712
1711
  }
1713
- const pn = {
1712
+ const cn = {
1714
1713
  layout: n.discriminatedUnion("kind", [
1715
1714
  n.object({ kind: n.literal("compact") }).strict(),
1716
1715
  n.object({ kind: n.literal("tabular"), repeatLabels: n.boolean() }).strict()
@@ -1718,23 +1717,23 @@ const pn = {
1718
1717
  absence: n.object({ emptyText: n.string(), nullText: n.string() }).strict(),
1719
1718
  levelLabels: n.record(v, n.string()).readonly(),
1720
1719
  measureLabels: n.record(v, n.string()).readonly(),
1721
- levelFormats: n.record(v, ke).readonly(),
1722
- measureFormats: n.record(v, ke).readonly(),
1720
+ levelFormats: n.record(v, we).readonly(),
1721
+ measureFormats: n.record(v, we).readonly(),
1723
1722
  totals: n.object({ rows: Te, columns: Te }).strict(),
1724
- conditionalFormatting: un.optional()
1725
- }, ye = n.object(pn).strict(), mn = n.object({
1723
+ conditionalFormatting: dn.optional()
1724
+ }, ye = n.object(cn).strict(), pn = n.object({
1726
1725
  depth: n.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
1727
1726
  overrides: n.array(
1728
1727
  n.object({ path: x, expanded: n.boolean() }).strict()
1729
1728
  ).readonly()
1730
- }).strict(), Ne = mn.superRefine(
1731
- (e, t) => k(
1729
+ }).strict(), Ne = pn.superRefine(
1730
+ (e, t) => w(
1732
1731
  e.overrides.map((i) => it(i.path)),
1733
1732
  t,
1734
1733
  ["overrides"]
1735
1734
  )
1736
- ), fn = { rows: Ne, columns: Ne }, z = n.object(fn).strict(), gn = z.extend({ sorts: n.array(ht).readonly() }).strict(), hn = gn.superRefine(
1737
- (e, t) => k(e.sorts.map(yt), t, ["sorts"])
1735
+ ), mn = { rows: Ne, columns: Ne }, z = n.object(mn).strict(), fn = z.extend({ sorts: n.array(ht).readonly() }).strict(), gn = fn.superRefine(
1736
+ (e, t) => w(e.sorts.map(yt), t, ["sorts"])
1738
1737
  );
1739
1738
  function Q(e, t) {
1740
1739
  var c, p;
@@ -1767,7 +1766,7 @@ function Q(e, t) {
1767
1766
  );
1768
1767
  for (const u of ["rows", "columns"]) {
1769
1768
  (p = o.totals[u].grand.label) != null && p.includes(
1770
- dn
1769
+ ln
1771
1770
  ) && g(
1772
1771
  t,
1773
1772
  ["presentation", "totals", u, "grand", "label"],
@@ -1794,7 +1793,7 @@ function Q(e, t) {
1794
1793
  "Use depth to expand/collapse the root."
1795
1794
  );
1796
1795
  }
1797
- a && bt(i, a.sorts, t, ["session", "sorts"]), o.conditionalFormatting && cn(
1796
+ a && bt(i, a.sorts, t, ["session", "sorts"]), o.conditionalFormatting && un(
1798
1797
  o.conditionalFormatting,
1799
1798
  i,
1800
1799
  d,
@@ -1802,21 +1801,21 @@ function Q(e, t) {
1802
1801
  ["presentation", "conditionalFormatting"]
1803
1802
  );
1804
1803
  }
1805
- const _n = n.object({
1804
+ const hn = n.object({
1806
1805
  spec: C,
1807
1806
  presentation: ye,
1808
1807
  defaults: z,
1809
- session: hn.optional()
1810
- }).strict(), Da = _n.superRefine(Q), yn = n.object({
1808
+ session: gn.optional()
1809
+ }).strict(), xa = hn.superRefine(Q), _n = n.object({
1811
1810
  version: n.literal(1),
1812
1811
  spec: C,
1813
1812
  presentation: ye,
1814
1813
  defaultView: z
1815
- }).strict(), bn = yn.superRefine(
1814
+ }).strict(), yn = _n.superRefine(
1816
1815
  (e, t) => Q({ ...e, defaults: e.defaultView }, t)
1817
- ), vn = bn.innerType().extend({
1818
- spec: sn
1819
- }), Ma = vn.superRefine((e, t) => Q({ ...e, defaults: e.defaultView }, t)), $e = n.object({ spec: C, presentation: ye }).strict(), In = n.union([
1816
+ ), bn = yn.innerType().extend({
1817
+ spec: on
1818
+ }), Da = bn.superRefine((e, t) => Q({ ...e, defaults: e.defaultView }, t)), $e = n.object({ spec: C, presentation: ye }).strict(), vn = n.union([
1820
1819
  $e.extend({
1821
1820
  mode: n.literal("layout"),
1822
1821
  format: n.enum(["csv", "xlsx", "pdf"]),
@@ -1826,7 +1825,7 @@ const _n = n.object({
1826
1825
  ])
1827
1826
  }).strict(),
1828
1827
  $e.extend({ mode: n.literal("flat"), format: n.enum(["csv", "xlsx"]) }).strict()
1829
- ]), Ra = In.superRefine(
1828
+ ]), Ma = vn.superRefine(
1830
1829
  (e, t) => Q(
1831
1830
  {
1832
1831
  ...e,
@@ -1838,17 +1837,17 @@ const _n = n.object({
1838
1837
  t
1839
1838
  )
1840
1839
  );
1841
- function Ta(e) {
1840
+ function Ra(e) {
1842
1841
  return e && "id" in e ? e.id : void 0;
1843
1842
  }
1844
- const Sn = "SUM";
1843
+ const In = "SUM";
1845
1844
  function A(e) {
1846
1845
  return typeof e == "string" && e.trim().length > 0;
1847
1846
  }
1848
1847
  function E(e) {
1849
1848
  return A(e) ? e.trim().toLowerCase() : "";
1850
1849
  }
1851
- function Ea(e) {
1850
+ function Ta(e) {
1852
1851
  const t = A(e.id) ? e.id.trim() : void 0;
1853
1852
  if (!t) return;
1854
1853
  const i = E(t), o = A(e.table) ? e.table.trim() : void 0;
@@ -1868,7 +1867,7 @@ function It(e) {
1868
1867
  ...t ? { datasetId: t } : {}
1869
1868
  };
1870
1869
  }
1871
- function Na(e) {
1870
+ function Ea(e) {
1872
1871
  return e ? e.kind === "semantic" ? !!(A(e.domainId) && (A(e.datasetId) || A(e.datasetName))) : e.kind === "physical" ? A(e.connectionId) && A(e.tableName) : A(e.connectionId) : !1;
1873
1872
  }
1874
1873
  function se(e) {
@@ -1917,7 +1916,7 @@ function St(e, t) {
1917
1916
  connectionId: e.connectionId || t.connectionId
1918
1917
  });
1919
1918
  }
1920
- function $a(e) {
1919
+ function Na(e) {
1921
1920
  const t = [];
1922
1921
  for (const i of e) {
1923
1922
  const o = It(
@@ -1936,25 +1935,25 @@ function $a(e) {
1936
1935
  }
1937
1936
  return t;
1938
1937
  }
1939
- function wn(e, t) {
1938
+ function Sn(e, t) {
1940
1939
  return e.name === t.name && be(e.source, t.source);
1941
1940
  }
1942
- function ja(e) {
1941
+ function $a(e) {
1943
1942
  return [
1944
1943
  e.source ? se(e.source) : "unknown",
1945
- wt(e),
1944
+ kt(e),
1946
1945
  e.name
1947
1946
  ].filter(Boolean).join(":");
1948
1947
  }
1949
- function wt(e) {
1948
+ function kt(e) {
1950
1949
  return kn(
1951
- e.aggregate || Sn
1950
+ e.aggregate || In
1952
1951
  );
1953
1952
  }
1954
1953
  function kn(e) {
1955
1954
  return e.trim().toUpperCase();
1956
1955
  }
1957
- function Ca(e, t) {
1956
+ function ja(e, t) {
1958
1957
  return {
1959
1958
  ...e,
1960
1959
  label: e.label || t.label,
@@ -1963,7 +1962,7 @@ function Ca(e, t) {
1963
1962
  source: e.source && t.source ? St(e.source, t.source) : e.source || t.source
1964
1963
  };
1965
1964
  }
1966
- function An(e) {
1965
+ function wn(e) {
1967
1966
  for (let t = 0; t < e.length; t += 1) {
1968
1967
  const i = e[t];
1969
1968
  if (e.some(
@@ -1973,19 +1972,19 @@ function An(e) {
1973
1972
  }
1974
1973
  return !0;
1975
1974
  }
1976
- function kt(e, t) {
1977
- return wn(e, t);
1975
+ function wt(e, t) {
1976
+ return Sn(e, t);
1978
1977
  }
1979
1978
  function At(e, t) {
1980
- return kt(e, t) && j(e) === j(t);
1979
+ return wt(e, t) && j(e) === j(t);
1981
1980
  }
1982
- function Fn(e) {
1981
+ function An(e) {
1983
1982
  return `Metric intent has duplicate measure "${e.name}" with the same aggregate (${j(e)}). Use different aggregates to request both, or remove one entry.`;
1984
1983
  }
1985
1984
  function je(e) {
1986
1985
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
1987
1986
  }
1988
- function xn(e, t, i) {
1987
+ function Fn(e, t, i) {
1989
1988
  if (e !== void 0) {
1990
1989
  if (!e || typeof e != "object" || Array.isArray(e)) {
1991
1990
  i.push(
@@ -2018,34 +2017,34 @@ function xn(e, t, i) {
2018
2017
  });
2019
2018
  }
2020
2019
  }
2021
- function Dn(e, t) {
2020
+ function xn(e, t) {
2022
2021
  return ve(e, t).length === 1;
2023
2022
  }
2024
- function Mn(e, t) {
2023
+ function Dn(e, t) {
2025
2024
  return ve(e, t).length === 1;
2026
2025
  }
2027
2026
  function ve(e, t) {
2028
2027
  return t.filter(
2029
- (o) => Rn(e, o)
2028
+ (o) => Mn(e, o)
2030
2029
  );
2031
2030
  }
2031
+ function Mn(e, t) {
2032
+ return Rn(e, t) ? e.source ? wt(t, e) : !0 : !1;
2033
+ }
2032
2034
  function Rn(e, t) {
2033
- return Tn(e, t) ? e.source ? kt(t, e) : !0 : !1;
2035
+ return !(t.name !== e.name || e.role !== void 0 && t.role !== void 0 && t.role !== e.role || Tn(e, t) && j(t) !== j(e));
2034
2036
  }
2035
2037
  function Tn(e, t) {
2036
- return !(t.name !== e.name || e.role !== void 0 && t.role !== void 0 && t.role !== e.role || En(e, t) && j(t) !== j(e));
2037
- }
2038
- function En(e, t) {
2039
2038
  return e.role === "measure" || t.role === "measure" || e.aggregate !== void 0 || t.aggregate !== void 0;
2040
2039
  }
2041
2040
  function j(e) {
2042
- return wt(e);
2041
+ return kt(e);
2043
2042
  }
2044
- const Nn = /^(\d{4})-(\d{2})-(\d{2})$/, Ft = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:\d{2})$/;
2043
+ const En = /^(\d{4})-(\d{2})-(\d{2})$/, Ft = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:\d{2})$/;
2045
2044
  function re(e) {
2046
2045
  if (typeof e != "string")
2047
2046
  return null;
2048
- const t = e.trim(), i = Nn.exec(t);
2047
+ const t = e.trim(), i = En.exec(t);
2049
2048
  if (i) {
2050
2049
  const [, y, S, _] = i;
2051
2050
  return Ce(y, S, _) ? new Date(Date.UTC(Number(y), Number(S) - 1, Number(_))) : null;
@@ -2054,12 +2053,12 @@ function re(e) {
2054
2053
  if (!o)
2055
2054
  return null;
2056
2055
  const [, r, a, l, d, c, p = "00", , u] = o;
2057
- if (!Ce(r, a, l) || !N(d, 0, 23) || !N(c, 0, 59) || !N(p, 0, 59) || !$n(u))
2056
+ if (!Ce(r, a, l) || !N(d, 0, 23) || !N(c, 0, 59) || !N(p, 0, 59) || !Nn(u))
2058
2057
  return null;
2059
2058
  const h = new Date(t);
2060
2059
  return Number.isFinite(h.getTime()) ? h : null;
2061
2060
  }
2062
- function Oa(e) {
2061
+ function Ca(e) {
2063
2062
  return typeof e != "string" || !Ft.test(e.trim()) ? null : re(e);
2064
2063
  }
2065
2064
  function Ce(e, t, i) {
@@ -2073,7 +2072,7 @@ function N(e, t, i) {
2073
2072
  const o = Number(e);
2074
2073
  return Number.isInteger(o) && o >= t && o <= i;
2075
2074
  }
2076
- function $n(e) {
2075
+ function Nn(e) {
2077
2076
  if (e === "Z")
2078
2077
  return !0;
2079
2078
  const t = /^([+-])(\d{2}):(\d{2})$/.exec(e);
@@ -2115,7 +2114,7 @@ function Ye(e) {
2115
2114
  }
2116
2115
  return null;
2117
2116
  }
2118
- function jn(e, t, i) {
2117
+ function $n(e, t, i) {
2119
2118
  if (!f(e)) {
2120
2119
  i.push(
2121
2120
  s(
@@ -2163,7 +2162,7 @@ function Ie(e, t, i) {
2163
2162
  )
2164
2163
  );
2165
2164
  }
2166
- function Cn(e, t) {
2165
+ function jn(e, t) {
2167
2166
  var o, r;
2168
2167
  if (((o = e.source) == null ? void 0 : o.kind) !== "semantic" && ((r = e.source) == null ? void 0 : r.kind) !== "physical" && t.push(
2169
2168
  s(
@@ -2246,10 +2245,10 @@ function Cn(e, t) {
2246
2245
  )
2247
2246
  );
2248
2247
  }), e.dependencies !== void 0) {
2249
- const a = Yn(
2248
+ const a = On(
2250
2249
  e.dependencies
2251
2250
  );
2252
- t.push(...a.errors), a.ok && Bn(e, t);
2251
+ t.push(...a.errors), a.ok && Pn(e, t);
2253
2252
  }
2254
2253
  if (e.population !== void 0) {
2255
2254
  const a = e.population;
@@ -2293,7 +2292,7 @@ function Cn(e, t) {
2293
2292
  }
2294
2293
  }
2295
2294
  }
2296
- function On(e, t) {
2295
+ function Cn(e, t) {
2297
2296
  if (!(!("inputs" in e) || e.inputs === void 0)) {
2298
2297
  if (!Array.isArray(e.inputs)) {
2299
2298
  t.push(
@@ -2306,11 +2305,11 @@ function On(e, t) {
2306
2305
  return;
2307
2306
  }
2308
2307
  e.inputs.forEach(
2309
- (i, o) => jn(i, `inputs.${o}`, t)
2308
+ (i, o) => $n(i, `inputs.${o}`, t)
2310
2309
  );
2311
2310
  }
2312
2311
  }
2313
- function Yn(e, t = "protocol") {
2312
+ function On(e, t = "protocol") {
2314
2313
  const i = [];
2315
2314
  if (!f(e))
2316
2315
  return i.push(
@@ -2360,9 +2359,9 @@ function Yn(e, t = "protocol") {
2360
2359
  )
2361
2360
  );
2362
2361
  }
2363
- return t === "dashboard" && Pn(o, i), { ok: i.length === 0, errors: i, warnings: [] };
2362
+ return t === "dashboard" && Yn(o, i), { ok: i.length === 0, errors: i, warnings: [] };
2364
2363
  }
2365
- function Pn(e, t) {
2364
+ function Yn(e, t) {
2366
2365
  const { mode: i, includeInputIds: o, excludeInputIds: r } = e;
2367
2366
  i === void 0 && t.push(
2368
2367
  s(
@@ -2396,7 +2395,7 @@ function Pn(e, t) {
2396
2395
  )
2397
2396
  );
2398
2397
  }
2399
- function Bn(e, t) {
2398
+ function Pn(e, t) {
2400
2399
  var r, a, l;
2401
2400
  const i = new Set(
2402
2401
  Array.isArray(e.inputs) ? e.inputs.map((d) => f(d) ? d.inputId : void 0).filter((d) => typeof d == "string") : []
@@ -2421,8 +2420,8 @@ function Bn(e, t) {
2421
2420
  function W(e, t, i, o) {
2422
2421
  e !== void 0 && (!Array.isArray(e) || e.some((r) => !m(r))) && i.push(s("invalid_input_options_dependencies", o, t));
2423
2422
  }
2424
- const Ln = new Set(qe);
2425
- function Vn(e, t, i) {
2423
+ const Bn = new Set(qe);
2424
+ function Ln(e, t, i) {
2426
2425
  if (f(e) && e.type === "temporal_bucket") {
2427
2426
  i.push(
2428
2427
  s(
@@ -2461,7 +2460,7 @@ function Pe(e, t, i) {
2461
2460
  required: !0
2462
2461
  });
2463
2462
  }
2464
- function qn(e, t, i) {
2463
+ function Vn(e, t, i) {
2465
2464
  if (!f(e)) {
2466
2465
  i.push(
2467
2466
  s(
@@ -2484,9 +2483,9 @@ function qn(e, t, i) {
2484
2483
  "Result calculation output dataType must be string, number, boolean, date, datetime, or unknown.",
2485
2484
  `${t}.dataType`
2486
2485
  )
2487
- ), Vn(e.format, `${t}.format`, i);
2486
+ ), Ln(e.format, `${t}.format`, i);
2488
2487
  }
2489
- function Un(e, t) {
2488
+ function qn(e, t) {
2490
2489
  if (e.analysis === void 0)
2491
2490
  return;
2492
2491
  if (!f(e.analysis)) {
@@ -2531,15 +2530,15 @@ function Un(e, t) {
2531
2530
  const { timeWindow: i } = e.analysis;
2532
2531
  i !== void 0 && le(i, "analysis.timeWindow", t);
2533
2532
  }
2534
- const Hn = new Set(
2533
+ const Un = new Set(
2535
2534
  Ot
2536
- ), Gn = new Set(
2535
+ ), Hn = new Set(
2537
2536
  Yt
2538
- ), zn = new Set(
2537
+ ), Gn = new Set(
2539
2538
  Pt
2540
2539
  );
2541
- function Qn(e, t, i) {
2542
- Hn.has(e.unit) || i.push(
2540
+ function zn(e, t, i) {
2541
+ Un.has(e.unit) || i.push(
2543
2542
  s(
2544
2543
  "invalid_time_window",
2545
2544
  "Calendar time window unit must be one of: day, week, month, quarter, year.",
@@ -2583,7 +2582,7 @@ function le(e, t, i) {
2583
2582
  `${t}.kind`
2584
2583
  )
2585
2584
  ), e.kind === "calendar") {
2586
- Qn(e, t, i);
2585
+ zn(e, t, i);
2587
2586
  return;
2588
2587
  }
2589
2588
  if (e.kind === "absolute") {
@@ -2623,7 +2622,7 @@ function le(e, t, i) {
2623
2622
  }
2624
2623
  return;
2625
2624
  }
2626
- (typeof e.unit != "string" || !Ln.has(e.unit)) && i.push(
2625
+ (typeof e.unit != "string" || !Bn.has(e.unit)) && i.push(
2627
2626
  s(
2628
2627
  "invalid_time_window",
2629
2628
  `Time window unit must be one of: ${qe.join(", ")}.`,
@@ -2635,13 +2634,13 @@ function le(e, t, i) {
2635
2634
  "Time window value must be a positive number.",
2636
2635
  `${t}.value`
2637
2636
  )
2638
- ), e.anchor !== void 0 && !Gn.has(e.anchor) && i.push(
2637
+ ), e.anchor !== void 0 && !Hn.has(e.anchor) && i.push(
2639
2638
  s(
2640
2639
  "invalid_time_window",
2641
2640
  "Time window anchor must be now or latest_available.",
2642
2641
  `${t}.anchor`
2643
2642
  )
2644
- ), e.completeness !== void 0 && !zn.has(e.completeness) && i.push(
2643
+ ), e.completeness !== void 0 && !Gn.has(e.completeness) && i.push(
2645
2644
  s(
2646
2645
  "invalid_time_window",
2647
2646
  "Time window completeness must be include_partial or complete_periods.",
@@ -2746,7 +2745,7 @@ function de(e, t, i) {
2746
2745
  });
2747
2746
  }
2748
2747
  }
2749
- function Ya(e) {
2748
+ function Oa(e) {
2750
2749
  const t = [];
2751
2750
  if (!f(e))
2752
2751
  return t.push(
@@ -2773,7 +2772,7 @@ function Ya(e) {
2773
2772
  "Result calculation kind must be percent_of_total, rank, running_total, or previous_row_delta.",
2774
2773
  "kind"
2775
2774
  )
2776
- ), Pe(e.input, "input", t), qn(e.output, "output", t), e.kind === "percent_of_total") {
2775
+ ), Pe(e.input, "input", t), Vn(e.output, "output", t), e.kind === "percent_of_total") {
2777
2776
  const i = e.denominator;
2778
2777
  i !== void 0 && (f(i) ? i.scope === "population" ? (b(i.metric, "denominator.metric", t, {
2779
2778
  required: !0
@@ -2824,7 +2823,7 @@ function xt(e) {
2824
2823
  ]
2825
2824
  };
2826
2825
  if (e.kind === "matrix") {
2827
- const r = ln.safeParse(e);
2826
+ const r = rn.safeParse(e);
2828
2827
  return r.success || t.push(...r.error.issues.map((a) => s("invalid_matrix_intent", a.message, a.path.join(".")))), { ok: t.length === 0, errors: t, warnings: i, repairHints: Be(t) };
2829
2828
  }
2830
2829
  if (e.version !== void 0 && e.version !== 1 && t.push(
@@ -2833,7 +2832,7 @@ function xt(e) {
2833
2832
  "Analytics intent version must be 1.",
2834
2833
  "version"
2835
2834
  )
2836
- ), ue(e.source, "source", t), Kn(e, t), On(e, t), "relationshipHint" in e && e.relationshipHint !== void 0 && Ie(
2835
+ ), ue(e.source, "source", t), Qn(e, t), Cn(e, t), "relationshipHint" in e && e.relationshipHint !== void 0 && Ie(
2837
2836
  e.relationshipHint,
2838
2837
  "relationshipHint",
2839
2838
  t
@@ -2859,7 +2858,7 @@ function xt(e) {
2859
2858
  b(a, `measures.${l}`, t, {
2860
2859
  required: !0
2861
2860
  });
2862
- }), r.length > 0 && !An(r)) {
2861
+ }), r.length > 0 && !wn(r)) {
2863
2862
  const a = r.find(
2864
2863
  (l, d) => r.some(
2865
2864
  (c, p) => p !== d && At(c, l)
@@ -2868,7 +2867,7 @@ function xt(e) {
2868
2867
  a && t.push(
2869
2868
  s(
2870
2869
  "duplicate_measure",
2871
- Fn(a),
2870
+ An(a),
2872
2871
  "measures"
2873
2872
  )
2874
2873
  );
@@ -2884,7 +2883,7 @@ function xt(e) {
2884
2883
  )
2885
2884
  ), e.primaryMeasure !== void 0 && (b(e.primaryMeasure, "primaryMeasure", t, {
2886
2885
  required: !0
2887
- }), f(e.primaryMeasure) && m(e.primaryMeasure.name) && r.length > 0 && !Dn(
2886
+ }), f(e.primaryMeasure) && m(e.primaryMeasure.name) && r.length > 0 && !xn(
2888
2887
  e.primaryMeasure,
2889
2888
  r
2890
2889
  ) && t.push(
@@ -2940,7 +2939,7 @@ function xt(e) {
2940
2939
  (l) => f(l) && m(l.name)
2941
2940
  ) : []
2942
2941
  ];
2943
- a.length > 0 && !Mn(
2942
+ a.length > 0 && !Dn(
2944
2943
  e.orderBy.field,
2945
2944
  a
2946
2945
  ) && t.push(
@@ -2952,7 +2951,7 @@ function xt(e) {
2952
2951
  );
2953
2952
  }
2954
2953
  }
2955
- Un(e, t);
2954
+ qn(e, t);
2956
2955
  } else if (e.kind === "records") {
2957
2956
  if (!Array.isArray(e.fields) || e.fields.length === 0 ? t.push(
2958
2957
  s(
@@ -3034,7 +3033,7 @@ function xt(e) {
3034
3033
  );
3035
3034
  });
3036
3035
  }
3037
- } else e.kind === "inputOptions" ? Cn(e, t) : e.kind === "sql" ? (((o = e.source) == null ? void 0 : o.kind) !== "sql" && t.push(
3036
+ } else e.kind === "inputOptions" ? jn(e, t) : e.kind === "sql" ? (((o = e.source) == null ? void 0 : o.kind) !== "sql" && t.push(
3038
3037
  s(
3039
3038
  "invalid_sql_source",
3040
3039
  "SQL analytics intent must use a SQL execution source.",
@@ -3042,7 +3041,7 @@ function xt(e) {
3042
3041
  )
3043
3042
  ), m(e.sql) || t.push(
3044
3043
  s("missing_sql", "SQL analytics intent needs SQL text.", "sql")
3045
- ), xn(
3044
+ ), Fn(
3046
3045
  e.defaultParameters,
3047
3046
  "defaultParameters",
3048
3047
  t
@@ -3062,7 +3061,7 @@ function xt(e) {
3062
3061
  repairHints: Be(t)
3063
3062
  };
3064
3063
  }
3065
- function Kn(e, t) {
3064
+ function Qn(e, t) {
3066
3065
  if (!(!("derivedFields" in e) || e.derivedFields === void 0)) {
3067
3066
  if (!Array.isArray(e.derivedFields)) {
3068
3067
  t.push(
@@ -3086,7 +3085,7 @@ function Kn(e, t) {
3086
3085
  });
3087
3086
  }
3088
3087
  }
3089
- function Xn(e) {
3088
+ function Kn(e) {
3090
3089
  const t = [], i = [];
3091
3090
  if (!e || typeof e != "object")
3092
3091
  return {
@@ -3161,7 +3160,7 @@ function Xn(e) {
3161
3160
  repairHints: Dt(t)
3162
3161
  };
3163
3162
  }
3164
- function Pa(e) {
3163
+ function Ya(e) {
3165
3164
  const t = [], i = [];
3166
3165
  if (!e || typeof e != "object")
3167
3166
  return {
@@ -3189,7 +3188,7 @@ function Pa(e) {
3189
3188
  "kind"
3190
3189
  )
3191
3190
  );
3192
- const o = Xn(
3191
+ const o = Kn(
3193
3192
  e.operationIntent
3194
3193
  );
3195
3194
  return t.push(...o.errors), i.push(...o.warnings), Array.isArray(e.plannedToolCalls) || t.push(
@@ -3299,7 +3298,7 @@ function Be(e) {
3299
3298
  }
3300
3299
  }).filter((t) => !!t);
3301
3300
  }
3302
- function Zn(e, t, i, o) {
3301
+ function Xn(e, t, i, o) {
3303
3302
  if (!e || typeof e != "object") {
3304
3303
  i.push(
3305
3304
  s("invalid_view", "Dashboard view must be an object.", t)
@@ -3363,7 +3362,7 @@ function Zn(e, t, i, o) {
3363
3362
  )
3364
3363
  );
3365
3364
  }
3366
- function Ba(e) {
3365
+ function Pa(e) {
3367
3366
  const t = [], i = [];
3368
3367
  if (!e || typeof e != "object")
3369
3368
  return {
@@ -3456,7 +3455,7 @@ function Ba(e) {
3456
3455
  continue;
3457
3456
  }
3458
3457
  for (const [h, y] of p.views.entries())
3459
- Zn(
3458
+ Xn(
3460
3459
  y,
3461
3460
  `${u}.views.${h}`,
3462
3461
  t,
@@ -3466,131 +3465,130 @@ function Ba(e) {
3466
3465
  return { ok: t.length === 0, errors: t, warnings: i };
3467
3466
  }
3468
3467
  export {
3469
- jt as $,
3468
+ Ct as $,
3470
3469
  H as A,
3471
- Xi as B,
3470
+ Ki as B,
3472
3471
  te as C,
3473
- ki as D,
3472
+ wi as D,
3474
3473
  ft as E,
3475
3474
  oe as F,
3476
3475
  gt as G,
3477
3476
  Ii as H,
3478
3477
  x as I,
3479
- la as J,
3480
- en as K,
3478
+ ra as J,
3479
+ Wi as K,
3481
3480
  Si as L,
3482
3481
  ht as M,
3483
- nn as N,
3484
- an as O,
3485
- Fi as P,
3486
- yt as Q,
3487
- C as R,
3488
- Re as S,
3489
- dn as T,
3490
- ye as U,
3491
- Ne as V,
3492
- z as W,
3493
- hn as X,
3494
- Da as Y,
3495
- Ra as Z,
3496
- me as _,
3497
- wt as a,
3482
+ tn as N,
3483
+ nn as O,
3484
+ yt as P,
3485
+ C as Q,
3486
+ Re as R,
3487
+ ln as S,
3488
+ ye as T,
3489
+ Ne as U,
3490
+ z as V,
3491
+ gn as W,
3492
+ xa as X,
3493
+ Ma as Y,
3494
+ me as Z,
3495
+ jt as _,
3496
+ kt as a,
3498
3497
  Ia as a$,
3499
- Ct as a0,
3500
- re as a1,
3501
- Yn as a2,
3502
- Ya as a3,
3503
- xt as a4,
3504
- Xn as a5,
3498
+ re as a0,
3499
+ On as a1,
3500
+ Oa as a2,
3501
+ xt as a3,
3502
+ Kn as a4,
3503
+ Ya as a5,
3505
3504
  Pa as a6,
3506
- Ba as a7,
3507
- pe as a8,
3508
- ge as a9,
3509
- R as aA,
3510
- Lt as aB,
3511
- ia as aC,
3512
- qt as aD,
3513
- na as aE,
3514
- Ut as aF,
3515
- tt as aG,
3516
- B as aH,
3517
- bi as aI,
3518
- V as aJ,
3519
- ra as aK,
3520
- F as aL,
3521
- hi as aM,
3522
- sn as aN,
3523
- $ as aO,
3524
- ke as aP,
3525
- sa as aQ,
3526
- et as aR,
3527
- Ui as aS,
3528
- fe as aT,
3529
- Gt as aU,
3530
- Me as aV,
3531
- un as aW,
3532
- va as aX,
3533
- Pi as aY,
3534
- xa as aZ,
3535
- Fa as a_,
3536
- li as aa,
3537
- di as ab,
3538
- he as ac,
3539
- fi as ad,
3540
- gi as ae,
3541
- Xe as af,
3542
- Ze as ag,
3543
- Fe as ah,
3544
- We as ai,
3505
+ pe as a7,
3506
+ ge as a8,
3507
+ li as a9,
3508
+ Lt as aA,
3509
+ ta as aB,
3510
+ qt as aC,
3511
+ ia as aD,
3512
+ Ut as aE,
3513
+ tt as aF,
3514
+ B as aG,
3515
+ bi as aH,
3516
+ V as aI,
3517
+ sa as aJ,
3518
+ F as aK,
3519
+ hi as aL,
3520
+ on as aM,
3521
+ $ as aN,
3522
+ we as aO,
3523
+ oa as aP,
3524
+ et as aQ,
3525
+ qi as aR,
3526
+ fe as aS,
3527
+ Gt as aT,
3528
+ Me as aU,
3529
+ dn as aV,
3530
+ ba as aW,
3531
+ Yi as aX,
3532
+ Fa as aY,
3533
+ Aa as aZ,
3534
+ va as a_,
3535
+ di as aa,
3536
+ he as ab,
3537
+ fi as ac,
3538
+ gi as ad,
3539
+ Xe as ae,
3540
+ Ze as af,
3541
+ Fe as ag,
3542
+ We as ah,
3543
+ na as ai,
3545
3544
  aa as aj,
3546
- oa as ak,
3545
+ Ra as ak,
3547
3546
  Ta as al,
3548
- Ea as am,
3549
- D as an,
3550
- It as ao,
3551
- be as ap,
3552
- St as aq,
3553
- ja as ar,
3554
- xi as as,
3555
- Mi as at,
3556
- Ot as au,
3557
- ea as av,
3558
- Yt as aw,
3559
- Pt as ax,
3560
- ta as ay,
3561
- Bt as az,
3562
- ua as b,
3563
- Sa as b0,
3564
- qi as b1,
3565
- Hi as b2,
3566
- ka as b3,
3547
+ D as am,
3548
+ It as an,
3549
+ be as ao,
3550
+ St as ap,
3551
+ $a as aq,
3552
+ Fi as ar,
3553
+ Di as as,
3554
+ Ot as at,
3555
+ Wn as au,
3556
+ Yt as av,
3557
+ Pt as aw,
3558
+ ea as ax,
3559
+ Bt as ay,
3560
+ R as az,
3561
+ da as b,
3562
+ Vi as b0,
3563
+ Ui as b1,
3564
+ ka as b2,
3565
+ Sa as b3,
3567
3566
  wa as b4,
3568
- Aa as b5,
3569
- ya as b6,
3570
- ae as b7,
3571
- ba as b8,
3572
- cn as b9,
3567
+ _a as b5,
3568
+ ae as b6,
3569
+ ya as b7,
3570
+ un as b8,
3573
3571
  Ai as c,
3574
3572
  nt as d,
3575
- pa as e,
3576
- ma as f,
3577
- wi as g,
3578
- fa as h,
3579
- da as i,
3580
- ga as j,
3573
+ ca as e,
3574
+ pa as f,
3575
+ ki as g,
3576
+ ma as h,
3577
+ la as i,
3578
+ fa as j,
3581
3579
  ie as k,
3582
- Ma as l,
3583
- ln as m,
3584
- ca as n,
3585
- bn as o,
3586
- Ca as p,
3587
- $a as q,
3588
- Oa as r,
3589
- wn as s,
3580
+ Da as l,
3581
+ rn as m,
3582
+ ua as n,
3583
+ yn as o,
3584
+ ja as p,
3585
+ Na as q,
3586
+ Ca as r,
3587
+ Sn as s,
3590
3588
  it as t,
3591
- ha as u,
3592
- _a as v,
3593
- Na as w,
3589
+ ga as u,
3590
+ ha as v,
3591
+ Ea as w,
3594
3592
  se as x,
3595
3593
  ct as y,
3596
3594
  vi as z