react-semaphor 0.1.525 → 0.1.527

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 (196) hide show
  1. package/DATA_APP_SDK.md +5 -1
  2. package/dist/analytics-protocol/index.js +1179 -296
  3. package/dist/brand-studio/index.js +31 -31
  4. package/dist/briefings/index.js +50 -49
  5. package/dist/chunks/{calculated-field-identity-Dy_WpDdo.js → calculated-field-identity-DEhjPSr-.js} +77 -76
  6. package/dist/chunks/{card-config-utils-CAyjC5Tp.js → card-config-utils-BlIbwkuD.js} +62 -59
  7. package/dist/chunks/{constants-DeLIHVAW.js → constants-DNWVy8Y3.js} +4 -4
  8. package/dist/chunks/dashboard-JNHR0_cZ.js +14 -0
  9. package/dist/chunks/{dashboard-briefing-launcher-BilVIEyw.js → dashboard-briefing-launcher-D9pFByPh.js} +274 -267
  10. package/dist/chunks/{dashboard-controls-DyLPcvCK.js → dashboard-controls-CJI5ZWMq.js} +740 -692
  11. package/dist/chunks/dashboard-json-DLdrFry-.js +65 -0
  12. package/dist/chunks/{edit-dashboard-visual-DtmKNNdE.js → edit-dashboard-visual-D5LjWle1.js} +6760 -6728
  13. package/dist/chunks/editor-action-buttons-G91NQKxU.js +2070 -0
  14. package/dist/chunks/{field-aggregations-BQjogiI1.js → field-aggregations-DeVQLIsP.js} +19 -19
  15. package/dist/chunks/{field-dependencies-v-lJNzC7.js → field-dependencies-CGYic38w.js} +1 -1
  16. package/dist/chunks/{index-ON7Gpvcv.js → index-BvJOYbNv.js} +760 -750
  17. package/dist/chunks/{matrix-analytical-definition-BimC4XIV.js → matrix-analytical-definition-BJyH5-99.js} +1 -1
  18. package/dist/chunks/{matrix-card-CIlz0Dnp.js → matrix-card-DY45yiUM.js} +7 -6
  19. package/dist/chunks/{matrix-control-sources-B1K7x0SL.js → matrix-control-sources-BypfLZsK.js} +36 -36
  20. package/dist/chunks/{matrix-definition-E5gXXSTZ.js → matrix-definition-Cdn3LoxW.js} +3 -3
  21. package/dist/chunks/{semantic-format-Baqp8kD_.js → matrix-formatter-BoKU3MzZ.js} +655 -511
  22. package/dist/chunks/{matrix-member-presentation-Bw7-JCrr.js → matrix-member-presentation-BBW0n1iY.js} +1 -1
  23. package/dist/chunks/matrix-operation-contract-BV02rLhu.js +809 -0
  24. package/dist/chunks/{metric-comparison-BphoJ9bq.js → metric-comparison-Crljx_XY.js} +15 -10
  25. package/dist/chunks/{numeric-presentation-VhMUHfrJ.js → numeric-presentation-LvnNY5Ma.js} +68 -68
  26. package/dist/chunks/pivot-header-presentation-D5v8uyjj.js +618 -0
  27. package/dist/chunks/{pivot-result-identity-BzUQiCEV.js → pivot-result-identity-CY__BuwI.js} +1 -1
  28. package/dist/chunks/{pivot-result-lifecycle-BFO354lk.js → pivot-result-lifecycle-BWrPhlGT.js} +259 -204
  29. package/dist/chunks/{raw-temporal-7bFbXd2a.js → raw-temporal-CdnA_OXJ.js} +10 -10
  30. package/dist/chunks/{raw-temporal-contract-BQZIJ1fn.js → raw-temporal-contract-Bc9z83t-.js} +1 -1
  31. package/dist/chunks/relative-date-DAF9J7mt.js +456 -0
  32. package/dist/chunks/report-preferences-dialog-D3hxu4sE.js +1231 -0
  33. package/dist/chunks/{report-runtime-context-CxIoGyNM.js → report-runtime-context-CtaGGlit.js} +1 -1
  34. package/dist/chunks/{selection-reducer-CvCBQbl2.js → selection-reducer-C7Um5XN-.js} +3 -3
  35. package/dist/chunks/semantic-format-BjBMOSoo.js +192 -0
  36. package/dist/chunks/{index-DYOaHuLS.js → semaphor-ready-indicator-D46I_4g7.js} +145070 -146854
  37. package/dist/chunks/slider-B6LELqx6.js +876 -0
  38. package/dist/chunks/{source-entity-resolution-Bzefiive.js → source-entity-resolution-Bde29mqE.js} +25 -25
  39. package/dist/chunks/{switch-CWPcwAZ4.js → switch-_7uBAbYx.js} +7950 -8545
  40. package/dist/chunks/{temporal-bucket-PcLFSYWX.js → temporal-bucket-DlFuhCnT.js} +6 -6
  41. package/dist/chunks/{temporal-bucket-contract-DTLDRzgV.js → temporal-bucket-contract-C6lUGPS3.js} +1 -1
  42. package/dist/chunks/temporal-input-presentation-DyMWCZYh.js +195 -0
  43. package/dist/chunks/{token-types-BC6RcUY8.js → token-types-UjyNz95-.js} +1 -1
  44. package/dist/chunks/{validators-CsdOtZI6.js → validators-CQcG0EPN.js} +852 -731
  45. package/dist/chunks/zoned-wall-clock-BkxV9jS2.js +46 -0
  46. package/dist/dashboard/index.js +1 -1
  47. package/dist/dashboard-authoring/index.js +138 -137
  48. package/dist/data-app-sdk/index.js +30 -29
  49. package/dist/data-app-sdk-adapters/index.js +23 -22
  50. package/dist/data-app-sdk-validation/index.js +27 -26
  51. package/dist/format-utils/index.js +247 -329
  52. package/dist/index.js +435 -246
  53. package/dist/report-runtime-context/index.js +2 -2
  54. package/dist/style.css +1 -1
  55. package/dist/surfboard/index.js +4 -5
  56. package/dist/types/briefings/index.d.ts +3 -0
  57. package/dist/types/components/dashboard/dashboard-container.d.ts +1 -1
  58. package/dist/types/components/dashboard/sheet/layout-change-guard.d.ts +1 -1
  59. package/dist/types/components/dashboard/sheet/sheet-layout.d.ts +1 -1
  60. package/dist/types/components/editor/editor-main/text-card.d.ts +1 -1
  61. package/dist/types/components/editor/editor.d.ts +1 -1
  62. package/dist/types/components/explorer/filters/card-date-filter.d.ts +13 -5
  63. package/dist/types/components/explorer/filters/card-date-selection.d.ts +28 -0
  64. package/dist/types/components/providers/semaphor-context-provider.d.ts +1 -1
  65. package/dist/types/components/providers/theme-provider-context.d.ts +1 -1
  66. package/dist/types/components/providers/theme-provider.d.ts +1 -1
  67. package/dist/types/components/shared/unsaved-changes/use-pristine-snapshot-initializer.d.ts +1 -1
  68. package/dist/types/components/sharing-and-management/dashboard-actions-menu.d.ts +1 -1
  69. package/dist/types/components/sharing-and-management/hooks/use-resource-management.d.ts +0 -1
  70. package/dist/types/components/surfboard/dashboard-plus.d.ts +1 -1
  71. package/dist/types/components/surfboard/download-settings-dialog.d.ts +8 -0
  72. package/dist/types/components/surfboard/filter/types.d.ts +8 -29
  73. package/dist/types/components/surfboard/filter/use-dashboard-filter-mapping-popover.d.ts +5 -1
  74. package/dist/types/components/ui-custom/date-range-picker.d.ts +18 -2
  75. package/dist/types/components/ui-custom/date-range-presets.d.ts +8 -21
  76. package/dist/types/components/ui-custom/report-calendar.d.ts +18 -0
  77. package/dist/types/components/visual/aggregated-table/utils/export-utils.d.ts +3 -5
  78. package/dist/types/components/visual/column-display-utils.d.ts +1 -1
  79. package/dist/types/components/visual/data-table/data-table-toolbar.d.ts +1 -1
  80. package/dist/types/components/visual/kpi-visual/kpi-utils.d.ts +1 -1
  81. package/dist/types/components/visual/pivot-table/utils/pivot-table-export-utils.d.ts +3 -1
  82. package/dist/types/components/visual/settings/color-format.d.ts +1 -1
  83. package/dist/types/components/visual/visual-utils.d.ts +1 -1
  84. package/dist/types/index.js +5 -5
  85. package/dist/types/lib/actions/data-point-click-action.d.ts +2 -1
  86. package/dist/types/lib/api/exports-api.d.ts +3 -0
  87. package/dist/types/lib/csv-download.d.ts +9 -0
  88. package/dist/types/lib/csv-encoding-options.d.ts +6 -0
  89. package/dist/types/lib/dashboard/normalize-dashboard-for-dirty-check.d.ts +1 -1
  90. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-storage-transition.d.ts +2 -1
  91. package/dist/types/lib/dashboard-navigation/build-carried-click-context.d.ts +0 -1
  92. package/dist/types/lib/document/document-input-runtime.d.ts +2 -1
  93. package/dist/types/lib/export-utils.d.ts +17 -15
  94. package/dist/types/lib/hooks/explorer/use-filter-builder.d.ts +2 -2
  95. package/dist/types/lib/hooks/explorer/use-schemas.d.ts +1 -1
  96. package/dist/types/lib/hooks/use-dashboard.d.ts +2 -2
  97. package/dist/types/lib/hooks/use-relative-date-summarizer.d.ts +7 -0
  98. package/dist/types/lib/interactions/get-click-context-from-chartjs.d.ts +1 -2
  99. package/dist/types/lib/matrix-table/matrix-application-adapter.d.ts +3 -2
  100. package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +1 -1
  101. package/dist/types/lib/matrix-table/matrix-card-draft.d.ts +1 -1
  102. package/dist/types/lib/matrix-table/matrix-dataset-history.d.ts +47 -0
  103. package/dist/types/lib/matrix-table/matrix-delivery.d.ts +7 -3
  104. package/dist/types/lib/matrix-table/matrix-execution-context.d.ts +2 -0
  105. package/dist/types/lib/matrix-table/matrix-query-transport.d.ts +4 -1
  106. package/dist/types/lib/matrix-table/matrix-runtime-types.d.ts +105 -4
  107. package/dist/types/lib/matrix-table/matrix-runtime.d.ts +43 -2
  108. package/dist/types/lib/matrix-table/use-matrix.d.ts +6 -0
  109. package/dist/types/lib/query-context/build-card-query-context.d.ts +5 -1
  110. package/dist/types/lib/query-context/build-dashboard-card-query-contract.d.ts +0 -1
  111. package/dist/types/lib/query-context/build-global-date-comparison-context.d.ts +1 -2
  112. package/dist/types/lib/query-context/compile-dashboard-card-filters.d.ts +1 -2
  113. package/dist/types/lib/query-context/dashboard-card-query-key.d.ts +10 -0
  114. package/dist/types/lib/query-context/query-auth-scope.d.ts +5 -0
  115. package/dist/types/lib/stores/dashboard-store.d.ts +9 -4
  116. package/dist/types/lib/stores/editor-store.d.ts +1 -2
  117. package/dist/types/lib/stores/table-actions.d.ts +2 -1
  118. package/dist/types/lib/temporal-filter/temporal-filter-utils.d.ts +9 -2
  119. package/dist/types/lib/types/common-types.d.ts +5 -0
  120. package/dist/types/lib/types/explorer-types.d.ts +14 -0
  121. package/dist/types/lib/types/token-types.d.ts +0 -13
  122. package/dist/types/lib/utils/card-definition.d.ts +1 -1
  123. package/dist/types/lib/utils/date-timezone-utils.d.ts +4 -46
  124. package/dist/types/lib/utils/filter-default-value-utils.d.ts +8 -2
  125. package/dist/types/lib/utils/inline-filter-utils.d.ts +3 -2
  126. package/dist/types/lib/utils/relative-date-description.d.ts +38 -0
  127. package/dist/types/lib/utils.d.ts +0 -2
  128. package/dist/types/shared/analytics-protocol/contracts.d.ts +10 -7
  129. package/dist/types/shared/analytics-protocol/index.d.ts +12 -1
  130. package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +20 -20
  131. package/dist/types/shared/analytics-protocol/matrix-operation-contract.d.ts +10 -10
  132. package/dist/types/shared/analytics-protocol/matrix-operation-request.d.ts +8 -8
  133. package/dist/types/shared/analytics-protocol/matrix-window-contract.d.ts +51 -5
  134. package/dist/types/shared/analytics-protocol/metric-comparison.d.ts +9 -3
  135. package/dist/types/shared/analytics-protocol/operation-temporal-state.d.ts +64 -0
  136. package/dist/types/shared/analytics-protocol/relative-date-filter.d.ts +61 -0
  137. package/dist/types/shared/analytics-protocol/relative-date-label.d.ts +20 -0
  138. package/dist/types/shared/analytics-protocol/runtime-schemas.d.ts +0 -2
  139. package/dist/types/shared/analytics-protocol/time-window-schema.d.ts +314 -0
  140. package/dist/types/shared/analytics-protocol/time-window.d.ts +13 -0
  141. package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +8 -4
  142. package/dist/types/shared/format-utils/exporters/csv-utils.d.ts +46 -15
  143. package/dist/types/shared/format-utils/exporters/index.d.ts +2 -3
  144. package/dist/types/shared/format-utils/flat-table-export-totals.d.ts +2 -1
  145. package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +2 -2
  146. package/dist/types/shared/format-utils/types/format-types.d.ts +0 -42
  147. package/dist/types/shared/temporal/calendar-periods.d.ts +56 -0
  148. package/dist/types/shared/temporal/index.d.ts +5 -0
  149. package/dist/types/shared/temporal/relative-date.d.ts +21 -0
  150. package/dist/types/shared/temporal/temporal-parity-fixtures.d.ts +73 -0
  151. package/dist/types/shared/temporal/time-window-periods.d.ts +21 -0
  152. package/dist/types/shared/temporal/zoned-wall-clock.d.ts +23 -0
  153. package/package.json +2 -17
  154. package/src/data-app-sdk/README.md +6 -3
  155. package/dist/chunks/dashboard-date-comparison-definition-BqNhECUr.js +0 -183
  156. package/dist/chunks/dashboard-json-QEoU-mx4.js +0 -75
  157. package/dist/chunks/editor-action-buttons-B9VRW3Bh.js +0 -2019
  158. package/dist/chunks/matrix-formatter-WBgtebUT.js +0 -341
  159. package/dist/chunks/matrix-operation-contract-D32U2CSw.js +0 -1802
  160. package/dist/chunks/mouse-pointer-2-BZvGk45-.js +0 -19
  161. package/dist/chunks/pivot-header-presentation-CGtudHo7.js +0 -661
  162. package/dist/chunks/report-preferences-dialog-BLaFmlE2.js +0 -723
  163. package/dist/chunks/temporal-input-presentation-2RJrvmYL.js +0 -222
  164. package/dist/chunks/update-policy-DhAUtiC8.js +0 -913
  165. package/dist/data-app-builder/index.js +0 -3666
  166. package/dist/data-app-builder-browser-runtime/index.js +0 -8
  167. package/dist/data-app-codegen/index.js +0 -22
  168. package/dist/data-app-codegen-node/index.js +0 -1807
  169. package/dist/types/components/data-app-runtime/published-data-app-runtime.d.ts +0 -7
  170. package/dist/types/components/surfboard/json-to-csv.d.ts +0 -7
  171. package/dist/types/components/visual/data-table/utils/export-utils.d.ts +0 -31
  172. package/dist/types/data-app-builder/browser-runtime.d.ts +0 -174
  173. package/dist/types/data-app-builder/constants.d.ts +0 -14
  174. package/dist/types/data-app-builder/data-app-builder.d.ts +0 -14
  175. package/dist/types/data-app-builder/index.d.ts +0 -1
  176. package/dist/types/data-app-builder/lib/api.d.ts +0 -36
  177. package/dist/types/data-app-builder/lib/context-select.d.ts +0 -3
  178. package/dist/types/data-app-builder/lib/diagnostics.d.ts +0 -12
  179. package/dist/types/data-app-builder/lib/file-tree.d.ts +0 -2
  180. package/dist/types/data-app-builder/types.d.ts +0 -558
  181. package/dist/types/data-app-builder-browser-runtime.d.ts +0 -2
  182. package/dist/types/data-app-builder.d.ts +0 -2
  183. package/dist/types/data-app-codegen/generate-contract.d.ts +0 -26
  184. package/dist/types/data-app-codegen/generated-contract-files.d.ts +0 -7
  185. package/dist/types/data-app-codegen/generated-contract-validation.d.ts +0 -13
  186. package/dist/types/data-app-codegen/index.d.ts +0 -6
  187. package/dist/types/data-app-codegen/live-execution.d.ts +0 -42
  188. package/dist/types/data-app-codegen/node.d.ts +0 -2
  189. package/dist/types/data-app-codegen/update-policy.d.ts +0 -25
  190. package/dist/types/data-app-codegen/validation.d.ts +0 -8
  191. package/dist/types/data-app-codegen-node.d.ts +0 -2
  192. package/dist/types/data-app-codegen.d.ts +0 -2
  193. package/dist/types/lib/encrypt-utils.d.ts +0 -9
  194. package/dist/types/shared/analytics-protocol/data-app-codegen-summary.d.ts +0 -418
  195. package/dist/types/shared/format-utils/exporters/pivot-exporter.d.ts +0 -13
  196. package/dist/types/shared/format-utils/exporters/table-exporter.d.ts +0 -10
@@ -77,7 +77,7 @@ export declare const matrixRuntimeInputsSchema: z.ZodObject<{
77
77
  levelId: string;
78
78
  axis: "columns" | "rows";
79
79
  direction: "asc" | "desc";
80
- nulls: "first" | "last";
80
+ nulls: "last" | "first";
81
81
  }, {
82
82
  target: import('./matrix-definition-contract.js').MatrixSortTarget;
83
83
  scope: {
@@ -102,7 +102,7 @@ export declare const matrixRuntimeInputsSchema: z.ZodObject<{
102
102
  levelId: string;
103
103
  axis: "columns" | "rows";
104
104
  direction: "asc" | "desc";
105
- nulls: "first" | "last";
105
+ nulls: "last" | "first";
106
106
  }>, "many">>>;
107
107
  }, "strip", z.ZodTypeAny, {
108
108
  runtimeSorts?: readonly {
@@ -129,7 +129,7 @@ export declare const matrixRuntimeInputsSchema: z.ZodObject<{
129
129
  levelId: string;
130
130
  axis: "columns" | "rows";
131
131
  direction: "asc" | "desc";
132
- nulls: "first" | "last";
132
+ nulls: "last" | "first";
133
133
  }[] | undefined;
134
134
  runtimeFilters?: import('../../components/index.js').FilterGroup | undefined;
135
135
  }, {
@@ -157,7 +157,7 @@ export declare const matrixRuntimeInputsSchema: z.ZodObject<{
157
157
  levelId: string;
158
158
  axis: "columns" | "rows";
159
159
  direction: "asc" | "desc";
160
- nulls: "first" | "last";
160
+ nulls: "last" | "first";
161
161
  }[] | undefined;
162
162
  runtimeFilters?: import('../../components/index.js').FilterGroup | undefined;
163
163
  }>;
@@ -375,7 +375,7 @@ declare const matrixExecutionShape: {
375
375
  levelId: string;
376
376
  axis: "columns" | "rows";
377
377
  direction: "asc" | "desc";
378
- nulls: "first" | "last";
378
+ nulls: "last" | "first";
379
379
  }, {
380
380
  target: import('./matrix-definition-contract.js').MatrixSortTarget;
381
381
  scope: {
@@ -400,7 +400,7 @@ declare const matrixExecutionShape: {
400
400
  levelId: string;
401
401
  axis: "columns" | "rows";
402
402
  direction: "asc" | "desc";
403
- nulls: "first" | "last";
403
+ nulls: "last" | "first";
404
404
  }>, "many">>;
405
405
  rankings: z.ZodReadonly<z.ZodArray<z.ZodType<import('./matrix-definition-contract.js').MatrixRanking, z.ZodTypeDef, import('./matrix-definition-contract.js').MatrixRanking>, "many">>;
406
406
  } & {
@@ -479,7 +479,7 @@ declare const matrixExecutionShape: {
479
479
  levelId: string;
480
480
  axis: "columns" | "rows";
481
481
  direction: "asc" | "desc";
482
- nulls: "first" | "last";
482
+ nulls: "last" | "first";
483
483
  }[];
484
484
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
485
485
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -561,7 +561,7 @@ declare const matrixExecutionShape: {
561
561
  levelId: string;
562
562
  axis: "columns" | "rows";
563
563
  direction: "asc" | "desc";
564
- nulls: "first" | "last";
564
+ nulls: "last" | "first";
565
565
  }[];
566
566
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
567
567
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -643,7 +643,7 @@ declare const matrixExecutionShape: {
643
643
  levelId: string;
644
644
  axis: "columns" | "rows";
645
645
  direction: "asc" | "desc";
646
- nulls: "first" | "last";
646
+ nulls: "last" | "first";
647
647
  }[];
648
648
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
649
649
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -725,7 +725,7 @@ declare const matrixExecutionShape: {
725
725
  levelId: string;
726
726
  axis: "columns" | "rows";
727
727
  direction: "asc" | "desc";
728
- nulls: "first" | "last";
728
+ nulls: "last" | "first";
729
729
  }[];
730
730
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
731
731
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -209,7 +209,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
209
209
  levelId: string;
210
210
  axis: "columns" | "rows";
211
211
  direction: "asc" | "desc";
212
- nulls: "first" | "last";
212
+ nulls: "last" | "first";
213
213
  }, {
214
214
  target: import('./matrix-definition-contract.js').MatrixSortTarget;
215
215
  scope: {
@@ -234,7 +234,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
234
234
  levelId: string;
235
235
  axis: "columns" | "rows";
236
236
  direction: "asc" | "desc";
237
- nulls: "first" | "last";
237
+ nulls: "last" | "first";
238
238
  }>, "many">>;
239
239
  rankings: z.ZodReadonly<z.ZodArray<z.ZodType<import('./matrix-definition-contract.js').MatrixRanking, z.ZodTypeDef, import('./matrix-definition-contract.js').MatrixRanking>, "many">>;
240
240
  } & {
@@ -313,7 +313,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
313
313
  levelId: string;
314
314
  axis: "columns" | "rows";
315
315
  direction: "asc" | "desc";
316
- nulls: "first" | "last";
316
+ nulls: "last" | "first";
317
317
  }[];
318
318
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
319
319
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -395,7 +395,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
395
395
  levelId: string;
396
396
  axis: "columns" | "rows";
397
397
  direction: "asc" | "desc";
398
- nulls: "first" | "last";
398
+ nulls: "last" | "first";
399
399
  }[];
400
400
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
401
401
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -477,7 +477,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
477
477
  levelId: string;
478
478
  axis: "columns" | "rows";
479
479
  direction: "asc" | "desc";
480
- nulls: "first" | "last";
480
+ nulls: "last" | "first";
481
481
  }[];
482
482
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
483
483
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -559,7 +559,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
559
559
  levelId: string;
560
560
  axis: "columns" | "rows";
561
561
  direction: "asc" | "desc";
562
- nulls: "first" | "last";
562
+ nulls: "last" | "first";
563
563
  }[];
564
564
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
565
565
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -644,7 +644,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
644
644
  levelId: string;
645
645
  axis: "columns" | "rows";
646
646
  direction: "asc" | "desc";
647
- nulls: "first" | "last";
647
+ nulls: "last" | "first";
648
648
  }[];
649
649
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
650
650
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -729,7 +729,7 @@ export declare const matrixOperationRequestSchema: z.ZodObject<{
729
729
  levelId: string;
730
730
  axis: "columns" | "rows";
731
731
  direction: "asc" | "desc";
732
- nulls: "first" | "last";
732
+ nulls: "last" | "first";
733
733
  }[];
734
734
  rankings: readonly import('./matrix-definition-contract.js').MatrixRanking[];
735
735
  filters?: import('../../components/index.js').FilterGroup | undefined;
@@ -90,6 +90,33 @@ export type MatrixWindowOutcome = {
90
90
  status: 'failed';
91
91
  failure: MatrixFailure;
92
92
  };
93
+ /**
94
+ * One present intersection of an indexed block: positions into the block's
95
+ * own coverage lists, then the value. Absent means no data at that
96
+ * intersection; `null` is a present aggregate null.
97
+ */
98
+ export type MatrixIndexedCell = readonly [
99
+ row: number,
100
+ column: number,
101
+ measure: number,
102
+ value: SemaphorScalarValue
103
+ ];
104
+ /** The dashboard's wire form of a cell block: each path is sent once, in coverage. */
105
+ export type MatrixIndexedCellBlock = {
106
+ requestId: string;
107
+ coverage: MatrixCellBlock['coverage'];
108
+ values: readonly MatrixIndexedCell[];
109
+ };
110
+ export type MatrixIndexedWindow = Omit<MatrixWindow, 'blocks'> & {
111
+ blocks: readonly MatrixIndexedCellBlock[];
112
+ };
113
+ export type MatrixIndexedWindowOutcome = {
114
+ status: 'success' | 'partial';
115
+ window: MatrixIndexedWindow;
116
+ } | {
117
+ status: 'failed';
118
+ failure: MatrixFailure;
119
+ };
93
120
  type MatrixWindowInput = {
94
121
  spec: MatrixSpec;
95
122
  request: MatrixWindowRequest;
@@ -98,9 +125,14 @@ type MatrixResult = {
98
125
  kind: 'matrix';
99
126
  window: MatrixWindow;
100
127
  };
101
- /** Shared request ceiling used by client tile sizing and server enforcement. */
128
+ /**
129
+ * Shared ceilings: request coordinates (client tile sizing and server
130
+ * enforcement), and the serialized size of one acquired window at its
131
+ * indexed size, which is what the dashboard receives.
132
+ */
102
133
  export declare const MATRIX_WINDOW_LIMITS: Readonly<{
103
134
  coordinates: 20000;
135
+ responseBytes: number;
104
136
  }>;
105
137
  export declare const matrixPageRequestSchema: z.ZodType<MatrixPageRequest>;
106
138
  export declare const matrixPathSelectionSchema: z.ZodType<MatrixPathSelection>;
@@ -109,6 +141,8 @@ export declare const matrixWindowRequestSchema: z.ZodType<MatrixWindowRequest>;
109
141
  export declare const matrixWindowInputSchema: z.ZodType<MatrixWindowInput>;
110
142
  export declare const matrixAxisPageSchema: z.ZodType<MatrixAxisPage>;
111
143
  export declare const matrixCellBlockSchema: z.ZodType<MatrixCellBlock>;
144
+ /** Positions are checked against coverage; no per-cell path keys are built. */
145
+ export declare const matrixIndexedCellBlockSchema: z.ZodType<MatrixIndexedCellBlock>;
112
146
  export declare const matrixDescriptorSchema: z.ZodObject<{
113
147
  id: z.ZodString;
114
148
  column: z.ZodType<SemaphorResultColumn, z.ZodTypeDef, SemaphorResultColumn>;
@@ -327,8 +361,20 @@ export declare const matrixDescriptorSchema: z.ZodObject<{
327
361
  }>;
328
362
  export declare const matrixFailureSchema: z.ZodType<MatrixFailure>;
329
363
  export declare const matrixCapabilitiesSchema: z.ZodType<MatrixCapabilities>;
330
- export declare const matrixWindowSchema: z.ZodType<MatrixWindow>;
364
+ export declare const matrixWindowSchema: z.ZodType<MatrixWindow, z.ZodTypeDef, MatrixWindow>;
365
+ export declare const matrixIndexedWindowSchema: z.ZodType<MatrixIndexedWindow, z.ZodTypeDef, MatrixIndexedWindow>;
331
366
  export declare const matrixWindowOutcomeSchema: z.ZodType<MatrixWindowOutcome>;
367
+ export declare const matrixIndexedWindowOutcomeSchema: z.ZodType<MatrixIndexedWindowOutcome>;
368
+ /**
369
+ * The indexed wire form of a block. Every cell must be inside coverage (the
370
+ * block schema guarantees it for parsed blocks).
371
+ */
372
+ export declare function encodeMatrixCellBlock(block: MatrixCellBlock): MatrixIndexedCellBlock;
373
+ /** Cells again; their paths are the coverage path objects, not copies. */
374
+ export declare function decodeMatrixCellBlock(block: MatrixIndexedCellBlock): MatrixCellBlock;
375
+ export declare function encodeMatrixWindow(window: MatrixWindow): MatrixIndexedWindow;
376
+ export declare function decodeMatrixWindow(window: MatrixIndexedWindow): MatrixWindow;
377
+ export declare function encodeMatrixWindowOutcome(outcome: MatrixWindowOutcome): MatrixIndexedWindowOutcome;
332
378
  export declare const matrixResultSchema: z.ZodType<MatrixResult>;
333
379
  export type MatrixExportColumn = {
334
380
  kind: 'hierarchy';
@@ -371,15 +417,15 @@ export type MatrixExportRow = {
371
417
  columnPath: MatrixPath;
372
418
  values: readonly MatrixExportValue[];
373
419
  };
374
- type MatrixExportRowInput = Omit<Extract<MatrixExportRow, {
420
+ type MatrixExportRowInput = (Omit<Extract<MatrixExportRow, {
375
421
  kind: 'layout';
376
422
  }>, 'values'> & {
377
423
  values: readonly MatrixExportValueInput[];
378
- } | Omit<Extract<MatrixExportRow, {
424
+ }) | (Omit<Extract<MatrixExportRow, {
379
425
  kind: 'flat';
380
426
  }>, 'values'> & {
381
427
  values: readonly MatrixExportValueInput[];
382
- };
428
+ });
383
429
  export type MatrixExportBatch = {
384
430
  kind: 'layout';
385
431
  layout: MatrixExportLayout;
@@ -74,8 +74,6 @@ export type GlobalDateComparisonContext = {
74
74
  selection: GlobalDateComparisonSelection;
75
75
  inheritGlobalComparison?: false;
76
76
  owner?: DashboardDateComparisonOwner;
77
- /** Fixed execution clock carried by authoritative dashboard replay snapshots. */
78
- referenceTime?: string;
79
77
  };
80
78
  export type ResolvedMetricComparisonRequest = {
81
79
  source: 'explicit';
@@ -95,7 +93,9 @@ export type ResolvedDateWindow = {
95
93
  endExclusive: string;
96
94
  timezone: string;
97
95
  };
98
- export type ComparisonUnavailableReason = 'finite_current_window_required' | 'current_window_not_started' | 'temporal_binding_missing' | 'temporal_binding_ambiguous' | 'temporal_binding_invalid' | 'unsupported_output_shape' | 'unsupported_raw_sql' | 'insufficient_history' | 'invalid_comparison_spec' | 'comparison_execution_failed';
96
+ export type ComparisonUnavailableReason = 'finite_current_window_required' | 'current_window_not_started'
97
+ /** The date ranges the run applies to the field have no instant in common. */
98
+ | 'current_window_empty' | 'temporal_binding_missing' | 'temporal_binding_ambiguous' | 'temporal_binding_invalid' | 'unsupported_output_shape' | 'unsupported_raw_sql' | 'insufficient_history' | 'invalid_comparison_spec' | 'comparison_execution_failed';
99
99
  export type ComparisonAvailability = {
100
100
  status: 'available';
101
101
  } | {
@@ -174,6 +174,12 @@ export declare function validateMetricComparisonSpec(value: unknown, path?: stri
174
174
  export declare function validateMetricComparisonConfig(value: unknown, path?: string): SemaphorValidationResult;
175
175
  export declare function validateGlobalDateComparisonSelection(value: unknown, path?: string): SemaphorValidationResult;
176
176
  export declare function validateGlobalDateComparisonContext(value: unknown, path?: string): SemaphorValidationResult;
177
+ /**
178
+ * A validated comparison context without the legacy `referenceTime`, so no
179
+ * request replays the clock a stored rule or an old client stamped: every
180
+ * operation pins its own instant (analytics kernel K5).
181
+ */
182
+ export declare function withoutLegacyComparisonClock(context: GlobalDateComparisonContext): GlobalDateComparisonContext;
177
183
  export declare function validateMetricComparisonPolarity(value: unknown, path?: string): SemaphorValidationResult;
178
184
  export declare function validateComparisonPresentationSpec(value: unknown, path?: string): SemaphorValidationResult;
179
185
  export declare function evaluateMetricComparison(input: {
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The latest value of a field within a lookup scope, as the database wrote it
4
+ * (never a value passed through a JavaScript `Date`), or `null` when the scope
5
+ * has no rows. It carries no type: the server takes the native type from the
6
+ * field's governed metadata.
7
+ */
8
+ export type DataAnchor = {
9
+ key: string;
10
+ nativeText: string | null;
11
+ };
12
+ /**
13
+ * What one operation fixed: the instant every relative date resolves on, and
14
+ * the data anchors it read. Governed responses report it; requests that
15
+ * continue the operation (a Matrix page or expansion) send it back.
16
+ */
17
+ export type OperationTemporalState = {
18
+ executionInstant: string;
19
+ dataAnchors: DataAnchor[];
20
+ };
21
+ /**
22
+ * Strict. A request may send only `{ executionInstant }`; `dataAnchors`
23
+ * defaults to none. The instant must be a full ISO instant, and anchor keys
24
+ * are unique.
25
+ */
26
+ export declare const operationTemporalStateSchema: z.ZodEffects<z.ZodObject<{
27
+ executionInstant: z.ZodEffects<z.ZodString, string, string>;
28
+ dataAnchors: z.ZodDefault<z.ZodArray<z.ZodObject<{
29
+ key: z.ZodString;
30
+ nativeText: z.ZodNullable<z.ZodString>;
31
+ }, "strict", z.ZodTypeAny, {
32
+ key: string;
33
+ nativeText: string | null;
34
+ }, {
35
+ key: string;
36
+ nativeText: string | null;
37
+ }>, "many">>;
38
+ }, "strict", z.ZodTypeAny, {
39
+ executionInstant: string;
40
+ dataAnchors: {
41
+ key: string;
42
+ nativeText: string | null;
43
+ }[];
44
+ }, {
45
+ executionInstant: string;
46
+ dataAnchors?: {
47
+ key: string;
48
+ nativeText: string | null;
49
+ }[] | undefined;
50
+ }>, {
51
+ executionInstant: string;
52
+ dataAnchors: {
53
+ key: string;
54
+ nativeText: string | null;
55
+ }[];
56
+ }, {
57
+ executionInstant: string;
58
+ dataAnchors?: {
59
+ key: string;
60
+ nativeText: string | null;
61
+ }[] | undefined;
62
+ }>;
63
+ /** The state as parsed, or `undefined` when absent or invalid. */
64
+ export declare function readOperationTemporalState(value: unknown): OperationTemporalState | undefined;
@@ -0,0 +1,61 @@
1
+ import { z } from 'zod';
2
+ /** Calendar units a relative date can count in. */
3
+ export type DateUnit = 'day' | 'week' | 'month' | 'quarter' | 'year';
4
+ /** Sub-day units, used only by rolling `last` windows. */
5
+ export type SubDayDateUnit = 'minute' | 'hour';
6
+ export type RelativeDateUnit = DateUnit | SubDayDateUnit;
7
+ /**
8
+ * A date window stated relative to an anchor ("now" or a pinned instant).
9
+ * Dashboard filters carry it as `TFilterValue.relativeMeta` and card filters as
10
+ * `FilterCondition.relativeMeta`; the server resolves it on every run in the
11
+ * governed calendar.
12
+ */
13
+ export type RelativeDateFilter = {
14
+ mode: 'last';
15
+ n: number;
16
+ unit: SubDayDateUnit;
17
+ complete?: false;
18
+ relativeTo?: RelativeDateAnchor;
19
+ } | {
20
+ mode: 'last';
21
+ n: number;
22
+ unit: DateUnit;
23
+ complete?: boolean;
24
+ relativeTo?: RelativeDateAnchor;
25
+ } | {
26
+ mode: 'this';
27
+ unit: DateUnit;
28
+ toDate?: boolean;
29
+ /** Only used with unit=month for single-day month-boundary presets. */
30
+ boundary?: 'first_day' | 'last_day';
31
+ } | {
32
+ mode: 'previous';
33
+ unit: DateUnit;
34
+ } | {
35
+ mode: 'between';
36
+ unit: DateUnit;
37
+ from: number;
38
+ to: number;
39
+ };
40
+ /**
41
+ * What a `last` window counts back from. Omitted means now (or a pinned
42
+ * instant); `'latest_data'` means the latest value of the window's own field
43
+ * in its lookup scope (analytics kernel K11). Only agents author it.
44
+ */
45
+ export type RelativeDateAnchor = 'latest_data';
46
+ /** A `last` window that counts back from the latest data (K11). */
47
+ export type DataRelativeDateFilter = Extract<RelativeDateFilter, {
48
+ mode: 'last';
49
+ }> & {
50
+ relativeTo: 'latest_data';
51
+ };
52
+ /**
53
+ * A window that counts back from the latest data instead of from now (K11):
54
+ * the one test every reader uses. It reads any value, so callers can pass a
55
+ * field they have not validated.
56
+ */
57
+ export declare function isDataRelativeDateFilter(meta: unknown): meta is DataRelativeDateFilter;
58
+ /** A relative date belongs only on a range condition (plan D3). */
59
+ export declare function allowsRelativeDate(operator: string): boolean;
60
+ /** Strict schema for a persisted `RelativeDateFilter`. */
61
+ export declare const relativeDateFilterSchema: z.ZodType<RelativeDateFilter>;
@@ -0,0 +1,20 @@
1
+ import { RelativeDateFilter } from './relative-date-filter.js';
2
+ /** The preset a relative date is, or null when it isn't one. */
3
+ export declare function findPresetLabel(meta: RelativeDateFilter | undefined): string | null;
4
+ /** One offset as an option label: "Today", "Last month", "6 days ago". */
5
+ export declare function getRelativeOffsetLabel(offset: number, unit: RelativeDateFilter['unit']): string;
6
+ /**
7
+ * Format a `RelativeDateFilter` meta into a human-readable label.
8
+ *
9
+ * 1. First tries to reverse-match against `presetMetadata` so canonical
10
+ * presets (Today, Last 7 days, This week, …) round-trip back to the
11
+ * same wording the user originally clicked.
12
+ * 2. Falls back to a generated label for ad-hoc relative ranges that
13
+ * aren't in the preset list (e.g., from the Relative tab's custom
14
+ * From/To dropdowns).
15
+ *
16
+ * Returns null if the meta can't be sensibly labelled.
17
+ */
18
+ export declare function getRelativeDateLabel(meta: RelativeDateFilter | undefined): string | null;
19
+ export declare function relativeMetaEquals(a: RelativeDateFilter, b: RelativeDateFilter): boolean;
20
+ export declare const presetMetadata: Record<string, RelativeDateFilter>;
@@ -1,7 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { SemaphorAnalyzeResult } from './analyze-result-types.js';
3
3
  import { SemaphorAnalyticsDiagnosticFeedback, SemaphorAnalyticsExecutionResult, SemaphorAnalyticsPopulation, SemaphorAnalyticsResult, SemaphorRelationshipDiagnostics } from './contracts.js';
4
- import { SemaphorDataAppCodegenSummary } from './data-app-codegen-summary.js';
5
4
  export * from './analytics-base-schemas.js';
6
5
  export { matrixResultSchema as semaphorMatrixResultSchema } from './matrix-window-contract.js';
7
6
  export declare const semaphorAnalyticsResultSchema: z.ZodType<SemaphorAnalyticsResult>;
@@ -3370,4 +3369,3 @@ export declare const analyticsExecutionEnvelopeSchema: z.ZodObject<{
3370
3369
  export declare const semaphorAnalyticsExecutionResultSchema: z.ZodType<SemaphorAnalyticsExecutionResult>;
3371
3370
  export declare const semaphorAnalyzeResultShape: z.ZodRawShape;
3372
3371
  export declare const semaphorAnalyzeResultSchema: z.ZodType<SemaphorAnalyzeResult>;
3373
- export declare const semaphorDataAppCodegenSummarySchema: z.ZodType<SemaphorDataAppCodegenSummary>;