react-semaphor 0.1.368 → 0.1.370

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 (65) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +1 -1
  3. package/dist/brand-studio/index.cjs +5 -5
  4. package/dist/brand-studio/index.js +24 -23
  5. package/dist/chunks/{braces-Cc86y9Ov.js → braces-C3-w6xDL.js} +1 -1
  6. package/dist/chunks/{braces-CXvY9MwQ.js → braces-C8QqW4wu.js} +1 -1
  7. package/dist/chunks/{calendar-preferences-dialog-BOFlzOJg.js → calendar-preferences-dialog-6q51A6XC.js} +3 -3
  8. package/dist/chunks/{calendar-preferences-dialog-ZzwfJv2J.js → calendar-preferences-dialog-CUGzkNcE.js} +1 -1
  9. package/dist/chunks/{chevrons-up-down-CUZL1zaU.js → chevrons-up-down-CnCSGY02.js} +1 -1
  10. package/dist/chunks/{chevrons-up-down-qQMadOWA.js → chevrons-up-down-DSvLu4Ye.js} +1 -1
  11. package/dist/chunks/{dashboard-briefing-launcher-9-PCYMjR.js → dashboard-briefing-launcher-BEZnvIla.js} +1 -1
  12. package/dist/chunks/{dashboard-briefing-launcher-D2lBFqAd.js → dashboard-briefing-launcher-ptERmNJr.js} +176 -177
  13. package/dist/chunks/{dashboard-controls-D4bUHAjX.js → dashboard-controls-CGt6_hMf.js} +11 -11
  14. package/dist/chunks/{dashboard-controls-BIk094Ah.js → dashboard-controls-CqKC5oEk.js} +77 -77
  15. package/dist/chunks/{dashboard-json-DImOf512.js → dashboard-json-6SgPm_QW.js} +13 -14
  16. package/dist/chunks/dashboard-json-CYSbOdmE.js +1 -0
  17. package/dist/chunks/{edit-dashboard-visual-DTxkV6Fl.js → edit-dashboard-visual-ByQx_M2i.js} +8 -9
  18. package/dist/chunks/{edit-dashboard-visual-BHKlcqQR.js → edit-dashboard-visual-w6hKbjlw.js} +1 -1
  19. package/dist/chunks/index-BtqYNH_S.js +1361 -0
  20. package/dist/chunks/{index-BVEIk-rB.js → index-CPyEi9gS.js} +72498 -76193
  21. package/dist/chunks/{palette-DPuAc82h.js → palette-D-f4-82S.js} +1 -1
  22. package/dist/chunks/{palette-C1k347Tb.js → palette-DUGktM-M.js} +1 -1
  23. package/dist/chunks/{resource-management-panel-BeHceP2D.js → resource-management-panel-Bf8-3eUf.js} +1 -1
  24. package/dist/chunks/{resource-management-panel-BOfbSf48.js → resource-management-panel-mJ84NxzC.js} +152 -152
  25. package/dist/chunks/save-D3YYinDz.js +6 -0
  26. package/dist/chunks/save-kkBEBeLg.js +21 -0
  27. package/dist/chunks/{switch-xcWLtWs0.js → switch-Dkx2qEOr.js} +758 -776
  28. package/dist/chunks/{switch-C0S63HAv.js → switch-fIkmwzUt.js} +27 -32
  29. package/dist/chunks/{use-create-flow-overlay-state-B5FygfQL.js → use-create-flow-overlay-state-BfoXDDrd.js} +190 -189
  30. package/dist/chunks/use-create-flow-overlay-state-c6rCm36x.js +26 -0
  31. package/dist/chunks/{use-visual-utils-DxDE8S8M.js → use-visual-utils-C_c-aiqi.js} +1 -1
  32. package/dist/chunks/{use-visual-utils-CszWnFBW.js → use-visual-utils-NN0e3fBP.js} +13 -13
  33. package/dist/chunks/validation-DYL3ArlL.js +1 -0
  34. package/dist/chunks/validation-PPSpYtVf.js +900 -0
  35. package/dist/chunks/validators-CgxWT8UX.js +1 -0
  36. package/dist/chunks/validators-DBNa-eb1.js +1799 -0
  37. package/dist/dashboard/index.cjs +1 -1
  38. package/dist/dashboard/index.js +1 -1
  39. package/dist/dashboard-authoring/index.cjs +1 -1
  40. package/dist/dashboard-authoring/index.js +1 -1
  41. package/dist/data-app-builder/index.cjs +51 -1
  42. package/dist/data-app-builder/index.js +3666 -2
  43. package/dist/data-app-sdk/index.cjs +1 -1
  44. package/dist/data-app-sdk/index.js +661 -389
  45. package/dist/data-app-sdk-validation/index.cjs +1 -1
  46. package/dist/data-app-sdk-validation/index.js +4 -4
  47. package/dist/index.cjs +1 -1
  48. package/dist/index.js +14 -14
  49. package/dist/surfboard/index.cjs +1 -1
  50. package/dist/surfboard/index.js +2 -2
  51. package/dist/types/analytics-protocol.d.ts +472 -3
  52. package/dist/types/dashboard-assistant.d.ts +469 -3
  53. package/dist/types/dashboard-authoring.d.ts +170 -2
  54. package/dist/types/data-app-builder.d.ts +167 -2
  55. package/dist/types/data-app-sdk-validation.d.ts +576 -25
  56. package/dist/types/data-app-sdk.d.ts +655 -37
  57. package/dist/types/main.d.ts +167 -2
  58. package/package.json +1 -1
  59. package/dist/chunks/dashboard-json-Bo1kX6W1.js +0 -1
  60. package/dist/chunks/index-HjDeEytV.js +0 -1411
  61. package/dist/chunks/use-create-flow-overlay-state-DOXTbTcQ.js +0 -26
  62. package/dist/chunks/validation-CrUjNWby.js +0 -689
  63. package/dist/chunks/validation-DGl8wnTt.js +0 -1
  64. package/dist/chunks/validators-Dq5X4mp0.js +0 -1
  65. package/dist/chunks/validators-L0xEXtjf.js +0 -965
@@ -1828,7 +1828,7 @@ declare type SemaphorAnalyticsFilterBase = {
1828
1828
 
1829
1829
  declare type SemaphorAnalyticsFilterOperator = SemaphorInputOperator | 'not_contains' | 'is_null' | 'is_not_null';
1830
1830
 
1831
- declare type SemaphorAnalyticsIntent = SemaphorMetricIntent | SemaphorRecordsIntent | SemaphorInputOptionsIntent | SemaphorSqlIntent;
1831
+ declare type SemaphorAnalyticsIntent = SemaphorMetricIntent | SemaphorRecordsIntent | SemaphorInputOptionsIntent | SemaphorSqlIntent | SemaphorMatrixIntent;
1832
1832
 
1833
1833
  declare type SemaphorAnalyticsNullFilter = SemaphorAnalyticsFilterBase & {
1834
1834
  operator: SemaphorAnalyticsNullFilterOperator;
@@ -1871,6 +1871,14 @@ declare type SemaphorDashboardViewIntent = {
1871
1871
 
1872
1872
  declare type SemaphorDialect = 'postgres' | 'mysql' | 'mssql' | 'snowflake' | 'clickhouse' | 'bigquery' | 'redshift' | 'duckdb' | 'sqlite' | 'unknown';
1873
1873
 
1874
+ /**
1875
+ * Explorer-backed table source. This is intentionally distinct from raw SQL:
1876
+ * matrix planning needs stable source metadata, fields, and dialect context.
1877
+ */
1878
+ declare type SemaphorExplorerSourceRef = Extract<SemaphorSourceRef, {
1879
+ kind: 'physical';
1880
+ }>;
1881
+
1874
1882
  declare type SemaphorFieldRef = {
1875
1883
  name: string;
1876
1884
  label?: string;
@@ -1882,6 +1890,9 @@ declare type SemaphorFieldRef = {
1882
1890
 
1883
1891
  declare type SemaphorInputBinding = {
1884
1892
  inputId: string;
1893
+ kind?: 'filter' | 'control';
1894
+ controlRole?: 'grain' | 'metric' | 'dimension' | 'aggregation' | 'sqlParam';
1895
+ operator?: SemaphorInputOperator;
1885
1896
  field?: SemaphorFieldRef;
1886
1897
  };
1887
1898
 
@@ -1925,6 +1936,149 @@ declare type SemaphorInputSpec = {
1925
1936
  scope?: SemaphorInputScope;
1926
1937
  };
1927
1938
 
1939
+ declare type SemaphorMatrixAxisExpansionOptions = {
1940
+ defaultDepth?: number;
1941
+ lazy?: boolean;
1942
+ expandedPaths?: SemaphorMatrixMemberPathSegment[][];
1943
+ };
1944
+
1945
+ declare type SemaphorMatrixAxisLevel = {
1946
+ id?: string;
1947
+ field: SemaphorFieldRef;
1948
+ grain?: SemaphorTimeGrain;
1949
+ label?: string;
1950
+ subtotal?: boolean | SemaphorMatrixSubtotalOptions;
1951
+ sortBy?: SemaphorMatrixAxisSortRule;
1952
+ };
1953
+
1954
+ declare type SemaphorMatrixAxisSortRule = {
1955
+ direction: 'asc' | 'desc';
1956
+ by: {
1957
+ kind: 'label';
1958
+ } | {
1959
+ kind: 'field';
1960
+ field: SemaphorFieldRef;
1961
+ aggregate?: SemaphorAggregateFunction;
1962
+ };
1963
+ nulls?: 'warehouseDefault' | 'first' | 'last';
1964
+ scope?: 'global' | 'withinParent';
1965
+ };
1966
+
1967
+ declare type SemaphorMatrixDisplayLimitOptions = {
1968
+ rows?: SemaphorMatrixDisplayLimitRule;
1969
+ columns?: SemaphorMatrixDisplayLimitRule;
1970
+ };
1971
+
1972
+ declare type SemaphorMatrixDisplayLimitRule = {
1973
+ limit: number;
1974
+ by?: 'label' | 'value';
1975
+ direction?: 'top' | 'bottom';
1976
+ others?: boolean | {
1977
+ label?: string;
1978
+ };
1979
+ };
1980
+
1981
+ declare type SemaphorMatrixExpansionOptions = {
1982
+ rows?: SemaphorMatrixAxisExpansionOptions;
1983
+ columns?: SemaphorMatrixAxisExpansionOptions;
1984
+ };
1985
+
1986
+ declare type SemaphorMatrixIntent = {
1987
+ kind: 'matrix';
1988
+ version?: SemaphorProtocolVersion;
1989
+ id?: string;
1990
+ label?: string;
1991
+ source: SemaphorMatrixSourceRef;
1992
+ rows: SemaphorMatrixAxisLevel[];
1993
+ columns?: SemaphorMatrixAxisLevel[];
1994
+ values: SemaphorMatrixValueField[];
1995
+ filters?: SemaphorAnalyticsFilter[];
1996
+ inputs?: SemaphorInputBinding[];
1997
+ totals?: SemaphorMatrixTotalOptions;
1998
+ sort?: SemaphorMatrixSortRule[];
1999
+ expansion?: SemaphorMatrixExpansionOptions;
2000
+ layout?: SemaphorMatrixLayoutOptions;
2001
+ displayLimits?: SemaphorMatrixDisplayLimitOptions;
2002
+ };
2003
+
2004
+ declare type SemaphorMatrixLayoutOptions = {
2005
+ hierarchy?: 'compact' | 'tabular' | 'outline';
2006
+ valuesPlacement?: 'columns' | 'rows';
2007
+ stickyRowHeaders?: boolean;
2008
+ stickyColumnHeaders?: boolean;
2009
+ };
2010
+
2011
+ declare type SemaphorMatrixMemberPathSegment = {
2012
+ levelId: string;
2013
+ value: unknown;
2014
+ };
2015
+
2016
+ declare type SemaphorMatrixSortRule = {
2017
+ axis: 'row' | 'column';
2018
+ targetId?: string;
2019
+ direction: 'asc' | 'desc';
2020
+ by: {
2021
+ kind: 'label';
2022
+ } | {
2023
+ kind: 'field';
2024
+ field: SemaphorFieldRef;
2025
+ aggregate?: SemaphorAggregateFunction;
2026
+ } | {
2027
+ kind: 'value';
2028
+ valueId: string;
2029
+ rowPath?: SemaphorMatrixMemberPathSegment[];
2030
+ columnPath?: SemaphorMatrixMemberPathSegment[];
2031
+ };
2032
+ nulls?: 'warehouseDefault' | 'first' | 'last';
2033
+ scope?: 'global' | 'withinParent';
2034
+ };
2035
+
2036
+ declare type SemaphorMatrixSourceRef = SemaphorSemanticSourceRef | SemaphorExplorerSourceRef;
2037
+
2038
+ declare type SemaphorMatrixSubtotalOptions = {
2039
+ enabled?: boolean;
2040
+ position?: 'before' | 'after';
2041
+ label?: string;
2042
+ };
2043
+
2044
+ declare type SemaphorMatrixTotalCalculation = {
2045
+ kind: 'defaultAggregate';
2046
+ } | {
2047
+ kind: 'blank';
2048
+ } | {
2049
+ kind: 'labelOnly';
2050
+ label?: string;
2051
+ } | {
2052
+ kind: 'customAggregate';
2053
+ aggregate: SemaphorAggregateFunction;
2054
+ } | {
2055
+ kind: 'percentOfParent';
2056
+ } | {
2057
+ kind: 'percentOfGrandTotal';
2058
+ } | {
2059
+ kind: 'customExpression';
2060
+ expressionId: string;
2061
+ };
2062
+
2063
+ declare type SemaphorMatrixTotalOptions = {
2064
+ rows?: boolean | 'perLevel';
2065
+ columns?: boolean | 'perLevel';
2066
+ grandTotal?: boolean | {
2067
+ rows?: boolean;
2068
+ columns?: boolean;
2069
+ };
2070
+ rowPosition?: 'top' | 'bottom';
2071
+ columnPosition?: 'left' | 'right';
2072
+ };
2073
+
2074
+ declare type SemaphorMatrixValueField = {
2075
+ id?: string;
2076
+ field: SemaphorFieldRef;
2077
+ aggregate?: SemaphorAggregateFunction;
2078
+ label?: string;
2079
+ totalBehavior?: SemaphorMatrixTotalCalculation;
2080
+ };
2081
+
1928
2082
  declare type SemaphorMetricAnalysis = {
1929
2083
  kind: 'period_change';
1930
2084
  orderBy?: 'absolute_change' | 'positive_change' | 'negative_change' | 'period';
@@ -1958,6 +2112,11 @@ declare type SemaphorMetricIntent = {
1958
2112
  limit?: number;
1959
2113
  };
1960
2114
 
2115
+ declare type SemaphorPaginationRequest = {
2116
+ page: number;
2117
+ pageSize: number;
2118
+ };
2119
+
1961
2120
  declare type SemaphorProtocolVersion = 1;
1962
2121
 
1963
2122
  declare type SemaphorRecordsIntent = {
@@ -1972,6 +2131,7 @@ declare type SemaphorRecordsIntent = {
1972
2131
  timeWindow?: SemaphorTimeWindow;
1973
2132
  filters?: SemaphorAnalyticsFilter[];
1974
2133
  limit?: number;
2134
+ pagination?: SemaphorPaginationRequest;
1975
2135
  orderBy?: {
1976
2136
  field: SemaphorFieldRef;
1977
2137
  direction: 'asc' | 'desc';
@@ -1987,6 +2147,10 @@ declare type SemaphorRelativeTimeWindow = {
1987
2147
  completeness?: 'include_partial' | 'complete_periods';
1988
2148
  };
1989
2149
 
2150
+ declare type SemaphorSemanticSourceRef = Extract<SemaphorSourceRef, {
2151
+ kind: 'semantic';
2152
+ }>;
2153
+
1990
2154
  declare type SemaphorSourceRef = {
1991
2155
  kind: 'semantic';
1992
2156
  domainId: string;
@@ -2019,9 +2183,10 @@ declare type SemaphorSqlIntent = {
2019
2183
  kind: 'sql';
2020
2184
  }>;
2021
2185
  sql: string;
2022
- parameters?: Record<string, unknown>;
2186
+ defaultParameters?: Record<string, unknown>;
2023
2187
  pythonCode?: string;
2024
2188
  limit?: number;
2189
+ pagination?: SemaphorPaginationRequest;
2025
2190
  rationale?: string;
2026
2191
  fields?: SemaphorFieldRef[];
2027
2192
  inputs?: SemaphorInputBinding[];
@@ -2041,6 +2206,9 @@ declare type SemaphorViewPresentation = {
2041
2206
  } | {
2042
2207
  kind: 'table';
2043
2208
  columns?: string[];
2209
+ } | {
2210
+ kind: 'matrixTable';
2211
+ mode?: 'auto' | 'pivot' | 'hierarchical';
2044
2212
  } | {
2045
2213
  kind: 'text';
2046
2214
  };
@@ -564,7 +564,7 @@ declare type SemaphorAnalyticsFilterBase = {
564
564
 
565
565
  declare type SemaphorAnalyticsFilterOperator = SemaphorInputOperator | 'not_contains' | 'is_null' | 'is_not_null';
566
566
 
567
- declare type SemaphorAnalyticsIntent = SemaphorMetricIntent | SemaphorRecordsIntent | SemaphorInputOptionsIntent | SemaphorSqlIntent;
567
+ declare type SemaphorAnalyticsIntent = SemaphorMetricIntent | SemaphorRecordsIntent | SemaphorInputOptionsIntent | SemaphorSqlIntent | SemaphorMatrixIntent;
568
568
 
569
569
  declare type SemaphorAnalyticsNullFilter = SemaphorAnalyticsFilterBase & {
570
570
  operator: SemaphorAnalyticsNullFilterOperator;
@@ -582,6 +582,14 @@ declare type SemaphorAnalyticsValueFilterOperator = Exclude<SemaphorAnalyticsFil
582
582
 
583
583
  declare type SemaphorDialect = 'postgres' | 'mysql' | 'mssql' | 'snowflake' | 'clickhouse' | 'bigquery' | 'redshift' | 'duckdb' | 'sqlite' | 'unknown';
584
584
 
585
+ /**
586
+ * Explorer-backed table source. This is intentionally distinct from raw SQL:
587
+ * matrix planning needs stable source metadata, fields, and dialect context.
588
+ */
589
+ declare type SemaphorExplorerSourceRef = Extract<SemaphorSourceRef, {
590
+ kind: 'physical';
591
+ }>;
592
+
585
593
  declare type SemaphorFieldRef = {
586
594
  name: string;
587
595
  label?: string;
@@ -593,6 +601,9 @@ declare type SemaphorFieldRef = {
593
601
 
594
602
  declare type SemaphorInputBinding = {
595
603
  inputId: string;
604
+ kind?: 'filter' | 'control';
605
+ controlRole?: 'grain' | 'metric' | 'dimension' | 'aggregation' | 'sqlParam';
606
+ operator?: SemaphorInputOperator;
596
607
  field?: SemaphorFieldRef;
597
608
  };
598
609
 
@@ -609,6 +620,149 @@ declare type SemaphorInputOptionsIntent = {
609
620
  limit?: number;
610
621
  };
611
622
 
623
+ declare type SemaphorMatrixAxisExpansionOptions = {
624
+ defaultDepth?: number;
625
+ lazy?: boolean;
626
+ expandedPaths?: SemaphorMatrixMemberPathSegment[][];
627
+ };
628
+
629
+ declare type SemaphorMatrixAxisLevel = {
630
+ id?: string;
631
+ field: SemaphorFieldRef;
632
+ grain?: SemaphorTimeGrain;
633
+ label?: string;
634
+ subtotal?: boolean | SemaphorMatrixSubtotalOptions;
635
+ sortBy?: SemaphorMatrixAxisSortRule;
636
+ };
637
+
638
+ declare type SemaphorMatrixAxisSortRule = {
639
+ direction: 'asc' | 'desc';
640
+ by: {
641
+ kind: 'label';
642
+ } | {
643
+ kind: 'field';
644
+ field: SemaphorFieldRef;
645
+ aggregate?: SemaphorAggregateFunction;
646
+ };
647
+ nulls?: 'warehouseDefault' | 'first' | 'last';
648
+ scope?: 'global' | 'withinParent';
649
+ };
650
+
651
+ declare type SemaphorMatrixDisplayLimitOptions = {
652
+ rows?: SemaphorMatrixDisplayLimitRule;
653
+ columns?: SemaphorMatrixDisplayLimitRule;
654
+ };
655
+
656
+ declare type SemaphorMatrixDisplayLimitRule = {
657
+ limit: number;
658
+ by?: 'label' | 'value';
659
+ direction?: 'top' | 'bottom';
660
+ others?: boolean | {
661
+ label?: string;
662
+ };
663
+ };
664
+
665
+ declare type SemaphorMatrixExpansionOptions = {
666
+ rows?: SemaphorMatrixAxisExpansionOptions;
667
+ columns?: SemaphorMatrixAxisExpansionOptions;
668
+ };
669
+
670
+ declare type SemaphorMatrixIntent = {
671
+ kind: 'matrix';
672
+ version?: SemaphorProtocolVersion;
673
+ id?: string;
674
+ label?: string;
675
+ source: SemaphorMatrixSourceRef;
676
+ rows: SemaphorMatrixAxisLevel[];
677
+ columns?: SemaphorMatrixAxisLevel[];
678
+ values: SemaphorMatrixValueField[];
679
+ filters?: SemaphorAnalyticsFilter[];
680
+ inputs?: SemaphorInputBinding[];
681
+ totals?: SemaphorMatrixTotalOptions;
682
+ sort?: SemaphorMatrixSortRule[];
683
+ expansion?: SemaphorMatrixExpansionOptions;
684
+ layout?: SemaphorMatrixLayoutOptions;
685
+ displayLimits?: SemaphorMatrixDisplayLimitOptions;
686
+ };
687
+
688
+ declare type SemaphorMatrixLayoutOptions = {
689
+ hierarchy?: 'compact' | 'tabular' | 'outline';
690
+ valuesPlacement?: 'columns' | 'rows';
691
+ stickyRowHeaders?: boolean;
692
+ stickyColumnHeaders?: boolean;
693
+ };
694
+
695
+ declare type SemaphorMatrixMemberPathSegment = {
696
+ levelId: string;
697
+ value: unknown;
698
+ };
699
+
700
+ declare type SemaphorMatrixSortRule = {
701
+ axis: 'row' | 'column';
702
+ targetId?: string;
703
+ direction: 'asc' | 'desc';
704
+ by: {
705
+ kind: 'label';
706
+ } | {
707
+ kind: 'field';
708
+ field: SemaphorFieldRef;
709
+ aggregate?: SemaphorAggregateFunction;
710
+ } | {
711
+ kind: 'value';
712
+ valueId: string;
713
+ rowPath?: SemaphorMatrixMemberPathSegment[];
714
+ columnPath?: SemaphorMatrixMemberPathSegment[];
715
+ };
716
+ nulls?: 'warehouseDefault' | 'first' | 'last';
717
+ scope?: 'global' | 'withinParent';
718
+ };
719
+
720
+ declare type SemaphorMatrixSourceRef = SemaphorSemanticSourceRef | SemaphorExplorerSourceRef;
721
+
722
+ declare type SemaphorMatrixSubtotalOptions = {
723
+ enabled?: boolean;
724
+ position?: 'before' | 'after';
725
+ label?: string;
726
+ };
727
+
728
+ declare type SemaphorMatrixTotalCalculation = {
729
+ kind: 'defaultAggregate';
730
+ } | {
731
+ kind: 'blank';
732
+ } | {
733
+ kind: 'labelOnly';
734
+ label?: string;
735
+ } | {
736
+ kind: 'customAggregate';
737
+ aggregate: SemaphorAggregateFunction;
738
+ } | {
739
+ kind: 'percentOfParent';
740
+ } | {
741
+ kind: 'percentOfGrandTotal';
742
+ } | {
743
+ kind: 'customExpression';
744
+ expressionId: string;
745
+ };
746
+
747
+ declare type SemaphorMatrixTotalOptions = {
748
+ rows?: boolean | 'perLevel';
749
+ columns?: boolean | 'perLevel';
750
+ grandTotal?: boolean | {
751
+ rows?: boolean;
752
+ columns?: boolean;
753
+ };
754
+ rowPosition?: 'top' | 'bottom';
755
+ columnPosition?: 'left' | 'right';
756
+ };
757
+
758
+ declare type SemaphorMatrixValueField = {
759
+ id?: string;
760
+ field: SemaphorFieldRef;
761
+ aggregate?: SemaphorAggregateFunction;
762
+ label?: string;
763
+ totalBehavior?: SemaphorMatrixTotalCalculation;
764
+ };
765
+
612
766
  declare type SemaphorMetricAnalysis = {
613
767
  kind: 'period_change';
614
768
  orderBy?: 'absolute_change' | 'positive_change' | 'negative_change' | 'period';
@@ -642,6 +796,11 @@ declare type SemaphorMetricIntent = {
642
796
  limit?: number;
643
797
  };
644
798
 
799
+ declare type SemaphorPaginationRequest = {
800
+ page: number;
801
+ pageSize: number;
802
+ };
803
+
645
804
  declare type SemaphorProtocolVersion = 1;
646
805
 
647
806
  declare type SemaphorRecordsIntent = {
@@ -656,6 +815,7 @@ declare type SemaphorRecordsIntent = {
656
815
  timeWindow?: SemaphorTimeWindow;
657
816
  filters?: SemaphorAnalyticsFilter[];
658
817
  limit?: number;
818
+ pagination?: SemaphorPaginationRequest;
659
819
  orderBy?: {
660
820
  field: SemaphorFieldRef;
661
821
  direction: 'asc' | 'desc';
@@ -671,6 +831,10 @@ declare type SemaphorRelativeTimeWindow = {
671
831
  completeness?: 'include_partial' | 'complete_periods';
672
832
  };
673
833
 
834
+ declare type SemaphorSemanticSourceRef = Extract<SemaphorSourceRef, {
835
+ kind: 'semantic';
836
+ }>;
837
+
674
838
  declare type SemaphorSourceRef = {
675
839
  kind: 'semantic';
676
840
  domainId: string;
@@ -703,9 +867,10 @@ declare type SemaphorSqlIntent = {
703
867
  kind: 'sql';
704
868
  }>;
705
869
  sql: string;
706
- parameters?: Record<string, unknown>;
870
+ defaultParameters?: Record<string, unknown>;
707
871
  pythonCode?: string;
708
872
  limit?: number;
873
+ pagination?: SemaphorPaginationRequest;
709
874
  rationale?: string;
710
875
  fields?: SemaphorFieldRef[];
711
876
  inputs?: SemaphorInputBinding[];