react-semaphor 0.1.453 → 0.1.455

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 (115) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +100 -99
  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-GHKFwThg.js → analyze-result-contract-BbRJ-C06.js} +1 -1
  8. package/dist/chunks/{analyze-result-contract-Dxw66nUG.cjs → analyze-result-contract-LPDNldic.cjs} +1 -1
  9. package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +1 -0
  10. package/dist/chunks/{canonical-result-keys-KLk__J_O.js → canonical-result-keys-D6avdjpA.js} +14 -13
  11. package/dist/chunks/{common-types-Ci66eflG.cjs → common-types-C57kJ59w.cjs} +1 -1
  12. package/dist/chunks/{common-types-F6qk6PPS.js → common-types-H51FLKB7.js} +1 -1
  13. package/dist/chunks/{dashboard-briefing-launcher-CFpX0WX3.js → dashboard-briefing-launcher-BgBMjAVe.js} +10 -10
  14. package/dist/chunks/{dashboard-briefing-launcher-mUXWuiOZ.cjs → dashboard-briefing-launcher-BmEHYblf.cjs} +1 -1
  15. package/dist/chunks/{dashboard-controls-SoNubIu1.cjs → dashboard-controls-BLNG_zHC.cjs} +1 -1
  16. package/dist/chunks/{dashboard-controls-BeYAmOJc.js → dashboard-controls-C-23EDdr.js} +10 -10
  17. package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +1 -0
  18. package/dist/chunks/{dashboard-date-comparison-definition-Ba-clViK.js → dashboard-date-comparison-definition-DC3ekV2S.js} +1 -1
  19. package/dist/chunks/{dashboard-json-BublPnQ4.cjs → dashboard-json-BJ_Z9EaL.cjs} +1 -1
  20. package/dist/chunks/{dashboard-json-DeLUagVV.js → dashboard-json-BTF-1Iwa.js} +8 -8
  21. package/dist/chunks/{edit-dashboard-visual-CrvPcO7A.cjs → edit-dashboard-visual-CR832BJc.cjs} +1 -1
  22. package/dist/chunks/{edit-dashboard-visual-Go0h82DR.js → edit-dashboard-visual-Mw-ZE7P7.js} +12 -12
  23. package/dist/chunks/{editor-action-buttons-1Lo0fIh7.cjs → editor-action-buttons-BVigIMg0.cjs} +1 -1
  24. package/dist/chunks/{editor-action-buttons-BFNtjFzO.js → editor-action-buttons-BxbFCerU.js} +6 -6
  25. package/dist/chunks/{index-BsH32bn1.js → index-B5Oy1eLv.js} +35305 -34883
  26. package/dist/chunks/index-C99Ow35Y.cjs +4 -0
  27. package/dist/chunks/{index-q12_nNUS.cjs → index-DIWJALWL.cjs} +231 -231
  28. package/dist/chunks/{index-B3ZugihZ.js → index-DrYILnh0.js} +799 -808
  29. package/dist/chunks/matrix-result-contract-CofATICL.js +437 -0
  30. package/dist/chunks/matrix-result-contract-zamd9euI.cjs +1 -0
  31. package/dist/chunks/{pivot-header-presentation-DcfPaCiy.cjs → pivot-header-presentation-DhyQXxKq.cjs} +1 -1
  32. package/dist/chunks/{pivot-header-presentation-nk604qc1.js → pivot-header-presentation-ckYOQ4aZ.js} +2 -2
  33. package/dist/chunks/{pivot-result-identity-CRUokNgm.cjs → pivot-result-identity-Bb4EixVN.cjs} +1 -1
  34. package/dist/chunks/{pivot-result-identity-C43Ai5Kr.js → pivot-result-identity-DU1v-5Xk.js} +1 -1
  35. package/dist/chunks/pivot-result-lifecycle-DmcF1ris.cjs +1 -0
  36. package/dist/chunks/{pivot-result-lifecycle-4kSe0Hk1.js → pivot-result-lifecycle-sjzIOpvp.js} +57 -58
  37. package/dist/chunks/{raw-temporal-contract-CxbRFwnd.cjs → raw-temporal-contract-BtjH_G-d.cjs} +1 -1
  38. package/dist/chunks/{raw-temporal-contract-BF7PjBY9.js → raw-temporal-contract-CxncLze5.js} +1 -1
  39. package/dist/chunks/{report-preferences-dialog-BEVZAE3m.cjs → report-preferences-dialog-BgE3Gzsp.cjs} +1 -1
  40. package/dist/chunks/{report-preferences-dialog-BNV7qXYH.js → report-preferences-dialog-CFenWkcH.js} +6 -6
  41. package/dist/chunks/{report-runtime-context-DjYqLV-c.cjs → report-runtime-context-DqxS4wbi.cjs} +1 -1
  42. package/dist/chunks/{report-runtime-context-BJQDu2fV.js → report-runtime-context-SM6YO61_.js} +5 -5
  43. package/dist/chunks/saved-temporal-bucket-format-CFfWXRl9.cjs +1 -0
  44. package/dist/chunks/{saved-temporal-bucket-format-DiZdQXOL.js → saved-temporal-bucket-format-SGAV0ivR.js} +33 -35
  45. package/dist/chunks/{switch-DgLwr7O-.js → switch-BeZW-HnS.js} +367 -369
  46. package/dist/chunks/{switch-CjJ6FHYJ.cjs → switch-D-CCcfhc.cjs} +28 -28
  47. package/dist/chunks/temporal-bucket-5UYEotyQ.js +810 -0
  48. package/dist/chunks/temporal-bucket-DHY1y9lq.cjs +1 -0
  49. package/dist/chunks/{temporal-bucket-authoring-FIRnJz0e.js → temporal-bucket-authoring-K1kE6R_z.js} +28 -27
  50. package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +1 -0
  51. package/dist/chunks/{temporal-bucket-contract-anl4h-vg.cjs → temporal-bucket-contract-D2-93DGr.cjs} +1 -1
  52. package/dist/chunks/{temporal-bucket-contract-BQOj6Frl.js → temporal-bucket-contract-D5d-xEl3.js} +1 -1
  53. package/dist/chunks/{token-types-D0i0IUX3.cjs → token-types-D7CaaI80.cjs} +1 -1
  54. package/dist/chunks/{token-types-CRpQJ4kv.js → token-types-GbxRUozo.js} +1 -1
  55. package/dist/chunks/{update-policy-C1i9bgsy.cjs → update-policy-BmiOd0PB.cjs} +1 -1
  56. package/dist/chunks/{update-policy-CaJz9aPG.js → update-policy-hednMF-0.js} +1 -1
  57. package/dist/chunks/validators-BDYprKI9.cjs +1 -0
  58. package/dist/chunks/{validators-DeMXwRON.js → validators-DEmd8Sin.js} +1544 -1200
  59. package/dist/dashboard/index.cjs +1 -1
  60. package/dist/dashboard/index.js +2 -2
  61. package/dist/dashboard-authoring/index.cjs +3 -3
  62. package/dist/dashboard-authoring/index.js +7 -7
  63. package/dist/data-app-builder/index.cjs +1 -1
  64. package/dist/data-app-builder/index.js +2 -2
  65. package/dist/data-app-codegen/index.cjs +1 -1
  66. package/dist/data-app-codegen/index.js +2 -2
  67. package/dist/data-app-codegen-node/index.cjs +1 -1
  68. package/dist/data-app-codegen-node/index.js +3 -3
  69. package/dist/data-app-sdk/index.cjs +1 -1
  70. package/dist/data-app-sdk/index.js +78 -77
  71. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  72. package/dist/data-app-sdk-adapters/index.js +29 -30
  73. package/dist/data-app-sdk-validation/index.cjs +1 -1
  74. package/dist/data-app-sdk-validation/index.js +21 -21
  75. package/dist/format-utils/index.cjs +3 -3
  76. package/dist/format-utils/index.js +39 -40
  77. package/dist/index.cjs +1 -1
  78. package/dist/index.js +15 -15
  79. package/dist/report-runtime-context/index.cjs +1 -1
  80. package/dist/report-runtime-context/index.js +2 -2
  81. package/dist/surfboard/index.cjs +1 -1
  82. package/dist/surfboard/index.js +3 -3
  83. package/dist/types/analytics-protocol.d.ts +44 -11
  84. package/dist/types/briefings.d.ts +9 -17
  85. package/dist/types/dashboard-assistant.d.ts +19 -22
  86. package/dist/types/dashboard-authoring.d.ts +9 -17
  87. package/dist/types/dashboard.d.ts +9 -17
  88. package/dist/types/data-app-builder.d.ts +28 -2
  89. package/dist/types/data-app-codegen-node.d.ts +29 -3
  90. package/dist/types/data-app-codegen.d.ts +29 -3
  91. package/dist/types/data-app-sdk-adapters.d.ts +28 -2
  92. package/dist/types/data-app-sdk-validation.d.ts +38 -7
  93. package/dist/types/data-app-sdk.d.ts +42 -10
  94. package/dist/types/index.cjs +1 -1
  95. package/dist/types/index.js +4 -4
  96. package/dist/types/main.d.ts +25 -26
  97. package/dist/types/shared.d.ts +9 -17
  98. package/dist/types/surfboard.d.ts +9 -17
  99. package/dist/types/types.d.ts +19 -22
  100. package/package.json +1 -1
  101. package/dist/chunks/canonical-result-keys-Drc2x-lf.cjs +0 -1
  102. package/dist/chunks/catalog-field-grounding-Bnx-3tE0.cjs +0 -1
  103. package/dist/chunks/catalog-field-grounding-S2jKwKGD.js +0 -100
  104. package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +0 -1
  105. package/dist/chunks/dashboard-input-contract-DSt8dGzP.js +0 -18
  106. package/dist/chunks/dashboard-input-contract-DV3cshjz.cjs +0 -1
  107. package/dist/chunks/index-DjiIh_9n.cjs +0 -4
  108. package/dist/chunks/metric-comparison-D0T0MKRK.js +0 -387
  109. package/dist/chunks/metric-comparison-DYR3RXam.cjs +0 -1
  110. package/dist/chunks/pivot-result-lifecycle-BiJepH5S.cjs +0 -1
  111. package/dist/chunks/saved-temporal-bucket-format-Gfbh4IiP.cjs +0 -1
  112. package/dist/chunks/temporal-bucket-Dnj8qT9l.cjs +0 -1
  113. package/dist/chunks/temporal-bucket-FBZGrDCe.js +0 -560
  114. package/dist/chunks/temporal-bucket-authoring-7hv2laOG.cjs +0 -1
  115. package/dist/chunks/validators-Dm7Kpz6p.cjs +0 -1
@@ -1,23 +1,22 @@
1
1
  var Je = Object.defineProperty;
2
2
  var Qe = (e, r, t) => r in e ? Je(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
- var S = (e, r, t) => Qe(e, typeof r != "symbol" ? r + "" : r, t);
4
- import { E as Xe, C as et, q as tt, D as rt, A as J, u as q, o as nt, M as ot, w as at, R as it, i as Te, b as ct, m as lt, P as U } from "./pivot-result-lifecycle-4kSe0Hk1.js";
3
+ var _ = (e, r, t) => Qe(e, typeof r != "symbol" ? r + "" : r, t);
4
+ import { E as Xe, C as et, q as tt, D as rt, A as J, u as q, o as nt, M as ot, w as at, R as it, i as Ce, b as ct, m as lt, P as U } from "./pivot-result-lifecycle-sjzIOpvp.js";
5
5
  import { DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES as de } from "../value-format-preferences/index.js";
6
- import { l as dt, q as ae } from "./validators-DeMXwRON.js";
7
- import "./analyze-result-contract-GHKFwThg.js";
8
- import { h as $e, r as ke, a as Ee, v as st, i as mt } from "./saved-temporal-bucket-format-DiZdQXOL.js";
9
- import { r as z, b as ut, d as ft, P as pt } from "./pivot-result-identity-C43Ai5Kr.js";
10
- import { v as yt, a as ht } from "./temporal-bucket-contract-BQOj6Frl.js";
11
- import { f as gt, a as vt, c as xe, D as bt } from "./temporal-bucket-FBZGrDCe.js";
12
- import { n as It } from "./catalog-field-grounding-S2jKwKGD.js";
13
- import { r as Se, s as wt, i as Ct, a as Tt, b as $t, c as kt } from "./canonical-result-keys-KLk__J_O.js";
14
- import "./temporal-bucket-authoring-FIRnJz0e.js";
15
- import { v as _e } from "./raw-temporal-contract-BF7PjBY9.js";
16
- const Et = `import pandas as pd
6
+ import { n as Te, q as dt, x as ae } from "./validators-DEmd8Sin.js";
7
+ import "./analyze-result-contract-BbRJ-C06.js";
8
+ import { h as $e, r as ke, a as Ee, v as st, i as mt } from "./saved-temporal-bucket-format-SGAV0ivR.js";
9
+ import { r as z, b as ut, d as ft, P as pt } from "./pivot-result-identity-DU1v-5Xk.js";
10
+ import { v as yt, a as ht } from "./temporal-bucket-contract-D5d-xEl3.js";
11
+ import { f as gt, T as vt, k as xe, i as bt } from "./temporal-bucket-5UYEotyQ.js";
12
+ import { r as Se, s as It, i as wt, a as Ct, b as Tt, c as $t } from "./canonical-result-keys-D6avdjpA.js";
13
+ import "./temporal-bucket-authoring-K1kE6R_z.js";
14
+ import { v as _e } from "./raw-temporal-contract-CxncLze5.js";
15
+ const kt = `import pandas as pd
17
16
  df = pd.DataFrame(data) # 'data' contains the query result
18
17
  result = df.to_dict('records') # must return 'result' as [dict] type
19
18
  `;
20
- function bn(e) {
19
+ function hn(e) {
21
20
  return {
22
21
  databaseName: (e == null ? void 0 : e.lastSelectedDatabase) || "",
23
22
  schemaName: (e == null ? void 0 : e.lastSelectedSchema) || "",
@@ -26,7 +25,7 @@ function bn(e) {
26
25
  };
27
26
  }
28
27
  function H(e) {
29
- return e === Et ? "" : e;
28
+ return e === kt ? "" : e;
30
29
  }
31
30
  function Q(e, r = e.config) {
32
31
  return Se({
@@ -35,26 +34,26 @@ function Q(e, r = e.config) {
35
34
  normalizedPython: H(e.python || "")
36
35
  });
37
36
  }
38
- class xt extends Error {
37
+ class Et extends Error {
39
38
  constructor(t) {
40
39
  super(
41
40
  `ambiguous_temporal_grain: Temporal field "${t}" has saved presentation but no valid grouping grain. Reconfigure and resave the field.`
42
41
  );
43
- S(this, "code", "ambiguous_temporal_grain");
44
- S(this, "fieldId");
42
+ _(this, "code", "ambiguous_temporal_grain");
43
+ _(this, "fieldId");
45
44
  this.name = "AmbiguousGroupedTemporalGrainError", this.fieldId = t;
46
45
  }
47
46
  }
48
- function St(e) {
47
+ function xt(e) {
49
48
  return Ee(e) || e.semanticTemporalPresentation != null;
50
49
  }
51
- function _t(e) {
50
+ function St(e) {
52
51
  if (!e.id || !["date", "datetime"].includes(
53
- It(e.dataType)
52
+ Te(e.dataType)
54
53
  ))
55
54
  return;
56
55
  if (dt(e.granularity)) return e;
57
- if (!St(e)) return;
56
+ if (!xt(e)) return;
58
57
  if (!ke({
59
58
  fieldId: e.id,
60
59
  dataType: e.dataType,
@@ -63,7 +62,7 @@ function _t(e) {
63
62
  dateFormat: e.dateFormat,
64
63
  customFormat: e.customFormat
65
64
  }).ok)
66
- throw new xt(e.id);
65
+ throw new Et(e.id);
67
66
  return { ...e, granularity: "day" };
68
67
  }
69
68
  function se(e) {
@@ -88,77 +87,77 @@ function se(e) {
88
87
  cardType: e.card.type,
89
88
  cardConfig: r,
90
89
  fields: t.flatMap((n) => {
91
- const o = _t(n);
90
+ const o = St(n);
92
91
  return o ? [o] : [];
93
92
  })
94
93
  };
95
94
  }
96
- function In(e) {
95
+ function gn(e) {
97
96
  return se({
98
97
  ...e,
99
98
  supportsCardType: (r) => r === "table"
100
99
  });
101
100
  }
102
- function wn(e) {
101
+ function vn(e) {
103
102
  return se({
104
103
  ...e,
105
- supportsCardType: Ct
104
+ supportsCardType: wt
106
105
  });
107
106
  }
108
- function Ft(e) {
107
+ function _t(e) {
109
108
  return se({
110
109
  ...e,
111
110
  // Raw detail-table presentation has its own result/adapter contract.
112
111
  // This module remains grouped-only even though the shared producer
113
112
  // registry now recognizes detailTable.
114
- supportsCardType: (r) => r !== "detailTable" && wt(r)
113
+ supportsCardType: (r) => r !== "detailTable" && It(r)
115
114
  });
116
115
  }
117
- const ve = /* @__PURE__ */ new WeakMap();
118
- function Rt(e) {
119
- const r = ve.get(e);
116
+ const ge = /* @__PURE__ */ new WeakMap();
117
+ function Ft(e) {
118
+ const r = ge.get(e);
120
119
  if (r) return r;
121
120
  const t = Xe(e);
122
- return ve.set(e, t), t;
121
+ return ge.set(e, t), t;
123
122
  }
124
- function L(e, r) {
123
+ function V(e, r) {
125
124
  const t = e ?? [], n = r ?? [];
126
125
  return t.length === n.length && t.every((o, a) => o === n[a]);
127
126
  }
128
- function At(e, r) {
127
+ function Rt(e, r) {
129
128
  const t = et({
130
129
  groupByFields: r.groupByColumns,
131
130
  metricFields: r.metricColumns,
132
131
  pivotByFields: r.pivotByColumns,
133
132
  detailFields: r.detailColumns
134
133
  });
135
- return L(
134
+ return V(
136
135
  e.expectedRoleFieldIds.groupby,
137
136
  t.expectedRoleFieldIds.groupby
138
- ) && L(
137
+ ) && V(
139
138
  e.expectedRoleFieldIds.metric,
140
139
  t.expectedRoleFieldIds.metric
141
- ) && L(
140
+ ) && V(
142
141
  e.expectedRoleFieldIds.pivotby,
143
142
  t.expectedRoleFieldIds.pivotby
144
- ) && L(
143
+ ) && V(
145
144
  e.expectedRoleFieldIds.detail,
146
145
  t.expectedRoleFieldIds.detail
147
- ) && L(
146
+ ) && V(
148
147
  e.expectedMetricAliases,
149
148
  t.expectedMetricAliases
150
149
  );
151
150
  }
152
- class Bt extends Error {
151
+ class At extends Error {
153
152
  constructor(t) {
154
153
  super(
155
154
  `missing_resolved_temporal_format: Saved presentation is missing temporal field "${t.fieldId}" for card "${t.cardId}". Resave the report or Briefing to capture the current dashboard presentation.`
156
155
  );
157
- S(this, "code", "missing_resolved_temporal_format");
158
- S(this, "deliveryBlocking", !0);
159
- S(this, "dashboardId");
160
- S(this, "cardId");
161
- S(this, "fieldId");
156
+ _(this, "code", "missing_resolved_temporal_format");
157
+ _(this, "deliveryBlocking", !0);
158
+ _(this, "dashboardId");
159
+ _(this, "cardId");
160
+ _(this, "fieldId");
162
161
  this.name = "MissingResolvedTemporalPresentationError", this.dashboardId = t.dashboardId, this.cardId = t.cardId, this.fieldId = t.fieldId;
163
162
  }
164
163
  }
@@ -167,31 +166,31 @@ class ee extends Error {
167
166
  super(
168
167
  `missing_temporal_bucket_metadata: Result column "${t.columnKey}" is missing temporal bucket metadata for field "${t.fieldId}" on card "${t.cardId}". Refresh the report and resave the delivery if the problem persists.`
169
168
  );
170
- S(this, "code", "missing_temporal_bucket_metadata");
171
- S(this, "deliveryBlocking", !0);
172
- S(this, "cardId");
173
- S(this, "fieldId");
174
- S(this, "columnKey");
169
+ _(this, "code", "missing_temporal_bucket_metadata");
170
+ _(this, "deliveryBlocking", !0);
171
+ _(this, "cardId");
172
+ _(this, "fieldId");
173
+ _(this, "columnKey");
175
174
  this.name = "MissingTemporalResultMetadataError", this.cardId = t.cardId, this.fieldId = t.fieldId, this.columnKey = t.columnKey;
176
175
  }
177
176
  }
178
- class K extends Error {
177
+ class O extends Error {
179
178
  constructor(t, n, o) {
180
179
  super(`${t}: ${n}`);
181
- S(this, "deliveryBlocking", !0);
180
+ _(this, "deliveryBlocking", !0);
182
181
  this.code = t, this.context = o, this.name = "DashboardTemporalBoundaryError";
183
182
  }
184
183
  }
185
184
  function Fe(e, r) {
186
185
  return `${r}:${e}`;
187
186
  }
188
- function Pt(e) {
187
+ function Bt(e) {
189
188
  var r, t;
190
189
  return (t = (r = e.presentation) == null ? void 0 : r.byFieldRole) == null ? void 0 : t.get(
191
190
  Fe(e.fieldId, e.role)
192
191
  );
193
192
  }
194
- function Mt(e) {
193
+ function Pt(e) {
195
194
  var t;
196
195
  if ((((t = e.cardConfig.metricColumns) == null ? void 0 : t.length) || 0) > 0 || e.binding.role !== "metric")
197
196
  return !1;
@@ -203,7 +202,7 @@ function Mt(e) {
203
202
  }
204
203
  );
205
204
  }
206
- function Cn(e, r) {
205
+ function bn(e, r) {
207
206
  return !r || r.byColumnKey.size === 0 ? e.map((t) => ({ ...t })) : e.map((t) => {
208
207
  const n = { ...t };
209
208
  return r.byColumnKey.forEach((o, a) => {
@@ -214,8 +213,8 @@ function Cn(e, r) {
214
213
  }), n;
215
214
  });
216
215
  }
217
- function Tn(e) {
218
- var p;
216
+ function In(e) {
217
+ var u;
219
218
  if (!e.result || typeof e.result != "object") return !1;
220
219
  const r = e.result;
221
220
  if (e.expectedResultOwner !== void 0 && r.resultOwner !== e.expectedResultOwner)
@@ -226,8 +225,8 @@ function Tn(e) {
226
225
  const n = Array.isArray(r.records) ? r.records.length : void 0, o = (t.cardConfig.pivotByColumns || []).map((d) => d.id);
227
226
  if (t.cardType === "pivotTable")
228
227
  try {
229
- const d = Rt(r);
230
- if (!At(
228
+ const d = Ft(r);
229
+ if (!Rt(
231
230
  d.pivotResultContract,
232
231
  t.cardConfig
233
232
  ))
@@ -240,7 +239,7 @@ function Tn(e) {
240
239
  var g;
241
240
  return (((g = w.pivotIdentity) == null ? void 0 : g.members.length) ?? 0) > 0;
242
241
  }
243
- ), I = v.length > 0 && v.every(
242
+ ), b = v.length > 0 && v.every(
244
243
  (w) => {
245
244
  var g;
246
245
  return ((g = w.pivotIdentity) == null ? void 0 : g.members.length) === 0 && ut({
@@ -258,25 +257,25 @@ function Tn(e) {
258
257
  );
259
258
  if (!g) return !1;
260
259
  if (g.role === "pivotby") {
261
- const F = h.flatMap(
262
- (O) => {
263
- var V;
264
- return ((V = O.pivotIdentity) == null ? void 0 : V.members.filter(
260
+ const S = h.flatMap(
261
+ (A) => {
262
+ var L;
263
+ return ((L = A.pivotIdentity) == null ? void 0 : L.members.filter(
265
264
  (Ze) => Ze.fieldId === w.id
266
265
  )) ?? [];
267
266
  }
268
267
  );
269
- return F.length === 0 ? I : F.every(
270
- (O) => {
271
- var V;
272
- return ((V = O.temporalBucket) == null ? void 0 : V.granularity) === w.granularity;
268
+ return S.length === 0 ? b : S.every(
269
+ (A) => {
270
+ var L;
271
+ return ((L = A.temporalBucket) == null ? void 0 : L.granularity) === w.granularity;
273
272
  }
274
273
  );
275
274
  }
276
- const $ = d.columns.find(
277
- (F) => F.key === (g.outputKey || g.rawKey)
275
+ const C = d.columns.find(
276
+ (S) => S.key === (g.outputKey || g.rawKey)
278
277
  );
279
- return ((E = $ == null ? void 0 : $.temporalBucket) == null ? void 0 : E.granularity) === w.granularity;
278
+ return ((E = C == null ? void 0 : C.temporalBucket) == null ? void 0 : E.granularity) === w.granularity;
280
279
  });
281
280
  } catch (d) {
282
281
  if (d instanceof rt) return !1;
@@ -314,7 +313,7 @@ function Tn(e) {
314
313
  "metric"
315
314
  );
316
315
  if (c) {
317
- if (!Mt({
316
+ if (!Pt({
318
317
  cardConfig: t.cardConfig,
319
318
  binding: c,
320
319
  columns: r.columns || []
@@ -344,12 +343,12 @@ function Tn(e) {
344
343
  if (d instanceof pt) return !1;
345
344
  throw d;
346
345
  }
347
- const u = (r.columns || []).filter((d) => {
346
+ const f = (r.columns || []).filter((d) => {
348
347
  const v = d.pivotIdentity;
349
348
  return !!(v && v.members.length > 0);
350
349
  });
351
- return n !== 0 && ((p = t.cardConfig.pivotByColumns) != null && p.length) && u.length === 0 ? !1 : t.fields.every((d) => {
352
- var I;
350
+ return n !== 0 && ((u = t.cardConfig.pivotByColumns) != null && u.length) && f.length === 0 ? !1 : t.fields.every((d) => {
351
+ var b;
353
352
  const v = z(
354
353
  a,
355
354
  d.id,
@@ -357,21 +356,21 @@ function Tn(e) {
357
356
  );
358
357
  if (!v) return !1;
359
358
  if (v.role === "pivotby") {
360
- const g = u.flatMap(
361
- ($) => {
359
+ const g = f.flatMap(
360
+ (C) => {
362
361
  var E;
363
- return ((E = $.pivotIdentity) == null ? void 0 : E.members) ?? [];
362
+ return ((E = C.pivotIdentity) == null ? void 0 : E.members) ?? [];
364
363
  }
365
- ).filter(($) => $.fieldId === d.id);
366
- return u.length === 0 ? n === 0 : g.length > 0 && g.every(
367
- ($) => {
364
+ ).filter((C) => C.fieldId === d.id);
365
+ return f.length === 0 ? n === 0 : g.length > 0 && g.every(
366
+ (C) => {
368
367
  var E;
369
- return ((E = $.temporalBucket) == null ? void 0 : E.granularity) === d.granularity;
368
+ return ((E = C.temporalBucket) == null ? void 0 : E.granularity) === d.granularity;
370
369
  }
371
370
  );
372
371
  }
373
372
  const h = m.get(v.outputKey || v.rawKey);
374
- return ((I = h == null ? void 0 : h.temporalBucket) == null ? void 0 : I.granularity) === d.granularity;
373
+ return ((b = h == null ? void 0 : h.temporalBucket) == null ? void 0 : b.granularity) === d.granularity;
375
374
  });
376
375
  }
377
376
  function Z(e, r) {
@@ -394,7 +393,7 @@ function Z(e, r) {
394
393
  if (!o.ok) throw new Error(o.error.code);
395
394
  return o.format;
396
395
  }
397
- function Dt(e, r, t = de) {
396
+ function Mt(e, r, t = de) {
398
397
  const n = Z(e, "card"), o = Z(e, "semantic"), a = e.semanticTemporalPresentation;
399
398
  return xe({
400
399
  metadata: r,
@@ -412,7 +411,7 @@ function Dt(e, r, t = de) {
412
411
  }
413
412
  });
414
413
  }
415
- function Ot(e, r = bt, t = "en-US") {
414
+ function Dt(e, r = bt, t = "en-US") {
416
415
  var i;
417
416
  const n = Z(e, "card"), o = ((i = e.semanticTemporalPresentation) == null ? void 0 : i.granularity) === e.granularity ? Z(e, "semantic") : void 0, a = n && n.presentation.mode !== "auto" ? n : o && o.presentation.mode !== "auto" ? o : {
418
417
  presentation: { mode: "auto" }
@@ -427,7 +426,7 @@ function Ot(e, r = bt, t = "en-US") {
427
426
  presentation: a.presentation
428
427
  };
429
428
  }
430
- function $n(e) {
429
+ function wn(e) {
431
430
  const r = e.activation;
432
431
  if (!r)
433
432
  return {
@@ -448,14 +447,14 @@ function $n(e) {
448
447
  Fe(c.id, c.role),
449
448
  s
450
449
  ), i.get(c.id) === 1 && o.set(c.id, s);
451
- }, m = (c, s, u) => {
450
+ }, m = (c, s, f) => {
452
451
  if (s.granularity !== c.granularity)
453
- throw new K(
452
+ throw new O(
454
453
  "invalid_temporal_bucket_metadata",
455
- `Result identity "${u}" declares ${s.granularity} buckets for active ${c.granularity} field "${c.id}".`,
456
- { cardId: e.card.id, fieldId: c.id, columnKey: u }
454
+ `Result identity "${f}" declares ${s.granularity} buckets for active ${c.granularity} field "${c.id}".`,
455
+ { cardId: e.card.id, fieldId: c.id, columnKey: f }
457
456
  );
458
- const p = e.executionSnapshot && e.dashboardId ? tt({
457
+ const u = e.executionSnapshot && e.dashboardId ? tt({
459
458
  snapshot: e.executionSnapshot,
460
459
  scope: {
461
460
  dashboardId: e.dashboardId,
@@ -468,25 +467,25 @@ function $n(e) {
468
467
  role: c.role
469
468
  }
470
469
  }) : void 0;
471
- if (e.executionSnapshot && !p)
472
- throw new Bt({
470
+ if (e.executionSnapshot && !u)
471
+ throw new At({
473
472
  dashboardId: e.dashboardId,
474
473
  cardId: e.card.id,
475
474
  fieldId: c.id
476
475
  });
477
476
  return {
478
- columnKey: u,
477
+ columnKey: f,
479
478
  fieldId: c.id,
480
479
  role: c.role,
481
480
  metadata: s,
482
- resolved: p ? xe({
481
+ resolved: u ? xe({
483
482
  metadata: s,
484
- cardFormat: p,
485
- locale: p.locale,
486
- ...p.presentation.mode === "auto" ? {
487
- styles: p.presentation.styles
483
+ cardFormat: u,
484
+ locale: u.locale,
485
+ ...u.presentation.mode === "auto" ? {
486
+ styles: u.presentation.styles
488
487
  } : {}
489
- }) : Dt(
488
+ }) : Mt(
490
489
  c,
491
490
  s,
492
491
  e.valueFormatPreferences ?? de
@@ -502,7 +501,7 @@ function $n(e) {
502
501
  if (!s) {
503
502
  if (e.columns === void 0 && e.columnKeyMap === void 0 && (e.resultRowCount === void 0 || e.resultRowCount === 0))
504
503
  continue;
505
- throw new K(
504
+ throw new O(
506
505
  "missing_temporal_column_binding",
507
506
  `Activated temporal field "${c.id}" has no authoritative result-column binding.`,
508
507
  { cardId: e.card.id, fieldId: c.id, columnKey: c.name }
@@ -511,13 +510,13 @@ function $n(e) {
511
510
  if (s.role === "pivotby") {
512
511
  const h = (e.columns || []).filter(
513
512
  (E) => E.pivotIdentity !== void 0
514
- ), I = h.flatMap(
513
+ ), b = h.flatMap(
515
514
  (E) => {
516
- var F;
517
- return (((F = E.pivotIdentity) == null ? void 0 : F.members) || []).filter((O) => O.fieldId === c.id).map((O) => ({ column: E, member: O }));
515
+ var S;
516
+ return (((S = E.pivotIdentity) == null ? void 0 : S.members) || []).filter((A) => A.fieldId === c.id).map((A) => ({ column: E, member: A }));
518
517
  }
519
518
  );
520
- if (I.length === 0) {
519
+ if (b.length === 0) {
521
520
  if (h.length === 0 && (e.card.type !== "pivotTable" || e.resultRowCount === 0))
522
521
  continue;
523
522
  throw new ee({
@@ -526,7 +525,7 @@ function $n(e) {
526
525
  columnKey: s.outputKey || s.rawKey
527
526
  });
528
527
  }
529
- const w = I[0];
528
+ const w = b[0];
530
529
  if (!w.member.temporalBucket)
531
530
  throw new ee({
532
531
  cardId: e.card.id,
@@ -537,7 +536,7 @@ function $n(e) {
537
536
  w.member.temporalBucket
538
537
  );
539
538
  if (!g.ok || !g.value)
540
- throw new K(
539
+ throw new O(
541
540
  "invalid_temporal_bucket_metadata",
542
541
  g.ok ? `Pivot result column "${w.column.key}" has no validated temporal bucket metadata.` : g.error.message,
543
542
  {
@@ -546,49 +545,49 @@ function $n(e) {
546
545
  columnKey: w.column.key
547
546
  }
548
547
  );
549
- const $ = m(
548
+ const C = m(
550
549
  c,
551
550
  g.value,
552
551
  w.column.key
553
552
  );
554
- for (const { column: E, member: F } of I)
555
- if (!F.temporalBucket || JSON.stringify(F.temporalBucket) !== JSON.stringify(w.member.temporalBucket))
556
- throw new K(
553
+ for (const { column: E, member: S } of b)
554
+ if (!S.temporalBucket || JSON.stringify(S.temporalBucket) !== JSON.stringify(w.member.temporalBucket))
555
+ throw new O(
557
556
  "invalid_temporal_bucket_metadata",
558
557
  `Pivot result column "${E.key}" has contradictory bucket metadata for field "${c.id}".`,
559
558
  { cardId: e.card.id, fieldId: c.id, columnKey: E.key }
560
559
  );
561
- l(c, $);
560
+ l(c, C);
562
561
  continue;
563
562
  }
564
- const u = s.outputKey || s.rawKey, p = t.get(u);
565
- if (!(p != null && p.temporalBucket))
563
+ const f = s.outputKey || s.rawKey, u = t.get(f);
564
+ if (!(u != null && u.temporalBucket))
566
565
  throw new ee({
567
566
  cardId: e.card.id,
568
567
  fieldId: c.id,
569
- columnKey: u
568
+ columnKey: f
570
569
  });
571
- const d = ht(p, {
570
+ const d = ht(u, {
572
571
  metadataRequired: !0
573
572
  });
574
573
  if (!d.ok || !d.value)
575
- throw new K(
574
+ throw new O(
576
575
  "invalid_temporal_bucket_metadata",
577
- d.ok ? `Result column "${u}" has no validated temporal bucket metadata.` : d.error.message,
578
- { cardId: e.card.id, fieldId: c.id, columnKey: u }
576
+ d.ok ? `Result column "${f}" has no validated temporal bucket metadata.` : d.error.message,
577
+ { cardId: e.card.id, fieldId: c.id, columnKey: f }
579
578
  );
580
579
  const v = m(
581
580
  c,
582
581
  d.value,
583
- u
582
+ f
584
583
  );
585
- n.set(u, v), l(c, v);
584
+ n.set(f, v), l(c, v);
586
585
  }
587
586
  return { byColumnKey: n, byFieldId: o, byFieldRole: a };
588
587
  }
589
- function kn(e) {
588
+ function Cn(e) {
590
589
  var t, n;
591
- const r = e.role ? Pt({
590
+ const r = e.role ? Bt({
592
591
  presentation: e.presentation,
593
592
  fieldId: e.fieldId,
594
593
  role: e.role
@@ -601,7 +600,7 @@ function kn(e) {
601
600
  function Re(e) {
602
601
  if (e.value === null || e.value === void 0) return "(Blank)";
603
602
  if (typeof e.value != "string")
604
- throw new K(
603
+ throw new O(
605
604
  "invalid_temporal_bucket_value",
606
605
  `Canonical temporal column "${e.presentation.columnKey}" must contain a string or null.`,
607
606
  {
@@ -616,7 +615,7 @@ function Re(e) {
616
615
  format: e.presentation.resolved.format
617
616
  });
618
617
  } catch (r) {
619
- throw r instanceof vt ? new K(
618
+ throw r instanceof vt ? new O(
620
619
  r.code,
621
620
  r.message,
622
621
  {
@@ -691,7 +690,9 @@ function me(e) {
691
690
  "invalid_raw_temporal_format",
692
691
  "Declared SQL temporal presentation selects a custom pattern but has no customFormat."
693
692
  );
694
- const r = e.useCustomFormat && e.customFormat ? e.customFormat : e.format, t = e.timezone, n = e.sourceTimezone, o = t && t !== "auto" ? { timezone: t } : void 0, a = n && n !== "auto" ? { sourceTimezone: n } : void 0;
693
+ const r = e.useCustomFormat && e.customFormat ? e.customFormat : e.format, t = e.timezone, n = e.sourceTimezone, o = t && t !== "auto" ? { timezone: t } : void 0, a = {
694
+ sourceTimezone: n && n !== "auto" ? n : "UTC"
695
+ };
695
696
  return r ? {
696
697
  type: "raw_temporal",
697
698
  ...o,
@@ -708,7 +709,7 @@ function me(e) {
708
709
  presentation: { mode: "auto" }
709
710
  };
710
711
  }
711
- function En(e) {
712
+ function Tn(e) {
712
713
  const r = me(e.settings);
713
714
  if (!r)
714
715
  throw new x(
@@ -733,24 +734,18 @@ function En(e) {
733
734
  );
734
735
  return a.text;
735
736
  }
736
- function Nt(e) {
737
+ function Ot(e) {
737
738
  var t;
738
739
  const r = e.effectiveCardConfig ?? e.card.config;
739
740
  return Q(e.card, r) === "freeform" && !!((t = e.card.sql) != null && t.trim()) && !H(e.card.python || "").trim();
740
741
  }
741
- function zt() {
742
+ function Nt() {
742
743
  return {
743
744
  activatedColumnKeys: /* @__PURE__ */ new Set(),
744
745
  byColumnKey: /* @__PURE__ */ new Map(),
745
746
  byFieldId: /* @__PURE__ */ new Map()
746
747
  };
747
748
  }
748
- function ue(e) {
749
- var r;
750
- return e.cardType === "detailTable" && e.resultOwner === "config" ? (((r = e.effectiveCardConfig) == null ? void 0 : r.detailColumns) || []).filter(
751
- (t) => t.dateValueMode === "canonical"
752
- ) : [];
753
- }
754
749
  function ie(e, r) {
755
750
  return e === void 0 ? { kind: "invalid", error: r } : {
756
751
  kind: "invalid",
@@ -765,12 +760,13 @@ function ie(e, r) {
765
760
  )
766
761
  };
767
762
  }
768
- function Vt(e) {
769
- const r = ue(e);
770
- if (r.length === 0) return { kind: "inactive" };
763
+ function zt(e) {
764
+ var o;
765
+ if (e.cardType !== "detailTable" || e.resultOwner !== "config")
766
+ return { kind: "inactive" };
771
767
  if (!e.result) return { kind: "loading" };
772
- const { records: t, columns: n, columnKeyMap: o } = e.result;
773
- if (!Array.isArray(t) || !Array.isArray(n) || !o)
768
+ const { records: r, columns: t, columnKeyMap: n } = e.result;
769
+ if (!Array.isArray(r) || !Array.isArray(t) || !n)
774
770
  return ie(
775
771
  void 0,
776
772
  new x(
@@ -779,61 +775,66 @@ function Vt(e) {
779
775
  )
780
776
  );
781
777
  try {
782
- const a = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
783
- for (const m of r) {
784
- const c = z(
785
- o,
786
- m.id,
787
- "detail"
788
- );
789
- if (!c || c.role !== "detail" || typeof c.rawKey != "string" || c.rawKey.trim().length === 0 || c.outputKey !== void 0 && (typeof c.outputKey != "string" || c.outputKey.trim().length === 0))
778
+ const a = t.filter((s) => s.rawTemporal);
779
+ if (a.length === 0) return { kind: "inactive" };
780
+ const i = new Map(
781
+ (((o = e.effectiveCardConfig) == null ? void 0 : o.detailColumns) || []).map((s) => [
782
+ s.id,
783
+ s
784
+ ])
785
+ ), l = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map();
786
+ for (const s of a) {
787
+ const f = Array.from(i).flatMap(
788
+ ([C, E]) => {
789
+ const S = z(
790
+ n,
791
+ C,
792
+ "detail"
793
+ );
794
+ return S && S.role === "detail" && (S.outputKey ?? S.rawKey) === s.key ? [{ field: E, binding: S }] : [];
795
+ }
796
+ ), u = f.length === 1 ? f[0] : null;
797
+ if (!u || typeof u.binding.rawKey != "string" || u.binding.rawKey.trim().length === 0 || u.binding.outputKey !== void 0 && (typeof u.binding.outputKey != "string" || u.binding.outputKey.trim().length === 0))
790
798
  throw new x(
791
799
  "missing_raw_temporal_column_binding",
792
- `Raw temporal detail field "${m.id}" has no valid exact detail result binding.`,
793
- { fieldId: m.id }
794
- );
795
- const s = c.outputKey ?? c.rawKey, u = n.find((h) => h.key === s);
796
- if (!u)
797
- throw new x(
798
- "missing_raw_temporal_result_contract",
799
- `Raw temporal result column "${s}" is absent.`,
800
- { fieldId: m.id, columnKey: s }
800
+ `Raw temporal result column "${s.key}" does not have one valid exact detail result binding.`,
801
+ { columnKey: s.key }
801
802
  );
802
- const p = _e(u, {
803
+ const { field: d, binding: v } = u, h = v.outputKey ?? v.rawKey, b = _e(s, {
803
804
  metadataRequired: !0
804
805
  });
805
- if (!p)
806
+ if (!b)
806
807
  throw new x(
807
808
  "invalid_raw_temporal_metadata",
808
- `Raw temporal result column "${s}" has no metadata.`,
809
- { fieldId: m.id, columnKey: s }
809
+ `Raw temporal result column "${h}" has no metadata.`,
810
+ { fieldId: d.id, columnKey: h }
810
811
  );
811
- const d = q({
812
- format: Be(m),
812
+ const w = q({
813
+ format: Be(d),
813
814
  preferences: e.preferences,
814
815
  calendar: e.calendar
815
- }), v = {
816
- fieldId: m.id,
817
- columnKey: s,
818
- metadata: p,
819
- format: d,
820
- formatValue: J({ metadata: p, format: d })
816
+ }), g = {
817
+ fieldId: d.id,
818
+ columnKey: h,
819
+ metadata: b,
820
+ format: w,
821
+ formatValue: J({ metadata: b, format: w })
821
822
  };
822
- for (let h = 0; h < t.length; h += 1)
823
- if (!Object.prototype.hasOwnProperty.call(t[h], s) || t[h][s] === void 0)
823
+ for (let C = 0; C < r.length; C += 1)
824
+ if (!Object.prototype.hasOwnProperty.call(r[C], h) || r[C][h] === void 0)
824
825
  throw new x(
825
826
  "missing_raw_temporal_result_contract",
826
- `Raw temporal result row ${h} is missing column "${s}".`,
827
- { fieldId: m.id, columnKey: s }
827
+ `Raw temporal result row ${C} is missing column "${h}".`,
828
+ { fieldId: d.id, columnKey: h }
828
829
  );
829
- a.set(s, v), i.set(m.id, v);
830
+ l.set(h, g), m.set(d.id, g);
830
831
  }
831
- const l = {
832
- activatedColumnKeys: new Set(a.keys()),
833
- byColumnKey: a,
834
- byFieldId: i
832
+ const c = {
833
+ activatedColumnKeys: new Set(l.keys()),
834
+ byColumnKey: l,
835
+ byFieldId: m
835
836
  };
836
- return t.length === 0 ? { kind: "loaded_empty", presentation: l } : { kind: "loaded_valid", presentation: l };
837
+ return r.length === 0 ? { kind: "loaded_empty", presentation: c } : { kind: "loaded_valid", presentation: c };
837
838
  } catch (a) {
838
839
  return ie(
839
840
  a,
@@ -845,37 +846,37 @@ function Vt(e) {
845
846
  }
846
847
  }
847
848
  function Lt(e) {
848
- var n, o;
849
+ var n, o, a;
849
850
  const r = e.effectiveCardConfig ?? e.card.config, t = Q(
850
851
  e.card,
851
852
  r
852
853
  );
853
- return e.card.type === "detailTable" && t === "config" ? ue({
854
- cardType: e.card.type,
855
- resultOwner: t,
856
- effectiveCardConfig: r
857
- }).length > 0 && e.records !== void 0 && (!e.columns || !e.columnKeyMap) ? {
858
- kind: "invalid",
859
- error: new x(
860
- "missing_raw_temporal_result_contract",
861
- "Activated raw temporal detail results require records, columns, and columnKeyMap atomically."
862
- )
863
- } : be(
854
+ if (e.card.type === "detailTable" && t === "config") {
855
+ const i = !!((n = e.columns) != null && n.some((l) => l.rawTemporal));
856
+ return i && e.records !== void 0 && !e.columnKeyMap ? {
857
+ kind: "invalid",
858
+ error: new x(
859
+ "missing_raw_temporal_result_contract",
860
+ "Activated raw temporal detail results require records, columns, and columnKeyMap atomically."
861
+ )
862
+ } : e.records !== void 0 && !i ? { kind: "inactive" } : ve(
863
+ zt({
864
+ cardType: e.card.type,
865
+ resultOwner: t,
866
+ effectiveCardConfig: r,
867
+ result: e.records === void 0 || !e.columns || !e.columnKeyMap ? void 0 : {
868
+ records: e.records,
869
+ columns: e.columns,
870
+ columnKeyMap: e.columnKeyMap
871
+ },
872
+ preferences: e.preferences,
873
+ calendar: e.calendar
874
+ }),
875
+ e
876
+ );
877
+ }
878
+ return ve(
864
879
  Vt({
865
- cardType: e.card.type,
866
- resultOwner: t,
867
- effectiveCardConfig: r,
868
- result: e.records === void 0 || !e.columns || !e.columnKeyMap ? void 0 : {
869
- records: e.records,
870
- columns: e.columns,
871
- columnKeyMap: e.columnKeyMap
872
- },
873
- preferences: e.preferences,
874
- calendar: e.calendar
875
- }),
876
- e
877
- ) : be(
878
- jt({
879
880
  resultOwner: t,
880
881
  sql: e.card.sql,
881
882
  normalizedPython: H(
@@ -883,33 +884,29 @@ function Lt(e) {
883
884
  ),
884
885
  records: e.records,
885
886
  columns: e.columns,
886
- columnSettings: (o = (n = e.card.preferences) == null ? void 0 : n.tablePrefs) == null ? void 0 : o.columnSettingsMap,
887
+ columnSettings: (a = (o = e.card.preferences) == null ? void 0 : o.tablePrefs) == null ? void 0 : a.columnSettingsMap,
887
888
  preferences: e.preferences,
888
889
  calendar: e.calendar
889
890
  }),
890
891
  e
891
892
  );
892
893
  }
893
- function Ut(e) {
894
- var n, o;
894
+ function $n(e) {
895
+ var n, o, a;
895
896
  const r = e.effectiveCardConfig ?? e.card.config, t = Q(
896
897
  e.card,
897
898
  r
898
899
  );
899
- return ue({
900
- cardType: e.card.type,
901
- resultOwner: t,
902
- effectiveCardConfig: r
903
- }).length > 0 ? !0 : Nt(e) ? Object.values(
904
- ((o = (n = e.card.preferences) == null ? void 0 : n.tablePrefs) == null ? void 0 : o.columnSettingsMap) || {}
900
+ return e.card.type === "detailTable" && t === "config" ? !!((n = e.columns) != null && n.some((i) => i.rawTemporal)) : Ot(e) ? Object.values(
901
+ ((a = (o = e.card.preferences) == null ? void 0 : o.tablePrefs) == null ? void 0 : a.columnSettingsMap) || {}
905
902
  ).some(
906
- (a) => {
907
- var i;
908
- return a.type === "date" && !((i = a.dateFormat) != null && i.useRelativeTime);
903
+ (i) => {
904
+ var l;
905
+ return i.type === "date" && !((l = i.dateFormat) != null && l.useRelativeTime);
909
906
  }
910
907
  ) : !1;
911
908
  }
912
- function be(e, r) {
909
+ function ve(e, r) {
913
910
  if (!r.executionSnapshot || e.kind === "inactive" || e.kind === "loading" || e.kind === "invalid")
914
911
  return e;
915
912
  if (!r.dashboardId)
@@ -957,7 +954,7 @@ function be(e, r) {
957
954
  }
958
955
  };
959
956
  }
960
- function jt(e) {
957
+ function Vt(e) {
961
958
  var t, n;
962
959
  if (e.resultOwner !== "freeform" || !((t = e.sql) != null && t.trim()) || (n = e.normalizedPython) != null && n.trim())
963
960
  return { kind: "inactive" };
@@ -976,26 +973,26 @@ function jt(e) {
976
973
  r.map(([c]) => c)
977
974
  ), i = /* @__PURE__ */ new Map(), l = [...e.columns || []];
978
975
  for (const [c, s] of r) {
979
- const u = me(
976
+ const f = me(
980
977
  s.dateFormat
981
978
  );
982
- if (!u) continue;
983
- const p = at({
979
+ if (!f) continue;
980
+ const u = at({
984
981
  columnKey: c,
985
- values: e.records.map((I) => {
986
- if (!Object.prototype.hasOwnProperty.call(I, c))
982
+ values: e.records.map((b) => {
983
+ if (!Object.prototype.hasOwnProperty.call(b, c))
987
984
  throw new x(
988
985
  "missing_raw_temporal_result_contract",
989
986
  `Declared SQL temporal column "${c}" is absent from a physical result row.`,
990
987
  { columnKey: c }
991
988
  );
992
- const w = I[c];
989
+ const w = b[c];
993
990
  return w === null || typeof w == "string" ? w : String(w);
994
991
  })
995
992
  });
996
- if (i.set(c, p), p.status !== "classified") continue;
993
+ if (i.set(c, u), u.status !== "classified") continue;
997
994
  let d = l.findIndex(
998
- (I) => I.key === c
995
+ (b) => b.key === c
999
996
  );
1000
997
  if (e.columns && d < 0)
1001
998
  throw new x(
@@ -1013,29 +1010,29 @@ function jt(e) {
1013
1010
  const v = {
1014
1011
  ...l[d],
1015
1012
  role: "date",
1016
- dataType: p.metadata.valueKind === "date" ? "date" : "datetime",
1017
- rawTemporal: p.metadata
1013
+ dataType: u.metadata.valueKind === "date" ? "date" : "datetime",
1014
+ rawTemporal: u.metadata
1018
1015
  };
1019
1016
  _e(v, {
1020
1017
  metadataRequired: !0
1021
1018
  }), l[d] = v;
1022
1019
  const h = q({
1023
- format: u,
1020
+ format: f,
1024
1021
  preferences: e.preferences,
1025
1022
  calendar: e.calendar
1026
1023
  });
1027
1024
  o.set(c, {
1028
1025
  columnKey: c,
1029
- metadata: p.metadata,
1026
+ metadata: u.metadata,
1030
1027
  format: h,
1031
1028
  formatValue: J({
1032
- metadata: p.metadata,
1029
+ metadata: u.metadata,
1033
1030
  format: h
1034
1031
  })
1035
1032
  });
1036
1033
  }
1037
1034
  const m = {
1038
- ...zt(),
1035
+ ...Nt(),
1039
1036
  activatedColumnKeys: a,
1040
1037
  byColumnKey: o
1041
1038
  };
@@ -1060,7 +1057,7 @@ function jt(e) {
1060
1057
  );
1061
1058
  }
1062
1059
  }
1063
- function xn(e) {
1060
+ function kn(e) {
1064
1061
  if (e.value !== null && typeof e.value != "string")
1065
1062
  return {
1066
1063
  value: e.value,
@@ -1077,17 +1074,10 @@ function xn(e) {
1077
1074
  const r = e.presentation.formatValue(e.value);
1078
1075
  return { value: e.value, label: r.text, result: r };
1079
1076
  }
1080
- function Sn(e) {
1077
+ function En(e) {
1081
1078
  if (!e.result || typeof e.result != "object") return !1;
1082
1079
  const r = e.result;
1083
- if (e.expectedResultOwner !== void 0 && r.resultOwner !== e.expectedResultOwner)
1084
- return !1;
1085
- if (!Ut({
1086
- card: e.card,
1087
- effectiveCardConfig: e.effectiveCardConfig
1088
- }))
1089
- return !0;
1090
- if (!Array.isArray(r.records)) return !1;
1080
+ if (e.expectedResultOwner !== void 0 && r.resultOwner !== e.expectedResultOwner || !Array.isArray(r.records)) return !1;
1091
1081
  const t = Lt({
1092
1082
  card: e.card,
1093
1083
  effectiveCardConfig: e.effectiveCardConfig,
@@ -1099,36 +1089,36 @@ function Sn(e) {
1099
1089
  });
1100
1090
  return t.kind === "inactive" || t.kind === "loaded_empty" || t.kind === "loaded_valid";
1101
1091
  }
1102
- function Ie(e) {
1092
+ function be(e) {
1103
1093
  return !e || typeof e != "object" ? !1 : Array.isArray(e.cards);
1104
1094
  }
1105
- function qt(e) {
1095
+ function Ut(e) {
1106
1096
  if (!e)
1107
1097
  return null;
1108
1098
  if (typeof e == "string")
1109
1099
  try {
1110
1100
  const r = JSON.parse(e);
1111
- return Ie(r) ? r : null;
1101
+ return be(r) ? r : null;
1112
1102
  } catch {
1113
1103
  return null;
1114
1104
  }
1115
- return Ie(e) ? e : null;
1105
+ return be(e) ? e : null;
1116
1106
  }
1117
1107
  function Pe(e) {
1118
1108
  var r;
1119
1109
  return (r = e == null ? void 0 : e.cards) != null && r.length ? e.activeCardId && e.cards.find((t) => t.id === e.activeCardId) || e.cards[0] : null;
1120
1110
  }
1121
- function _n(e) {
1111
+ function xn(e) {
1122
1112
  var t;
1123
1113
  const r = (e == null ? void 0 : e.frameObject) ?? ((t = e == null ? void 0 : e.visual) == null ? void 0 : t.frameObject);
1124
- return Pe(qt(r));
1114
+ return Pe(Ut(r));
1125
1115
  }
1126
- function fe(e) {
1116
+ function ue(e) {
1127
1117
  if (!(e != null && e.expectedType)) return "table";
1128
1118
  const r = Array.isArray(e.expectedType) ? e.expectedType[0] : e.expectedType;
1129
- return Ht(r) ? r : "table";
1119
+ return qt(r) ? r : "table";
1130
1120
  }
1131
- const Gt = [
1121
+ const jt = [
1132
1122
  "bar",
1133
1123
  "horizontalBar",
1134
1124
  "line",
@@ -1160,8 +1150,8 @@ const Gt = [
1160
1150
  "treemap",
1161
1151
  "custom"
1162
1152
  ];
1163
- function Ht(e) {
1164
- return Gt.includes(e);
1153
+ function qt(e) {
1154
+ return jt.includes(e);
1165
1155
  }
1166
1156
  function G(e) {
1167
1157
  const r = e.position;
@@ -1204,54 +1194,54 @@ function De(e, r) {
1204
1194
  if (!e || e.length === 0) return;
1205
1195
  const t = [], n = [], o = [];
1206
1196
  e.forEach((s) => {
1207
- const u = j(s.position);
1208
- u && (u.kind === "number" ? t.push(s) : u.kind === "range" ? n.push(s) : u.kind === "dynamic" && o.push(s));
1197
+ const f = j(s.position);
1198
+ f && (f.kind === "number" ? t.push(s) : f.kind === "range" ? n.push(s) : f.kind === "dynamic" && o.push(s));
1209
1199
  });
1210
1200
  const a = t.find((s) => {
1211
- const u = j(s.position);
1212
- return (u == null ? void 0 : u.kind) === "number" && u.start === r;
1201
+ const f = j(s.position);
1202
+ return (f == null ? void 0 : f.kind) === "number" && f.start === r;
1213
1203
  });
1214
1204
  if (a) return a;
1215
1205
  const l = n.sort(
1216
- (s, u) => G(s) - G(u)
1206
+ (s, f) => G(s) - G(f)
1217
1207
  ).find((s) => {
1218
- const u = j(s.position);
1219
- return (u == null ? void 0 : u.kind) === "range" && r >= u.start && r <= u.end;
1208
+ const f = j(s.position);
1209
+ return (f == null ? void 0 : f.kind) === "range" && r >= f.start && r <= f.end;
1220
1210
  });
1221
1211
  if (l) return l;
1222
1212
  const c = o.map((s) => ({
1223
1213
  slot: s,
1224
1214
  parsed: j(s.position)
1225
1215
  })).filter((s) => {
1226
- var u;
1227
- return ((u = s.parsed) == null ? void 0 : u.kind) === "dynamic";
1216
+ var f;
1217
+ return ((f = s.parsed) == null ? void 0 : f.kind) === "dynamic";
1228
1218
  }).sort(
1229
- (s, u) => {
1230
- var p, d;
1231
- return (((p = s.parsed) == null ? void 0 : p.start) ?? 0) - (((d = u.parsed) == null ? void 0 : d.start) ?? 0);
1219
+ (s, f) => {
1220
+ var u, d;
1221
+ return (((u = s.parsed) == null ? void 0 : u.start) ?? 0) - (((d = f.parsed) == null ? void 0 : d.start) ?? 0);
1232
1222
  }
1233
1223
  ).filter((s) => {
1234
- var u;
1235
- return r >= (((u = s.parsed) == null ? void 0 : u.start) ?? 0);
1224
+ var f;
1225
+ return r >= (((f = s.parsed) == null ? void 0 : f.start) ?? 0);
1236
1226
  }).sort(
1237
- (s, u) => {
1238
- var p, d;
1239
- return (((p = u.parsed) == null ? void 0 : p.start) ?? 0) - (((d = s.parsed) == null ? void 0 : d.start) ?? 0);
1227
+ (s, f) => {
1228
+ var u, d;
1229
+ return (((u = f.parsed) == null ? void 0 : u.start) ?? 0) - (((d = s.parsed) == null ? void 0 : d.start) ?? 0);
1240
1230
  }
1241
1231
  )[0];
1242
1232
  return c == null ? void 0 : c.slot;
1243
1233
  }
1244
- function Wt(e, r) {
1234
+ function Gt(e, r) {
1245
1235
  const t = De(e, r);
1246
1236
  if (t)
1247
- return fe(t);
1237
+ return ue(t);
1248
1238
  }
1249
- function Yt(e, r) {
1239
+ function Ht(e, r) {
1250
1240
  var n;
1251
1241
  const t = (n = e == null ? void 0 : e.customCardPreferences) == null ? void 0 : n.slotIndex;
1252
1242
  return typeof t == "number" ? t : r;
1253
1243
  }
1254
- function we(e, r) {
1244
+ function Ie(e, r) {
1255
1245
  var t;
1256
1246
  if (!((t = e == null ? void 0 : e.customCardPreferences) != null && t.url))
1257
1247
  return !1;
@@ -1269,18 +1259,18 @@ function we(e, r) {
1269
1259
  }
1270
1260
  return !1;
1271
1261
  }
1272
- function Zt(e) {
1262
+ function Wt(e) {
1273
1263
  const r = [];
1274
1264
  let t = -1;
1275
1265
  e.forEach((n, o) => {
1276
- const a = Yt(n, o);
1266
+ const a = Ht(n, o);
1277
1267
  a > t && (t = a), r[a] = n ?? null;
1278
1268
  });
1279
1269
  for (let n = 0; n <= t; n += 1)
1280
1270
  n in r || (r[n] = null);
1281
1271
  return r;
1282
1272
  }
1283
- function Fn(e) {
1273
+ function Sn(e) {
1284
1274
  return e.map((r, t) => !r.customCardPreferences || r.customCardPreferences.slotIndex === t ? r : {
1285
1275
  ...r,
1286
1276
  customCardPreferences: {
@@ -1289,17 +1279,17 @@ function Fn(e) {
1289
1279
  }
1290
1280
  });
1291
1281
  }
1292
- function Rn(e) {
1282
+ function _n(e) {
1293
1283
  const r = Me(e);
1294
1284
  if (r)
1295
- return fe(r);
1285
+ return ue(r);
1296
1286
  }
1297
- function An(e, r, t) {
1287
+ function Fn(e, r, t) {
1298
1288
  if (!e) return;
1299
- const n = Wt(t, r);
1289
+ const n = Gt(t, r);
1300
1290
  return e.type === "custom" && n ? n : e.type;
1301
1291
  }
1302
- function Bn(e, r, t) {
1292
+ function Rn(e, r, t) {
1303
1293
  var v;
1304
1294
  const n = {
1305
1295
  dataSource: t.dataSource,
@@ -1318,19 +1308,19 @@ function Bn(e, r, t) {
1318
1308
  pluginChartType: r.chartType,
1319
1309
  minInputs: r.minInputs,
1320
1310
  maxInputs: r.maxInputs
1321
- }, a = r.minInputs || 1, l = e.map((h) => ({ slot: h, parsed: j(h.position) })).filter((h) => h.parsed !== null).reduce((h, I) => {
1322
- const w = I.parsed.end;
1311
+ }, a = r.minInputs || 1, l = e.map((h) => ({ slot: h, parsed: j(h.position) })).filter((h) => h.parsed !== null).reduce((h, b) => {
1312
+ const w = b.parsed.end;
1323
1313
  return Number.isFinite(w) ? Math.max(h, w) : h;
1324
1314
  }, -1), m = Math.max(a, l + 1), c = Me(e), s = c ? G(c) : 0;
1325
- let u = !1;
1326
- const p = [];
1315
+ let f = !1;
1316
+ const u = [];
1327
1317
  for (let h = 0; h < m; h += 1) {
1328
- const I = De(e, h), w = fe(I), g = !u && h === s, $ = h, E = {
1318
+ const b = De(e, h), w = ue(b), g = !f && h === s, C = h, E = {
1329
1319
  ...n,
1330
1320
  id: st(),
1331
- title: (g ? c == null ? void 0 : c.label : I == null ? void 0 : I.label) || `Tab ${h + 1}`,
1332
- tabTitle: (g ? c == null ? void 0 : c.label : I == null ? void 0 : I.label) || `Tab ${h + 1}`,
1333
- description: (g ? c == null ? void 0 : c.description : I == null ? void 0 : I.description) || "",
1321
+ title: (g ? c == null ? void 0 : c.label : b == null ? void 0 : b.label) || `Tab ${h + 1}`,
1322
+ tabTitle: (g ? c == null ? void 0 : c.label : b == null ? void 0 : b.label) || `Tab ${h + 1}`,
1323
+ description: (g ? c == null ? void 0 : c.description : b == null ? void 0 : b.description) || "",
1334
1324
  type: w,
1335
1325
  sql: "",
1336
1326
  preferences: {
@@ -1339,41 +1329,41 @@ function Bn(e, r, t) {
1339
1329
  ...g && {
1340
1330
  customCardPreferences: {
1341
1331
  ...o,
1342
- slotIndex: $
1332
+ slotIndex: C
1343
1333
  }
1344
1334
  },
1345
1335
  ...!g && {
1346
1336
  customCardPreferences: {
1347
- slotIndex: $
1337
+ slotIndex: C
1348
1338
  }
1349
1339
  }
1350
1340
  };
1351
- g && (u = !0), p.push(E);
1341
+ g && (f = !0), u.push(E);
1352
1342
  }
1353
- if (!u && p.length > 0) {
1354
- const h = ((v = p[0].customCardPreferences) == null ? void 0 : v.slotIndex) ?? 0;
1355
- p[0] = {
1356
- ...p[0],
1357
- type: p[0].type,
1343
+ if (!f && u.length > 0) {
1344
+ const h = ((v = u[0].customCardPreferences) == null ? void 0 : v.slotIndex) ?? 0;
1345
+ u[0] = {
1346
+ ...u[0],
1347
+ type: u[0].type,
1358
1348
  customCardPreferences: {
1359
1349
  ...o,
1360
1350
  slotIndex: h
1361
1351
  }
1362
1352
  };
1363
1353
  }
1364
- const d = p.findIndex(
1354
+ const d = u.findIndex(
1365
1355
  (h) => {
1366
- var I;
1367
- return !!((I = h.customCardPreferences) != null && I.url);
1356
+ var b;
1357
+ return !!((b = h.customCardPreferences) != null && b.url);
1368
1358
  }
1369
1359
  );
1370
1360
  if (d > 0) {
1371
- const [h] = p.splice(d, 1);
1372
- p.unshift(h);
1361
+ const [h] = u.splice(d, 1);
1362
+ u.unshift(h);
1373
1363
  }
1374
- return p;
1364
+ return u;
1375
1365
  }
1376
- function Jt({
1366
+ function Yt({
1377
1367
  frame: e,
1378
1368
  configCard: r,
1379
1369
  isMultiInputVisual: t
@@ -1388,10 +1378,10 @@ function Jt({
1388
1378
  return e.cards.find((m) => m.id === i) || null;
1389
1379
  }) : e.cards;
1390
1380
  }
1391
- function Qt(e, r) {
1392
- return r && we(r, e.cards) ? r : e.cards.find((t) => we(t, e.cards)) || null;
1381
+ function Zt(e, r) {
1382
+ return r && Ie(r, e.cards) ? r : e.cards.find((t) => Ie(t, e.cards)) || null;
1393
1383
  }
1394
- function Xt(e, r) {
1384
+ function Jt(e, r) {
1395
1385
  var o, a;
1396
1386
  if (!e) return null;
1397
1387
  const t = r == null ? void 0 : r.visualType;
@@ -1401,10 +1391,10 @@ function Xt(e, r) {
1401
1391
  const n = (o = e.customCardPreferences) == null ? void 0 : o.visualType;
1402
1392
  return n || ((a = e.customCardPreferences) != null && a.dataInputCardIds ? "multiple" : null);
1403
1393
  }
1404
- function Pn(e) {
1394
+ function An(e) {
1405
1395
  return e.visualType === "multiple" || e.slots && e.slots.length > 0 || (e.minInputs || 0) > 1 || (e.maxInputs || 0) > 1 || (e.dataInputs || []).length > 1 ? "multiple" : "single";
1406
1396
  }
1407
- function Mn(e) {
1397
+ function Bn(e) {
1408
1398
  return Array.isArray(e) ? { records: e } : e;
1409
1399
  }
1410
1400
  class W extends Error {
@@ -1413,12 +1403,12 @@ class W extends Error {
1413
1403
  super(
1414
1404
  `Unable to resolve ${n} while capturing report presentation. Refresh the authoring page and select the attachment again.`
1415
1405
  );
1416
- S(this, "code", "temporal_snapshot_target_not_found");
1417
- S(this, "selection");
1406
+ _(this, "code", "temporal_snapshot_target_not_found");
1407
+ _(this, "selection");
1418
1408
  this.name = "TemporalSnapshotSelectionError", this.selection = t;
1419
1409
  }
1420
1410
  }
1421
- function er(e, r) {
1411
+ function Qt(e, r) {
1422
1412
  var o;
1423
1413
  const t = [], n = /* @__PURE__ */ new Map();
1424
1414
  for (const a of r) {
@@ -1432,25 +1422,25 @@ function er(e, r) {
1432
1422
  let l = !a.cardId;
1433
1423
  for (const m of i) {
1434
1424
  const c = (((o = m.document) == null ? void 0 : o.sections) || []).flatMap(
1435
- (p) => p.type === "table" || p.type === "chart" ? [p.card] : []
1425
+ (u) => u.type === "table" || u.type === "chart" ? [u.card] : []
1436
1426
  ), s = (m.frames || []).flatMap(
1437
- (p) => tr(p, a.cardId)
1427
+ (u) => Xt(u, a.cardId)
1438
1428
  );
1439
1429
  s.length > 0 && (l = !0);
1440
- const u = [
1430
+ const f = [
1441
1431
  ...s,
1442
1432
  ...(m.cards || []).filter(
1443
- (p) => !a.cardId || a.cardId === p.id
1433
+ (u) => !a.cardId || a.cardId === u.id
1444
1434
  ),
1445
1435
  ...c.filter(
1446
- (p) => !a.cardId || a.cardId === p.id
1436
+ (u) => !a.cardId || a.cardId === u.id
1447
1437
  )
1448
1438
  ];
1449
- for (const p of u) {
1439
+ for (const u of f) {
1450
1440
  l = !0;
1451
1441
  const d = n.get(a.attachmentIndex) ?? /* @__PURE__ */ new Set();
1452
- d.has(p.id) || (d.add(p.id), n.set(a.attachmentIndex, d), t.push({
1453
- card: p,
1442
+ d.has(u.id) || (d.add(u.id), n.set(a.attachmentIndex, d), t.push({
1443
+ card: u,
1454
1444
  ...a.attachmentIndex !== void 0 ? { attachmentIndex: a.attachmentIndex } : {}
1455
1445
  }));
1456
1446
  }
@@ -1460,29 +1450,29 @@ function er(e, r) {
1460
1450
  }
1461
1451
  return t;
1462
1452
  }
1463
- function tr(e, r) {
1453
+ function Xt(e, r) {
1464
1454
  var i;
1465
1455
  const t = r ? (i = e.cards) == null ? void 0 : i.find((l) => l.id === r) : Pe(e);
1466
1456
  if (!t) return [];
1467
- const n = Qt(e, t), o = (e.cards || []).filter(
1457
+ const n = Zt(e, t), o = (e.cards || []).filter(
1468
1458
  (l) => {
1469
1459
  var m;
1470
1460
  return typeof ((m = l.customCardPreferences) == null ? void 0 : m.slotIndex) == "number";
1471
1461
  }
1472
- ).length > 1, a = n != null && (Xt(n) === "multiple" || o);
1473
- return !n || !a ? [t] : Zt(
1474
- Jt({
1462
+ ).length > 1, a = n != null && (Jt(n) === "multiple" || o);
1463
+ return !n || !a ? [t] : Wt(
1464
+ Yt({
1475
1465
  frame: e,
1476
1466
  configCard: n,
1477
1467
  isMultiInputVisual: !0
1478
1468
  })
1479
1469
  ).filter((l) => l !== null);
1480
1470
  }
1481
- function Dn(e) {
1482
- return er(e.dashboard, e.selections).flatMap(
1471
+ function Pn(e) {
1472
+ return Qt(e.dashboard, e.selections).flatMap(
1483
1473
  ({ card: r, attachmentIndex: t }) => {
1484
- var s, u, p, d;
1485
- const n = ((s = e.resolveCardConfig) == null ? void 0 : s.call(e, r)) ?? r.config, o = Ft({
1474
+ var s, f, u, d;
1475
+ const n = ((s = e.resolveCardConfig) == null ? void 0 : s.call(e, r)) ?? r.config, o = _t({
1486
1476
  card: r,
1487
1477
  cardConfig: n
1488
1478
  }), a = {
@@ -1496,7 +1486,7 @@ function Dn(e) {
1496
1486
  fieldId: v.id,
1497
1487
  role: v.role
1498
1488
  },
1499
- format: Ot(
1489
+ format: Dt(
1500
1490
  v,
1501
1491
  {
1502
1492
  dateStyle: e.valueFormatPreferences.dateStyle,
@@ -1525,27 +1515,28 @@ function Dn(e) {
1525
1515
  field: g,
1526
1516
  role: "detail"
1527
1517
  }))
1528
- ], I = /* @__PURE__ */ new Map(), w = new Set(
1518
+ ], b = /* @__PURE__ */ new Map(), w = new Set(
1529
1519
  h.map(
1530
- ({ field: g, role: $ }) => Tt(g, $)
1520
+ ({ field: g, role: C }) => Ct(g, C)
1531
1521
  )
1532
1522
  );
1533
1523
  for (const { field: g } of h) {
1534
- const $ = g.label;
1535
- $ && I.set($, (I.get($) || 0) + 1);
1524
+ const C = g.label;
1525
+ C && b.set(C, (b.get(C) || 0) + 1);
1536
1526
  }
1537
1527
  for (const g of v) {
1538
- if (g.dateValueMode !== "canonical") continue;
1539
- const $ = $t(g), E = g.label, F = kt({
1540
- label: E,
1541
- labelCount: E && I.get(E) || 0,
1542
- rawKey: $,
1528
+ const C = Te(g.dataType);
1529
+ if (C !== "date" && C !== "datetime") continue;
1530
+ const E = Tt(g), S = g.label, A = $t({
1531
+ label: S,
1532
+ labelCount: S && b.get(S) || 0,
1533
+ rawKey: E,
1543
1534
  rawKeys: w
1544
1535
  });
1545
- if (!F) throw new W(a);
1536
+ if (!A) throw new W(a);
1546
1537
  l.push({
1547
1538
  scope: a,
1548
- target: { kind: "column", columnKey: F },
1539
+ target: { kind: "column", columnKey: A },
1549
1540
  format: q({
1550
1541
  format: Be(g),
1551
1542
  preferences: e.valueFormatPreferences,
@@ -1553,19 +1544,19 @@ function Dn(e) {
1553
1544
  })
1554
1545
  });
1555
1546
  }
1556
- } else if (m === "freeform" && ((u = r.sql) != null && u.trim()) && !c.trim())
1547
+ } else if (m === "freeform" && ((f = r.sql) != null && f.trim()) && !c.trim())
1557
1548
  for (const [v, h] of Object.entries(
1558
- ((d = (p = r.preferences) == null ? void 0 : p.tablePrefs) == null ? void 0 : d.columnSettingsMap) || {}
1549
+ ((d = (u = r.preferences) == null ? void 0 : u.tablePrefs) == null ? void 0 : d.columnSettingsMap) || {}
1559
1550
  )) {
1560
1551
  if (h.type !== "date") continue;
1561
- const I = me(
1552
+ const b = me(
1562
1553
  h.dateFormat
1563
1554
  );
1564
- I && l.push({
1555
+ b && l.push({
1565
1556
  scope: a,
1566
1557
  target: { kind: "column", columnKey: v },
1567
1558
  format: q({
1568
- format: I,
1559
+ format: b,
1569
1560
  preferences: e.valueFormatPreferences,
1570
1561
  calendar: e.calendar
1571
1562
  })
@@ -1575,13 +1566,13 @@ function Dn(e) {
1575
1566
  }
1576
1567
  );
1577
1568
  }
1578
- function rr(e) {
1569
+ function er(e) {
1579
1570
  return !!e && typeof e == "object" && !Array.isArray(e);
1580
1571
  }
1581
- function A(e, r, t) {
1582
- return rr(e) ? e : (t.push({ field: r, message: "Expected an object." }), {});
1572
+ function B(e, r, t) {
1573
+ return er(e) ? e : (t.push({ field: r, message: "Expected an object." }), {});
1583
1574
  }
1584
- function B(e, r, t, n) {
1575
+ function P(e, r, t, n) {
1585
1576
  const o = new Set(t);
1586
1577
  Object.keys(e).forEach((a) => {
1587
1578
  o.has(a) || n.push({
@@ -1590,7 +1581,7 @@ function B(e, r, t, n) {
1590
1581
  });
1591
1582
  });
1592
1583
  }
1593
- function M(e, r, t, n, o = {}) {
1584
+ function D(e, r, t, n, o = {}) {
1594
1585
  if (e == null)
1595
1586
  return;
1596
1587
  if (typeof e != "string") {
@@ -1611,8 +1602,8 @@ function M(e, r, t, n, o = {}) {
1611
1602
  }
1612
1603
  return a;
1613
1604
  }
1614
- function pe(e, r, t) {
1615
- const n = M(e, r, 2e3, t);
1605
+ function fe(e, r, t) {
1606
+ const n = D(e, r, 2e3, t);
1616
1607
  if (n)
1617
1608
  try {
1618
1609
  return new URL(n), n;
@@ -1621,13 +1612,13 @@ function pe(e, r, t) {
1621
1612
  return;
1622
1613
  }
1623
1614
  }
1624
- function Ce(e, r, t) {
1625
- const n = A(e, r, t);
1626
- B(n, r, ["tokens", "components"], t);
1615
+ function we(e, r, t) {
1616
+ const n = B(e, r, t);
1617
+ P(n, r, ["tokens", "components"], t);
1627
1618
  const o = {};
1628
1619
  if (n.tokens !== void 0) {
1629
- const a = A(n.tokens, `${r}.tokens`, t);
1630
- B(
1620
+ const a = B(n.tokens, `${r}.tokens`, t);
1621
+ P(
1631
1622
  a,
1632
1623
  `${r}.tokens`,
1633
1624
  ["color", "typography"],
@@ -1635,7 +1626,7 @@ function Ce(e, r, t) {
1635
1626
  );
1636
1627
  const i = {};
1637
1628
  if (a.color !== void 0) {
1638
- const l = A(
1629
+ const l = B(
1639
1630
  a.color,
1640
1631
  `${r}.tokens.color`,
1641
1632
  t
@@ -1652,37 +1643,37 @@ function Ce(e, r, t) {
1652
1643
  "warning",
1653
1644
  "info"
1654
1645
  ];
1655
- B(l, `${r}.tokens.color`, m, t);
1646
+ P(l, `${r}.tokens.color`, m, t);
1656
1647
  const c = {};
1657
1648
  m.forEach((s) => {
1658
- const u = M(
1649
+ const f = D(
1659
1650
  l[s],
1660
1651
  `${r}.tokens.color.${s}`,
1661
1652
  120,
1662
1653
  t
1663
1654
  );
1664
- u !== void 0 && (c[s] = u);
1655
+ f !== void 0 && (c[s] = f);
1665
1656
  }), i.color = c;
1666
1657
  }
1667
1658
  if (a.typography !== void 0) {
1668
- const l = A(
1659
+ const l = B(
1669
1660
  a.typography,
1670
1661
  `${r}.tokens.typography`,
1671
1662
  t
1672
1663
  );
1673
- B(
1664
+ P(
1674
1665
  l,
1675
1666
  `${r}.tokens.typography`,
1676
1667
  ["fontFamily", "monoFontFamily"],
1677
1668
  t
1678
1669
  );
1679
- const m = M(
1670
+ const m = D(
1680
1671
  l.fontFamily,
1681
1672
  `${r}.tokens.typography.fontFamily`,
1682
1673
  500,
1683
1674
  t,
1684
1675
  { allowEmpty: !0 }
1685
- ), c = M(
1676
+ ), c = D(
1686
1677
  l.monoFontFamily,
1687
1678
  `${r}.tokens.typography.monoFontFamily`,
1688
1679
  500,
@@ -1697,24 +1688,24 @@ function Ce(e, r, t) {
1697
1688
  o.tokens = i;
1698
1689
  }
1699
1690
  if (n.components !== void 0) {
1700
- const a = A(
1691
+ const a = B(
1701
1692
  n.components,
1702
1693
  `${r}.components`,
1703
1694
  t
1704
1695
  );
1705
- if (B(a, `${r}.components`, ["chart"], t), a.chart !== void 0) {
1706
- const i = A(
1696
+ if (P(a, `${r}.components`, ["chart"], t), a.chart !== void 0) {
1697
+ const i = B(
1707
1698
  a.chart,
1708
1699
  `${r}.components.chart`,
1709
1700
  t
1710
1701
  );
1711
- B(i, `${r}.components.chart`, ["palette"], t);
1702
+ P(i, `${r}.components.chart`, ["palette"], t);
1712
1703
  let l;
1713
1704
  i.palette !== void 0 && (Array.isArray(i.palette) ? i.palette.length > 20 ? t.push({
1714
1705
  field: `${r}.components.chart.palette`,
1715
1706
  message: "Expected 20 colors or fewer."
1716
1707
  }) : l = i.palette.map(
1717
- (m, c) => M(
1708
+ (m, c) => D(
1718
1709
  m,
1719
1710
  `${r}.components.chart.palette.${c}`,
1720
1711
  120,
@@ -1730,22 +1721,22 @@ function Ce(e, r, t) {
1730
1721
  }
1731
1722
  return o;
1732
1723
  }
1733
- function nr(e, r) {
1734
- const t = "presentation.appearance", n = A(e, t, r);
1735
- B(n, t, ["version", "schemes"], r);
1724
+ function tr(e, r) {
1725
+ const t = "presentation.appearance", n = B(e, t, r);
1726
+ P(n, t, ["version", "schemes"], r);
1736
1727
  const o = {};
1737
1728
  if (n.version !== void 0 && (typeof n.version != "number" || !Number.isFinite(n.version) ? r.push({ field: `${t}.version`, message: "Expected a number." }) : o.version = n.version), n.schemes !== void 0) {
1738
- const a = A(n.schemes, `${t}.schemes`, r);
1739
- B(a, `${t}.schemes`, ["light", "dark"], r), o.schemes = {
1729
+ const a = B(n.schemes, `${t}.schemes`, r);
1730
+ P(a, `${t}.schemes`, ["light", "dark"], r), o.schemes = {
1740
1731
  ...a.light !== void 0 ? {
1741
- light: Ce(
1732
+ light: we(
1742
1733
  a.light,
1743
1734
  `${t}.schemes.light`,
1744
1735
  r
1745
1736
  )
1746
1737
  } : {},
1747
1738
  ...a.dark !== void 0 ? {
1748
- dark: Ce(
1739
+ dark: we(
1749
1740
  a.dark,
1750
1741
  `${t}.schemes.dark`,
1751
1742
  r
@@ -1755,23 +1746,23 @@ function nr(e, r) {
1755
1746
  }
1756
1747
  return o;
1757
1748
  }
1758
- function or(e, r) {
1759
- const t = "presentation.brandOverrides", n = A(e, t, r);
1760
- B(n, t, ["brandName", "logoUrl", "link"], r);
1761
- const o = M(
1749
+ function rr(e, r) {
1750
+ const t = "presentation.brandOverrides", n = B(e, t, r);
1751
+ P(n, t, ["brandName", "logoUrl", "link"], r);
1752
+ const o = D(
1762
1753
  n.brandName,
1763
1754
  `${t}.brandName`,
1764
1755
  200,
1765
1756
  r
1766
- ), a = pe(n.logoUrl, `${t}.logoUrl`, r), i = M(n.link, `${t}.link`, 120, r);
1757
+ ), a = fe(n.logoUrl, `${t}.logoUrl`, r), i = D(n.link, `${t}.link`, 120, r);
1767
1758
  return {
1768
1759
  ...o !== void 0 ? { brandName: o } : {},
1769
1760
  ...a !== void 0 ? { logoUrl: a } : {},
1770
1761
  ...i !== void 0 ? { link: i } : {}
1771
1762
  };
1772
1763
  }
1773
- function ar(e, r) {
1774
- const t = "presentation.fragments", n = A(e, t, r), o = [
1764
+ function nr(e, r) {
1765
+ const t = "presentation.fragments", n = B(e, t, r), o = [
1775
1766
  "preHeaderText",
1776
1767
  "headerBannerHtml",
1777
1768
  "signatureHtml",
@@ -1779,10 +1770,10 @@ function ar(e, r) {
1779
1770
  "disclaimerHtml",
1780
1771
  "unsubscribeUrl"
1781
1772
  ];
1782
- B(n, t, o, r);
1773
+ P(n, t, o, r);
1783
1774
  const a = {};
1784
1775
  return o.forEach((i) => {
1785
- const l = i === "unsubscribeUrl" ? pe(n[i], `${t}.${i}`, r) : M(
1776
+ const l = i === "unsubscribeUrl" ? fe(n[i], `${t}.${i}`, r) : D(
1786
1777
  n[i],
1787
1778
  `${t}.${i}`,
1788
1779
  i === "preHeaderText" ? 200 : 5e3,
@@ -1792,15 +1783,15 @@ function ar(e, r) {
1792
1783
  l !== void 0 && (a[i] = l);
1793
1784
  }), a;
1794
1785
  }
1795
- function ir(e) {
1786
+ function or(e) {
1796
1787
  const r = [], t = {};
1797
- if (e.appearance !== void 0 && (t.appearance = nr(e.appearance, r)), e.brandOverrides !== void 0 && (t.brandOverrides = or(e.brandOverrides, r)), e.fragments !== void 0 && (t.fragments = ar(e.fragments, r)), e.viewUrl !== void 0) {
1798
- const n = pe(e.viewUrl, "presentation.viewUrl", r);
1788
+ if (e.appearance !== void 0 && (t.appearance = tr(e.appearance, r)), e.brandOverrides !== void 0 && (t.brandOverrides = rr(e.brandOverrides, r)), e.fragments !== void 0 && (t.fragments = nr(e.fragments, r)), e.viewUrl !== void 0) {
1789
+ const n = fe(e.viewUrl, "presentation.viewUrl", r);
1799
1790
  n !== void 0 && (t.viewUrl = n);
1800
1791
  }
1801
1792
  return { value: t, issues: r };
1802
1793
  }
1803
- const Oe = [
1794
+ const Ke = [
1804
1795
  "SUN",
1805
1796
  "MON",
1806
1797
  "TUE",
@@ -1808,15 +1799,15 @@ const Oe = [
1808
1799
  "THU",
1809
1800
  "FRI",
1810
1801
  "SAT"
1811
- ], cr = new Map(
1812
- Oe.map((e, r) => [e, r])
1813
- ), On = {
1802
+ ], ar = new Map(
1803
+ Ke.map((e, r) => [e, r])
1804
+ ), Mn = {
1814
1805
  cadence: "weekly",
1815
1806
  hour: 9,
1816
1807
  minute: 0,
1817
1808
  weekdays: [1]
1818
1809
  };
1819
- function Kn(e) {
1810
+ function Dn(e) {
1820
1811
  if (typeof e != "string" || e.length === 0 || e !== e.trim() || /^(?:(?:UTC|GMT)[+-]|[+-]\d{2}:\d{2}$)/.test(e))
1821
1812
  return !1;
1822
1813
  try {
@@ -1825,27 +1816,27 @@ function Kn(e) {
1825
1816
  return !1;
1826
1817
  }
1827
1818
  }
1828
- function lr(e) {
1819
+ function ir(e) {
1829
1820
  return Number.isInteger(e.minute) && e.minute >= 0 && e.minute <= 59 && Number.isInteger(e.hour) && e.hour >= 0 && e.hour <= 23;
1830
1821
  }
1831
- function Ke(e) {
1822
+ function Oe(e) {
1832
1823
  if (e.length === 0) return null;
1833
1824
  const r = [...e].sort((t, n) => t - n);
1834
1825
  return r.some(
1835
1826
  (t, n) => !Number.isInteger(t) || t < 0 || t > 6 || n > 0 && t === r[n - 1]
1836
1827
  ) ? null : r;
1837
1828
  }
1838
- function Nn(e) {
1839
- if (!lr(e))
1829
+ function Kn(e) {
1830
+ if (!ir(e))
1840
1831
  throw new Error("Choose a valid schedule time.");
1841
1832
  const r = `${e.minute} ${e.hour}`;
1842
1833
  switch (e.cadence) {
1843
1834
  case "daily":
1844
1835
  return `${r} * * *`;
1845
1836
  case "weekly": {
1846
- const t = Ke(e.weekdays);
1837
+ const t = Oe(e.weekdays);
1847
1838
  if (!t) throw new Error("Choose at least one weekday.");
1848
- return `${r} * * ${t.map((n) => Oe[n]).join(",")}`;
1839
+ return `${r} * * ${t.map((n) => Ke[n]).join(",")}`;
1849
1840
  }
1850
1841
  case "twice_monthly":
1851
1842
  return `${r} 1,15 * *`;
@@ -1853,7 +1844,7 @@ function Nn(e) {
1853
1844
  return `${r} 1 * *`;
1854
1845
  }
1855
1846
  }
1856
- function dr(e) {
1847
+ function cr(e) {
1857
1848
  if (typeof e != "string" || e.length === 0)
1858
1849
  return { ok: !1, issue: "Choose a supported schedule." };
1859
1850
  if (e !== e.trim() || e.includes(" "))
@@ -1873,13 +1864,13 @@ function dr(e) {
1873
1864
  value: { cadence: "daily", hour: m, minute: l, weekdays: [] }
1874
1865
  };
1875
1866
  if (o === "*" && i !== "*") {
1876
- const s = i.split(",").map((d) => cr.get(d));
1867
+ const s = i.split(",").map((d) => ar.get(d));
1877
1868
  if (s.some((d) => d === void 0))
1878
1869
  return { ok: !1, issue: "Choose a supported schedule." };
1879
- const u = s, p = Ke(u);
1880
- return !p || p.some((d, v) => d !== u[v]) ? { ok: !1, issue: "Choose a supported schedule." } : {
1870
+ const f = s, u = Oe(f);
1871
+ return !u || u.some((d, v) => d !== f[v]) ? { ok: !1, issue: "Choose a supported schedule." } : {
1881
1872
  ok: !0,
1882
- value: { cadence: "weekly", hour: m, minute: l, weekdays: p }
1873
+ value: { cadence: "weekly", hour: m, minute: l, weekdays: u }
1883
1874
  };
1884
1875
  }
1885
1876
  return o === "1,15" && i === "*" ? {
@@ -1890,14 +1881,14 @@ function dr(e) {
1890
1881
  value: { cadence: "monthly", hour: m, minute: l, weekdays: [] }
1891
1882
  } : { ok: !1, issue: "Choose a supported schedule." };
1892
1883
  }
1893
- function sr(e, r, t) {
1884
+ function lr(e, r, t) {
1894
1885
  return new Intl.DateTimeFormat(t, {
1895
1886
  hour: "numeric",
1896
1887
  minute: "2-digit",
1897
1888
  timeZone: "UTC"
1898
1889
  }).format(new Date(Date.UTC(2020, 0, 1, e, r)));
1899
1890
  }
1900
- function mr(e, r) {
1891
+ function dr(e, r) {
1901
1892
  var t;
1902
1893
  if (e === "UTC") return "UTC";
1903
1894
  try {
@@ -1909,11 +1900,11 @@ function mr(e, r) {
1909
1900
  return null;
1910
1901
  }
1911
1902
  }
1912
- function zn(e, r, t = "en-US") {
1913
- const n = dr(e);
1903
+ function On(e, r, t = "en-US") {
1904
+ const n = cr(e);
1914
1905
  if (!n.ok) return null;
1915
1906
  try {
1916
- const o = sr(n.value.hour, n.value.minute, t), a = mr(r, t);
1907
+ const o = lr(n.value.hour, n.value.minute, t), a = dr(r, t);
1917
1908
  if (!a) return null;
1918
1909
  switch (n.value.cadence) {
1919
1910
  case "daily":
@@ -1936,12 +1927,12 @@ function zn(e, r, t = "en-US") {
1936
1927
  return null;
1937
1928
  }
1938
1929
  }
1939
- const ur = /* @__PURE__ */ new Set([
1930
+ const sr = /* @__PURE__ */ new Set([
1940
1931
  "table",
1941
1932
  "aggregateTable",
1942
1933
  "pivotTable",
1943
1934
  "detailTable"
1944
- ]), fr = /* @__PURE__ */ new Set([
1935
+ ]), mr = /* @__PURE__ */ new Set([
1945
1936
  "bar",
1946
1937
  "horizontalBar",
1947
1938
  "line",
@@ -1972,51 +1963,51 @@ const ur = /* @__PURE__ */ new Set([
1972
1963
  "treemap",
1973
1964
  "custom"
1974
1965
  ]);
1975
- function Vn(e) {
1966
+ function Nn(e) {
1976
1967
  var n, o, a;
1977
- const r = fr.has(e.type) && (e.type !== "custom" || !!((n = e.customCardPreferences) != null && n.url));
1968
+ const r = mr.has(e.type) && (e.type !== "custom" || !!((n = e.customCardPreferences) != null && n.url));
1978
1969
  return e.type === "text" || !r || mt(e) ? { formats: [], defaultFormat: null } : {
1979
- formats: pr({
1970
+ formats: ur({
1980
1971
  cardType: e.type,
1981
1972
  allowDownload: (o = e.preferences) == null ? void 0 : o.allowDownload
1982
1973
  }),
1983
- defaultFormat: yr({
1974
+ defaultFormat: fr({
1984
1975
  cardType: e.type,
1985
1976
  allowDownload: (a = e.preferences) == null ? void 0 : a.allowDownload
1986
1977
  })
1987
1978
  };
1988
1979
  }
1989
- function pr(e) {
1980
+ function ur(e) {
1990
1981
  return e.allowDownload === !1 ? ["pdf"] : ["pdf", "csv"];
1991
1982
  }
1992
- function yr(e) {
1993
- return ur.has(e.cardType) && e.allowDownload !== !1 ? "csv" : "pdf";
1983
+ function fr(e) {
1984
+ return sr.has(e.cardType) && e.allowDownload !== !1 ? "csv" : "pdf";
1994
1985
  }
1995
- function Ln(e) {
1986
+ function zn(e) {
1996
1987
  return e != null && e.role ? e.type === "tenant" ? e.role === "POWER_USER" : ["AUTHOR", "ADMIN", "SUPER_ADMIN"].includes(e.role) : !1;
1997
1988
  }
1998
- function Un(e) {
1989
+ function Ln(e) {
1999
1990
  return e.canCreate ? [
2000
1991
  ...e.scheduledReportAvailable ? ["scheduled_report"] : [],
2001
1992
  ...e.analyticalBriefingsEnabled ? ["analytical_briefing"] : []
2002
1993
  ] : [];
2003
1994
  }
2004
- function hr(e) {
1995
+ function pr(e) {
2005
1996
  const r = (e == null ? void 0 : e.channels) ?? [];
2006
1997
  return r.length === 1 && r[0] === "EMAIL";
2007
1998
  }
2008
- function gr(e) {
2009
- return e.body.type === "generated_analysis" ? "Analytical briefing" : e.body.type === "custom_message" && e.attachments.length > 0 && hr(e.deliveryConfig) ? e.scheduleExpr ? "Scheduled report" : "On-demand report" : "Plain briefing";
1999
+ function yr(e) {
2000
+ return e.body.type === "generated_analysis" ? "Analytical briefing" : e.body.type === "custom_message" && e.attachments.length > 0 && pr(e.deliveryConfig) ? e.scheduleExpr ? "Scheduled report" : "On-demand report" : "Plain briefing";
2010
2001
  }
2011
- function jn(e) {
2012
- const r = gr(e), t = r === "Scheduled report" || r === "On-demand report" ? "report" : "briefing";
2002
+ function Vn(e) {
2003
+ const r = yr(e), t = r === "Scheduled report" || r === "On-demand report" ? "report" : "briefing";
2013
2004
  return {
2014
2005
  typeLabel: r,
2015
2006
  noun: t,
2016
2007
  pluralNoun: t === "report" ? "reports" : "briefings"
2017
2008
  };
2018
2009
  }
2019
- const ce = "BRIEFING", vr = ["markdown", "html"], le = ["markdown"], te = 20, y = {
2010
+ const ce = "BRIEFING", hr = ["markdown", "html"], le = ["markdown"], te = 20, y = {
2020
2011
  name: 500,
2021
2012
  description: 2e3,
2022
2013
  instruction: 5e4,
@@ -2032,7 +2023,7 @@ const ce = "BRIEFING", vr = ["markdown", "html"], le = ["markdown"], te = 20, y
2032
2023
  presentationTone: 500,
2033
2024
  presentationFormat: 2e3,
2034
2025
  id: 500
2035
- }, _ = {
2026
+ }, F = {
2036
2027
  maxBlocks: 50,
2037
2028
  maxTableRows: 100,
2038
2029
  maxTableColumns: 20,
@@ -2045,7 +2036,7 @@ const ce = "BRIEFING", vr = ["markdown", "html"], le = ["markdown"], te = 20, y
2045
2036
  // tiny tiles in narrow client panels; 2-up was the chosen layout).
2046
2037
  maxKpiTiles: 8
2047
2038
  };
2048
- function br(e) {
2039
+ function gr(e) {
2049
2040
  if (e === null || typeof e != "object" || Array.isArray(e))
2050
2041
  return !1;
2051
2042
  const r = e;
@@ -2055,17 +2046,17 @@ function br(e) {
2055
2046
  if (t === null || typeof t != "object" || Array.isArray(t))
2056
2047
  return !1;
2057
2048
  const n = t;
2058
- return (n.kind === "metric" && typeof n.metricId == "string" && !!n.metricId.trim() || n.kind === "column" && typeof n.columnKey == "string" && !!n.columnKey.trim() || n.kind === "matrix_measure" && typeof n.measureId == "string" && !!n.measureId.trim()) && Te(r.format).ok;
2049
+ return (n.kind === "metric" && typeof n.metricId == "string" && !!n.metricId.trim() || n.kind === "column" && typeof n.columnKey == "string" && !!n.columnKey.trim() || n.kind === "matrix_measure" && typeof n.measureId == "string" && !!n.measureId.trim()) && Ce(r.format).ok;
2059
2050
  }
2060
- function Ir(e) {
2061
- return e == null ? "" : br(e) ? ct(e.value, e.format) : String(e);
2051
+ function vr(e) {
2052
+ return e == null ? "" : gr(e) ? ct(e.value, e.format) : String(e);
2062
2053
  }
2063
- function qn(e) {
2054
+ function Un(e) {
2064
2055
  return [e.delta, e.percentChange].filter(
2065
2056
  (r) => r != null
2066
- ).map(Ir).filter(Boolean).join(" / ");
2057
+ ).map(vr).filter(Boolean).join(" / ");
2067
2058
  }
2068
- const Ne = new Set(vr), wr = /* @__PURE__ */ new Set([
2059
+ const Ne = new Set(hr), br = /* @__PURE__ */ new Set([
2069
2060
  "EMAIL",
2070
2061
  "WEBHOOK",
2071
2062
  "SLACK",
@@ -2076,39 +2067,39 @@ const Ne = new Set(vr), wr = /* @__PURE__ */ new Set([
2076
2067
  maxPlanningIterations: { min: 1, max: 10 },
2077
2068
  maxRows: { min: 1, max: 1e5 },
2078
2069
  timeoutMs: { min: 1e3, max: 30 * 6e4 }
2079
- }, Cr = /* @__PURE__ */ new Set([
2070
+ }, Ir = /* @__PURE__ */ new Set([
2080
2071
  "letter",
2081
2072
  "legal",
2082
2073
  "a4",
2083
2074
  "a3",
2084
2075
  "tabloid"
2085
- ]), Tr = /* @__PURE__ */ new Set([
2076
+ ]), wr = /* @__PURE__ */ new Set([
2086
2077
  "portrait",
2087
2078
  "landscape"
2088
- ]), $r = /* @__PURE__ */ new Set([",", ";", " "]), kr = /* @__PURE__ */ new Set([
2079
+ ]), Cr = /* @__PURE__ */ new Set([",", ";", " "]), Tr = /* @__PURE__ */ new Set([
2089
2080
  "current",
2090
2081
  "all"
2091
- ]), Er = /* @__PURE__ */ new Set([
2082
+ ]), $r = /* @__PURE__ */ new Set([
2092
2083
  "concise",
2093
2084
  "balanced",
2094
2085
  "detailed"
2095
- ]), xr = /* @__PURE__ */ new Set([
2086
+ ]), kr = /* @__PURE__ */ new Set([
2096
2087
  "info",
2097
2088
  "positive",
2098
2089
  "warning",
2099
2090
  "critical"
2100
- ]), Sr = /* @__PURE__ */ new Set([
2091
+ ]), Er = /* @__PURE__ */ new Set([
2101
2092
  "text",
2102
2093
  "number",
2103
2094
  "currency",
2104
2095
  "percent",
2105
2096
  "date",
2106
2097
  "boolean"
2107
- ]), _r = /* @__PURE__ */ new Set([
2098
+ ]), xr = /* @__PURE__ */ new Set([
2108
2099
  "left",
2109
2100
  "center",
2110
2101
  "right"
2111
- ]), Fr = [
2102
+ ]), Sr = [
2112
2103
  "pageSize",
2113
2104
  "orientation",
2114
2105
  "includeFilters",
@@ -2137,56 +2128,56 @@ const Ne = new Set(vr), wr = /* @__PURE__ */ new Set([
2137
2128
  class X extends Error {
2138
2129
  constructor(t) {
2139
2130
  super(t.map((n) => `${n.field}: ${n.message}`).join("; "));
2140
- S(this, "issues");
2131
+ _(this, "issues");
2141
2132
  this.name = "BriefingContractError", this.issues = t;
2142
2133
  }
2143
2134
  }
2144
2135
  function ze(e) {
2145
2136
  return typeof e == "object" && e !== null && !Array.isArray(e);
2146
2137
  }
2147
- function f(e, r, t) {
2138
+ function p(e, r, t) {
2148
2139
  e.push({ field: r, message: t });
2149
2140
  }
2150
2141
  function k(e, r, t) {
2151
- return ze(e) ? e : (f(t, r, "Expected an object."), {});
2142
+ return ze(e) ? e : (p(t, r, "Expected an object."), {});
2152
2143
  }
2153
- function b(e, r, t, n) {
2144
+ function I(e, r, t, n) {
2154
2145
  const o = new Set(t);
2155
2146
  Object.keys(e).forEach((a) => {
2156
- o.has(a) || f(
2147
+ o.has(a) || p(
2157
2148
  n,
2158
2149
  r ? `${r}.${a}` : a,
2159
2150
  `Unexpected field "${a}".`
2160
2151
  );
2161
2152
  });
2162
2153
  }
2163
- function C(e, r, t, n) {
2154
+ function T(e, r, t, n) {
2164
2155
  if (typeof e != "string")
2165
- return f(n, r, "Expected a string."), "";
2156
+ return p(n, r, "Expected a string."), "";
2166
2157
  const o = e.trim();
2167
- return o ? (o.length > t && f(n, r, `Must be ${t} characters or fewer.`), o) : (f(n, r, "Required value cannot be empty."), "");
2158
+ return o ? (o.length > t && p(n, r, `Must be ${t} characters or fewer.`), o) : (p(n, r, "Required value cannot be empty."), "");
2168
2159
  }
2169
- function T(e, r, t, n) {
2160
+ function $(e, r, t, n) {
2170
2161
  if (e == null)
2171
2162
  return;
2172
2163
  if (typeof e != "string") {
2173
- f(n, r, "Expected a string.");
2164
+ p(n, r, "Expected a string.");
2174
2165
  return;
2175
2166
  }
2176
2167
  const o = e.trim();
2177
2168
  if (o)
2178
- return o.length > t && f(n, r, `Must be ${t} characters or fewer.`), o;
2169
+ return o.length > t && p(n, r, `Must be ${t} characters or fewer.`), o;
2179
2170
  }
2180
- function Rr(e, r, t, n) {
2171
+ function _r(e, r, t, n) {
2181
2172
  if (typeof e != "string")
2182
- return f(n, r, "Expected a string."), "";
2173
+ return p(n, r, "Expected a string."), "";
2183
2174
  const o = e.trim();
2184
- return o.length > t && f(n, r, `Must be ${t} characters or fewer.`), o;
2175
+ return o.length > t && p(n, r, `Must be ${t} characters or fewer.`), o;
2185
2176
  }
2186
- function Ar(e, r, t) {
2177
+ function Fr(e, r, t) {
2187
2178
  if (e != null) {
2188
2179
  if (!Number.isInteger(e) || Number(e) < 0) {
2189
- f(t, r, "Expected a non-negative integer.");
2180
+ p(t, r, "Expected a non-negative integer.");
2190
2181
  return;
2191
2182
  }
2192
2183
  return Number(e);
@@ -2194,74 +2185,74 @@ function Ar(e, r, t) {
2194
2185
  }
2195
2186
  function R(e, r, t, n = {}) {
2196
2187
  if (e == null)
2197
- return n.required ? (f(t, r, "Expected at least one evidence id."), []) : void 0;
2188
+ return n.required ? (p(t, r, "Expected at least one evidence id."), []) : void 0;
2198
2189
  if (!Array.isArray(e))
2199
- return f(t, r, "Expected an array."), n.required ? [] : void 0;
2190
+ return p(t, r, "Expected an array."), n.required ? [] : void 0;
2200
2191
  const o = [];
2201
2192
  return e.forEach((a, i) => {
2202
- const l = C(
2193
+ const l = T(
2203
2194
  a,
2204
2195
  `${r}.${i}`,
2205
2196
  y.id,
2206
2197
  t
2207
2198
  );
2208
2199
  l && !o.includes(l) && o.push(l);
2209
- }), n.required && o.length === 0 && f(t, r, "Expected at least one evidence id."), o.length > 0 || n.required ? o : void 0;
2200
+ }), n.required && o.length === 0 && p(t, r, "Expected at least one evidence id."), o.length > 0 || n.required ? o : void 0;
2210
2201
  }
2211
2202
  function N(e, r, t, n) {
2212
- return e == null ? r : typeof e != "boolean" ? (f(n, t, "Expected a boolean."), r) : e;
2203
+ return e == null ? r : typeof e != "boolean" ? (p(n, t, "Expected a boolean."), r) : e;
2213
2204
  }
2214
- function Br(e, r) {
2215
- return e == null ? "ACTIVE" : e === "ACTIVE" || e === "PAUSED" || e === "DISABLED" ? e : (f(r, "status", "Expected ACTIVE, PAUSED, or DISABLED."), "ACTIVE");
2205
+ function Rr(e, r) {
2206
+ return e == null ? "ACTIVE" : e === "ACTIVE" || e === "PAUSED" || e === "DISABLED" ? e : (p(r, "status", "Expected ACTIVE, PAUSED, or DISABLED."), "ACTIVE");
2216
2207
  }
2217
- function Pr(e) {
2208
+ function Ar(e) {
2218
2209
  return e.includes("@") && e.includes(".") && !e.includes(" ");
2219
2210
  }
2220
- function Ve(e, r) {
2211
+ function Le(e, r) {
2221
2212
  if (e == null)
2222
2213
  return { type: "project" };
2223
2214
  const t = k(e, "source", r), n = t.type;
2224
- return n === "project" ? (b(t, "source", ["type"], r), { type: "project" }) : n === "dashboard" ? (b(t, "source", ["type", "dashboardId"], r), {
2215
+ return n === "project" ? (I(t, "source", ["type"], r), { type: "project" }) : n === "dashboard" ? (I(t, "source", ["type", "dashboardId"], r), {
2225
2216
  type: "dashboard",
2226
- dashboardId: C(
2217
+ dashboardId: T(
2227
2218
  t.dashboardId,
2228
2219
  "source.dashboardId",
2229
2220
  y.id,
2230
2221
  r
2231
2222
  )
2232
- }) : (f(r, "source.type", "Expected project or dashboard."), { type: "project" });
2223
+ }) : (p(r, "source.type", "Expected project or dashboard."), { type: "project" });
2233
2224
  }
2234
- function Le(e, r) {
2225
+ function Ve(e, r) {
2235
2226
  const t = k(e, "body", r), n = t.type;
2236
- return n === "generated_analysis" ? (b(t, "body", ["type", "instruction"], r), {
2227
+ return n === "generated_analysis" ? (I(t, "body", ["type", "instruction"], r), {
2237
2228
  type: "generated_analysis",
2238
- instruction: C(
2229
+ instruction: T(
2239
2230
  t.instruction,
2240
2231
  "body.instruction",
2241
2232
  y.instruction,
2242
2233
  r
2243
2234
  )
2244
- }) : n === "custom_message" ? (b(t, "body", ["type", "message"], r), {
2235
+ }) : n === "custom_message" ? (I(t, "body", ["type", "message"], r), {
2245
2236
  type: "custom_message",
2246
- message: Rr(
2237
+ message: _r(
2247
2238
  t.message,
2248
2239
  "body.message",
2249
2240
  y.customMessage,
2250
2241
  r
2251
2242
  )
2252
- }) : n === "none" ? (b(t, "body", ["type"], r), { type: "none" }) : (f(
2243
+ }) : n === "none" ? (I(t, "body", ["type"], r), { type: "none" }) : (p(
2253
2244
  r,
2254
2245
  "body.type",
2255
2246
  "Expected generated_analysis, custom_message, or none."
2256
2247
  ), { type: "none" });
2257
2248
  }
2258
- function Mr(e, r) {
2249
+ function Br(e, r) {
2259
2250
  if (e == null)
2260
2251
  return [...le];
2261
2252
  if (!Array.isArray(e))
2262
- return f(r, "presentation.artifactFormats", "Expected an array."), [...le];
2253
+ return p(r, "presentation.artifactFormats", "Expected an array."), [...le];
2263
2254
  if (e.length === 0)
2264
- return f(
2255
+ return p(
2265
2256
  r,
2266
2257
  "presentation.artifactFormats",
2267
2258
  "Choose at least one artifact format."
@@ -2269,7 +2260,7 @@ function Mr(e, r) {
2269
2260
  const t = [];
2270
2261
  return e.forEach((n, o) => {
2271
2262
  if (typeof n != "string" || !Ne.has(n)) {
2272
- f(
2263
+ p(
2273
2264
  r,
2274
2265
  `presentation.artifactFormats.${o}`,
2275
2266
  "Expected markdown or html."
@@ -2287,7 +2278,7 @@ function Ue(e, r) {
2287
2278
  includeSql: !0
2288
2279
  };
2289
2280
  const t = k(e, "presentation", r);
2290
- b(
2281
+ I(
2291
2282
  t,
2292
2283
  "presentation",
2293
2284
  [
@@ -2305,7 +2296,7 @@ function Ue(e, r) {
2305
2296
  r
2306
2297
  );
2307
2298
  const n = {
2308
- artifactFormats: Mr(t.artifactFormats, r),
2299
+ artifactFormats: Br(t.artifactFormats, r),
2309
2300
  includeEvidence: N(
2310
2301
  t.includeEvidence,
2311
2302
  !0,
@@ -2318,46 +2309,46 @@ function Ue(e, r) {
2318
2309
  "presentation.includeSql",
2319
2310
  r
2320
2311
  )
2321
- }, o = T(
2312
+ }, o = $(
2322
2313
  t.audience,
2323
2314
  "presentation.audience",
2324
2315
  y.presentationAudience,
2325
2316
  r
2326
- ), a = T(
2317
+ ), a = $(
2327
2318
  t.tone,
2328
2319
  "presentation.tone",
2329
2320
  y.presentationTone,
2330
2321
  r
2331
- ), i = T(
2322
+ ), i = $(
2332
2323
  t.format,
2333
2324
  "presentation.format",
2334
2325
  y.presentationFormat,
2335
2326
  r
2336
2327
  );
2337
2328
  o && (n.audience = o), a && (n.tone = a), i && (n.format = i);
2338
- const l = ir(t);
2339
- return l.issues.forEach((m) => f(r, m.field, m.message)), Object.assign(n, l.value), n;
2329
+ const l = or(t);
2330
+ return l.issues.forEach((m) => p(r, m.field, m.message)), Object.assign(n, l.value), n;
2340
2331
  }
2341
- function Dr(e, r, t) {
2342
- return Array.isArray(e) ? (e.length === 0 && f(t, r, "Expected at least one item."), e.length > _.maxListItems && f(
2332
+ function Pr(e, r, t) {
2333
+ return Array.isArray(e) ? (e.length === 0 && p(t, r, "Expected at least one item."), e.length > F.maxListItems && p(
2343
2334
  t,
2344
2335
  r,
2345
- `Must have ${_.maxListItems} items or fewer.`
2346
- ), e.slice(0, _.maxListItems).map(
2347
- (n, o) => C(
2336
+ `Must have ${F.maxListItems} items or fewer.`
2337
+ ), e.slice(0, F.maxListItems).map(
2338
+ (n, o) => T(
2348
2339
  n,
2349
2340
  `${r}.${o}`,
2350
2341
  y.contentItem,
2351
2342
  t
2352
2343
  )
2353
- ).filter(Boolean)) : (f(t, r, "Expected an array."), []);
2344
+ ).filter(Boolean)) : (p(t, r, "Expected an array."), []);
2354
2345
  }
2355
- function Or(e, r, t) {
2346
+ function Mr(e, r, t) {
2356
2347
  const n = k(e, r, t);
2357
2348
  if (n.kind === "metric")
2358
- return b(n, r, ["kind", "metricId"], t), {
2349
+ return I(n, r, ["kind", "metricId"], t), {
2359
2350
  kind: "metric",
2360
- metricId: C(
2351
+ metricId: T(
2361
2352
  n.metricId,
2362
2353
  `${r}.metricId`,
2363
2354
  y.id,
@@ -2365,9 +2356,9 @@ function Or(e, r, t) {
2365
2356
  )
2366
2357
  };
2367
2358
  if (n.kind === "column")
2368
- return b(n, r, ["kind", "columnKey"], t), {
2359
+ return I(n, r, ["kind", "columnKey"], t), {
2369
2360
  kind: "column",
2370
- columnKey: C(
2361
+ columnKey: T(
2371
2362
  n.columnKey,
2372
2363
  `${r}.columnKey`,
2373
2364
  y.id,
@@ -2375,16 +2366,16 @@ function Or(e, r, t) {
2375
2366
  )
2376
2367
  };
2377
2368
  if (n.kind === "matrix_measure")
2378
- return b(n, r, ["kind", "measureId"], t), {
2369
+ return I(n, r, ["kind", "measureId"], t), {
2379
2370
  kind: "matrix_measure",
2380
- measureId: C(
2371
+ measureId: T(
2381
2372
  n.measureId,
2382
2373
  `${r}.measureId`,
2383
2374
  y.id,
2384
2375
  t
2385
2376
  )
2386
2377
  };
2387
- f(
2378
+ p(
2388
2379
  t,
2389
2380
  `${r}.kind`,
2390
2381
  "Expected metric, column, or matrix_measure."
@@ -2396,14 +2387,14 @@ function je(e, r, t) {
2396
2387
  const n = k(e, r, t);
2397
2388
  if (!Object.prototype.hasOwnProperty.call(n, "target") && !Object.prototype.hasOwnProperty.call(n, "format"))
2398
2389
  return;
2399
- b(n, r, ["value", "target", "format"], t), (typeof n.value != "number" || !Number.isFinite(n.value)) && f(t, `${r}.value`, "Expected a finite number.");
2400
- const o = Or(
2390
+ I(n, r, ["value", "target", "format"], t), (typeof n.value != "number" || !Number.isFinite(n.value)) && p(t, `${r}.value`, "Expected a finite number.");
2391
+ const o = Mr(
2401
2392
  n.target,
2402
2393
  `${r}.target`,
2403
2394
  t
2404
- ), a = Te(n.format);
2395
+ ), a = Ce(n.format);
2405
2396
  if (a.ok || a.issues.forEach(
2406
- (i) => f(
2397
+ (i) => p(
2407
2398
  t,
2408
2399
  i.path === "$" ? `${r}.format` : `${r}.format.${i.path}`,
2409
2400
  i.message
@@ -2411,72 +2402,72 @@ function je(e, r, t) {
2411
2402
  ), !(typeof n.value != "number" || !Number.isFinite(n.value) || !o || !a.ok))
2412
2403
  return { value: n.value, target: o, format: a.value };
2413
2404
  }
2414
- function P(e, r, t) {
2405
+ function M(e, r, t) {
2415
2406
  if (typeof e == "string")
2416
2407
  return e;
2417
2408
  if (typeof e == "number") {
2418
2409
  if (!Number.isFinite(e)) {
2419
- f(t, r, "Expected a finite number.");
2410
+ p(t, r, "Expected a finite number.");
2420
2411
  return;
2421
2412
  }
2422
2413
  return e;
2423
2414
  }
2424
2415
  const n = je(e, r, t);
2425
2416
  if (n) return n;
2426
- f(
2417
+ p(
2427
2418
  t,
2428
2419
  r,
2429
2420
  "Expected a string, number, or structured numeric value."
2430
2421
  );
2431
2422
  }
2432
- function Kr(e, r, t) {
2423
+ function Dr(e, r, t) {
2433
2424
  if (e === null || typeof e == "string" || typeof e == "number" || typeof e == "boolean")
2434
- return typeof e == "string" && e.length > y.contentCell ? (f(
2425
+ return typeof e == "string" && e.length > y.contentCell ? (p(
2435
2426
  t,
2436
2427
  r,
2437
2428
  `Must be ${y.contentCell} characters or fewer.`
2438
- ), e.slice(0, y.contentCell)) : typeof e == "number" && !Number.isFinite(e) ? (f(t, r, "Expected a finite number."), null) : e;
2429
+ ), e.slice(0, y.contentCell)) : typeof e == "number" && !Number.isFinite(e) ? (p(t, r, "Expected a finite number."), null) : e;
2439
2430
  const n = je(e, r, t);
2440
- return n || (f(
2431
+ return n || (p(
2441
2432
  t,
2442
2433
  r,
2443
2434
  "Expected a string, number, boolean, structured numeric value, or null."
2444
2435
  ), null);
2445
2436
  }
2446
- function Nr(e, r, t) {
2437
+ function Kr(e, r, t) {
2447
2438
  if (!Array.isArray(e))
2448
- return f(t, r, "Expected an array."), [];
2449
- e.length === 0 && f(t, r, "Expected at least one column."), e.length > _.maxTableColumns && f(
2439
+ return p(t, r, "Expected an array."), [];
2440
+ e.length === 0 && p(t, r, "Expected at least one column."), e.length > F.maxTableColumns && p(
2450
2441
  t,
2451
2442
  r,
2452
- `Must have ${_.maxTableColumns} columns or fewer.`
2443
+ `Must have ${F.maxTableColumns} columns or fewer.`
2453
2444
  );
2454
2445
  const n = /* @__PURE__ */ new Set();
2455
- return e.slice(0, _.maxTableColumns).map((o, a) => {
2446
+ return e.slice(0, F.maxTableColumns).map((o, a) => {
2456
2447
  const i = `${r}.${a}`, l = k(o, i, t);
2457
- b(l, i, ["key", "label", "kind", "align"], t);
2458
- const m = C(
2448
+ I(l, i, ["key", "label", "kind", "align"], t);
2449
+ const m = T(
2459
2450
  l.key,
2460
2451
  `${i}.key`,
2461
2452
  y.id,
2462
2453
  t
2463
2454
  );
2464
- m && (n.has(m) && f(t, `${i}.key`, "Column key must be unique."), n.add(m));
2465
- const c = C(
2455
+ m && (n.has(m) && p(t, `${i}.key`, "Column key must be unique."), n.add(m));
2456
+ const c = T(
2466
2457
  l.label,
2467
2458
  `${i}.label`,
2468
2459
  y.contentTitle,
2469
2460
  t
2470
- ), s = D(
2461
+ ), s = K(
2471
2462
  l.kind,
2472
2463
  `${i}.kind`,
2473
- Sr,
2464
+ Er,
2474
2465
  "text, number, currency, percent, date, or boolean",
2475
2466
  t
2476
- ), u = D(
2467
+ ), f = K(
2477
2468
  l.align,
2478
2469
  `${i}.align`,
2479
- _r,
2470
+ xr,
2480
2471
  "left, center, or right",
2481
2472
  t
2482
2473
  );
@@ -2484,41 +2475,41 @@ function Nr(e, r, t) {
2484
2475
  key: m,
2485
2476
  label: c,
2486
2477
  ...s ? { kind: s } : {},
2487
- ...u ? { align: u } : {}
2478
+ ...f ? { align: f } : {}
2488
2479
  };
2489
2480
  });
2490
2481
  }
2491
- function zr(e, r, t, n) {
2482
+ function Or(e, r, t, n) {
2492
2483
  if (!Array.isArray(e))
2493
- return f(n, r, "Expected an array."), [];
2494
- e.length > _.maxTableRows && f(
2484
+ return p(n, r, "Expected an array."), [];
2485
+ e.length > F.maxTableRows && p(
2495
2486
  n,
2496
2487
  r,
2497
- `Must have ${_.maxTableRows} rows or fewer.`
2488
+ `Must have ${F.maxTableRows} rows or fewer.`
2498
2489
  );
2499
2490
  const o = new Set(t.map((a) => a.key).filter(Boolean));
2500
- return e.slice(0, _.maxTableRows).map((a, i) => {
2491
+ return e.slice(0, F.maxTableRows).map((a, i) => {
2501
2492
  const l = `${r}.${i}`, m = k(a, l, n);
2502
2493
  return Object.keys(m).forEach((c) => {
2503
- o.has(c) || f(n, `${l}.${c}`, `Unexpected table cell "${c}".`);
2494
+ o.has(c) || p(n, `${l}.${c}`, `Unexpected table cell "${c}".`);
2504
2495
  }), Object.fromEntries(
2505
2496
  t.map((c) => [
2506
2497
  c.key,
2507
- Kr(m[c.key] ?? null, `${l}.${c.key}`, n)
2498
+ Dr(m[c.key] ?? null, `${l}.${c.key}`, n)
2508
2499
  ])
2509
2500
  );
2510
2501
  });
2511
2502
  }
2512
- function Vr(e, r, t) {
2503
+ function Nr(e, r, t) {
2513
2504
  const n = `content.blocks.${r}`, o = k(e, n, t), a = o.type;
2514
2505
  if (a === "heading") {
2515
- b(o, n, ["type", "text", "level", "evidenceIds"], t);
2506
+ I(o, n, ["type", "text", "level", "evidenceIds"], t);
2516
2507
  const i = o.level === void 0 || o.level === null ? void 0 : o.level === 2 || o.level === 3 ? o.level : void 0;
2517
- o.level !== void 0 && o.level !== null && i === void 0 && f(t, `${n}.level`, "Expected 2 or 3.");
2508
+ o.level !== void 0 && o.level !== null && i === void 0 && p(t, `${n}.level`, "Expected 2 or 3.");
2518
2509
  const l = R(o.evidenceIds, `${n}.evidenceIds`, t);
2519
2510
  return {
2520
2511
  type: "heading",
2521
- text: C(
2512
+ text: T(
2522
2513
  o.text,
2523
2514
  `${n}.text`,
2524
2515
  y.contentTitle,
@@ -2529,11 +2520,11 @@ function Vr(e, r, t) {
2529
2520
  };
2530
2521
  }
2531
2522
  if (a === "paragraph") {
2532
- b(o, n, ["type", "text", "evidenceIds"], t);
2523
+ I(o, n, ["type", "text", "evidenceIds"], t);
2533
2524
  const i = R(o.evidenceIds, `${n}.evidenceIds`, t);
2534
2525
  return {
2535
2526
  type: "paragraph",
2536
- text: C(
2527
+ text: T(
2537
2528
  o.text,
2538
2529
  `${n}.text`,
2539
2530
  y.contentText,
@@ -2543,23 +2534,23 @@ function Vr(e, r, t) {
2543
2534
  };
2544
2535
  }
2545
2536
  if (a === "finding") {
2546
- b(o, n, ["type", "title", "text", "severity", "evidenceIds"], t);
2547
- const i = T(
2537
+ I(o, n, ["type", "title", "text", "severity", "evidenceIds"], t);
2538
+ const i = $(
2548
2539
  o.title,
2549
2540
  `${n}.title`,
2550
2541
  y.contentTitle,
2551
2542
  t
2552
- ), l = D(
2543
+ ), l = K(
2553
2544
  o.severity,
2554
2545
  `${n}.severity`,
2555
- xr,
2546
+ kr,
2556
2547
  "info, positive, warning, or critical",
2557
2548
  t
2558
2549
  );
2559
2550
  return {
2560
2551
  type: "finding",
2561
2552
  ...i ? { title: i } : {},
2562
- text: C(
2553
+ text: T(
2563
2554
  o.text,
2564
2555
  `${n}.text`,
2565
2556
  y.contentText,
@@ -2572,8 +2563,8 @@ function Vr(e, r, t) {
2572
2563
  };
2573
2564
  }
2574
2565
  if (a === "bullets" || a === "actions" || a === "limitations") {
2575
- b(o, n, ["type", "title", "items", "evidenceIds"], t);
2576
- const i = T(
2566
+ I(o, n, ["type", "title", "items", "evidenceIds"], t);
2567
+ const i = $(
2577
2568
  o.title,
2578
2569
  `${n}.title`,
2579
2570
  y.contentTitle,
@@ -2582,12 +2573,12 @@ function Vr(e, r, t) {
2582
2573
  return {
2583
2574
  type: a,
2584
2575
  ...i ? { title: i } : {},
2585
- items: Dr(o.items, `${n}.items`, t),
2576
+ items: Pr(o.items, `${n}.items`, t),
2586
2577
  ...l ? { evidenceIds: l } : {}
2587
2578
  };
2588
2579
  }
2589
2580
  if (a === "metric") {
2590
- b(
2581
+ I(
2591
2582
  o,
2592
2583
  n,
2593
2584
  [
@@ -2602,33 +2593,33 @@ function Vr(e, r, t) {
2602
2593
  ],
2603
2594
  t
2604
2595
  );
2605
- const i = P(o.value, `${n}.value`, t) ?? "";
2606
- i === "" && f(
2596
+ const i = M(o.value, `${n}.value`, t) ?? "";
2597
+ i === "" && p(
2607
2598
  t,
2608
2599
  `${n}.value`,
2609
2600
  "Expected a non-empty string, number, or structured numeric value."
2610
2601
  );
2611
- const l = o.previousValue === void 0 || o.previousValue === null ? o.previousValue : P(
2602
+ const l = o.previousValue === void 0 || o.previousValue === null ? o.previousValue : M(
2612
2603
  o.previousValue,
2613
2604
  `${n}.previousValue`,
2614
2605
  t
2615
- ), m = o.delta === void 0 || o.delta === null ? o.delta : P(
2606
+ ), m = o.delta === void 0 || o.delta === null ? o.delta : M(
2616
2607
  o.delta,
2617
2608
  `${n}.delta`,
2618
2609
  t
2619
- ), c = o.percentChange === void 0 || o.percentChange === null ? o.percentChange : P(
2610
+ ), c = o.percentChange === void 0 || o.percentChange === null ? o.percentChange : M(
2620
2611
  o.percentChange,
2621
2612
  `${n}.percentChange`,
2622
2613
  t
2623
- ), s = T(
2614
+ ), s = $(
2624
2615
  o.unit,
2625
2616
  `${n}.unit`,
2626
2617
  y.contentTitle,
2627
2618
  t
2628
- ), u = R(o.evidenceIds, `${n}.evidenceIds`, t);
2619
+ ), f = R(o.evidenceIds, `${n}.evidenceIds`, t);
2629
2620
  return {
2630
2621
  type: "metric",
2631
- label: C(
2622
+ label: T(
2632
2623
  o.label,
2633
2624
  `${n}.label`,
2634
2625
  y.contentTitle,
@@ -2639,27 +2630,27 @@ function Vr(e, r, t) {
2639
2630
  ...m !== void 0 ? { delta: m } : {},
2640
2631
  ...c !== void 0 ? { percentChange: c } : {},
2641
2632
  ...s ? { unit: s } : {},
2642
- ...u ? { evidenceIds: u } : {}
2633
+ ...f ? { evidenceIds: f } : {}
2643
2634
  };
2644
2635
  }
2645
2636
  if (a === "kpi_grid") {
2646
- b(o, n, ["type", "title", "tiles", "evidenceIds"], t);
2647
- const i = T(
2637
+ I(o, n, ["type", "title", "tiles", "evidenceIds"], t);
2638
+ const i = $(
2648
2639
  o.title,
2649
2640
  `${n}.title`,
2650
2641
  y.contentTitle,
2651
2642
  t
2652
2643
  ), l = Array.isArray(o.tiles) ? o.tiles : [];
2653
- Array.isArray(o.tiles) || f(t, `${n}.tiles`, "Expected an array."), l.length === 0 && f(t, `${n}.tiles`, "Expected at least one tile."), l.length > _.maxKpiTiles && f(
2644
+ Array.isArray(o.tiles) || p(t, `${n}.tiles`, "Expected an array."), l.length === 0 && p(t, `${n}.tiles`, "Expected at least one tile."), l.length > F.maxKpiTiles && p(
2654
2645
  t,
2655
2646
  `${n}.tiles`,
2656
- `Must have ${_.maxKpiTiles} tiles or fewer.`
2647
+ `Must have ${F.maxKpiTiles} tiles or fewer.`
2657
2648
  );
2658
- const m = l.slice(0, _.maxKpiTiles).map((s, u) => {
2659
- const p = `${n}.tiles.${u}`, d = k(s, p, t);
2660
- b(
2649
+ const m = l.slice(0, F.maxKpiTiles).map((s, f) => {
2650
+ const u = `${n}.tiles.${f}`, d = k(s, u, t);
2651
+ I(
2661
2652
  d,
2662
- p,
2653
+ u,
2663
2654
  [
2664
2655
  "label",
2665
2656
  "value",
@@ -2671,51 +2662,51 @@ function Vr(e, r, t) {
2671
2662
  ],
2672
2663
  t
2673
2664
  );
2674
- const v = P(
2665
+ const v = M(
2675
2666
  d.value,
2676
- `${p}.value`,
2667
+ `${u}.value`,
2677
2668
  t
2678
2669
  ) ?? "";
2679
- v === "" && f(
2670
+ v === "" && p(
2680
2671
  t,
2681
- `${p}.value`,
2672
+ `${u}.value`,
2682
2673
  "Expected a non-empty string, number, or structured numeric value."
2683
2674
  );
2684
- const h = d.previousValue === void 0 || d.previousValue === null ? d.previousValue : P(
2675
+ const h = d.previousValue === void 0 || d.previousValue === null ? d.previousValue : M(
2685
2676
  d.previousValue,
2686
- `${p}.previousValue`,
2677
+ `${u}.previousValue`,
2687
2678
  t
2688
- ), I = d.delta === void 0 || d.delta === null ? d.delta : P(
2679
+ ), b = d.delta === void 0 || d.delta === null ? d.delta : M(
2689
2680
  d.delta,
2690
- `${p}.delta`,
2681
+ `${u}.delta`,
2691
2682
  t
2692
- ), w = d.percentChange === void 0 || d.percentChange === null ? d.percentChange : P(
2683
+ ), w = d.percentChange === void 0 || d.percentChange === null ? d.percentChange : M(
2693
2684
  d.percentChange,
2694
- `${p}.percentChange`,
2685
+ `${u}.percentChange`,
2695
2686
  t
2696
- ), g = T(
2687
+ ), g = $(
2697
2688
  d.unit,
2698
- `${p}.unit`,
2689
+ `${u}.unit`,
2699
2690
  y.contentTitle,
2700
2691
  t
2701
- ), $ = R(
2692
+ ), C = R(
2702
2693
  d.evidenceIds,
2703
- `${p}.evidenceIds`,
2694
+ `${u}.evidenceIds`,
2704
2695
  t
2705
2696
  );
2706
2697
  return {
2707
- label: C(
2698
+ label: T(
2708
2699
  d.label,
2709
- `${p}.label`,
2700
+ `${u}.label`,
2710
2701
  y.contentTitle,
2711
2702
  t
2712
2703
  ),
2713
2704
  value: v,
2714
2705
  ...h !== void 0 ? { previousValue: h } : {},
2715
- ...I !== void 0 ? { delta: I } : {},
2706
+ ...b !== void 0 ? { delta: b } : {},
2716
2707
  ...w !== void 0 ? { percentChange: w } : {},
2717
2708
  ...g ? { unit: g } : {},
2718
- ...$ ? { evidenceIds: $ } : {}
2709
+ ...C ? { evidenceIds: C } : {}
2719
2710
  };
2720
2711
  }), c = R(
2721
2712
  o.evidenceIds,
@@ -2730,10 +2721,10 @@ function Vr(e, r, t) {
2730
2721
  };
2731
2722
  }
2732
2723
  if (a === "progress") {
2733
- b(o, n, ["type", "label", "value", "detail", "evidenceIds"], t);
2724
+ I(o, n, ["type", "label", "value", "detail", "evidenceIds"], t);
2734
2725
  const i = typeof o.value == "number" && Number.isFinite(o.value) ? o.value : 0;
2735
- (typeof o.value != "number" || !Number.isFinite(o.value)) && f(t, `${n}.value`, "Expected a finite number.");
2736
- const l = T(
2726
+ (typeof o.value != "number" || !Number.isFinite(o.value)) && p(t, `${n}.value`, "Expected a finite number.");
2727
+ const l = $(
2737
2728
  o.detail,
2738
2729
  `${n}.detail`,
2739
2730
  y.contentText,
@@ -2741,7 +2732,7 @@ function Vr(e, r, t) {
2741
2732
  ), m = R(o.evidenceIds, `${n}.evidenceIds`, t);
2742
2733
  return {
2743
2734
  type: "progress",
2744
- label: C(
2735
+ label: T(
2745
2736
  o.label,
2746
2737
  `${n}.label`,
2747
2738
  y.contentTitle,
@@ -2753,46 +2744,46 @@ function Vr(e, r, t) {
2753
2744
  };
2754
2745
  }
2755
2746
  if (a === "table") {
2756
- b(
2747
+ I(
2757
2748
  o,
2758
2749
  n,
2759
2750
  ["type", "id", "title", "columns", "rows", "caption", "totalRows", "evidenceIds"],
2760
2751
  t
2761
2752
  );
2762
- const i = Nr(o.columns, `${n}.columns`, t), l = T(
2753
+ const i = Kr(o.columns, `${n}.columns`, t), l = $(
2763
2754
  o.title,
2764
2755
  `${n}.title`,
2765
2756
  y.contentTitle,
2766
2757
  t
2767
- ), m = T(
2758
+ ), m = $(
2768
2759
  o.id,
2769
2760
  `${n}.id`,
2770
2761
  y.id,
2771
2762
  t
2772
- ), c = T(
2763
+ ), c = $(
2773
2764
  o.caption,
2774
2765
  `${n}.caption`,
2775
2766
  y.contentItem,
2776
2767
  t
2777
- ), s = Ar(
2768
+ ), s = Fr(
2778
2769
  o.totalRows,
2779
2770
  `${n}.totalRows`,
2780
2771
  t
2781
- ), u = R(o.evidenceIds, `${n}.evidenceIds`, t);
2772
+ ), f = R(o.evidenceIds, `${n}.evidenceIds`, t);
2782
2773
  return {
2783
2774
  type: "table",
2784
2775
  ...m ? { id: m } : {},
2785
2776
  ...l ? { title: l } : {},
2786
2777
  columns: i,
2787
- rows: zr(o.rows, `${n}.rows`, i, t),
2778
+ rows: Or(o.rows, `${n}.rows`, i, t),
2788
2779
  ...c ? { caption: c } : {},
2789
2780
  ...s !== void 0 ? { totalRows: s } : {},
2790
- ...u ? { evidenceIds: u } : {}
2781
+ ...f ? { evidenceIds: f } : {}
2791
2782
  };
2792
2783
  }
2793
2784
  if (a === "evidence_appendix") {
2794
- b(o, n, ["type", "title", "evidenceIds"], t);
2795
- const i = T(
2785
+ I(o, n, ["type", "title", "evidenceIds"], t);
2786
+ const i = $(
2796
2787
  o.title,
2797
2788
  `${n}.title`,
2798
2789
  y.contentTitle,
@@ -2807,13 +2798,13 @@ function Vr(e, r, t) {
2807
2798
  };
2808
2799
  }
2809
2800
  if (a === "sql") {
2810
- b(o, n, ["type", "title", "sql", "evidenceIds"], t);
2811
- const i = T(
2801
+ I(o, n, ["type", "title", "sql", "evidenceIds"], t);
2802
+ const i = $(
2812
2803
  o.title,
2813
2804
  `${n}.title`,
2814
2805
  y.contentTitle,
2815
2806
  t
2816
- ), l = C(
2807
+ ), l = T(
2817
2808
  o.sql,
2818
2809
  `${n}.sql`,
2819
2810
  y.contentSql,
@@ -2826,7 +2817,7 @@ function Vr(e, r, t) {
2826
2817
  ...m ? { evidenceIds: m } : {}
2827
2818
  };
2828
2819
  }
2829
- return f(
2820
+ return p(
2830
2821
  t,
2831
2822
  `${n}.type`,
2832
2823
  "Expected heading, paragraph, finding, bullets, metric, kpi_grid, progress, table, actions, limitations, sql, or evidence_appendix."
@@ -2835,40 +2826,40 @@ function Vr(e, r, t) {
2835
2826
  text: ""
2836
2827
  };
2837
2828
  }
2838
- function Lr(e) {
2829
+ function zr(e) {
2839
2830
  const r = [], t = k(e, "content", r);
2840
- b(t, "content", ["version", "title", "summary", "blocks"], r), t.version !== 1 && f(r, "content.version", "Expected version 1.");
2841
- const n = T(
2831
+ I(t, "content", ["version", "title", "summary", "blocks"], r), t.version !== 1 && p(r, "content.version", "Expected version 1.");
2832
+ const n = $(
2842
2833
  t.title,
2843
2834
  "content.title",
2844
2835
  y.contentTitle,
2845
2836
  r
2846
- ), o = T(
2837
+ ), o = $(
2847
2838
  t.summary,
2848
2839
  "content.summary",
2849
2840
  y.contentSummary,
2850
2841
  r
2851
2842
  );
2852
- Array.isArray(t.blocks) || f(r, "content.blocks", "Expected an array.");
2843
+ Array.isArray(t.blocks) || p(r, "content.blocks", "Expected an array.");
2853
2844
  const a = Array.isArray(t.blocks) ? t.blocks : [];
2854
- a.length === 0 && f(r, "content.blocks", "Expected at least one block."), a.length > _.maxBlocks && f(
2845
+ a.length === 0 && p(r, "content.blocks", "Expected at least one block."), a.length > F.maxBlocks && p(
2855
2846
  r,
2856
2847
  "content.blocks",
2857
- `Must have ${_.maxBlocks} blocks or fewer.`
2848
+ `Must have ${F.maxBlocks} blocks or fewer.`
2858
2849
  );
2859
- const i = a.slice(0, _.maxBlocks).map((l, m) => Vr(l, m, r));
2860
- return ye(r), {
2850
+ const i = a.slice(0, F.maxBlocks).map((l, m) => Nr(l, m, r));
2851
+ return pe(r), {
2861
2852
  version: 1,
2862
2853
  ...n ? { title: n } : {},
2863
2854
  ...o ? { summary: o } : {},
2864
2855
  blocks: i
2865
2856
  };
2866
2857
  }
2867
- function Gn(e) {
2858
+ function jn(e) {
2868
2859
  try {
2869
2860
  return {
2870
2861
  valid: !0,
2871
- value: Lr(e),
2862
+ value: zr(e),
2872
2863
  issues: []
2873
2864
  };
2874
2865
  } catch (r) {
@@ -2878,60 +2869,60 @@ function Gn(e) {
2878
2869
  }
2879
2870
  }
2880
2871
  function Y(e, r, t, n) {
2881
- return typeof e == "string" && t.includes(e) ? e : (f(n, r, `Expected ${t.join(" or ")}.`), t[0]);
2872
+ return typeof e == "string" && t.includes(e) ? e : (p(n, r, `Expected ${t.join(" or ")}.`), t[0]);
2882
2873
  }
2883
- function D(e, r, t, n, o) {
2874
+ function K(e, r, t, n, o) {
2884
2875
  if (e != null) {
2885
2876
  if (typeof e == "string" && t.has(e))
2886
2877
  return e;
2887
- f(o, r, `Expected ${n}.`);
2878
+ p(o, r, `Expected ${n}.`);
2888
2879
  }
2889
2880
  }
2890
- function Ur(e, r, t) {
2881
+ function Lr(e, r, t) {
2891
2882
  if (e != null) {
2892
2883
  if (!Array.isArray(e)) {
2893
- f(t, r, "Expected an array.");
2884
+ p(t, r, "Expected an array.");
2894
2885
  return;
2895
2886
  }
2896
2887
  return e;
2897
2888
  }
2898
2889
  }
2899
- function jr(e, r, t) {
2890
+ function Vr(e, r, t) {
2900
2891
  if (e != null) {
2901
2892
  if (!ze(e)) {
2902
- f(t, r, "Expected an object.");
2893
+ p(t, r, "Expected an object.");
2903
2894
  return;
2904
2895
  }
2905
2896
  return e;
2906
2897
  }
2907
2898
  }
2908
- function qr(e, r, t) {
2899
+ function Ur(e, r, t) {
2909
2900
  if (e == null)
2910
2901
  return;
2911
2902
  const n = k(e, r, t);
2912
- b(n, r, Fr, t);
2913
- const o = {}, a = D(
2903
+ I(n, r, Sr, t);
2904
+ const o = {}, a = K(
2914
2905
  n.pageSize,
2915
2906
  `${r}.pageSize`,
2916
- Cr,
2907
+ Ir,
2917
2908
  "letter, legal, a4, a3, or tabloid",
2918
2909
  t
2919
- ), i = D(
2910
+ ), i = K(
2920
2911
  n.orientation,
2921
2912
  `${r}.orientation`,
2922
- Tr,
2913
+ wr,
2923
2914
  "portrait or landscape",
2924
2915
  t
2925
- ), l = D(
2916
+ ), l = K(
2926
2917
  n.delimiter,
2927
2918
  `${r}.delimiter`,
2928
- $r,
2919
+ Cr,
2929
2920
  "comma, semicolon, or tab",
2930
2921
  t
2931
- ), m = D(
2922
+ ), m = K(
2932
2923
  n.sheetSelection,
2933
2924
  `${r}.sheetSelection`,
2934
- kr,
2925
+ Tr,
2935
2926
  "current or all",
2936
2927
  t
2937
2928
  );
@@ -2945,7 +2936,7 @@ function qr(e, r, t) {
2945
2936
  ])
2946
2937
  if (!(n[c] === void 0 || n[c] === null)) {
2947
2938
  if (typeof n[c] != "boolean") {
2948
- f(t, `${r}.${c}`, "Expected a boolean.");
2939
+ p(t, `${r}.${c}`, "Expected a boolean.");
2949
2940
  continue;
2950
2941
  }
2951
2942
  o[c] = n[c];
@@ -2958,7 +2949,7 @@ function qr(e, r, t) {
2958
2949
  "cardType",
2959
2950
  "theme"
2960
2951
  ]) {
2961
- const s = T(
2952
+ const s = $(
2962
2953
  n[c],
2963
2954
  `${r}.${c}`,
2964
2955
  y.id,
@@ -2974,7 +2965,7 @@ function qr(e, r, t) {
2974
2965
  "cardControlDefinitions",
2975
2966
  "controlBindings"
2976
2967
  ]) {
2977
- const s = Ur(n[c], `${r}.${c}`, t);
2968
+ const s = Lr(n[c], `${r}.${c}`, t);
2978
2969
  s && (o[c] = s);
2979
2970
  }
2980
2971
  for (const c of [
@@ -2982,13 +2973,13 @@ function qr(e, r, t) {
2982
2973
  "tablePreferences",
2983
2974
  "dashboardInputExecutionSnapshot"
2984
2975
  ]) {
2985
- const s = jr(n[c], `${r}.${c}`, t);
2976
+ const s = Vr(n[c], `${r}.${c}`, t);
2986
2977
  s && (o[c] = s);
2987
2978
  }
2988
2979
  return Object.keys(o).length > 0 ? o : void 0;
2989
2980
  }
2990
2981
  function ne(e, r, t, n) {
2991
- const o = T(
2982
+ const o = $(
2992
2983
  r,
2993
2984
  t,
2994
2985
  y.attachmentTitle,
@@ -2997,13 +2988,13 @@ function ne(e, r, t, n) {
2997
2988
  return o && (e.title = o), e;
2998
2989
  }
2999
2990
  function oe(e, r, t, n) {
3000
- const o = qr(r, t, n);
2991
+ const o = Ur(r, t, n);
3001
2992
  return o && (e.settings = o), e;
3002
2993
  }
3003
- function Gr(e, r, t) {
2994
+ function jr(e, r, t) {
3004
2995
  const n = `attachments.${r}`, o = k(e, n, t), a = o.type;
3005
2996
  if (a === "dashboard") {
3006
- b(
2997
+ I(
3007
2998
  o,
3008
2999
  n,
3009
3000
  ["type", "dashboardId", "format", "title", "settings"],
@@ -3012,7 +3003,7 @@ function Gr(e, r, t) {
3012
3003
  const i = ne(
3013
3004
  {
3014
3005
  type: "dashboard",
3015
- dashboardId: C(
3006
+ dashboardId: T(
3016
3007
  o.dashboardId,
3017
3008
  `${n}.dashboardId`,
3018
3009
  y.id,
@@ -3027,7 +3018,7 @@ function Gr(e, r, t) {
3027
3018
  return oe(i, o.settings, `${n}.settings`, t);
3028
3019
  }
3029
3020
  if (a === "dashboard_sheet" || a === "document_sheet") {
3030
- b(
3021
+ I(
3031
3022
  o,
3032
3023
  n,
3033
3024
  ["type", "dashboardId", "sheetId", "format", "title", "settings"],
@@ -3036,13 +3027,13 @@ function Gr(e, r, t) {
3036
3027
  const i = ne(
3037
3028
  {
3038
3029
  type: a,
3039
- dashboardId: C(
3030
+ dashboardId: T(
3040
3031
  o.dashboardId,
3041
3032
  `${n}.dashboardId`,
3042
3033
  y.id,
3043
3034
  t
3044
3035
  ),
3045
- sheetId: C(
3036
+ sheetId: T(
3046
3037
  o.sheetId,
3047
3038
  `${n}.sheetId`,
3048
3039
  y.id,
@@ -3057,7 +3048,7 @@ function Gr(e, r, t) {
3057
3048
  return oe(i, o.settings, `${n}.settings`, t);
3058
3049
  }
3059
3050
  if (a === "card") {
3060
- b(
3051
+ I(
3061
3052
  o,
3062
3053
  n,
3063
3054
  ["type", "dashboardId", "cardId", "format", "title", "settings"],
@@ -3066,13 +3057,13 @@ function Gr(e, r, t) {
3066
3057
  const i = ne(
3067
3058
  {
3068
3059
  type: "card",
3069
- dashboardId: C(
3060
+ dashboardId: T(
3070
3061
  o.dashboardId,
3071
3062
  `${n}.dashboardId`,
3072
3063
  y.id,
3073
3064
  t
3074
3065
  ),
3075
- cardId: C(
3066
+ cardId: T(
3076
3067
  o.cardId,
3077
3068
  `${n}.cardId`,
3078
3069
  y.id,
@@ -3091,13 +3082,13 @@ function Gr(e, r, t) {
3091
3082
  );
3092
3083
  return oe(i, o.settings, `${n}.settings`, t);
3093
3084
  }
3094
- return f(
3085
+ return p(
3095
3086
  t,
3096
3087
  `${n}.type`,
3097
3088
  "Expected dashboard, dashboard_sheet, document_sheet, or card."
3098
3089
  ), { type: "dashboard", dashboardId: "", format: "pdf" };
3099
3090
  }
3100
- function Hr(e) {
3091
+ function qr(e) {
3101
3092
  switch (e.type) {
3102
3093
  case "dashboard":
3103
3094
  return `${e.type}:${e.dashboardId}:${e.format}`;
@@ -3112,23 +3103,23 @@ function qe(e, r) {
3112
3103
  if (e == null)
3113
3104
  return [];
3114
3105
  if (!Array.isArray(e))
3115
- return f(r, "attachments", "Expected an array."), [];
3116
- e.length > te && f(
3106
+ return p(r, "attachments", "Expected an array."), [];
3107
+ e.length > te && p(
3117
3108
  r,
3118
3109
  "attachments",
3119
3110
  `Choose ${te} attachments or fewer.`
3120
3111
  );
3121
- const t = e.slice(0, te).map((o, a) => Gr(o, a, r)), n = /* @__PURE__ */ new Set();
3112
+ const t = e.slice(0, te).map((o, a) => jr(o, a, r)), n = /* @__PURE__ */ new Set();
3122
3113
  return t.forEach((o, a) => {
3123
- const i = Hr(o);
3124
- n.has(i) && f(r, `attachments.${a}`, "Duplicate attachment."), n.add(i);
3114
+ const i = qr(o);
3115
+ n.has(i) && p(r, `attachments.${a}`, "Duplicate attachment."), n.add(i);
3125
3116
  }), t;
3126
3117
  }
3127
3118
  function Ge(e, r) {
3128
3119
  if (e == null)
3129
3120
  return;
3130
3121
  const t = k(e, "limits", r);
3131
- b(t, "limits", Object.keys(re), r);
3122
+ I(t, "limits", Object.keys(re), r);
3132
3123
  const n = {};
3133
3124
  return Object.keys(re).forEach((o) => {
3134
3125
  const a = t[o];
@@ -3136,7 +3127,7 @@ function Ge(e, r) {
3136
3127
  return;
3137
3128
  const i = re[o];
3138
3129
  if (typeof a != "number" || !Number.isInteger(a) || a < i.min || a > i.max) {
3139
- f(
3130
+ p(
3140
3131
  r,
3141
3132
  `limits.${o}`,
3142
3133
  `Expected an integer between ${i.min} and ${i.max}.`
@@ -3146,18 +3137,18 @@ function Ge(e, r) {
3146
3137
  n[o] = a;
3147
3138
  }), Object.keys(n).length > 0 ? n : void 0;
3148
3139
  }
3149
- function ye(e) {
3140
+ function pe(e) {
3150
3141
  if (e.length > 0)
3151
3142
  throw new X(e);
3152
3143
  }
3153
3144
  function He(e, r, t) {
3154
- !(e.type === "generated_analysis" || e.type === "custom_message" && !!e.message.trim()) && r.length === 0 && f(
3145
+ !(e.type === "generated_analysis" || e.type === "custom_message" && !!e.message.trim()) && r.length === 0 && p(
3155
3146
  t,
3156
3147
  "body",
3157
3148
  "Add briefing instructions, a custom message, or at least one attachment."
3158
3149
  );
3159
3150
  }
3160
- function Wr(e, r, t) {
3151
+ function Gr(e, r, t) {
3161
3152
  e == null || e.forEach((n, o) => {
3162
3153
  const a = `${t}.${o}.scope`, i = n.scope.attachmentIndex;
3163
3154
  if (i === void 0)
@@ -3181,7 +3172,7 @@ function Wr(e, r, t) {
3181
3172
  }
3182
3173
  function We(e) {
3183
3174
  const r = [], t = k(e, "jobConfig", r);
3184
- b(
3175
+ I(
3185
3176
  t,
3186
3177
  "jobConfig",
3187
3178
  [
@@ -3194,7 +3185,7 @@ function We(e) {
3194
3185
  "limits"
3195
3186
  ],
3196
3187
  r
3197
- ), t.kind !== ce && f(r, "kind", "Expected BRIEFING.");
3188
+ ), t.kind !== ce && p(r, "kind", "Expected BRIEFING.");
3198
3189
  let n;
3199
3190
  try {
3200
3191
  n = lt(
@@ -3203,18 +3194,18 @@ function We(e) {
3203
3194
  } catch (c) {
3204
3195
  if (c instanceof U)
3205
3196
  throw c;
3206
- f(
3197
+ p(
3207
3198
  r,
3208
3199
  "jobConfig.presentationExecutionSnapshot",
3209
3200
  c instanceof Error ? c.message : "Invalid presentation snapshot."
3210
3201
  );
3211
3202
  }
3212
- const o = Ve(t.source, r), a = Le(t.body, r), i = qe(t.attachments, r), l = Ue(t.presentation, r), m = Ge(t.limits, r);
3213
- return He(a, i, r), Wr(
3203
+ const o = Le(t.source, r), a = Ve(t.body, r), i = qe(t.attachments, r), l = Ue(t.presentation, r), m = Ge(t.limits, r);
3204
+ return He(a, i, r), Gr(
3214
3205
  n == null ? void 0 : n.resolvedFormats,
3215
3206
  i,
3216
3207
  "jobConfig.presentationExecutionSnapshot.resolvedFormats"
3217
- ), ye(r), {
3208
+ ), pe(r), {
3218
3209
  kind: ce,
3219
3210
  presentationExecutionSnapshot: n,
3220
3211
  source: o,
@@ -3224,75 +3215,75 @@ function We(e) {
3224
3215
  ...m ? { limits: m } : {}
3225
3216
  };
3226
3217
  }
3227
- function Hn(e) {
3218
+ function qn(e) {
3228
3219
  return We({
3229
3220
  ...e,
3230
3221
  kind: ce
3231
3222
  });
3232
3223
  }
3233
- function he(e, r, t, n = "deliveryConfig.recipients") {
3224
+ function ye(e, r, t, n = "deliveryConfig.recipients") {
3234
3225
  const o = `${n}.${r}`, a = k(e, o, t), i = a.type;
3235
3226
  if (i === "email") {
3236
- b(a, o, ["type", "address", "name"], t);
3237
- const l = C(
3227
+ I(a, o, ["type", "address", "name"], t);
3228
+ const l = T(
3238
3229
  a.address,
3239
3230
  `${o}.address`,
3240
3231
  y.id,
3241
3232
  t
3242
- ), m = T(
3233
+ ), m = $(
3243
3234
  a.name,
3244
3235
  `${o}.name`,
3245
3236
  y.attachmentTitle,
3246
3237
  t
3247
3238
  );
3248
- return l && !Pr(l) && f(t, `${o}.address`, "Email address is invalid."), {
3239
+ return l && !Ar(l) && p(t, `${o}.address`, "Email address is invalid."), {
3249
3240
  type: "email",
3250
3241
  address: l,
3251
3242
  ...m ? { name: m } : {}
3252
3243
  };
3253
3244
  }
3254
- return i === "user" ? (b(a, o, ["type", "userId"], t), {
3245
+ return i === "user" ? (I(a, o, ["type", "userId"], t), {
3255
3246
  type: "user",
3256
- userId: C(
3247
+ userId: T(
3257
3248
  a.userId,
3258
3249
  `${o}.userId`,
3259
3250
  y.id,
3260
3251
  t
3261
3252
  )
3262
- }) : i === "tenant_user" ? (b(a, o, ["type", "tenantUserId"], t), {
3253
+ }) : i === "tenant_user" ? (I(a, o, ["type", "tenantUserId"], t), {
3263
3254
  type: "tenant_user",
3264
- tenantUserId: C(
3255
+ tenantUserId: T(
3265
3256
  a.tenantUserId,
3266
3257
  `${o}.tenantUserId`,
3267
3258
  y.id,
3268
3259
  t
3269
3260
  )
3270
- }) : i === "group" ? (b(a, o, ["type", "groupId"], t), {
3261
+ }) : i === "group" ? (I(a, o, ["type", "groupId"], t), {
3271
3262
  type: "group",
3272
- groupId: C(
3263
+ groupId: T(
3273
3264
  a.groupId,
3274
3265
  `${o}.groupId`,
3275
3266
  y.id,
3276
3267
  t
3277
3268
  )
3278
- }) : (f(
3269
+ }) : (p(
3279
3270
  t,
3280
3271
  `${o}.type`,
3281
3272
  "Expected email, user, tenant_user, or group."
3282
3273
  ), { type: "email", address: "" });
3283
3274
  }
3284
- function Yr(e, r) {
3275
+ function Hr(e, r) {
3285
3276
  return e == null ? [] : Array.isArray(e) ? e.map(
3286
- (t, n) => he(t, n, r)
3287
- ) : (f(r, "deliveryConfig.recipients", "Expected an array."), []);
3277
+ (t, n) => ye(t, n, r)
3278
+ ) : (p(r, "deliveryConfig.recipients", "Expected an array."), []);
3288
3279
  }
3289
- function Zr(e, r) {
3280
+ function Wr(e, r) {
3290
3281
  if (!Array.isArray(e))
3291
- return f(r, "deliveryConfig.channels", "Expected an array."), [];
3282
+ return p(r, "deliveryConfig.channels", "Expected an array."), [];
3292
3283
  const t = [];
3293
3284
  return e.forEach((n, o) => {
3294
3285
  if (!Ye(n)) {
3295
- f(
3286
+ p(
3296
3287
  r,
3297
3288
  `deliveryConfig.channels.${o}`,
3298
3289
  "Expected EMAIL, WEBHOOK, SLACK, IN_APP, or TELEGRAM."
@@ -3302,51 +3293,51 @@ function Zr(e, r) {
3302
3293
  t.includes(n) || t.push(n);
3303
3294
  }), t;
3304
3295
  }
3305
- function Jr(e, r, t) {
3296
+ function Yr(e, r, t) {
3306
3297
  if (e == null)
3307
3298
  return;
3308
3299
  const n = k(e, r, t), o = {};
3309
3300
  return Object.entries(n).forEach(([a, i]) => {
3310
3301
  if (typeof i != "string") {
3311
- f(t, `${r}.${a}`, "Expected a string.");
3302
+ p(t, `${r}.${a}`, "Expected a string.");
3312
3303
  return;
3313
3304
  }
3314
3305
  o[a] = i.trim();
3315
3306
  }), Object.keys(o).length > 0 ? o : void 0;
3316
3307
  }
3317
- function Qr(e, r, t) {
3308
+ function Zr(e, r, t) {
3318
3309
  if (e == null)
3319
3310
  return;
3320
3311
  const n = k(e, r, t);
3321
- b(
3312
+ I(
3322
3313
  n,
3323
3314
  r,
3324
3315
  ["url", "method", "headers", "secretEncrypted"],
3325
3316
  t
3326
3317
  );
3327
- const o = n.method === void 0 || n.method === null ? void 0 : Y(n.method, `${r}.method`, ["POST", "PUT"], t), a = Jr(n.headers, `${r}.headers`, t), i = T(
3318
+ const o = n.method === void 0 || n.method === null ? void 0 : Y(n.method, `${r}.method`, ["POST", "PUT"], t), a = Yr(n.headers, `${r}.headers`, t), i = $(
3328
3319
  n.secretEncrypted,
3329
3320
  `${r}.secretEncrypted`,
3330
3321
  2e3,
3331
3322
  t
3332
3323
  );
3333
3324
  return {
3334
- url: C(n.url, `${r}.url`, 2e3, t),
3325
+ url: T(n.url, `${r}.url`, 2e3, t),
3335
3326
  ...o ? { method: o } : {},
3336
3327
  ...a ? { headers: a } : {},
3337
3328
  ...i ? { secretEncrypted: i } : {}
3338
3329
  };
3339
3330
  }
3340
- function Xr(e, r, t) {
3331
+ function Jr(e, r, t) {
3341
3332
  const n = k(e, r, t), o = n.type;
3342
3333
  if (o === "channel") {
3343
- b(
3334
+ I(
3344
3335
  n,
3345
3336
  r,
3346
3337
  ["type", "channelId", "channelName", "isPrivate"],
3347
3338
  t
3348
3339
  );
3349
- const a = T(
3340
+ const a = $(
3350
3341
  n.channelName,
3351
3342
  `${r}.channelName`,
3352
3343
  y.attachmentTitle,
@@ -3359,7 +3350,7 @@ function Xr(e, r, t) {
3359
3350
  );
3360
3351
  return {
3361
3352
  type: "channel",
3362
- channelId: C(
3353
+ channelId: T(
3363
3354
  n.channelId,
3364
3355
  `${r}.channelId`,
3365
3356
  y.id,
@@ -3369,32 +3360,32 @@ function Xr(e, r, t) {
3369
3360
  ...i !== void 0 ? { isPrivate: i } : {}
3370
3361
  };
3371
3362
  }
3372
- return o === "dm" ? (b(n, r, ["type", "recipient"], t), f(
3363
+ return o === "dm" ? (I(n, r, ["type", "recipient"], t), p(
3373
3364
  t,
3374
3365
  `${r}.type`,
3375
3366
  "Slack DM delivery is not supported in V1."
3376
3367
  ), {
3377
3368
  type: "dm",
3378
- recipient: he(n.recipient, 0, t, `${r}.recipient`)
3379
- }) : (f(t, `${r}.type`, "Expected channel."), { type: "channel", channelId: "" });
3369
+ recipient: ye(n.recipient, 0, t, `${r}.recipient`)
3370
+ }) : (p(t, `${r}.type`, "Expected channel."), { type: "channel", channelId: "" });
3380
3371
  }
3381
- function en(e, r, t) {
3372
+ function Qr(e, r, t) {
3382
3373
  if (e == null)
3383
3374
  return;
3384
3375
  if (!Array.isArray(e)) {
3385
- f(t, r, "Expected an array.");
3376
+ p(t, r, "Expected an array.");
3386
3377
  return;
3387
3378
  }
3388
3379
  const n = e.map(
3389
- (o, a) => he(o, a, t, r)
3380
+ (o, a) => ye(o, a, t, r)
3390
3381
  );
3391
3382
  return n.length > 0 ? n : void 0;
3392
3383
  }
3393
- function tn(e, r, t) {
3384
+ function Xr(e, r, t) {
3394
3385
  if (e == null)
3395
3386
  return;
3396
3387
  const n = k(e, r, t);
3397
- b(
3388
+ I(
3398
3389
  n,
3399
3390
  r,
3400
3391
  [
@@ -3406,7 +3397,7 @@ function tn(e, r, t) {
3406
3397
  ],
3407
3398
  t
3408
3399
  );
3409
- const o = en(
3400
+ const o = Qr(
3410
3401
  n.threadMentions,
3411
3402
  `${r}.threadMentions`,
3412
3403
  t
@@ -3427,7 +3418,7 @@ function tn(e, r, t) {
3427
3418
  t
3428
3419
  );
3429
3420
  return {
3430
- destination: Xr(
3421
+ destination: Jr(
3431
3422
  n.destination,
3432
3423
  `${r}.destination`,
3433
3424
  t
@@ -3438,9 +3429,9 @@ function tn(e, r, t) {
3438
3429
  ...n.includeBriefingLink !== void 0 ? { includeBriefingLink: l } : {}
3439
3430
  };
3440
3431
  }
3441
- function rn(e, r, t) {
3432
+ function en(e, r, t) {
3442
3433
  const n = k(e, r, t);
3443
- b(
3434
+ I(
3444
3435
  n,
3445
3436
  r,
3446
3437
  [
@@ -3454,23 +3445,23 @@ function rn(e, r, t) {
3454
3445
  ],
3455
3446
  t
3456
3447
  );
3457
- const o = D(
3448
+ const o = K(
3458
3449
  n.formatProfile,
3459
3450
  `${r}.formatProfile`,
3460
- Er,
3451
+ $r,
3461
3452
  "concise, balanced, or detailed",
3462
3453
  t
3463
- ), a = T(
3454
+ ), a = $(
3464
3455
  n.subjectOverride,
3465
3456
  `${r}.subjectOverride`,
3466
3457
  500,
3467
3458
  t
3468
- ), i = T(
3459
+ ), i = $(
3469
3460
  n.titleOverride,
3470
3461
  `${r}.titleOverride`,
3471
3462
  500,
3472
3463
  t
3473
- ), l = T(
3464
+ ), l = $(
3474
3465
  n.summaryOverride,
3475
3466
  `${r}.summaryOverride`,
3476
3467
  2e3,
@@ -3480,11 +3471,11 @@ function rn(e, r, t) {
3480
3471
  !0,
3481
3472
  `${r}.actionBlockVisible`,
3482
3473
  t
3483
- ), c = Qr(
3474
+ ), c = Zr(
3484
3475
  n.webhookConfig,
3485
3476
  `${r}.webhookConfig`,
3486
3477
  t
3487
- ), s = tn(
3478
+ ), s = Xr(
3488
3479
  n.slackConfig,
3489
3480
  `${r}.slackConfig`,
3490
3481
  t
@@ -3499,53 +3490,53 @@ function rn(e, r, t) {
3499
3490
  ...c ? { webhookConfig: c } : {}
3500
3491
  };
3501
3492
  }
3502
- function nn(e, r) {
3493
+ function tn(e, r) {
3503
3494
  if (e == null)
3504
3495
  return;
3505
3496
  const t = k(e, "deliveryConfig.channelConfigs", r), n = {};
3506
3497
  return Object.entries(t).forEach(([o, a]) => {
3507
3498
  if (!Ye(o)) {
3508
- f(
3499
+ p(
3509
3500
  r,
3510
3501
  `deliveryConfig.channelConfigs.${o}`,
3511
3502
  "Expected a supported delivery channel."
3512
3503
  );
3513
3504
  return;
3514
3505
  }
3515
- n[o] = rn(
3506
+ n[o] = en(
3516
3507
  a,
3517
3508
  `deliveryConfig.channelConfigs.${o}`,
3518
3509
  r
3519
3510
  );
3520
3511
  }), Object.keys(n).length > 0 ? n : void 0;
3521
3512
  }
3522
- function on(e, r) {
3513
+ function rn(e, r) {
3523
3514
  var m, c, s;
3524
3515
  if (e == null)
3525
3516
  return null;
3526
3517
  const t = k(e, "deliveryConfig", r);
3527
- b(
3518
+ I(
3528
3519
  t,
3529
3520
  "deliveryConfig",
3530
3521
  ["recipients", "channels", "channelConfigs"],
3531
3522
  r
3532
3523
  );
3533
- const n = nn(t.channelConfigs, r), o = Yr(t.recipients, r), a = Zr(t.channels, r), i = ((c = (m = n == null ? void 0 : n.SLACK) == null ? void 0 : m.slackConfig) == null ? void 0 : c.destination.type) === "channel" && !!n.SLACK.slackConfig.destination.channelId.trim();
3524
+ const n = tn(t.channelConfigs, r), o = Hr(t.recipients, r), a = Wr(t.channels, r), i = ((c = (m = n == null ? void 0 : n.SLACK) == null ? void 0 : m.slackConfig) == null ? void 0 : c.destination.type) === "channel" && !!n.SLACK.slackConfig.destination.channelId.trim();
3534
3525
  return a.some(
3535
- (u) => u !== "SLACK"
3536
- ) && o.length === 0 && f(
3526
+ (f) => f !== "SLACK"
3527
+ ) && o.length === 0 && p(
3537
3528
  r,
3538
3529
  "deliveryConfig.recipients",
3539
3530
  "Add at least one recipient or remove delivery config."
3540
- ), a.length === 0 && f(
3531
+ ), a.length === 0 && p(
3541
3532
  r,
3542
3533
  "deliveryConfig.channels",
3543
3534
  "Choose at least one delivery channel or remove delivery config."
3544
- ), a.includes("SLACK") && !i && f(
3535
+ ), a.includes("SLACK") && !i && p(
3545
3536
  r,
3546
3537
  "deliveryConfig.channelConfigs.SLACK.slackConfig.destination.channelId",
3547
3538
  "Choose a Slack channel destination."
3548
- ), !a.includes("SLACK") && ((s = n == null ? void 0 : n.SLACK) != null && s.slackConfig) && f(
3539
+ ), !a.includes("SLACK") && ((s = n == null ? void 0 : n.SLACK) != null && s.slackConfig) && p(
3549
3540
  r,
3550
3541
  "deliveryConfig.channelConfigs.SLACK",
3551
3542
  "Slack config requires SLACK in deliveryConfig.channels."
@@ -3555,9 +3546,9 @@ function on(e, r) {
3555
3546
  ...n ? { channelConfigs: n } : {}
3556
3547
  };
3557
3548
  }
3558
- function ge(e) {
3549
+ function he(e) {
3559
3550
  const r = [], t = k(e, "draft", r);
3560
- b(
3551
+ I(
3561
3552
  t,
3562
3553
  "draft",
3563
3554
  [
@@ -3575,18 +3566,18 @@ function ge(e) {
3575
3566
  ],
3576
3567
  r
3577
3568
  );
3578
- const n = C(
3569
+ const n = T(
3579
3570
  t.name,
3580
3571
  "name",
3581
3572
  y.name,
3582
3573
  r
3583
- ), o = T(
3574
+ ), o = $(
3584
3575
  t.description,
3585
3576
  "description",
3586
3577
  y.description,
3587
3578
  r
3588
- ) ?? null, a = T(t.scheduleExpr, "scheduleExpr", 500, r) ?? null, i = T(t.timezone, "timezone", 200, r) ?? "UTC", l = Br(t.status, r), m = Ve(t.source, r), c = Le(t.body, r), s = qe(t.attachments, r), u = Ue(t.presentation, r), p = Ge(t.limits, r), d = on(t.deliveryConfig, r);
3589
- return He(c, s, r), ye(r), {
3579
+ ) ?? null, a = $(t.scheduleExpr, "scheduleExpr", 500, r) ?? null, i = $(t.timezone, "timezone", 200, r) ?? "UTC", l = Rr(t.status, r), m = Le(t.source, r), c = Ve(t.body, r), s = qe(t.attachments, r), f = Ue(t.presentation, r), u = Ge(t.limits, r), d = rn(t.deliveryConfig, r);
3580
+ return He(c, s, r), pe(r), {
3590
3581
  name: n,
3591
3582
  description: o,
3592
3583
  status: l,
@@ -3595,27 +3586,27 @@ function ge(e) {
3595
3586
  source: m,
3596
3587
  body: c,
3597
3588
  attachments: s,
3598
- presentation: u,
3599
- ...p ? { limits: p } : {},
3589
+ presentation: f,
3590
+ ...u ? { limits: u } : {},
3600
3591
  deliveryConfig: d
3601
3592
  };
3602
3593
  }
3603
- function Wn(e) {
3604
- return ge(e);
3594
+ function Gn(e) {
3595
+ return he(e);
3605
3596
  }
3606
- function Yn(e) {
3607
- return ge(e);
3597
+ function Hn(e) {
3598
+ return he(e);
3608
3599
  }
3609
- function Zn(e) {
3600
+ function Wn(e) {
3610
3601
  try {
3611
- return { valid: !0, value: ge(e), issues: [] };
3602
+ return { valid: !0, value: he(e), issues: [] };
3612
3603
  } catch (r) {
3613
3604
  if (r instanceof X)
3614
3605
  return { valid: !1, issues: r.issues };
3615
3606
  throw r;
3616
3607
  }
3617
3608
  }
3618
- function Jn(e) {
3609
+ function Yn(e) {
3619
3610
  try {
3620
3611
  return { valid: !0, value: We(e), issues: [] };
3621
3612
  } catch (r) {
@@ -3624,90 +3615,90 @@ function Jn(e) {
3624
3615
  throw r;
3625
3616
  }
3626
3617
  }
3627
- function Qn(e) {
3618
+ function Zn(e) {
3628
3619
  return typeof e == "string" && Ne.has(e);
3629
3620
  }
3630
3621
  function Ye(e) {
3631
- return typeof e == "string" && wr.has(e);
3622
+ return typeof e == "string" && br.has(e);
3632
3623
  }
3633
3624
  export {
3634
3625
  Pe as $,
3635
- Dn as A,
3626
+ Pn as A,
3636
3627
  Q as B,
3637
- Pt as C,
3638
- In as D,
3639
- xn as E,
3640
- K as F,
3641
- kn as G,
3642
- xt as H,
3643
- Rt as I,
3644
- At as J,
3645
- Be as K,
3628
+ Bt as C,
3629
+ gn as D,
3630
+ kn as E,
3631
+ O as F,
3632
+ Cn as G,
3633
+ Et as H,
3634
+ Ft as I,
3635
+ Rt as J,
3636
+ zt as K,
3646
3637
  me as L,
3647
- Ot as M,
3638
+ Dt as M,
3648
3639
  Lt as N,
3649
- Ut as O,
3650
- Cn as P,
3651
- En as Q,
3652
- Nt as R,
3653
- Vn as S,
3654
- pr as T,
3655
- Kn as U,
3656
- dr as V,
3657
- Nn as W,
3658
- On as X,
3659
- hr as Y,
3660
- Ln as Z,
3661
- qt as _,
3662
- Un as a,
3663
- _n as a0,
3664
- Et as a1,
3640
+ $n as O,
3641
+ bn as P,
3642
+ Tn as Q,
3643
+ Ot as R,
3644
+ Nn as S,
3645
+ ur as T,
3646
+ Dn as U,
3647
+ cr as V,
3648
+ Kn as W,
3649
+ Mn as X,
3650
+ pr as Y,
3651
+ zn as Z,
3652
+ Ut as _,
3653
+ Ln as a,
3654
+ xn as a0,
3655
+ kt as a1,
3665
3656
  ce as a2,
3666
- vr as a3,
3657
+ hr as a3,
3667
3658
  le as a4,
3668
3659
  te as a5,
3669
3660
  y as a6,
3670
- _ as a7,
3671
- br as a8,
3672
- Ir as a9,
3673
- qn as aa,
3661
+ F as a7,
3662
+ gr as a8,
3663
+ vr as a9,
3664
+ Un as aa,
3674
3665
  X as ab,
3675
- Lr as ac,
3676
- Gn as ad,
3666
+ zr as ac,
3667
+ jn as ad,
3677
3668
  We as ae,
3678
- Hn as af,
3679
- ge as ag,
3680
- Wn as ah,
3681
- Yn as ai,
3682
- Zn as aj,
3683
- Jn as ak,
3684
- Qn as al,
3669
+ qn as af,
3670
+ he as ag,
3671
+ Gn as ah,
3672
+ Hn as ai,
3673
+ Wn as aj,
3674
+ Yn as ak,
3675
+ Zn as al,
3685
3676
  Ye as am,
3686
- yr as an,
3687
- gr as ao,
3688
- Jt as b,
3689
- Yt as c,
3690
- zn as d,
3691
- An as e,
3692
- Qt as f,
3693
- jn as g,
3694
- Pn as h,
3695
- we as i,
3696
- Bn as j,
3697
- Zt as k,
3698
- Mn as l,
3677
+ fr as an,
3678
+ yr as ao,
3679
+ Yt as b,
3680
+ Ht as c,
3681
+ On as d,
3682
+ Fn as e,
3683
+ Zt as f,
3684
+ Vn as g,
3685
+ An as h,
3686
+ Ie as i,
3687
+ Rn as j,
3688
+ Wt as k,
3689
+ Bn as l,
3699
3690
  De as m,
3700
3691
  H as n,
3701
- Fn as o,
3702
- fe as p,
3703
- Rn as q,
3704
- Xt as r,
3705
- _t as s,
3706
- bn as t,
3707
- $n as u,
3708
- Ft as v,
3709
- Tn as w,
3710
- Sn as x,
3711
- wn as y,
3692
+ Sn as o,
3693
+ ue as p,
3694
+ _n as q,
3695
+ Jt as r,
3696
+ St as s,
3697
+ hn as t,
3698
+ wn as u,
3699
+ _t as v,
3700
+ In as w,
3701
+ En as x,
3702
+ vn as y,
3712
3703
  Re as z
3713
3704
  };