react-semaphor 0.1.444 → 0.1.445
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/CHANGELOG.md +7 -0
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +123 -107
- package/dist/appearance/index.cjs +1 -1
- package/dist/brand-studio/index.cjs +2 -2
- package/dist/brand-studio/index.js +5 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +526 -457
- package/dist/chunks/analyze-result-contract-BHb7sUUW.cjs +1 -0
- package/dist/chunks/analyze-result-contract-DUv3QnMl.js +29 -0
- package/dist/chunks/{braces-CbO-aIwH.js → braces-BKimshER.cjs} +1 -1
- package/dist/chunks/{code-editor-BpADiIlq.js → code-editor-B4gTfvc5.js} +6800 -6560
- package/dist/chunks/code-editor-BYVorgOf.cjs +138 -0
- package/dist/chunks/common-types-CQ6SHfLk.cjs +1 -0
- package/dist/chunks/{common-types-ClkOI-3O.js → common-types-DFsDdpH7.js} +22 -21
- package/dist/chunks/dashboard-CAiwJW3L.cjs +1397 -0
- package/dist/chunks/{dashboard-briefing-launcher-Bg_SeBV8.js → dashboard-briefing-launcher-2SLNOaTg.js} +26 -24
- package/dist/chunks/{dashboard-briefing-launcher-Do6ZcOj4.js → dashboard-briefing-launcher-CHwjpUYz.cjs} +2 -2
- package/dist/chunks/{dashboard-controls-Da9MkPaf.js → dashboard-controls-BfL14aqO.js} +11 -9
- package/dist/chunks/{dashboard-controls-CYBi_mes.js → dashboard-controls-BgGTg4yw.cjs} +2 -2
- package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +1 -0
- package/dist/chunks/dashboard-json-BOv8tCa9.cjs +1 -0
- package/dist/chunks/{dashboard-json-BtrdGo1U.js → dashboard-json-BZwq3EcS.js} +14 -12
- package/dist/chunks/{dashboard-CJNVq8XI.js → dashboard-u61yfU6u.js} +50081 -47351
- package/dist/chunks/edit-dashboard-visual-BdVCH0DJ.cjs +182 -0
- package/dist/chunks/{edit-dashboard-visual-kE6_3R3j.js → edit-dashboard-visual-njLPYip3.js} +6799 -6652
- package/dist/chunks/{editor-action-buttons-DROkx4PS.js → editor-action-buttons-BhLX5Q6m.js} +24 -23
- package/dist/chunks/{editor-action-buttons-8_CQa8Hb.js → editor-action-buttons-CBVMFipA.cjs} +1 -1
- package/dist/chunks/{index-D7KJindZ.js → format-types-CSv0V7mm.cjs} +1 -1
- package/dist/chunks/{index-CnujJ3fa.js → format-types-CZH5w1lo.js} +23 -17
- package/dist/chunks/{layout-grid-B08pP7v6.js → layout-grid-3-HWzEwU.cjs} +1 -1
- package/dist/chunks/{metric-comparison-CPoDx56y.js → metric-comparison-BJ_Qu1ZF.js} +1 -1
- package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +1 -0
- package/dist/chunks/{palette-C0yjT5Tv.js → palette-DW_l7Jr0.cjs} +1 -1
- package/dist/chunks/pivot-result-identity-B6QCWOSi.js +94 -0
- package/dist/chunks/pivot-result-identity-CDLRT-YG.cjs +1 -0
- package/dist/chunks/pivot-result-lifecycle-BM3Pl-D1.js +914 -0
- package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +4 -0
- package/dist/chunks/presentation-execution-BTV-Q43g.cjs +1 -0
- package/dist/chunks/presentation-execution-CGlb7YZ6.js +637 -0
- package/dist/chunks/{report-preferences-dialog-Dq7rmN93.js → report-preferences-dialog-D_NJu2wU.js} +7 -6
- package/dist/chunks/report-preferences-dialog-r8QzOSFb.cjs +1 -0
- package/dist/chunks/report-runtime-context-C8LZFsqV.cjs +1 -0
- package/dist/chunks/report-runtime-context-Qzn11HQe.js +387 -0
- package/dist/chunks/{save-Xdc4pnys.js → save-4_uMnE6s.cjs} +1 -1
- package/dist/chunks/{search-Dcud9ajy.js → search-6ZmeMq55.cjs} +1 -1
- package/dist/chunks/temporal-bucket-BnPxGrAi.js +446 -0
- package/dist/chunks/temporal-bucket-authoring-BUZMuVca.js +205 -0
- package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +1 -0
- package/dist/chunks/temporal-bucket-contract-B2bJ1oe4.js +108 -0
- package/dist/chunks/temporal-bucket-contract-ChDBWX8I.cjs +1 -0
- package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +1 -0
- package/dist/chunks/{comparison-document-migration-Dj6xZMCb.js → temporal-result-owner-Cb27SSG9.js} +152 -123
- package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +1 -0
- package/dist/chunks/token-types-BdQ8kHBm.cjs +1 -0
- package/dist/chunks/token-types-DLo91nOf.js +8 -0
- package/dist/chunks/{update-policy-DnF_74zC.js → update-policy-BxvYMYz0.cjs} +1 -1
- package/dist/chunks/{update-policy-De2NswtM.js → update-policy-eg59mQqv.js} +1 -1
- package/dist/chunks/validators-9D4KBqKD.cjs +1 -0
- package/dist/chunks/validators-wZ2WlNHc.js +4640 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +136 -126
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- package/dist/data-app-codegen/index.cjs +1 -1
- package/dist/data-app-codegen/index.js +2 -2
- package/dist/data-app-codegen-node/index.cjs +1 -1
- package/dist/data-app-codegen-node/index.js +3 -3
- package/dist/data-app-sdk/index.cjs +2 -2
- package/dist/data-app-sdk/index.js +34 -35
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +5 -5
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +9 -10
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +155 -176
- package/dist/index.cjs +1 -1
- package/dist/index.js +180 -174
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +7 -392
- package/dist/shared/index.cjs +1 -1
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +3 -3
- package/dist/types/analytics-protocol.d.ts +257 -48
- package/dist/types/briefings.d.ts +138 -50
- package/dist/types/dashboard-assistant.d.ts +207 -52
- package/dist/types/dashboard-authoring.d.ts +182 -50
- package/dist/types/dashboard.d.ts +290 -48
- package/dist/types/data-app-builder.d.ts +48 -42
- package/dist/types/data-app-codegen-node.d.ts +50 -44
- package/dist/types/data-app-codegen.d.ts +50 -44
- package/dist/types/data-app-sdk-adapters.d.ts +48 -42
- package/dist/types/data-app-sdk-validation.d.ts +81 -43
- package/dist/types/data-app-sdk.d.ts +83 -45
- package/dist/types/format-utils.d.ts +645 -67
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +19 -19
- package/dist/types/main.d.ts +298 -94
- package/dist/types/report-runtime-context.d.ts +3 -0
- package/dist/types/shared.d.ts +116 -41
- package/dist/types/surfboard.d.ts +290 -48
- package/dist/types/types.d.ts +455 -65
- package/package.json +3 -1
- package/dist/chunks/analyze-result-contract-BswhsmWT.js +0 -1
- package/dist/chunks/analyze-result-contract-CfOBEwaC.js +0 -1998
- package/dist/chunks/code-editor-M7HTUhdF.js +0 -138
- package/dist/chunks/common-types-C73-Ud1-.js +0 -1
- package/dist/chunks/comparison-document-migration-DbU_BTxR.js +0 -1
- package/dist/chunks/csv-utils-BZDvO2Fw.js +0 -376
- package/dist/chunks/csv-utils-Co0WxHke.js +0 -4
- package/dist/chunks/dashboard-DxZuqe8t.js +0 -1402
- package/dist/chunks/dashboard-date-comparison-definition-DGZr3m-b.js +0 -1
- package/dist/chunks/dashboard-json-ezLyW7AK.js +0 -1
- package/dist/chunks/edit-dashboard-visual-DEb9MeSM.js +0 -182
- package/dist/chunks/metric-comparison-DVy3fll_.js +0 -1
- package/dist/chunks/numeric-presentation-BJs5lSar.js +0 -517
- package/dist/chunks/numeric-presentation-Dlb-Dk4c.js +0 -1
- package/dist/chunks/report-preferences-dialog-D5sIaFnb.js +0 -1
- package/dist/chunks/source-identity-5OPV4gvg.js +0 -92
- package/dist/chunks/source-identity-Cbo2LOHQ.js +0 -1
- package/dist/chunks/validators-B2vUAqTf.js +0 -1
- package/dist/chunks/validators-Bce_J7Vd.js +0 -2448
- /package/dist/chunks/{card-config-utils-15sRtebL.js → card-config-utils-15sRtebL.cjs} +0 -0
- /package/dist/chunks/{catalog-field-grounding-Bnx-3tE0.js → catalog-field-grounding-Bnx-3tE0.cjs} +0 -0
- /package/dist/chunks/{dashboard-input-contract-DV3cshjz.js → dashboard-input-contract-DV3cshjz.cjs} +0 -0
- /package/dist/chunks/{index-Dpm_VET4.js → index-Dpm_VET4.cjs} +0 -0
- /package/dist/chunks/{index-jSrCwPQz.js → index-jSrCwPQz.cjs} +0 -0
- /package/dist/chunks/{normalize-dashboard-for-dirty-check-BXRUMVb2.js → normalize-dashboard-for-dirty-check-BXRUMVb2.cjs} +0 -0
- /package/dist/chunks/{operators-DrTQsJXv.js → operators-DrTQsJXv.cjs} +0 -0
- /package/dist/chunks/{use-debounced-dirty-check-XHSwAefL.js → use-debounced-dirty-check-XHSwAefL.cjs} +0 -0
package/dist/types/main.d.ts
CHANGED
|
@@ -468,7 +468,7 @@ declare type AsyncMutation<TInput, TOutput> = {
|
|
|
468
468
|
|
|
469
469
|
export declare type AuthoritativeExportFormattingConfig = ExportFormattingConfig & {
|
|
470
470
|
comparisonPresentation: ComparisonPresentationSpec;
|
|
471
|
-
|
|
471
|
+
resolvedFormats: ResolvedPresentationEntry[];
|
|
472
472
|
};
|
|
473
473
|
|
|
474
474
|
export declare type AuthToken = {
|
|
@@ -537,6 +537,8 @@ declare type BaseFilter = {
|
|
|
537
537
|
dataType?: string;
|
|
538
538
|
fieldMeta?: FilterFieldMeta;
|
|
539
539
|
semanticContext?: FilterSemanticContext;
|
|
540
|
+
/** Governed meaning for canonical grouped-temporal filter values. */
|
|
541
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
540
542
|
};
|
|
541
543
|
|
|
542
544
|
export declare interface BaseInteractionEvent {
|
|
@@ -846,9 +848,9 @@ export declare type BriefingFormDraft = {
|
|
|
846
848
|
limits: BriefingLimits;
|
|
847
849
|
};
|
|
848
850
|
|
|
849
|
-
export declare function briefingFormDraftToCreateRequest(draft: BriefingFormDraft): CreateBriefingRequest;
|
|
851
|
+
export declare function briefingFormDraftToCreateRequest(draft: BriefingFormDraft, resolvedFormats?: ResolvedPresentationEntry[]): CreateBriefingRequest;
|
|
850
852
|
|
|
851
|
-
export declare function briefingFormDraftToUpdateRequest(draft: BriefingFormDraft): UpdateBriefingRequest;
|
|
853
|
+
export declare function briefingFormDraftToUpdateRequest(draft: BriefingFormDraft, resolvedFormats?: ResolvedPresentationEntry[]): UpdateBriefingRequest;
|
|
852
854
|
|
|
853
855
|
export declare type BriefingFormOutputDraft = {
|
|
854
856
|
artifactFormats: BriefingArtifactFormat[];
|
|
@@ -895,6 +897,7 @@ declare type BriefingFragments = {
|
|
|
895
897
|
export declare type BriefingJobConfig = {
|
|
896
898
|
kind: BriefingKind;
|
|
897
899
|
reportContext: ReportRuntimeContext;
|
|
900
|
+
resolvedFormats?: ResolvedPresentationEntry[];
|
|
898
901
|
source: BriefingSource;
|
|
899
902
|
body: BriefingBody;
|
|
900
903
|
attachments: BriefingAttachment[];
|
|
@@ -1296,7 +1299,17 @@ export declare function cancelExport(apiServiceUrl: string, token: string, expor
|
|
|
1296
1299
|
|
|
1297
1300
|
declare type CanonicalDurationUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
1298
1301
|
|
|
1299
|
-
export declare type CanonicalFormatSpec = NumericCanonicalFormat | DateCanonicalFormat | DurationCanonicalFormat | StringCanonicalFormat;
|
|
1302
|
+
export declare type CanonicalFormatSpec = NumericCanonicalFormat | DateCanonicalFormat | DurationCanonicalFormat | StringCanonicalFormat | TemporalBucketFormat;
|
|
1303
|
+
|
|
1304
|
+
declare type CanonicalPivotResultContract = {
|
|
1305
|
+
version: 1;
|
|
1306
|
+
expectedRoleFieldIds: PivotResultExpectedRoleFieldIds;
|
|
1307
|
+
expectedMetricAliases: readonly string[];
|
|
1308
|
+
columnKinds: Readonly<Record<string, PivotResultColumnKind>>;
|
|
1309
|
+
columnClassifications: Readonly<Record<string, PivotResultColumnClassification | undefined>>;
|
|
1310
|
+
};
|
|
1311
|
+
|
|
1312
|
+
declare type CanonicalPivotResultState = 'loaded_empty' | 'loaded_valid';
|
|
1300
1313
|
|
|
1301
1314
|
export declare interface CardConfig {
|
|
1302
1315
|
/**
|
|
@@ -1359,9 +1372,6 @@ export declare interface CardConfig {
|
|
|
1359
1372
|
* Configuration for on-click dashboard filters triggered by this card.
|
|
1360
1373
|
*/
|
|
1361
1374
|
clickFilterInteractions?: ClickFilterInteraction[];
|
|
1362
|
-
showTrendline?: boolean;
|
|
1363
|
-
trendlineWindow?: number;
|
|
1364
|
-
trendlineGranularity?: 'day' | 'week' | 'month';
|
|
1365
1375
|
summary?: {
|
|
1366
1376
|
enabled?: boolean;
|
|
1367
1377
|
showOnCard?: boolean;
|
|
@@ -1437,8 +1447,10 @@ export declare interface ClickedMetricValue {
|
|
|
1437
1447
|
export declare interface ClickFilterCondition {
|
|
1438
1448
|
field: Field;
|
|
1439
1449
|
operator: Operator;
|
|
1440
|
-
value: string | number;
|
|
1450
|
+
value: string | number | null;
|
|
1441
1451
|
label?: string;
|
|
1452
|
+
/** Governed meaning for a canonical grouped-temporal scalar. */
|
|
1453
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
1442
1454
|
}
|
|
1443
1455
|
|
|
1444
1456
|
export declare interface ClickFilterConditionGroup {
|
|
@@ -1785,7 +1797,10 @@ export declare type ControlOption = {
|
|
|
1785
1797
|
label: string;
|
|
1786
1798
|
presentation?: {
|
|
1787
1799
|
granularity?: TimeGranularity;
|
|
1800
|
+
format?: TemporalBucketFormat;
|
|
1801
|
+
/** Saved-dashboard compatibility only. New authoring writes `format`. */
|
|
1788
1802
|
dateFormat?: DateFormatValue;
|
|
1803
|
+
/** Saved-dashboard compatibility only. New authoring writes `format`. */
|
|
1789
1804
|
customFormat?: string;
|
|
1790
1805
|
};
|
|
1791
1806
|
};
|
|
@@ -1827,6 +1842,7 @@ export declare type CreateBriefingRequest = {
|
|
|
1827
1842
|
presentation: BriefingPresentation;
|
|
1828
1843
|
limits?: BriefingLimits;
|
|
1829
1844
|
deliveryConfig: BriefingDeliveryConfig | null;
|
|
1845
|
+
resolvedFormats?: ResolvedPresentationEntry[];
|
|
1830
1846
|
};
|
|
1831
1847
|
|
|
1832
1848
|
/**
|
|
@@ -1850,6 +1866,9 @@ export declare interface CreateExportRequest {
|
|
|
1850
1866
|
title?: string;
|
|
1851
1867
|
connection_id: string;
|
|
1852
1868
|
cardType: string;
|
|
1869
|
+
sql: string;
|
|
1870
|
+
python: string;
|
|
1871
|
+
resultOwner: TemporalResultOwner;
|
|
1853
1872
|
cardConfig: CardConfig;
|
|
1854
1873
|
cardDataSource: DataSource;
|
|
1855
1874
|
active_filters: TFilterValue[];
|
|
@@ -2352,6 +2371,11 @@ export declare type DashboardProps = {
|
|
|
2352
2371
|
* inputs instead of documentInputValues.
|
|
2353
2372
|
*/
|
|
2354
2373
|
dashboardInputExecutionSnapshot?: DashboardInputExecutionSnapshot;
|
|
2374
|
+
/**
|
|
2375
|
+
* Runtime interaction state captured for deterministic print/replay entry
|
|
2376
|
+
* points. Ordinary dashboard consumers should leave this unset.
|
|
2377
|
+
*/
|
|
2378
|
+
interactionExecutionSnapshot?: Record<string, InteractionState>;
|
|
2355
2379
|
/**
|
|
2356
2380
|
* Render target for print entry points. Generic dashboard PDF exports also
|
|
2357
2381
|
* use cardDisplay.mode="print"; document-specific print handling must only
|
|
@@ -2867,7 +2891,9 @@ export declare type DocumentVariableRef = {
|
|
|
2867
2891
|
key: 'generatedAt' | 'pageNumber' | 'pageCount';
|
|
2868
2892
|
};
|
|
2869
2893
|
|
|
2870
|
-
export declare
|
|
2894
|
+
export declare type DomainCalculatedDimension = SemanticGroupedTemporalInput<DomainCalculatedDimensionBase>;
|
|
2895
|
+
|
|
2896
|
+
declare type DomainCalculatedDimensionBase = {
|
|
2871
2897
|
name: string;
|
|
2872
2898
|
label: string;
|
|
2873
2899
|
description?: string;
|
|
@@ -2875,7 +2901,7 @@ export declare interface DomainCalculatedDimension {
|
|
|
2875
2901
|
inputs: Record<string, DimensionInputReference>;
|
|
2876
2902
|
dataType?: DataType;
|
|
2877
2903
|
tags?: string[];
|
|
2878
|
-
}
|
|
2904
|
+
};
|
|
2879
2905
|
|
|
2880
2906
|
export declare interface DomainCalculatedMetric {
|
|
2881
2907
|
name: string;
|
|
@@ -2884,7 +2910,7 @@ export declare interface DomainCalculatedMetric {
|
|
|
2884
2910
|
expression: string;
|
|
2885
2911
|
inputs: Record<string, InputReference>;
|
|
2886
2912
|
metricType?: 'base' | 'derived' | 'calculated';
|
|
2887
|
-
format?:
|
|
2913
|
+
format?: ScalarFormatSpec;
|
|
2888
2914
|
tags?: string[];
|
|
2889
2915
|
isCertified?: boolean;
|
|
2890
2916
|
aggregationStrategy?: AggregationStrategy;
|
|
@@ -3352,7 +3378,7 @@ export declare interface ExportFormattingConfig {
|
|
|
3352
3378
|
visibleColumns?: string[];
|
|
3353
3379
|
columnLabels?: Record<string, string>;
|
|
3354
3380
|
tableTotalsLabelColumnKey?: string;
|
|
3355
|
-
|
|
3381
|
+
resolvedFormats?: ResolvedPresentationEntry[];
|
|
3356
3382
|
comparisonPresentation?: ComparisonPresentationSpec;
|
|
3357
3383
|
}
|
|
3358
3384
|
|
|
@@ -3444,8 +3470,9 @@ declare type ExportStoreState = {
|
|
|
3444
3470
|
|
|
3445
3471
|
export declare interface Field {
|
|
3446
3472
|
/**
|
|
3447
|
-
*
|
|
3448
|
-
*
|
|
3473
|
+
* Stable authored/semantic field identifier (for joins, UI state, etc.).
|
|
3474
|
+
* It is normally unique within a role, but one saved query may reuse it in
|
|
3475
|
+
* different roles; result bindings must therefore include the role.
|
|
3449
3476
|
* Example: 'orders.customer_id', 'expr_12345', etc.
|
|
3450
3477
|
*/
|
|
3451
3478
|
id: string;
|
|
@@ -3487,6 +3514,12 @@ export declare interface Field {
|
|
|
3487
3514
|
*/
|
|
3488
3515
|
derivedField?: SemaphorDerivedFieldDefinition;
|
|
3489
3516
|
format?: FormatSpec;
|
|
3517
|
+
/**
|
|
3518
|
+
* Source-level temporal presentation keeps the semantic grain that authored
|
|
3519
|
+
* the format. The card's mutable `granularity` remains the active query
|
|
3520
|
+
* grain, so changing it cannot accidentally retarget a semantic default.
|
|
3521
|
+
*/
|
|
3522
|
+
semanticTemporalPresentation?: SemanticTemporalPresentation;
|
|
3490
3523
|
aggregate?: AggregateFunction;
|
|
3491
3524
|
fieldScope?: FieldScope;
|
|
3492
3525
|
}
|
|
@@ -3530,6 +3563,10 @@ export declare interface FilterCondition {
|
|
|
3530
3563
|
field: Field;
|
|
3531
3564
|
operator: Operator;
|
|
3532
3565
|
value: FilterValue;
|
|
3566
|
+
/** Display-only label for canonical grouped-temporal values. */
|
|
3567
|
+
label?: string;
|
|
3568
|
+
/** Governed meaning for a canonical grouped-temporal scalar. */
|
|
3569
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
3533
3570
|
}
|
|
3534
3571
|
|
|
3535
3572
|
export declare type FilterDashboardInput = DashboardInputBase & {
|
|
@@ -3711,7 +3748,7 @@ export declare type FormatSpec = {
|
|
|
3711
3748
|
type: 'string';
|
|
3712
3749
|
prefix?: string;
|
|
3713
3750
|
suffix?: string;
|
|
3714
|
-
};
|
|
3751
|
+
} | TemporalBucketFormat;
|
|
3715
3752
|
|
|
3716
3753
|
export declare function getBriefing(apiServiceUrl: string, token: string, briefingId: string): Promise<{
|
|
3717
3754
|
briefing: BriefingDetail;
|
|
@@ -3763,7 +3800,7 @@ export declare function getExportStatus(apiServiceUrl: string, token: string, ex
|
|
|
3763
3800
|
|
|
3764
3801
|
export declare function getFieldRuntimeColumnName(field: Pick<Field, 'name' | 'sourceField'> | null | undefined): string;
|
|
3765
3802
|
|
|
3766
|
-
export declare function getFilterValueType(filter: TFilter): "
|
|
3803
|
+
export declare function getFilterValueType(filter: TFilter): "string" | "boolean" | "number" | "date";
|
|
3767
3804
|
|
|
3768
3805
|
export declare function getFormattedTableNameForQuery({ schemaName, tableName, modelName, databaseName, capabilities, connectionType, }: {
|
|
3769
3806
|
schemaName: string;
|
|
@@ -3806,7 +3843,7 @@ declare type GlobalDateComparisonSelection = {
|
|
|
3806
3843
|
spec: ViewerPeriodComparisonSpec;
|
|
3807
3844
|
};
|
|
3808
3845
|
|
|
3809
|
-
export declare type Granularity =
|
|
3846
|
+
export declare type Granularity = SemaphorTimeGrain;
|
|
3810
3847
|
|
|
3811
3848
|
export declare interface GroupByColumn extends BaseColumn {
|
|
3812
3849
|
role: 'groupby';
|
|
@@ -3817,6 +3854,11 @@ export declare interface GroupByColumn extends BaseColumn {
|
|
|
3817
3854
|
export declare interface GroupByField extends Field {
|
|
3818
3855
|
role: 'groupby';
|
|
3819
3856
|
granularity?: TimeGranularity;
|
|
3857
|
+
/**
|
|
3858
|
+
* Query transport policy for grouped temporal values. This is projected
|
|
3859
|
+
* into executable card config and is not persisted authoring state.
|
|
3860
|
+
*/
|
|
3861
|
+
dateValueMode?: 'canonical' | 'formatted';
|
|
3820
3862
|
/**
|
|
3821
3863
|
* Optional SQL expression for grouping (e.g., DATE_TRUNC('month', order_date)).
|
|
3822
3864
|
* If present, used in SELECT and GROUP BY instead of just the column name.
|
|
@@ -3826,6 +3868,17 @@ export declare interface GroupByField extends Field {
|
|
|
3826
3868
|
calculatedFormula?: CalculatedFieldFormula;
|
|
3827
3869
|
}
|
|
3828
3870
|
|
|
3871
|
+
/**
|
|
3872
|
+
* Authoring boundary for a dashboard field that is known to be grouped by a
|
|
3873
|
+
* temporal grain. The broad persisted field types remain intentionally
|
|
3874
|
+
* compatible with unmigrated/non-temporal fields; new temporal writers use
|
|
3875
|
+
* this boundary instead.
|
|
3876
|
+
*/
|
|
3877
|
+
declare type GroupedTemporalAuthoringInput<TBase extends object> = Omit<TBase, 'granularity' | 'format'> & {
|
|
3878
|
+
granularity: SemaphorTimeGrain;
|
|
3879
|
+
format?: TemporalBucketFormat;
|
|
3880
|
+
};
|
|
3881
|
+
|
|
3829
3882
|
export declare function hasCalculatedFieldMarker(field: Pick<Field, 'entityName' | 'entityId'> | null | undefined): boolean;
|
|
3830
3883
|
|
|
3831
3884
|
export declare function hasCalculatedFormulaInputs(field: Field | null | undefined): boolean;
|
|
@@ -4139,7 +4192,7 @@ declare type MatrixAxisLevelDescriptor = {
|
|
|
4139
4192
|
fieldKey: string;
|
|
4140
4193
|
label: string;
|
|
4141
4194
|
field: SemaphorFieldRef;
|
|
4142
|
-
grain?:
|
|
4195
|
+
grain?: SemaphorMatrixTimeGrain;
|
|
4143
4196
|
subtotal?: SemaphorMatrixSubtotalOptions;
|
|
4144
4197
|
};
|
|
4145
4198
|
|
|
@@ -4351,7 +4404,7 @@ declare type MatrixMeasureDescriptor = {
|
|
|
4351
4404
|
label: string;
|
|
4352
4405
|
field: SemaphorFieldRef;
|
|
4353
4406
|
aggregate?: SemaphorAggregateFunction;
|
|
4354
|
-
format?:
|
|
4407
|
+
format?: SemaphorScalarValueFormat;
|
|
4355
4408
|
totalBehavior?: SemaphorMatrixTotalCalculation;
|
|
4356
4409
|
};
|
|
4357
4410
|
|
|
@@ -4365,7 +4418,7 @@ declare type MatrixMeasureSemantics = {
|
|
|
4365
4418
|
} | {
|
|
4366
4419
|
kind: 'semiAdditive';
|
|
4367
4420
|
aggregate?: SemaphorAggregateFunction;
|
|
4368
|
-
grain?:
|
|
4421
|
+
grain?: SemaphorMatrixTimeGrain;
|
|
4369
4422
|
} | {
|
|
4370
4423
|
kind: 'nonAdditive';
|
|
4371
4424
|
aggregate?: SemaphorAggregateFunction;
|
|
@@ -4573,7 +4626,7 @@ declare type MetricComparisonSpec = {
|
|
|
4573
4626
|
targetValue: number;
|
|
4574
4627
|
};
|
|
4575
4628
|
|
|
4576
|
-
declare type MetricComparisonWindowGrain =
|
|
4629
|
+
declare type MetricComparisonWindowGrain = SemaphorTimeGrain;
|
|
4577
4630
|
|
|
4578
4631
|
export declare interface MetricField extends Field {
|
|
4579
4632
|
role: 'metric';
|
|
@@ -4698,15 +4751,6 @@ export declare type NumberOptions = {
|
|
|
4698
4751
|
colorRanges?: ColorRange[];
|
|
4699
4752
|
};
|
|
4700
4753
|
|
|
4701
|
-
/**
|
|
4702
|
-
* Shared format types for export system
|
|
4703
|
-
* IMPORTANT: No React imports allowed in this file
|
|
4704
|
-
*
|
|
4705
|
-
* These types are used by:
|
|
4706
|
-
* - react-semaphor (browser) for client-side exports
|
|
4707
|
-
* - semaphor-app (Next.js) for API routes
|
|
4708
|
-
* - Lambda (Node.js) for async export processing
|
|
4709
|
-
*/
|
|
4710
4754
|
declare type NumericCanonicalFormat = {
|
|
4711
4755
|
type: 'number' | 'currency' | 'percent' | 'scientific';
|
|
4712
4756
|
locale?: string;
|
|
@@ -4722,16 +4766,6 @@ declare type NumericCanonicalFormat = {
|
|
|
4722
4766
|
percentValueMode?: 'fraction' | 'whole';
|
|
4723
4767
|
};
|
|
4724
4768
|
|
|
4725
|
-
declare type NumericPresentationSnapshotEntry = {
|
|
4726
|
-
scope: {
|
|
4727
|
-
dashboardId: string;
|
|
4728
|
-
cardId?: string;
|
|
4729
|
-
attachmentIndex?: number;
|
|
4730
|
-
};
|
|
4731
|
-
target: NumericPresentationTarget;
|
|
4732
|
-
format: NumericCanonicalFormat;
|
|
4733
|
-
};
|
|
4734
|
-
|
|
4735
4769
|
declare type NumericPresentationTarget = {
|
|
4736
4770
|
kind: 'metric';
|
|
4737
4771
|
metricId: string;
|
|
@@ -4802,6 +4836,11 @@ export declare type PersistedInteraction = Interaction & {
|
|
|
4802
4836
|
|
|
4803
4837
|
export declare interface PivotByField extends Field {
|
|
4804
4838
|
role: 'pivotby';
|
|
4839
|
+
/**
|
|
4840
|
+
* Query transport policy for grouped temporal pivot members. This is
|
|
4841
|
+
* projected into executable config and is never persisted authoring state.
|
|
4842
|
+
*/
|
|
4843
|
+
dateValueMode?: 'canonical' | 'formatted';
|
|
4805
4844
|
}
|
|
4806
4845
|
|
|
4807
4846
|
export declare interface PivotColumnSchema {
|
|
@@ -4810,7 +4849,8 @@ export declare interface PivotColumnSchema {
|
|
|
4810
4849
|
metricId: string;
|
|
4811
4850
|
metricName: string;
|
|
4812
4851
|
metricLabel?: string;
|
|
4813
|
-
pivotValues:
|
|
4852
|
+
pivotValues: SemaphorPivotValue[];
|
|
4853
|
+
pivotFieldIds?: string[];
|
|
4814
4854
|
pivotFields?: string[];
|
|
4815
4855
|
displayLabel?: string;
|
|
4816
4856
|
isPivotColumn?: boolean;
|
|
@@ -4844,6 +4884,15 @@ export declare enum PivotMarkerEnum {
|
|
|
4844
4884
|
ALL = "__ALL__"
|
|
4845
4885
|
}
|
|
4846
4886
|
|
|
4887
|
+
declare type PivotResultColumnClassification = {
|
|
4888
|
+
isSubtotal?: boolean;
|
|
4889
|
+
subtotalScope?: 'base' | 'pivot-value' | 'grand-total';
|
|
4890
|
+
};
|
|
4891
|
+
|
|
4892
|
+
declare type PivotResultColumnKind = 'row' | 'pivot_metric' | 'value';
|
|
4893
|
+
|
|
4894
|
+
declare type PivotResultExpectedRoleFieldIds = Readonly<Partial<Record<QueryColumnKeyRole, readonly string[]>>>;
|
|
4895
|
+
|
|
4847
4896
|
export declare type Placeholders = {
|
|
4848
4897
|
/**
|
|
4849
4898
|
* Placeholder for the card when there are no records to display.
|
|
@@ -4859,6 +4908,12 @@ export declare type PluginType = 'custom' | 'standard';
|
|
|
4859
4908
|
|
|
4860
4909
|
export declare function polishBriefingText(apiServiceUrl: string, token: string, text: string): Promise<string>;
|
|
4861
4910
|
|
|
4911
|
+
declare type PresentationScope = {
|
|
4912
|
+
dashboardId: string;
|
|
4913
|
+
cardId?: string;
|
|
4914
|
+
attachmentIndex?: number;
|
|
4915
|
+
};
|
|
4916
|
+
|
|
4862
4917
|
export declare function previewBriefingPlan(apiServiceUrl: string, token: string, payload: CreateBriefingRequest): Promise<PreviewBriefingPlanResponse>;
|
|
4863
4918
|
|
|
4864
4919
|
export declare type PreviewBriefingPlanResponse = {
|
|
@@ -4874,12 +4929,17 @@ export declare type PrintState = {
|
|
|
4874
4929
|
|
|
4875
4930
|
export declare type QueryColumn = GroupByColumn | MetricColumn | FilterByColumn;
|
|
4876
4931
|
|
|
4877
|
-
export declare
|
|
4932
|
+
export declare type QueryColumnKeyMap = QueryColumnKeyMap_2;
|
|
4933
|
+
|
|
4934
|
+
declare interface QueryColumnKeyMap_2 {
|
|
4878
4935
|
version: 1;
|
|
4879
4936
|
source: 'explorer';
|
|
4880
|
-
|
|
4937
|
+
byRole: QueryColumnKeyMapByRole;
|
|
4938
|
+
byMetricAlias?: Record<string, QueryColumnKeyMapEntry>;
|
|
4881
4939
|
}
|
|
4882
4940
|
|
|
4941
|
+
export declare type QueryColumnKeyMapByRole = Partial<Record<QueryColumnKeyRole, Record<string, QueryColumnKeyMapEntry>>>;
|
|
4942
|
+
|
|
4883
4943
|
export declare interface QueryColumnKeyMapEntry {
|
|
4884
4944
|
role: QueryColumnKeyRole;
|
|
4885
4945
|
rawKey: string;
|
|
@@ -4903,6 +4963,11 @@ export declare interface QueryConfig {
|
|
|
4903
4963
|
*/
|
|
4904
4964
|
export declare interface QueryExecutionResponse {
|
|
4905
4965
|
records: any[];
|
|
4966
|
+
/** Execution owner captured with these exact result rows. */
|
|
4967
|
+
resultOwner?: TemporalResultOwner;
|
|
4968
|
+
pivotResultState?: CanonicalPivotResultState;
|
|
4969
|
+
pivotResultContract?: CanonicalPivotResultContract;
|
|
4970
|
+
columns?: SemaphorResultColumn[];
|
|
4906
4971
|
output: string;
|
|
4907
4972
|
rowLimitExceeded: boolean;
|
|
4908
4973
|
sql?: string;
|
|
@@ -5063,7 +5128,23 @@ declare type ResolvedMetricComparisonRequest = {
|
|
|
5063
5128
|
owner?: DashboardDateComparisonOwner;
|
|
5064
5129
|
};
|
|
5065
5130
|
|
|
5066
|
-
declare type
|
|
5131
|
+
declare type ResolvedNumericPresentationEntry = {
|
|
5132
|
+
scope: PresentationScope;
|
|
5133
|
+
target: NumericPresentationTarget;
|
|
5134
|
+
format: NumericCanonicalFormat;
|
|
5135
|
+
};
|
|
5136
|
+
|
|
5137
|
+
declare type ResolvedPresentationEntry = ResolvedNumericPresentationEntry | ResolvedTemporalBucketPresentationEntry;
|
|
5138
|
+
|
|
5139
|
+
declare type ResolvedPrimaryDateField = (ResolvedPrimaryDateFieldBase & ({
|
|
5140
|
+
defaultGranularity?: SemaphorTimeGrain;
|
|
5141
|
+
format?: undefined;
|
|
5142
|
+
} | {
|
|
5143
|
+
defaultGranularity: SemaphorTimeGrain;
|
|
5144
|
+
format: TemporalBucketFormat;
|
|
5145
|
+
})) | null;
|
|
5146
|
+
|
|
5147
|
+
declare type ResolvedPrimaryDateFieldBase = {
|
|
5067
5148
|
sourceDataset: string;
|
|
5068
5149
|
sourceField: string;
|
|
5069
5150
|
name: string;
|
|
@@ -5073,13 +5154,20 @@ declare type ResolvedPrimaryDateField = {
|
|
|
5073
5154
|
entityName: string;
|
|
5074
5155
|
entityType: string;
|
|
5075
5156
|
dataType: string;
|
|
5076
|
-
/** Canonical dataset coordinates stamped by the
|
|
5157
|
+
/** Canonical dataset coordinates stamped by the semantic grounding boundary. */
|
|
5077
5158
|
source?: SemaphorSourceRef;
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5159
|
+
supportedGranularities?: SemaphorTimeGrain[];
|
|
5160
|
+
};
|
|
5161
|
+
|
|
5162
|
+
declare type ResolvedTemporalBucketFormat = TemporalBucketFormat & {
|
|
5163
|
+
locale: string;
|
|
5164
|
+
};
|
|
5165
|
+
|
|
5166
|
+
declare type ResolvedTemporalBucketPresentationEntry = {
|
|
5167
|
+
scope: PresentationScope;
|
|
5168
|
+
target: TemporalBucketPresentationTarget;
|
|
5169
|
+
format: ResolvedTemporalBucketFormat;
|
|
5170
|
+
};
|
|
5083
5171
|
|
|
5084
5172
|
declare type ResolvedValueFormatPreferences = {
|
|
5085
5173
|
locale: string;
|
|
@@ -5101,6 +5189,10 @@ declare type ResolvedValueFormatPreferenceSources = {
|
|
|
5101
5189
|
defaultCurrency: ReportPreferenceSource;
|
|
5102
5190
|
};
|
|
5103
5191
|
|
|
5192
|
+
export declare function resolveQueryColumnKeyMapEntry(columnKeyMap: QueryColumnKeyMap_2 | undefined, fieldId: string, role: QueryColumnKeyRole): QueryColumnKeyMapEntry | undefined;
|
|
5193
|
+
|
|
5194
|
+
export declare function resolveUniqueQueryColumnKeyMapEntry(columnKeyMap: QueryColumnKeyMap_2 | undefined, fieldId: string): QueryColumnKeyMapEntry | undefined;
|
|
5195
|
+
|
|
5104
5196
|
export declare interface ResourceListItem {
|
|
5105
5197
|
id: string;
|
|
5106
5198
|
title: string;
|
|
@@ -5177,6 +5269,8 @@ export declare type RunBriefingPreviewResponse = {
|
|
|
5177
5269
|
dispatch: BriefingDispatchResult | null;
|
|
5178
5270
|
};
|
|
5179
5271
|
|
|
5272
|
+
export declare type ScalarFormatSpec = Exclude<FormatSpec, TemporalBucketFormat>;
|
|
5273
|
+
|
|
5180
5274
|
export declare type SchemaItem = DropdownItem;
|
|
5181
5275
|
|
|
5182
5276
|
export declare type SelectedEntities = SelectedEntity[];
|
|
@@ -5213,6 +5307,24 @@ declare type SemanticExecutionPayload = {
|
|
|
5213
5307
|
}>;
|
|
5214
5308
|
};
|
|
5215
5309
|
|
|
5310
|
+
/**
|
|
5311
|
+
* Semantic temporal input permits total omission, but a format can only exist
|
|
5312
|
+
* in the branch that declares its grain.
|
|
5313
|
+
*/
|
|
5314
|
+
declare type SemanticGroupedTemporalInput<TBase extends object> = (Omit<TBase, 'granularity' | 'format'> & {
|
|
5315
|
+
granularity?: undefined;
|
|
5316
|
+
format?: undefined;
|
|
5317
|
+
}) | GroupedTemporalAuthoringInput<TBase>;
|
|
5318
|
+
|
|
5319
|
+
export declare type SemanticTemporalPresentation = {
|
|
5320
|
+
granularity: SemaphorTimeGrain;
|
|
5321
|
+
format: TemporalBucketFormat;
|
|
5322
|
+
};
|
|
5323
|
+
|
|
5324
|
+
declare const SEMAPHOR_MATRIX_TIME_GRAINS: ["hour", "day", "week", "month", "quarter", "year"];
|
|
5325
|
+
|
|
5326
|
+
declare const SEMAPHOR_TIME_GRAINS: readonly ["second", "minute", "hour", "day", "week", "month", "quarter", "year"];
|
|
5327
|
+
|
|
5216
5328
|
declare type SemaphorAbsoluteTimeWindow = {
|
|
5217
5329
|
kind: 'absolute';
|
|
5218
5330
|
start: string;
|
|
@@ -5289,7 +5401,7 @@ declare type SemaphorDerivedFieldDefinition = {
|
|
|
5289
5401
|
defaultAggregate?: SemaphorAggregateFunction;
|
|
5290
5402
|
aggregationBehavior?: SemaphorDerivedFieldAggregationBehavior;
|
|
5291
5403
|
aggregationStrategy?: SemaphorDerivedFieldAggregationStrategy;
|
|
5292
|
-
format?:
|
|
5404
|
+
format?: SemaphorScalarValueFormat;
|
|
5293
5405
|
tags?: string[];
|
|
5294
5406
|
};
|
|
5295
5407
|
|
|
@@ -5359,7 +5471,7 @@ declare type SemaphorMatrixAxisExpansionOptions = {
|
|
|
5359
5471
|
declare type SemaphorMatrixAxisLevel = {
|
|
5360
5472
|
id?: string;
|
|
5361
5473
|
field: SemaphorFieldRef;
|
|
5362
|
-
grain?:
|
|
5474
|
+
grain?: SemaphorMatrixTimeGrain;
|
|
5363
5475
|
label?: string;
|
|
5364
5476
|
subtotal?: boolean | SemaphorMatrixSubtotalOptions;
|
|
5365
5477
|
sortBy?: SemaphorMatrixAxisSortRule;
|
|
@@ -5475,6 +5587,8 @@ declare type SemaphorMatrixSubtotalOptions = {
|
|
|
5475
5587
|
label?: string;
|
|
5476
5588
|
};
|
|
5477
5589
|
|
|
5590
|
+
declare type SemaphorMatrixTimeGrain = (typeof SEMAPHOR_MATRIX_TIME_GRAINS)[number];
|
|
5591
|
+
|
|
5478
5592
|
declare type SemaphorMatrixTotalCalculation = {
|
|
5479
5593
|
kind: 'defaultAggregate';
|
|
5480
5594
|
} | {
|
|
@@ -5510,7 +5624,7 @@ declare type SemaphorMatrixValueField = {
|
|
|
5510
5624
|
field: SemaphorFieldRef;
|
|
5511
5625
|
aggregate?: SemaphorAggregateFunction;
|
|
5512
5626
|
label?: string;
|
|
5513
|
-
format?:
|
|
5627
|
+
format?: SemaphorScalarValueFormat;
|
|
5514
5628
|
totalBehavior?: SemaphorMatrixTotalCalculation;
|
|
5515
5629
|
};
|
|
5516
5630
|
|
|
@@ -5578,6 +5692,30 @@ declare type SemaphorPaginationRequest = {
|
|
|
5578
5692
|
pageSize: number;
|
|
5579
5693
|
};
|
|
5580
5694
|
|
|
5695
|
+
declare type SemaphorPivotResultColumnIdentity = {
|
|
5696
|
+
metricId: string;
|
|
5697
|
+
/** Collision-safe identity for this configured metric instance. */
|
|
5698
|
+
metricAlias: string;
|
|
5699
|
+
/**
|
|
5700
|
+
* Sole transported tuple identity in configured pivot-axis order. A leaf
|
|
5701
|
+
* carries the complete tuple, a subtotal carries its explicit prefix, and a
|
|
5702
|
+
* metric-only or grand-total column carries an empty tuple.
|
|
5703
|
+
*/
|
|
5704
|
+
members: SemaphorPivotResultMember[];
|
|
5705
|
+
};
|
|
5706
|
+
|
|
5707
|
+
declare type SemaphorPivotResultMember = {
|
|
5708
|
+
/** Stable identity of the configured pivot field. */
|
|
5709
|
+
fieldId: string;
|
|
5710
|
+
/** Canonical pivot member value; labels are resolved only at presentation. */
|
|
5711
|
+
value: SemaphorPivotValue;
|
|
5712
|
+
/** Present when this member is an activated governed temporal bucket. */
|
|
5713
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
5714
|
+
};
|
|
5715
|
+
|
|
5716
|
+
/** Stable canonical scalar transported for one physical pivot member. */
|
|
5717
|
+
declare type SemaphorPivotValue = string | null;
|
|
5718
|
+
|
|
5581
5719
|
declare type SemaphorProtocolVersion = 1;
|
|
5582
5720
|
|
|
5583
5721
|
declare function SemaphorQueryClient({ children, }: {
|
|
@@ -5622,12 +5760,72 @@ declare type SemaphorRelationshipHint = {
|
|
|
5622
5760
|
|
|
5623
5761
|
declare type SemaphorRelativeTimeWindow = {
|
|
5624
5762
|
kind?: 'relative';
|
|
5625
|
-
unit:
|
|
5763
|
+
unit: SemaphorTimeGrain;
|
|
5626
5764
|
value: number;
|
|
5627
5765
|
anchor?: 'now' | 'latest_available';
|
|
5628
5766
|
completeness?: 'include_partial' | 'complete_periods';
|
|
5629
5767
|
};
|
|
5630
5768
|
|
|
5769
|
+
declare type SemaphorResultColumn = {
|
|
5770
|
+
/**
|
|
5771
|
+
* Stable row accessor for this result. Consumers should read values with
|
|
5772
|
+
* `row[column.key]`; labels are display-only and may change.
|
|
5773
|
+
*/
|
|
5774
|
+
key: string;
|
|
5775
|
+
/**
|
|
5776
|
+
* Semantic/source field name before result-key disambiguation.
|
|
5777
|
+
*/
|
|
5778
|
+
name: string;
|
|
5779
|
+
/**
|
|
5780
|
+
* Human-facing display label.
|
|
5781
|
+
*/
|
|
5782
|
+
label: string;
|
|
5783
|
+
role?: SemaphorFieldRef['role'];
|
|
5784
|
+
dataType?: SemaphorFieldRef['dataType'];
|
|
5785
|
+
aggregate?: SemaphorFieldRef['aggregate'];
|
|
5786
|
+
source?: SemaphorFieldRef['source'];
|
|
5787
|
+
derivedField?: SemaphorDerivedFieldDefinition;
|
|
5788
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
5789
|
+
pivotIdentity?: SemaphorPivotResultColumnIdentity;
|
|
5790
|
+
};
|
|
5791
|
+
|
|
5792
|
+
declare type SemaphorScalarValueFormat = {
|
|
5793
|
+
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
5794
|
+
minimumFractionDigits?: number;
|
|
5795
|
+
maximumFractionDigits?: number;
|
|
5796
|
+
useGrouping?: boolean;
|
|
5797
|
+
prefix?: string;
|
|
5798
|
+
suffix?: string;
|
|
5799
|
+
negativeStyle?: 'minus' | 'parentheses';
|
|
5800
|
+
compact?: boolean;
|
|
5801
|
+
scale?: number;
|
|
5802
|
+
currency?: string;
|
|
5803
|
+
percentValueMode?: 'fraction' | 'whole';
|
|
5804
|
+
} | {
|
|
5805
|
+
type: 'date' | 'datetime';
|
|
5806
|
+
locale?: string;
|
|
5807
|
+
pattern?: string;
|
|
5808
|
+
relative?: boolean;
|
|
5809
|
+
timezone?: string;
|
|
5810
|
+
sourceTimezone?: string;
|
|
5811
|
+
prefix?: string;
|
|
5812
|
+
suffix?: string;
|
|
5813
|
+
} | {
|
|
5814
|
+
type: 'duration';
|
|
5815
|
+
inputUnit?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
5816
|
+
outputStyle?: 'compact' | 'digital' | 'long';
|
|
5817
|
+
largestUnit?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
5818
|
+
smallestUnit?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
5819
|
+
maxUnits?: number;
|
|
5820
|
+
prefix?: string;
|
|
5821
|
+
suffix?: string;
|
|
5822
|
+
negativeStyle?: 'minus' | 'parentheses';
|
|
5823
|
+
} | {
|
|
5824
|
+
type: 'string';
|
|
5825
|
+
prefix?: string;
|
|
5826
|
+
suffix?: string;
|
|
5827
|
+
};
|
|
5828
|
+
|
|
5631
5829
|
declare type SemaphorSemanticSourceRef = Extract<SemaphorSourceRef, {
|
|
5632
5830
|
kind: 'semantic';
|
|
5633
5831
|
}>;
|
|
@@ -5673,47 +5871,10 @@ declare type SemaphorSqlIntent = {
|
|
|
5673
5871
|
inputs?: SemaphorInputBinding[];
|
|
5674
5872
|
};
|
|
5675
5873
|
|
|
5676
|
-
declare type SemaphorTimeGrain =
|
|
5874
|
+
declare type SemaphorTimeGrain = (typeof SEMAPHOR_TIME_GRAINS)[number];
|
|
5677
5875
|
|
|
5678
5876
|
declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteTimeWindow;
|
|
5679
5877
|
|
|
5680
|
-
declare type SemaphorValueFormat = {
|
|
5681
|
-
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
5682
|
-
minimumFractionDigits?: number;
|
|
5683
|
-
maximumFractionDigits?: number;
|
|
5684
|
-
useGrouping?: boolean;
|
|
5685
|
-
prefix?: string;
|
|
5686
|
-
suffix?: string;
|
|
5687
|
-
negativeStyle?: 'minus' | 'parentheses';
|
|
5688
|
-
compact?: boolean;
|
|
5689
|
-
scale?: number;
|
|
5690
|
-
currency?: string;
|
|
5691
|
-
percentValueMode?: 'fraction' | 'whole';
|
|
5692
|
-
} | {
|
|
5693
|
-
type: 'date' | 'datetime';
|
|
5694
|
-
locale?: string;
|
|
5695
|
-
pattern?: string;
|
|
5696
|
-
relative?: boolean;
|
|
5697
|
-
timezone?: string;
|
|
5698
|
-
sourceTimezone?: string;
|
|
5699
|
-
prefix?: string;
|
|
5700
|
-
suffix?: string;
|
|
5701
|
-
} | {
|
|
5702
|
-
type: 'duration';
|
|
5703
|
-
inputUnit?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
5704
|
-
outputStyle?: 'compact' | 'digital' | 'long';
|
|
5705
|
-
largestUnit?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
5706
|
-
smallestUnit?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day';
|
|
5707
|
-
maxUnits?: number;
|
|
5708
|
-
prefix?: string;
|
|
5709
|
-
suffix?: string;
|
|
5710
|
-
negativeStyle?: 'minus' | 'parentheses';
|
|
5711
|
-
} | {
|
|
5712
|
-
type: 'string';
|
|
5713
|
-
prefix?: string;
|
|
5714
|
-
suffix?: string;
|
|
5715
|
-
};
|
|
5716
|
-
|
|
5717
5878
|
/**
|
|
5718
5879
|
* Stable serializer for dashboard dirty checks.
|
|
5719
5880
|
* This consolidates normalization + serialization into one call site, so
|
|
@@ -6477,6 +6638,7 @@ export declare type TDataColumn = {
|
|
|
6477
6638
|
calculatedFormula?: CalculatedFieldFormula;
|
|
6478
6639
|
derivedField?: SemaphorDerivedFieldDefinition;
|
|
6479
6640
|
format?: FormatSpec;
|
|
6641
|
+
granularity?: TimeGranularity;
|
|
6480
6642
|
sourceField?: string;
|
|
6481
6643
|
aggregate?: AggregateFunction;
|
|
6482
6644
|
};
|
|
@@ -6579,8 +6741,48 @@ export declare type TDynamicVisualIntent = {
|
|
|
6579
6741
|
includesKpis: boolean;
|
|
6580
6742
|
};
|
|
6581
6743
|
|
|
6744
|
+
declare const TEMPORAL_BUCKET_PRESETS: readonly ["week_of_short", "week_of_long", "quarter_short", "quarter_long", "fiscal_quarter_short", "fiscal_year"];
|
|
6745
|
+
|
|
6746
|
+
declare type TemporalBucketFormat = {
|
|
6747
|
+
type: 'temporal_bucket';
|
|
6748
|
+
presentation: TemporalBucketPresentation;
|
|
6749
|
+
};
|
|
6750
|
+
|
|
6751
|
+
declare type TemporalBucketMetadata = {
|
|
6752
|
+
kind: 'temporal_bucket';
|
|
6753
|
+
granularity: SemaphorTimeGrain;
|
|
6754
|
+
calendar: Pick<CalendarContext, 'tz' | 'weekStart' | 'fiscalCalendar'>;
|
|
6755
|
+
};
|
|
6756
|
+
|
|
6757
|
+
declare type TemporalBucketPresentation = {
|
|
6758
|
+
mode: 'auto';
|
|
6759
|
+
} | {
|
|
6760
|
+
mode: 'preset';
|
|
6761
|
+
preset: TemporalBucketPreset;
|
|
6762
|
+
} | {
|
|
6763
|
+
mode: 'pattern';
|
|
6764
|
+
pattern: string;
|
|
6765
|
+
};
|
|
6766
|
+
|
|
6767
|
+
declare type TemporalBucketPresentationTarget = {
|
|
6768
|
+
kind: 'field';
|
|
6769
|
+
fieldId: string;
|
|
6770
|
+
/** Distinguishes one semantic field used on both pivot axes. */
|
|
6771
|
+
role?: 'groupby' | 'pivotby';
|
|
6772
|
+
} | {
|
|
6773
|
+
kind: 'column';
|
|
6774
|
+
columnKey: string;
|
|
6775
|
+
} | {
|
|
6776
|
+
kind: 'matrix_axis';
|
|
6777
|
+
axisInstanceId: string;
|
|
6778
|
+
};
|
|
6779
|
+
|
|
6780
|
+
declare type TemporalBucketPreset = (typeof TEMPORAL_BUCKET_PRESETS)[number];
|
|
6781
|
+
|
|
6582
6782
|
declare type TemporalPrecision = 'minute';
|
|
6583
6783
|
|
|
6784
|
+
declare type TemporalResultOwner = 'config' | 'freeform' | 'none';
|
|
6785
|
+
|
|
6584
6786
|
export declare type TEvent = {
|
|
6585
6787
|
type: 'success' | 'error' | 'info' | 'warning';
|
|
6586
6788
|
message: any;
|
|
@@ -6779,7 +6981,7 @@ export declare interface TimeDrillStep {
|
|
|
6779
6981
|
rollingWindow?: number;
|
|
6780
6982
|
}
|
|
6781
6983
|
|
|
6782
|
-
export declare type TimeGranularity =
|
|
6984
|
+
export declare type TimeGranularity = SemaphorTimeGrain;
|
|
6783
6985
|
|
|
6784
6986
|
/**
|
|
6785
6987
|
* Inline filter definition stored on a card.
|
|
@@ -7268,6 +7470,8 @@ export declare function useCard(cardId: string): {
|
|
|
7268
7470
|
pagination: PaginationMetadata | undefined;
|
|
7269
7471
|
comparisonMetadata: MetricComparisonMetadataMap | undefined;
|
|
7270
7472
|
resolvedPrimaryDateField: ResolvedPrimaryDateField | undefined;
|
|
7473
|
+
effectiveCardConfig: CardConfig | undefined;
|
|
7474
|
+
isCurrentQueryResult: boolean;
|
|
7271
7475
|
};
|
|
7272
7476
|
|
|
7273
7477
|
export declare function useCardSummary(card: TCard, options?: UseCardSummaryOptions): {
|
|
@@ -7583,7 +7787,7 @@ export declare function useTextFilterHook(filterId: string): {
|
|
|
7583
7787
|
activeFilterValue: TFilterValue | undefined;
|
|
7584
7788
|
isSearching: boolean;
|
|
7585
7789
|
searchError: boolean;
|
|
7586
|
-
resultSource: "
|
|
7790
|
+
resultSource: "server" | "both" | "local";
|
|
7587
7791
|
};
|
|
7588
7792
|
|
|
7589
7793
|
export declare function validateBriefingFormDraft(draft: BriefingFormDraft): BriefingFormValidationResult;
|