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
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
2
|
import { JSX } from 'react/jsx-runtime';
|
|
3
|
+
import { ReactElement } from 'react';
|
|
3
4
|
import { ReactNode } from 'react';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -37,7 +38,7 @@ export declare function defineSemaphorDataApp<TDefinition extends SemaphorDataAp
|
|
|
37
38
|
|
|
38
39
|
export declare function defineSemaphorInput<TValue extends SemaphorInputValue = SemaphorInputValue>(spec: SemaphorInputSpec<TValue>): SemaphorInputSpec<TValue>;
|
|
39
40
|
|
|
40
|
-
export declare function
|
|
41
|
+
export declare function isSemaphorInputValueValidForOptions(value: SemaphorInputValue | undefined, options: SemaphorInputOption[] | undefined): boolean;
|
|
41
42
|
|
|
42
43
|
declare type MatrixAxisLevelDescriptor = {
|
|
43
44
|
instanceId: string;
|
|
@@ -358,25 +359,19 @@ declare type MatrixWarning = {
|
|
|
358
359
|
severity?: 'info' | 'warning' | 'error';
|
|
359
360
|
};
|
|
360
361
|
|
|
361
|
-
export declare function normalizeSemaphorAnalysisPayload(payload: SemaphorAnalysisPayload | undefined | null): SemaphorAnalysisPayload;
|
|
362
|
-
|
|
363
|
-
export declare function normalizeSemaphorAnalysisQueryOptions(value: unknown, options?: {
|
|
364
|
-
pathPrefix?: string;
|
|
365
|
-
validateTimezone?: SemaphorAnalysisTimezoneValidator;
|
|
366
|
-
}): SemaphorAnalysisQueryOptionsValidationResult;
|
|
367
|
-
|
|
368
|
-
export declare function normalizeSemaphorInputOptions(options?: Array<{
|
|
369
|
-
label: string;
|
|
370
|
-
value: SemaphorOptionValue;
|
|
371
|
-
} | SemaphorOptionValue>): {
|
|
372
|
-
label: string;
|
|
373
|
-
value: SemaphorOptionValue;
|
|
374
|
-
}[];
|
|
375
|
-
|
|
376
|
-
export declare function readWindowRuntime(): SemaphorDataAppWindowRuntime | undefined;
|
|
377
|
-
|
|
378
362
|
export declare const semaphor: {
|
|
363
|
+
source: {
|
|
364
|
+
semantic(spec: SemaphorSemanticSourceBuilderSpec): SemaphorSourceRef;
|
|
365
|
+
sql(spec: Omit<SemaphorSqlSourceBuilderSpec, "kind">): SemaphorSqlSourceBuilderSpec;
|
|
366
|
+
};
|
|
367
|
+
field: {
|
|
368
|
+
measure(name: string, spec?: SemaphorFieldBuilderSpec): SemaphorFieldWithRole<"measure">;
|
|
369
|
+
dimension(name: string, spec?: SemaphorFieldBuilderSpec): SemaphorFieldWithRole<"dimension">;
|
|
370
|
+
date(name: string, spec?: SemaphorFieldBuilderSpec): SemaphorFieldWithRole<"date">;
|
|
371
|
+
id(name: string, spec?: SemaphorFieldBuilderSpec): SemaphorFieldWithRole<"id">;
|
|
372
|
+
};
|
|
379
373
|
filter<TValue extends SemaphorInputValue = SemaphorInputValue>(spec: Omit<SemaphorFilterInputSpec<TValue>, "kind">): SemaphorFilterInputSpec<TValue>;
|
|
374
|
+
bindInput(input: SemaphorInputReference, binding: SemaphorBindInputSpec): SemaphorInputBindingReference;
|
|
380
375
|
control<TValue extends SemaphorInputValue = SemaphorInputValue>(spec: SemaphorControlBuilderSpec<TValue>): SemaphorControlInputSpec<TValue>;
|
|
381
376
|
sqlParam<TValue extends SemaphorSqlParameterValue = SemaphorSqlParameterValue>(spec: SemaphorSqlParamInputSpec<TValue>): SemaphorControlInputSpec<TValue>;
|
|
382
377
|
derivedField(spec: Omit<SemaphorDerivedFieldDefinition, "kind"> & {
|
|
@@ -444,20 +439,6 @@ export declare type SemaphorAnalysisQueryOptions = {
|
|
|
444
439
|
calendarContext?: CalendarContext;
|
|
445
440
|
};
|
|
446
441
|
|
|
447
|
-
export declare type SemaphorAnalysisQueryOptionsValidationIssue = {
|
|
448
|
-
code: 'invalid_analysis_option';
|
|
449
|
-
message: string;
|
|
450
|
-
path: string;
|
|
451
|
-
};
|
|
452
|
-
|
|
453
|
-
export declare type SemaphorAnalysisQueryOptionsValidationResult = {
|
|
454
|
-
ok: true;
|
|
455
|
-
analysisOptions?: SemaphorAnalysisQueryOptions;
|
|
456
|
-
} | {
|
|
457
|
-
ok: false;
|
|
458
|
-
issues: SemaphorAnalysisQueryOptionsValidationIssue[];
|
|
459
|
-
};
|
|
460
|
-
|
|
461
442
|
export declare type SemaphorAnalysisQueryResult = SemaphorQueryState & SemaphorAnalysisPayload & {
|
|
462
443
|
id?: string;
|
|
463
444
|
intent?: SemaphorMetricIntent;
|
|
@@ -475,8 +456,6 @@ export declare type SemaphorAnalysisResultSet = {
|
|
|
475
456
|
rowCount?: number;
|
|
476
457
|
};
|
|
477
458
|
|
|
478
|
-
export declare type SemaphorAnalysisTimezoneValidator = (tz: string) => string | null;
|
|
479
|
-
|
|
480
459
|
declare type SemaphorAnalyticsDiagnosticAnsweredItem = {
|
|
481
460
|
slotId?: string;
|
|
482
461
|
queryId?: string;
|
|
@@ -543,7 +522,7 @@ declare type SemaphorAnalyticsExecutionResult = {
|
|
|
543
522
|
|
|
544
523
|
declare type SemaphorAnalyticsExecutionStatus = 'answered' | 'partial' | 'failed';
|
|
545
524
|
|
|
546
|
-
declare type SemaphorAnalyticsFieldRole = '
|
|
525
|
+
declare type SemaphorAnalyticsFieldRole = 'measure' | 'date' | 'dimension' | 'input' | 'source' | 'sql';
|
|
547
526
|
|
|
548
527
|
export declare type SemaphorAnalyticsFilter = SemaphorAnalyticsValueFilter | SemaphorAnalyticsNullFilter;
|
|
549
528
|
|
|
@@ -573,7 +552,7 @@ declare type SemaphorAnalyticsNullFilterOperator = 'is_null' | 'is_not_null';
|
|
|
573
552
|
|
|
574
553
|
declare type SemaphorAnalyticsPopulation = {
|
|
575
554
|
scope: 'filtered_query';
|
|
576
|
-
|
|
555
|
+
measures: Record<string, number | string | null>;
|
|
577
556
|
};
|
|
578
557
|
|
|
579
558
|
declare type SemaphorAnalyticsRepairHint = {
|
|
@@ -581,7 +560,7 @@ declare type SemaphorAnalyticsRepairHint = {
|
|
|
581
560
|
message?: string;
|
|
582
561
|
invalidField?: string;
|
|
583
562
|
fieldRole?: SemaphorAnalyticsFieldRole;
|
|
584
|
-
|
|
563
|
+
validMeasureCandidates?: string[];
|
|
585
564
|
validDateCandidates?: string[];
|
|
586
565
|
validDimensionCandidates?: string[];
|
|
587
566
|
recommendedNextStep: string;
|
|
@@ -599,7 +578,7 @@ declare type SemaphorAnalyticsResultBase = {
|
|
|
599
578
|
pagination?: SemaphorPaginationMetadata;
|
|
600
579
|
};
|
|
601
580
|
|
|
602
|
-
declare type SemaphorAnalyticsValidationCode = 'missing_source' | 'invalid_source_kind' | 'missing_semantic_domain' | 'missing_dataset_name' | 'missing_connection_id' | 'missing_table_name' | 'missing_sql' | '
|
|
581
|
+
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';
|
|
603
582
|
|
|
604
583
|
declare type SemaphorAnalyticsValidationIssue = SemaphorProtocolIssue & {
|
|
605
584
|
code: SemaphorAnalyticsValidationCode | string;
|
|
@@ -627,6 +606,10 @@ export declare type SemaphorAppDerivedFieldsSpec = {
|
|
|
627
606
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
628
607
|
};
|
|
629
608
|
|
|
609
|
+
export declare type SemaphorBindInputSpec = Omit<SemaphorInputBinding, 'inputId'> & {
|
|
610
|
+
inputId?: string;
|
|
611
|
+
};
|
|
612
|
+
|
|
630
613
|
declare type SemaphorCompiledQuery = {
|
|
631
614
|
kind: 'config';
|
|
632
615
|
queryId: string;
|
|
@@ -663,9 +646,14 @@ export declare type SemaphorControlInputSpec<TValue extends SemaphorInputValue =
|
|
|
663
646
|
role: SemaphorControlRole;
|
|
664
647
|
};
|
|
665
648
|
|
|
666
|
-
export declare type SemaphorControlRole = 'grain' | '
|
|
649
|
+
export declare type SemaphorControlRole = 'grain' | 'measure' | 'dimension' | 'aggregation' | 'sqlParam';
|
|
667
650
|
|
|
668
|
-
export declare
|
|
651
|
+
export declare type SemaphorDataAppDebugConfig = boolean | {
|
|
652
|
+
enabled?: boolean;
|
|
653
|
+
exposeWindowBridge?: boolean;
|
|
654
|
+
maxQueries?: number;
|
|
655
|
+
maxEventsPerQuery?: number;
|
|
656
|
+
};
|
|
669
657
|
|
|
670
658
|
export declare type SemaphorDataAppDefinition = {
|
|
671
659
|
id?: string;
|
|
@@ -676,54 +664,93 @@ export declare type SemaphorDataAppDefinition = {
|
|
|
676
664
|
views: SemaphorDataAppViewDefinition[];
|
|
677
665
|
};
|
|
678
666
|
|
|
679
|
-
export declare type
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
export declare function SemaphorDataAppProvider({ token, apiBaseUrl, executor, children, }: SemaphorDataAppProviderProps): JSX.Element;
|
|
686
|
-
|
|
687
|
-
export declare type SemaphorDataAppProviderProps = SemaphorQueryExecutorContext & {
|
|
688
|
-
executor?: SemaphorQueryExecutor;
|
|
689
|
-
children: ReactNode;
|
|
667
|
+
export declare type SemaphorDataAppDevtoolsState = {
|
|
668
|
+
enabled: boolean;
|
|
669
|
+
queries: SemaphorDataAppTrace[];
|
|
670
|
+
getQuery(queryId: string): SemaphorDataAppTrace | undefined;
|
|
671
|
+
getQueries(queryId: string): SemaphorDataAppTrace[];
|
|
690
672
|
};
|
|
691
673
|
|
|
692
|
-
export declare type
|
|
693
|
-
|
|
694
|
-
|
|
674
|
+
export declare type SemaphorDataAppDevtoolsWindowBridge = {
|
|
675
|
+
snapshot(): SemaphorDataAppDevtoolsState;
|
|
676
|
+
getQuery(queryId: string): SemaphorDataAppTrace | undefined;
|
|
677
|
+
getQueries(queryId: string): SemaphorDataAppTrace[];
|
|
695
678
|
};
|
|
696
679
|
|
|
697
|
-
export declare
|
|
698
|
-
queryHook: SemaphorDataAppQuerySpecEnvelope['queryHook'];
|
|
699
|
-
queryId?: string;
|
|
700
|
-
intent?: SemaphorAnalyticsIntent;
|
|
701
|
-
diagnostics: SemaphorDataAppValidationDiagnostic[];
|
|
702
|
-
executionResult: SemaphorAnalyticsExecutionResult;
|
|
703
|
-
};
|
|
680
|
+
export declare function SemaphorDataAppProvider({ token, apiBaseUrl, executor, debug, children, }: SemaphorDataAppProviderProps): JSX.Element;
|
|
704
681
|
|
|
705
|
-
export declare type
|
|
682
|
+
export declare type SemaphorDataAppProviderProps = SemaphorQueryExecutorContext & {
|
|
706
683
|
executor?: SemaphorQueryExecutor;
|
|
684
|
+
debug?: SemaphorDataAppDebugConfig;
|
|
685
|
+
children: ReactNode;
|
|
707
686
|
};
|
|
708
687
|
|
|
709
|
-
export declare type
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
688
|
+
export declare type SemaphorDataAppTrace = {
|
|
689
|
+
traceId: string;
|
|
690
|
+
viewId?: string;
|
|
691
|
+
queryId: string;
|
|
692
|
+
queryLabel?: string;
|
|
693
|
+
queryKind: SemaphorQueryDefinition['queryKind'];
|
|
694
|
+
builder: 'semaphor.metric' | 'semaphor.records' | 'semaphor.matrix' | 'semaphor.analysis' | 'semaphor.inputOptions' | 'semaphor.sql';
|
|
695
|
+
sourceRefs: SemaphorSourceRef[];
|
|
696
|
+
projectionFieldRefs?: SemaphorFieldRef[];
|
|
697
|
+
inputFieldRefs?: SemaphorFieldRef[];
|
|
698
|
+
fieldRefs: SemaphorFieldRef[];
|
|
699
|
+
inputsApplied: Array<{
|
|
700
|
+
inputId: string;
|
|
701
|
+
fieldRef?: SemaphorFieldRef;
|
|
702
|
+
operator?: string;
|
|
703
|
+
valuePreview?: string;
|
|
704
|
+
}>;
|
|
705
|
+
latestAttempt?: {
|
|
706
|
+
requestId?: string;
|
|
707
|
+
status: SemaphorQueryStatus;
|
|
708
|
+
durationMs?: number;
|
|
709
|
+
rowCount?: number;
|
|
710
|
+
columnCount?: number;
|
|
711
|
+
cacheStatus?: 'hit' | 'miss' | 'unknown';
|
|
712
|
+
executionResult?: SemaphorAnalyticsExecutionResult;
|
|
713
|
+
errorMessage?: string;
|
|
714
|
+
};
|
|
715
|
+
recentEvents: SemaphorDataAppTraceEvent[];
|
|
716
|
+
server?: {
|
|
717
|
+
compiledSql?: string;
|
|
718
|
+
dialect?: string;
|
|
719
|
+
sqlHash?: string;
|
|
720
|
+
executionPlanSummary?: string;
|
|
721
|
+
};
|
|
722
|
+
clientWarnings: string[];
|
|
719
723
|
};
|
|
720
724
|
|
|
721
|
-
export declare type
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
725
|
+
export declare type SemaphorDataAppTraceEvent = {
|
|
726
|
+
type: 'query_started';
|
|
727
|
+
queryId: string;
|
|
728
|
+
requestId?: string;
|
|
729
|
+
at: string;
|
|
730
|
+
} | {
|
|
731
|
+
type: 'query_succeeded';
|
|
732
|
+
queryId: string;
|
|
733
|
+
requestId?: string;
|
|
734
|
+
at: string;
|
|
735
|
+
rowCount?: number;
|
|
736
|
+
durationMs?: number;
|
|
737
|
+
} | {
|
|
738
|
+
type: 'query_failed';
|
|
739
|
+
queryId: string;
|
|
740
|
+
requestId?: string;
|
|
741
|
+
at: string;
|
|
742
|
+
errorMessage: string;
|
|
743
|
+
} | {
|
|
744
|
+
type: 'query_ignored_stale';
|
|
745
|
+
queryId: string;
|
|
746
|
+
requestId?: string;
|
|
747
|
+
at: string;
|
|
748
|
+
reason: 'newer_inputs' | 'unmounted' | 'superseded';
|
|
749
|
+
} | {
|
|
750
|
+
type: 'input_changed';
|
|
751
|
+
inputId: string;
|
|
752
|
+
at: string;
|
|
753
|
+
valuePreview?: string;
|
|
727
754
|
};
|
|
728
755
|
|
|
729
756
|
export declare type SemaphorDataAppViewDefinition<TQuery extends SemaphorQueryDefinition = SemaphorQueryDefinition> = {
|
|
@@ -734,14 +761,6 @@ export declare type SemaphorDataAppViewDefinition<TQuery extends SemaphorQueryDe
|
|
|
734
761
|
inputs?: SemaphorInputReference[];
|
|
735
762
|
};
|
|
736
763
|
|
|
737
|
-
declare type SemaphorDataAppWindowRuntime = {
|
|
738
|
-
apiBaseUrl?: string;
|
|
739
|
-
dataApiBaseUrl?: string;
|
|
740
|
-
authToken?: null | {
|
|
741
|
-
accessToken?: string;
|
|
742
|
-
};
|
|
743
|
-
};
|
|
744
|
-
|
|
745
764
|
declare type SemaphorDerivedFieldAggregationBehavior = 'additive' | 'non_additive' | 'ratio_of_sums' | 'weighted' | 'pre_aggregated' | 'snapshot';
|
|
746
765
|
|
|
747
766
|
declare type SemaphorDerivedFieldAggregationStrategy = 'default' | 'symmetric_aggregate' | 'aggregate_then_join' | 'weighted';
|
|
@@ -770,15 +789,29 @@ declare type SemaphorDerivedFieldInput = {
|
|
|
770
789
|
kind: 'field';
|
|
771
790
|
field: SemaphorFieldRef;
|
|
772
791
|
aggregate?: SemaphorAggregateFunction;
|
|
773
|
-
} | {
|
|
774
|
-
kind: 'metric';
|
|
775
|
-
metric: SemaphorFieldRef;
|
|
776
|
-
} | {
|
|
777
|
-
kind: 'dimension';
|
|
778
|
-
dimension: SemaphorFieldRef;
|
|
779
792
|
};
|
|
780
793
|
|
|
781
|
-
declare type SemaphorDerivedFieldResultRole = 'measure' | '
|
|
794
|
+
declare type SemaphorDerivedFieldResultRole = 'measure' | 'dimension' | 'date' | 'id' | 'unknown';
|
|
795
|
+
|
|
796
|
+
export declare function SemaphorDevtools({ buttonPosition, initialIsOpen, panelPosition, className, style, }?: SemaphorDevtoolsProps): ReactElement | null;
|
|
797
|
+
|
|
798
|
+
export declare function SemaphorDevtoolsInspectButton({ queryId, viewId, label, className, style, }?: SemaphorDevtoolsInspectButtonProps): ReactElement | null;
|
|
799
|
+
|
|
800
|
+
export declare type SemaphorDevtoolsInspectButtonProps = {
|
|
801
|
+
queryId?: string;
|
|
802
|
+
viewId?: string;
|
|
803
|
+
label?: string;
|
|
804
|
+
className?: string;
|
|
805
|
+
style?: CSSProperties;
|
|
806
|
+
};
|
|
807
|
+
|
|
808
|
+
export declare type SemaphorDevtoolsProps = {
|
|
809
|
+
buttonPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'relative';
|
|
810
|
+
initialIsOpen?: boolean;
|
|
811
|
+
panelPosition?: 'bottom' | 'right';
|
|
812
|
+
className?: string;
|
|
813
|
+
style?: CSSProperties;
|
|
814
|
+
};
|
|
782
815
|
|
|
783
816
|
declare type SemaphorDialect = 'postgres' | 'mysql' | 'mssql' | 'snowflake' | 'clickhouse' | 'bigquery' | 'redshift' | 'duckdb' | 'sqlite' | 'unknown';
|
|
784
817
|
|
|
@@ -797,6 +830,8 @@ declare type SemaphorExplorerSourceRef = Extract<SemaphorSourceRef, {
|
|
|
797
830
|
kind: 'physical';
|
|
798
831
|
}>;
|
|
799
832
|
|
|
833
|
+
export declare type SemaphorFieldBuilderSpec = Omit<SemaphorFieldRef, 'name' | 'role'>;
|
|
834
|
+
|
|
800
835
|
export declare type SemaphorFieldRef = {
|
|
801
836
|
name: string;
|
|
802
837
|
label?: string;
|
|
@@ -806,10 +841,15 @@ export declare type SemaphorFieldRef = {
|
|
|
806
841
|
aggregate?: SemaphorAggregateFunction;
|
|
807
842
|
};
|
|
808
843
|
|
|
844
|
+
declare type SemaphorFieldWithRole<TRole extends NonNullable<SemaphorFieldRef['role']>> = SemaphorFieldRef & {
|
|
845
|
+
role: TRole;
|
|
846
|
+
};
|
|
847
|
+
|
|
809
848
|
export declare type SemaphorFilterInputSpec<TValue extends SemaphorInputValue = SemaphorInputValue> = SemaphorInputBase<TValue> & {
|
|
810
849
|
kind: 'filter';
|
|
811
850
|
field: SemaphorQueryField;
|
|
812
|
-
operator?:
|
|
851
|
+
operator?: SemaphorInputOperator;
|
|
852
|
+
relationshipHint?: SemaphorInputBinding['relationshipHint'];
|
|
813
853
|
multi?: boolean;
|
|
814
854
|
};
|
|
815
855
|
|
|
@@ -824,12 +864,17 @@ declare type SemaphorInputBase<TValue extends SemaphorInputValue> = {
|
|
|
824
864
|
options?: Array<SemaphorInputOption | SemaphorOptionValue>;
|
|
825
865
|
};
|
|
826
866
|
|
|
827
|
-
declare type SemaphorInputBinding = {
|
|
867
|
+
export declare type SemaphorInputBinding = {
|
|
828
868
|
inputId: string;
|
|
829
869
|
kind?: 'filter' | 'control';
|
|
830
|
-
controlRole?: 'grain' | '
|
|
870
|
+
controlRole?: 'grain' | 'measure' | 'dimension' | 'aggregation' | 'sqlParam';
|
|
831
871
|
operator?: SemaphorInputOperator;
|
|
832
872
|
field?: SemaphorFieldRef;
|
|
873
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
874
|
+
};
|
|
875
|
+
|
|
876
|
+
export declare type SemaphorInputBindingReference<TValue extends SemaphorInputValue = SemaphorInputValue> = {
|
|
877
|
+
toAnalyticsInput(): SemaphorActiveInput<TValue>;
|
|
833
878
|
};
|
|
834
879
|
|
|
835
880
|
export declare type SemaphorInputHandle<TValue extends SemaphorInputValue = SemaphorInputValue> = {
|
|
@@ -838,6 +883,7 @@ export declare type SemaphorInputHandle<TValue extends SemaphorInputValue = Sema
|
|
|
838
883
|
label?: string;
|
|
839
884
|
field?: SemaphorFieldRef;
|
|
840
885
|
operator?: SemaphorInputOperator;
|
|
886
|
+
relationshipHint?: SemaphorInputBinding['relationshipHint'];
|
|
841
887
|
controlRole?: SemaphorControlRole;
|
|
842
888
|
value: TValue | undefined;
|
|
843
889
|
options: SemaphorInputOption[];
|
|
@@ -849,14 +895,11 @@ export declare type SemaphorInputHandle<TValue extends SemaphorInputValue = Sema
|
|
|
849
895
|
|
|
850
896
|
export declare type SemaphorInputOperator = '=' | '!=' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'between' | 'not_between' | '>' | '>=' | '<' | '<=';
|
|
851
897
|
|
|
852
|
-
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';
|
|
853
|
-
|
|
854
|
-
export declare type SemaphorInputOperatorInput = SemaphorInputOperator | SemaphorInputOperatorAlias;
|
|
855
|
-
|
|
856
898
|
export declare type SemaphorInputOption = {
|
|
857
899
|
label: string;
|
|
858
900
|
value: SemaphorOptionValue;
|
|
859
901
|
count?: number;
|
|
902
|
+
disambiguation?: string[];
|
|
860
903
|
};
|
|
861
904
|
|
|
862
905
|
declare type SemaphorInputOptionsIntent = {
|
|
@@ -864,10 +907,17 @@ declare type SemaphorInputOptionsIntent = {
|
|
|
864
907
|
version?: SemaphorProtocolVersion;
|
|
865
908
|
id?: string;
|
|
866
909
|
label?: string;
|
|
910
|
+
inputId: string;
|
|
867
911
|
source: SemaphorSourceRef;
|
|
868
|
-
|
|
912
|
+
labelField: SemaphorFieldRef;
|
|
913
|
+
valueField: SemaphorFieldRef;
|
|
914
|
+
searchField?: SemaphorFieldRef;
|
|
915
|
+
disambiguationFields?: SemaphorFieldRef[];
|
|
916
|
+
population?: SemaphorOptionPopulation;
|
|
917
|
+
dependencies?: SemaphorOptionDependencies;
|
|
869
918
|
search?: string;
|
|
870
919
|
limit?: number;
|
|
920
|
+
inputs?: SemaphorInputBinding[];
|
|
871
921
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
872
922
|
};
|
|
873
923
|
|
|
@@ -890,7 +940,14 @@ export declare type SemaphorInputOptionsQueryResult = SemaphorQueryState & Semap
|
|
|
890
940
|
export declare type SemaphorInputOptionsQuerySpec = SemaphorQuerySourceSpec & SemaphorAppDerivedFieldsSpec & {
|
|
891
941
|
id?: string;
|
|
892
942
|
label?: string;
|
|
893
|
-
|
|
943
|
+
inputId: string;
|
|
944
|
+
labelField: SemaphorQueryField;
|
|
945
|
+
valueField: SemaphorQueryField;
|
|
946
|
+
searchField?: SemaphorQueryField;
|
|
947
|
+
disambiguationFields?: SemaphorQueryField[];
|
|
948
|
+
population?: SemaphorOptionPopulation;
|
|
949
|
+
dependencies?: SemaphorOptionDependencies;
|
|
950
|
+
inputs?: SemaphorInputReference[];
|
|
894
951
|
search?: string;
|
|
895
952
|
limit?: number;
|
|
896
953
|
};
|
|
@@ -901,10 +958,11 @@ declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
|
901
958
|
label: string;
|
|
902
959
|
value: unknown;
|
|
903
960
|
count?: number;
|
|
961
|
+
disambiguation?: string[];
|
|
904
962
|
}>;
|
|
905
963
|
};
|
|
906
964
|
|
|
907
|
-
export declare type SemaphorInputReference = SemaphorInputSpec | SemaphorInputBinding | SemaphorActiveInput | SemaphorInputHandle;
|
|
965
|
+
export declare type SemaphorInputReference = SemaphorInputSpec | SemaphorInputBinding | SemaphorActiveInput | SemaphorInputHandle | SemaphorInputBindingReference;
|
|
908
966
|
|
|
909
967
|
export declare type SemaphorInputSpec<TValue extends SemaphorInputValue = SemaphorInputValue> = SemaphorFilterInputSpec<TValue> | SemaphorControlInputSpec<TValue>;
|
|
910
968
|
|
|
@@ -970,6 +1028,7 @@ export declare type SemaphorMatrixIntent = {
|
|
|
970
1028
|
values: SemaphorMatrixValueField[];
|
|
971
1029
|
filters?: SemaphorAnalyticsFilter[];
|
|
972
1030
|
inputs?: SemaphorInputBinding[];
|
|
1031
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
973
1032
|
totals?: SemaphorMatrixTotalOptions;
|
|
974
1033
|
sort?: SemaphorMatrixSortRule[];
|
|
975
1034
|
expansion?: SemaphorMatrixExpansionOptions;
|
|
@@ -1134,8 +1193,8 @@ declare type SemaphorMetricIntent = {
|
|
|
1134
1193
|
version?: SemaphorProtocolVersion;
|
|
1135
1194
|
id?: string;
|
|
1136
1195
|
source: SemaphorSourceRef;
|
|
1137
|
-
|
|
1138
|
-
|
|
1196
|
+
measures: SemaphorFieldRef[];
|
|
1197
|
+
primaryMeasure?: SemaphorFieldRef;
|
|
1139
1198
|
label?: string;
|
|
1140
1199
|
dateField?: SemaphorFieldRef;
|
|
1141
1200
|
timeGrain?: SemaphorTimeGrain;
|
|
@@ -1152,13 +1211,14 @@ declare type SemaphorMetricIntent = {
|
|
|
1152
1211
|
direction: 'asc' | 'desc';
|
|
1153
1212
|
};
|
|
1154
1213
|
inputs?: SemaphorInputBinding[];
|
|
1214
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
1155
1215
|
limit?: number;
|
|
1156
1216
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
1157
1217
|
};
|
|
1158
1218
|
|
|
1159
1219
|
export declare type SemaphorMetricPayload = {
|
|
1160
1220
|
value: number | string | null;
|
|
1161
|
-
|
|
1221
|
+
measures?: Record<string, number | string | null>;
|
|
1162
1222
|
comparisonValue?: number | string | null;
|
|
1163
1223
|
delta?: number | null;
|
|
1164
1224
|
deltaPercent?: number | null;
|
|
@@ -1178,14 +1238,15 @@ export declare type SemaphorMetricQueryResult = SemaphorQueryState & SemaphorMet
|
|
|
1178
1238
|
export declare type SemaphorMetricQuerySpec = SemaphorQuerySourceSpec & SemaphorAppDerivedFieldsSpec & {
|
|
1179
1239
|
id?: string;
|
|
1180
1240
|
label?: string;
|
|
1181
|
-
|
|
1182
|
-
|
|
1241
|
+
measures: SemaphorNonEmptyArray<SemaphorQueryField>;
|
|
1242
|
+
primaryMeasure?: SemaphorQueryField;
|
|
1183
1243
|
dateField?: SemaphorQueryField;
|
|
1184
1244
|
timeGrain?: SemaphorTimeGrain;
|
|
1185
1245
|
dimensions?: SemaphorQueryField[];
|
|
1186
1246
|
comparison?: SemaphorMetricComparison;
|
|
1187
1247
|
orderBy?: SemaphorQueryOrderBy;
|
|
1188
1248
|
inputs?: SemaphorInputReference[];
|
|
1249
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
1189
1250
|
limit?: number;
|
|
1190
1251
|
};
|
|
1191
1252
|
|
|
@@ -1202,6 +1263,21 @@ declare type SemaphorMetricResult = SemaphorAnalyticsResultBase & {
|
|
|
1202
1263
|
|
|
1203
1264
|
export declare type SemaphorNonEmptyArray<T> = [T, ...T[]];
|
|
1204
1265
|
|
|
1266
|
+
export declare type SemaphorOptionDependencies = {
|
|
1267
|
+
mode?: 'auto' | 'independent' | 'explicit';
|
|
1268
|
+
includeInputIds?: string[];
|
|
1269
|
+
excludeInputIds?: string[];
|
|
1270
|
+
};
|
|
1271
|
+
|
|
1272
|
+
export declare type SemaphorOptionPopulation = {
|
|
1273
|
+
kind: 'option_source';
|
|
1274
|
+
baseSource?: never;
|
|
1275
|
+
} | {
|
|
1276
|
+
kind: 'related_population';
|
|
1277
|
+
baseSource: SemaphorSourceRef;
|
|
1278
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
1279
|
+
};
|
|
1280
|
+
|
|
1205
1281
|
export declare type SemaphorOptionValue = string | number | boolean;
|
|
1206
1282
|
|
|
1207
1283
|
export declare type SemaphorPaginationMetadata = {
|
|
@@ -1226,6 +1302,11 @@ declare type SemaphorProtocolIssue = {
|
|
|
1226
1302
|
|
|
1227
1303
|
declare type SemaphorProtocolVersion = 1;
|
|
1228
1304
|
|
|
1305
|
+
export declare type SemaphorQueryDebugOptions = {
|
|
1306
|
+
viewId?: string;
|
|
1307
|
+
title?: string;
|
|
1308
|
+
};
|
|
1309
|
+
|
|
1229
1310
|
export declare type SemaphorQueryDefinition = SemaphorMetricQueryDefinition | SemaphorAnalysisQueryDefinition | SemaphorRecordsQueryDefinition | SemaphorInputOptionsQueryDefinition | SemaphorSqlQueryDefinition | SemaphorMatrixQueryDefinition;
|
|
1230
1311
|
|
|
1231
1312
|
export declare type SemaphorQueryExecutor = {
|
|
@@ -1260,6 +1341,7 @@ export declare type SemaphorQueryResultFor<TQuery extends SemaphorQueryDefinitio
|
|
|
1260
1341
|
|
|
1261
1342
|
export declare type SemaphorQueryRuntimeOptions = {
|
|
1262
1343
|
inputs?: SemaphorInputReference[];
|
|
1344
|
+
debug?: SemaphorQueryDebugOptions;
|
|
1263
1345
|
};
|
|
1264
1346
|
|
|
1265
1347
|
export declare type SemaphorQuerySourceSpec = {
|
|
@@ -1270,6 +1352,7 @@ export declare type SemaphorQueryState = {
|
|
|
1270
1352
|
status: SemaphorQueryStatus;
|
|
1271
1353
|
isLoading: boolean;
|
|
1272
1354
|
error: Error | null;
|
|
1355
|
+
trace?: SemaphorDataAppTrace;
|
|
1273
1356
|
};
|
|
1274
1357
|
|
|
1275
1358
|
export declare type SemaphorQueryStatus = 'idle' | 'loading' | 'success' | 'error';
|
|
@@ -1283,6 +1366,7 @@ declare type SemaphorRecordsBaseQuerySpec = SemaphorQuerySourceSpec & SemaphorAp
|
|
|
1283
1366
|
filters?: SemaphorAnalyticsFilter[];
|
|
1284
1367
|
orderBy?: SemaphorRecordsOrderBy;
|
|
1285
1368
|
inputs?: SemaphorInputReference[];
|
|
1369
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
1286
1370
|
limit?: number;
|
|
1287
1371
|
pagination?: SemaphorPaginationRequest;
|
|
1288
1372
|
};
|
|
@@ -1309,6 +1393,7 @@ declare type SemaphorRecordsIntent = {
|
|
|
1309
1393
|
direction: 'asc' | 'desc';
|
|
1310
1394
|
};
|
|
1311
1395
|
inputs?: SemaphorInputBinding[];
|
|
1396
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
1312
1397
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
1313
1398
|
};
|
|
1314
1399
|
|
|
@@ -1364,6 +1449,10 @@ declare type SemaphorRelationshipDiagnostics = {
|
|
|
1364
1449
|
|
|
1365
1450
|
declare type SemaphorRelationshipDiagnosticStatus = 'not_required' | 'resolved' | 'missing' | 'ambiguous' | 'fanout_risk' | 'unknown';
|
|
1366
1451
|
|
|
1452
|
+
declare type SemaphorRelationshipHint = {
|
|
1453
|
+
relationshipIds?: string[];
|
|
1454
|
+
};
|
|
1455
|
+
|
|
1367
1456
|
declare type SemaphorRelativeTimeWindow = {
|
|
1368
1457
|
kind?: 'relative';
|
|
1369
1458
|
unit: 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
@@ -1397,6 +1486,14 @@ export declare type SemaphorRowsQueryResult<TRecord extends Record<string, unkno
|
|
|
1397
1486
|
|
|
1398
1487
|
export declare type SemaphorScalar = string | number | boolean | null;
|
|
1399
1488
|
|
|
1489
|
+
export declare type SemaphorSemanticSourceBuilderSpec = {
|
|
1490
|
+
domainId: string;
|
|
1491
|
+
datasetName: string;
|
|
1492
|
+
datasetId?: string;
|
|
1493
|
+
connectionId?: string;
|
|
1494
|
+
label?: string;
|
|
1495
|
+
};
|
|
1496
|
+
|
|
1400
1497
|
declare type SemaphorSemanticSourceRef = Extract<SemaphorSourceRef, {
|
|
1401
1498
|
kind: 'semantic';
|
|
1402
1499
|
}>;
|
|
@@ -1491,6 +1588,10 @@ declare type SemaphorSqlResult = SemaphorAnalyticsResultBase & {
|
|
|
1491
1588
|
};
|
|
1492
1589
|
};
|
|
1493
1590
|
|
|
1591
|
+
export declare type SemaphorSqlSourceBuilderSpec = Extract<SemaphorSourceRef, {
|
|
1592
|
+
kind: 'sql';
|
|
1593
|
+
}>;
|
|
1594
|
+
|
|
1494
1595
|
export declare type SemaphorSqlSourceSpec = {
|
|
1495
1596
|
source: Extract<SemaphorSourceRef, {
|
|
1496
1597
|
kind: 'sql';
|
|
@@ -1539,39 +1640,15 @@ declare type SemaphorValueFormat = {
|
|
|
1539
1640
|
suffix?: string;
|
|
1540
1641
|
};
|
|
1541
1642
|
|
|
1542
|
-
export declare function
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
export declare function toSemaphorInputBinding(input: SemaphorInputReference): SemaphorInputBinding;
|
|
1549
|
-
|
|
1550
|
-
export declare function toSemaphorInputBindings(inputs: SemaphorInputReference[] | undefined): SemaphorInputBinding[] | undefined;
|
|
1551
|
-
|
|
1552
|
-
export declare function toSemaphorInputOptionsIntent(spec: SemaphorInputOptionsQuerySpec): Extract<SemaphorAnalyticsIntent, {
|
|
1553
|
-
kind: 'inputOptions';
|
|
1554
|
-
}>;
|
|
1555
|
-
|
|
1556
|
-
export declare function toSemaphorInputSnapshots(inputs: SemaphorInputReference[] | undefined): SemaphorActiveInput[];
|
|
1557
|
-
|
|
1558
|
-
export declare function toSemaphorInputSpec<TValue extends SemaphorInputValue = SemaphorInputValue>(spec: SemaphorInputSpec<TValue>): SemaphorInputBinding & {
|
|
1559
|
-
kind: SemaphorInputSpec['kind'];
|
|
1560
|
-
label?: string;
|
|
1561
|
-
field?: SemaphorFieldRef;
|
|
1562
|
-
operator?: SemaphorInputOperator;
|
|
1563
|
-
controlRole?: SemaphorControlRole;
|
|
1564
|
-
};
|
|
1565
|
-
|
|
1566
|
-
export declare function toSemaphorMatrixIntent(spec: SemaphorMatrixQuerySpec): SemaphorMatrixIntent;
|
|
1567
|
-
|
|
1568
|
-
export declare function toSemaphorMetricIntent(spec: SemaphorMetricQuerySpec): SemaphorMetricIntent;
|
|
1569
|
-
|
|
1570
|
-
export declare function toSemaphorRecordsIntent(spec: SemaphorRecordsQuerySpec): SemaphorRecordsIntent;
|
|
1643
|
+
export declare function SemaphorViewBoundary({ id, title, children, }: {
|
|
1644
|
+
id: string;
|
|
1645
|
+
title?: string;
|
|
1646
|
+
children: ReactNode;
|
|
1647
|
+
}): ReactElement;
|
|
1571
1648
|
|
|
1572
|
-
export declare function
|
|
1649
|
+
export declare function useClearInvalidSemaphorInputValue(input: SemaphorInputHandle, optionsResult: Pick<SemaphorInputOptionsQueryResult, 'options' | 'status'> | undefined): void;
|
|
1573
1650
|
|
|
1574
|
-
export declare function
|
|
1651
|
+
export declare function useSemaphorDevtools(): SemaphorDataAppDevtoolsState;
|
|
1575
1652
|
|
|
1576
1653
|
export declare function useSemaphorInput<TValue extends SemaphorInputValue = SemaphorInputValue>(spec: SemaphorInputSpec<TValue>): SemaphorInputHandle;
|
|
1577
1654
|
|
|
@@ -1589,13 +1666,6 @@ export declare function useSemaphorQuery<TRecord extends Record<string, unknown>
|
|
|
1589
1666
|
|
|
1590
1667
|
export declare function useSemaphorQuery(spec: SemaphorMatrixQueryDefinition, options?: SemaphorQueryRuntimeOptions): SemaphorMatrixQueryResult;
|
|
1591
1668
|
|
|
1592
|
-
export declare function validateSemaphorDataAppQuerySpecs(input: {
|
|
1593
|
-
queries: SemaphorDataAppQuerySpecEnvelope[];
|
|
1594
|
-
fieldCatalogs?: SemaphorDataAppFieldCatalog[];
|
|
1595
|
-
requireFieldCatalog?: boolean;
|
|
1596
|
-
validateTimezone?: SemaphorAnalysisTimezoneValidator;
|
|
1597
|
-
}): SemaphorDataAppValidationResult;
|
|
1598
|
-
|
|
1599
1669
|
/**
|
|
1600
1670
|
* Week start day type.
|
|
1601
1671
|
* 0 = Sunday (US, Canada, Japan)
|