react-semaphor 0.1.449 → 0.1.454

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 (147) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +119 -112
  3. package/dist/appearance/index.cjs +1 -1
  4. package/dist/appearance/index.js +1 -1
  5. package/dist/brand-studio/index.cjs +4 -4
  6. package/dist/brand-studio/index.js +15 -13
  7. package/dist/briefings/index.cjs +1 -1
  8. package/dist/briefings/index.js +39 -2131
  9. package/dist/chunks/{analyze-result-contract-T-0Ntzys.js → analyze-result-contract-BbRJ-C06.js} +1 -1
  10. package/dist/chunks/{analyze-result-contract-BHb7sUUW.cjs → analyze-result-contract-LPDNldic.cjs} +1 -1
  11. package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +1 -0
  12. package/dist/chunks/canonical-result-keys-D6avdjpA.js +467 -0
  13. package/dist/chunks/color-CJvdlFM_.js +2162 -0
  14. package/dist/chunks/color-CyB5o13F.cjs +4 -0
  15. package/dist/chunks/{common-types-CQ6SHfLk.cjs → common-types-C57kJ59w.cjs} +1 -1
  16. package/dist/chunks/{common-types-B7Jk3Rtj.js → common-types-H51FLKB7.js} +1 -1
  17. package/dist/chunks/contracts-CoCOpd_i.js +11 -0
  18. package/dist/chunks/contracts-CtB2VONT.cjs +1 -0
  19. package/dist/chunks/dashboard-briefing-launcher-Dwj1i7lr.cjs +26 -0
  20. package/dist/chunks/{dashboard-briefing-launcher-DCHiEkLE.js → dashboard-briefing-launcher-SYroFdae.js} +86 -84
  21. package/dist/chunks/{dashboard-controls-DwRFCcHV.js → dashboard-controls-1LpeU2sz.js} +15 -13
  22. package/dist/chunks/{dashboard-controls-CaFioayc.cjs → dashboard-controls-CpFoh7-A.cjs} +1 -1
  23. package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +1 -0
  24. package/dist/chunks/{dashboard-date-comparison-definition-Ba-clViK.js → dashboard-date-comparison-definition-DC3ekV2S.js} +1 -1
  25. package/dist/chunks/{dashboard-json-WoILbfTe.js → dashboard-json-D-T-sQxU.js} +25 -23
  26. package/dist/chunks/dashboard-json-DwSQopc_.cjs +1 -0
  27. package/dist/chunks/edit-dashboard-visual-BEmoQAET.cjs +172 -0
  28. package/dist/chunks/{edit-dashboard-visual-ciFhxqaI.js → edit-dashboard-visual-DqxUq4Bs.js} +6925 -6947
  29. package/dist/chunks/editor-action-buttons-18r2xwei.cjs +16 -0
  30. package/dist/chunks/{editor-action-buttons-BPo_45pM.js → editor-action-buttons-B2l3WIRC.js} +41 -39
  31. package/dist/chunks/format-types-CFHQoIuk.js +1350 -0
  32. package/dist/chunks/format-types-PSZZ7hG8.cjs +1 -0
  33. package/dist/chunks/index-Bn5wlkHt.cjs +4 -0
  34. package/dist/chunks/index-ByFbacH7.cjs +1 -0
  35. package/dist/chunks/index-CACdoqu3.js +318 -0
  36. package/dist/chunks/index-CLB_NGZ8.cjs +1392 -0
  37. package/dist/chunks/index-Ca784dpx.js +3714 -0
  38. package/dist/chunks/{index-CPuawpXJ.js → index-DAoS4BNU.js} +48514 -48484
  39. package/dist/chunks/index-DSKR3nKn.js +421 -0
  40. package/dist/chunks/index-F25jnH0p.cjs +1 -0
  41. package/dist/chunks/matrix-result-contract-CofATICL.js +437 -0
  42. package/dist/chunks/matrix-result-contract-zamd9euI.cjs +1 -0
  43. package/dist/chunks/pivot-header-presentation-DhyQXxKq.cjs +4 -0
  44. package/dist/chunks/pivot-header-presentation-ckYOQ4aZ.js +557 -0
  45. package/dist/chunks/{pivot-result-identity-CDLRT-YG.cjs → pivot-result-identity-Bb4EixVN.cjs} +1 -1
  46. package/dist/chunks/{pivot-result-identity-CwJWpKI7.js → pivot-result-identity-DU1v-5Xk.js} +1 -1
  47. package/dist/chunks/pivot-result-lifecycle-DmcF1ris.cjs +1 -0
  48. package/dist/chunks/pivot-result-lifecycle-sjzIOpvp.js +1641 -0
  49. package/dist/chunks/raw-temporal-contract-BtjH_G-d.cjs +1 -0
  50. package/dist/chunks/raw-temporal-contract-CxncLze5.js +64 -0
  51. package/dist/chunks/report-preferences-dialog-BgSvlDXa.cjs +1 -0
  52. package/dist/chunks/report-preferences-dialog-DDc2WUa0.js +723 -0
  53. package/dist/chunks/{report-runtime-context-C8LZFsqV.cjs → report-runtime-context-DqxS4wbi.cjs} +1 -1
  54. package/dist/chunks/{report-runtime-context-bCy3CVzK.js → report-runtime-context-SM6YO61_.js} +5 -5
  55. package/dist/chunks/saved-temporal-bucket-format-CFfWXRl9.cjs +1 -0
  56. package/dist/chunks/saved-temporal-bucket-format-SGAV0ivR.js +922 -0
  57. package/dist/chunks/{switch-BXet-Sno.js → switch-BeZW-HnS.js} +4350 -5249
  58. package/dist/chunks/switch-D-CCcfhc.cjs +138 -0
  59. package/dist/chunks/temporal-bucket-5UYEotyQ.js +810 -0
  60. package/dist/chunks/temporal-bucket-DHY1y9lq.cjs +1 -0
  61. package/dist/chunks/temporal-bucket-authoring-K1kE6R_z.js +222 -0
  62. package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +1 -0
  63. package/dist/chunks/{temporal-bucket-contract-ChDBWX8I.cjs → temporal-bucket-contract-D2-93DGr.cjs} +1 -1
  64. package/dist/chunks/{temporal-bucket-contract-_F6vNhhH.js → temporal-bucket-contract-D5d-xEl3.js} +1 -1
  65. package/dist/chunks/{token-types-BdQ8kHBm.cjs → token-types-D7CaaI80.cjs} +1 -1
  66. package/dist/chunks/{token-types-BHR58aTy.js → token-types-GbxRUozo.js} +1 -1
  67. package/dist/chunks/{update-policy-BxvYMYz0.cjs → update-policy-BmiOd0PB.cjs} +1 -1
  68. package/dist/chunks/{update-policy-g0rCQ9BM.js → update-policy-hednMF-0.js} +1 -1
  69. package/dist/chunks/validators-BDYprKI9.cjs +1 -0
  70. package/dist/chunks/{validators-Cs74WVie.js → validators-DEmd8Sin.js} +1561 -1197
  71. package/dist/dashboard/index.cjs +1 -1
  72. package/dist/dashboard/index.js +2 -2
  73. package/dist/dashboard-authoring/index.cjs +3 -3
  74. package/dist/dashboard-authoring/index.js +35 -32
  75. package/dist/data-app-builder/index.cjs +1 -1
  76. package/dist/data-app-builder/index.js +2 -2
  77. package/dist/data-app-codegen/index.cjs +1 -1
  78. package/dist/data-app-codegen/index.js +2 -2
  79. package/dist/data-app-codegen-node/index.cjs +1 -1
  80. package/dist/data-app-codegen-node/index.js +3 -3
  81. package/dist/data-app-sdk/index.cjs +1 -1
  82. package/dist/data-app-sdk/index.js +78 -77
  83. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  84. package/dist/data-app-sdk-adapters/index.js +29 -30
  85. package/dist/data-app-sdk-validation/index.cjs +1 -1
  86. package/dist/data-app-sdk-validation/index.js +21 -21
  87. package/dist/format-utils/index.cjs +3 -3
  88. package/dist/format-utils/index.js +156 -140
  89. package/dist/index.cjs +1 -1
  90. package/dist/index.js +157 -155
  91. package/dist/report-runtime-context/index.cjs +1 -1
  92. package/dist/report-runtime-context/index.js +2 -2
  93. package/dist/style.css +1 -1
  94. package/dist/surfboard/index.cjs +1 -1
  95. package/dist/surfboard/index.js +3 -3
  96. package/dist/types/analytics-protocol.d.ts +81 -11
  97. package/dist/types/briefings.d.ts +727 -19
  98. package/dist/types/dashboard-assistant.d.ts +37 -17
  99. package/dist/types/dashboard-authoring.d.ts +61 -14
  100. package/dist/types/dashboard.d.ts +137 -12
  101. package/dist/types/data-app-builder.d.ts +28 -2
  102. package/dist/types/data-app-codegen-node.d.ts +29 -3
  103. package/dist/types/data-app-codegen.d.ts +29 -3
  104. package/dist/types/data-app-sdk-adapters.d.ts +28 -2
  105. package/dist/types/data-app-sdk-validation.d.ts +51 -7
  106. package/dist/types/data-app-sdk.d.ts +55 -10
  107. package/dist/types/format-utils.d.ts +190 -3
  108. package/dist/types/index.cjs +1 -1
  109. package/dist/types/index.js +4 -4
  110. package/dist/types/main.d.ts +128 -33
  111. package/dist/types/shared.d.ts +14 -12
  112. package/dist/types/surfboard.d.ts +138 -13
  113. package/dist/types/types.d.ts +117 -23
  114. package/dist/types/value-format-preferences.d.ts +3 -0
  115. package/package.json +2 -1
  116. package/dist/chunks/card-config-utils-15sRtebL.cjs +0 -1
  117. package/dist/chunks/card-config-utils-BYZ5MJOh.js +0 -16
  118. package/dist/chunks/catalog-field-grounding-Bnx-3tE0.cjs +0 -1
  119. package/dist/chunks/catalog-field-grounding-S2jKwKGD.js +0 -100
  120. package/dist/chunks/dashboard-briefing-launcher-DDgDr2s3.cjs +0 -26
  121. package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +0 -1
  122. package/dist/chunks/dashboard-input-contract-DSt8dGzP.js +0 -18
  123. package/dist/chunks/dashboard-input-contract-DV3cshjz.cjs +0 -1
  124. package/dist/chunks/dashboard-json-CYtvwtvj.cjs +0 -1
  125. package/dist/chunks/edit-dashboard-visual-DwKcvlsF.cjs +0 -177
  126. package/dist/chunks/editor-action-buttons-BVmsk0Aj.cjs +0 -16
  127. package/dist/chunks/format-types-CSv0V7mm.cjs +0 -1
  128. package/dist/chunks/format-types-DZGgYj39.js +0 -1663
  129. package/dist/chunks/index-CJdxSyQq.js +0 -2578
  130. package/dist/chunks/index-DPv8_Ild.cjs +0 -1395
  131. package/dist/chunks/index-DRlMUglg.cjs +0 -4
  132. package/dist/chunks/metric-comparison-97zHGEx5.js +0 -387
  133. package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +0 -1
  134. package/dist/chunks/pivot-result-lifecycle-BBabQ_da.js +0 -914
  135. package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +0 -4
  136. package/dist/chunks/presentation-execution-BLfPTGX_.js +0 -637
  137. package/dist/chunks/presentation-execution-BTV-Q43g.cjs +0 -1
  138. package/dist/chunks/report-preferences-dialog-D9ZCGh9l.js +0 -691
  139. package/dist/chunks/report-preferences-dialog-DaqTEcac.cjs +0 -1
  140. package/dist/chunks/switch-Cjk6G06r.cjs +0 -138
  141. package/dist/chunks/temporal-bucket-BnPxGrAi.js +0 -446
  142. package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +0 -1
  143. package/dist/chunks/temporal-bucket-authoring-CgOuakGW.js +0 -205
  144. package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +0 -1
  145. package/dist/chunks/temporal-result-owner-6peubmhU.js +0 -443
  146. package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +0 -1
  147. package/dist/chunks/validators-9D4KBqKD.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DPv8_Ild.cjs"),r=require("../chunks/common-types-CQ6SHfLk.cjs"),o=require("../chunks/report-preferences-dialog-DaqTEcac.cjs");exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.Surfboard=e.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=r.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;exports.ReportPreferencesDialog=o.ReportPreferencesDialog;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-CLB_NGZ8.cjs"),r=require("../chunks/common-types-C57kJ59w.cjs"),o=require("../chunks/report-preferences-dialog-BgSvlDXa.cjs");exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.Surfboard=e.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=r.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;exports.ReportPreferencesDialog=o.ReportPreferencesDialog;
@@ -1,6 +1,6 @@
1
- import { b as a, a as o } from "../chunks/index-CPuawpXJ.js";
2
- import { C as f, E } from "../chunks/common-types-B7Jk3Rtj.js";
3
- import { R as t } from "../chunks/report-preferences-dialog-D9ZCGh9l.js";
1
+ import { b as a, a as o } from "../chunks/index-DAoS4BNU.js";
2
+ import { C as f, E } from "../chunks/common-types-H51FLKB7.js";
3
+ import { R as t } from "../chunks/report-preferences-dialog-DDc2WUa0.js";
4
4
  export {
5
5
  f as CONTROL_CARD_DEFAULT_VALUE,
6
6
  a as DisplayFormatPreferencesFields,
@@ -235,6 +235,7 @@ export declare type MatrixAxisLevelDescriptor = {
235
235
  label: string;
236
236
  field: SemaphorFieldRef;
237
237
  grain?: SemaphorMatrixTimeGrain;
238
+ temporalBucket?: TemporalBucketMetadata;
238
239
  subtotal?: SemaphorMatrixSubtotalOptions;
239
240
  };
240
241
 
@@ -355,7 +356,8 @@ export declare type MatrixGridCell = {
355
356
 
356
357
  export declare type MatrixGridColumn = {
357
358
  id: string;
358
- label: string;
359
+ /** Present only for measure and explicit total headings. */
360
+ label?: string;
359
361
  columnNodeId?: string;
360
362
  columnPath: MatrixMemberPathSegment[];
361
363
  measureInstanceId: string;
@@ -364,7 +366,8 @@ export declare type MatrixGridColumn = {
364
366
 
365
367
  export declare type MatrixGridHeaderCell = {
366
368
  id: string;
367
- label: string;
369
+ /** Present only for non-member headings and explicit total labels. */
370
+ label?: string;
368
371
  role: 'rowHeader' | 'columnHeader' | 'measureHeader' | 'subtotal' | 'grandTotal';
369
372
  colSpan: number;
370
373
  rowSpan: number;
@@ -378,7 +381,7 @@ export declare type MatrixGridHeaderRow = {
378
381
  };
379
382
 
380
383
  export declare type MatrixGridProjection = {
381
- schemaVersion: 1;
384
+ schemaVersion: 2;
382
385
  shape: MatrixShape;
383
386
  rowHeaderLevels: MatrixGridRowHeaderLevel[];
384
387
  columnHeaderRows: MatrixGridHeaderRow[];
@@ -391,7 +394,8 @@ export declare type MatrixGridRow = {
391
394
  rowNodeId: string;
392
395
  rowPath: MatrixMemberPathSegment[];
393
396
  depth: number;
394
- label: string;
397
+ /** Present only for non-temporal members and explicit total labels. */
398
+ label?: string;
395
399
  role: 'value' | 'rowSubtotal' | 'rowGrandTotal';
396
400
  isExpanded?: boolean;
397
401
  hasChildren?: boolean;
@@ -447,7 +451,8 @@ export declare type MatrixMemberPathSegment = {
447
451
  instanceId: string;
448
452
  fieldKey: string;
449
453
  value: unknown;
450
- label: string;
454
+ /** Display-only source label for non-temporal members. */
455
+ label?: string;
451
456
  };
452
457
 
453
458
  export declare type MatrixNode = {
@@ -455,7 +460,8 @@ export declare type MatrixNode = {
455
460
  axis: 'row' | 'column';
456
461
  path: MatrixMemberPathSegment[];
457
462
  level: number;
458
- label: string;
463
+ /** Present only for non-temporal members and explicit total labels. */
464
+ label?: string;
459
465
  value: unknown;
460
466
  parentId?: string;
461
467
  hasChildren: boolean;
@@ -484,7 +490,7 @@ export declare type MatrixPageInfo = {
484
490
 
485
491
  export declare type MatrixPayload = {
486
492
  kind: 'matrixPayload';
487
- schemaVersion: 1;
493
+ schemaVersion: 2;
488
494
  shape: MatrixShape;
489
495
  capabilities: MatrixCapability[];
490
496
  executionMetadata: MatrixExecutionMetadata;
@@ -527,6 +533,18 @@ export declare type MatrixResultCell = {
527
533
  calculationId?: string;
528
534
  };
529
535
 
536
+ export declare class MatrixResultContractError extends Error {
537
+ readonly code: MatrixResultContractErrorCode;
538
+ readonly path?: string;
539
+ constructor(input: {
540
+ code: MatrixResultContractErrorCode;
541
+ message: string;
542
+ path?: string;
543
+ });
544
+ }
545
+
546
+ export declare type MatrixResultContractErrorCode = 'invalid_matrix_result_contract' | 'unsupported_matrix_result_version';
547
+
530
548
  export declare type MatrixShape = 'hierarchical' | 'pivot';
531
549
 
532
550
  export declare type MatrixTotals = {
@@ -669,6 +687,17 @@ export declare function normalizeSemaphorDialect(input: string | undefined): Sem
669
687
 
670
688
  export declare function normalizeSemaphorInputOperator(value: SemaphorInputOperator | string | null | undefined): SemaphorInputOperator | undefined;
671
689
 
690
+ /**
691
+ * The only serialized Matrix result boundary. It validates the structural
692
+ * schema and the cross-field identity invariants that a shape-only schema
693
+ * cannot express. Callers pass the returned object to downstream consumers;
694
+ * they do not inspect or reconstruct unparsed Matrix envelopes.
695
+ */
696
+ export declare function parseCanonicalMatrixResult(input: unknown): SemaphorMatrixResult;
697
+
698
+ /** Strictly parses one raw temporal descriptor at a result boundary. */
699
+ export declare function parseRawTemporalValueMetadata(input: unknown): RawTemporalValueMetadata;
700
+
672
701
  export declare function parseSemaphorAnalyzeResult(value: unknown): SemaphorAnalyzeResult;
673
702
 
674
703
  export declare function parseSemaphorIsoInstant(value: unknown): Date | null;
@@ -679,6 +708,31 @@ export declare function preferSemaphorFieldRefMetadata(current: SemaphorFieldRef
679
708
 
680
709
  export declare function preferSemaphorSourceMetadata(current: SemaphorSourceRef, next: SemaphorSourceRef): SemaphorSourceRef;
681
710
 
711
+ export declare const RAW_TEMPORAL_CONTRACT_ERROR_CODES: {
712
+ readonly invalidMetadata: "invalid_raw_temporal_metadata";
713
+ };
714
+
715
+ export declare type RawTemporalContractErrorCode = (typeof RAW_TEMPORAL_CONTRACT_ERROR_CODES)[keyof typeof RAW_TEMPORAL_CONTRACT_ERROR_CODES];
716
+
717
+ export declare class RawTemporalMetadataContractError extends Error {
718
+ readonly code: RawTemporalContractErrorCode;
719
+ constructor(message: string);
720
+ }
721
+
722
+ /** Authoritative meaning of one ungrouped temporal result column. */
723
+ export declare type RawTemporalValueKind = 'date' | 'wall_datetime' | 'instant';
724
+
725
+ /**
726
+ * Result-column metadata for an ungrouped temporal value. This descriptor is
727
+ * mutually exclusive with grouped `temporalBucket` metadata.
728
+ */
729
+ export declare type RawTemporalValueMetadata = {
730
+ kind: 'raw_temporal';
731
+ valueKind: RawTemporalValueKind;
732
+ };
733
+
734
+ export declare const rawTemporalValueMetadataSchema: z.ZodType<RawTemporalValueMetadata>;
735
+
682
736
  export declare function resolveDashboardDateComparisonFilterDefinition(filter: unknown): DashboardDateComparisonDefinitionResolution;
683
737
 
684
738
  export declare function resolveDashboardDateComparisonInputDefinition(input: unknown): DashboardDateComparisonDefinitionResolution;
@@ -2649,7 +2703,7 @@ export declare type SemaphorDataAppCodegenMatrixIntent = {
2649
2703
 
2650
2704
  export declare type SemaphorDataAppCodegenMatrixSortRule = Omit<SemaphorMatrixSortRule, 'by'> & {
2651
2705
  by: {
2652
- kind: 'label';
2706
+ kind: 'member';
2653
2707
  } | {
2654
2708
  kind: 'field';
2655
2709
  field: SemaphorDataAppCodegenFieldRef;
@@ -3216,6 +3270,8 @@ export declare type SemaphorMatrixAxisLevel = {
3216
3270
  id?: string;
3217
3271
  field: SemaphorFieldRef;
3218
3272
  grain?: SemaphorMatrixTimeGrain;
3273
+ format?: TemporalBucketFormat;
3274
+ semanticTemporalPresentation?: SemaphorMatrixSemanticTemporalPresentation;
3219
3275
  label?: string;
3220
3276
  subtotal?: boolean | SemaphorMatrixSubtotalOptions;
3221
3277
  sortBy?: SemaphorMatrixAxisSortRule;
@@ -3224,7 +3280,7 @@ export declare type SemaphorMatrixAxisLevel = {
3224
3280
  export declare type SemaphorMatrixAxisSortRule = {
3225
3281
  direction: 'asc' | 'desc';
3226
3282
  by: {
3227
- kind: 'label';
3283
+ kind: 'member';
3228
3284
  } | {
3229
3285
  kind: 'field';
3230
3286
  field: SemaphorFieldRef;
@@ -3281,7 +3337,7 @@ export declare type SemaphorMatrixMemberPathSegment = {
3281
3337
 
3282
3338
  export declare type SemaphorMatrixResult = SemaphorAnalyticsResultBase & {
3283
3339
  kind: 'matrix';
3284
- schemaVersion: 1;
3340
+ schemaVersion: 2;
3285
3341
  intent?: SemaphorMatrixIntent;
3286
3342
  shape: MatrixShape;
3287
3343
  capabilities: MatrixCapability[];
@@ -3305,12 +3361,17 @@ export declare type SemaphorMatrixResult = SemaphorAnalyticsResultBase & {
3305
3361
 
3306
3362
  export declare const semaphorMatrixResultSchema: z.ZodType<SemaphorMatrixResult>;
3307
3363
 
3364
+ export declare type SemaphorMatrixSemanticTemporalPresentation = {
3365
+ granularity: SemaphorMatrixTimeGrain;
3366
+ format: TemporalBucketFormat;
3367
+ };
3368
+
3308
3369
  export declare type SemaphorMatrixSortRule = {
3309
3370
  axis: 'row' | 'column';
3310
3371
  targetId?: string;
3311
3372
  direction: 'asc' | 'desc';
3312
3373
  by: {
3313
- kind: 'label';
3374
+ kind: 'member';
3314
3375
  } | {
3315
3376
  kind: 'field';
3316
3377
  field: SemaphorFieldRef;
@@ -3979,6 +4040,7 @@ export declare type SemaphorResultColumn = {
3979
4040
  source?: SemaphorFieldRef['source'];
3980
4041
  derivedField?: SemaphorDerivedFieldDefinition;
3981
4042
  temporalBucket?: TemporalBucketMetadata;
4043
+ rawTemporal?: RawTemporalValueMetadata;
3982
4044
  pivotIdentity?: SemaphorPivotResultColumnIdentity;
3983
4045
  };
3984
4046
 
@@ -4447,6 +4509,14 @@ export declare function validateMetricComparisonPolarity(value: unknown, path?:
4447
4509
 
4448
4510
  export declare function validateMetricComparisonSpec(value: unknown, path?: string): SemaphorValidationResult;
4449
4511
 
4512
+ /**
4513
+ * Validates descriptor exclusivity and datatype compatibility without
4514
+ * inferring temporal meaning from a value or display label.
4515
+ */
4516
+ export declare function validateRawTemporalResultColumn(column: Pick<SemaphorResultColumn, 'dataType' | 'rawTemporal' | 'temporalBucket'>, options: {
4517
+ metadataRequired: boolean;
4518
+ }): RawTemporalValueMetadata | undefined;
4519
+
4450
4520
  export declare function validateSemaphorAnalyticsIntent(intent: SemaphorAnalyticsIntent): SemaphorAnalyticsValidationResult;
4451
4521
 
4452
4522
  export declare function validateSemaphorAnalyticsRecoveryPlan(plan: SemaphorAnalyticsRecoveryPlan): SemaphorAnalyticsValidationResult;