react-semaphor 0.1.555 → 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.
- package/dist/analytics-protocol/index.js +10 -10
- package/dist/assistant-context/index.js +1 -1
- package/dist/assistant-protocol/index.js +5 -5
- package/dist/brand-studio/index.js +438 -455
- package/dist/briefings/index.js +6 -6
- package/dist/chunks/{analytics-base-schemas-BKs3flFS.js → analytics-base-schemas-BUFUoO6G.js} +2 -2
- package/dist/chunks/{assistant-chat-8NZP6m-u.js → assistant-chat-C7Acww1T.js} +15 -15
- package/dist/chunks/{bookmark-state-BAeGKd3s.js → bookmark-state-7iZErWnR.js} +3 -3
- package/dist/chunks/comparison-window-caption-BseG5aOZ.js +1221 -0
- package/dist/chunks/{context-BerEBuFR.js → context-DVy4HOU0.js} +1 -1
- package/dist/chunks/{custom-visual-inputs-Gw-Ggg3O.js → custom-visual-inputs-ChuKjx27.js} +31 -33
- package/dist/chunks/{dashboard-Ds68ckO3.js → dashboard-BU6rE5kV.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-DlTr-VGc.js → dashboard-briefing-launcher-qrYd2zkN.js} +15 -15
- package/dist/chunks/{dashboard-controls-oNXJZN6x.js → dashboard-controls-BsapXI2H.js} +14 -14
- package/dist/chunks/{dashboard-json-CW7Q_efH.js → dashboard-json-CJqPqYnI.js} +5 -5
- package/dist/chunks/{document-dashboard-inputs-C21mL3ib.js → document-dashboard-inputs-BNSprf5_.js} +12 -12
- package/dist/chunks/{edit-dashboard-visual-BnnT_oKR.js → edit-dashboard-visual-CjAdV-WG.js} +4603 -4687
- package/dist/chunks/{filter-reach-copy-DlNPHbE-.js → filter-reach-copy-BTrqtFkh.js} +917 -987
- package/dist/chunks/{filter-value-text-DMrpj4h9.js → filter-value-text-CJTJDCym.js} +4 -4
- package/dist/chunks/{global-date-filter-utils-7OboTgrM.js → global-date-filter-utils-CTVf3dG3.js} +2904 -3102
- package/dist/chunks/{index-B2k6KtUN.js → index-B_vIRa-q.js} +12 -19
- package/dist/chunks/{index-CtoK1Lgu.js → index-dIV-Gdsb.js} +159 -161
- package/dist/chunks/{matrix-analytical-definition-DPVGg1mU.js → matrix-analytical-definition-Cg0ioFGQ.js} +21 -21
- package/dist/chunks/{matrix-card-D9bsdAye.js → matrix-card-yYibXSw1.js} +3 -3
- package/dist/chunks/{matrix-formatter-K2OVPJQI.js → matrix-formatter-C2kjsCDf.js} +44 -44
- package/dist/chunks/{matrix-member-presentation-DRWcJ8Mi.js → matrix-member-presentation-DEEauKXC.js} +1 -1
- package/dist/chunks/{matrix-operation-contract--lMaLlpV.js → matrix-operation-contract-C1G6AJNh.js} +33 -33
- package/dist/chunks/{metric-comparison-CYIt2F5X.js → metric-comparison-BfcmwxM1.js} +4 -4
- package/dist/chunks/{model-change-B0rAK-5w.js → model-change-CJEj3ZD6.js} +1 -1
- package/dist/chunks/pivot-result-contract-expectations-fKBHFPfz.js +56 -0
- package/dist/chunks/pivot-result-identity-CWi5WrrY.js +77 -0
- package/dist/chunks/{raw-temporal-contract-WuXA8jBP.js → raw-temporal-contract-CjHaUIsE.js} +1 -1
- package/dist/chunks/{raw-temporal-presentation-CivONfcO.js → raw-temporal-presentation-DWzLIHc3.js} +8 -8
- package/dist/chunks/{report-preferences-dialog-D_KyuEFx.js → report-preferences-dialog-D_wrbIQt.js} +17 -17
- package/dist/chunks/{report-runtime-context-BaIKSaja.js → report-runtime-context-BgM-iNWB.js} +2 -2
- package/dist/chunks/{resolve-dashboard-input-context-CIm9A8_j.js → resolve-dashboard-input-context-Df8V5QHW.js} +1415 -1567
- package/dist/chunks/{saved-dashboard-context-akb9JfOL.js → saved-dashboard-context-VvXI6r03.js} +9 -9
- package/dist/chunks/{selection-reducer-yw_JgICP.js → selection-reducer-By4CSmEF.js} +1 -1
- package/dist/chunks/{semaphor-ready-indicator-Ba7dwP5_.js → semaphor-ready-indicator-fejZmdq9.js} +49593 -56071
- package/dist/chunks/{shelf-drop-preview-context-5rg3pJHW.js → shelf-drop-preview-context-BuTCXe-S.js} +7 -7
- package/dist/chunks/{source-entity-resolution-CGymm5td.js → source-entity-resolution-B46EZIzX.js} +1 -1
- package/dist/chunks/{switch-B-UTI6v-.js → switch-Bq92UGId.js} +3 -3
- package/dist/chunks/{table-export-sheet-CgO6gaSM.js → table-export-sheet-noKl8-en.js} +1 -1
- package/dist/chunks/{table-settings-DOT_Bv1m.js → table-settings-PpINOzw8.js} +3 -3
- package/dist/chunks/{temporal-bucket-C4rqmwaQ.js → temporal-bucket-DzyadxVY.js} +53 -53
- package/dist/chunks/temporal-input-presentation-CJWS4d0L.js +879 -0
- package/dist/chunks/{token-types-DYECHYGH.js → token-types--0bgRCaO.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-BHNs0wl7.js → use-create-flow-overlay-state-Cz-ve64t.js} +7 -7
- package/dist/chunks/{validators-ClKLGDGZ.js → validators-CZo_H4E6.js} +305 -307
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.js +60 -60
- package/dist/data-app-sdk/index.js +6 -6
- package/dist/data-app-sdk-adapters/index.js +3 -3
- package/dist/data-app-sdk-validation/index.js +6 -6
- package/dist/format-utils/index.js +207 -223
- package/dist/index.js +96 -97
- package/dist/layouts/index.js +1 -1
- package/dist/pdf-export-policy/index.js +9 -11
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/brand-studio/brand-studio-draft.d.ts +0 -3
- package/dist/types/brand-studio/index.d.ts +1 -1
- package/dist/types/components/visual/data-table/types/data-table.d.ts +0 -1
- package/dist/types/components/visual/shared/utils/table-column-order.d.ts +0 -6
- package/dist/types/index.js +27 -28
- package/dist/types/lib/api/exports-api.d.ts +1 -1
- package/dist/types/lib/charts/table-chart-types.d.ts +1 -1
- package/dist/types/lib/charts/types.d.ts +2 -2
- package/dist/types/lib/dashboard-viewer/export-table-view.d.ts +0 -3
- package/dist/types/lib/document/document-edits.d.ts +1 -1
- package/dist/types/lib/document/document-section-kinds.d.ts +2 -4
- package/dist/types/lib/document/document-table-data-policy.d.ts +1 -2
- package/dist/types/lib/formatters/grouped-temporal-activation.d.ts +3 -3
- package/dist/types/lib/formatters/grouped-temporal-presentation.d.ts +0 -6
- package/dist/types/lib/query-context/card-server-request.d.ts +0 -1
- package/dist/types/lib/table-formatting/table-formatting-types.d.ts +1 -1
- package/dist/types/lib/types/common-types.d.ts +0 -7
- package/dist/types/lib/types/explorer-types.d.ts +1 -14
- package/dist/types/lib/utils/card-config-utils.d.ts +11 -1
- package/dist/types/shared/dashboard-authoring/card-export-request.d.ts +1 -2
- package/dist/types/shared/dashboard-authoring/legacy-table-routing.d.ts +9 -4
- package/dist/types/shared/format-utils/grouped-table-presentation.d.ts +0 -14
- package/dist/types/shared/format-utils/index.d.ts +0 -2
- package/dist/types/shared/format-utils/pdf-export-policy.d.ts +1 -1
- package/dist/types/shared/format-utils/pivot-result-contract-expectations.d.ts +2 -20
- package/dist/types/shared/format-utils/pivot-result-identity.d.ts +0 -20
- package/dist/types/shared/format-utils/table-export/prepare-table-export.d.ts +0 -1
- package/dist/types/shared/format-utils/table-export/table-export-result.d.ts +0 -4
- package/package.json +2 -2
- package/dist/chunks/comparison-window-caption-C2WNTlxK.js +0 -1433
- package/dist/chunks/pivot-header-presentation-CX4fkRuG.js +0 -42
- package/dist/chunks/pivot-result-identity-BHJGZwIc.js +0 -94
- package/dist/chunks/pivot-result-lifecycle-BygCpOhk.js +0 -1238
- package/dist/types/components/visual/pivot-table/types.d.ts +0 -80
- package/dist/types/shared/format-utils/aggregate-table-row-presentation.d.ts +0 -85
- package/dist/types/shared/format-utils/pivot-result-lifecycle.d.ts +0 -55
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { M as
|
|
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 >
|
|
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 ${
|
|
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
|
-
],
|
|
18
|
+
], Wn = ["this", "previous"], Yt = ["now", "latest_available"], Pt = [
|
|
19
19
|
"include_partial",
|
|
20
20
|
"complete_periods"
|
|
21
|
-
],
|
|
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
|
|
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
|
|
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
|
-
]),
|
|
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
|
|
679
|
+
function na(e) {
|
|
680
680
|
return !We(e) && !Xe(e);
|
|
681
681
|
}
|
|
682
|
-
function
|
|
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
|
|
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
|
|
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
|
-
}),
|
|
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
|
|
841
|
+
function ki(e) {
|
|
842
842
|
return (e == null ? void 0 : e.sourceField) || (e == null ? void 0 : e.name) || "";
|
|
843
843
|
}
|
|
844
|
-
const
|
|
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
|
|
879
|
+
function la(e) {
|
|
880
880
|
return e.role === "metric" && "expression" in e && !!e.expression;
|
|
881
881
|
}
|
|
882
|
-
function
|
|
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 = _ &&
|
|
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
|
|
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
|
|
936
|
+
function ca(e) {
|
|
937
937
|
return nt(e).computeStage;
|
|
938
938
|
}
|
|
939
|
-
function
|
|
939
|
+
function pa(e, t) {
|
|
940
940
|
return e === "aggregate" && t === "default";
|
|
941
941
|
}
|
|
942
|
-
function
|
|
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
|
|
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
|
-
|
|
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
|
|
958
|
+
function Fi(e) {
|
|
960
959
|
return e === "between" || e === "not between";
|
|
961
960
|
}
|
|
962
|
-
const G = n.enum(["day", "week", "month", "quarter", "year"]),
|
|
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:
|
|
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
|
-
},
|
|
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
|
-
]),
|
|
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
|
|
1004
|
-
const t =
|
|
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
|
|
1008
|
-
|
|
1009
|
-
|
|
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(
|
|
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:
|
|
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
|
-
),
|
|
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
|
-
]),
|
|
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([
|
|
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:
|
|
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 && !
|
|
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(
|
|
1174
|
+
conditions: n.array(Ci),
|
|
1176
1175
|
groups: n.array(ct)
|
|
1177
1176
|
}).strict()
|
|
1178
|
-
),
|
|
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(),
|
|
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(),
|
|
1212
|
+
}).strict(), k = n.string().min(1), Pi = n.array(
|
|
1214
1213
|
n.enum(["body", "header", "footer", "subtotal", "grandTotal"])
|
|
1215
|
-
),
|
|
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:
|
|
1225
|
-
columnIds: n.array(
|
|
1226
|
-
conditionColumnId:
|
|
1227
|
-
applyToColumnIds: n.array(
|
|
1228
|
-
tableParts:
|
|
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:
|
|
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:
|
|
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:
|
|
1249
|
+
columnId: k,
|
|
1251
1250
|
isBlank: n.boolean()
|
|
1252
1251
|
}).strict(),
|
|
1253
1252
|
n.object({
|
|
1254
1253
|
kind: n.literal("contains"),
|
|
1255
|
-
columnId:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1291
|
+
fontWeight: Bi.optional(),
|
|
1293
1292
|
italic: n.boolean().optional(),
|
|
1294
|
-
textDecoration:
|
|
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
|
|
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
|
|
1315
|
-
const o =
|
|
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 _ =
|
|
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
|
|
1335
|
+
function ba(e) {
|
|
1337
1336
|
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
1338
1337
|
}
|
|
1339
|
-
function
|
|
1338
|
+
function va(e) {
|
|
1340
1339
|
return e.enabled !== !1;
|
|
1341
1340
|
}
|
|
1342
|
-
function
|
|
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
|
|
1344
|
+
function Vi(e) {
|
|
1346
1345
|
return e.columnId;
|
|
1347
1346
|
}
|
|
1348
|
-
function
|
|
1349
|
-
const t = [
|
|
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
|
|
1365
|
+
function Ui(e) {
|
|
1367
1366
|
return V(e) ? e : ae(e);
|
|
1368
1367
|
}
|
|
1369
|
-
function
|
|
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
|
|
1382
|
+
function wa(e) {
|
|
1384
1383
|
return e == null || e === "";
|
|
1385
1384
|
}
|
|
1386
|
-
function
|
|
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
|
|
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
|
|
1402
|
+
function Aa(e) {
|
|
1404
1403
|
return e ? mt({
|
|
1405
|
-
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
|
|
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(),
|
|
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
|
-
}),
|
|
1432
|
+
}), Xi = {
|
|
1434
1433
|
id: v,
|
|
1435
1434
|
field: ft,
|
|
1436
1435
|
grain: ee.optional()
|
|
1437
|
-
}, oe = 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:
|
|
1442
|
-
}).strict(),
|
|
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", [
|
|
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
|
-
]),
|
|
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:
|
|
1459
|
+
target: Wi,
|
|
1461
1460
|
direction: n.enum(["asc", "desc"]),
|
|
1462
1461
|
nulls: n.enum(["first", "last"])
|
|
1463
|
-
}, ht = 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:
|
|
1467
|
+
count: Qi,
|
|
1469
1468
|
measureId: v,
|
|
1470
1469
|
oppositePath: x,
|
|
1471
1470
|
others: n.boolean()
|
|
1472
|
-
}).strict(), Z = n.number().finite(),
|
|
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:
|
|
1492
|
-
relationshipHint: n.object({ relationshipIds: n.array(
|
|
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(
|
|
1495
|
-
measureFilters: n.array(
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1563
|
+
w(
|
|
1565
1564
|
[...e.rows, ...e.columns, ...e.measures].map((a) => a.id),
|
|
1566
1565
|
t,
|
|
1567
1566
|
[]
|
|
1568
|
-
),
|
|
1567
|
+
), w(
|
|
1569
1568
|
e.rankings.map((a) => a.id),
|
|
1570
1569
|
t,
|
|
1571
1570
|
["rankings"]
|
|
1572
|
-
),
|
|
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."),
|
|
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
|
-
|
|
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),
|
|
1657
|
+
const C = _t.superRefine(vt), an = _t.extend({
|
|
1659
1658
|
rows: n.array(oe).readonly(),
|
|
1660
1659
|
measures: n.array(gt).readonly()
|
|
1661
|
-
}),
|
|
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
|
-
}),
|
|
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,
|
|
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
|
-
|
|
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
|
|
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"])),
|
|
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
|
|
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,
|
|
1722
|
-
measureFormats: n.record(v,
|
|
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:
|
|
1725
|
-
}, ye = 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 =
|
|
1731
|
-
(e, t) =>
|
|
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
|
-
),
|
|
1737
|
-
(e, t) =>
|
|
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
|
-
|
|
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 &&
|
|
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
|
|
1804
|
+
const hn = n.object({
|
|
1806
1805
|
spec: C,
|
|
1807
1806
|
presentation: ye,
|
|
1808
1807
|
defaults: z,
|
|
1809
|
-
session:
|
|
1810
|
-
}).strict(),
|
|
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(),
|
|
1814
|
+
}).strict(), yn = _n.superRefine(
|
|
1816
1815
|
(e, t) => Q({ ...e, defaults: e.defaultView }, t)
|
|
1817
|
-
),
|
|
1818
|
-
spec:
|
|
1819
|
-
}),
|
|
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
|
-
]),
|
|
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
|
|
1840
|
+
function Ra(e) {
|
|
1842
1841
|
return e && "id" in e ? e.id : void 0;
|
|
1843
1842
|
}
|
|
1844
|
-
const
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1938
|
+
function Sn(e, t) {
|
|
1940
1939
|
return e.name === t.name && be(e.source, t.source);
|
|
1941
1940
|
}
|
|
1942
|
-
function
|
|
1941
|
+
function $a(e) {
|
|
1943
1942
|
return [
|
|
1944
1943
|
e.source ? se(e.source) : "unknown",
|
|
1945
|
-
|
|
1944
|
+
kt(e),
|
|
1946
1945
|
e.name
|
|
1947
1946
|
].filter(Boolean).join(":");
|
|
1948
1947
|
}
|
|
1949
|
-
function
|
|
1948
|
+
function kt(e) {
|
|
1950
1949
|
return kn(
|
|
1951
|
-
e.aggregate ||
|
|
1950
|
+
e.aggregate || In
|
|
1952
1951
|
);
|
|
1953
1952
|
}
|
|
1954
1953
|
function kn(e) {
|
|
1955
1954
|
return e.trim().toUpperCase();
|
|
1956
1955
|
}
|
|
1957
|
-
function
|
|
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
|
|
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
|
|
1977
|
-
return
|
|
1975
|
+
function wt(e, t) {
|
|
1976
|
+
return Sn(e, t);
|
|
1978
1977
|
}
|
|
1979
1978
|
function At(e, t) {
|
|
1980
|
-
return
|
|
1979
|
+
return wt(e, t) && j(e) === j(t);
|
|
1981
1980
|
}
|
|
1982
|
-
function
|
|
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
|
|
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
|
|
2020
|
+
function xn(e, t) {
|
|
2022
2021
|
return ve(e, t).length === 1;
|
|
2023
2022
|
}
|
|
2024
|
-
function
|
|
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) =>
|
|
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
|
|
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
|
|
2041
|
+
return kt(e);
|
|
2043
2042
|
}
|
|
2044
|
-
const
|
|
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 =
|
|
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) ||
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
2248
|
+
const a = On(
|
|
2250
2249
|
e.dependencies
|
|
2251
2250
|
);
|
|
2252
|
-
t.push(...a.errors), a.ok &&
|
|
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
|
|
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) =>
|
|
2308
|
+
(i, o) => $n(i, `inputs.${o}`, t)
|
|
2310
2309
|
);
|
|
2311
2310
|
}
|
|
2312
2311
|
}
|
|
2313
|
-
function
|
|
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" &&
|
|
2362
|
+
return t === "dashboard" && Yn(o, i), { ok: i.length === 0, errors: i, warnings: [] };
|
|
2364
2363
|
}
|
|
2365
|
-
function
|
|
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
|
|
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
|
|
2425
|
-
function
|
|
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
|
|
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
|
-
),
|
|
2486
|
+
), Ln(e.format, `${t}.format`, i);
|
|
2488
2487
|
}
|
|
2489
|
-
function
|
|
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
|
|
2533
|
+
const Un = new Set(
|
|
2535
2534
|
Ot
|
|
2536
|
-
),
|
|
2535
|
+
), Hn = new Set(
|
|
2537
2536
|
Yt
|
|
2538
|
-
),
|
|
2537
|
+
), Gn = new Set(
|
|
2539
2538
|
Pt
|
|
2540
2539
|
);
|
|
2541
|
-
function
|
|
2542
|
-
|
|
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
|
-
|
|
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" || !
|
|
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 && !
|
|
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 && !
|
|
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
|
|
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),
|
|
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 =
|
|
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),
|
|
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 && !
|
|
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
|
-
|
|
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 && !
|
|
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 && !
|
|
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
|
-
|
|
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" ?
|
|
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
|
-
),
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
3468
|
+
Ct as $,
|
|
3470
3469
|
H as A,
|
|
3471
|
-
|
|
3470
|
+
Ki as B,
|
|
3472
3471
|
te as C,
|
|
3473
|
-
|
|
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
|
-
|
|
3480
|
-
|
|
3478
|
+
ra as J,
|
|
3479
|
+
Wi as K,
|
|
3481
3480
|
Si as L,
|
|
3482
3481
|
ht as M,
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
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
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
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
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
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
|
-
|
|
3545
|
+
Ra as ak,
|
|
3547
3546
|
Ta as al,
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
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
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
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
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
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
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
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
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
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
|