react-semaphor 0.1.381 → 0.1.383
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.
- package/DATA_APP_SDK.md +238 -0
- package/README.md +7 -0
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +45 -41
- package/dist/brand-studio/index.cjs +4 -4
- package/dist/brand-studio/index.js +28 -28
- package/dist/chunks/analyze-result-contract-CtXfp3nv.js +1 -0
- package/dist/chunks/analyze-result-contract-DuhlklhI.js +102 -0
- package/dist/chunks/{braces-DOxxfERN.js → braces--20GzUQh.js} +1 -1
- package/dist/chunks/{braces-BT-ZyB-g.js → braces-C0Vh_Mft.js} +1 -1
- package/dist/chunks/{calendar-preferences-dialog-Dsgs8WDv.js → calendar-preferences-dialog-B-VsxhsA.js} +4 -4
- package/dist/chunks/calendar-preferences-dialog-DE67Z3oQ.js +1 -0
- package/dist/chunks/catalog-field-grounding-Bnx-3tE0.js +1 -0
- package/dist/chunks/catalog-field-grounding-CJKAqtiC.js +100 -0
- package/dist/chunks/{dashboard-briefing-launcher-Coks66cV.js → dashboard-briefing-launcher-BIj3X7b3.js} +108 -107
- package/dist/chunks/dashboard-briefing-launcher-Czx6BcXW.js +80 -0
- package/dist/chunks/dashboard-controls-BP-DcPFs.js +52 -0
- package/dist/chunks/{dashboard-controls-BfkcnIdy.js → dashboard-controls-BXxucM4f.js} +115 -114
- package/dist/chunks/dashboard-json-BNwshkK2.js +1 -0
- package/dist/chunks/{dashboard-json-DjXi4cI6.js → dashboard-json-C6oZuipD.js} +9 -9
- package/dist/chunks/edit-dashboard-visual-BAprin3J.js +178 -0
- package/dist/chunks/{edit-dashboard-visual-DOW1Ap1N.js → edit-dashboard-visual-CmfrI_L3.js} +1278 -1277
- package/dist/chunks/{index-CkoRCh3g.js → index-4W_ElSBJ.js} +219 -239
- package/dist/chunks/{index-DlprYjr6.js → index-icb12JV1.js} +900 -952
- package/dist/chunks/{layout-grid-DccceHv4.js → layout-grid-B7-klXiK.js} +1 -1
- package/dist/chunks/{layout-grid-DTbOIOsE.js → layout-grid-DV89AC9_.js} +1 -1
- package/dist/chunks/operators-C8TxpM4C.js +48 -0
- package/dist/chunks/operators-DrTQsJXv.js +1 -0
- package/dist/chunks/{palette-DCzLwqIw.js → palette-5IwhMbSF.js} +1 -1
- package/dist/chunks/{palette-SimHJELn.js → palette-Dj-dgPYh.js} +1 -1
- package/dist/chunks/{save-zNVYH02T.js → save-16C6YSW2.js} +1 -1
- package/dist/chunks/{save-D2O96E5A.js → save-C5fwVdTF.js} +1 -1
- package/dist/chunks/search-0LmWwZzW.js +57 -0
- package/dist/chunks/search-Dq1Mbb03.js +21 -0
- package/dist/chunks/{source-identity-Dj3dryN9.js → source-identity-CN4xiyKJ.js} +5 -5
- package/dist/chunks/{switch-DMPsMpHW.js → switch-DUdaHFZQ.js} +2328 -2414
- package/dist/chunks/{switch-Jhyl63RF.js → switch-bdJp0Bkw.js} +29 -54
- package/dist/chunks/use-create-flow-overlay-state-BIHKf_XK.js +21 -0
- package/dist/chunks/{use-create-flow-overlay-state-r5JKyXU8.js → use-create-flow-overlay-state-YvqCp6Zo.js} +75 -75
- package/dist/chunks/{validators-CtNmgsvG.js → validators-CHPH6ORs.js} +641 -498
- package/dist/chunks/validators-lWo8m0Q7.js +1 -0
- package/dist/chunks/x-B_cx7LwM.js +26 -0
- package/dist/chunks/x-IdR_js6f.js +139 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +105 -92
- package/dist/data-app-builder/index.cjs +23 -23
- package/dist/data-app-builder/index.js +17 -15
- package/dist/data-app-sdk/index.cjs +68 -1
- package/dist/data-app-sdk/index.js +2731 -384
- package/dist/data-app-sdk-adapters/index.cjs +1 -0
- package/dist/data-app-sdk-adapters/index.js +383 -0
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +1073 -6
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/analytics-protocol.d.ts +58 -31
- package/dist/types/dashboard-assistant.d.ts +40 -15
- package/dist/types/dashboard-authoring.d.ts +36 -16
- package/dist/types/dashboard.d.ts +8 -8
- package/dist/types/data-app-builder.d.ts +35 -11
- package/dist/types/data-app-sdk-adapters.d.ts +733 -0
- package/dist/types/data-app-sdk-validation.d.ts +85 -25
- package/dist/types/data-app-sdk.d.ts +217 -147
- package/dist/types/main.d.ts +35 -11
- package/dist/types/shared.d.ts +8 -8
- package/dist/types/surfboard.d.ts +8 -8
- package/dist/types/types.d.ts +8 -8
- package/package.json +9 -2
- package/src/data-app-sdk/README.md +240 -0
- package/dist/chunks/calendar-preferences-dialog-iZs8XqyH.js +0 -1
- package/dist/chunks/catalog-field-grounding-8L9I0zdg.js +0 -1
- package/dist/chunks/catalog-field-grounding-BK4BX8sZ.js +0 -200
- package/dist/chunks/dashboard-briefing-launcher-B5vPTl8P.js +0 -80
- package/dist/chunks/dashboard-controls-Dyqye6fh.js +0 -52
- package/dist/chunks/dashboard-json-CV_LnO9x.js +0 -1
- package/dist/chunks/edit-dashboard-visual-yinO0yU-.js +0 -178
- package/dist/chunks/index-BxM99sFL.js +0 -1
- package/dist/chunks/index-CuHybtft.js +0 -51
- package/dist/chunks/use-create-flow-overlay-state-NsqFPwdB.js +0 -21
- package/dist/chunks/validation-BM3-ShHV.js +0 -1003
- package/dist/chunks/validation-BVpqRFar.js +0 -1
- package/dist/chunks/validators-jpoYhpHh.js +0 -1
|
@@ -27,6 +27,14 @@ declare type CalendarContext = {
|
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
export declare function fieldWithSelectedProjectionRole(field: SemaphorFieldRef, selectedField?: SemaphorFieldRef): SemaphorFieldRef;
|
|
31
|
+
|
|
32
|
+
export declare function findMatchingRelatedProjectionField(selectedFields: SemaphorFieldRef[], requestedField: SemaphorFieldRef): SemaphorFieldRef | undefined;
|
|
33
|
+
|
|
34
|
+
export declare function isAllowedRelatedProjectionRole(role: SemaphorFieldRef['role'] | undefined, allowedRelatedRoles: SemaphorRelatedProjectionRole[]): role is SemaphorRelatedProjectionRole;
|
|
35
|
+
|
|
36
|
+
export declare function matrixAxisFieldsForPolicy(intent: SemaphorMatrixIntent): SemaphorFieldRef[];
|
|
37
|
+
|
|
30
38
|
declare type MatrixAxisLevelDescriptor = {
|
|
31
39
|
instanceId: string;
|
|
32
40
|
fieldKey: string;
|
|
@@ -252,6 +260,12 @@ export declare function normalizeSemaphorAnalysisQueryOptions(value: unknown, op
|
|
|
252
260
|
validateTimezone?: SemaphorAnalysisTimezoneValidator;
|
|
253
261
|
}): SemaphorAnalysisQueryOptionsValidationResult;
|
|
254
262
|
|
|
263
|
+
export declare function normalizeSemaphorFieldRole(field: SemaphorFieldRef): SemaphorFieldRef['role'] | undefined;
|
|
264
|
+
|
|
265
|
+
export declare function relatedProjectionFieldCandidatesForIntent(intent: RelationshipAwareProjectionIntent): SemaphorRelatedProjectionFieldCandidate[];
|
|
266
|
+
|
|
267
|
+
declare type RelationshipAwareProjectionIntent = SemaphorRecordsIntent | SemaphorMetricIntent | SemaphorMatrixIntent;
|
|
268
|
+
|
|
255
269
|
declare type SemaphorAbsoluteTimeWindow = {
|
|
256
270
|
kind: 'absolute';
|
|
257
271
|
start: string;
|
|
@@ -371,7 +385,7 @@ declare type SemaphorAnalyticsExecutionResult = {
|
|
|
371
385
|
|
|
372
386
|
declare type SemaphorAnalyticsExecutionStatus = 'answered' | 'partial' | 'failed';
|
|
373
387
|
|
|
374
|
-
declare type SemaphorAnalyticsFieldRole = '
|
|
388
|
+
declare type SemaphorAnalyticsFieldRole = 'measure' | 'date' | 'dimension' | 'input' | 'source' | 'sql';
|
|
375
389
|
|
|
376
390
|
declare type SemaphorAnalyticsFilter = SemaphorAnalyticsValueFilter | SemaphorAnalyticsNullFilter;
|
|
377
391
|
|
|
@@ -401,7 +415,7 @@ declare type SemaphorAnalyticsNullFilterOperator = 'is_null' | 'is_not_null';
|
|
|
401
415
|
|
|
402
416
|
declare type SemaphorAnalyticsPopulation = {
|
|
403
417
|
scope: 'filtered_query';
|
|
404
|
-
|
|
418
|
+
measures: Record<string, number | string | null>;
|
|
405
419
|
};
|
|
406
420
|
|
|
407
421
|
declare type SemaphorAnalyticsRepairHint = {
|
|
@@ -409,7 +423,7 @@ declare type SemaphorAnalyticsRepairHint = {
|
|
|
409
423
|
message?: string;
|
|
410
424
|
invalidField?: string;
|
|
411
425
|
fieldRole?: SemaphorAnalyticsFieldRole;
|
|
412
|
-
|
|
426
|
+
validMeasureCandidates?: string[];
|
|
413
427
|
validDateCandidates?: string[];
|
|
414
428
|
validDimensionCandidates?: string[];
|
|
415
429
|
recommendedNextStep: string;
|
|
@@ -427,7 +441,7 @@ declare type SemaphorAnalyticsResultBase = {
|
|
|
427
441
|
pagination?: SemaphorPaginationMetadata;
|
|
428
442
|
};
|
|
429
443
|
|
|
430
|
-
declare type SemaphorAnalyticsValidationCode = 'missing_source' | 'invalid_source_kind' | 'missing_semantic_domain' | 'missing_dataset_name' | 'missing_connection_id' | 'missing_table_name' | 'missing_sql' | '
|
|
444
|
+
declare type SemaphorAnalyticsValidationCode = 'missing_source' | 'invalid_source_kind' | 'missing_semantic_domain' | 'missing_dataset_name' | 'missing_connection_id' | 'missing_table_name' | 'missing_sql' | 'missing_measure' | 'missing_record_fields' | 'missing_input_options_input_id' | 'missing_input_options_label_field' | 'missing_input_options_value_field' | 'invalid_input_options_dependencies' | 'invalid_input_options_population' | 'invalid_measure' | 'invalid_measure_list' | 'invalid_date_field' | 'invalid_dimension' | 'invalid_measure_dimensions' | 'conflicting_sql' | 'sql_policy_violation' | 'unsupported_intent_for_adapter' | 'invalid_analytics_kind' | 'invalid_analytics_intent';
|
|
431
445
|
|
|
432
446
|
declare type SemaphorAnalyticsValidationIssue = SemaphorProtocolIssue & {
|
|
433
447
|
code: SemaphorAnalyticsValidationCode | string;
|
|
@@ -485,7 +499,7 @@ declare type SemaphorControlInputSpec<TValue extends SemaphorInputValue = Semaph
|
|
|
485
499
|
role: SemaphorControlRole;
|
|
486
500
|
};
|
|
487
501
|
|
|
488
|
-
declare type SemaphorControlRole = 'grain' | '
|
|
502
|
+
declare type SemaphorControlRole = 'grain' | 'measure' | 'dimension' | 'aggregation' | 'sqlParam';
|
|
489
503
|
|
|
490
504
|
export declare type SemaphorDataAppFieldCatalog = {
|
|
491
505
|
source: SemaphorSourceRef;
|
|
@@ -554,15 +568,9 @@ declare type SemaphorDerivedFieldInput = {
|
|
|
554
568
|
kind: 'field';
|
|
555
569
|
field: SemaphorFieldRef;
|
|
556
570
|
aggregate?: SemaphorAggregateFunction;
|
|
557
|
-
} | {
|
|
558
|
-
kind: 'metric';
|
|
559
|
-
metric: SemaphorFieldRef;
|
|
560
|
-
} | {
|
|
561
|
-
kind: 'dimension';
|
|
562
|
-
dimension: SemaphorFieldRef;
|
|
563
571
|
};
|
|
564
572
|
|
|
565
|
-
declare type SemaphorDerivedFieldResultRole = 'measure' | '
|
|
573
|
+
declare type SemaphorDerivedFieldResultRole = 'measure' | 'dimension' | 'date' | 'id' | 'unknown';
|
|
566
574
|
|
|
567
575
|
declare type SemaphorDialect = 'postgres' | 'mysql' | 'mssql' | 'snowflake' | 'clickhouse' | 'bigquery' | 'redshift' | 'duckdb' | 'sqlite' | 'unknown';
|
|
568
576
|
|
|
@@ -593,7 +601,8 @@ declare type SemaphorFieldRef = {
|
|
|
593
601
|
declare type SemaphorFilterInputSpec<TValue extends SemaphorInputValue = SemaphorInputValue> = SemaphorInputBase<TValue> & {
|
|
594
602
|
kind: 'filter';
|
|
595
603
|
field: SemaphorQueryField;
|
|
596
|
-
operator?:
|
|
604
|
+
operator?: SemaphorInputOperator;
|
|
605
|
+
relationshipHint?: SemaphorInputBinding['relationshipHint'];
|
|
597
606
|
multi?: boolean;
|
|
598
607
|
};
|
|
599
608
|
|
|
@@ -611,9 +620,14 @@ declare type SemaphorInputBase<TValue extends SemaphorInputValue> = {
|
|
|
611
620
|
declare type SemaphorInputBinding = {
|
|
612
621
|
inputId: string;
|
|
613
622
|
kind?: 'filter' | 'control';
|
|
614
|
-
controlRole?: 'grain' | '
|
|
623
|
+
controlRole?: 'grain' | 'measure' | 'dimension' | 'aggregation' | 'sqlParam';
|
|
615
624
|
operator?: SemaphorInputOperator;
|
|
616
625
|
field?: SemaphorFieldRef;
|
|
626
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
627
|
+
};
|
|
628
|
+
|
|
629
|
+
declare type SemaphorInputBindingReference<TValue extends SemaphorInputValue = SemaphorInputValue> = {
|
|
630
|
+
toAnalyticsInput(): SemaphorActiveInput<TValue>;
|
|
617
631
|
};
|
|
618
632
|
|
|
619
633
|
declare type SemaphorInputHandle<TValue extends SemaphorInputValue = SemaphorInputValue> = {
|
|
@@ -622,6 +636,7 @@ declare type SemaphorInputHandle<TValue extends SemaphorInputValue = SemaphorInp
|
|
|
622
636
|
label?: string;
|
|
623
637
|
field?: SemaphorFieldRef;
|
|
624
638
|
operator?: SemaphorInputOperator;
|
|
639
|
+
relationshipHint?: SemaphorInputBinding['relationshipHint'];
|
|
625
640
|
controlRole?: SemaphorControlRole;
|
|
626
641
|
value: TValue | undefined;
|
|
627
642
|
options: SemaphorInputOption[];
|
|
@@ -633,14 +648,11 @@ declare type SemaphorInputHandle<TValue extends SemaphorInputValue = SemaphorInp
|
|
|
633
648
|
|
|
634
649
|
declare type SemaphorInputOperator = '=' | '!=' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'between' | 'not_between' | '>' | '>=' | '<' | '<=';
|
|
635
650
|
|
|
636
|
-
declare type SemaphorInputOperatorAlias = 'eq' | 'equals' | 'not_equals' | 'neq' | 'not equal' | 'not equals' | 'not in' | 'like' | 'not_contains' | 'not contains' | 'not_like' | 'not like' | 'not_between' | 'not between';
|
|
637
|
-
|
|
638
|
-
declare type SemaphorInputOperatorInput = SemaphorInputOperator | SemaphorInputOperatorAlias;
|
|
639
|
-
|
|
640
651
|
declare type SemaphorInputOption = {
|
|
641
652
|
label: string;
|
|
642
653
|
value: SemaphorOptionValue;
|
|
643
654
|
count?: number;
|
|
655
|
+
disambiguation?: string[];
|
|
644
656
|
};
|
|
645
657
|
|
|
646
658
|
declare type SemaphorInputOptionsIntent = {
|
|
@@ -648,10 +660,17 @@ declare type SemaphorInputOptionsIntent = {
|
|
|
648
660
|
version?: SemaphorProtocolVersion;
|
|
649
661
|
id?: string;
|
|
650
662
|
label?: string;
|
|
663
|
+
inputId: string;
|
|
651
664
|
source: SemaphorSourceRef;
|
|
652
|
-
|
|
665
|
+
labelField: SemaphorFieldRef;
|
|
666
|
+
valueField: SemaphorFieldRef;
|
|
667
|
+
searchField?: SemaphorFieldRef;
|
|
668
|
+
disambiguationFields?: SemaphorFieldRef[];
|
|
669
|
+
population?: SemaphorOptionPopulation;
|
|
670
|
+
dependencies?: SemaphorOptionDependencies;
|
|
653
671
|
search?: string;
|
|
654
672
|
limit?: number;
|
|
673
|
+
inputs?: SemaphorInputBinding[];
|
|
655
674
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
656
675
|
};
|
|
657
676
|
|
|
@@ -662,7 +681,14 @@ declare type SemaphorInputOptionsQueryDefinition = SemaphorInputOptionsQuerySpec
|
|
|
662
681
|
declare type SemaphorInputOptionsQuerySpec = SemaphorQuerySourceSpec & SemaphorAppDerivedFieldsSpec & {
|
|
663
682
|
id?: string;
|
|
664
683
|
label?: string;
|
|
665
|
-
|
|
684
|
+
inputId: string;
|
|
685
|
+
labelField: SemaphorQueryField;
|
|
686
|
+
valueField: SemaphorQueryField;
|
|
687
|
+
searchField?: SemaphorQueryField;
|
|
688
|
+
disambiguationFields?: SemaphorQueryField[];
|
|
689
|
+
population?: SemaphorOptionPopulation;
|
|
690
|
+
dependencies?: SemaphorOptionDependencies;
|
|
691
|
+
inputs?: SemaphorInputReference[];
|
|
666
692
|
search?: string;
|
|
667
693
|
limit?: number;
|
|
668
694
|
};
|
|
@@ -673,10 +699,11 @@ declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
|
673
699
|
label: string;
|
|
674
700
|
value: unknown;
|
|
675
701
|
count?: number;
|
|
702
|
+
disambiguation?: string[];
|
|
676
703
|
}>;
|
|
677
704
|
};
|
|
678
705
|
|
|
679
|
-
declare type SemaphorInputReference = SemaphorInputSpec | SemaphorInputBinding | SemaphorActiveInput | SemaphorInputHandle;
|
|
706
|
+
declare type SemaphorInputReference = SemaphorInputSpec | SemaphorInputBinding | SemaphorActiveInput | SemaphorInputHandle | SemaphorInputBindingReference;
|
|
680
707
|
|
|
681
708
|
declare type SemaphorInputSpec<TValue extends SemaphorInputValue = SemaphorInputValue> = SemaphorFilterInputSpec<TValue> | SemaphorControlInputSpec<TValue>;
|
|
682
709
|
|
|
@@ -742,6 +769,7 @@ declare type SemaphorMatrixIntent = {
|
|
|
742
769
|
values: SemaphorMatrixValueField[];
|
|
743
770
|
filters?: SemaphorAnalyticsFilter[];
|
|
744
771
|
inputs?: SemaphorInputBinding[];
|
|
772
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
745
773
|
totals?: SemaphorMatrixTotalOptions;
|
|
746
774
|
sort?: SemaphorMatrixSortRule[];
|
|
747
775
|
expansion?: SemaphorMatrixExpansionOptions;
|
|
@@ -890,8 +918,8 @@ declare type SemaphorMetricIntent = {
|
|
|
890
918
|
version?: SemaphorProtocolVersion;
|
|
891
919
|
id?: string;
|
|
892
920
|
source: SemaphorSourceRef;
|
|
893
|
-
|
|
894
|
-
|
|
921
|
+
measures: SemaphorFieldRef[];
|
|
922
|
+
primaryMeasure?: SemaphorFieldRef;
|
|
895
923
|
label?: string;
|
|
896
924
|
dateField?: SemaphorFieldRef;
|
|
897
925
|
timeGrain?: SemaphorTimeGrain;
|
|
@@ -908,6 +936,7 @@ declare type SemaphorMetricIntent = {
|
|
|
908
936
|
direction: 'asc' | 'desc';
|
|
909
937
|
};
|
|
910
938
|
inputs?: SemaphorInputBinding[];
|
|
939
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
911
940
|
limit?: number;
|
|
912
941
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
913
942
|
};
|
|
@@ -919,14 +948,15 @@ declare type SemaphorMetricQueryDefinition = SemaphorMetricQuerySpec & {
|
|
|
919
948
|
declare type SemaphorMetricQuerySpec = SemaphorQuerySourceSpec & SemaphorAppDerivedFieldsSpec & {
|
|
920
949
|
id?: string;
|
|
921
950
|
label?: string;
|
|
922
|
-
|
|
923
|
-
|
|
951
|
+
measures: SemaphorNonEmptyArray<SemaphorQueryField>;
|
|
952
|
+
primaryMeasure?: SemaphorQueryField;
|
|
924
953
|
dateField?: SemaphorQueryField;
|
|
925
954
|
timeGrain?: SemaphorTimeGrain;
|
|
926
955
|
dimensions?: SemaphorQueryField[];
|
|
927
956
|
comparison?: SemaphorMetricComparison;
|
|
928
957
|
orderBy?: SemaphorQueryOrderBy;
|
|
929
958
|
inputs?: SemaphorInputReference[];
|
|
959
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
930
960
|
limit?: number;
|
|
931
961
|
};
|
|
932
962
|
|
|
@@ -943,6 +973,21 @@ declare type SemaphorMetricResult = SemaphorAnalyticsResultBase & {
|
|
|
943
973
|
|
|
944
974
|
declare type SemaphorNonEmptyArray<T> = [T, ...T[]];
|
|
945
975
|
|
|
976
|
+
declare type SemaphorOptionDependencies = {
|
|
977
|
+
mode?: 'auto' | 'independent' | 'explicit';
|
|
978
|
+
includeInputIds?: string[];
|
|
979
|
+
excludeInputIds?: string[];
|
|
980
|
+
};
|
|
981
|
+
|
|
982
|
+
declare type SemaphorOptionPopulation = {
|
|
983
|
+
kind: 'option_source';
|
|
984
|
+
baseSource?: never;
|
|
985
|
+
} | {
|
|
986
|
+
kind: 'related_population';
|
|
987
|
+
baseSource: SemaphorSourceRef;
|
|
988
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
989
|
+
};
|
|
990
|
+
|
|
946
991
|
declare type SemaphorOptionValue = string | number | boolean;
|
|
947
992
|
|
|
948
993
|
declare type SemaphorPaginationMetadata = {
|
|
@@ -991,6 +1036,7 @@ declare type SemaphorRecordsBaseQuerySpec = SemaphorQuerySourceSpec & SemaphorAp
|
|
|
991
1036
|
filters?: SemaphorAnalyticsFilter[];
|
|
992
1037
|
orderBy?: SemaphorRecordsOrderBy;
|
|
993
1038
|
inputs?: SemaphorInputReference[];
|
|
1039
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
994
1040
|
limit?: number;
|
|
995
1041
|
pagination?: SemaphorPaginationRequest;
|
|
996
1042
|
};
|
|
@@ -1017,6 +1063,7 @@ declare type SemaphorRecordsIntent = {
|
|
|
1017
1063
|
direction: 'asc' | 'desc';
|
|
1018
1064
|
};
|
|
1019
1065
|
inputs?: SemaphorInputBinding[];
|
|
1066
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
1020
1067
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
1021
1068
|
};
|
|
1022
1069
|
|
|
@@ -1038,6 +1085,15 @@ declare type SemaphorRecordsSelectorSpec = {
|
|
|
1038
1085
|
fields: SemaphorNonEmptyArray<SemaphorRecordsField>;
|
|
1039
1086
|
};
|
|
1040
1087
|
|
|
1088
|
+
export declare type SemaphorRelatedProjectionFieldCandidate = {
|
|
1089
|
+
field: SemaphorFieldRef;
|
|
1090
|
+
allowedRelatedRoles: SemaphorRelatedProjectionRole[];
|
|
1091
|
+
unsupportedRelatedRoleMessage?: string;
|
|
1092
|
+
recommendedNextStep?: string;
|
|
1093
|
+
};
|
|
1094
|
+
|
|
1095
|
+
export declare type SemaphorRelatedProjectionRole = Extract<NonNullable<SemaphorFieldRef['role']>, 'dimension' | 'date' | 'id'>;
|
|
1096
|
+
|
|
1041
1097
|
declare type SemaphorRelationshipDiagnostics = {
|
|
1042
1098
|
status: SemaphorRelationshipDiagnosticStatus;
|
|
1043
1099
|
requiredSources?: SemaphorSourceRef[];
|
|
@@ -1059,6 +1115,10 @@ declare type SemaphorRelationshipDiagnostics = {
|
|
|
1059
1115
|
|
|
1060
1116
|
declare type SemaphorRelationshipDiagnosticStatus = 'not_required' | 'resolved' | 'missing' | 'ambiguous' | 'fanout_risk' | 'unknown';
|
|
1061
1117
|
|
|
1118
|
+
declare type SemaphorRelationshipHint = {
|
|
1119
|
+
relationshipIds?: string[];
|
|
1120
|
+
};
|
|
1121
|
+
|
|
1062
1122
|
declare type SemaphorRelativeTimeWindow = {
|
|
1063
1123
|
kind?: 'relative';
|
|
1064
1124
|
unit: 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|