react-semaphor 0.1.507 → 0.1.508

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 (247) hide show
  1. package/DATA_APP_SDK.md +56 -0
  2. package/dist/analytics-protocol/index.cjs +1 -1
  3. package/dist/analytics-protocol/index.js +194 -172
  4. package/dist/appearance/index.cjs +1 -1
  5. package/dist/appearance/index.js +1 -1
  6. package/dist/appearance-runtime/index.cjs +1 -1
  7. package/dist/appearance-runtime/index.js +1 -1
  8. package/dist/brand-studio/index.cjs +2 -2
  9. package/dist/brand-studio/index.js +139 -119
  10. package/dist/briefings/index.cjs +1 -1
  11. package/dist/briefings/index.js +3 -3
  12. package/dist/chunks/appearance-context-DzqCdhB4.cjs +1 -0
  13. package/dist/chunks/{appearance-context-XviHOhWJ.js → appearance-context-VJdrKi7r.js} +2 -1
  14. package/dist/chunks/{appearance-runtime-provider-D0xVQWnH.js → appearance-runtime-provider-CC4HT2Gi.js} +2 -2
  15. package/dist/chunks/{appearance-runtime-provider-Ca8rxO86.cjs → appearance-runtime-provider-D5pkvgE4.cjs} +1 -1
  16. package/dist/chunks/calculated-field-identity-BiTGmnST.cjs +1 -0
  17. package/dist/chunks/calculated-field-identity-CJL54uFx.js +1373 -0
  18. package/dist/chunks/{constants-NUleP4DY.js → card-config-utils-Bq1enstT.js} +260 -260
  19. package/dist/chunks/card-config-utils-CMO4_zVs.cjs +1 -0
  20. package/dist/chunks/{dashboard-briefing-launcher-DXTpU85p.js → dashboard-briefing-launcher-B9l0ZAbv.js} +12 -12
  21. package/dist/chunks/{dashboard-briefing-launcher-C8nDSDnV.cjs → dashboard-briefing-launcher-C4zsM3Hd.cjs} +1 -1
  22. package/dist/chunks/{dashboard-controls-CyL0yimg.js → dashboard-controls-BCQv4xWM.js} +16 -14
  23. package/dist/chunks/dashboard-controls-CWwllVOe.cjs +52 -0
  24. package/dist/chunks/{dashboard-json-5Jr3RudV.js → dashboard-json-BtU_q_0A.js} +9 -9
  25. package/dist/chunks/dashboard-json-DVj2xLsH.cjs +1 -0
  26. package/dist/chunks/edit-dashboard-visual-CO2IVBOq.cjs +172 -0
  27. package/dist/chunks/{edit-dashboard-visual-C7X-um9g.js → edit-dashboard-visual-RgFUx-py.js} +1986 -1990
  28. package/dist/chunks/{editor-action-buttons-CcDm8nA5.cjs → editor-action-buttons-BE8Fby6n.cjs} +2 -2
  29. package/dist/chunks/{editor-action-buttons-C5Wja_J4.js → editor-action-buttons-D-MaqTIs.js} +6 -6
  30. package/dist/chunks/field-aggregations-DUb0NU6c.js +1229 -0
  31. package/dist/chunks/field-aggregations-jSi77h9Z.cjs +1 -0
  32. package/dist/chunks/{field-dependencies-DVl2p1Nm.js → field-dependencies-Cl97kkHy.js} +30 -34
  33. package/dist/chunks/{field-dependencies-r_U0CGQ-.cjs → field-dependencies-DIab72rQ.cjs} +1 -1
  34. package/dist/chunks/{index-BVr4fcCB.js → index-0pdaQ9e1.js} +5 -5
  35. package/dist/chunks/index-BaIrLSBb.cjs +1422 -0
  36. package/dist/chunks/{index-De2QNsqV.js → index-ByiS9sB4.js} +45343 -43665
  37. package/dist/chunks/{index-C9KXfCkC.js → index-CLIro-EG.js} +3 -0
  38. package/dist/chunks/index-Cx3qmRUB.cjs +1 -0
  39. package/dist/chunks/{index-BlYf8gNa.cjs → index-DhlVxvyI.cjs} +1 -1
  40. package/dist/chunks/{matrix-card-DACDwdTq.js → matrix-card-CnKQpnsj.js} +1 -1
  41. package/dist/chunks/{matrix-card-CRXcmAjp.cjs → matrix-card-U4c72doZ.cjs} +1 -1
  42. package/dist/chunks/{matrix-control-sources-ClQzIk7E.js → matrix-control-sources-CRRdP03Q.js} +165 -134
  43. package/dist/chunks/matrix-control-sources-FjxGIbqk.cjs +1 -0
  44. package/dist/chunks/{matrix-formatter-7GLTcBuy.cjs → matrix-formatter-CveLJo6S.cjs} +1 -1
  45. package/dist/chunks/{matrix-formatter-xsq7n_e6.js → matrix-formatter-ZVS5QOuq.js} +2 -2
  46. package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +1 -0
  47. package/dist/chunks/matrix-member-presentation-CzGZJd3a.js +182 -0
  48. package/dist/chunks/matrix-operation-contract-DoiWTUbT.cjs +1 -0
  49. package/dist/chunks/matrix-operation-contract-xL8IhFzp.js +1802 -0
  50. package/dist/chunks/{pivot-header-presentation-3wqWChFd.cjs → pivot-header-presentation-Cxz8-06f.cjs} +1 -1
  51. package/dist/chunks/{pivot-header-presentation-D44ODZGn.js → pivot-header-presentation-DVylCBHB.js} +2 -2
  52. package/dist/chunks/{pivot-result-lifecycle-DZ0ZSMoM.cjs → pivot-result-lifecycle-BiERyXnS.cjs} +1 -1
  53. package/dist/chunks/{pivot-result-lifecycle-BSmqVkVG.js → pivot-result-lifecycle-CmjpW7qG.js} +1 -1
  54. package/dist/chunks/{report-preferences-dialog-xADifRXs.js → report-preferences-dialog-BbkXcnnn.js} +4 -4
  55. package/dist/chunks/report-preferences-dialog-C9rpWgQZ.cjs +1 -0
  56. package/dist/chunks/{search-BHsQIWBV.js → selection-reducer-B94WgZ9V.js} +55 -11
  57. package/dist/chunks/selection-reducer-CGKKsaPa.cjs +26 -0
  58. package/dist/chunks/{semantic-format-BhIL1PXP.cjs → semantic-format-BzH69TRq.cjs} +1 -1
  59. package/dist/chunks/{semantic-format-C3amkGmY.js → semantic-format-CBlRO8Aw.js} +1 -1
  60. package/dist/chunks/{switch-DHGiC0aU.js → switch-CD4uGTZI.js} +7450 -7694
  61. package/dist/chunks/switch-iC1x2dcE.cjs +134 -0
  62. package/dist/chunks/token-types-Ahh5u4iT.cjs +1 -0
  63. package/dist/chunks/token-types-CPde8_LG.js +8 -0
  64. package/dist/chunks/{update-policy-Cc9h57pA.cjs → update-policy-COjFudhl.cjs} +1 -1
  65. package/dist/chunks/{update-policy-eTcz52jO.js → update-policy-D9q1Tz8k.js} +1 -1
  66. package/dist/dashboard/index.cjs +1 -1
  67. package/dist/dashboard/index.js +1 -1
  68. package/dist/dashboard-authoring/index.cjs +3 -3
  69. package/dist/dashboard-authoring/index.js +734 -622
  70. package/dist/data-app-builder/index.cjs +1 -1
  71. package/dist/data-app-builder/index.js +3 -3
  72. package/dist/data-app-codegen/index.cjs +1 -1
  73. package/dist/data-app-codegen/index.js +2 -2
  74. package/dist/data-app-codegen-node/index.cjs +94 -92
  75. package/dist/data-app-codegen-node/index.js +337 -333
  76. package/dist/data-app-sdk/index.cjs +9 -9
  77. package/dist/data-app-sdk/index.js +1091 -969
  78. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  79. package/dist/data-app-sdk-adapters/index.js +104 -96
  80. package/dist/data-app-sdk-validation/index.cjs +1 -1
  81. package/dist/data-app-sdk-validation/index.js +2 -2
  82. package/dist/format-utils/index.cjs +1 -1
  83. package/dist/format-utils/index.js +8 -8
  84. package/dist/index.cjs +1 -1
  85. package/dist/index.js +15 -15
  86. package/dist/style.css +1 -1
  87. package/dist/surfboard/index.cjs +1 -1
  88. package/dist/surfboard/index.js +2 -2
  89. package/dist/types/brand-studio/brand-studio-draft.d.ts +3 -1
  90. package/dist/types/components/dashboard/card-selection-pill.d.ts +5 -0
  91. package/dist/types/components/dashboard/dashboard-container.d.ts +1 -1
  92. package/dist/types/components/dashboard/drill-breadcrumb.d.ts +1 -0
  93. package/dist/types/components/dashboard/drill-navigation-controls.d.ts +3 -3
  94. package/dist/types/components/interactions/applied-filters-display.d.ts +6 -1
  95. package/dist/types/components/interactions/click-to-filter-review-dialog.d.ts +21 -0
  96. package/dist/types/components/interactions/dashboard-drill-host.d.ts +13 -0
  97. package/dist/types/components/interactions/filter-badge-tooltip.d.ts +4 -4
  98. package/dist/types/components/interactions/insight-modal.d.ts +4 -14
  99. package/dist/types/components/interactions/insight-viewer.d.ts +7 -19
  100. package/dist/types/components/interactions/interactions-sheet.d.ts +6 -0
  101. package/dist/types/components/interactions/panels/click-to-filter-panel.d.ts +20 -0
  102. package/dist/types/components/interactions/reusable/interaction-selection-popover.d.ts +2 -2
  103. package/dist/types/components/interactions/sheet/action-editor.d.ts +17 -0
  104. package/dist/types/components/interactions/sheet/action-meta.d.ts +45 -0
  105. package/dist/types/components/interactions/sheet/action-picker.d.ts +7 -0
  106. package/dist/types/components/interactions/sheet/click-outcome-preview.d.ts +10 -0
  107. package/dist/types/components/interactions/sheet/interactions-home.d.ts +28 -0
  108. package/dist/types/components/interactions/sheet/sheet-parts.d.ts +37 -0
  109. package/dist/types/components/surfboard/filter/dashboard-filter-mapping-panel.d.ts +28 -1
  110. package/dist/types/components/surfboard/filter/selection-chip.d.ts +11 -0
  111. package/dist/types/components/surfboard/filter/selection-filter-section.d.ts +4 -0
  112. package/dist/types/components/surfboard/filter/use-dashboard-filter-mapping-popover.d.ts +3 -0
  113. package/dist/types/components/ui/resizable.d.ts +1 -1
  114. package/dist/types/components/visual/matrix-table/matrix-interaction-actions.d.ts +13 -1
  115. package/dist/types/components/visual/matrix-table/matrix-selection-click.d.ts +6 -0
  116. package/dist/types/data-app-sdk/adapters.d.ts +3 -2
  117. package/dist/types/data-app-sdk/builders.d.ts +2 -1
  118. package/dist/types/data-app-sdk/contracts.d.ts +44 -2
  119. package/dist/types/data-app-sdk/index.d.ts +1 -0
  120. package/dist/types/data-app-sdk/query-request.d.ts +7 -2
  121. package/dist/types/data-app-sdk/selection.d.ts +2 -0
  122. package/dist/types/index.cjs +1 -1
  123. package/dist/types/index.js +24 -23
  124. package/dist/types/lib/appearance/types.d.ts +3 -1
  125. package/dist/types/lib/briefings/briefing-attachment-model.d.ts +0 -2
  126. package/dist/types/lib/contexts/interactions-popover-context.d.ts +1 -8
  127. package/dist/types/lib/dashboard/click-to-filter-card-references.d.ts +23 -0
  128. package/dist/types/lib/dashboard-inputs/build-normalized-dashboard-inputs.d.ts +16 -2
  129. package/dist/types/lib/dashboard-inputs/build-selection-dashboard-inputs.d.ts +31 -0
  130. package/dist/types/lib/dashboard-inputs/click-to-filter-emitted-fields.d.ts +17 -0
  131. package/dist/types/lib/dashboard-inputs/click-to-filter-mapping-draft.d.ts +99 -0
  132. package/dist/types/lib/dashboard-inputs/click-to-filter-sheet-reach.d.ts +12 -0
  133. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-authoring.d.ts +18 -1
  134. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-candidate-metadata.d.ts +4 -1
  135. package/dist/types/lib/dashboard-inputs/dashboard-input-scope.d.ts +10 -0
  136. package/dist/types/lib/dashboard-inputs/dashboard-input-snapshot.d.ts +8 -1
  137. package/dist/types/lib/dashboard-inputs/index.d.ts +1 -0
  138. package/dist/types/lib/dashboard-inputs/resolve-dashboard-input-context.d.ts +18 -7
  139. package/dist/types/lib/dashboard-inputs/resolve-field-date-comparison-coverage.d.ts +5 -2
  140. package/dist/types/lib/dashboard-inputs/resolve-selection-input.d.ts +77 -0
  141. package/dist/types/lib/dashboard-inputs/selection-targets.d.ts +26 -0
  142. package/dist/types/lib/dashboard-inputs/transient-input-context.d.ts +102 -0
  143. package/dist/types/lib/dashboard-navigation/build-carried-click-context.d.ts +50 -0
  144. package/dist/types/lib/dashboard-navigation/describe-carried-context.d.ts +11 -0
  145. package/dist/types/lib/dashboard-navigation/index.d.ts +1 -0
  146. package/dist/types/lib/dashboard-navigation/navigation-state.d.ts +120 -0
  147. package/dist/types/lib/dashboard-navigation/run-one-off-drill.d.ts +11 -0
  148. package/dist/types/lib/dashboard-navigation/use-transient-contexts.d.ts +17 -0
  149. package/dist/types/lib/dashboard-view-state/card-view-state.d.ts +48 -0
  150. package/dist/types/lib/dashboard-view-state/drill-path.d.ts +20 -0
  151. package/dist/types/lib/dashboard-view-state/index.d.ts +2 -0
  152. package/dist/types/lib/download-pdf.d.ts +0 -3
  153. package/dist/types/lib/formatters/metric-formatting.d.ts +1 -1
  154. package/dist/types/lib/hooks/ai/dashboard-context.d.ts +15 -8
  155. package/dist/types/lib/hooks/chartjs/use-chart-blur.d.ts +10 -2
  156. package/dist/types/lib/hooks/interactions/{use-event-engine.d.ts → use-drill-actions.d.ts} +28 -7
  157. package/dist/types/lib/hooks/selection/use-active-selections.d.ts +15 -0
  158. package/dist/types/lib/hooks/selection/use-click-to-filter-mapping-draft.d.ts +20 -0
  159. package/dist/types/lib/hooks/selection/use-selection-click.d.ts +34 -0
  160. package/dist/types/lib/hooks/selection/use-selection-gestures.d.ts +38 -0
  161. package/dist/types/lib/hooks/selection/use-table-row-selection.d.ts +46 -0
  162. package/dist/types/lib/hooks/use-dashboard-card.d.ts +0 -2
  163. package/dist/types/lib/hooks/use-dashboard-filter-mapping-candidates.d.ts +18 -0
  164. package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +0 -1
  165. package/dist/types/lib/hooks/use-dashboard.d.ts +1 -3
  166. package/dist/types/lib/hooks/use-interactions-popover.d.ts +1 -8
  167. package/dist/types/lib/hooks/use-resolved-card-config.d.ts +6 -0
  168. package/dist/types/lib/interactions/click-outcome.d.ts +25 -0
  169. package/dist/types/lib/interactions/get-click-context-from-chartjs.d.ts +3 -1
  170. package/dist/types/lib/interactions/get-click-context-from-matrix.d.ts +1 -1
  171. package/dist/types/lib/interactions/get-click-context-from-table.d.ts +7 -0
  172. package/dist/types/lib/interactions/interaction-utils.d.ts +17 -1
  173. package/dist/types/lib/matrix-table/build-matrix-drill-to-detail.d.ts +15 -0
  174. package/dist/types/lib/matrix-table/matrix-card-interactions.d.ts +14 -3
  175. package/dist/types/lib/query-context/build-card-query-context.d.ts +19 -8
  176. package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +5 -3
  177. package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +12 -4
  178. package/dist/types/lib/query-context/compile-selection-filters.d.ts +5 -0
  179. package/dist/types/lib/query-context/dashboard-filter-mapping-resolution.d.ts +46 -0
  180. package/dist/types/lib/query-context/filter-group-utils.d.ts +3 -0
  181. package/dist/types/lib/query-context/resolve-runtime-card-filters.d.ts +29 -0
  182. package/dist/types/lib/selection/click-to-filter-authoring-support.d.ts +9 -0
  183. package/dist/types/lib/selection/selection-from-click-context.d.ts +41 -0
  184. package/dist/types/lib/selection/selection-labels.d.ts +3 -0
  185. package/dist/types/lib/selection/selection-notices.d.ts +9 -0
  186. package/dist/types/lib/selection/selection-reducer.d.ts +46 -0
  187. package/dist/types/lib/stores/dashboard-store.d.ts +62 -17
  188. package/dist/types/lib/stores/editor-store.d.ts +1 -2
  189. package/dist/types/lib/stores/index.d.ts +0 -2
  190. package/dist/types/lib/types/common-types.d.ts +60 -6
  191. package/dist/types/lib/types/explorer-types.d.ts +1 -22
  192. package/dist/types/lib/types/interaction-types.d.ts +6 -198
  193. package/dist/types/lib/utils/calculate-context-aware-filters.d.ts +21 -12
  194. package/dist/types/lib/utils/card-utils.d.ts +11 -0
  195. package/dist/types/lib/utils/date-hierarchy-utils.d.ts +3 -1
  196. package/dist/types/lib/utils/drag-and-drop-utils.d.ts +1 -1
  197. package/dist/types/lib/utils/interaction-icons.d.ts +1 -1
  198. package/dist/types/shared/analytics-protocol/execution-input-schemas.d.ts +32 -32
  199. package/dist/types/shared/analytics-protocol/index.d.ts +2 -0
  200. package/dist/types/shared/analytics-protocol/selection-contract.d.ts +100 -0
  201. package/dist/types/shared/analytics-protocol/selection-filter-compiler.d.ts +12 -0
  202. package/dist/types/shared/dashboard-authoring/apply-group-by-override.d.ts +19 -0
  203. package/dist/types/shared/dashboard-authoring/click-to-filter-settings.d.ts +88 -0
  204. package/dist/types/shared/dashboard-authoring/contracts.d.ts +8 -0
  205. package/dist/types/shared/dashboard-authoring/index.d.ts +3 -0
  206. package/dist/types/shared/dashboard-authoring/linked-click-to-filter-overrides.d.ts +32 -0
  207. package/dist/types/shared/format-utils/matrix-continuation.d.ts +3 -3
  208. package/package.json +1 -1
  209. package/src/data-app-sdk/README.md +58 -1
  210. package/dist/chunks/appearance-context-tNjvTJj3.cjs +0 -1
  211. package/dist/chunks/calculated-field-identity-BTpUqfEu.js +0 -1276
  212. package/dist/chunks/calculated-field-identity-rMuXuzEY.cjs +0 -1
  213. package/dist/chunks/constants-vtu7_IUo.cjs +0 -1
  214. package/dist/chunks/dashboard-controls-DlxeddZN.cjs +0 -52
  215. package/dist/chunks/dashboard-json-DhS4yJfc.cjs +0 -1
  216. package/dist/chunks/edit-dashboard-visual-X3OCnivL.cjs +0 -172
  217. package/dist/chunks/field-aggregations-BU_3gHKR.js +0 -957
  218. package/dist/chunks/field-aggregations-CDCamEsQ.cjs +0 -1
  219. package/dist/chunks/index-C8XCKzB6.cjs +0 -1
  220. package/dist/chunks/index-DSa6RSdg.cjs +0 -1417
  221. package/dist/chunks/matrix-control-sources-CeC5EMyq.cjs +0 -1
  222. package/dist/chunks/matrix-member-presentation-E2B4k3ws.cjs +0 -1
  223. package/dist/chunks/matrix-member-presentation-qiHxv67e.js +0 -105
  224. package/dist/chunks/matrix-operation-contract-Cqy4EW2H.js +0 -1638
  225. package/dist/chunks/matrix-operation-contract-D9dLX-Wr.cjs +0 -1
  226. package/dist/chunks/report-preferences-dialog-7Vsc_fsG.cjs +0 -1
  227. package/dist/chunks/search-BqqhaMx9.cjs +0 -26
  228. package/dist/chunks/switch-BytP6QY8.cjs +0 -139
  229. package/dist/types/components/interactions/configuration-popover.d.ts +0 -1
  230. package/dist/types/components/interactions/interaction-card.d.ts +0 -59
  231. package/dist/types/components/interactions/interaction-event-handler.d.ts +0 -11
  232. package/dist/types/components/interactions/interactions-list.d.ts +0 -50
  233. package/dist/types/components/interactions/panels/cross-filter-panel.d.ts +0 -24
  234. package/dist/types/components/interactions/panels/inline-drill-panel.d.ts +0 -24
  235. package/dist/types/components/interactions/selectors/action-selector.d.ts +0 -31
  236. package/dist/types/components/interactions/selectors/trigger-selector.d.ts +0 -38
  237. package/dist/types/components/surfboard/filter/click-filter-section.d.ts +0 -5
  238. package/dist/types/lib/interactions/build-interaction-event.d.ts +0 -25
  239. package/dist/types/lib/interactions/convert-click-filters-to-filter-group.d.ts +0 -10
  240. package/dist/types/lib/interactions/execute-interaction-event.d.ts +0 -80
  241. package/dist/types/lib/interactions/field-utils.d.ts +0 -11
  242. package/dist/types/lib/interactions/handle-chart-click.d.ts +0 -75
  243. package/dist/types/lib/interactions/linked-interaction-utils.d.ts +0 -14
  244. package/dist/types/lib/interactions/source-card-filter-utils.d.ts +0 -9
  245. package/dist/types/lib/stores/drill-actions.d.ts +0 -139
  246. package/dist/types/lib/stores/interaction-store.d.ts +0 -113
  247. package/dist/types/lib/stores/pointer-interaction-store.d.ts +0 -18
@@ -1 +1 @@
1
- "use strict";const T=require("./validators-DVYAnnX0.cjs");require("./matrix-operation-contract-D9dLX-Wr.cjs");const f=require("./semantic-format-BhIL1PXP.cjs"),y=require("./raw-temporal-BUeTpG76.cjs"),M=require("./constants-B00YUv89.cjs"),R=require("./index-F25jnH0p.cjs"),v=require("./temporal-bucket-4YEPEKlJ.cjs"),I=["day","hour","minute","second","millisecond"],x={day:864e5,hour:36e5,minute:6e4,second:1e3,millisecond:1},Z={day:"d",hour:"hr",minute:"min",second:"s",millisecond:"ms"},z={day:["day","days"],hour:["hour","hours"],minute:["minute","minutes"],second:["second","seconds"],millisecond:["millisecond","milliseconds"]};function U(e){return e==="day"||e==="hour"||e==="minute"||e==="second"||e==="millisecond"}function L(e,t){return U(e)?e:t}function N(e,t){return I.indexOf(L(e,t))}function k(e,t){const n=N(e,"day"),s=N(t,"second"),r=Math.min(n,s),o=Math.max(n,s);return I.slice(r,o+1)}function V(e,t){return e*x[L(t,"second")]}function q(e,t){const n=k(t.largestUnit,t.smallestUnit),s=n[n.length-1],r=x[s];let o=Math.round(e/r)*r;return n.map(u=>{const a=x[u],c=Math.floor(o/a);return o-=c*a,{unit:u,value:c}})}function X(e,t){const n=e.filter(o=>o.value!==0),s=n.length>0?n:[e[e.length-1]],r=typeof t=="number"&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):s.length;return s.slice(0,r).map(o=>`${o.value}${Z[o.unit]}`).join(" ")}function E(e,t){const n=e.filter(o=>o.value!==0),s=n.length>0?n:[e[e.length-1]],r=typeof t=="number"&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):s.length;return s.slice(0,r).map(o=>{const[u,a]=z[o.unit];return`${o.value} ${o.value===1?u:a}`}).join(" ")}function j(e){const t=e.some(c=>c.unit==="day"&&c.value!==0),n=e.some(c=>c.unit==="millisecond"),s=e.findIndex(c=>c.value!==0),r=Math.max(0,e.length-2),o=t?0:s===-1?r:Math.min(s,r),u=s===-1?e.slice(r):e.slice(o);if(u.length===0)return"0";const a=u.map((c,i)=>c.unit==="millisecond"?String(c.value).padStart(3,"0"):i===0?String(c.value):String(c.value).padStart(2,"0")).join(":");return n?a.replace(/:(\d{3})$/,".$1"):a}function B(e,t,n){const s=`${n.prefix||""}${e}${n.suffix||""}`;return t?n.negativeInParentheses?`(${s})`:`-${s}`:s}function S(e,t={}){if(e==null)return"";const n=typeof e=="number"?e:typeof e=="string"&&e.trim()?Number(e):NaN;if(!Number.isFinite(n))return"";const s=t.inputUnit||"second",r=t.outputStyle==="digital"||t.outputStyle==="long"?t.outputStyle:"compact",o=n<0,u=Math.abs(V(n,s)),a=q(u,t),c=r==="digital"?j(a):r==="long"?E(a,t.maxUnits):X(a,t.maxUnits);return B(c,o,t)}function g(e,t){const n=f.toDate(e),s=f.toDate(t),r=n.getTime()-s.getTime();return r<0?-1:r>0?1:r}function Y(e){return f.constructFrom(e,Date.now())}function W(e,t){const n=f.toDate(e),s=f.toDate(t),r=n.getFullYear()-s.getFullYear(),o=n.getMonth()-s.getMonth();return r*12+o}function F(e){return t=>{const s=(e?Math[e]:Math.trunc)(t);return s===0?0:s}}function H(e,t){return+f.toDate(e)-+f.toDate(t)}function G(e){const t=f.toDate(e);return t.setHours(23,59,59,999),t}function K(e){const t=f.toDate(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function J(e){const t=f.toDate(e);return+G(t)==+K(t)}function Q(e,t){const n=f.toDate(e),s=f.toDate(t),r=g(n,s),o=Math.abs(W(n,s));let u;if(o<1)u=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-r*o);let a=g(n,s)===-r;J(f.toDate(e))&&o===1&&g(e,s)===1&&(a=!1),u=r*(o-Number(a))}return u===0?0:u}function ee(e,t,n){const s=H(e,t)/1e3;return F(n==null?void 0:n.roundingMethod)(s)}function te(e,t,n){const s=f.getDefaultOptions(),r=(n==null?void 0:n.locale)??s.locale??f.enUS,o=2520,u=g(e,t);if(isNaN(u))throw new RangeError("Invalid time value");const a=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:u});let c,i;u>0?(c=f.toDate(t),i=f.toDate(e)):(c=f.toDate(e),i=f.toDate(t));const h=ee(i,c),m=(f.getTimezoneOffsetInMilliseconds(i)-f.getTimezoneOffsetInMilliseconds(c))/1e3,l=Math.round((h-m)/60);let d;if(l<2)return n!=null&&n.includeSeconds?h<5?r.formatDistance("lessThanXSeconds",5,a):h<10?r.formatDistance("lessThanXSeconds",10,a):h<20?r.formatDistance("lessThanXSeconds",20,a):h<40?r.formatDistance("halfAMinute",0,a):h<60?r.formatDistance("lessThanXMinutes",1,a):r.formatDistance("xMinutes",1,a):l===0?r.formatDistance("lessThanXMinutes",1,a):r.formatDistance("xMinutes",l,a);if(l<45)return r.formatDistance("xMinutes",l,a);if(l<90)return r.formatDistance("aboutXHours",1,a);if(l<M.minutesInDay){const D=Math.round(l/60);return r.formatDistance("aboutXHours",D,a)}else{if(l<o)return r.formatDistance("xDays",1,a);if(l<M.minutesInMonth){const D=Math.round(l/M.minutesInDay);return r.formatDistance("xDays",D,a)}else if(l<M.minutesInMonth*2)return d=Math.round(l/M.minutesInMonth),r.formatDistance("aboutXMonths",d,a)}if(d=Q(i,c),d<12){const D=Math.round(l/M.minutesInMonth);return r.formatDistance("xMonths",D,a)}else{const D=d%12,b=Math.trunc(d/12);return D<3?r.formatDistance("aboutXYears",b,a):D<9?r.formatDistance("overXYears",b,a):r.formatDistance("almostXYears",b+1,a)}}function _(e,t){return te(e,Y(e),t)}function ne(e,t){return e&&e!=="auto"?e:t}function re(e,t=new Date){try{const n={timeZone:e,timeZoneName:"short"},r=new Intl.DateTimeFormat("en-US",n).formatToParts(t).find(o=>o.type==="timeZoneName");return(r==null?void 0:r.value)||e}catch{return e}}function se(e){try{const t={timeZone:e,timeZoneName:"long"},s=new Intl.DateTimeFormat("en-US",t).formatToParts(new Date).find(r=>r.type==="timeZoneName");return(s==null?void 0:s.value)||e}catch{return e}}function p(e,t="auto"){if(!e)return new Date(NaN);const n=e.endsWith("Z"),s=/[+-]\d{2}:?\d{2}$/.test(e),r=/\([A-Z]{3,4}\)$/.test(e);if(t==="auto")return n||s||r?new Date(e):new Date(e+"Z");if(t==="local"){if(n||s){const o=e.replace(/Z$/,"").replace(/[+-]\d{2}:?\d{2}$/,"");return new Date(o)}return new Date(e)}else return t==="UTC"?n?new Date(e):s?new Date(e):new Date(e+"Z"):n||s||r?new Date(e):R.fromZonedTime(e,t)}const oe="MM/dd/yyyy",C=(e,t,n,s="auto")=>{if(!e)return"";try{const r=p(e,s);if(isNaN(r.getTime()))return e;const u=(t&&t.trim()?t:oe).replace(/LLLL/g,"MMMM").replace(/LLL/g,"MMM");return n&&n!=="auto"?f.formatInTimeZone(r,n,u):f.format(r,u)}catch(r){return console.error("Date formatting error:",r),e}},P=(e,t="auto")=>{if(!e)return"";try{const n=p(e,t);return isNaN(n.getTime())?e:_(n,{addSuffix:!0})}catch(n){return console.error("Relative time formatting error:",n),e}};function ae(e,t,n,s){const r=e instanceof Date?e.toISOString():String(e),o=(s==null?void 0:s.browserTimezone)||n,u=(s==null?void 0:s.isSqlCard)??!1;if(t!=null&&t.useRelativeTime)return P(r,(t==null?void 0:t.sourceTimezone)||"auto");const a=t!=null&&t.useCustomFormat&&(t!=null&&t.customFormat)?t.customFormat:(t==null?void 0:t.format)||"MM/dd/yyyy";return C(r,a,t!=null&&t.timezone&&(t==null?void 0:t.timezone)!=="auto"?t.timezone:u?o:n,(t==null?void 0:t.sourceTimezone)||"auto")}function w(e,t,n){var u,a;if(e==null)return e===null?((u=n.absence)==null?void 0:u.nullText)??"":((a=n.absence)==null?void 0:a.emptyText)??"";const s=T.isExactNumericValue(e)?e:void 0,r=s?s.value:e,o=s??(typeof e=="number"?e:void 0);if(!n.useFormattedValues||!t)return String(r);switch(t.type){case"number":return o!==void 0?y.formatNumberWithColumnSettings(o,t.numberFormat,n.locale):String(r);case"date":return ae(r,t.dateFormat,n.timezone,{browserTimezone:n.browserTimezone,isSqlCard:n.isSqlCard});case"progress":return o!==void 0?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function ie(e,t){return t.visibleColumns.map(n=>{const s=e[n],r=t.columnSettings[n];return w(s,r,{useFormattedValues:t.useFormattedValues,timezone:t.timezone,locale:t.locale})})}function A(e,t){var r;const n=e[e.length-1];if(!n)return"";if(n.member.kind==="others")return"Others";const s=n.member.value;return s===null?"(Blank)":((r=t==null?void 0:t.get(n.levelId))==null?void 0:r(s))??(typeof s=="object"?s.value:String(s))}function O(e,t,n){return e==="grand_total"?n??"Grand Total":e==="subtotal"?n??`${t} Total`:t}function ue(e,t,n,s){var u;const r=e[e.length-1],o=t==="grand_total"?n.grand.label:r?(u=n.levels[r.levelId])==null?void 0:u.label:void 0;return O(t,A(e,s),o)}function ce(e,t,n){return e.kind==="value"?(t==null?void 0:t(e.value))??"":e.kind==="null"?n.nullText:n.emptyText}function le(e){const{path:t,previousPath:n,role:s,repeatLabels:r,levelCount:o}=e;return Array.from({length:o},(u,a)=>{const c=t.slice(0,a+1),i=s==="grand_total"?a===0:s==="subtotal"&&a===t.length-1,h=n&&n.length>a&&T.matrixPathKey(n.slice(0,a+1))===T.matrixPathKey(c);return{path:c,total:i,visible:i||t.length>a&&(r||!h||a===t.length-1)}})}function $(e,t){return f.fromSemanticFormat(e??t,{preserveOmittedProperties:!0,numericInput:"canonical"})}function fe(e,t,n){const s=new Map,r=(o,u)=>{const a=(u==="levels"?t.levelFormats:t.measureFormats)[o.id],c=o.semanticFormat,i=$(a,c);u==="measures"&&s.set(o.id,{isNumeric:T.normalizeAnalyticsCatalogDataType(o.column.dataType)==="number",hasTextAffixes:!!i&&!!("prefix"in i&&i.prefix||"suffix"in i&&i.suffix)});const h=m=>w(m,void 0,{useFormattedValues:!0,timezone:n.calendar.tz,locale:n.valueFormat.locale,absence:t.absence});if(o.column.temporalBucket){const m=o.column.temporalBucket,l=v.resolveTemporalBucketPresentation({metadata:m,cardFormat:(a==null?void 0:a.type)==="temporal_bucket"?a:void 0,semanticFormat:(c==null?void 0:c.type)==="temporal_bucket"?{granularity:m.granularity,format:c}:void 0,locale:n.valueFormat.locale,styles:{dateStyle:n.valueFormat.dateStyle,dateTime:n.valueFormat.dateTime}});return d=>typeof d=="string"?v.formatTemporalBucket({value:d,metadata:m,format:l.format}):h(d)}if(o.column.rawTemporal){const m=y.prepareRawTemporalFormatter({metadata:o.column.rawTemporal,format:y.resolveRawTemporalFormat({format:(i==null?void 0:i.type)==="date"?{type:"raw_temporal",timezone:i.timezone,sourceTimezone:i.sourceTimezone,presentation:i.pattern?{mode:"pattern",dialect:"semaphor_tokens",pattern:i.pattern}:{mode:"auto"}}:void 0,preferences:n.valueFormat,calendar:n.calendar})});return l=>{if(typeof l!="string")return h(l);const d=m(l);return d.ok?d.text:h(l)}}if(f.isNumericCanonicalFormat(i)){const m=y.resolveNumericPresentation(i,n.valueFormat);return l=>typeof l=="number"||typeof l=="object"&&l!==null?y.formatNumericCanonical(l,m):h(l)}return(i==null?void 0:i.type)==="duration"?m=>typeof m=="number"||typeof m=="string"||typeof m=="object"&&m!==null?S(typeof m=="object"?m.value:m,i):h(m):(i==null?void 0:i.type)==="string"?m=>m===null?h(m):`${i.prefix??""}${h(m)}${i.suffix??""}`:h};return{levels:new Map(e.levels.map(o=>[o.id,r(o,"levels")])),measures:new Map(e.measures.map(o=>[o.id,r(o,"measures")])),measureSemantics:s}}exports.formatCellValue=w;exports.formatDate=C;exports.formatDistanceToNow=_;exports.formatDuration=S;exports.formatRelativeTime=P;exports.formatRowForExport=ie;exports.getTimezoneAbbreviation=re;exports.getTimezoneName=se;exports.matrixAxisLabel=ue;exports.matrixCellText=ce;exports.matrixLevelLabels=le;exports.matrixMemberLabel=A;exports.matrixTotalLabel=O;exports.parseWithSourceTimezone=p;exports.prepareMatrixFormatting=fe;exports.resolveMatrixValueFormat=$;exports.resolveTimezone=ne;
1
+ "use strict";const T=require("./validators-DVYAnnX0.cjs");require("./matrix-operation-contract-DoiWTUbT.cjs");const f=require("./semantic-format-BzH69TRq.cjs"),y=require("./raw-temporal-BUeTpG76.cjs"),M=require("./constants-B00YUv89.cjs"),R=require("./index-F25jnH0p.cjs"),v=require("./temporal-bucket-4YEPEKlJ.cjs"),I=["day","hour","minute","second","millisecond"],x={day:864e5,hour:36e5,minute:6e4,second:1e3,millisecond:1},Z={day:"d",hour:"hr",minute:"min",second:"s",millisecond:"ms"},z={day:["day","days"],hour:["hour","hours"],minute:["minute","minutes"],second:["second","seconds"],millisecond:["millisecond","milliseconds"]};function U(e){return e==="day"||e==="hour"||e==="minute"||e==="second"||e==="millisecond"}function L(e,t){return U(e)?e:t}function N(e,t){return I.indexOf(L(e,t))}function k(e,t){const n=N(e,"day"),s=N(t,"second"),r=Math.min(n,s),o=Math.max(n,s);return I.slice(r,o+1)}function V(e,t){return e*x[L(t,"second")]}function q(e,t){const n=k(t.largestUnit,t.smallestUnit),s=n[n.length-1],r=x[s];let o=Math.round(e/r)*r;return n.map(u=>{const a=x[u],c=Math.floor(o/a);return o-=c*a,{unit:u,value:c}})}function X(e,t){const n=e.filter(o=>o.value!==0),s=n.length>0?n:[e[e.length-1]],r=typeof t=="number"&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):s.length;return s.slice(0,r).map(o=>`${o.value}${Z[o.unit]}`).join(" ")}function E(e,t){const n=e.filter(o=>o.value!==0),s=n.length>0?n:[e[e.length-1]],r=typeof t=="number"&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):s.length;return s.slice(0,r).map(o=>{const[u,a]=z[o.unit];return`${o.value} ${o.value===1?u:a}`}).join(" ")}function j(e){const t=e.some(c=>c.unit==="day"&&c.value!==0),n=e.some(c=>c.unit==="millisecond"),s=e.findIndex(c=>c.value!==0),r=Math.max(0,e.length-2),o=t?0:s===-1?r:Math.min(s,r),u=s===-1?e.slice(r):e.slice(o);if(u.length===0)return"0";const a=u.map((c,i)=>c.unit==="millisecond"?String(c.value).padStart(3,"0"):i===0?String(c.value):String(c.value).padStart(2,"0")).join(":");return n?a.replace(/:(\d{3})$/,".$1"):a}function B(e,t,n){const s=`${n.prefix||""}${e}${n.suffix||""}`;return t?n.negativeInParentheses?`(${s})`:`-${s}`:s}function S(e,t={}){if(e==null)return"";const n=typeof e=="number"?e:typeof e=="string"&&e.trim()?Number(e):NaN;if(!Number.isFinite(n))return"";const s=t.inputUnit||"second",r=t.outputStyle==="digital"||t.outputStyle==="long"?t.outputStyle:"compact",o=n<0,u=Math.abs(V(n,s)),a=q(u,t),c=r==="digital"?j(a):r==="long"?E(a,t.maxUnits):X(a,t.maxUnits);return B(c,o,t)}function g(e,t){const n=f.toDate(e),s=f.toDate(t),r=n.getTime()-s.getTime();return r<0?-1:r>0?1:r}function Y(e){return f.constructFrom(e,Date.now())}function W(e,t){const n=f.toDate(e),s=f.toDate(t),r=n.getFullYear()-s.getFullYear(),o=n.getMonth()-s.getMonth();return r*12+o}function F(e){return t=>{const s=(e?Math[e]:Math.trunc)(t);return s===0?0:s}}function H(e,t){return+f.toDate(e)-+f.toDate(t)}function G(e){const t=f.toDate(e);return t.setHours(23,59,59,999),t}function K(e){const t=f.toDate(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function J(e){const t=f.toDate(e);return+G(t)==+K(t)}function Q(e,t){const n=f.toDate(e),s=f.toDate(t),r=g(n,s),o=Math.abs(W(n,s));let u;if(o<1)u=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-r*o);let a=g(n,s)===-r;J(f.toDate(e))&&o===1&&g(e,s)===1&&(a=!1),u=r*(o-Number(a))}return u===0?0:u}function ee(e,t,n){const s=H(e,t)/1e3;return F(n==null?void 0:n.roundingMethod)(s)}function te(e,t,n){const s=f.getDefaultOptions(),r=(n==null?void 0:n.locale)??s.locale??f.enUS,o=2520,u=g(e,t);if(isNaN(u))throw new RangeError("Invalid time value");const a=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:u});let c,i;u>0?(c=f.toDate(t),i=f.toDate(e)):(c=f.toDate(e),i=f.toDate(t));const h=ee(i,c),m=(f.getTimezoneOffsetInMilliseconds(i)-f.getTimezoneOffsetInMilliseconds(c))/1e3,l=Math.round((h-m)/60);let d;if(l<2)return n!=null&&n.includeSeconds?h<5?r.formatDistance("lessThanXSeconds",5,a):h<10?r.formatDistance("lessThanXSeconds",10,a):h<20?r.formatDistance("lessThanXSeconds",20,a):h<40?r.formatDistance("halfAMinute",0,a):h<60?r.formatDistance("lessThanXMinutes",1,a):r.formatDistance("xMinutes",1,a):l===0?r.formatDistance("lessThanXMinutes",1,a):r.formatDistance("xMinutes",l,a);if(l<45)return r.formatDistance("xMinutes",l,a);if(l<90)return r.formatDistance("aboutXHours",1,a);if(l<M.minutesInDay){const D=Math.round(l/60);return r.formatDistance("aboutXHours",D,a)}else{if(l<o)return r.formatDistance("xDays",1,a);if(l<M.minutesInMonth){const D=Math.round(l/M.minutesInDay);return r.formatDistance("xDays",D,a)}else if(l<M.minutesInMonth*2)return d=Math.round(l/M.minutesInMonth),r.formatDistance("aboutXMonths",d,a)}if(d=Q(i,c),d<12){const D=Math.round(l/M.minutesInMonth);return r.formatDistance("xMonths",D,a)}else{const D=d%12,b=Math.trunc(d/12);return D<3?r.formatDistance("aboutXYears",b,a):D<9?r.formatDistance("overXYears",b,a):r.formatDistance("almostXYears",b+1,a)}}function _(e,t){return te(e,Y(e),t)}function ne(e,t){return e&&e!=="auto"?e:t}function re(e,t=new Date){try{const n={timeZone:e,timeZoneName:"short"},r=new Intl.DateTimeFormat("en-US",n).formatToParts(t).find(o=>o.type==="timeZoneName");return(r==null?void 0:r.value)||e}catch{return e}}function se(e){try{const t={timeZone:e,timeZoneName:"long"},s=new Intl.DateTimeFormat("en-US",t).formatToParts(new Date).find(r=>r.type==="timeZoneName");return(s==null?void 0:s.value)||e}catch{return e}}function p(e,t="auto"){if(!e)return new Date(NaN);const n=e.endsWith("Z"),s=/[+-]\d{2}:?\d{2}$/.test(e),r=/\([A-Z]{3,4}\)$/.test(e);if(t==="auto")return n||s||r?new Date(e):new Date(e+"Z");if(t==="local"){if(n||s){const o=e.replace(/Z$/,"").replace(/[+-]\d{2}:?\d{2}$/,"");return new Date(o)}return new Date(e)}else return t==="UTC"?n?new Date(e):s?new Date(e):new Date(e+"Z"):n||s||r?new Date(e):R.fromZonedTime(e,t)}const oe="MM/dd/yyyy",C=(e,t,n,s="auto")=>{if(!e)return"";try{const r=p(e,s);if(isNaN(r.getTime()))return e;const u=(t&&t.trim()?t:oe).replace(/LLLL/g,"MMMM").replace(/LLL/g,"MMM");return n&&n!=="auto"?f.formatInTimeZone(r,n,u):f.format(r,u)}catch(r){return console.error("Date formatting error:",r),e}},P=(e,t="auto")=>{if(!e)return"";try{const n=p(e,t);return isNaN(n.getTime())?e:_(n,{addSuffix:!0})}catch(n){return console.error("Relative time formatting error:",n),e}};function ae(e,t,n,s){const r=e instanceof Date?e.toISOString():String(e),o=(s==null?void 0:s.browserTimezone)||n,u=(s==null?void 0:s.isSqlCard)??!1;if(t!=null&&t.useRelativeTime)return P(r,(t==null?void 0:t.sourceTimezone)||"auto");const a=t!=null&&t.useCustomFormat&&(t!=null&&t.customFormat)?t.customFormat:(t==null?void 0:t.format)||"MM/dd/yyyy";return C(r,a,t!=null&&t.timezone&&(t==null?void 0:t.timezone)!=="auto"?t.timezone:u?o:n,(t==null?void 0:t.sourceTimezone)||"auto")}function w(e,t,n){var u,a;if(e==null)return e===null?((u=n.absence)==null?void 0:u.nullText)??"":((a=n.absence)==null?void 0:a.emptyText)??"";const s=T.isExactNumericValue(e)?e:void 0,r=s?s.value:e,o=s??(typeof e=="number"?e:void 0);if(!n.useFormattedValues||!t)return String(r);switch(t.type){case"number":return o!==void 0?y.formatNumberWithColumnSettings(o,t.numberFormat,n.locale):String(r);case"date":return ae(r,t.dateFormat,n.timezone,{browserTimezone:n.browserTimezone,isSqlCard:n.isSqlCard});case"progress":return o!==void 0?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function ie(e,t){return t.visibleColumns.map(n=>{const s=e[n],r=t.columnSettings[n];return w(s,r,{useFormattedValues:t.useFormattedValues,timezone:t.timezone,locale:t.locale})})}function A(e,t){var r;const n=e[e.length-1];if(!n)return"";if(n.member.kind==="others")return"Others";const s=n.member.value;return s===null?"(Blank)":((r=t==null?void 0:t.get(n.levelId))==null?void 0:r(s))??(typeof s=="object"?s.value:String(s))}function O(e,t,n){return e==="grand_total"?n??"Grand Total":e==="subtotal"?n??`${t} Total`:t}function ue(e,t,n,s){var u;const r=e[e.length-1],o=t==="grand_total"?n.grand.label:r?(u=n.levels[r.levelId])==null?void 0:u.label:void 0;return O(t,A(e,s),o)}function ce(e,t,n){return e.kind==="value"?(t==null?void 0:t(e.value))??"":e.kind==="null"?n.nullText:n.emptyText}function le(e){const{path:t,previousPath:n,role:s,repeatLabels:r,levelCount:o}=e;return Array.from({length:o},(u,a)=>{const c=t.slice(0,a+1),i=s==="grand_total"?a===0:s==="subtotal"&&a===t.length-1,h=n&&n.length>a&&T.matrixPathKey(n.slice(0,a+1))===T.matrixPathKey(c);return{path:c,total:i,visible:i||t.length>a&&(r||!h||a===t.length-1)}})}function $(e,t){return f.fromSemanticFormat(e??t,{preserveOmittedProperties:!0,numericInput:"canonical"})}function fe(e,t,n){const s=new Map,r=(o,u)=>{const a=(u==="levels"?t.levelFormats:t.measureFormats)[o.id],c=o.semanticFormat,i=$(a,c);u==="measures"&&s.set(o.id,{isNumeric:T.normalizeAnalyticsCatalogDataType(o.column.dataType)==="number",hasTextAffixes:!!i&&!!("prefix"in i&&i.prefix||"suffix"in i&&i.suffix)});const h=m=>w(m,void 0,{useFormattedValues:!0,timezone:n.calendar.tz,locale:n.valueFormat.locale,absence:t.absence});if(o.column.temporalBucket){const m=o.column.temporalBucket,l=v.resolveTemporalBucketPresentation({metadata:m,cardFormat:(a==null?void 0:a.type)==="temporal_bucket"?a:void 0,semanticFormat:(c==null?void 0:c.type)==="temporal_bucket"?{granularity:m.granularity,format:c}:void 0,locale:n.valueFormat.locale,styles:{dateStyle:n.valueFormat.dateStyle,dateTime:n.valueFormat.dateTime}});return d=>typeof d=="string"?v.formatTemporalBucket({value:d,metadata:m,format:l.format}):h(d)}if(o.column.rawTemporal){const m=y.prepareRawTemporalFormatter({metadata:o.column.rawTemporal,format:y.resolveRawTemporalFormat({format:(i==null?void 0:i.type)==="date"?{type:"raw_temporal",timezone:i.timezone,sourceTimezone:i.sourceTimezone,presentation:i.pattern?{mode:"pattern",dialect:"semaphor_tokens",pattern:i.pattern}:{mode:"auto"}}:void 0,preferences:n.valueFormat,calendar:n.calendar})});return l=>{if(typeof l!="string")return h(l);const d=m(l);return d.ok?d.text:h(l)}}if(f.isNumericCanonicalFormat(i)){const m=y.resolveNumericPresentation(i,n.valueFormat);return l=>typeof l=="number"||typeof l=="object"&&l!==null?y.formatNumericCanonical(l,m):h(l)}return(i==null?void 0:i.type)==="duration"?m=>typeof m=="number"||typeof m=="string"||typeof m=="object"&&m!==null?S(typeof m=="object"?m.value:m,i):h(m):(i==null?void 0:i.type)==="string"?m=>m===null?h(m):`${i.prefix??""}${h(m)}${i.suffix??""}`:h};return{levels:new Map(e.levels.map(o=>[o.id,r(o,"levels")])),measures:new Map(e.measures.map(o=>[o.id,r(o,"measures")])),measureSemantics:s}}exports.formatCellValue=w;exports.formatDate=C;exports.formatDistanceToNow=_;exports.formatDuration=S;exports.formatRelativeTime=P;exports.formatRowForExport=ie;exports.getTimezoneAbbreviation=re;exports.getTimezoneName=se;exports.matrixAxisLabel=ue;exports.matrixCellText=ce;exports.matrixLevelLabels=le;exports.matrixMemberLabel=A;exports.matrixTotalLabel=O;exports.parseWithSourceTimezone=p;exports.prepareMatrixFormatting=fe;exports.resolveMatrixValueFormat=$;exports.resolveTimezone=ne;
@@ -1,6 +1,6 @@
1
1
  import { b4 as L, S as T, ak as _ } from "./validators-BDYzZFgs.js";
2
- import "./matrix-operation-contract-Cqy4EW2H.js";
3
- import { t as d, c as P, g as $, e as C, a as x, b as O, d as A, f as Z, i as k } from "./semantic-format-C3amkGmY.js";
2
+ import "./matrix-operation-contract-xL8IhFzp.js";
3
+ import { t as d, c as P, g as $, e as C, a as x, b as O, d as A, f as Z, i as k } from "./semantic-format-CBlRO8Aw.js";
4
4
  import { f as R, s as U, k as z, j as V, b as X } from "./raw-temporal-CUJ86xHI.js";
5
5
  import { b as p, c as M } from "./constants-DeLIHVAW.js";
6
6
  import { f as j } from "./index-CACdoqu3.js";
@@ -0,0 +1 @@
1
+ "use strict";const d=require("./validators-DVYAnnX0.cjs"),f=["=","!=",">","<",">=","<=","like","not like","between","not between","in","not in","is null","is not null"],y=new Set(["string","number","date","boolean"]);function P(t){return typeof t=="string"&&f.includes(t)}function b(t,e){switch(t){case"is null":case"is not null":return e.length===0;case"between":case"not between":return e.length===2;case"in":case"not in":return e.length>=1;default:return e.length===1}}function m(t){if(!t||typeof t!="object"||Array.isArray(t))return;const e=t,n={};for(const i of S)e[i]!==void 0&&(n[i]=e[i]);return n}const S=["operation","values","valueType","temporalBucket","relativeMeta","temporalPrecision"];function v(t){const e=m(t);if(!e)return;const{operation:n,values:i}=e;if(!P(n)||!Array.isArray(i)||!b(n,i))return;const r=typeof e.valueType=="string"&&y.has(e.valueType)?e.valueType:void 0;return{operation:n,values:i,...r?{valueType:r}:{},...e.temporalBucket!==void 0?{temporalBucket:e.temporalBucket}:{},...e.relativeMeta!==void 0?{relativeMeta:e.relativeMeta}:{},...e.temporalPrecision!==void 0?{temporalPrecision:e.temporalPrecision}:{}}}function E(t){const e=v(t);if(!e)throw new Error(`Filter operation "${String(t.operation)}" cannot be expressed as predicate semantics.`);return e}function N(t){return t.operation==="is null"||t.operation==="is not null"}function c(t){var e;return JSON.stringify([((e=t.field)==null?void 0:e.id)??"",t.operator,t.value??null,t.temporalBucket??null])}function A(t){return JSON.stringify(t.map(c).sort())}function g(t){const e=new Map;for(const n of t)for(const i of n.tuples){const r=i.conditions.filter(l=>{var o;return(o=l.field)==null?void 0:o.id});if(r.length===0)continue;let a=e.get(n.sourceCardId);a||(a=new Map,e.set(n.sourceCardId,a));const s=[...r].sort((l,o)=>c(l).localeCompare(c(o)));a.set(A(s),s)}return[...e.entries()].sort(([n],[i])=>n.localeCompare(i)).map(([n,i])=>({sourceCardId:n,tuples:[...i.entries()].sort(([r],[a])=>r.localeCompare(a)).map(([,r])=>({conditions:r}))}))}function C(t){const e=g(t);if(e.length!==0)return{id:"selection",logicalOperator:"AND",negate:!1,conditions:[],groups:e.map(n=>{const i=`selection:${n.sourceCardId}`;return{id:i,logicalOperator:"OR",negate:!1,conditions:[],groups:n.tuples.map((r,a)=>{const s=`${i}:${a}`;return{id:s,logicalOperator:"AND",negate:!1,conditions:r.conditions.map((l,o)=>({...l,id:`${s}:${o}`})),groups:[]}})}})}}function I(t){return JSON.stringify(g(t).map(e=>[e.sourceCardId,e.tuples.map(n=>n.conditions.map(c))]))}function h(t,e){var i;if(e===null)return!0;if(e.overrides.length===0)return t.length<=e.depth;const n=d.matrixPathKey(t);return((i=e.overrides.find(r=>r.path.length===t.length&&d.matrixPathKey(r.path)===n))==null?void 0:i.expanded)??t.length<=e.depth}function T(t){var p;const{path:e,levelCount:n,expansion:i,total:r,axis:a}=t,s=e.length>=n||((p=e[e.length-1])==null?void 0:p.member.kind)==="others",l=!s&&!t.childrenEmpty,o=l&&h(e,i),u=a==="rows"&&t.rowLayout!=="tabular";return{expandable:l,expanded:o,memberVisible:u||!o,valueVisible:s||!!(r!=null&&r.visible)&&(!o||r.position==="before"),subtotalBefore:!u&&o&&!!(r!=null&&r.visible)&&r.position==="before",subtotalAfter:o&&!!(r!=null&&r.visible)&&r.position==="after"}}exports.NATIVE_PREDICATE_OPERATIONS=f;exports.compileSelectionFilterGroup=C;exports.isMatrixPathExpanded=h;exports.isNullCheckPredicate=N;exports.parseNativePredicateSemantics=v;exports.projectNativePredicateSemantics=m;exports.resolveMatrixMemberPresentation=T;exports.selectionFilterGroupKey=I;exports.toNativePredicateSemantics=E;
@@ -0,0 +1,182 @@
1
+ import { S as d } from "./validators-BDYzZFgs.js";
2
+ const m = [
3
+ "=",
4
+ "!=",
5
+ ">",
6
+ "<",
7
+ ">=",
8
+ "<=",
9
+ "like",
10
+ "not like",
11
+ "between",
12
+ "not between",
13
+ "in",
14
+ "not in",
15
+ "is null",
16
+ "is not null"
17
+ ], g = /* @__PURE__ */ new Set(["string", "number", "date", "boolean"]);
18
+ function v(t) {
19
+ return typeof t == "string" && m.includes(t);
20
+ }
21
+ function h(t, e) {
22
+ switch (t) {
23
+ case "is null":
24
+ case "is not null":
25
+ return e.length === 0;
26
+ case "between":
27
+ case "not between":
28
+ return e.length === 2;
29
+ case "in":
30
+ case "not in":
31
+ return e.length >= 1;
32
+ default:
33
+ return e.length === 1;
34
+ }
35
+ }
36
+ function y(t) {
37
+ if (!t || typeof t != "object" || Array.isArray(t))
38
+ return;
39
+ const e = t, r = {};
40
+ for (const o of b)
41
+ e[o] !== void 0 && (r[o] = e[o]);
42
+ return r;
43
+ }
44
+ const b = [
45
+ "operation",
46
+ "values",
47
+ "valueType",
48
+ "temporalBucket",
49
+ "relativeMeta",
50
+ "temporalPrecision"
51
+ ];
52
+ function P(t) {
53
+ const e = y(t);
54
+ if (!e) return;
55
+ const { operation: r, values: o } = e;
56
+ if (!v(r) || !Array.isArray(o) || !h(r, o)) return;
57
+ const n = typeof e.valueType == "string" && g.has(e.valueType) ? e.valueType : void 0;
58
+ return {
59
+ operation: r,
60
+ values: o,
61
+ ...n ? { valueType: n } : {},
62
+ ...e.temporalBucket !== void 0 ? { temporalBucket: e.temporalBucket } : {},
63
+ ...e.relativeMeta !== void 0 ? { relativeMeta: e.relativeMeta } : {},
64
+ ...e.temporalPrecision !== void 0 ? { temporalPrecision: e.temporalPrecision } : {}
65
+ };
66
+ }
67
+ function N(t) {
68
+ const e = P(t);
69
+ if (!e)
70
+ throw new Error(
71
+ `Filter operation "${String(t.operation)}" cannot be expressed as predicate semantics.`
72
+ );
73
+ return e;
74
+ }
75
+ function w(t) {
76
+ return t.operation === "is null" || t.operation === "is not null";
77
+ }
78
+ function c(t) {
79
+ var e;
80
+ return JSON.stringify([
81
+ ((e = t.field) == null ? void 0 : e.id) ?? "",
82
+ t.operator,
83
+ t.value ?? null,
84
+ t.temporalBucket ?? null
85
+ ]);
86
+ }
87
+ function S(t) {
88
+ return JSON.stringify(t.map(c).sort());
89
+ }
90
+ function f(t) {
91
+ const e = /* @__PURE__ */ new Map();
92
+ for (const r of t)
93
+ for (const o of r.tuples) {
94
+ const n = o.conditions.filter(
95
+ (l) => {
96
+ var i;
97
+ return (i = l.field) == null ? void 0 : i.id;
98
+ }
99
+ );
100
+ if (n.length === 0) continue;
101
+ let s = e.get(r.sourceCardId);
102
+ s || (s = /* @__PURE__ */ new Map(), e.set(r.sourceCardId, s));
103
+ const a = [...n].sort(
104
+ (l, i) => c(l).localeCompare(c(i))
105
+ );
106
+ s.set(S(a), a);
107
+ }
108
+ return [...e.entries()].sort(([r], [o]) => r.localeCompare(o)).map(([r, o]) => ({
109
+ sourceCardId: r,
110
+ tuples: [...o.entries()].sort(([n], [s]) => n.localeCompare(s)).map(([, n]) => ({ conditions: n }))
111
+ }));
112
+ }
113
+ function C(t) {
114
+ const e = f(t);
115
+ if (e.length !== 0)
116
+ return {
117
+ id: "selection",
118
+ logicalOperator: "AND",
119
+ negate: !1,
120
+ conditions: [],
121
+ groups: e.map((r) => {
122
+ const o = `selection:${r.sourceCardId}`;
123
+ return {
124
+ id: o,
125
+ logicalOperator: "OR",
126
+ negate: !1,
127
+ conditions: [],
128
+ groups: r.tuples.map((n, s) => {
129
+ const a = `${o}:${s}`;
130
+ return {
131
+ id: a,
132
+ logicalOperator: "AND",
133
+ negate: !1,
134
+ conditions: n.conditions.map((l, i) => ({
135
+ ...l,
136
+ id: `${a}:${i}`
137
+ })),
138
+ groups: []
139
+ };
140
+ })
141
+ };
142
+ })
143
+ };
144
+ }
145
+ function I(t) {
146
+ return JSON.stringify(
147
+ f(t).map((e) => [
148
+ e.sourceCardId,
149
+ e.tuples.map((r) => r.conditions.map(c))
150
+ ])
151
+ );
152
+ }
153
+ function A(t, e) {
154
+ var o;
155
+ if (e === null) return !0;
156
+ if (e.overrides.length === 0) return t.length <= e.depth;
157
+ const r = d(t);
158
+ return ((o = e.overrides.find((n) => n.path.length === t.length && d(n.path) === r)) == null ? void 0 : o.expanded) ?? t.length <= e.depth;
159
+ }
160
+ function T(t) {
161
+ var p;
162
+ const { path: e, levelCount: r, expansion: o, total: n, axis: s } = t, a = e.length >= r || ((p = e[e.length - 1]) == null ? void 0 : p.member.kind) === "others", l = !a && !t.childrenEmpty, i = l && A(e, o), u = s === "rows" && t.rowLayout !== "tabular";
163
+ return {
164
+ expandable: l,
165
+ expanded: i,
166
+ memberVisible: u || !i,
167
+ valueVisible: a || !!(n != null && n.visible) && (!i || n.position === "before"),
168
+ subtotalBefore: !u && i && !!(n != null && n.visible) && n.position === "before",
169
+ subtotalAfter: i && !!(n != null && n.visible) && n.position === "after"
170
+ };
171
+ }
172
+ export {
173
+ m as N,
174
+ P as a,
175
+ A as b,
176
+ C as c,
177
+ w as i,
178
+ y as p,
179
+ T as r,
180
+ I as s,
181
+ N as t
182
+ };
@@ -0,0 +1 @@
1
+ "use strict";const r=require("zod"),o=require("./validators-DVYAnnX0.cjs"),R={answerSummary:"string",responseDetail:"responseDetail",mode:"string",comparisonKind:"string",executionResult:"executionResult",compiledQuery:"unknown",data:"unknown",resultSets:"record",analysisWarnings:"unknownArray",columns:"unknownArray",records:"recordArray",rowCount:"number",rowLimitExceeded:"boolean",output:"string",querySpec:"unknown",metadata:"record",validation:"validationResult",coverage:"coverage",diagnosticFeedback:"diagnosticFeedback",missingFields:"stringArray",warnings:"unknownArray",comparison:"unknown",population:"population",comparisons:"recordArray",fieldsUsed:"compactExecutionFieldArray",primary:"recordArray",contributors:"recordArray",segments:"recordArray",periodChanges:"recordArray",changes:"recordArray",largestNegativeChanges:"recordArray",largestPositiveChanges:"recordArray",drivers:"recordArray",absoluteDeltaDrivers:"recordArray",largestNegativeDrivers:"recordArray",largestPositiveDrivers:"recordArray",periodRows:"recordArray",sql:"unknown",omitted:"stringArray"},Pe=Object.freeze({coordinates:2e4}),v=r.z.string().uuid(),p=r.z.string().min(1),Be=r.z.number().int().positive().max(Number.MAX_SAFE_INTEGER);function m(s,t,e){s.addIssue({code:"custom",path:t,message:e})}function h(s,t,e){new Set(s).size!==s.length&&m(t,e,"Duplicate identity.")}const oe=r.z.object({id:p,axis:o.matrixAxisSchema,parent:o.matrixPathSchema,position:r.z.union([r.z.object({kind:r.z.literal("first")}).strict(),r.z.object({kind:r.z.enum(["after","before"]),cursor:p}).strict()]),size:Be}).strict(),T=r.z.object({paths:r.z.array(o.matrixPathSchema).readonly(),pageIds:r.z.array(p).readonly()}).strict(),ue=r.z.object({id:p,rows:T,columns:T,measureIds:r.z.array(v).min(1).readonly()}).strict(),L=r.z.object({pages:r.z.array(oe).readonly(),blocks:r.z.array(ue).readonly()}).strict().superRefine((s,t)=>{!s.pages.length&&!s.blocks.length&&m(t,[],"Request at least one page or block."),h([...s.pages,...s.blocks].map(e=>e.id),t,[]);for(const e of s.blocks){h(e.measureIds,t,["blocks",e.id,"measureIds"]);for(const i of["rows","columns"])for(const n of e[i].pageIds)s.pages.some(a=>a.id===n&&a.axis===i)||m(t,["blocks",e.id,i],"Page reference must name a page on this axis in this operation.")}}),Me=r.z.object({spec:o.matrixSpecSchema,request:L}).strict().superRefine(({spec:s,request:t},e)=>{for(const i of t.pages)o.checkMatrixPath(s,i.axis,i.parent,e,["pages",i.id],!0),i.parent.length>=s[i.axis].length&&m(e,["pages",i.id],"Cannot request children of a leaf or empty axis.");for(const i of t.blocks){i.measureIds.some(n=>!s.measures.some(a=>a.id===n))&&m(e,["blocks",i.id],"Unknown block measure.");for(const n of["rows","columns"])for(const a of i[n].paths)o.checkMatrixPath(s,n,a,e,["blocks",i.id,n])}}),ce=r.z.object({requestId:p,axis:o.matrixAxisSchema,parent:o.matrixPathSchema,members:r.z.array(r.z.object({path:o.matrixPathSchema}).strict()).readonly(),before:p.nullable(),after:p.nullable(),exactCount:r.z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).optional()}).strict().superRefine((s,t)=>{s.parent.some(i=>i.member.kind==="others")&&m(t,["parent"],"Others has no children.");const e=s.members.filter(({path:i})=>{var n;return((n=i[i.length-1])==null?void 0:n.member.kind)==="others"});e.length>1&&m(t,["members"],"A page may contain Others only once."),e.length&&(s.members[s.members.length-1]!==e[0]&&m(t,["members"],"Others must be the last page member."),s.after!==null&&m(t,["after"],"Others must end the branch.")),new Set(s.members.map(i=>{var n;return(n=i.path[i.path.length-1])==null?void 0:n.levelId})).size>1&&m(t,["members"],"One page must contain one child level."),h(s.members.map(i=>o.matrixPathKey(i.path)),t,["members"]);for(const i of s.members)(i.path.length!==s.parent.length+1||o.matrixPathKey(i.path.slice(0,-1))!==o.matrixPathKey(s.parent))&&m(t,["members"],"Page members must be immediate children.")}),le=r.z.object({requestId:p,coverage:r.z.object({rowPaths:r.z.array(o.matrixPathSchema).readonly(),columnPaths:r.z.array(o.matrixPathSchema).readonly(),measureIds:r.z.array(v).readonly()}).strict(),cells:r.z.array(o.matrixCoordinateSchema.extend({value:o.semaphorScalarValueSchema}).strict()).readonly()}).strict().superRefine((s,t)=>{const e=s.coverage.rowPaths.map(o.matrixPathKey),i=s.coverage.columnPaths.map(o.matrixPathKey);h(e,t,["coverage","rowPaths"]),h(i,t,["coverage","columnPaths"]),h(s.coverage.measureIds,t,["coverage","measureIds"]);const n=new Set(e),a=new Set(i),l=new Set(s.coverage.measureIds);h(s.cells.map(c=>JSON.stringify([o.matrixPathKey(c.rowPath),o.matrixPathKey(c.columnPath),c.measureId])),t,["cells"]);for(const c of s.cells)(!n.has(o.matrixPathKey(c.rowPath))||!a.has(o.matrixPathKey(c.columnPath))||!l.has(c.measureId))&&m(t,["cells"],"Cell is outside certified coverage.")}),P=r.z.object({id:v,column:o.semaphorResultColumnSchema,nativeDataType:p,semanticFormat:o.semaphorValueFormatSchema.optional()}).strict(),de=r.z.object({levels:r.z.array(P).readonly(),measures:r.z.array(P).readonly()}).strict(),x=r.z.object({code:r.z.enum(["invalid_request","unsupported_capability","stale_cursor","forbidden","budget_exceeded","source_truncated","execution_failed","cancelled"]),message:p,detail:p.optional(),retryable:r.z.boolean(),scope:r.z.union([r.z.object({kind:r.z.literal("operation")}).strict(),r.z.object({kind:r.z.enum(["page","block"]),requestId:p}).strict()])}).strict(),me=r.z.object({dialect:r.z.enum(["postgres","clickhouse","duckdb"]),aggregates:r.z.array(o.matrixAggregateSchema).readonly()}).strict(),U=r.z.object({queryIdentity:p,descriptors:de,capabilities:me,pages:r.z.array(ce).readonly(),blocks:r.z.array(le).readonly(),failures:r.z.array(x).readonly()}).strict().superRefine((s,t)=>{const e=new Set(s.descriptors.levels.map(a=>a.id)),i=new Set(s.descriptors.measures.map(a=>a.id)),n=s.pages.flatMap(a=>[a.parent,...a.members.map(l=>l.path)]);for(const a of s.blocks)n.push(...a.coverage.rowPaths,...a.coverage.columnPaths),a.coverage.measureIds.some(l=>!i.has(l))&&m(t,["blocks",a.requestId],"Coverage references an unknown measure descriptor.");n.some(a=>a.some(l=>!e.has(l.levelId)))&&m(t,["descriptors"],"Acquired paths require level descriptors."),h([...s.descriptors.levels,...s.descriptors.measures].map(a=>a.id),t,["descriptors"]),h([...s.pages,...s.blocks].map(a=>a.requestId),t,[]),h(s.failures.map(a=>a.scope.kind==="operation"?"operation":a.scope.requestId),t,["failures"]);for(const a of s.failures)if(a.scope.kind==="operation")m(t,["failures"],"Operation failure cannot accompany acquired data.");else{const l=a.scope.requestId;[...s.pages,...s.blocks].some(c=>c.requestId===l)&&m(t,["failures"],"A requested unit cannot both succeed and fail.")}}),De=r.z.union([r.z.object({status:r.z.enum(["success","partial"]),window:U}).strict(),r.z.object({status:r.z.literal("failed"),failure:x}).strict()]).superRefine((s,t)=>{if(s.status==="failed")return;const{window:e}=s;!e.pages.length&&!e.blocks.length&&m(t,["window"],"A window outcome requires successful acquired work."),s.status==="success"!=(e.failures.length===0)&&m(t,["status"],"Status must match failure coverage.")}),G=r.z.object({kind:r.z.literal("matrix"),window:U}).strict(),pe=r.z.enum(["member","subtotal","grand_total"]),fe=r.z.discriminatedUnion("kind",[r.z.object({kind:r.z.literal("hierarchy"),label:r.z.string()}).strict(),r.z.object({kind:r.z.literal("level"),levelId:v,label:r.z.string()}).strict(),r.z.object({kind:r.z.literal("measure"),measureId:v,columnPath:o.matrixPathSchema,role:pe,label:r.z.string()}).strict()]),he=r.z.object({columns:r.z.array(fe).readonly(),descriptors:de}).strict(),B=r.z.union([r.z.object({kind:r.z.literal("value"),value:o.semaphorScalarValueSchema.refine(s=>s!==null)}).strict(),r.z.object({kind:r.z.enum(["null","empty"])}).strict()]),ye=r.z.discriminatedUnion("kind",[r.z.object({kind:r.z.literal("layout"),rowPath:o.matrixPathSchema,role:pe,values:r.z.array(B).readonly()}).strict(),r.z.object({kind:r.z.literal("flat"),rowPath:o.matrixPathSchema,columnPath:o.matrixPathSchema,values:r.z.array(B).readonly()}).strict()]),Ve=r.z.discriminatedUnion("kind",[r.z.object({kind:r.z.literal("layout"),layout:he,next:p}).strict(),r.z.object({kind:r.z.literal("rows"),rows:r.z.array(ye).readonly(),next:p.nullable()}).strict()]),Q=r.z.object({intent:o.matrixAnalyticalIntentSchema,matrixWindowRequest:L}).strict(),w="semaphor-data-app-codegen-summary/v1",Le="semaphor-data-app-codegen-summary-validator/v2",Ue=new Set(["metric","records","matrix","analysis","sql_fallback"]),Ge=new Set(["semaphor.metric","semaphor.records","semaphor.matrix","semaphor.analysis","semaphor.sql"]),Qe=new Set(["SUM","COUNT","AVG","MIN","MAX","MEDIAN","DISTINCT"]),We=new Set(["absolute_delta","largest_negative","largest_positive","positive_and_negative","all"]),ge=new Set(["source","id","label","measures","primaryMeasure","dateField","timeGrain","dimensions","comparison","orderBy","filters","relationshipHint","limit","derivedFields"]),He=new Set([...ge,"analysis","timeWindow","filters","driverMode","includePopulation","calendarContext","chartTitle","chartType"]),Ye=new Set(["source","id","label","fields","dateField","timeGrain","timeWindow","filters","orderBy","relationshipHint","limit","pagination","totals","derivedFields"]),Je=new Set(["source","id","label","sql","defaultParameters","pythonCode","fields","limit","pagination","rationale"]),Ze=new Set(["kpi","line_chart","bar_chart","stacked_bar_chart","pie_chart","donut_chart","area_chart","table","matrix","narrative","text_block","custom"]),Xe=new Set(["missing_measure","missing_dimension","missing_date","missing_relationship","missing_semantic_role","missing_current_app_state","raw_identifier_filter_options","unsupported_change_intent","ambiguous_field_grounding","bounded_intent_unavailable","invalid_bounded_intent_output","latest_snapshot_selector_not_modeled","unsupported_grain","requires_sql_escape_hatch","unsupported_sdk_capability"]);function et(s){return W(s).ok}function W(s){const t=[];if(!s||typeof s!="object")return{ok:!1,issues:["Summary must be an object."]};const e=s;return e.schemaVersion!==w&&t.push(`schemaVersion must be ${w}.`),(typeof e.title!="string"||!e.title.trim())&&t.push("title is required."),Array.isArray(e.sources)||t.push("sources must be an array."),Array.isArray(e.inputs)||t.push("inputs must be an array."),Array.isArray(e.views)||t.push("views must be an array."),Array.isArray(e.filterContracts)||t.push("filterContracts must be an array."),(!e.implementationChecklist||typeof e.implementationChecklist!="object")&&t.push("implementationChecklist must be an object."),e.implementationChecklist&&typeof e.implementationChecklist=="object"&&t.push(...st(e.implementationChecklist)),Array.isArray(e.sources)&&e.sources.forEach((i,n)=>{t.push(...C(i,`sources.${n}`))}),Array.isArray(e.inputs)&&e.inputs.forEach((i,n)=>{t.push(...it(i,`inputs.${n}`))}),Array.isArray(e.views)&&e.views.forEach((i,n)=>{t.push(...rt(i,`views.${n}`))}),Array.isArray(e.filterContracts)&&e.filterContracts.forEach((i,n)=>{t.push(...ft(i,`filterContracts.${n}`))}),e.unsupportedInsights!==void 0&&(Array.isArray(e.unsupportedInsights)?e.unsupportedInsights.forEach((i,n)=>{t.push(...xt(i,`unsupportedInsights.${n}`))}):t.push("unsupportedInsights must be an array.")),t.push(...tt(e)),{ok:t.length===0,issues:t}}function tt(s){const t=Array.isArray(s.unsupportedInsights)&&s.unsupportedInsights.some(l=>{var c;return ie.has((c=u(l))==null?void 0:c.reason)}),e=Array.isArray(s.views)&&s.views.some(l=>{var d;const c=u((d=u(l))==null?void 0:d.computation);return(c==null?void 0:c.kind)==="unsupported"&&ie.has(c.reason)});if(!t&&!e)return[];const i=[],n=u(s.validation);(n==null?void 0:n.status)!=="blocked"&&i.push("validation.status must be blocked when semantic model repair gaps are present.");const a=u(s.nextRequiredTool);return(a==null?void 0:a.name)!=="semaphor_propose_semantic_model_change"&&i.push("nextRequiredTool.name must be semaphor_propose_semantic_model_change when semantic model repair gaps are present."),i}const ie=new Set(["missing_relationship","raw_identifier_filter_options"]);function C(s,t){const e=u(s);return e?e.kind==="semantic"?typeof e.domainId=="string"&&e.domainId.trim()&&typeof e.datasetName=="string"&&e.datasetName.trim()?[]:[`${t} must include sourceKey or a supported source identity.`]:typeof e.sourceKey=="string"&&e.sourceKey.trim()?[]:e.kind==="physical"&&typeof e.tableName=="string"&&e.tableName.trim()&&typeof e.connectionId=="string"&&e.connectionId.trim()?[]:e.kind==="sql"&&typeof e.connectionId=="string"&&e.connectionId.trim()?[]:[`${t} must include sourceKey or a supported source identity.`]:[`${t} must be an object.`]}function st(s){const t=u(s);if(!t)return["implementationChecklist must be an object."];const e=[],i=["requiredDevtools","requiredInputOptions","filterScopeByInput","bindingsByView","validationCommands","browserSmokeChecks"];for(const a of i)a in t||e.push(`implementationChecklist.${a} is required.`);const n=u(t.requiredDevtools);return n?typeof n.mountRootDevtools!="boolean"&&e.push("implementationChecklist.requiredDevtools.mountRootDevtools must be a boolean."):e.push("implementationChecklist.requiredDevtools must be an object."),Array.isArray(t.requiredInputOptions)||e.push("implementationChecklist.requiredInputOptions must be an array."),Array.isArray(t.filterScopeByInput)||e.push("implementationChecklist.filterScopeByInput must be an array."),u(t.bindingsByView)||e.push("implementationChecklist.bindingsByView must be an object."),y(t.validationCommands)||e.push("implementationChecklist.validationCommands must be an array of strings."),y(t.browserSmokeChecks)||e.push("implementationChecklist.browserSmokeChecks must be an array of strings."),e}function it(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return(typeof e.id!="string"||!e.id.trim())&&i.push(`${t}.id is required.`),e.fieldRef&&i.push(...f(e.fieldRef,`${t}.fieldRef`)),i.push(...Se(e.optionQuery,`${t}.optionQuery`)),y(e.appliesToViewIds)||i.push(`${t}.appliesToViewIds must be an array of strings.`),e.bindings!==void 0&&!Array.isArray(e.bindings)&&i.push(`${t}.bindings must be an array.`),Array.isArray(e.bindings)&&e.bindings.forEach((n,a)=>{const l=u(n);if(!l){i.push(`${t}.bindings.${a} must be an object.`);return}y(l.appliesToViewIds)||i.push(`${t}.bindings.${a}.appliesToViewIds must be an array of strings.`),i.push(...f(l.fieldRef,`${t}.bindings.${a}.fieldRef`))}),i}function rt(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];if((typeof e.id!="string"||!e.id.trim())&&i.push(`${t}.id is required.`),e.visualSpec!==void 0&&i.push(...$t(e.visualSpec,`${t}.visualSpec`)),e.computation!==void 0&&i.push(...Rt(e.computation,`${t}.computation`)),vt(e))return i.push(...q(e,`${t}`)),e.fields!==void 0&&(Array.isArray(e.fields)?e.fields.forEach((d,g)=>{i.push(...f(d,`${t}.fields.${g}`))}):i.push(`${t}.fields must be an array.`)),e.queryKind!==void 0&&i.push(`${t}.queryKind is not allowed for non-executable views.`),e.sdkBuilder!==void 0&&i.push(`${t}.sdkBuilder is not allowed for non-executable views.`),e.sdkSpec!==void 0&&i.push(`${t}.sdkSpec is not allowed for non-executable views.`),i;if(!Array.isArray(e.fields))return i.push(`${t}.fields must be an array.`),(e.sdkSpec!==void 0||e.sdkBuilder!==void 0)&&i.push(`${t}.fields must be an array for executable views.`),i.push(...q(e,`${t}`)),i;e.fields.forEach((d,g)=>{i.push(...f(d,`${t}.fields.${g}`))}),z(e.queryKind)||i.push(`${t}.queryKind must be a supported codegen query kind.`),e.sdkBuilder!==void 0&&!ve(e.sdkBuilder)&&i.push(`${t}.sdkBuilder must be a supported SDK builder.`),e.metricBindingKeys!==void 0&&(Array.isArray(e.metricBindingKeys)?e.metricBindingKeys.some(d=>typeof d!="string"||d.trim().length===0)&&i.push(`${t}.metricBindingKeys must be an array of strings.`):i.push(`${t}.metricBindingKeys must be an array of strings.`));const n=u(e.sdkSpec),a=(n==null?void 0:n.builder)==="semaphor.metric";a&&(!Array.isArray(e.metricBindingKeys)||e.metricBindingKeys.length===0)&&i.push(`${t}.metricBindingKeys is required for metric views.`);const l=nt(e);a&&Array.isArray(e.metricBindingKeys)&&l&&JSON.stringify(e.metricBindingKeys)!==JSON.stringify(l)&&i.push(`${t}.metricBindingKeys must match the generated metric field binding keys in order.`);const c=u(e.computation);return(c==null?void 0:c.kind)==="server_query"&&z(e.queryKind)&&z(c.queryKind)&&c.queryKind!==e.queryKind&&i.push(`${t}.computation.queryKind must match queryKind.`),i.push(...ht({value:e.sdkSpec,path:`${t}.sdkSpec`,queryKind:typeof e.queryKind=="string"?e.queryKind:void 0,sdkBuilder:typeof e.sdkBuilder=="string"?e.sdkBuilder:void 0}),...q(e,`${t}`)),i}function nt(s){const t=u(s.sdkSpec);if((t==null?void 0:t.builder)!=="semaphor.metric")return;const e=u(t.spec);if(!e)return;const n=[e.primaryMeasure,...Array.isArray(e.measures)?e.measures:[]].map(at).filter(a=>!!a);return Array.from(new Map(n.map(a=>[a.identity,a.bindingKey])).values())}function at(s){const t=u(s);if(!t||typeof t.name!="string"||!t.name.trim())return;const e=ot(t);return e?{identity:JSON.stringify({source:e,name:t.name,aggregate:be(t)}),bindingKey:ut(t)}:void 0}function ot(s){if(typeof s.sourceKey=="string"&&s.sourceKey.trim())return{sourceKey:s.sourceKey};const t=u(s.source);if(t)return{kind:t.kind,domainId:t.domainId,datasetId:t.datasetId,datasetName:t.datasetName,name:t.name}}function ut(s){return typeof s.sourceKey=="string"&&s.sourceKey.trim()?[s.sourceKey,be(s),s.name].filter(Boolean).join(":"):o.semaphorMetricMeasureBindingKey(s)}function be(s){return o.semaphorMetricAggregate(s)}function q(s,t){var g;const e=u((g=u(s.visualSpec))==null?void 0:g.tableBehavior),i=u(s.sdkSpec),n=u(i==null?void 0:i.spec),a=typeof(i==null?void 0:i.builder)=="string"?i.builder:void 0,l=a==="semaphor.records"?u(n==null?void 0:n.totals):void 0,c=[];if(!e)return l&&c.push(`${t}.sdkSpec.spec.totals is only allowed when tableBehavior.totals.mode is server.`),c;const d=u(e.totals);return d?(d.mode==="server"&&(a!=="semaphor.records"&&c.push(`${t}.visualSpec.tableBehavior.totals.mode server is only supported for semaphor.records views.`),!l||l.mode!=="server"?c.push(`${t}.sdkSpec.spec.totals.mode must be server when tableBehavior.totals.mode is server.`):c.push(...ct({left:d.measures,right:l.measures,leftPath:`${t}.visualSpec.tableBehavior.totals.measures`,rightPath:`${t}.sdkSpec.spec.totals.measures`}))),d.mode!=="server"&&l&&c.push(`${t}.sdkSpec.spec.totals is only allowed when tableBehavior.totals.mode is server.`),a==="semaphor.sql"&&d.mode!=="none"&&c.push(`${t}.visualSpec.tableBehavior.totals.mode must be none for semaphor.sql views.`),a==="semaphor.sql"&&u(n==null?void 0:n.totals)&&c.push(`${t}.sdkSpec.spec.totals is not supported for semaphor.sql.`),c):(l&&c.push(`${t}.sdkSpec.spec.totals is only allowed when tableBehavior.totals.mode is server.`),c)}function ct({left:s,right:t,leftPath:e,rightPath:i}){if(!Array.isArray(s)||!Array.isArray(t))return[`${i} must match ${e}.`];const n=[];return s.length!==t.length?(n.push(`${i} must match ${e}.`),n):(s.forEach((a,l)=>{lt(u(a),u(t[l]))||n.push(`${i}.${l} must match ${e}.${l}.`)}),n)}function lt(s,t){return!s||!t?!1:s.name===t.name&&(s.role||"measure")===(t.role||"measure")&&re(s)===re(t)&&dt(s,t)}function re(s){return typeof s.aggregate=="string"?s.aggregate.toUpperCase():"SUM"}function dt(s,t){const e=u(s.source),i=u(t.source);if(mt(e,i))return!1;const n=ne(s),a=ne(t);if(n.size>0||a.size>0){for(const l of n)if(a.has(l))return!0;return!1}return!e||!i||e.kind!==i.kind?!1:e.kind==="semantic"?e.domainId===i.domainId&&e.datasetName===i.datasetName&&(e.datasetId===void 0||i.datasetId===void 0||e.datasetId===i.datasetId):e.kind==="physical"?e.connectionId===i.connectionId&&e.tableName===i.tableName:e.kind==="sql"?e.connectionId===i.connectionId:!1}function mt(s,t){if(!s||!t||s.kind!=="semantic"||t.kind!=="semantic")return!1;const e=typeof s.datasetId=="string"?s.datasetId.trim():"",i=typeof t.datasetId=="string"?t.datasetId.trim():"";return!!(e&&i&&e!==i)}function ne(s){const t=typeof s.sourceKey=="string"?s.sourceKey.trim():"";return t?new Set([t]):pt(u(s.source))}function pt(s){const t=new Set;if(!s)return t;const e=typeof s.sourceKey=="string"?s.sourceKey.trim():"";if(e&&t.add(e),s.kind==="semantic"){const i=typeof s.domainId=="string"?s.domainId:"",n=typeof s.datasetName=="string"?s.datasetName:"",a=typeof s.datasetId=="string"?s.datasetId:"";i&&a&&t.add(`semantic:${i}:datasetId:${a}`),i&&n&&t.add(`semantic:${i}:datasetName:${n}`)}if(s.kind==="physical"){const i=typeof s.connectionId=="string"?s.connectionId:"",n=typeof s.tableName=="string"?s.tableName:"",a=typeof s.databaseName=="string"?s.databaseName:"",l=typeof s.schemaName=="string"?s.schemaName:"";i&&n&&(t.add(["physical",i,a,l,n].join(":")),t.add(`physical:${i}:${n}`))}if(s.kind==="sql"){const i=typeof s.connectionId=="string"?s.connectionId:"",n=typeof s.dialect=="string"?s.dialect:"",a=typeof s.label=="string"?s.label:"";i&&(t.add(["sql",i,n,a].join(":")),t.add(`sql:${i}`))}return t}function ft(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];if(e.fieldRef&&i.push(...f(e.fieldRef,`${t}.fieldRef`)),(typeof e.inputId!="string"||!e.inputId.trim())&&i.push(`${t}.inputId is required.`),i.push(...Se(e.optionQuery,`${t}.optionQuery`)),y(e.appliesToViewIds)||i.push(`${t}.appliesToViewIds must be an array of strings.`),y(e.notAppliedToViewIds)||i.push(`${t}.notAppliedToViewIds must be an array of strings.`),!Array.isArray(e.bindings))i.push(`${t}.bindings must be an array.`);else{const n=y(e.appliesToViewIds)?new Set(e.appliesToViewIds):void 0,a=y(e.notAppliedToViewIds)?new Set(e.notAppliedToViewIds):void 0;e.bindings.forEach((l,c)=>{const d=u(l);if(!d){i.push(`${t}.bindings.${c} must be an object.`);return}typeof d.viewId!="string"||!d.viewId?i.push(`${t}.bindings.${c}.viewId is required.`):(n&&!n.has(d.viewId)&&i.push(`${t}.bindings.${c}.viewId must be included in appliesToViewIds.`),a!=null&&a.has(d.viewId)&&i.push(`${t}.bindings.${c}.viewId must not be listed in notAppliedToViewIds.`)),i.push(...f(d.fieldRef,`${t}.bindings.${c}.fieldRef`))})}return i}function Se(s,t){if(s===void 0)return[];const e=u(s);if(!e)return[`${t} must be an object.`];const i=[...b(e.valueFieldRef,`${t}.valueFieldRef`),...b(e.labelFieldRef,`${t}.labelFieldRef`),...b(e.filterFieldRef,`${t}.filterFieldRef`)];if(e.builder!=="semaphor.inputOptions"&&i.push(`${t}.builder must be semaphor.inputOptions.`),typeof e.sourceKey!="string"&&e.source===void 0&&i.push(`${t} must include source or sourceKey.`),e.source!==void 0){const n=u(e.source);!n||n.kind!=="semantic"&&n.kind!=="physical"?i.push(`${t}.source.kind must be semantic or physical.`):i.push(...C(e.source,`${t}.source`))}return u(e.valueFieldRef)||i.push(`${t}.valueFieldRef is required.`),u(e.labelFieldRef)||i.push(`${t}.labelFieldRef is required.`),e.limit!==void 0&&(typeof e.limit!="number"||!Number.isInteger(e.limit)||e.limit<=0)&&i.push(`${t}.limit must be a positive integer.`),i}function ht(s){var n;const t=u(s.value);if(!t)return[`${s.path} is required for executable views.`];const e=[];if(!ve(t.builder))return e.push(`${s.path}.builder must be a supported SDK builder.`),e;s.sdkBuilder&&t.builder!==s.sdkBuilder&&e.push(`${s.path}.builder must match sdkBuilder.`),s.queryKind&&z(s.queryKind)&&t.builder!==zt(s.queryKind)&&e.push(`${s.path}.builder must match queryKind.`);const i=u(t.spec);if(!i)return e.push(`${s.path}.spec must be an object.`),e;switch(t.builder){case"semaphor.metric":e.push(...I(i,ge,`${s.path}.spec`),...k(i,s.path),...j(i.measures,`${s.path}.spec.measures`),...b(i.primaryMeasure,`${s.path}.spec.primaryMeasure`),...b(i.dateField,`${s.path}.spec.dateField`),...K(i.dimensions,`${s.path}.spec.dimensions`),...F(i.orderBy,`${s.path}.spec.orderBy`),...N(i.filters,`${s.path}.spec.filters`));break;case"semaphor.analysis":e.push(...I(i,He,`${s.path}.spec`),...k(i,s.path),...j(i.measures,`${s.path}.spec.measures`),...b(i.primaryMeasure,`${s.path}.spec.primaryMeasure`),...b(i.dateField,`${s.path}.spec.dateField`),...K(i.dimensions,`${s.path}.spec.dimensions`),...F(i.orderBy,`${s.path}.spec.orderBy`),...N(i.filters,`${s.path}.spec.filters`),...yt(i,`${s.path}.spec`));break;case"semaphor.records":e.push(...I(i,Ye,`${s.path}.spec`),...k(i,s.path),...j(i.fields,`${s.path}.spec.fields`),...b(i.dateField,`${s.path}.spec.dateField`),...F(i.orderBy,`${s.path}.spec.orderBy`),...N(i.filters,`${s.path}.spec.filters`),...gt(i.totals,`${s.path}.spec.totals`));break;case"semaphor.matrix":{const{id:a,label:l,matrixWindowRequest:c,...d}=i;for(const[$,E]of Object.entries({id:a,label:l}))E!==void 0&&(typeof E!="string"||!E.trim())&&e.push(`${s.path}.spec.${$} must be a nonempty string.`);const g=Q.safeParse({intent:{...d,kind:"matrix"},matrixWindowRequest:c});g.success||e.push(...g.error.issues.map($=>`${s.path}.spec.${$.path.join(".")}: ${$.message}`));break}case"semaphor.sql":e.push(...I(i,Je,`${s.path}.spec`),...k(i,s.path)),((n=u(i.source))==null?void 0:n.kind)!=="sql"&&e.push(`${s.path}.spec.source.kind must be sql.`),(typeof i.sql!="string"||!i.sql.trim())&&e.push(`${s.path}.spec.sql is required.`),e.push(...K(i.fields,`${s.path}.spec.fields`));break}return e}function yt(s,t){const e=[];if(s.driverMode!==void 0&&!We.has(s.driverMode)&&e.push(`${t}.driverMode must be a supported analysis driver mode.`),s.includePopulation!==void 0&&typeof s.includePopulation!="boolean"&&e.push(`${t}.includePopulation must be a boolean.`),s.calendarContext!==void 0){const i=u(s.calendarContext);if(!i)e.push(`${t}.calendarContext must be an object.`);else{i.tz!==void 0&&typeof i.tz!="string"&&e.push(`${t}.calendarContext.tz must be a string.`),i.weekStart!==void 0&&(typeof i.weekStart!="number"||!Number.isInteger(i.weekStart)||i.weekStart<0||i.weekStart>6)&&e.push(`${t}.calendarContext.weekStart must be an integer between 0 and 6.`);const n=i.anchor;if(n!==void 0&&n!=="now"){const a=u(n);(!a||typeof a.iso!="string"||!a.iso.trim())&&e.push(`${t}.calendarContext.anchor must be now or { iso }.`)}}}return e}function gt(s,t){if(s===void 0)return[];const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return e.mode!=="server"&&i.push(`${t}.mode must be server.`),!Array.isArray(e.measures)||e.measures.length===0?i.push(`${t}.measures must include at least one measure.`):e.measures.forEach((n,a)=>{var l;i.push(...$e(n,`${t}.measures.${a}`)),((l=u(n))==null?void 0:l.role)!=="measure"&&i.push(`${t}.measures.${a}.role must be measure.`)}),i}function I(s,t,e){const i=[];return Object.keys(s).forEach(n=>{t.has(n)||i.push(`${e}.${n} is not supported for this SDK builder.`)}),i}function k(s,t){return u(s.source)?C(s.source,`${t}.spec.source`):[`${t}.spec.source must be an object.`]}function j(s,t){const e=St(s,t);return Array.isArray(s)&&s.forEach((i,n)=>{e.push(...f(i,`${t}.${n}`))}),e}function K(s,t){if(s===void 0)return[];if(!Array.isArray(s))return[`${t} must be an array.`];const e=[];return s.forEach((i,n)=>{e.push(...f(i,`${t}.${n}`))}),e}function F(s,t){if(s===void 0)return[];const e=u(s);return e?[...f(e.field,`${t}.field`),...bt(e.direction,`${t}.direction`)]:[`${t} must be an object.`]}function bt(s,t){return s==="asc"||s==="desc"?[]:[`${t} must be asc or desc.`]}function N(s,t){if(s===void 0)return[];if(!Array.isArray(s))return[`${t} must be an array.`];const e=[];return s.forEach((i,n)=>{const a=u(i);if(!a){e.push(`${t}.${n} must be an object.`);return}e.push(...f(a.field,`${t}.${n}.field`))}),e}function St(s,t){return!Array.isArray(s)||s.length===0?[`${t} must be a non-empty array.`]:[]}function zt(s){switch(s){case"metric":return"semaphor.metric";case"records":return"semaphor.records";case"matrix":return"semaphor.matrix";case"analysis":return"semaphor.analysis";case"sql_fallback":return"semaphor.sql"}}function vt(s){const t=u(s.computation),e=u(s.visualSpec);return(t==null?void 0:t.kind)==="presentation_only"||(t==null?void 0:t.kind)==="derived"||(t==null?void 0:t.kind)==="unsupported"||s.visual==="text_block"||(e==null?void 0:e.visualType)==="text_block"}function $t(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return Ze.has(e.visualType)||i.push(`${t}.visualType must be a supported visual type.`),e.limit!==void 0&&(typeof e.limit!="number"||!Number.isInteger(e.limit)||e.limit<=0)&&i.push(`${t}.limit must be a positive integer.`),e.tableBehavior!==void 0&&i.push(...It(e.tableBehavior,`${t}.tableBehavior`)),i}function It(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return e.tableMode!=="bounded"&&e.tableMode!=="server_paginated"&&e.tableMode!=="server_windowed"&&i.push(`${t}.tableMode must be a supported table mode.`),i.push(...kt(e.height,`${t}.height`),...wt(e.pagination,`${t}.pagination`),...At(e.sorting,`${t}.sorting`),..._t(e.totals,`${t}.totals`)),typeof e.serverSideRequired!="boolean"&&i.push(`${t}.serverSideRequired must be a boolean.`),i}function kt(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return(typeof e.maxPx!="number"||!Number.isInteger(e.maxPx)||e.maxPx<=0)&&i.push(`${t}.maxPx must be a positive integer.`),e.scroll!=="vertical"&&e.scroll!=="both"&&i.push(`${t}.scroll must be vertical or both.`),typeof e.stickyHeader!="boolean"&&i.push(`${t}.stickyHeader must be a boolean.`),i}function wt(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return e.mode!=="none"&&e.mode!=="server"&&e.mode!=="client_for_bounded_rows"&&i.push(`${t}.mode must be a supported pagination mode.`),e.pageSize!==void 0&&(typeof e.pageSize!="number"||!Number.isInteger(e.pageSize)||e.pageSize<=0)&&i.push(`${t}.pageSize must be a positive integer.`),e.readsFrom!==void 0&&e.readsFrom!=="result.pagination"&&i.push(`${t}.readsFrom must be result.pagination.`),i}function At(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return e.mode!=="server"&&e.mode!=="client_for_bounded_rows"&&i.push(`${t}.mode must be a supported sorting mode.`),e.defaultField!==void 0&&(typeof e.defaultField!="string"||!e.defaultField.trim())&&i.push(`${t}.defaultField must be a non-empty string.`),e.defaultDirection!==void 0&&e.defaultDirection!=="asc"&&e.defaultDirection!=="desc"&&i.push(`${t}.defaultDirection must be asc or desc.`),e.resetPageOnChange!==void 0&&typeof e.resetPageOnChange!="boolean"&&i.push(`${t}.resetPageOnChange must be a boolean.`),i}function _t(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return e.mode!=="none"&&e.mode!=="server"&&e.mode!=="local"?(i.push(`${t}.mode must be none, server, or local.`),i):e.mode==="none"?(e.measures!==void 0&&i.push(`${t}.measures is not allowed when mode is none.`),e.label!==void 0&&i.push(`${t}.label is not allowed when mode is none.`),i):e.mode==="server"?(!Array.isArray(e.measures)||e.measures.length===0?i.push(`${t}.measures must include at least one measure when mode is server.`):e.measures.forEach((n,a)=>{var l;i.push(...$e(n,`${t}.measures.${a}`)),((l=u(n))==null?void 0:l.role)!=="measure"&&i.push(`${t}.measures.${a}.role must be measure.`)}),e.label!==void 0&&i.push(`${t}.label is not allowed when mode is server.`),i):(e.mode==="local"&&(e.label!=="Displayed rows"&&e.label!=="Current page"&&i.push(`${t}.label must be Displayed rows or Current page when mode is local.`),e.measures!==void 0&&i.push(`${t}.measures is not allowed when mode is local.`)),i)}function Rt(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];switch(e.kind){case"server_query":z(e.queryKind)||i.push(`${t}.queryKind must be a supported codegen query kind.`),e.queryOwnership!==void 0&&e.queryOwnership!=="view_owned"&&e.queryOwnership!=="shared_query"&&i.push(`${t}.queryOwnership must be view_owned or shared_query.`),e.sourceKeys!==void 0&&!y(e.sourceKeys)&&i.push(`${t}.sourceKeys must be an array of strings.`),e.fieldNames!==void 0&&!y(e.fieldNames)&&i.push(`${t}.fieldNames must be an array of strings.`);break;case"derived":(typeof e.upstreamViewId!="string"||!e.upstreamViewId.trim())&&i.push(`${t}.upstreamViewId is required.`),(typeof e.derivation!="string"||!e.derivation.trim())&&i.push(`${t}.derivation is required.`);break;case"presentation_only":break;case"unsupported":(typeof e.reason!="string"||!e.reason.trim())&&i.push(`${t}.reason is required.`),(typeof e.suggestedModelingFix!="string"||!e.suggestedModelingFix.trim())&&i.push(`${t}.suggestedModelingFix is required.`);break;default:i.push(`${t}.kind must be a supported computation kind.`)}return i}function xt(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];for(const a of["title","requestedQuestion","suggestedModelingFix"])(typeof e[a]!="string"||!e[a].trim())&&i.push(`${t}.${a} is required.`);return Xe.has(e.reason)||i.push(`${t}.reason must be a supported unsupported insight reason.`),(e.relationshipCandidate!==void 0||e.nextRepairAction!==void 0)&&e.reason!=="missing_relationship"&&i.push(`${t} relationship repair metadata is only valid for missing_relationship unsupported insights.`),e.diagnostic!==void 0&&i.push(...Ct(e.diagnostic,`${t}.diagnostic`,e.reason)),e.relationshipCandidate!==void 0&&i.push(...qt(e.relationshipCandidate,`${t}.relationshipCandidate`)),e.nextRepairAction!==void 0&&i.push(...Et(e.nextRepairAction,`${t}.nextRepairAction`)),i}function Ct(s,t,e){const i=u(s);if(!i)return[`${t} must be an object.`];const n=[],a=new Set(["kind","inputId","inputLabel","optionSource","optionField","missingEvidence"]);Object.keys(i).forEach(c=>{a.has(c)||n.push(`${t}.${c} is not supported; raw identifier diagnostics support only kind, inputId, inputLabel, optionSource, optionField, and missingEvidence.`)}),e!=="raw_identifier_filter_options"&&n.push(`${t} is only valid for raw_identifier_filter_options unsupported insights.`),i.kind!=="raw_identifier_filter_options"&&n.push(`${t}.kind must be raw_identifier_filter_options.`);for(const c of["inputId","inputLabel"])(typeof i[c]!="string"||!i[c].trim())&&n.push(`${t}.${c} must be a non-empty string.`);n.push(...M(i.optionSource,`${t}.optionSource`)),n.push(...ze(i.optionField,`${t}.optionField`));const l=new Set(["display_field","relationship_display_path"]);return!Array.isArray(i.missingEvidence)||i.missingEvidence.length===0?n.push(`${t}.missingEvidence must be a non-empty evidence array.`):i.missingEvidence.forEach((c,d)=>{l.has(c)||n.push(`${t}.missingEvidence.${d} must be display_field or relationship_display_path.`)}),n}function Et(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[],n=new Set(["tool","reason"]);return Object.keys(e).forEach(a=>{n.has(a)||i.push(`${t}.${a} is not supported; repair actions support only tool and reason.`)}),e.tool!=="semaphor_propose_semantic_model_change"&&i.push(`${t}.tool must be semaphor_propose_semantic_model_change.`),e.reason!=="missing_relationship"&&i.push(`${t}.reason must be missing_relationship.`),i}function qt(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[],n=new Set(["source","sourceFields","target","targetFields"]);Object.keys(e).forEach(a=>{n.has(a)||i.push(`${t}.${a} is not supported; relationship candidates support only source, sourceFields, target, and targetFields.`)}),i.push(...M(e.source,`${t}.source`)),i.push(...M(e.target,`${t}.target`));for(const a of["sourceFields","targetFields"]){const l=e[a];if(!Array.isArray(l)||l.length===0){i.push(`${t}.${a} must be a non-empty endpoint field array.`);continue}l.forEach((c,d)=>{i.push(...ze(c,`${t}.${a}.${d}`))})}return i}function ze(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[],n=new Set(["name","label","role","dataType"]);return Object.keys(e).forEach(a=>{n.has(a)||i.push(`${t}.${a} is not supported; relationship candidate fields are scoped by their endpoint and support only name, label, role, and dataType.`)}),(typeof e.name!="string"||!e.name.trim())&&i.push(`${t}.name must be a non-empty string.`),e.role!==void 0&&(typeof e.role!="string"||!["dimension","measure","date","id","unknown"].includes(e.role))&&i.push(`${t}.role must be dimension, measure, date, id, or unknown.`),e.dataType!==void 0&&(typeof e.dataType!="string"||!["string","number","boolean","date","datetime","unknown"].includes(e.dataType))&&i.push(`${t}.dataType must be string, number, boolean, date, datetime, or unknown.`),i}function M(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[],n=new Set(["kind","domainId","datasetName","datasetId","label","sourceKey"]);return Object.keys(e).forEach(a=>{n.has(a)||i.push(`${t}.${a} is not supported; relationship candidate sources support only semantic identity fields.`)}),e.kind!=="semantic"&&i.push(`${t} must use semantic source identity.`),(typeof e.domainId!="string"||!e.domainId.trim()||typeof e.datasetName!="string"||!e.datasetName.trim())&&i.push(`${t} must include semantic domainId and datasetName.`),i}function z(s){return Ue.has(s)}function ve(s){return Ge.has(s)}function b(s,t){return s===void 0?[]:f(s,t)}function f(s,t){const e=u(s);if(!e)return[`${t} must be an object.`];const i=[];return(typeof e.name!="string"||!e.name.trim())&&i.push(`${t}.name is required.`),!e.source&&typeof e.sourceKey!="string"&&i.push(`${t} must include source or sourceKey.`),e.aggregate!==void 0&&!Qe.has(e.aggregate)&&i.push(`${t}.aggregate must be a supported aggregate function.`),i}function $e(s,t){const e=u(s),i=f(s,t);if(!e||typeof e.sourceKey=="string"&&e.sourceKey.trim())return i;if(e.source!==void 0){const a=C(e.source,`${t}.source`);return a.length===0||i.push(...a),i}return i.includes(`${t} must include source or sourceKey.`)||i.push(`${t} must include source or sourceKey.`),i}function u(s){return s&&typeof s=="object"&&!Array.isArray(s)?s:void 0}function y(s){return Array.isArray(s)&&s.every(t=>typeof t=="string")}const Ie=r.z.union([o.semaphorMetricResultSchema,o.semaphorRecordsResultSchema,o.semaphorInputOptionsResultSchema,o.semaphorSqlResultSchema,G]),ke=r.z.object({status:r.z.enum(["not_required","resolved","missing","ambiguous","fanout_risk","unknown"]),requiredSources:r.z.array(o.semaphorSourceRefSchema).optional(),relationshipsUsed:r.z.array(r.z.string()).optional(),missingSources:r.z.array(r.z.string()).optional(),warnings:r.z.array(r.z.string()).optional(),message:r.z.string().optional(),recommendedNextStep:r.z.string().optional(),joinPlanSummary:r.z.object({baseSource:o.semaphorSourceRefSchema.optional(),joinedSources:r.z.array(o.semaphorSourceRefSchema).optional(),joinCount:r.z.number().optional()}).passthrough().optional(),fanoutRisk:r.z.object({status:r.z.enum(["none","warning","error","unknown"]),message:r.z.string().optional()}).passthrough().optional()}).passthrough(),ae=r.z.enum(["ambiguous_fields","empty_result","missing_grounded_fields","missing_relationship","no_grounded_query","partial_result","presentation_incomplete","query_validation_failed","unsafe_join"]),H=r.z.object({version:r.z.literal(1),status:r.z.enum(["answered","partial","blocked"]),summary:r.z.string(),answered:r.z.array(r.z.object({slotId:r.z.string().optional(),queryId:r.z.string().optional(),summary:r.z.string(),evidenceIds:r.z.array(r.z.string()).optional(),fieldsUsed:r.z.array(o.semaphorExecutionFieldRefSchema).optional()}).passthrough()),blocked:r.z.array(r.z.object({slotId:r.z.string().optional(),queryId:r.z.string().optional(),reasonCode:ae,message:r.z.string(),missingFields:r.z.array(r.z.string()).optional(),availableFields:r.z.array(r.z.string()).optional(),ambiguousFields:r.z.array(r.z.string()).optional(),missingRelationships:r.z.array(r.z.string()).optional(),evidenceIds:r.z.array(r.z.string()).optional(),neededFromUser:r.z.array(r.z.string()).optional(),recommendedNextStep:r.z.string().optional()}).passthrough()),semanticModelRecommendations:r.z.array(r.z.object({reasonCode:ae,message:r.z.string(),recommendedNextStep:r.z.string().optional()}).passthrough()).optional()}).passthrough(),Y=r.z.object({scope:r.z.literal("filtered_query"),measures:r.z.record(o.nullableScalarSchema)}).passthrough(),J=r.z.object({answeredObligations:r.z.array(r.z.string()),missingObligations:r.z.array(r.z.string()),warnings:r.z.array(o.semaphorAnalyticsValidationIssueSchema).optional()}).passthrough(),Z=r.z.object({intentId:r.z.string().optional(),queryId:r.z.string().optional(),status:r.z.enum(["answered","partial","failed"]),resultShape:r.z.enum(["metric","records","inputOptions","sql","matrix","period_change","analysis"]).optional(),intent:r.z.unknown().optional(),compiledQuery:r.z.unknown().optional(),fieldsUsed:r.z.array(o.semaphorExecutionFieldRefSchema).optional(),result:Ie.optional(),validation:o.semaphorAnalyticsValidationResultSchema,coverage:J.optional(),missingFields:r.z.array(r.z.string()).optional(),warnings:r.z.array(r.z.string()).optional(),relationshipDiagnostics:ke.optional(),diagnosticFeedback:H.optional(),population:Y.optional(),metadata:r.z.record(r.z.string(),r.z.unknown()).optional()}).passthrough(),we=Z;function jt(s){switch(s){case"boolean":return r.z.boolean().optional();case"compactExecutionFieldArray":return r.z.array(o.semaphorCompactFieldRefSchema).optional();case"coverage":return J.optional();case"diagnosticFeedback":return H.optional();case"executionFieldArray":return r.z.array(o.semaphorExecutionFieldRefSchema).optional();case"executionResult":return we.optional();case"number":return r.z.number().finite().optional();case"population":return Y.optional();case"record":return o.recordSchema.optional();case"recordArray":return o.recordArraySchema.optional();case"responseDetail":return r.z.enum(["compact","standard","debug"]).optional();case"string":return r.z.string().optional();case"stringArray":return r.z.array(r.z.string()).optional();case"unknown":return r.z.unknown().optional();case"unknownArray":return r.z.array(r.z.unknown()).optional();case"validationResult":return o.semaphorAnalyticsValidationResultSchema.optional()}}const Ae=Object.fromEntries(Object.entries(R).map(([s,t])=>[s,jt(t)])),_e=r.z.object(Ae).strict(),X=r.z.object({sourceKey:r.z.string().optional(),kind:r.z.enum(["semantic","physical","sql"]).optional(),domainId:r.z.string().optional(),datasetName:r.z.string().optional(),datasetId:r.z.string().optional(),connectionId:r.z.string().optional(),tableName:r.z.string().optional(),label:r.z.string().optional()}).passthrough(),S=r.z.object({name:r.z.string(),label:r.z.string().optional(),role:r.z.enum(["dimension","measure","date","id","unknown"]).optional(),dataType:r.z.enum(["string","number","boolean","date","datetime","unknown"]).optional(),aggregate:o.semaphorAggregateFunctionSchema.optional(),sourceKey:r.z.string().optional(),source:X.optional()}).passthrough(),Re=r.z.object({id:r.z.string().optional(),builder:r.z.literal("semaphor.inputOptions"),source:X.optional(),sourceKey:r.z.string().optional(),valueFieldRef:S,labelFieldRef:S,filterFieldRef:S.optional(),population:r.z.unknown().optional(),dependencies:r.z.unknown().optional(),limit:r.z.number().int().positive().optional(),spec:o.recordSchema.optional()}).passthrough(),xe=r.z.object({appliesToViewIds:r.z.array(r.z.string()).optional(),viewId:r.z.string().optional(),fieldRef:S,relationshipHint:r.z.unknown().optional(),relationshipsUsed:r.z.array(o.recordSchema).optional()}).passthrough(),Kt=r.z.object({id:r.z.string(),label:r.z.string().optional(),type:r.z.string().optional(),serverSide:r.z.boolean().optional(),fieldRef:S.optional(),optionQuery:Re.optional(),bindings:r.z.array(xe).optional(),appliesToViewIds:r.z.array(r.z.string()),relationshipHint:r.z.unknown().optional(),relationshipsUsed:r.z.array(o.recordSchema).optional()}).passthrough(),Ft=r.z.object({builder:r.z.enum(["semaphor.metric","semaphor.records","semaphor.matrix","semaphor.analysis","semaphor.sql"]),spec:o.recordSchema,fallbackReason:o.recordSchema.optional()}).passthrough(),Nt=r.z.object({id:r.z.string(),title:r.z.string().optional(),purpose:r.z.string().optional(),sourcePresentation:r.z.object({sourceKeys:r.z.array(r.z.string()).optional(),sourceLabels:r.z.array(r.z.string()).optional()}).passthrough().optional(),visual:r.z.string().optional(),visualSpec:o.recordSchema.optional(),queryKind:r.z.enum(["metric","records","matrix","analysis","sql_fallback"]).optional(),sdkBuilder:r.z.enum(["semaphor.metric","semaphor.records","semaphor.matrix","semaphor.analysis","semaphor.sql"]).optional(),sdkSpec:Ft.optional(),fields:r.z.array(S).optional(),computation:o.recordSchema.optional(),uxExpectations:r.z.array(r.z.string()).optional(),validation:o.recordSchema.optional()}).passthrough(),Ot=r.z.object({inputId:r.z.string(),label:r.z.string().optional(),type:r.z.string().optional(),serverSide:r.z.boolean().optional(),fieldRef:S.optional(),optionQuery:Re.optional(),bindings:r.z.array(xe),appliesToViewIds:r.z.array(r.z.string()),notAppliedToViewIds:r.z.array(r.z.string())}).passthrough(),Tt=r.z.object({schemaVersion:r.z.literal(w),title:r.z.string(),purpose:r.z.string().optional(),userGoal:r.z.string().optional(),nextStep:r.z.string().optional(),sources:r.z.array(X),inputs:r.z.array(Kt),views:r.z.array(Nt),filterContracts:r.z.array(Ot),implementationChecklist:r.z.object({schemaVersion:r.z.string().optional(),requiredDevtools:r.z.object({mountRootDevtools:r.z.boolean(),providerDebugBridge:r.z.string().optional(),panelPosition:r.z.string().optional(),forbidden:r.z.array(r.z.string()).optional()}).passthrough(),requiredInputOptions:r.z.array(o.recordSchema),filterScopeByInput:r.z.array(o.recordSchema),bindingsByView:r.z.record(r.z.string(),r.z.array(o.recordSchema)),validationCommands:r.z.array(r.z.string()),browserSmokeChecks:r.z.array(r.z.string())}).passthrough(),nextRequiredTool:r.z.object({name:r.z.string(),reason:r.z.string().optional()}).optional(),unsupportedInsights:r.z.array(r.z.object({title:r.z.string(),requestedQuestion:r.z.string(),reason:r.z.string(),suggestedModelingFix:r.z.string()}).passthrough()).optional(),assumptions:r.z.array(r.z.string()).optional(),validation:o.recordSchema.optional()}).passthrough().superRefine((s,t)=>{const e=W(s);for(const i of e.issues)t.addIssue({code:r.z.ZodIssueCode.custom,message:i})}),Pt=new Set(Object.keys(R));function Bt(){return Object.keys(R)}function Ce(s){return Pt.has(s)}function Mt(s){if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Semaphor analyze result must be an object.");const e=Object.keys(s).filter(i=>!Ce(i));if(e.length)throw new Error(`Semaphor analyze result contains unsupported top-level field(s): ${e.join(", ")}.`);return _e.parse(s)}const ee=100,A="selection:";function te(s){return[o.semaphorSourceIdentityKey(s.source),o.normalizeAnalyticsCatalogName(s.name),s.sourceField??""].join("::")}function Dt(s){return`${A}${s}`}function Ee(s){return s.startsWith(A)&&s.length>A.length}function Vt(s){return Ee(s)?s.slice(A.length):void 0}function se(s){if(!s)return"";const t=s.calendar.fiscalCalendar;return JSON.stringify([s.granularity,s.calendar.tz,s.calendar.weekStart,t?[t.kind,t.yearStartMonth]:null])}function qe(s){return JSON.stringify([te(s.field),s.operator,s.operator==="isNull"?null:s.value,se(s.temporalBucket)])}function D(s){return JSON.stringify(s.conditions.map(qe).sort())}function _(s){return JSON.stringify([o.semaphorSourceIdentityKey(s.field.source),s.field.name,s.operator,s.operator==="isNull"?null:s.value,se(s.temporalBucket)])}function V(s){return JSON.stringify(s.conditions.map(_).sort())}function Lt(s){const t=s.map(e=>e.id);if(new Set(t).size!==t.length)throw new Error("Data App selections require one active selection per id.");return s.map(e=>({...e,tuples:e.tuples.map(i=>({...i,conditions:[...i.conditions].sort((n,a)=>O(_(n),_(a)))})).sort((i,n)=>O(V(i),V(n)))})).sort((e,i)=>O(e.id,i.id))}function O(s,t){return s<t?-1:s>t?1:0}function Ut(s,t){return D(s)===D(t)}const Gt="(Blank)";function Qt(s){return s.conditions.map(t=>t.label?t.label:t.operator==="isNull"||t.value===null?Gt:String(t.value)).join(" · ")}const Wt=r.z.union([o.semaphorSemanticSourceRefSchema,o.semaphorPhysicalSourceRefSchema]),je=r.z.object({name:r.z.string().min(1),source:Wt,dataType:r.z.enum(["string","number","boolean","date","datetime"]),sourceField:r.z.string().min(1).optional()}).strict(),Ke=r.z.object({field:je,operator:r.z.enum(["=","isNull"]),value:r.z.union([r.z.string(),r.z.number().finite(),r.z.null()]),label:r.z.string().optional(),temporalBucket:o.temporalBucketMetadataSchema.optional()}).strict().superRefine((s,t)=>{s.operator==="isNull"!=(s.value===null)&&t.addIssue({code:r.z.ZodIssueCode.custom,message:"isNull carries a null value, and only isNull does.",path:["value"]})}),Fe=r.z.object({conditions:r.z.array(Ke).min(1)}).strict().superRefine((s,t)=>{const e=s.conditions.map(i=>te(i.field));new Set(e).size!==e.length&&t.addIssue({code:r.z.ZodIssueCode.custom,message:"A tuple holds one condition per field.",path:["conditions"]})}),Ht=r.z.object({kind:r.z.literal("selection"),sourceCardId:r.z.string().min(1),tuples:r.z.array(Fe).min(1).max(ee)}).strict(),Ne=r.z.object({field:o.semaphorFieldRefSchema,operator:r.z.enum(["=","isNull"]),value:r.z.union([r.z.string(),r.z.number().finite(),r.z.null()]),temporalBucket:o.temporalBucketMetadataSchema.optional()}).strict().superRefine((s,t)=>{s.operator==="isNull"!=(s.value===null)&&t.addIssue({code:r.z.ZodIssueCode.custom,message:"isNull carries a null value, and only isNull does.",path:["value"]})}),Oe=r.z.object({conditions:r.z.array(Ne).min(1)}).strict().superRefine((s,t)=>{for(let e=0;e<s.conditions.length;e+=1){const i=s.conditions[e];s.conditions.findIndex((a,l)=>l<e&&o.semaphorFieldRefsMatch(a.field,i.field))!==-1&&t.addIssue({code:r.z.ZodIssueCode.custom,message:"A selection tuple can contain only one condition per field.",path:["conditions",e,"field"]})}}),Yt=r.z.object({id:r.z.string().min(1),tuples:r.z.array(Oe).min(1).max(ee)}).strict(),Te=r.z.object({runtimeFilters:o.matrixSpecSchema.innerType().shape.filters,runtimeSorts:o.matrixSpecSchema.innerType().shape.sorts.optional()});function Jt(s){return Te.parse(s)}const Zt={compiledQuery:r.z.never().optional(),intent:Q.shape.intent,resultShape:r.z.literal("matrix"),result:G.optional(),metadata:r.z.object({rowLimitExceeded:r.z.boolean(),matrixFailure:x.optional()}).passthrough()},Xt=Z.extend(Zt),es=Xt.superRefine((s,t)=>{s.status==="failed"==!!s.result&&t.addIssue({code:"custom",message:"Only answered or partial Matrix execution carries a window."}),s.result&&s.status==="partial"!=s.result.window.failures.length>0&&t.addIssue({code:"custom",message:"Matrix execution status must match acquired window failures."})});exports.MATRIX_WINDOW_LIMITS=Pe;exports.SELECTION_LIMIT=ee;exports.SEMAPHOR_ANALYZE_RESULT_FIELD_CONTRACT=R;exports.SEMAPHOR_DATA_APP_CODEGEN_SUMMARY_SCHEMA_VERSION=w;exports.SEMAPHOR_DATA_APP_CODEGEN_SUMMARY_VALIDATOR_VERSION=Le;exports.analyticsExecutionEnvelopeSchema=Z;exports.analyticsSelectionConditionKey=_;exports.analyticsSelectionConditionSchema=Ne;exports.analyticsSelectionSchema=Yt;exports.analyticsSelectionTupleKey=V;exports.analyticsSelectionTupleSchema=Oe;exports.canonicalizeAnalyticsSelections=Lt;exports.getSemaphorAnalyzeResultFieldNames=Bt;exports.isSelectionInputId=Ee;exports.isSemaphorAnalyzeResultFieldName=Ce;exports.isSemaphorDataAppCodegenSummary=et;exports.matrixAxisPageSchema=ce;exports.matrixBlockRequestSchema=ue;exports.matrixCapabilitiesSchema=me;exports.matrixCellBlockSchema=le;exports.matrixDescriptorSchema=P;exports.matrixExecutionResultSchema=es;exports.matrixExportBatchSchema=Ve;exports.matrixExportColumnSchema=fe;exports.matrixExportLayoutSchema=he;exports.matrixExportRowSchema=ye;exports.matrixExportValueSchema=B;exports.matrixFailureSchema=x;exports.matrixOperationRequestSchema=Q;exports.matrixPageRequestSchema=oe;exports.matrixPathSelectionSchema=T;exports.matrixResultSchema=G;exports.matrixRuntimeInputsSchema=Te;exports.matrixWindowInputSchema=Me;exports.matrixWindowOutcomeSchema=De;exports.matrixWindowRequestSchema=L;exports.matrixWindowSchema=U;exports.parseMatrixRuntimeInputs=Jt;exports.parseSemaphorAnalyzeResult=Mt;exports.sameSelectionTuple=Ut;exports.selectionConditionKey=qe;exports.selectionConditionSchema=Ke;exports.selectionFieldKey=te;exports.selectionFieldSchema=je;exports.selectionInputId=Dt;exports.selectionInputValueSchema=Ht;exports.selectionTupleKey=D;exports.selectionTupleLabel=Qt;exports.selectionTupleSchema=Fe;exports.semaphorAnalyticsCoverageSchema=J;exports.semaphorAnalyticsDiagnosticFeedbackSchema=H;exports.semaphorAnalyticsExecutionResultSchema=we;exports.semaphorAnalyticsPopulationSchema=Y;exports.semaphorAnalyticsResultSchema=Ie;exports.semaphorAnalyzeResultSchema=_e;exports.semaphorAnalyzeResultShape=Ae;exports.semaphorDataAppCodegenSummarySchema=Tt;exports.semaphorRelationshipDiagnosticsSchema=ke;exports.sourceCardIdFromSelectionInputId=Vt;exports.temporalBucketIdentityKey=se;exports.validateSemaphorDataAppCodegenSummary=W;