react-semaphor 0.1.459 → 0.1.460

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 (114) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +32 -32
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +4 -4
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +4 -4
  7. package/dist/chunks/{analyze-result-contract-BbRJ-C06.js → analyze-result-contract-DROq4vgY.js} +1 -1
  8. package/dist/chunks/{analyze-result-contract-LPDNldic.cjs → analyze-result-contract-DSGoFuXQ.cjs} +1 -1
  9. package/dist/chunks/canonical-result-keys-CEQefvdO.js +33 -0
  10. package/dist/chunks/canonical-result-keys-Cb96edol.cjs +1 -0
  11. package/dist/chunks/{common-types-H51FLKB7.js → common-types-BHVKgxRR.js} +1 -1
  12. package/dist/chunks/{common-types-C57kJ59w.cjs → common-types-BcV9PD9D.cjs} +1 -1
  13. package/dist/chunks/{dashboard-briefing-launcher-ClCj98sq.js → dashboard-briefing-launcher-B07JnyCb.js} +60 -61
  14. package/dist/chunks/{dashboard-briefing-launcher-DHtEouuH.cjs → dashboard-briefing-launcher-BCkOKkCv.cjs} +2 -2
  15. package/dist/chunks/{dashboard-controls-VRShl9J0.cjs → dashboard-controls-BpxouYOZ.cjs} +1 -1
  16. package/dist/chunks/{dashboard-controls-B8gsKlxc.js → dashboard-controls-C8OxHQV6.js} +44 -45
  17. package/dist/chunks/dashboard-filter-value-compatibility-KXIyvbhc.js +677 -0
  18. package/dist/chunks/dashboard-filter-value-compatibility-UapptYnn.cjs +1 -0
  19. package/dist/chunks/dashboard-input-contract-BkRFQ7Tq.cjs +1 -0
  20. package/dist/chunks/{dashboard-date-comparison-definition-DC3ekV2S.js → dashboard-input-contract-D5dxTWJ5.js} +41 -25
  21. package/dist/chunks/dashboard-json-Bc-iIwxF.cjs +1 -0
  22. package/dist/chunks/{dashboard-json-i_Auue_K.js → dashboard-json-CecgbGtq.js} +13 -14
  23. package/dist/chunks/{edit-dashboard-visual-B3JF0fe4.js → edit-dashboard-visual-CpJKJaER.js} +880 -894
  24. package/dist/chunks/{edit-dashboard-visual-DWWyT55u.cjs → edit-dashboard-visual-xacUS2i5.cjs} +28 -28
  25. package/dist/chunks/{editor-action-buttons-BTlCsP63.cjs → editor-action-buttons-23Wf8EMx.cjs} +2 -2
  26. package/dist/chunks/{editor-action-buttons-C9x3nGnb.js → editor-action-buttons-DEoieV2G.js} +28 -28
  27. package/dist/chunks/index-B9c22LmC.cjs +1392 -0
  28. package/dist/chunks/{index-BS2-ZZGf.js → index-DDoyXYWM.js} +43665 -41560
  29. package/dist/chunks/{index-BIFLI8ul.js → index-De_7nrwb.js} +10 -10
  30. package/dist/chunks/index-DjjKJPDy.cjs +4 -0
  31. package/dist/chunks/{matrix-result-contract-CofATICL.js → matrix-result-contract-BTpPuHOc.js} +88 -104
  32. package/dist/chunks/matrix-result-contract-ZRNfeIbI.cjs +1 -0
  33. package/dist/chunks/{pivot-header-presentation-B9nXXKlW.cjs → pivot-header-presentation-BijPbP33.cjs} +1 -1
  34. package/dist/chunks/{pivot-header-presentation-D-0jvUwn.js → pivot-header-presentation-DW0gKG8g.js} +2 -2
  35. package/dist/chunks/{pivot-result-identity-Bb4EixVN.cjs → pivot-result-identity-DxHtiKVj.cjs} +1 -1
  36. package/dist/chunks/{pivot-result-identity-DU1v-5Xk.js → pivot-result-identity-Z9tN2tEV.js} +1 -1
  37. package/dist/chunks/{pivot-result-lifecycle-DTLRuDEW.cjs → pivot-result-lifecycle-BXzIlQVu.cjs} +1 -1
  38. package/dist/chunks/{pivot-result-lifecycle-CHWEGU2o.js → pivot-result-lifecycle-g2U-vzQb.js} +7 -7
  39. package/dist/chunks/{raw-temporal-contract-BtjH_G-d.cjs → raw-temporal-contract-DfAvqNMo.cjs} +1 -1
  40. package/dist/chunks/{raw-temporal-contract-CxncLze5.js → raw-temporal-contract-UtAqoOZO.js} +1 -1
  41. package/dist/chunks/{report-preferences-dialog-BDpkcUtz.js → report-preferences-dialog-CZiNX1Ri.js} +6 -6
  42. package/dist/chunks/{report-preferences-dialog-BK0yAJnQ.cjs → report-preferences-dialog-D_N6NXnq.cjs} +1 -1
  43. package/dist/chunks/{report-runtime-context-DqxS4wbi.cjs → report-runtime-context-C0NfLPfc.cjs} +1 -1
  44. package/dist/chunks/{report-runtime-context-SM6YO61_.js → report-runtime-context-CNncA3VD.js} +11 -11
  45. package/dist/chunks/{saved-temporal-bucket-format-CFfWXRl9.cjs → saved-temporal-bucket-format-3QKveR3v.cjs} +1 -1
  46. package/dist/chunks/{saved-temporal-bucket-format-SGAV0ivR.js → saved-temporal-bucket-format-Dd2eixTH.js} +11 -11
  47. package/dist/chunks/switch-DNFbgZz4.cjs +138 -0
  48. package/dist/chunks/{switch-DQR-Va05.js → switch-DSZobe8w.js} +6542 -5189
  49. package/dist/chunks/{temporal-bucket-5UYEotyQ.js → temporal-bucket-C85rmFmC.js} +4 -4
  50. package/dist/chunks/temporal-bucket-authoring-1fZuPAVb.js +653 -0
  51. package/dist/chunks/temporal-bucket-authoring-BK1UhYpD.cjs +1 -0
  52. package/dist/chunks/{temporal-bucket-contract-D5d-xEl3.js → temporal-bucket-contract-DXXNZssK.js} +1 -1
  53. package/dist/chunks/{temporal-bucket-contract-D2-93DGr.cjs → temporal-bucket-contract-xFkvboaw.cjs} +1 -1
  54. package/dist/chunks/{temporal-bucket-DHY1y9lq.cjs → temporal-bucket-pMfghsLX.cjs} +1 -1
  55. package/dist/chunks/{token-types-GbxRUozo.js → token-types-BLxc7UwR.js} +1 -1
  56. package/dist/chunks/{token-types-D7CaaI80.cjs → token-types-BYYO109W.cjs} +1 -1
  57. package/dist/chunks/{update-policy-hednMF-0.js → update-policy-CB8XJIoY.js} +1 -1
  58. package/dist/chunks/{update-policy-BmiOd0PB.cjs → update-policy-DMjjGjQY.cjs} +1 -1
  59. package/dist/chunks/{validators-DEmd8Sin.js → validators-DVd8s3qY.js} +416 -350
  60. package/dist/chunks/validators-dJlwubP4.cjs +1 -0
  61. package/dist/dashboard/index.cjs +1 -1
  62. package/dist/dashboard/index.js +2 -2
  63. package/dist/dashboard-authoring/index.cjs +3 -3
  64. package/dist/dashboard-authoring/index.js +328 -311
  65. package/dist/data-app-builder/index.cjs +1 -1
  66. package/dist/data-app-builder/index.js +2 -2
  67. package/dist/data-app-codegen/index.cjs +1 -1
  68. package/dist/data-app-codegen/index.js +2 -2
  69. package/dist/data-app-codegen-node/index.cjs +1 -1
  70. package/dist/data-app-codegen-node/index.js +3 -3
  71. package/dist/data-app-sdk/index.cjs +1 -1
  72. package/dist/data-app-sdk/index.js +55 -55
  73. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  74. package/dist/data-app-sdk-adapters/index.js +61 -56
  75. package/dist/data-app-sdk-validation/index.cjs +1 -1
  76. package/dist/data-app-sdk-validation/index.js +9 -9
  77. package/dist/format-utils/index.cjs +1 -1
  78. package/dist/format-utils/index.js +15 -15
  79. package/dist/index.cjs +1 -1
  80. package/dist/index.js +154 -155
  81. package/dist/report-runtime-context/index.cjs +1 -1
  82. package/dist/report-runtime-context/index.js +2 -2
  83. package/dist/style.css +1 -1
  84. package/dist/surfboard/index.cjs +1 -1
  85. package/dist/surfboard/index.js +3 -3
  86. package/dist/types/analytics-protocol.d.ts +16 -8
  87. package/dist/types/briefings.d.ts +80 -9
  88. package/dist/types/dashboard-assistant.d.ts +11 -6
  89. package/dist/types/dashboard-authoring.d.ts +242 -15
  90. package/dist/types/dashboard.d.ts +94 -10
  91. package/dist/types/data-app-builder.d.ts +11 -6
  92. package/dist/types/data-app-codegen-node.d.ts +16 -8
  93. package/dist/types/data-app-codegen.d.ts +16 -8
  94. package/dist/types/data-app-sdk-adapters.d.ts +17 -11
  95. package/dist/types/data-app-sdk-validation.d.ts +17 -11
  96. package/dist/types/data-app-sdk.d.ts +17 -11
  97. package/dist/types/index.cjs +1 -1
  98. package/dist/types/index.js +4 -4
  99. package/dist/types/main.d.ts +210 -16
  100. package/dist/types/shared.d.ts +80 -9
  101. package/dist/types/surfboard.d.ts +94 -10
  102. package/dist/types/types.d.ts +94 -10
  103. package/package.json +1 -1
  104. package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +0 -1
  105. package/dist/chunks/canonical-result-keys-D6avdjpA.js +0 -467
  106. package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +0 -1
  107. package/dist/chunks/dashboard-json-BhvPMpZA.cjs +0 -1
  108. package/dist/chunks/index-DHF-2AqS.cjs +0 -1392
  109. package/dist/chunks/index-k8tEp0ys.cjs +0 -4
  110. package/dist/chunks/matrix-result-contract-zamd9euI.cjs +0 -1
  111. package/dist/chunks/switch-f3TuZNLr.cjs +0 -138
  112. package/dist/chunks/temporal-bucket-authoring-K1kE6R_z.js +0 -222
  113. package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +0 -1
  114. package/dist/chunks/validators-BDYprKI9.cjs +0 -1
@@ -23,18 +23,18 @@ const Ai = [
23
23
  "quarter_long",
24
24
  "fiscal_quarter_short",
25
25
  "fiscal_year"
26
- ], kn = {
26
+ ], An = {
27
27
  invalidMetadata: "invalid_raw_temporal_metadata"
28
28
  };
29
- function Mi(e) {
29
+ function Ri(e) {
30
30
  return e === "second" || e === "minute" || e === "hour" ? "datetime" : "date";
31
31
  }
32
- const In = {
32
+ const Rn = {
33
33
  missingMetadata: "missing_temporal_bucket_metadata",
34
34
  invalidMetadata: "invalid_temporal_bucket_metadata",
35
35
  invalidValue: "invalid_temporal_bucket_value"
36
- }, xn = "__auto_count__";
37
- function Ri(e) {
36
+ }, Mn = "__auto_count__";
37
+ function Mi(e) {
38
38
  try {
39
39
  return new Intl.DateTimeFormat("en-US", { timeZone: e }).format(), !0;
40
40
  } catch {
@@ -85,7 +85,7 @@ const Ti = {
85
85
  function x(e) {
86
86
  return typeof e == "string" && e.trim().length > 0;
87
87
  }
88
- function An(e) {
88
+ function Tn(e) {
89
89
  return e ? e.kind === "semantic" ? !!(x(e.domainId) && (x(e.datasetId) || x(e.datasetName))) : e.kind === "physical" ? x(e.connectionId) && x(e.tableName) : x(e.connectionId) : !1;
90
90
  }
91
91
  function ae(e) {
@@ -106,7 +106,7 @@ function ae(e) {
106
106
  e.label || ""
107
107
  ].join(":") : "";
108
108
  }
109
- function Ve(e, i) {
109
+ function ge(e, i) {
110
110
  return !e || !i ? e === i : e.kind !== i.kind ? !1 : e.kind === "semantic" && i.kind === "semantic" ? e.domainId !== i.domainId ? !1 : e.datasetId && i.datasetId ? e.datasetId === i.datasetId : e.datasetName === i.datasetName : ae(e) === ae(i);
111
111
  }
112
112
  function Le(e, i) {
@@ -118,11 +118,11 @@ function Le(e, i) {
118
118
  connectionId: e.connectionId || i.connectionId
119
119
  };
120
120
  }
121
- function Mn(e) {
121
+ function jn(e) {
122
122
  const i = [];
123
123
  for (const t of e) {
124
124
  const n = i.findIndex(
125
- (s) => Ve(s, t)
125
+ (s) => ge(s, t)
126
126
  );
127
127
  if (n === -1) {
128
128
  i.push(t);
@@ -136,24 +136,24 @@ function Mn(e) {
136
136
  return i;
137
137
  }
138
138
  function Ei(e, i) {
139
- return e.name === i.name && Ve(e.source, i.source);
139
+ return e.name === i.name && ge(e.source, i.source);
140
140
  }
141
141
  function Ci(e) {
142
142
  return [
143
143
  e.source ? ae(e.source) : "unknown",
144
- ge(e),
144
+ he(e),
145
145
  e.name
146
146
  ].filter(Boolean).join(":");
147
147
  }
148
- function ge(e) {
149
- return Di(
148
+ function he(e) {
149
+ return Fi(
150
150
  e.aggregate || ji
151
151
  );
152
152
  }
153
- function Di(e) {
153
+ function Fi(e) {
154
154
  return e.trim().toUpperCase();
155
155
  }
156
- function Rn(e, i) {
156
+ function En(e, i) {
157
157
  return {
158
158
  ...e,
159
159
  label: e.label || i.label,
@@ -162,19 +162,19 @@ function Rn(e, i) {
162
162
  source: e.source && i.source ? Le(e.source, i.source) : e.source || i.source
163
163
  };
164
164
  }
165
- const ne = "semaphor-data-app-codegen-summary/v1", Tn = "semaphor-data-app-codegen-summary-validator/v2", Fi = /* @__PURE__ */ new Set([
165
+ const ne = "semaphor-data-app-codegen-summary/v1", Cn = "semaphor-data-app-codegen-summary-validator/v2", Di = /* @__PURE__ */ new Set([
166
166
  "metric",
167
167
  "records",
168
168
  "matrix",
169
169
  "analysis",
170
170
  "sql_fallback"
171
- ]), qi = /* @__PURE__ */ new Set([
171
+ ]), Ni = /* @__PURE__ */ new Set([
172
172
  "semaphor.metric",
173
173
  "semaphor.records",
174
174
  "semaphor.matrix",
175
175
  "semaphor.analysis",
176
176
  "semaphor.sql"
177
- ]), Ni = /* @__PURE__ */ new Set([
177
+ ]), qi = /* @__PURE__ */ new Set([
178
178
  "SUM",
179
179
  "COUNT",
180
180
  "AVG",
@@ -283,7 +283,7 @@ const ne = "semaphor-data-app-codegen-summary/v1", Tn = "semaphor-data-app-codeg
283
283
  "requires_sql_escape_hatch",
284
284
  "unsupported_sdk_capability"
285
285
  ]);
286
- function jn(e) {
286
+ function Fn(e) {
287
287
  return Ue(e).ok;
288
288
  }
289
289
  function Ue(e) {
@@ -318,12 +318,12 @@ function Ui(e) {
318
318
  const i = Array.isArray(e.unsupportedInsights) && e.unsupportedInsights.some(
319
319
  (l) => {
320
320
  var d;
321
- return Ie.has((d = c(l)) == null ? void 0 : d.reason);
321
+ return xe.has((d = c(l)) == null ? void 0 : d.reason);
322
322
  }
323
323
  ), t = Array.isArray(e.views) && e.views.some((l) => {
324
324
  var u;
325
325
  const d = c((u = c(l)) == null ? void 0 : u.computation);
326
- return (d == null ? void 0 : d.kind) === "unsupported" && Ie.has(d.reason);
326
+ return (d == null ? void 0 : d.kind) === "unsupported" && xe.has(d.reason);
327
327
  });
328
328
  if (!i && !t)
329
329
  return [];
@@ -336,7 +336,7 @@ function Ui(e) {
336
336
  "nextRequiredTool.name must be semaphor_propose_semantic_model_change when semantic model repair gaps are present."
337
337
  ), n;
338
338
  }
339
- const Ie = /* @__PURE__ */ new Set([
339
+ const xe = /* @__PURE__ */ new Set([
340
340
  "missing_relationship",
341
341
  "raw_identifier_filter_options"
342
342
  ]);
@@ -477,7 +477,7 @@ function Wi(e) {
477
477
  return typeof e.sourceKey == "string" && e.sourceKey.trim() ? [e.sourceKey, Ge(e), e.name].filter(Boolean).join(":") : Ci(e);
478
478
  }
479
479
  function Ge(e) {
480
- return ge(e);
480
+ return he(e);
481
481
  }
482
482
  function X(e, i) {
483
483
  var p;
@@ -522,16 +522,16 @@ function Ji({
522
522
  }), s);
523
523
  }
524
524
  function et(e, i) {
525
- return !e || !i ? !1 : e.name === i.name && (e.role || "measure") === (i.role || "measure") && xe(e) === xe(i) && it(e, i);
525
+ return !e || !i ? !1 : e.name === i.name && (e.role || "measure") === (i.role || "measure") && Ae(e) === Ae(i) && it(e, i);
526
526
  }
527
- function xe(e) {
527
+ function Ae(e) {
528
528
  return typeof e.aggregate == "string" ? e.aggregate.toUpperCase() : "SUM";
529
529
  }
530
530
  function it(e, i) {
531
531
  const t = c(e.source), n = c(i.source);
532
532
  if (tt(t, n))
533
533
  return !1;
534
- const s = Ae(e), r = Ae(i);
534
+ const s = Re(e), r = Re(i);
535
535
  if (s.size > 0 || r.size > 0) {
536
536
  for (const l of s)
537
537
  if (r.has(l))
@@ -546,7 +546,7 @@ function tt(e, i) {
546
546
  const t = typeof e.datasetId == "string" ? e.datasetId.trim() : "", n = typeof i.datasetId == "string" ? i.datasetId.trim() : "";
547
547
  return !!(t && n && t !== n);
548
548
  }
549
- function Ae(e) {
549
+ function Re(e) {
550
550
  const i = typeof e.sourceKey == "string" ? e.sourceKey.trim() : "";
551
551
  return i ? /* @__PURE__ */ new Set([i]) : at(c(e.source));
552
552
  }
@@ -628,7 +628,11 @@ function ze(e, i) {
628
628
  `${i}.filterFieldRef`
629
629
  )
630
630
  ];
631
- return t.builder !== "semaphor.inputOptions" && n.push(`${i}.builder must be semaphor.inputOptions.`), typeof t.sourceKey != "string" && t.source === void 0 && n.push(`${i} must include source or sourceKey.`), t.source !== void 0 && n.push(...B(t.source, `${i}.source`)), c(t.valueFieldRef) || n.push(`${i}.valueFieldRef is required.`), c(t.labelFieldRef) || n.push(`${i}.labelFieldRef is required.`), t.limit !== void 0 && (typeof t.limit != "number" || !Number.isInteger(t.limit) || t.limit <= 0) && n.push(`${i}.limit must be a positive integer.`), n;
631
+ if (t.builder !== "semaphor.inputOptions" && n.push(`${i}.builder must be semaphor.inputOptions.`), typeof t.sourceKey != "string" && t.source === void 0 && n.push(`${i} must include source or sourceKey.`), t.source !== void 0) {
632
+ const s = c(t.source);
633
+ !s || s.kind !== "semantic" && s.kind !== "physical" ? n.push(`${i}.source.kind must be semantic or physical.`) : n.push(...B(t.source, `${i}.source`));
634
+ }
635
+ return c(t.valueFieldRef) || n.push(`${i}.valueFieldRef is required.`), c(t.labelFieldRef) || n.push(`${i}.labelFieldRef is required.`), t.limit !== void 0 && (typeof t.limit != "number" || !Number.isInteger(t.limit) || t.limit <= 0) && n.push(`${i}.limit must be a positive integer.`), n;
632
636
  }
633
637
  function st(e) {
634
638
  var s;
@@ -843,7 +847,7 @@ function dt(e, i) {
843
847
  return t.kind !== "semantic" && t.kind !== "physical" && n.push(`${i}.spec.source.kind must be semantic or physical.`), n;
844
848
  }
845
849
  function W(e, i) {
846
- const t = he(e, i);
850
+ const t = ye(e, i);
847
851
  return Array.isArray(e) && e.forEach((n, s) => {
848
852
  t.push(...h(n, `${i}.${s}`));
849
853
  }), t;
@@ -868,7 +872,7 @@ function ee(e, i) {
868
872
  ] : [`${i} must be an object.`];
869
873
  }
870
874
  function ut(e, i) {
871
- const t = he(e, i);
875
+ const t = ye(e, i);
872
876
  return Array.isArray(e) && e.forEach((n, s) => {
873
877
  const r = c(n);
874
878
  if (!r) {
@@ -896,7 +900,7 @@ function ct(e, i) {
896
900
  }), t) : [`${i} must be an array.`];
897
901
  }
898
902
  function pt(e, i) {
899
- const t = he(e, i);
903
+ const t = ye(e, i);
900
904
  return Array.isArray(e) && e.forEach((n, s) => {
901
905
  const r = c(n);
902
906
  if (!r) {
@@ -964,7 +968,7 @@ function L(e, i) {
964
968
  );
965
969
  }), t;
966
970
  }
967
- function he(e, i) {
971
+ function ye(e, i) {
968
972
  return !Array.isArray(e) || e.length === 0 ? [`${i} must be a non-empty array.`] : [];
969
973
  }
970
974
  function gt(e) {
@@ -1226,10 +1230,10 @@ function se(e, i) {
1226
1230
  }), t.kind !== "semantic" && n.push(`${i} must use semantic source identity.`), (typeof t.domainId != "string" || !t.domainId.trim() || typeof t.datasetName != "string" || !t.datasetName.trim()) && n.push(`${i} must include semantic domainId and datasetName.`), n;
1227
1231
  }
1228
1232
  function C(e) {
1229
- return Fi.has(e);
1233
+ return Di.has(e);
1230
1234
  }
1231
1235
  function Ze(e) {
1232
- return qi.has(e);
1236
+ return Ni.has(e);
1233
1237
  }
1234
1238
  function w(e, i) {
1235
1239
  return e === void 0 ? [] : h(e, i);
@@ -1239,7 +1243,7 @@ function h(e, i) {
1239
1243
  if (!t)
1240
1244
  return [`${i} must be an object.`];
1241
1245
  const n = [];
1242
- return (typeof t.name != "string" || !t.name.trim()) && n.push(`${i}.name is required.`), !t.source && typeof t.sourceKey != "string" && n.push(`${i} must include source or sourceKey.`), t.aggregate !== void 0 && !Ni.has(t.aggregate) && n.push(`${i}.aggregate must be a supported aggregate function.`), n;
1246
+ return (typeof t.name != "string" || !t.name.trim()) && n.push(`${i}.name is required.`), !t.source && typeof t.sourceKey != "string" && n.push(`${i} must include source or sourceKey.`), t.aggregate !== void 0 && !qi.has(t.aggregate) && n.push(`${i}.aggregate must be a supported aggregate function.`), n;
1243
1247
  }
1244
1248
  function Xe(e, i) {
1245
1249
  const t = c(e), n = h(e, i);
@@ -1260,7 +1264,7 @@ function c(e) {
1260
1264
  function $(e) {
1261
1265
  return Array.isArray(e) && e.every((i) => typeof i == "string");
1262
1266
  }
1263
- const b = a.record(a.string(), a.unknown()), M = a.array(b), _ = a.enum([
1267
+ const b = a.record(a.string(), a.unknown()), R = a.array(b), _ = a.enum([
1264
1268
  "SUM",
1265
1269
  "COUNT",
1266
1270
  "AVG",
@@ -1279,7 +1283,7 @@ const b = a.record(a.string(), a.unknown()), M = a.array(b), _ = a.enum([
1279
1283
  "duckdb",
1280
1284
  "sqlite",
1281
1285
  "unknown"
1282
- ]), Mt = a.enum(O), We = a.enum(fe), Q = a.enum([
1286
+ ]), Rt = a.enum(O), We = a.enum(fe), Q = a.enum([
1283
1287
  "dimension",
1284
1288
  "measure",
1285
1289
  "date",
@@ -1298,11 +1302,11 @@ const b = a.record(a.string(), a.unknown()), M = a.array(b), _ = a.enum([
1298
1302
  "minute",
1299
1303
  "hour",
1300
1304
  "day"
1301
- ]), Rt = a.enum(Ai), Tt = a.discriminatedUnion("mode", [
1305
+ ]), Mt = a.enum(Ai), Tt = a.discriminatedUnion("mode", [
1302
1306
  a.object({ mode: a.literal("auto") }).strict(),
1303
1307
  a.object({
1304
1308
  mode: a.literal("preset"),
1305
- preset: Rt
1309
+ preset: Mt
1306
1310
  }).strict(),
1307
1311
  a.object({
1308
1312
  mode: a.literal("pattern"),
@@ -1312,7 +1316,7 @@ const b = a.record(a.string(), a.unknown()), M = a.array(b), _ = a.enum([
1312
1316
  type: a.literal("temporal_bucket"),
1313
1317
  presentation: Tt
1314
1318
  }).strict(), jt = a.object({
1315
- tz: a.string().min(1).refine(Ri, {
1319
+ tz: a.string().min(1).refine(Mi, {
1316
1320
  message: "tz must be a valid IANA timezone"
1317
1321
  }),
1318
1322
  weekStart: a.number().int().min(0).max(6),
@@ -1322,7 +1326,7 @@ const b = a.record(a.string(), a.unknown()), M = a.array(b), _ = a.enum([
1322
1326
  }).strict().optional()
1323
1327
  }).strict(), re = a.object({
1324
1328
  kind: a.literal("temporal_bucket"),
1325
- granularity: Mt,
1329
+ granularity: Rt,
1326
1330
  calendar: jt
1327
1331
  }).strict(), Et = a.object({
1328
1332
  kind: a.literal("raw_temporal"),
@@ -1415,7 +1419,7 @@ const ei = a.object({
1415
1419
  datasetId: a.string().optional(),
1416
1420
  label: a.string().optional(),
1417
1421
  connectionId: a.string().optional()
1418
- }).passthrough(), Dt = a.object({
1422
+ }).passthrough(), Ft = a.object({
1419
1423
  kind: a.literal("physical"),
1420
1424
  connectionId: a.string(),
1421
1425
  connectionType: a.string().optional(),
@@ -1424,25 +1428,25 @@ const ei = a.object({
1424
1428
  schemaName: a.string().optional(),
1425
1429
  label: a.string().optional(),
1426
1430
  dialect: Y.optional()
1427
- }).passthrough(), Ft = a.object({
1431
+ }).passthrough(), Dt = a.object({
1428
1432
  kind: a.literal("sql"),
1429
1433
  connectionId: a.string(),
1430
1434
  dialect: Y.optional(),
1431
1435
  label: a.string().optional()
1432
- }).passthrough(), D = a.union([
1436
+ }).passthrough(), F = a.union([
1433
1437
  ei,
1434
- Dt,
1435
- Ft
1436
- ]), R = a.object({
1438
+ Ft,
1439
+ Dt
1440
+ ]), M = a.object({
1437
1441
  name: a.string(),
1438
1442
  label: a.string().optional(),
1439
1443
  role: Q.optional(),
1440
1444
  dataType: Z.optional(),
1441
- source: D.optional(),
1445
+ source: F.optional(),
1442
1446
  aggregate: _.optional()
1443
- }).passthrough(), qt = a.object({
1447
+ }).passthrough(), Nt = a.object({
1444
1448
  kind: a.literal("field"),
1445
- field: R,
1449
+ field: M,
1446
1450
  aggregate: _.optional()
1447
1451
  }).passthrough(), ii = a.object({
1448
1452
  kind: a.literal("derived_field"),
@@ -1454,7 +1458,7 @@ const ei = a.object({
1454
1458
  computeStage: a.enum(["row", "aggregate"]),
1455
1459
  expression: a.string(),
1456
1460
  expressionLanguage: a.literal("semaphor_sql_template").optional(),
1457
- inputs: a.record(qt),
1461
+ inputs: a.record(Nt),
1458
1462
  defaultAggregate: _.optional(),
1459
1463
  aggregationBehavior: a.enum([
1460
1464
  "additive",
@@ -1472,11 +1476,11 @@ const ei = a.object({
1472
1476
  ]).optional(),
1473
1477
  format: Je.optional(),
1474
1478
  tags: a.array(a.string()).optional()
1475
- }).passthrough(), ye = R.and(
1479
+ }).passthrough(), be = M.and(
1476
1480
  a.object({
1477
1481
  derivedField: ii.optional()
1478
1482
  }).passthrough()
1479
- ), Nt = ei, Ot = a.object({
1483
+ ), qt = ei, Ot = a.object({
1480
1484
  kind: a.literal("physical"),
1481
1485
  connectionId: a.string().optional(),
1482
1486
  connectionType: a.string().optional(),
@@ -1491,7 +1495,7 @@ const ei = a.object({
1491
1495
  dialect: Y.optional(),
1492
1496
  label: a.string().optional()
1493
1497
  }).passthrough(), Pt = a.union([
1494
- Nt,
1498
+ qt,
1495
1499
  Ot,
1496
1500
  Bt
1497
1501
  ]), Kt = a.object({
@@ -1503,14 +1507,14 @@ const ei = a.object({
1503
1507
  source: Pt.optional(),
1504
1508
  aggregate: _.optional(),
1505
1509
  derivedField: a.never().optional()
1506
- }).passthrough(), q = a.object({
1510
+ }).passthrough(), N = a.object({
1507
1511
  key: a.string(),
1508
1512
  name: a.string(),
1509
1513
  label: a.string(),
1510
1514
  role: Q.optional(),
1511
1515
  dataType: Z.optional(),
1512
1516
  aggregate: _.optional(),
1513
- source: D.optional(),
1517
+ source: F.optional(),
1514
1518
  derivedField: ii.optional(),
1515
1519
  temporalBucket: re.optional(),
1516
1520
  rawTemporal: Et.optional(),
@@ -1531,7 +1535,7 @@ const ei = a.object({
1531
1535
  path: ["rawTemporal"],
1532
1536
  message: "A result column cannot carry both temporalBucket and rawTemporal metadata."
1533
1537
  }), e.temporalBucket) {
1534
- const t = Mi(
1538
+ const t = Ri(
1535
1539
  e.temporalBucket.granularity
1536
1540
  );
1537
1541
  e.dataType !== t && i.addIssue({
@@ -1548,12 +1552,12 @@ const ei = a.object({
1548
1552
  message: `${e.rawTemporal.valueKind} raw temporal values require dataType ${t}.`
1549
1553
  });
1550
1554
  }
1551
- }), En = a.object({
1552
- records: M,
1553
- columns: a.array(q).optional()
1554
- }).passthrough(), Cn = a.object({
1555
- records: M,
1556
- columns: a.array(q)
1555
+ }), Dn = a.object({
1556
+ records: R,
1557
+ columns: a.array(N).optional()
1558
+ }).passthrough(), Nn = a.object({
1559
+ records: R,
1560
+ columns: a.array(N)
1557
1561
  }).passthrough(), ti = a.object({
1558
1562
  code: a.string(),
1559
1563
  message: a.string().optional(),
@@ -1601,17 +1605,17 @@ const ei = a.object({
1601
1605
  delta: a.union([a.number(), a.null()]).optional(),
1602
1606
  deltaPercent: a.union([a.number(), a.null()]).optional()
1603
1607
  }).passthrough().optional(),
1604
- records: M.optional()
1608
+ records: R.optional()
1605
1609
  }).passthrough(), Ht = a.object({
1606
1610
  ...K,
1607
1611
  kind: a.literal("records"),
1608
- columns: a.array(q),
1609
- records: M,
1612
+ columns: a.array(N),
1613
+ records: R,
1610
1614
  totals: a.object({
1611
1615
  mode: a.literal("server"),
1612
1616
  scope: a.literal("filtered_result"),
1613
1617
  row: a.record(a.string(), a.unknown()),
1614
- columns: a.array(q).optional()
1618
+ columns: a.array(N).optional()
1615
1619
  }).passthrough().optional()
1616
1620
  }).passthrough(), Ut = a.object({
1617
1621
  ...K,
@@ -1630,8 +1634,8 @@ const ei = a.object({
1630
1634
  }).passthrough(), Gt = a.object({
1631
1635
  ...K,
1632
1636
  kind: a.literal("sql"),
1633
- columns: a.array(q),
1634
- records: M,
1637
+ columns: a.array(N),
1638
+ records: R,
1635
1639
  sqlShape: a.object({
1636
1640
  statementType: a.string().optional(),
1637
1641
  explicitLimit: a.number().optional(),
@@ -1641,14 +1645,14 @@ const ei = a.object({
1641
1645
  enabled: a.boolean().optional(),
1642
1646
  position: a.enum(["before", "after"]).optional(),
1643
1647
  label: a.string().optional()
1644
- }).passthrough(), Re = a.object({
1648
+ }).passthrough(), Te = a.object({
1645
1649
  id: a.enum(["rows", "columns"]),
1646
1650
  levels: a.array(
1647
1651
  a.object({
1648
1652
  instanceId: a.string(),
1649
1653
  fieldKey: a.string(),
1650
1654
  label: a.string(),
1651
- field: R,
1655
+ field: M,
1652
1656
  grain: We.optional(),
1653
1657
  temporalBucket: re.optional(),
1654
1658
  subtotal: zt.optional()
@@ -1667,7 +1671,7 @@ const ei = a.object({
1667
1671
  a.object({ kind: a.literal("member") }).passthrough(),
1668
1672
  a.object({
1669
1673
  kind: a.literal("field"),
1670
- field: R,
1674
+ field: M,
1671
1675
  aggregate: _.optional()
1672
1676
  }).passthrough(),
1673
1677
  a.object({
@@ -1692,7 +1696,7 @@ const ei = a.object({
1692
1696
  ]), Xt = a.object({
1693
1697
  instanceId: a.string(),
1694
1698
  fieldKey: a.string(),
1695
- field: R,
1699
+ field: M,
1696
1700
  role: a.enum(["row", "column", "measure", "sort", "filter"]),
1697
1701
  label: a.string().optional()
1698
1702
  }).passthrough(), Wt = a.union([
@@ -1722,7 +1726,7 @@ const ei = a.object({
1722
1726
  instanceId: a.string(),
1723
1727
  fieldKey: a.string(),
1724
1728
  label: a.string(),
1725
- field: R,
1729
+ field: M,
1726
1730
  aggregate: _.optional(),
1727
1731
  format: Je.optional(),
1728
1732
  totalBehavior: Ct.optional(),
@@ -1884,8 +1888,8 @@ const ei = a.object({
1884
1888
  measuresById: a.record(a.string(), Jt),
1885
1889
  calculationsById: a.record(a.string(), ea).optional(),
1886
1890
  axes: a.object({
1887
- rows: Re,
1888
- columns: Re
1891
+ rows: Te,
1892
+ columns: Te
1889
1893
  }).passthrough(),
1890
1894
  nodesById: a.record(a.string(), ta),
1891
1895
  layout: aa,
@@ -1910,22 +1914,22 @@ const ei = a.object({
1910
1914
  "fanout_risk",
1911
1915
  "unknown"
1912
1916
  ]),
1913
- requiredSources: a.array(D).optional(),
1917
+ requiredSources: a.array(F).optional(),
1914
1918
  relationshipsUsed: a.array(a.string()).optional(),
1915
1919
  missingSources: a.array(a.string()).optional(),
1916
1920
  warnings: a.array(a.string()).optional(),
1917
1921
  message: a.string().optional(),
1918
1922
  recommendedNextStep: a.string().optional(),
1919
1923
  joinPlanSummary: a.object({
1920
- baseSource: D.optional(),
1921
- joinedSources: a.array(D).optional(),
1924
+ baseSource: F.optional(),
1925
+ joinedSources: a.array(F).optional(),
1922
1926
  joinCount: a.number().optional()
1923
1927
  }).passthrough().optional(),
1924
1928
  fanoutRisk: a.object({
1925
1929
  status: a.enum(["none", "warning", "error", "unknown"]),
1926
1930
  message: a.string().optional()
1927
1931
  }).passthrough().optional()
1928
- }).passthrough(), Te = a.enum([
1932
+ }).passthrough(), je = a.enum([
1929
1933
  "ambiguous_fields",
1930
1934
  "empty_result",
1931
1935
  "missing_grounded_fields",
@@ -1945,14 +1949,14 @@ const ei = a.object({
1945
1949
  queryId: a.string().optional(),
1946
1950
  summary: a.string(),
1947
1951
  evidenceIds: a.array(a.string()).optional(),
1948
- fieldsUsed: a.array(ye).optional()
1952
+ fieldsUsed: a.array(be).optional()
1949
1953
  }).passthrough()
1950
1954
  ),
1951
1955
  blocked: a.array(
1952
1956
  a.object({
1953
1957
  slotId: a.string().optional(),
1954
1958
  queryId: a.string().optional(),
1955
- reasonCode: Te,
1959
+ reasonCode: je,
1956
1960
  message: a.string(),
1957
1961
  missingFields: a.array(a.string()).optional(),
1958
1962
  availableFields: a.array(a.string()).optional(),
@@ -1965,7 +1969,7 @@ const ei = a.object({
1965
1969
  ),
1966
1970
  semanticModelRecommendations: a.array(
1967
1971
  a.object({
1968
- reasonCode: Te,
1972
+ reasonCode: je,
1969
1973
  message: a.string(),
1970
1974
  recommendedNextStep: a.string().optional()
1971
1975
  }).passthrough()
@@ -1992,7 +1996,7 @@ const ei = a.object({
1992
1996
  ]).optional(),
1993
1997
  intent: a.unknown().optional(),
1994
1998
  compiledQuery: a.unknown().optional(),
1995
- fieldsUsed: a.array(ye).optional(),
1999
+ fieldsUsed: a.array(be).optional(),
1996
2000
  result: pa.optional(),
1997
2001
  validation: ai,
1998
2002
  coverage: oi.optional(),
@@ -2014,7 +2018,7 @@ function ga(e) {
2014
2018
  case "diagnosticFeedback":
2015
2019
  return ni.optional();
2016
2020
  case "executionFieldArray":
2017
- return a.array(ye).optional();
2021
+ return a.array(be).optional();
2018
2022
  case "executionResult":
2019
2023
  return fa.optional();
2020
2024
  case "number":
@@ -2024,7 +2028,7 @@ function ga(e) {
2024
2028
  case "record":
2025
2029
  return b.optional();
2026
2030
  case "recordArray":
2027
- return M.optional();
2031
+ return R.optional();
2028
2032
  case "responseDetail":
2029
2033
  return a.enum(["compact", "standard", "debug"]).optional();
2030
2034
  case "string":
@@ -2043,7 +2047,7 @@ const ha = Object.fromEntries(
2043
2047
  Object.entries(Ti).map(
2044
2048
  ([e, i]) => [e, ga(i)]
2045
2049
  )
2046
- ), Dn = a.object(ha).strict(), be = a.object({
2050
+ ), qn = a.object(ha).strict(), _e = a.object({
2047
2051
  sourceKey: a.string().optional(),
2048
2052
  kind: a.enum(["semantic", "physical", "sql"]).optional(),
2049
2053
  domainId: a.string().optional(),
@@ -2059,11 +2063,11 @@ const ha = Object.fromEntries(
2059
2063
  dataType: a.enum(["string", "number", "boolean", "date", "datetime", "unknown"]).optional(),
2060
2064
  aggregate: _.optional(),
2061
2065
  sourceKey: a.string().optional(),
2062
- source: be.optional()
2066
+ source: _e.optional()
2063
2067
  }).passthrough(), ri = a.object({
2064
2068
  id: a.string().optional(),
2065
2069
  builder: a.literal("semaphor.inputOptions"),
2066
- source: be.optional(),
2070
+ source: _e.optional(),
2067
2071
  sourceKey: a.string().optional(),
2068
2072
  valueFieldRef: S,
2069
2073
  labelFieldRef: S,
@@ -2132,13 +2136,13 @@ const ha = Object.fromEntries(
2132
2136
  bindings: a.array(li),
2133
2137
  appliesToViewIds: a.array(a.string()),
2134
2138
  notAppliedToViewIds: a.array(a.string())
2135
- }).passthrough(), Fn = a.object({
2139
+ }).passthrough(), On = a.object({
2136
2140
  schemaVersion: a.literal(ne),
2137
2141
  title: a.string(),
2138
2142
  purpose: a.string().optional(),
2139
2143
  userGoal: a.string().optional(),
2140
2144
  nextStep: a.string().optional(),
2141
- sources: a.array(be),
2145
+ sources: a.array(_e),
2142
2146
  inputs: a.array(ya),
2143
2147
  views: a.array(_a),
2144
2148
  filterContracts: a.array(va),
@@ -2178,70 +2182,97 @@ const ha = Object.fromEntries(
2178
2182
  message: n
2179
2183
  });
2180
2184
  });
2181
- function _e(e) {
2185
+ function ve(e) {
2182
2186
  return typeof e == "string" ? e.trim().toLowerCase() : "";
2183
2187
  }
2184
2188
  function $a(e) {
2185
- return String(e.column_name || e.name || e.qualifiedFieldName || "");
2189
+ return String(
2190
+ e.column_name || e.name || e.qualifiedFieldName || ""
2191
+ );
2186
2192
  }
2187
2193
  function wa(e) {
2188
2194
  return Array.from(
2189
2195
  new Set(
2190
- [
2191
- e.column_name,
2192
- e.name,
2193
- e.qualifiedFieldName,
2194
- e.alias
2195
- ].filter(
2196
+ [e.column_name, e.name, e.qualifiedFieldName, e.alias].filter(
2196
2197
  (i) => typeof i == "string" && i.trim().length > 0
2197
2198
  ).map((i) => i.trim())
2198
2199
  )
2199
2200
  );
2200
2201
  }
2201
- function ve(e) {
2202
- const i = Sa(e);
2203
- return i ? i.includes("int") || i.includes("uint") || i.includes("bigint") || i.includes("smallint") || i.includes("tinyint") || i.includes("numeric") || i.includes("decimal") || i.includes("double") || i.includes("float") || i.includes("number") || i.includes("real") || i.includes("money") || i.includes("currency") || i.includes("percent") ? "number" : i.includes("timestamp") || i.includes("datetime") || i.startsWith("time") ? "datetime" : i.includes("date") ? "date" : i.includes("bool") ? "boolean" : "string" : "unknown";
2202
+ function $e(e) {
2203
+ const i = xa(e);
2204
+ return i ? Ia(i) ? "number" : i.includes("timestamp") || i.includes("datetime") || i.startsWith("time") ? "datetime" : i.includes("date") ? "date" : i.includes("bool") ? "boolean" : "string" : "unknown";
2205
+ }
2206
+ const Sa = /* @__PURE__ */ new Set([
2207
+ "int",
2208
+ "uint",
2209
+ "integer",
2210
+ "bigint",
2211
+ "smallint",
2212
+ "tinyint",
2213
+ "numeric",
2214
+ "decimal",
2215
+ "double",
2216
+ "float",
2217
+ "number",
2218
+ "real",
2219
+ "money",
2220
+ "currency",
2221
+ "percent"
2222
+ ]), ka = [
2223
+ "int",
2224
+ "uint",
2225
+ "decimal",
2226
+ "float"
2227
+ ];
2228
+ function Ia(e) {
2229
+ const i = e.split(/[\s(]/, 1)[0] || "";
2230
+ return Sa.has(i) ? !0 : ka.some((t) => {
2231
+ if (!i.startsWith(t)) return !1;
2232
+ const n = i.slice(t.length);
2233
+ return n.length > 0 && Array.from(n).every((s) => s >= "0" && s <= "9");
2234
+ });
2204
2235
  }
2205
- function Sa(e) {
2206
- let i = _e(e), t = "";
2236
+ function xa(e) {
2237
+ let i = ve(e), t = "";
2207
2238
  for (; i && i !== t; )
2208
- t = i, i = je(i, "nullable"), i = je(i, "lowcardinality");
2239
+ t = i, i = Ee(i, "nullable"), i = Ee(i, "lowcardinality");
2209
2240
  return i;
2210
2241
  }
2211
- function je(e, i) {
2242
+ function Ee(e, i) {
2212
2243
  const t = `${i}(`;
2213
2244
  return !e.startsWith(t) || !e.endsWith(")") ? e : e.slice(t.length, -1).trim();
2214
2245
  }
2215
- function ka(e) {
2216
- const i = ve(e);
2246
+ function Aa(e) {
2247
+ const i = $e(e);
2217
2248
  return i === "date" || i === "datetime";
2218
2249
  }
2219
2250
  function di(e) {
2220
- return ka(e.dataType || e.data_type);
2251
+ return Aa(e.dataType || e.data_type);
2221
2252
  }
2222
2253
  function ui(e) {
2223
2254
  const i = ci(e);
2224
2255
  return i === "id" || i === "row_id";
2225
2256
  }
2226
- function Ee(e) {
2257
+ function Ce(e) {
2227
2258
  const i = ci(e);
2228
2259
  return ui(e) || i.endsWith("_id") || i.endsWith("_key") || i.endsWith("_number");
2229
2260
  }
2230
2261
  function ci(e) {
2231
- return _e(
2262
+ return ve(
2232
2263
  $a(e) || e.name || e.alias
2233
2264
  ).replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
2234
2265
  }
2235
2266
  function pi(e, i = {}) {
2236
- const t = _e(e.role);
2237
- return t === "metric" || t === "measure" ? !i.excludeIdentifiers || !Ee(e) : t === "groupby" || t === "dimension" || t === "date" || t === "id" ? !1 : ve(
2267
+ const t = ve(e.role);
2268
+ return t === "metric" || t === "measure" ? !i.excludeIdentifiers || !Ce(e) : t === "groupby" || t === "dimension" || t === "date" || t === "id" ? !1 : $e(
2238
2269
  e.dataType || e.data_type
2239
- ) === "number" && (!i.excludeIdentifiers || !Ee(e));
2270
+ ) === "number" && (!i.excludeIdentifiers || !Ce(e));
2240
2271
  }
2241
- function qn(e) {
2272
+ function Bn(e) {
2242
2273
  return !pi(e) && !di(e);
2243
2274
  }
2244
- function Nn(e) {
2275
+ function Pn(e) {
2245
2276
  const i = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
2246
2277
  for (const s of e) {
2247
2278
  if (ui(s))
@@ -2265,7 +2296,7 @@ function Nn(e) {
2265
2296
  validDimensionCandidates: Array.from(n).sort()
2266
2297
  };
2267
2298
  }
2268
- const Ia = [
2299
+ const Ra = [
2269
2300
  "YYYY",
2270
2301
  "MMMM",
2271
2302
  "MMM",
@@ -2275,7 +2306,7 @@ const Ia = [
2275
2306
  "HH",
2276
2307
  "mm",
2277
2308
  "ss"
2278
- ], xa = /* @__PURE__ */ new Set([" ", "-", "/", ":", ".", ",", "T"]), mi = {
2309
+ ], Ma = /* @__PURE__ */ new Set([" ", "-", "/", ":", ".", ",", "T"]), mi = {
2279
2310
  week_of_short: "week",
2280
2311
  week_of_long: "week",
2281
2312
  quarter_short: "quarter",
@@ -2283,15 +2314,15 @@ const Ia = [
2283
2314
  fiscal_quarter_short: "quarter",
2284
2315
  fiscal_year: "year"
2285
2316
  };
2286
- function On(e) {
2317
+ function Kn(e) {
2287
2318
  return typeof e == "string" && Object.prototype.hasOwnProperty.call(mi, e);
2288
2319
  }
2289
- function Aa(e, i) {
2290
- return Ia.find(
2320
+ function Ta(e, i) {
2321
+ return Ra.find(
2291
2322
  (t) => e.startsWith(t, i)
2292
2323
  );
2293
2324
  }
2294
- function Ma(e) {
2325
+ function ja(e) {
2295
2326
  var s;
2296
2327
  if (!e || e.trim() !== e)
2297
2328
  return {
@@ -2302,7 +2333,7 @@ function Ma(e) {
2302
2333
  const i = [];
2303
2334
  let t = 0, n = !1;
2304
2335
  for (; t < e.length; ) {
2305
- const r = Aa(e, t);
2336
+ const r = Ta(e, t);
2306
2337
  if (r) {
2307
2338
  if (n)
2308
2339
  return {
@@ -2314,7 +2345,7 @@ function Ma(e) {
2314
2345
  continue;
2315
2346
  }
2316
2347
  const l = e[t];
2317
- if (!xa.has(l))
2348
+ if (!Ma.has(l))
2318
2349
  return {
2319
2350
  ok: !1,
2320
2351
  code: "invalid_temporal_bucket_pattern",
@@ -2335,23 +2366,23 @@ function Ma(e) {
2335
2366
  message: "Temporal bucket patterns cannot end with a separator."
2336
2367
  } : { ok: !0, segments: i };
2337
2368
  }
2338
- function Ra(e) {
2369
+ function Ea(e) {
2339
2370
  return e.flatMap(
2340
2371
  (i) => i.kind === "token" ? [i.value] : []
2341
2372
  );
2342
2373
  }
2343
- function Ce(e, i) {
2374
+ function Fe(e, i) {
2344
2375
  return e.filter((t) => i.includes(t)).length === 1;
2345
2376
  }
2346
2377
  function H(e, i) {
2347
2378
  return e.some((t) => i.includes(t));
2348
2379
  }
2349
- function Ta(e) {
2380
+ function Ca(e) {
2350
2381
  return new Set(e).size !== e.length;
2351
2382
  }
2352
- function ja(e, i) {
2353
- if (Ta(e)) return !1;
2354
- const t = ["YYYY", "YY"], n = ["MMMM", "MMM", "MM"], s = ["HH", "mm", "ss"], r = Ce(e, t), l = Ce(e, n), d = e.includes("DD"), u = H(e, s);
2383
+ function Fa(e, i) {
2384
+ if (Ca(e)) return !1;
2385
+ const t = ["YYYY", "YY"], n = ["MMMM", "MMM", "MM"], s = ["HH", "mm", "ss"], r = Fe(e, t), l = Fe(e, n), d = e.includes("DD"), u = H(e, s);
2355
2386
  switch (i) {
2356
2387
  case "second":
2357
2388
  return e.includes("HH") && e.includes("mm") && e.includes("ss") && (!H(e, [...t, ...n, "DD"]) || r && l && d);
@@ -2381,9 +2412,9 @@ function de(e, i) {
2381
2412
  message: `Preset ${e.presentation.preset} requires ${n} granularity.`
2382
2413
  };
2383
2414
  }
2384
- const t = Ma(e.presentation.pattern);
2385
- return t.ok ? ja(
2386
- Ra(t.segments),
2415
+ const t = ja(e.presentation.pattern);
2416
+ return t.ok ? Fa(
2417
+ Ea(t.segments),
2387
2418
  i
2388
2419
  ) ? { ok: !0, segments: t.segments } : {
2389
2420
  ok: !1,
@@ -2391,14 +2422,14 @@ function de(e, i) {
2391
2422
  message: `Pattern ${e.presentation.pattern} is not compatible with ${i} granularity.`
2392
2423
  } : t;
2393
2424
  }
2394
- function Bn(e, i) {
2425
+ function Vn(e, i) {
2395
2426
  if (!(!e || !i))
2396
2427
  return de(e, i).ok ? e : void 0;
2397
2428
  }
2398
2429
  function o(e, i, t) {
2399
2430
  return t ? { code: e, message: i, path: t } : { code: e, message: i };
2400
2431
  }
2401
- function Ea(e) {
2432
+ function Da(e) {
2402
2433
  for (let i = 0; i < e.length; i += 1) {
2403
2434
  const t = e[i];
2404
2435
  if (e.some(
@@ -2412,15 +2443,15 @@ function fi(e, i) {
2412
2443
  return Ei(e, i);
2413
2444
  }
2414
2445
  function gi(e, i) {
2415
- return fi(e, i) && N(e) === N(i);
2446
+ return fi(e, i) && q(e) === q(i);
2416
2447
  }
2417
- function Ca(e) {
2418
- return `Metric intent has duplicate measure "${e.name}" with the same aggregate (${N(e)}). Use different aggregates to request both, or remove one entry.`;
2448
+ function Na(e) {
2449
+ return `Metric intent has duplicate measure "${e.name}" with the same aggregate (${q(e)}). Use different aggregates to request both, or remove one entry.`;
2419
2450
  }
2420
2451
  function De(e) {
2421
2452
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
2422
2453
  }
2423
- function Da(e, i, t) {
2454
+ function qa(e, i, t) {
2424
2455
  if (e !== void 0) {
2425
2456
  if (!e || typeof e != "object" || Array.isArray(e)) {
2426
2457
  t.push(
@@ -2453,77 +2484,77 @@ function Da(e, i, t) {
2453
2484
  });
2454
2485
  }
2455
2486
  }
2456
- function Fa(e, i) {
2457
- return $e(e, i).length === 1;
2487
+ function Oa(e, i) {
2488
+ return we(e, i).length === 1;
2458
2489
  }
2459
- function qa(e, i) {
2460
- return $e(e, i).length === 1;
2490
+ function Ba(e, i) {
2491
+ return we(e, i).length === 1;
2461
2492
  }
2462
- function $e(e, i) {
2493
+ function we(e, i) {
2463
2494
  return i.filter(
2464
- (n) => Na(e, n)
2495
+ (n) => Pa(e, n)
2465
2496
  );
2466
2497
  }
2467
- function Na(e, i) {
2468
- return Oa(e, i) ? e.source ? fi(i, e) : !0 : !1;
2498
+ function Pa(e, i) {
2499
+ return Ka(e, i) ? e.source ? fi(i, e) : !0 : !1;
2469
2500
  }
2470
- function Oa(e, i) {
2471
- return !(i.name !== e.name || e.role !== void 0 && i.role !== void 0 && i.role !== e.role || Ba(e, i) && N(i) !== N(e));
2501
+ function Ka(e, i) {
2502
+ return !(i.name !== e.name || e.role !== void 0 && i.role !== void 0 && i.role !== e.role || Va(e, i) && q(i) !== q(e));
2472
2503
  }
2473
- function Ba(e, i) {
2504
+ function Va(e, i) {
2474
2505
  return e.role === "measure" || i.role === "measure" || e.aggregate !== void 0 || i.aggregate !== void 0;
2475
2506
  }
2476
- function N(e) {
2477
- return ge(e);
2507
+ function q(e) {
2508
+ return he(e);
2478
2509
  }
2479
- const Pa = /^(\d{4})-(\d{2})-(\d{2})$/, hi = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:\d{2})$/;
2510
+ const La = /^(\d{4})-(\d{2})-(\d{2})$/, hi = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:\d{2})$/;
2480
2511
  function ue(e) {
2481
2512
  if (typeof e != "string")
2482
2513
  return null;
2483
- const i = e.trim(), t = Pa.exec(i);
2514
+ const i = e.trim(), t = La.exec(i);
2484
2515
  if (t) {
2485
2516
  const [, v, T, j] = t;
2486
- return Fe(v, T, j) ? new Date(Date.UTC(Number(v), Number(T) - 1, Number(j))) : null;
2517
+ return Ne(v, T, j) ? new Date(Date.UTC(Number(v), Number(T) - 1, Number(j))) : null;
2487
2518
  }
2488
2519
  const n = hi.exec(i);
2489
2520
  if (!n)
2490
2521
  return null;
2491
2522
  const [, s, r, l, d, u, p = "00", , y] = n;
2492
- if (!Fe(s, r, l) || !F(d, 0, 23) || !F(u, 0, 59) || !F(p, 0, 59) || !Ka(y))
2523
+ if (!Ne(s, r, l) || !D(d, 0, 23) || !D(u, 0, 59) || !D(p, 0, 59) || !Ha(y))
2493
2524
  return null;
2494
2525
  const I = new Date(i);
2495
2526
  return Number.isFinite(I.getTime()) ? I : null;
2496
2527
  }
2497
- function Pn(e) {
2528
+ function Ln(e) {
2498
2529
  return typeof e != "string" || !hi.test(e.trim()) ? null : ue(e);
2499
2530
  }
2500
- function Fe(e, i, t) {
2531
+ function Ne(e, i, t) {
2501
2532
  const n = Number(e), s = Number(i), r = Number(t);
2502
2533
  if (!Number.isInteger(n) || !Number.isInteger(s) || !Number.isInteger(r) || s < 1 || s > 12)
2503
2534
  return !1;
2504
2535
  const l = new Date(Date.UTC(n, s - 1, r));
2505
2536
  return l.getUTCFullYear() === n && l.getUTCMonth() === s - 1 && l.getUTCDate() === r;
2506
2537
  }
2507
- function F(e, i, t) {
2538
+ function D(e, i, t) {
2508
2539
  const n = Number(e);
2509
2540
  return Number.isInteger(n) && n >= i && n <= t;
2510
2541
  }
2511
- function Ka(e) {
2542
+ function Ha(e) {
2512
2543
  if (e === "Z")
2513
2544
  return !0;
2514
2545
  const i = /^([+-])(\d{2}):(\d{2})$/.exec(e);
2515
- return !!(i && F(i[2], 0, 23) && F(i[3], 0, 59));
2546
+ return !!(i && D(i[2], 0, 23) && D(i[3], 0, 59));
2516
2547
  }
2517
2548
  function f(e) {
2518
2549
  return typeof e == "string" && e.trim().length > 0;
2519
2550
  }
2520
- function Va(e) {
2551
+ function Ua(e) {
2521
2552
  const i = /* @__PURE__ */ new Set();
2522
2553
  let t = 0;
2523
2554
  for (; t < e.length; ) {
2524
2555
  const n = e[t];
2525
2556
  if (n === "'" || n === '"') {
2526
- t = La(e, t);
2557
+ t = Ga(e, t);
2527
2558
  continue;
2528
2559
  }
2529
2560
  if (n === "{") {
@@ -2540,7 +2571,7 @@ function Va(e) {
2540
2571
  }
2541
2572
  return Array.from(i);
2542
2573
  }
2543
- function La(e, i) {
2574
+ function Ga(e, i) {
2544
2575
  const t = e[i];
2545
2576
  let n = i + 1;
2546
2577
  for (; n < e.length; ) {
@@ -2605,7 +2636,7 @@ function te(e, i, t, n) {
2605
2636
  )
2606
2637
  );
2607
2638
  }
2608
- const Ha = /* @__PURE__ */ new Set([
2639
+ const za = /* @__PURE__ */ new Set([
2609
2640
  "SUM",
2610
2641
  "COUNT",
2611
2642
  "AVG",
@@ -2614,7 +2645,7 @@ const Ha = /* @__PURE__ */ new Set([
2614
2645
  "MEDIAN",
2615
2646
  "DISTINCT"
2616
2647
  ]);
2617
- function we(e, i, t) {
2648
+ function Se(e, i, t) {
2618
2649
  if (!e || typeof e != "object") {
2619
2650
  t.push(
2620
2651
  o("missing_source", "Analytics intent needs a source.", i)
@@ -2680,9 +2711,9 @@ function g(e, i, t, n = {}) {
2680
2711
  "Field reference needs a name.",
2681
2712
  `${i}.name`
2682
2713
  )
2683
- ), e.source !== void 0 && we(e.source, `${i}.source`, t), k(e.aggregate, `${i}.aggregate`, t);
2714
+ ), e.source !== void 0 && Se(e.source, `${i}.source`, t), k(e.aggregate, `${i}.aggregate`, t);
2684
2715
  }
2685
- function Ua(e, i, t) {
2716
+ function Ya(e, i, t) {
2686
2717
  if (!m(e)) {
2687
2718
  t.push(
2688
2719
  o(
@@ -2705,13 +2736,13 @@ function Ua(e, i, t) {
2705
2736
  "Input binding kind must be filter or control.",
2706
2737
  `${i}.kind`
2707
2738
  )
2708
- ), e.field !== void 0 && g(e.field, `${i}.field`, t), e.relationshipHint !== void 0 && Se(
2739
+ ), e.field !== void 0 && g(e.field, `${i}.field`, t), e.relationshipHint !== void 0 && ke(
2709
2740
  e.relationshipHint,
2710
2741
  `${i}.relationshipHint`,
2711
2742
  t
2712
2743
  );
2713
2744
  }
2714
- function Se(e, i, t) {
2745
+ function ke(e, i, t) {
2715
2746
  if (!m(e)) {
2716
2747
  t.push(
2717
2748
  o(
@@ -2730,13 +2761,32 @@ function Se(e, i, t) {
2730
2761
  )
2731
2762
  );
2732
2763
  }
2733
- function Ga(e, i) {
2734
- if (f(e.inputId) || i.push(
2764
+ function Qa(e, i) {
2765
+ var n, s;
2766
+ if (((n = e.source) == null ? void 0 : n.kind) !== "semantic" && ((s = e.source) == null ? void 0 : s.kind) !== "physical" && i.push(
2767
+ o(
2768
+ "invalid_input_options_source",
2769
+ "Input options must use a semantic or physical source.",
2770
+ "source"
2771
+ )
2772
+ ), f(e.inputId) || i.push(
2735
2773
  o(
2736
2774
  "missing_input_options_input_id",
2737
2775
  "Input options intent needs the inputId it populates.",
2738
2776
  "inputId"
2739
2777
  )
2778
+ ), e.search !== void 0 && typeof e.search != "string" && i.push(
2779
+ o(
2780
+ "invalid_input_options_search",
2781
+ "Input options search must be a string.",
2782
+ "search"
2783
+ )
2784
+ ), e.limit !== void 0 && (typeof e.limit != "number" || !Number.isFinite(e.limit) || !Number.isInteger(e.limit) || e.limit <= 0) && i.push(
2785
+ o(
2786
+ "invalid_input_options_limit",
2787
+ "Input options limit must be a positive finite number.",
2788
+ "limit"
2789
+ )
2740
2790
  ), (!e.labelField || !f(e.labelField.name)) && i.push(
2741
2791
  o(
2742
2792
  "missing_input_options_label_field",
@@ -2755,8 +2805,8 @@ function Ga(e, i) {
2755
2805
  required: !0
2756
2806
  }), e.searchField !== void 0 && g(e.searchField, "searchField", i, {
2757
2807
  required: !0
2758
- }), e.disambiguationFields !== void 0 && (Array.isArray(e.disambiguationFields) ? e.disambiguationFields.forEach((t, n) => {
2759
- g(t, `disambiguationFields.${n}`, i, {
2808
+ }), e.disambiguationFields !== void 0 && (Array.isArray(e.disambiguationFields) ? e.disambiguationFields.forEach((r, l) => {
2809
+ g(r, `disambiguationFields.${l}`, i, {
2760
2810
  required: !0
2761
2811
  });
2762
2812
  }) : i.push(
@@ -2765,9 +2815,25 @@ function Ga(e, i) {
2765
2815
  "Input options disambiguationFields must be an array of field refs.",
2766
2816
  "disambiguationFields"
2767
2817
  )
2768
- )), e.dependencies !== void 0) {
2769
- const t = e.dependencies;
2770
- if (!m(t))
2818
+ )), [
2819
+ { field: e.labelField, path: "labelField" },
2820
+ { field: e.valueField, path: "valueField" },
2821
+ ...e.searchField ? [{ field: e.searchField, path: "searchField" }] : [],
2822
+ ...Array.isArray(e.disambiguationFields) ? e.disambiguationFields.map((r, l) => ({
2823
+ field: r,
2824
+ path: `disambiguationFields.${l}`
2825
+ })) : []
2826
+ ].forEach(({ field: r, path: l }) => {
2827
+ r != null && r.source && !ge(r.source, e.source) && i.push(
2828
+ o(
2829
+ "input_options_field_source_mismatch",
2830
+ "Input option fields must belong to the declared option source.",
2831
+ `${l}.source`
2832
+ )
2833
+ );
2834
+ }), e.dependencies !== void 0) {
2835
+ const r = e.dependencies;
2836
+ if (!m(r))
2771
2837
  i.push(
2772
2838
  o(
2773
2839
  "invalid_input_options_dependencies",
@@ -2776,29 +2842,29 @@ function Ga(e, i) {
2776
2842
  )
2777
2843
  );
2778
2844
  else {
2779
- const n = t.mode;
2780
- n !== void 0 && n !== "independent" && n !== "explicit" && i.push(
2845
+ const l = r.mode;
2846
+ l !== void 0 && l !== "independent" && l !== "explicit" && i.push(
2781
2847
  o(
2782
2848
  "invalid_input_options_dependencies",
2783
2849
  "Input options dependencies mode must be independent or explicit.",
2784
2850
  "dependencies.mode"
2785
2851
  )
2786
- ), Ne(
2787
- t.includeInputIds,
2852
+ ), Oe(
2853
+ r.includeInputIds,
2788
2854
  "dependencies.includeInputIds",
2789
2855
  i,
2790
2856
  "Input options includeInputIds must be non-empty strings."
2791
- ), Ne(
2792
- t.excludeInputIds,
2857
+ ), Oe(
2858
+ r.excludeInputIds,
2793
2859
  "dependencies.excludeInputIds",
2794
2860
  i,
2795
2861
  "Input options excludeInputIds must be non-empty strings."
2796
- ), Ya(e, i);
2862
+ ), Xa(e, i);
2797
2863
  }
2798
2864
  }
2799
2865
  if (e.population !== void 0) {
2800
- const t = e.population;
2801
- if (!m(t))
2866
+ const r = e.population;
2867
+ if (!m(r))
2802
2868
  i.push(
2803
2869
  o(
2804
2870
  "invalid_input_options_population",
@@ -2807,38 +2873,38 @@ function Ga(e, i) {
2807
2873
  )
2808
2874
  );
2809
2875
  else {
2810
- const n = t.kind;
2811
- n !== "option_source" && n !== "related_population" && i.push(
2876
+ const l = r.kind;
2877
+ l !== "option_source" && l !== "related_population" && i.push(
2812
2878
  o(
2813
2879
  "invalid_input_options_population",
2814
2880
  "Input options population kind must be option_source or related_population.",
2815
2881
  "population.kind"
2816
2882
  )
2817
- ), n === "option_source" && t.baseSource !== void 0 && i.push(
2883
+ ), l === "option_source" && r.baseSource !== void 0 && i.push(
2818
2884
  o(
2819
2885
  "invalid_input_options_population",
2820
2886
  "Input options population baseSource is only valid for related_population.",
2821
2887
  "population.baseSource"
2822
2888
  )
2823
- ), n === "option_source" && t.relationshipHint !== void 0 && i.push(
2889
+ ), l === "option_source" && r.relationshipHint !== void 0 && i.push(
2824
2890
  o(
2825
2891
  "invalid_input_options_population",
2826
2892
  "Input options population relationshipHint is only valid for related_population.",
2827
2893
  "population.relationshipHint"
2828
2894
  )
2829
- ), n === "related_population" && (we(
2830
- t.baseSource,
2895
+ ), l === "related_population" && (Se(
2896
+ r.baseSource,
2831
2897
  "population.baseSource",
2832
2898
  i
2833
- ), t.relationshipHint !== void 0 && Se(
2834
- t.relationshipHint,
2899
+ ), r.relationshipHint !== void 0 && ke(
2900
+ r.relationshipHint,
2835
2901
  "population.relationshipHint",
2836
2902
  i
2837
2903
  ));
2838
2904
  }
2839
2905
  }
2840
2906
  }
2841
- function za(e, i) {
2907
+ function Za(e, i) {
2842
2908
  if (!(!("inputs" in e) || e.inputs === void 0)) {
2843
2909
  if (!Array.isArray(e.inputs)) {
2844
2910
  i.push(
@@ -2851,11 +2917,11 @@ function za(e, i) {
2851
2917
  return;
2852
2918
  }
2853
2919
  e.inputs.forEach(
2854
- (t, n) => Ua(t, `inputs.${n}`, i)
2920
+ (t, n) => Ya(t, `inputs.${n}`, i)
2855
2921
  );
2856
2922
  }
2857
2923
  }
2858
- function Ya(e, i) {
2924
+ function Xa(e, i) {
2859
2925
  var n, s;
2860
2926
  const t = new Set(
2861
2927
  Array.isArray(e.inputs) ? e.inputs.map((r) => m(r) ? r.inputId : void 0).filter((r) => typeof r == "string") : []
@@ -2877,11 +2943,11 @@ function Ya(e, i) {
2877
2943
  )
2878
2944
  );
2879
2945
  }
2880
- function Ne(e, i, t, n) {
2946
+ function Oe(e, i, t, n) {
2881
2947
  e !== void 0 && (!Array.isArray(e) || e.some((s) => !f(s))) && t.push(o("invalid_input_options_dependencies", n, i));
2882
2948
  }
2883
2949
  function k(e, i, t) {
2884
- e !== void 0 && (typeof e != "string" || !Ha.has(e)) && t.push(
2950
+ e !== void 0 && (typeof e != "string" || !za.has(e)) && t.push(
2885
2951
  o(
2886
2952
  "invalid_aggregate",
2887
2953
  "Field aggregate must be SUM, COUNT, AVG, MIN, MAX, MEDIAN, or DISTINCT.",
@@ -2889,20 +2955,20 @@ function k(e, i, t) {
2889
2955
  )
2890
2956
  );
2891
2957
  }
2892
- const Qa = /* @__PURE__ */ new Set([
2958
+ const Wa = /* @__PURE__ */ new Set([
2893
2959
  "measure",
2894
2960
  "dimension",
2895
2961
  "date",
2896
2962
  "id",
2897
2963
  "unknown"
2898
- ]), Za = /* @__PURE__ */ new Set(["row", "aggregate"]), yi = /* @__PURE__ */ new Set([
2964
+ ]), Ja = /* @__PURE__ */ new Set(["row", "aggregate"]), yi = /* @__PURE__ */ new Set([
2899
2965
  "string",
2900
2966
  "number",
2901
2967
  "boolean",
2902
2968
  "date",
2903
2969
  "datetime",
2904
2970
  "unknown"
2905
- ]), Xa = /* @__PURE__ */ new Set([
2971
+ ]), en = /* @__PURE__ */ new Set([
2906
2972
  "number",
2907
2973
  "currency",
2908
2974
  "percent",
@@ -2913,13 +2979,13 @@ const Qa = /* @__PURE__ */ new Set([
2913
2979
  "duration",
2914
2980
  "string",
2915
2981
  "temporal_bucket"
2916
- ]), Wa = new Set(O), Ja = /* @__PURE__ */ new Set([
2982
+ ]), tn = new Set(O), an = /* @__PURE__ */ new Set([
2917
2983
  "millisecond",
2918
2984
  "second",
2919
2985
  "minute",
2920
2986
  "hour",
2921
2987
  "day"
2922
- ]), en = /* @__PURE__ */ new Set(["compact", "digital", "long"]);
2988
+ ]), nn = /* @__PURE__ */ new Set(["compact", "digital", "long"]);
2923
2989
  function bi(e, i, t) {
2924
2990
  if (e === void 0)
2925
2991
  return;
@@ -2934,7 +3000,7 @@ function bi(e, i, t) {
2934
3000
  return;
2935
3001
  }
2936
3002
  const n = e;
2937
- (typeof n.type != "string" || !Xa.has(n.type)) && t.push(
3003
+ (typeof n.type != "string" || !en.has(n.type)) && t.push(
2938
3004
  o(
2939
3005
  "invalid_value_format_type",
2940
3006
  "Value format type must be number, currency, percent, percentage, scientific, date, datetime, duration, string, or temporal_bucket.",
@@ -2981,7 +3047,7 @@ function bi(e, i, t) {
2981
3047
  );
2982
3048
  for (const s of ["inputUnit", "largestUnit", "smallestUnit"]) {
2983
3049
  const r = e[s];
2984
- r !== void 0 && (typeof r != "string" || !Ja.has(r)) && t.push(
3050
+ r !== void 0 && (typeof r != "string" || !an.has(r)) && t.push(
2985
3051
  o(
2986
3052
  "invalid_value_format_duration_unit",
2987
3053
  "Duration format units must be millisecond, second, minute, hour, or day.",
@@ -2989,7 +3055,7 @@ function bi(e, i, t) {
2989
3055
  )
2990
3056
  );
2991
3057
  }
2992
- e.outputStyle !== void 0 && (typeof e.outputStyle != "string" || !en.has(e.outputStyle)) && t.push(
3058
+ e.outputStyle !== void 0 && (typeof e.outputStyle != "string" || !nn.has(e.outputStyle)) && t.push(
2993
3059
  o(
2994
3060
  "invalid_value_format_duration_style",
2995
3061
  "Duration format outputStyle must be compact, digital, or long.",
@@ -3019,20 +3085,20 @@ function U(e, i, t) {
3019
3085
  )
3020
3086
  );
3021
3087
  }
3022
- const tn = /* @__PURE__ */ new Set([
3088
+ const sn = /* @__PURE__ */ new Set([
3023
3089
  "additive",
3024
3090
  "non_additive",
3025
3091
  "ratio_of_sums",
3026
3092
  "weighted",
3027
3093
  "pre_aggregated",
3028
3094
  "snapshot"
3029
- ]), an = /* @__PURE__ */ new Set([
3095
+ ]), on = /* @__PURE__ */ new Set([
3030
3096
  "default",
3031
3097
  "symmetric_aggregate",
3032
3098
  "aggregate_then_join",
3033
3099
  "weighted"
3034
3100
  ]);
3035
- function nn(e, i, t) {
3101
+ function rn(e, i, t) {
3036
3102
  if (!e || !m(e)) {
3037
3103
  t.push(
3038
3104
  o(
@@ -3055,7 +3121,7 @@ function nn(e, i, t) {
3055
3121
  )
3056
3122
  );
3057
3123
  }
3058
- function Oe(e, i, t) {
3124
+ function Be(e, i, t) {
3059
3125
  if (!m(e)) {
3060
3126
  t.push(
3061
3127
  o(
@@ -3081,7 +3147,7 @@ function Oe(e, i, t) {
3081
3147
  required: !0
3082
3148
  });
3083
3149
  }
3084
- function sn(e, i, t) {
3150
+ function ln(e, i, t) {
3085
3151
  if (!m(e)) {
3086
3152
  t.push(
3087
3153
  o(
@@ -3106,7 +3172,7 @@ function sn(e, i, t) {
3106
3172
  )
3107
3173
  ), _i(e.format, `${i}.format`, t);
3108
3174
  }
3109
- function on(e, i, t) {
3175
+ function dn(e, i, t) {
3110
3176
  e !== void 0 && (xi(e) || t.push(
3111
3177
  o(
3112
3178
  "invalid_time_grain",
@@ -3132,7 +3198,7 @@ function wi(e, i, t, n) {
3132
3198
  o(n, "Sort scope must be global or withinParent.", i)
3133
3199
  );
3134
3200
  }
3135
- function rn(e, i, t) {
3201
+ function un(e, i, t) {
3136
3202
  e.enabled !== void 0 && typeof e.enabled != "boolean" && t.push(
3137
3203
  o(
3138
3204
  "invalid_matrix_subtotal",
@@ -3153,7 +3219,7 @@ function rn(e, i, t) {
3153
3219
  )
3154
3220
  );
3155
3221
  }
3156
- function ln(e, i, t) {
3222
+ function cn(e, i, t) {
3157
3223
  if (vi(
3158
3224
  e.direction,
3159
3225
  `${i}.direction`,
@@ -3195,7 +3261,7 @@ function ln(e, i, t) {
3195
3261
  );
3196
3262
  }
3197
3263
  }
3198
- function Be(e, i, t, n) {
3264
+ function Pe(e, i, t, n) {
3199
3265
  if (!Array.isArray(e))
3200
3266
  return n.required ? t.push(
3201
3267
  o(
@@ -3240,8 +3306,8 @@ function Be(e, i, t, n) {
3240
3306
  )
3241
3307
  ), g(u.field, `${d}.field`, t, {
3242
3308
  required: !0
3243
- }), on(u.grain, `${d}.grain`, t);
3244
- const p = ve(
3309
+ }), dn(u.grain, `${d}.grain`, t);
3310
+ const p = $e(
3245
3311
  (T = u.field) == null ? void 0 : T.dataType
3246
3312
  ), y = ((j = u.field) == null ? void 0 : j.role) === "date" || p === "date" || p === "datetime", I = p === "string" || p === "number" || p === "boolean";
3247
3313
  y && !u.grain && t.push(
@@ -3274,15 +3340,15 @@ function Be(e, i, t, n) {
3274
3340
  ));
3275
3341
  const v = u.semanticTemporalPresentation;
3276
3342
  if (v !== void 0) {
3277
- const ke = v == null ? void 0 : v.format;
3278
- !u.grain || (v == null ? void 0 : v.granularity) !== u.grain || !oe.safeParse(ke).success ? t.push(
3343
+ const Ie = v == null ? void 0 : v.format;
3344
+ !u.grain || (v == null ? void 0 : v.granularity) !== u.grain || !oe.safeParse(Ie).success ? t.push(
3279
3345
  o(
3280
3346
  "invalid_matrix_temporal_format",
3281
3347
  "Matrix semantic temporal presentation must match the selected grain.",
3282
3348
  `${d}.semanticTemporalPresentation`
3283
3349
  )
3284
3350
  ) : de(
3285
- ke,
3351
+ Ie,
3286
3352
  u.grain
3287
3353
  ).ok || t.push(
3288
3354
  o(
@@ -3298,7 +3364,7 @@ function Be(e, i, t, n) {
3298
3364
  "Matrix axis level label must be a string.",
3299
3365
  `${d}.label`
3300
3366
  )
3301
- ), u.subtotal !== void 0 && typeof u.subtotal != "boolean" && (m(u.subtotal) ? rn(
3367
+ ), u.subtotal !== void 0 && typeof u.subtotal != "boolean" && (m(u.subtotal) ? un(
3302
3368
  u.subtotal,
3303
3369
  `${d}.subtotal`,
3304
3370
  t
@@ -3308,7 +3374,7 @@ function Be(e, i, t, n) {
3308
3374
  "Matrix subtotal must be a boolean or structured options object.",
3309
3375
  `${d}.subtotal`
3310
3376
  )
3311
- )), u.sortBy !== void 0 && (m(u.sortBy) ? ln(
3377
+ )), u.sortBy !== void 0 && (m(u.sortBy) ? cn(
3312
3378
  u.sortBy,
3313
3379
  `${d}.sortBy`,
3314
3380
  t
@@ -3321,7 +3387,7 @@ function Be(e, i, t, n) {
3321
3387
  ));
3322
3388
  }), s;
3323
3389
  }
3324
- function dn(e, i, t) {
3390
+ function pn(e, i, t) {
3325
3391
  if (!m(e)) {
3326
3392
  t.push(
3327
3393
  o(
@@ -3362,7 +3428,7 @@ function dn(e, i, t) {
3362
3428
  )
3363
3429
  );
3364
3430
  }
3365
- function un(e, i, t) {
3431
+ function mn(e, i, t) {
3366
3432
  if (!Array.isArray(e) || e.length === 0)
3367
3433
  return t.push(
3368
3434
  o(
@@ -3407,14 +3473,14 @@ function un(e, i, t) {
3407
3473
  "Matrix value label must be a string.",
3408
3474
  `${l}.label`
3409
3475
  )
3410
- ), d.totalBehavior !== void 0 && dn(
3476
+ ), d.totalBehavior !== void 0 && pn(
3411
3477
  d.totalBehavior,
3412
3478
  `${l}.totalBehavior`,
3413
3479
  t
3414
3480
  );
3415
3481
  }), n;
3416
3482
  }
3417
- function cn(e, i, t) {
3483
+ function fn(e, i, t) {
3418
3484
  if (!m(e)) {
3419
3485
  t.push(
3420
3486
  o(
@@ -3518,7 +3584,7 @@ function pe(e, i, t, n) {
3518
3584
  );
3519
3585
  });
3520
3586
  }
3521
- function Pe(e, i, t, n) {
3587
+ function Ke(e, i, t, n) {
3522
3588
  if (!m(e)) {
3523
3589
  n.push(
3524
3590
  o(
@@ -3556,7 +3622,7 @@ function Pe(e, i, t, n) {
3556
3622
  )
3557
3623
  ));
3558
3624
  }
3559
- function pn(e, i, t, n) {
3625
+ function gn(e, i, t, n) {
3560
3626
  if (e !== void 0) {
3561
3627
  if (!m(e)) {
3562
3628
  n.push(
@@ -3568,12 +3634,12 @@ function pn(e, i, t, n) {
3568
3634
  );
3569
3635
  return;
3570
3636
  }
3571
- e.rows !== void 0 && Pe(
3637
+ e.rows !== void 0 && Ke(
3572
3638
  e.rows,
3573
3639
  "expansion.rows",
3574
3640
  i,
3575
3641
  n
3576
- ), e.columns !== void 0 && Pe(
3642
+ ), e.columns !== void 0 && Ke(
3577
3643
  e.columns,
3578
3644
  "expansion.columns",
3579
3645
  t,
@@ -3581,7 +3647,7 @@ function pn(e, i, t, n) {
3581
3647
  );
3582
3648
  }
3583
3649
  }
3584
- function mn(e, i, t, n, s) {
3650
+ function hn(e, i, t, n, s) {
3585
3651
  if (e !== void 0) {
3586
3652
  if (!Array.isArray(e)) {
3587
3653
  s.push(
@@ -3687,7 +3753,7 @@ function mn(e, i, t, n, s) {
3687
3753
  });
3688
3754
  }
3689
3755
  }
3690
- function fn(e, i) {
3756
+ function yn(e, i) {
3691
3757
  if (e !== void 0) {
3692
3758
  if (!m(e)) {
3693
3759
  i.push(
@@ -3726,7 +3792,7 @@ function fn(e, i) {
3726
3792
  );
3727
3793
  }
3728
3794
  }
3729
- function Ke(e, i, t) {
3795
+ function Ve(e, i, t) {
3730
3796
  if (!m(e)) {
3731
3797
  t.push(
3732
3798
  o(
@@ -3753,7 +3819,7 @@ function Ke(e, i, t) {
3753
3819
  )
3754
3820
  );
3755
3821
  }
3756
- function gn(e, i) {
3822
+ function bn(e, i) {
3757
3823
  if (e !== void 0) {
3758
3824
  if (!m(e)) {
3759
3825
  i.push(
@@ -3765,11 +3831,11 @@ function gn(e, i) {
3765
3831
  );
3766
3832
  return;
3767
3833
  }
3768
- e.rows !== void 0 && Ke(
3834
+ e.rows !== void 0 && Ve(
3769
3835
  e.rows,
3770
3836
  "displayLimits.rows",
3771
3837
  i
3772
- ), e.columns !== void 0 && Ke(
3838
+ ), e.columns !== void 0 && Ve(
3773
3839
  e.columns,
3774
3840
  "displayLimits.columns",
3775
3841
  i
@@ -3784,7 +3850,7 @@ function gn(e, i) {
3784
3850
  );
3785
3851
  }
3786
3852
  }
3787
- function hn(e, i) {
3853
+ function _n(e, i) {
3788
3854
  var u;
3789
3855
  ((u = e.source) == null ? void 0 : u.kind) === "sql" && i.push(
3790
3856
  o(
@@ -3793,12 +3859,12 @@ function hn(e, i) {
3793
3859
  "source.kind"
3794
3860
  )
3795
3861
  );
3796
- const t = Be(e.rows, "rows", i, {
3862
+ const t = Pe(e.rows, "rows", i, {
3797
3863
  required: !0
3798
- }), n = Be(e.columns, "columns", i, {
3864
+ }), n = Pe(e.columns, "columns", i, {
3799
3865
  required: !1
3800
- }), s = un(e.values, "values", i);
3801
- z(e.filters, "filters", i), e.totals !== void 0 && cn(e.totals, "totals", i), te(
3866
+ }), s = mn(e.values, "values", i);
3867
+ z(e.filters, "filters", i), e.totals !== void 0 && fn(e.totals, "totals", i), te(
3802
3868
  t.map((p) => p.id),
3803
3869
  "rows",
3804
3870
  "row axis level",
@@ -3821,20 +3887,20 @@ function hn(e, i) {
3821
3887
  ), d = new Set(
3822
3888
  s.map((p) => p.id).filter((p) => f(p))
3823
3889
  );
3824
- mn(
3890
+ hn(
3825
3891
  e.sort,
3826
3892
  r,
3827
3893
  l,
3828
3894
  d,
3829
3895
  i
3830
- ), pn(
3896
+ ), gn(
3831
3897
  e.expansion,
3832
3898
  r,
3833
3899
  l,
3834
3900
  i
3835
- ), fn(e.layout, i), gn(e.displayLimits, i);
3901
+ ), yn(e.layout, i), bn(e.displayLimits, i);
3836
3902
  }
3837
- function yn(e, i) {
3903
+ function vn(e, i) {
3838
3904
  if (e.analysis === void 0)
3839
3905
  return;
3840
3906
  if (!m(e.analysis)) {
@@ -3933,7 +3999,7 @@ function me(e, i, t) {
3933
3999
  }
3934
4000
  return;
3935
4001
  }
3936
- (typeof e.unit != "string" || !Wa.has(e.unit)) && t.push(
4002
+ (typeof e.unit != "string" || !tn.has(e.unit)) && t.push(
3937
4003
  o(
3938
4004
  "invalid_time_window",
3939
4005
  `Time window unit must be one of: ${O.join(", ")}.`,
@@ -4056,7 +4122,7 @@ function z(e, i, t) {
4056
4122
  });
4057
4123
  }
4058
4124
  }
4059
- function bn(e) {
4125
+ function $n(e) {
4060
4126
  const i = [];
4061
4127
  if (!m(e))
4062
4128
  return i.push(
@@ -4083,7 +4149,7 @@ function bn(e) {
4083
4149
  "Derived field needs a label.",
4084
4150
  "label"
4085
4151
  )
4086
- ), Qa.has(e.resultRole) || i.push(
4152
+ ), Wa.has(e.resultRole) || i.push(
4087
4153
  o(
4088
4154
  "invalid_derived_field_role",
4089
4155
  "Derived field resultRole must be measure, dimension, date, id, or unknown.",
@@ -4095,7 +4161,7 @@ function bn(e) {
4095
4161
  "Derived field dataType must be string, number, boolean, date, datetime, or unknown.",
4096
4162
  "dataType"
4097
4163
  )
4098
- ), Za.has(e.computeStage) || i.push(
4164
+ ), Ja.has(e.computeStage) || i.push(
4099
4165
  o(
4100
4166
  "invalid_derived_field_compute_stage",
4101
4167
  "Derived field computeStage must be row or aggregate.",
@@ -4123,7 +4189,7 @@ function bn(e) {
4123
4189
  e.defaultAggregate,
4124
4190
  "defaultAggregate",
4125
4191
  i
4126
- ), e.aggregationBehavior !== void 0 && !tn.has(
4192
+ ), e.aggregationBehavior !== void 0 && !sn.has(
4127
4193
  e.aggregationBehavior
4128
4194
  ) && i.push(
4129
4195
  o(
@@ -4131,7 +4197,7 @@ function bn(e) {
4131
4197
  "Derived field aggregationBehavior is not supported.",
4132
4198
  "aggregationBehavior"
4133
4199
  )
4134
- ), e.aggregationStrategy !== void 0 && !an.has(
4200
+ ), e.aggregationStrategy !== void 0 && !on.has(
4135
4201
  e.aggregationStrategy
4136
4202
  ) && i.push(
4137
4203
  o(
@@ -4168,13 +4234,13 @@ function bn(e) {
4168
4234
  );
4169
4235
  return;
4170
4236
  }
4171
- nn(
4237
+ rn(
4172
4238
  s,
4173
4239
  `inputs.${n}`,
4174
4240
  i
4175
4241
  );
4176
4242
  }), f(e.expression) && m(e.inputs)) {
4177
- const n = Va(
4243
+ const n = Ua(
4178
4244
  e.expression
4179
4245
  ), s = new Set(n), r = Object.keys(e.inputs).filter(
4180
4246
  (l) => f(l)
@@ -4212,7 +4278,7 @@ function bn(e) {
4212
4278
  )
4213
4279
  ), { ok: i.length === 0, errors: i, warnings: [] };
4214
4280
  }
4215
- function Kn(e) {
4281
+ function Hn(e) {
4216
4282
  const i = [];
4217
4283
  if (!m(e))
4218
4284
  return i.push(
@@ -4239,7 +4305,7 @@ function Kn(e) {
4239
4305
  "Result calculation kind must be percent_of_total, rank, running_total, or previous_row_delta.",
4240
4306
  "kind"
4241
4307
  )
4242
- ), Oe(e.input, "input", i), sn(e.output, "output", i), e.kind === "percent_of_total") {
4308
+ ), Be(e.input, "input", i), ln(e.output, "output", i), e.kind === "percent_of_total") {
4243
4309
  const t = e.denominator;
4244
4310
  t !== void 0 && (m(t) ? t.scope === "population" ? (g(t.metric, "denominator.metric", i, {
4245
4311
  required: !0
@@ -4267,7 +4333,7 @@ function Kn(e) {
4267
4333
  "Rank result calculation order must be asc or desc.",
4268
4334
  "order"
4269
4335
  )
4270
- ), (e.kind === "running_total" || e.kind === "previous_row_delta") && e.orderBy !== void 0 && Oe(e.orderBy, "orderBy", i), { ok: i.length === 0, errors: i, warnings: [] };
4336
+ ), (e.kind === "running_total" || e.kind === "previous_row_delta") && e.orderBy !== void 0 && Be(e.orderBy, "orderBy", i), { ok: i.length === 0, errors: i, warnings: [] };
4271
4337
  }
4272
4338
  function Si(e) {
4273
4339
  var n;
@@ -4295,7 +4361,7 @@ function Si(e) {
4295
4361
  "Analytics intent version must be 1.",
4296
4362
  "version"
4297
4363
  )
4298
- ), we(e.source, "source", i), _n(e, i), za(e, i), "relationshipHint" in e && e.relationshipHint !== void 0 && Se(
4364
+ ), Se(e.source, "source", i), wn(e, i), Za(e, i), "relationshipHint" in e && e.relationshipHint !== void 0 && ke(
4299
4365
  e.relationshipHint,
4300
4366
  "relationshipHint",
4301
4367
  i
@@ -4321,7 +4387,7 @@ function Si(e) {
4321
4387
  g(r, `measures.${l}`, i, {
4322
4388
  required: !0
4323
4389
  });
4324
- }), s.length > 0 && !Ea(s)) {
4390
+ }), s.length > 0 && !Da(s)) {
4325
4391
  const r = s.find(
4326
4392
  (l, d) => s.some(
4327
4393
  (u, p) => p !== d && gi(u, l)
@@ -4330,12 +4396,12 @@ function Si(e) {
4330
4396
  r && i.push(
4331
4397
  o(
4332
4398
  "duplicate_measure",
4333
- Ca(r),
4399
+ Na(r),
4334
4400
  "measures"
4335
4401
  )
4336
4402
  );
4337
4403
  }
4338
- if (m(e.primaryMeasure) && f(e.primaryMeasure.name) && $e(
4404
+ if (m(e.primaryMeasure) && f(e.primaryMeasure.name) && we(
4339
4405
  e.primaryMeasure,
4340
4406
  s
4341
4407
  ).length > 1 && i.push(
@@ -4346,7 +4412,7 @@ function Si(e) {
4346
4412
  )
4347
4413
  ), e.primaryMeasure !== void 0 && (g(e.primaryMeasure, "primaryMeasure", i, {
4348
4414
  required: !0
4349
- }), m(e.primaryMeasure) && f(e.primaryMeasure.name) && s.length > 0 && !Fa(
4415
+ }), m(e.primaryMeasure) && f(e.primaryMeasure.name) && s.length > 0 && !Oa(
4350
4416
  e.primaryMeasure,
4351
4417
  s
4352
4418
  ) && i.push(
@@ -4402,7 +4468,7 @@ function Si(e) {
4402
4468
  (l) => m(l) && f(l.name)
4403
4469
  ) : []
4404
4470
  ];
4405
- r.length > 0 && !qa(
4471
+ r.length > 0 && !Ba(
4406
4472
  e.orderBy.field,
4407
4473
  r
4408
4474
  ) && i.push(
@@ -4414,7 +4480,7 @@ function Si(e) {
4414
4480
  );
4415
4481
  }
4416
4482
  }
4417
- yn(e, i);
4483
+ vn(e, i);
4418
4484
  } else if (e.kind === "records") {
4419
4485
  if (!Array.isArray(e.fields) || e.fields.length === 0 ? i.push(
4420
4486
  o(
@@ -4496,7 +4562,7 @@ function Si(e) {
4496
4562
  );
4497
4563
  });
4498
4564
  }
4499
- } else e.kind === "inputOptions" ? Ga(e, i) : e.kind === "matrix" ? hn(e, i) : e.kind === "sql" ? (((n = e.source) == null ? void 0 : n.kind) !== "sql" && i.push(
4565
+ } else e.kind === "inputOptions" ? Qa(e, i) : e.kind === "matrix" ? _n(e, i) : e.kind === "sql" ? (((n = e.source) == null ? void 0 : n.kind) !== "sql" && i.push(
4500
4566
  o(
4501
4567
  "invalid_sql_source",
4502
4568
  "SQL analytics intent must use a SQL execution source.",
@@ -4504,7 +4570,7 @@ function Si(e) {
4504
4570
  )
4505
4571
  ), f(e.sql) || i.push(
4506
4572
  o("missing_sql", "SQL analytics intent needs SQL text.", "sql")
4507
- ), Da(
4573
+ ), qa(
4508
4574
  e.defaultParameters,
4509
4575
  "defaultParameters",
4510
4576
  i
@@ -4521,10 +4587,10 @@ function Si(e) {
4521
4587
  ok: i.length === 0,
4522
4588
  errors: i,
4523
4589
  warnings: t,
4524
- repairHints: $n(i)
4590
+ repairHints: kn(i)
4525
4591
  };
4526
4592
  }
4527
- function _n(e, i) {
4593
+ function wn(e, i) {
4528
4594
  if (!(!("derivedFields" in e) || e.derivedFields === void 0)) {
4529
4595
  if (!Array.isArray(e.derivedFields)) {
4530
4596
  i.push(
@@ -4537,7 +4603,7 @@ function _n(e, i) {
4537
4603
  return;
4538
4604
  }
4539
4605
  e.derivedFields.forEach((t, n) => {
4540
- bn(
4606
+ $n(
4541
4607
  t
4542
4608
  ).errors.forEach((r) => {
4543
4609
  i.push({
@@ -4548,7 +4614,7 @@ function _n(e, i) {
4548
4614
  });
4549
4615
  }
4550
4616
  }
4551
- function vn(e) {
4617
+ function Sn(e) {
4552
4618
  const i = [], t = [];
4553
4619
  if (!e || typeof e != "object")
4554
4620
  return {
@@ -4623,7 +4689,7 @@ function vn(e) {
4623
4689
  repairHints: ki(i)
4624
4690
  };
4625
4691
  }
4626
- function Vn(e) {
4692
+ function Un(e) {
4627
4693
  const i = [], t = [];
4628
4694
  if (!e || typeof e != "object")
4629
4695
  return {
@@ -4651,7 +4717,7 @@ function Vn(e) {
4651
4717
  "kind"
4652
4718
  )
4653
4719
  );
4654
- const n = vn(
4720
+ const n = Sn(
4655
4721
  e.operationIntent
4656
4722
  );
4657
4723
  return i.push(...n.errors), t.push(...n.warnings), Array.isArray(e.plannedToolCalls) || i.push(
@@ -4673,7 +4739,7 @@ function ki(e) {
4673
4739
  recommendedNextStep: i.code === "missing_obligations" ? "Normalize the user request into one or more typed analytics obligations before recovery planning." : "Correct the operation/recovery contract shape before planning execution."
4674
4740
  }));
4675
4741
  }
4676
- function $n(e) {
4742
+ function kn(e) {
4677
4743
  return e.map((i) => {
4678
4744
  switch (i.code) {
4679
4745
  case "missing_source":
@@ -4756,7 +4822,7 @@ function $n(e) {
4756
4822
  }
4757
4823
  }).filter((i) => !!i);
4758
4824
  }
4759
- function wn(e, i, t, n) {
4825
+ function In(e, i, t, n) {
4760
4826
  if (!e || typeof e != "object") {
4761
4827
  t.push(
4762
4828
  o("invalid_view", "Dashboard view must be an object.", i)
@@ -4820,7 +4886,7 @@ function wn(e, i, t, n) {
4820
4886
  )
4821
4887
  );
4822
4888
  }
4823
- function Ln(e) {
4889
+ function Gn(e) {
4824
4890
  const i = [], t = [];
4825
4891
  if (!e || typeof e != "object")
4826
4892
  return {
@@ -4913,7 +4979,7 @@ function Ln(e) {
4913
4979
  continue;
4914
4980
  }
4915
4981
  for (const [I, v] of p.views.entries())
4916
- wn(
4982
+ In(
4917
4983
  v,
4918
4984
  `${y}.views.${I}`,
4919
4985
  i,
@@ -4923,82 +4989,82 @@ function Ln(e) {
4923
4989
  return { ok: i.length === 0, errors: i, warnings: t };
4924
4990
  }
4925
4991
  export {
4926
- ye as $,
4927
- Kn as A,
4928
- Si as B,
4929
- vn as C,
4930
- Vn as D,
4931
- Ln as E,
4932
- _e as F,
4933
- $a as G,
4934
- wa as H,
4935
- ka as I,
4936
- di as J,
4937
- ui as K,
4938
- Ee as L,
4939
- pi as M,
4940
- qn as N,
4941
- Nn as O,
4942
- Mt as P,
4943
- oe as Q,
4944
- kn as R,
4992
+ Dn as $,
4993
+ Un as A,
4994
+ Gn as B,
4995
+ ve as C,
4996
+ $a as D,
4997
+ wa as E,
4998
+ $e as F,
4999
+ Aa as G,
5000
+ di as H,
5001
+ ui as I,
5002
+ Ce as J,
5003
+ pi as K,
5004
+ Bn as L,
5005
+ Pn as M,
5006
+ Rt as N,
5007
+ oe as O,
5008
+ Et as P,
5009
+ ei as Q,
5010
+ An as R,
4945
5011
  ne as S,
4946
- In as T,
4947
- Et as U,
4948
- ei as V,
4949
- Dt as W,
4950
- Ft as X,
4951
- D as Y,
4952
- R as Z,
4953
- ii as _,
4954
- Tn as a,
4955
- q as a0,
4956
- En as a1,
4957
- Cn as a2,
4958
- le as a3,
4959
- ai as a4,
4960
- Lt as a5,
4961
- Ht as a6,
4962
- Ut as a7,
4963
- Gt as a8,
4964
- pa as a9,
4965
- ma as aa,
4966
- ni as ab,
4967
- si as ac,
4968
- oi as ad,
4969
- fa as ae,
4970
- ha as af,
4971
- Fn as ag,
4972
- Ve as ah,
4973
- Le as ai,
4974
- Mn as aj,
4975
- Ci as ak,
4976
- Ma as al,
4977
- Ia as am,
4978
- Bn as an,
4979
- Ri as b,
4980
- ge as c,
4981
- de as d,
4982
- On as e,
4983
- Mi as f,
4984
- Ti as g,
4985
- Dn as h,
4986
- jn as i,
4987
- Pn as j,
4988
- ca as k,
4989
- An as l,
4990
- ae as m,
4991
- ve as n,
4992
- O as o,
4993
- Rn as p,
4994
- Ii as q,
4995
- fe as r,
5012
+ Rn as T,
5013
+ Ft as U,
5014
+ Dt as V,
5015
+ F as W,
5016
+ M as X,
5017
+ ii as Y,
5018
+ be as Z,
5019
+ N as _,
5020
+ Cn as a,
5021
+ Nn as a0,
5022
+ le as a1,
5023
+ ai as a2,
5024
+ Lt as a3,
5025
+ Ht as a4,
5026
+ Ut as a5,
5027
+ Gt as a6,
5028
+ pa as a7,
5029
+ ma as a8,
5030
+ ni as a9,
5031
+ si as aa,
5032
+ oi as ab,
5033
+ fa as ac,
5034
+ ha as ad,
5035
+ On as ae,
5036
+ ge as af,
5037
+ Le as ag,
5038
+ jn as ah,
5039
+ Ci as ai,
5040
+ de as aj,
5041
+ Kn as ak,
5042
+ ja as al,
5043
+ Ra as am,
5044
+ Vn as an,
5045
+ Mi as b,
5046
+ he as c,
5047
+ ca as d,
5048
+ Ri as e,
5049
+ Ti as f,
5050
+ qn as g,
5051
+ Ln as h,
5052
+ Fn as i,
5053
+ Tn as j,
5054
+ ae as k,
5055
+ O as l,
5056
+ Ii as m,
5057
+ fe as n,
5058
+ xi as o,
5059
+ En as p,
5060
+ Ai as q,
5061
+ Mn as r,
4996
5062
  Ei as s,
4997
5063
  re as t,
4998
- xi as u,
5064
+ ue as u,
4999
5065
  Ue as v,
5000
- Ai as w,
5001
- xn as x,
5002
- ue as y,
5003
- bn as z
5066
+ $n as w,
5067
+ Hn as x,
5068
+ Si as y,
5069
+ Sn as z
5004
5070
  };