react-semaphor 0.1.494 → 0.1.496
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/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +233 -218
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +4 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +5 -5
- package/dist/chunks/calculated-field-identity-Cq9GwHfE.js +1266 -0
- package/dist/chunks/calculated-field-identity-DTfyvvLC.cjs +1 -0
- package/dist/chunks/{constants-D47EhfJR.js → constants-CC3WKmqC.js} +14 -14
- package/dist/chunks/{constants-BMfm1XgO.cjs → constants-DIuhVR6J.cjs} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-DQFa0Ti1.js → dashboard-briefing-launcher-Bbz4cwHb.js} +9 -9
- package/dist/chunks/{dashboard-briefing-launcher-nWBKnd0X.cjs → dashboard-briefing-launcher-CM6LTGw5.cjs} +1 -1
- package/dist/chunks/{dashboard-controls-BbPWWVO-.cjs → dashboard-controls-B2nrczJl.cjs} +1 -1
- package/dist/chunks/{dashboard-controls-DWpnRtQI.js → dashboard-controls-BsgADy-S.js} +11 -11
- package/dist/chunks/{dashboard-date-comparison-definition-CKXgDzSB.js → dashboard-date-comparison-definition-Bqti6YAo.js} +1 -1
- package/dist/chunks/{dashboard-date-comparison-definition-DCIUwJnZ.cjs → dashboard-date-comparison-definition-C69F-zaC.cjs} +1 -1
- package/dist/chunks/{dashboard-json-DyTQysQF.js → dashboard-json-CA-BChbt.js} +7 -7
- package/dist/chunks/{dashboard-json-BFJNDHxv.cjs → dashboard-json-CwRRBSSL.cjs} +1 -1
- package/dist/chunks/edit-dashboard-visual-BlS27LDw.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-D-gauuNQ.js → edit-dashboard-visual-CEiPgdkX.js} +7903 -7939
- package/dist/chunks/{editor-action-buttons-DMgnHVY1.js → editor-action-buttons-6HBjjcfK.js} +6 -6
- package/dist/chunks/{editor-action-buttons-B7YezrkC.cjs → editor-action-buttons-kk2BNiTe.cjs} +1 -1
- package/dist/chunks/{field-aggregations-J7de9KZm.js → field-aggregations-C8kZqMTD.js} +11 -11
- package/dist/chunks/{field-aggregations-hx8odlTh.cjs → field-aggregations-naKZ7S2Q.cjs} +1 -1
- package/dist/chunks/{index-DXQsuuMQ.cjs → index-BSRwdFTN.cjs} +226 -225
- package/dist/chunks/{index-Df4YBtX5.cjs → index-CCa-A-Yx.cjs} +1 -1
- package/dist/chunks/{index-CPWfCksu.js → index-Cgoz65yM.js} +39519 -38739
- package/dist/chunks/{index-BDtC8et3.js → index-oll4m-qi.js} +11 -11
- package/dist/chunks/{matrix-analytical-definition-DAFStKt2.js → matrix-analytical-definition-B1xhoCak.js} +1 -1
- package/dist/chunks/{matrix-analytical-definition-B3p3vF0K.cjs → matrix-analytical-definition-BK5y9XHH.cjs} +1 -1
- package/dist/chunks/{matrix-card-5R39CCdj.js → matrix-card-BEb6hr8i.js} +2 -2
- package/dist/chunks/{matrix-card-DzkJRoM4.cjs → matrix-card-Ii8yYSnw.cjs} +1 -1
- package/dist/chunks/{matrix-control-sources-BWbqiGmN.cjs → matrix-control-sources-CdegRBcA.cjs} +1 -1
- package/dist/chunks/{matrix-control-sources-DxjWV8ry.js → matrix-control-sources-cbYmqWNg.js} +5 -5
- package/dist/chunks/{matrix-definition-Z80mIEfu.cjs → matrix-definition-CSNthxru.cjs} +1 -1
- package/dist/chunks/{matrix-definition-BcJi7qGZ.js → matrix-definition-CZM5-YJX.js} +1 -1
- package/dist/chunks/{matrix-formatter-3QR1mqhn.cjs → matrix-formatter-C19PZAal.cjs} +1 -1
- package/dist/chunks/{matrix-formatter-youWVghC.js → matrix-formatter-CiXzpX6X.js} +27 -27
- package/dist/chunks/matrix-member-presentation-CQHvq18l.cjs +1 -0
- package/dist/chunks/matrix-member-presentation-CabW8mJc.js +105 -0
- package/dist/chunks/{matrix-operation-contract-D5I-t3i7.js → matrix-operation-contract-0Nor-C71.js} +21 -21
- package/dist/chunks/{matrix-operation-contract-BiUMcd6G.cjs → matrix-operation-contract-o9GXbiHw.cjs} +1 -1
- package/dist/chunks/{metric-comparison-vr9j4Z_Z.js → metric-comparison-Br8l0WkK.js} +1 -1
- package/dist/chunks/{metric-comparison-D1VRq5Os.cjs → metric-comparison-DeiOjEm5.cjs} +1 -1
- package/dist/chunks/{operators-C8TxpM4C.js → operators-B3zZoskU.js} +28 -10
- package/dist/chunks/operators-DEfKaU_V.cjs +1 -0
- package/dist/chunks/{pivot-header-presentation-Dcd4IBM5.cjs → pivot-header-presentation-DRv-cSIP.cjs} +1 -1
- package/dist/chunks/{pivot-header-presentation-BslEo_4O.js → pivot-header-presentation-DW-ti5ek.js} +3 -3
- package/dist/chunks/{pivot-result-identity-CmvwpG4K.cjs → pivot-result-identity-DEenUrMj.cjs} +1 -1
- package/dist/chunks/{pivot-result-identity-CMz27nri.js → pivot-result-identity-sZc1RaIz.js} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-H_pntnd9.cjs → pivot-result-lifecycle-D81qcCcZ.cjs} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-BCoOFUiU.js → pivot-result-lifecycle-DJ40gdwk.js} +7 -7
- package/dist/chunks/{raw-temporal-DcHmXurp.cjs → raw-temporal-DDTt2yv5.cjs} +1 -1
- package/dist/chunks/{raw-temporal-YWo1GEmr.js → raw-temporal-DHCZrFe7.js} +15 -15
- package/dist/chunks/{raw-temporal-contract-Bg1mtRGE.cjs → raw-temporal-contract-BcbV56Rc.cjs} +1 -1
- package/dist/chunks/{raw-temporal-contract-DY-Jd4Sc.js → raw-temporal-contract-CkvdtPYA.js} +1 -1
- package/dist/chunks/{report-preferences-dialog-Bt8T3To1.js → report-preferences-dialog-CVRJOCQu.js} +6 -6
- package/dist/chunks/{report-preferences-dialog-oT-C29vV.cjs → report-preferences-dialog-DGEq-iBF.cjs} +1 -1
- package/dist/chunks/{report-runtime-context-nCHl3uHC.js → report-runtime-context-BlDpc-F-.js} +1 -1
- package/dist/chunks/{report-runtime-context-Bb0ejvVq.cjs → report-runtime-context-lSIvyKm2.cjs} +1 -1
- package/dist/chunks/{semantic-format-CMPIcb8l.cjs → semantic-format--_VEin18.cjs} +1 -1
- package/dist/chunks/{semantic-format-UvUAyZS-.js → semantic-format-ew5zviaT.js} +2 -2
- package/dist/chunks/{source-entity-resolution-Dm4in31q.js → source-entity-resolution-79Rihbk3.js} +121 -107
- package/dist/chunks/source-entity-resolution-DPjslVgx.cjs +1 -0
- package/dist/chunks/{switch-DHOv6xHT.js → switch-BmyuyM7e.js} +4736 -4697
- package/dist/chunks/switch-nDjQC2y3.cjs +139 -0
- package/dist/chunks/{temporal-bucket-contract-CPuYzg7A.cjs → temporal-bucket-contract-BYR6tj6F.cjs} +1 -1
- package/dist/chunks/{temporal-bucket-contract-Bx5TJXF3.js → temporal-bucket-contract-C-kKQ_W4.js} +1 -1
- package/dist/chunks/{token-types-5buW2I6f.js → token-types-BIYFAsGq.js} +1 -1
- package/dist/chunks/{token-types-hl08eNuY.cjs → token-types-CkAGFhiW.cjs} +1 -1
- package/dist/chunks/{update-policy-BP_2uCgs.cjs → update-policy-BCtFr2Qh.cjs} +1 -1
- package/dist/chunks/{update-policy-D3I1J2kl.js → update-policy-CP_A1IVD.js} +2 -2
- package/dist/chunks/{validators-BpJDwDnG.js → validators-D-_IT-Xw.js} +1134 -1013
- package/dist/chunks/validators-ux2obZB9.cjs +1 -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 +157 -150
- 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 +2 -2
- package/dist/data-app-codegen-node/index.js +33 -36
- package/dist/data-app-sdk/index.cjs +2 -2
- package/dist/data-app-sdk/index.js +232 -230
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +3 -3
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +5 -5
- package/dist/format-utils/index.cjs +1 -1
- package/dist/format-utils/index.js +26 -26
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/analytics-protocol.d.ts +265 -1
- package/dist/types/briefings.d.ts +55 -0
- package/dist/types/dashboard-assistant.d.ts +55 -1
- package/dist/types/dashboard-authoring.d.ts +140 -2
- package/dist/types/dashboard.d.ts +57 -0
- package/dist/types/data-app-builder.d.ts +32 -1
- package/dist/types/data-app-codegen-node.d.ts +32 -1
- package/dist/types/data-app-codegen.d.ts +32 -1
- package/dist/types/data-app-sdk-adapters.d.ts +32 -1
- package/dist/types/data-app-sdk-validation.d.ts +55 -1
- package/dist/types/data-app-sdk.d.ts +60 -1
- package/dist/types/format-utils.d.ts +9 -0
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +4 -4
- package/dist/types/main.d.ts +122 -1
- package/dist/types/shared.d.ts +55 -0
- package/dist/types/surfboard.d.ts +57 -0
- package/dist/types/types.d.ts +57 -0
- package/package.json +1 -1
- package/dist/chunks/calculated-field-identity-CSabKrXt.js +0 -1117
- package/dist/chunks/calculated-field-identity-D4VOHjBJ.cjs +0 -1
- package/dist/chunks/edit-dashboard-visual-Dtacp_qY.cjs +0 -172
- package/dist/chunks/matrix-member-presentation-BEWAH5xK.js +0 -24
- package/dist/chunks/matrix-member-presentation-DtLGyv8w.cjs +0 -1
- package/dist/chunks/operators-DrTQsJXv.cjs +0 -1
- package/dist/chunks/source-entity-resolution-DeH38dTU.cjs +0 -1
- package/dist/chunks/switch-CatLIoK-.cjs +0 -139
- package/dist/chunks/validators-4dRtYUI1.cjs +0 -1
|
@@ -1839,6 +1839,13 @@ export declare function applyDashboardChangePlan(input: {
|
|
|
1839
1839
|
cardArtifacts: GeneratedDashboardCardArtifact[];
|
|
1840
1840
|
}): DashboardChangeCompileResult;
|
|
1841
1841
|
|
|
1842
|
+
/**
|
|
1843
|
+
* The only way an override enters a dependency policy: explicit mode, unique
|
|
1844
|
+
* ids, restricted to what the policy includes. Returns the same object when
|
|
1845
|
+
* nothing applies so callers can cheaply detect "no override".
|
|
1846
|
+
*/
|
|
1847
|
+
export declare function applyOptionDependencyOverride(dependencies: SemaphorOptionDependencies, omitInputIds: readonly string[] | undefined): SemaphorOptionDependencies;
|
|
1848
|
+
|
|
1842
1849
|
export declare const AUTOMATIC_TEMPORAL_BUCKET_FORMAT: TemporalBucketFormat;
|
|
1843
1850
|
|
|
1844
1851
|
declare type AxisConfig = {
|
|
@@ -5697,6 +5704,14 @@ export declare const DASHBOARD_AUTHORING_BREAKPOINTS: readonly ["lg", "md", "sm"
|
|
|
5697
5704
|
|
|
5698
5705
|
export declare const DASHBOARD_AUTHORING_MAX_GENERATED_CARDS = 15;
|
|
5699
5706
|
|
|
5707
|
+
/**
|
|
5708
|
+
* Dashboard filters narrow their option lists by every applicable peer
|
|
5709
|
+
* selection unless the author chose otherwise. This differs from the SDK
|
|
5710
|
+
* protocol, where an omitted policy means independent; dashboard adapters
|
|
5711
|
+
* therefore resolve the policy here and always send it explicitly.
|
|
5712
|
+
*/
|
|
5713
|
+
export declare const DASHBOARD_DEFAULT_OPTION_DEPENDENCIES: SemaphorOptionDependencies;
|
|
5714
|
+
|
|
5700
5715
|
declare type DashboardAIContext = AIContext & {
|
|
5701
5716
|
mode?: DashboardAIContextMode;
|
|
5702
5717
|
};
|
|
@@ -5866,7 +5881,17 @@ export declare type DashboardFilterMappingContractIssue = {
|
|
|
5866
5881
|
bindingId?: string;
|
|
5867
5882
|
};
|
|
5868
5883
|
|
|
5869
|
-
export declare type DashboardFilterMappingContractIssueCode = 'invalid_input' | 'both_filter_definitions' | 'missing_filter_definition' | 'orphaned_filter_reference' | 'invalid_filter_reference' | 'duplicate_filter_reference' | 'global_date_reference' | 'unsupported_mapped_scope' | 'invalid_application' | 'duplicate_card_application' | 'unknown_card' | 'invalid_binding_id' | 'unsupported_target' | 'invalid_target_field' | 'unknown_target_data_type' | 'unavailable_card_source' | 'invalid_option_source';
|
|
5884
|
+
export declare type DashboardFilterMappingContractIssueCode = 'invalid_input' | 'both_filter_definitions' | 'missing_filter_definition' | 'orphaned_filter_reference' | 'invalid_filter_reference' | 'duplicate_filter_reference' | 'global_date_reference' | 'unsupported_mapped_scope' | 'invalid_application' | 'duplicate_card_application' | 'unknown_card' | 'invalid_binding_id' | 'unsupported_target' | 'invalid_target_field' | 'unknown_target_data_type' | 'unavailable_card_source' | 'invalid_option_source' | 'invalid_option_dependencies' | 'invalid_option_population';
|
|
5885
|
+
|
|
5886
|
+
/**
|
|
5887
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
5888
|
+
* Omitted means All applicable for dashboards; see
|
|
5889
|
+
* `resolveDashboardOptionDependencies`.
|
|
5890
|
+
*/
|
|
5891
|
+
export declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
5892
|
+
|
|
5893
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
5894
|
+
export declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
5870
5895
|
|
|
5871
5896
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
5872
5897
|
export declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
@@ -6015,6 +6040,40 @@ export declare type DashboardLayoutCompileInput = {
|
|
|
6015
6040
|
|
|
6016
6041
|
export declare type DashboardLayoutCompileResult = PersistedFrameLayouts;
|
|
6017
6042
|
|
|
6043
|
+
/**
|
|
6044
|
+
* Structured option context sent with standard filter-values requests. The
|
|
6045
|
+
* policy is always explicit here; the server never infers a dashboard default.
|
|
6046
|
+
*/
|
|
6047
|
+
export declare type DashboardOptionContext = {
|
|
6048
|
+
inputId: string;
|
|
6049
|
+
dependencies: SemaphorOptionDependencies;
|
|
6050
|
+
population?: SemaphorOptionPopulation;
|
|
6051
|
+
inputs: DashboardOptionContextBinding[];
|
|
6052
|
+
};
|
|
6053
|
+
|
|
6054
|
+
/** One peer filter input the option request may reference. */
|
|
6055
|
+
export declare type DashboardOptionContextBinding = Pick<SemaphorInputBinding, 'inputId' | 'kind' | 'relationshipHint'> & {
|
|
6056
|
+
/** Backing dashboard filter id; the server maps active_filters through it. */
|
|
6057
|
+
filterId: string;
|
|
6058
|
+
};
|
|
6059
|
+
|
|
6060
|
+
export declare type DashboardOptionDependenciesResolution = {
|
|
6061
|
+
ok: true;
|
|
6062
|
+
dependencies: SemaphorOptionDependencies;
|
|
6063
|
+
} | {
|
|
6064
|
+
ok: false;
|
|
6065
|
+
error: string;
|
|
6066
|
+
issues: string[];
|
|
6067
|
+
};
|
|
6068
|
+
|
|
6069
|
+
export declare type DashboardOptionPopulationResolution = {
|
|
6070
|
+
ok: true;
|
|
6071
|
+
population: SemaphorOptionPopulation | undefined;
|
|
6072
|
+
} | {
|
|
6073
|
+
ok: false;
|
|
6074
|
+
error: string;
|
|
6075
|
+
};
|
|
6076
|
+
|
|
6018
6077
|
export declare type DashboardPlan = {
|
|
6019
6078
|
version: 1;
|
|
6020
6079
|
id: string;
|
|
@@ -8254,6 +8313,8 @@ declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
8254
8313
|
filter: TFilter;
|
|
8255
8314
|
filterReference?: never;
|
|
8256
8315
|
optionSource?: DashboardFilterOptionSource;
|
|
8316
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
8317
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
8257
8318
|
application?: DashboardFilterApplication;
|
|
8258
8319
|
};
|
|
8259
8320
|
|
|
@@ -8455,6 +8516,15 @@ declare interface Field {
|
|
|
8455
8516
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
8456
8517
|
*/
|
|
8457
8518
|
label: string;
|
|
8519
|
+
/**
|
|
8520
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
8521
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
8522
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
8523
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
8524
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
8525
|
+
* edit to `label` makes it authored without touching this marker.
|
|
8526
|
+
*/
|
|
8527
|
+
derivedLabel?: string;
|
|
8458
8528
|
/**
|
|
8459
8529
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
8460
8530
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -9564,6 +9634,8 @@ declare type NormalizedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
9564
9634
|
kind: 'filter';
|
|
9565
9635
|
filter: TFilter;
|
|
9566
9636
|
optionSource?: DashboardFilterOptionSource;
|
|
9637
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
9638
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
9567
9639
|
application?: DashboardFilterApplication;
|
|
9568
9640
|
definitionOrigin: 'embedded' | 'dashboardFilter';
|
|
9569
9641
|
};
|
|
@@ -11294,6 +11366,14 @@ declare type RangeValue = {
|
|
|
11294
11366
|
/** Strict consumer boundary, not an upcaster for the old matrixIntent. */
|
|
11295
11367
|
export declare function readMatrixCardConfig(card: MatrixCardInput): MatrixConfig | undefined;
|
|
11296
11368
|
|
|
11369
|
+
/**
|
|
11370
|
+
* Rewrites explicit dependency references when an input's stable identity
|
|
11371
|
+
* changes, for example when a plain filter is promoted to a reference-backed
|
|
11372
|
+
* input or demoted back. Returns the same array when nothing referenced the
|
|
11373
|
+
* old id.
|
|
11374
|
+
*/
|
|
11375
|
+
export declare function rebindDashboardOptionDependencyInputId<TInput extends object>(inputs: TInput[], fromInputId: string, toInputId: string): TInput[];
|
|
11376
|
+
|
|
11297
11377
|
/** Reconcile effective structural bindings without inventing presentation or saved defaults. */
|
|
11298
11378
|
export declare function reconcileMatrixSpecStructure(beforeSpec: MatrixSpec, afterSpec: MatrixSpec, authoringDraft?: boolean): {
|
|
11299
11379
|
spec: MatrixSpec;
|
|
@@ -11310,6 +11390,8 @@ declare type ReferencedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
11310
11390
|
filterId: string;
|
|
11311
11391
|
};
|
|
11312
11392
|
optionSource?: DashboardFilterOptionSource;
|
|
11393
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
11394
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
11313
11395
|
application?: DashboardFilterApplication;
|
|
11314
11396
|
};
|
|
11315
11397
|
|
|
@@ -11400,6 +11482,21 @@ export declare function resolveDashboardFilterInheritedTarget(params: {
|
|
|
11400
11482
|
acceptedTargets: DashboardFilterTarget[];
|
|
11401
11483
|
}): DashboardFilterAutomaticTargetResolution;
|
|
11402
11484
|
|
|
11485
|
+
/**
|
|
11486
|
+
* Resolves an authored dashboard option dependency policy to the explicit
|
|
11487
|
+
* policy sent to the server. Omission means All applicable. Present values are
|
|
11488
|
+
* validated with the dashboard profile and returned in canonical shape; nothing
|
|
11489
|
+
* here mutates saved definitions.
|
|
11490
|
+
*/
|
|
11491
|
+
export declare function resolveDashboardOptionDependencies(value: unknown): DashboardOptionDependenciesResolution;
|
|
11492
|
+
|
|
11493
|
+
/**
|
|
11494
|
+
* Validates an authored option population. Omission means the option source
|
|
11495
|
+
* itself. A related population must name a complete semantic source; physical
|
|
11496
|
+
* relationship discovery is not part of this feature.
|
|
11497
|
+
*/
|
|
11498
|
+
export declare function resolveDashboardOptionPopulation(value: unknown): DashboardOptionPopulationResolution;
|
|
11499
|
+
|
|
11403
11500
|
/**
|
|
11404
11501
|
* Resolves one accepted SQL-card target without inspecting authored SQL.
|
|
11405
11502
|
* Authoring may provide the grounded candidate set to reject an unqualified
|
|
@@ -11482,6 +11579,17 @@ export declare function resolveTemporalResultOwner(input: TemporalResultOwnerInp
|
|
|
11482
11579
|
/** Saved and unsaved rules share structural reference cleanup; never broaden a stale scope. */
|
|
11483
11580
|
export declare function retainMatrixConditionalFormatting<T extends TableConditionalFormatting | undefined>(before: MatrixSpec, spec: MatrixSpec, formatting: T, notices: MatrixAuthoringNotice[]): T;
|
|
11484
11581
|
|
|
11582
|
+
/**
|
|
11583
|
+
* Which peer inputs a policy considers. Mirrors the server resolver's
|
|
11584
|
+
* membership rule so clients can scope request payloads and cache identity;
|
|
11585
|
+
* applicability and relationship proof remain server-owned.
|
|
11586
|
+
*/
|
|
11587
|
+
export declare function selectDashboardOptionDependencyInputIds(params: {
|
|
11588
|
+
targetInputId: string;
|
|
11589
|
+
dependencies: SemaphorOptionDependencies;
|
|
11590
|
+
peerInputIds: readonly string[];
|
|
11591
|
+
}): string[];
|
|
11592
|
+
|
|
11485
11593
|
declare type SelectedEntities = SelectedEntity[];
|
|
11486
11594
|
|
|
11487
11595
|
declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
|
|
@@ -11627,6 +11735,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
11627
11735
|
dependencies?: SemaphorOptionDependencies;
|
|
11628
11736
|
search?: string;
|
|
11629
11737
|
limit?: number;
|
|
11738
|
+
/**
|
|
11739
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
11740
|
+
* value is one of these exact raw values, under the same dependency and
|
|
11741
|
+
* population context, with no search or paging. Bounded by
|
|
11742
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
11743
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
11744
|
+
* `parseOptionMatchValues`.
|
|
11745
|
+
*/
|
|
11746
|
+
matchValues?: Array<string | number | boolean>;
|
|
11630
11747
|
inputs?: SemaphorInputBinding[];
|
|
11631
11748
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
11632
11749
|
};
|
|
@@ -11702,11 +11819,24 @@ declare type SemaphorMetricIntent = {
|
|
|
11702
11819
|
};
|
|
11703
11820
|
|
|
11704
11821
|
declare type SemaphorOptionDependencies = {
|
|
11705
|
-
mode
|
|
11822
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
11823
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
11824
|
+
mode?: SemaphorOptionDependencyMode;
|
|
11706
11825
|
includeInputIds?: string[];
|
|
11707
11826
|
excludeInputIds?: string[];
|
|
11827
|
+
/**
|
|
11828
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
11829
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
11830
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
11831
|
+
* would otherwise fail with an overridable reason (see
|
|
11832
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
11833
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
11834
|
+
*/
|
|
11835
|
+
omitInputIds?: string[];
|
|
11708
11836
|
};
|
|
11709
11837
|
|
|
11838
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
11839
|
+
|
|
11710
11840
|
declare type SemaphorOptionPopulation = {
|
|
11711
11841
|
kind: 'option_source';
|
|
11712
11842
|
baseSource?: never;
|
|
@@ -15094,4 +15224,12 @@ declare interface WindowTransform {
|
|
|
15094
15224
|
};
|
|
15095
15225
|
}
|
|
15096
15226
|
|
|
15227
|
+
/**
|
|
15228
|
+
* Applies an ephemeral browse override to a resolved option context. Only an
|
|
15229
|
+
* explicit policy can be overridden, and only for ids it includes; anything
|
|
15230
|
+
* else returns the context unchanged. The override rides the request and its
|
|
15231
|
+
* cache identity and is never written back to the dashboard.
|
|
15232
|
+
*/
|
|
15233
|
+
export declare function withDashboardOptionDependencyOverride(context: DashboardOptionContext, omitInputIds: readonly string[] | undefined): DashboardOptionContext;
|
|
15234
|
+
|
|
15097
15235
|
export { }
|
|
@@ -4151,6 +4151,16 @@ export declare type DashboardFilterExcludedCardApplication = {
|
|
|
4151
4151
|
cardId: string;
|
|
4152
4152
|
};
|
|
4153
4153
|
|
|
4154
|
+
/**
|
|
4155
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
4156
|
+
* Omitted means All applicable for dashboards; see
|
|
4157
|
+
* `resolveDashboardOptionDependencies`.
|
|
4158
|
+
*/
|
|
4159
|
+
declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
4160
|
+
|
|
4161
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
4162
|
+
declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
4163
|
+
|
|
4154
4164
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
4155
4165
|
export declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
4156
4166
|
|
|
@@ -4923,6 +4933,8 @@ export declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
4923
4933
|
filter: TFilter;
|
|
4924
4934
|
filterReference?: never;
|
|
4925
4935
|
optionSource?: DashboardFilterOptionSource;
|
|
4936
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
4937
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
4926
4938
|
application?: DashboardFilterApplication;
|
|
4927
4939
|
};
|
|
4928
4940
|
|
|
@@ -5137,6 +5149,15 @@ declare interface Field {
|
|
|
5137
5149
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
5138
5150
|
*/
|
|
5139
5151
|
label: string;
|
|
5152
|
+
/**
|
|
5153
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
5154
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
5155
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
5156
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
5157
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
5158
|
+
* edit to `label` makes it authored without touching this marker.
|
|
5159
|
+
*/
|
|
5160
|
+
derivedLabel?: string;
|
|
5140
5161
|
/**
|
|
5141
5162
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
5142
5163
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -5900,6 +5921,8 @@ export declare type NormalizedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
5900
5921
|
kind: 'filter';
|
|
5901
5922
|
filter: TFilter;
|
|
5902
5923
|
optionSource?: DashboardFilterOptionSource;
|
|
5924
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
5925
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
5903
5926
|
application?: DashboardFilterApplication;
|
|
5904
5927
|
definitionOrigin: 'embedded' | 'dashboardFilter';
|
|
5905
5928
|
};
|
|
@@ -7667,6 +7690,8 @@ export declare type ReferencedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
7667
7690
|
filterId: string;
|
|
7668
7691
|
};
|
|
7669
7692
|
optionSource?: DashboardFilterOptionSource;
|
|
7693
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
7694
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
7670
7695
|
application?: DashboardFilterApplication;
|
|
7671
7696
|
};
|
|
7672
7697
|
|
|
@@ -7957,6 +7982,38 @@ declare type SemaphorInputOptionSource = {
|
|
|
7957
7982
|
disambiguationFields?: SemaphorFieldRef[];
|
|
7958
7983
|
};
|
|
7959
7984
|
|
|
7985
|
+
declare type SemaphorOptionDependencies = {
|
|
7986
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
7987
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
7988
|
+
mode?: SemaphorOptionDependencyMode;
|
|
7989
|
+
includeInputIds?: string[];
|
|
7990
|
+
excludeInputIds?: string[];
|
|
7991
|
+
/**
|
|
7992
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
7993
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
7994
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
7995
|
+
* would otherwise fail with an overridable reason (see
|
|
7996
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
7997
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
7998
|
+
*/
|
|
7999
|
+
omitInputIds?: string[];
|
|
8000
|
+
};
|
|
8001
|
+
|
|
8002
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
8003
|
+
|
|
8004
|
+
declare type SemaphorOptionPopulation = {
|
|
8005
|
+
kind: 'option_source';
|
|
8006
|
+
baseSource?: never;
|
|
8007
|
+
} | {
|
|
8008
|
+
kind: 'related_population';
|
|
8009
|
+
baseSource: SemaphorSourceRef;
|
|
8010
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
8011
|
+
};
|
|
8012
|
+
|
|
8013
|
+
declare type SemaphorRelationshipHint = {
|
|
8014
|
+
relationshipIds?: string[];
|
|
8015
|
+
};
|
|
8016
|
+
|
|
7960
8017
|
declare type SemaphorScalarValueFormat = {
|
|
7961
8018
|
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
7962
8019
|
minimumFractionDigits?: number;
|
|
@@ -4111,6 +4111,15 @@ declare interface Field {
|
|
|
4111
4111
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
4112
4112
|
*/
|
|
4113
4113
|
label: string;
|
|
4114
|
+
/**
|
|
4115
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
4116
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
4117
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
4118
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
4119
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
4120
|
+
* edit to `label` makes it authored without touching this marker.
|
|
4121
|
+
*/
|
|
4122
|
+
derivedLabel?: string;
|
|
4114
4123
|
/**
|
|
4115
4124
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
4116
4125
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -4491,6 +4500,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
4491
4500
|
dependencies?: SemaphorOptionDependencies;
|
|
4492
4501
|
search?: string;
|
|
4493
4502
|
limit?: number;
|
|
4503
|
+
/**
|
|
4504
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
4505
|
+
* value is one of these exact raw values, under the same dependency and
|
|
4506
|
+
* population context, with no search or paging. Bounded by
|
|
4507
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
4508
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
4509
|
+
* `parseOptionMatchValues`.
|
|
4510
|
+
*/
|
|
4511
|
+
matchValues?: Array<string | number | boolean>;
|
|
4494
4512
|
inputs?: SemaphorInputBinding[];
|
|
4495
4513
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
4496
4514
|
};
|
|
@@ -4543,11 +4561,24 @@ declare type SemaphorMetricIntent = {
|
|
|
4543
4561
|
};
|
|
4544
4562
|
|
|
4545
4563
|
declare type SemaphorOptionDependencies = {
|
|
4546
|
-
mode
|
|
4564
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
4565
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
4566
|
+
mode?: SemaphorOptionDependencyMode;
|
|
4547
4567
|
includeInputIds?: string[];
|
|
4548
4568
|
excludeInputIds?: string[];
|
|
4569
|
+
/**
|
|
4570
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
4571
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
4572
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
4573
|
+
* would otherwise fail with an overridable reason (see
|
|
4574
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
4575
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
4576
|
+
*/
|
|
4577
|
+
omitInputIds?: string[];
|
|
4549
4578
|
};
|
|
4550
4579
|
|
|
4580
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
4581
|
+
|
|
4551
4582
|
declare type SemaphorOptionPopulation = {
|
|
4552
4583
|
kind: 'option_source';
|
|
4553
4584
|
baseSource?: never;
|
|
@@ -3620,6 +3620,15 @@ declare interface Field {
|
|
|
3620
3620
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
3621
3621
|
*/
|
|
3622
3622
|
label: string;
|
|
3623
|
+
/**
|
|
3624
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
3625
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
3626
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
3627
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
3628
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
3629
|
+
* edit to `label` makes it authored without touching this marker.
|
|
3630
|
+
*/
|
|
3631
|
+
derivedLabel?: string;
|
|
3623
3632
|
/**
|
|
3624
3633
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
3625
3634
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -5359,6 +5368,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
5359
5368
|
dependencies?: SemaphorOptionDependencies;
|
|
5360
5369
|
search?: string;
|
|
5361
5370
|
limit?: number;
|
|
5371
|
+
/**
|
|
5372
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
5373
|
+
* value is one of these exact raw values, under the same dependency and
|
|
5374
|
+
* population context, with no search or paging. Bounded by
|
|
5375
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
5376
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
5377
|
+
* `parseOptionMatchValues`.
|
|
5378
|
+
*/
|
|
5379
|
+
matchValues?: Array<string | number | boolean>;
|
|
5362
5380
|
inputs?: SemaphorInputBinding[];
|
|
5363
5381
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
5364
5382
|
};
|
|
@@ -5413,11 +5431,24 @@ declare type SemaphorMetricIntent = {
|
|
|
5413
5431
|
};
|
|
5414
5432
|
|
|
5415
5433
|
declare type SemaphorOptionDependencies = {
|
|
5416
|
-
mode
|
|
5434
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
5435
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
5436
|
+
mode?: SemaphorOptionDependencyMode;
|
|
5417
5437
|
includeInputIds?: string[];
|
|
5418
5438
|
excludeInputIds?: string[];
|
|
5439
|
+
/**
|
|
5440
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
5441
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
5442
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
5443
|
+
* would otherwise fail with an overridable reason (see
|
|
5444
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
5445
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
5446
|
+
*/
|
|
5447
|
+
omitInputIds?: string[];
|
|
5419
5448
|
};
|
|
5420
5449
|
|
|
5450
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
5451
|
+
|
|
5421
5452
|
declare type SemaphorOptionPopulation = {
|
|
5422
5453
|
kind: 'option_source';
|
|
5423
5454
|
baseSource?: never;
|
|
@@ -3618,6 +3618,15 @@ declare interface Field {
|
|
|
3618
3618
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
3619
3619
|
*/
|
|
3620
3620
|
label: string;
|
|
3621
|
+
/**
|
|
3622
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
3623
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
3624
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
3625
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
3626
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
3627
|
+
* edit to `label` makes it authored without touching this marker.
|
|
3628
|
+
*/
|
|
3629
|
+
derivedLabel?: string;
|
|
3621
3630
|
/**
|
|
3622
3631
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
3623
3632
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -5331,6 +5340,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
5331
5340
|
dependencies?: SemaphorOptionDependencies;
|
|
5332
5341
|
search?: string;
|
|
5333
5342
|
limit?: number;
|
|
5343
|
+
/**
|
|
5344
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
5345
|
+
* value is one of these exact raw values, under the same dependency and
|
|
5346
|
+
* population context, with no search or paging. Bounded by
|
|
5347
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
5348
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
5349
|
+
* `parseOptionMatchValues`.
|
|
5350
|
+
*/
|
|
5351
|
+
matchValues?: Array<string | number | boolean>;
|
|
5334
5352
|
inputs?: SemaphorInputBinding[];
|
|
5335
5353
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
5336
5354
|
};
|
|
@@ -5385,11 +5403,24 @@ declare type SemaphorMetricIntent = {
|
|
|
5385
5403
|
};
|
|
5386
5404
|
|
|
5387
5405
|
declare type SemaphorOptionDependencies = {
|
|
5388
|
-
mode
|
|
5406
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
5407
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
5408
|
+
mode?: SemaphorOptionDependencyMode;
|
|
5389
5409
|
includeInputIds?: string[];
|
|
5390
5410
|
excludeInputIds?: string[];
|
|
5411
|
+
/**
|
|
5412
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
5413
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
5414
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
5415
|
+
* would otherwise fail with an overridable reason (see
|
|
5416
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
5417
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
5418
|
+
*/
|
|
5419
|
+
omitInputIds?: string[];
|
|
5391
5420
|
};
|
|
5392
5421
|
|
|
5422
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
5423
|
+
|
|
5393
5424
|
declare type SemaphorOptionPopulation = {
|
|
5394
5425
|
kind: 'option_source';
|
|
5395
5426
|
baseSource?: never;
|
|
@@ -3586,6 +3586,15 @@ declare interface Field {
|
|
|
3586
3586
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
3587
3587
|
*/
|
|
3588
3588
|
label: string;
|
|
3589
|
+
/**
|
|
3590
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
3591
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
3592
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
3593
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
3594
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
3595
|
+
* edit to `label` makes it authored without touching this marker.
|
|
3596
|
+
*/
|
|
3597
|
+
derivedLabel?: string;
|
|
3589
3598
|
/**
|
|
3590
3599
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
3591
3600
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -4836,6 +4845,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
4836
4845
|
dependencies?: SemaphorOptionDependencies;
|
|
4837
4846
|
search?: string;
|
|
4838
4847
|
limit?: number;
|
|
4848
|
+
/**
|
|
4849
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
4850
|
+
* value is one of these exact raw values, under the same dependency and
|
|
4851
|
+
* population context, with no search or paging. Bounded by
|
|
4852
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
4853
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
4854
|
+
* `parseOptionMatchValues`.
|
|
4855
|
+
*/
|
|
4856
|
+
matchValues?: Array<string | number | boolean>;
|
|
4839
4857
|
inputs?: SemaphorInputBinding[];
|
|
4840
4858
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
4841
4859
|
};
|
|
@@ -4940,11 +4958,24 @@ declare type SemaphorMetricQuerySpec = SemaphorQuerySourceSpec & SemaphorAppDeri
|
|
|
4940
4958
|
declare type SemaphorNonEmptyArray<T> = [T, ...T[]];
|
|
4941
4959
|
|
|
4942
4960
|
declare type SemaphorOptionDependencies = {
|
|
4943
|
-
mode
|
|
4961
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
4962
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
4963
|
+
mode?: SemaphorOptionDependencyMode;
|
|
4944
4964
|
includeInputIds?: string[];
|
|
4945
4965
|
excludeInputIds?: string[];
|
|
4966
|
+
/**
|
|
4967
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
4968
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
4969
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
4970
|
+
* would otherwise fail with an overridable reason (see
|
|
4971
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
4972
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
4973
|
+
*/
|
|
4974
|
+
omitInputIds?: string[];
|
|
4946
4975
|
};
|
|
4947
4976
|
|
|
4977
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
4978
|
+
|
|
4948
4979
|
declare type SemaphorOptionPopulation = {
|
|
4949
4980
|
kind: 'option_source';
|
|
4950
4981
|
baseSource?: never;
|
|
@@ -3586,6 +3586,15 @@ declare interface Field {
|
|
|
3586
3586
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
3587
3587
|
*/
|
|
3588
3588
|
label: string;
|
|
3589
|
+
/**
|
|
3590
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
3591
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
3592
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
3593
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
3594
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
3595
|
+
* edit to `label` makes it authored without touching this marker.
|
|
3596
|
+
*/
|
|
3597
|
+
derivedLabel?: string;
|
|
3589
3598
|
/**
|
|
3590
3599
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
3591
3600
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -8208,6 +8217,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
8208
8217
|
dependencies?: SemaphorOptionDependencies;
|
|
8209
8218
|
search?: string;
|
|
8210
8219
|
limit?: number;
|
|
8220
|
+
/**
|
|
8221
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
8222
|
+
* value is one of these exact raw values, under the same dependency and
|
|
8223
|
+
* population context, with no search or paging. Bounded by
|
|
8224
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
8225
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
8226
|
+
* `parseOptionMatchValues`.
|
|
8227
|
+
*/
|
|
8228
|
+
matchValues?: Array<string | number | boolean>;
|
|
8211
8229
|
inputs?: SemaphorInputBinding[];
|
|
8212
8230
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
8213
8231
|
};
|
|
@@ -8244,6 +8262,9 @@ declare type SemaphorInputOptionsQuerySpec = Omit<SemaphorQuerySourceSpec, 'sour
|
|
|
8244
8262
|
|
|
8245
8263
|
declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
8246
8264
|
kind: 'inputOptions';
|
|
8265
|
+
dependencyOutcomes?: SemaphorOptionDependencyOutcome[];
|
|
8266
|
+
/** Present when the intent carried `matchValues`. */
|
|
8267
|
+
match?: SemaphorOptionMatchResult;
|
|
8247
8268
|
options: Array<{
|
|
8248
8269
|
label: string;
|
|
8249
8270
|
value: unknown;
|
|
@@ -8348,9 +8369,42 @@ declare type SemaphorMetricResult = SemaphorAnalyticsResultBase & {
|
|
|
8348
8369
|
declare type SemaphorNonEmptyArray<T> = [T, ...T[]];
|
|
8349
8370
|
|
|
8350
8371
|
declare type SemaphorOptionDependencies = {
|
|
8351
|
-
mode
|
|
8372
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
8373
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
8374
|
+
mode?: SemaphorOptionDependencyMode;
|
|
8352
8375
|
includeInputIds?: string[];
|
|
8353
8376
|
excludeInputIds?: string[];
|
|
8377
|
+
/**
|
|
8378
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
8379
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
8380
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
8381
|
+
* would otherwise fail with an overridable reason (see
|
|
8382
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
8383
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
8384
|
+
*/
|
|
8385
|
+
omitInputIds?: string[];
|
|
8386
|
+
};
|
|
8387
|
+
|
|
8388
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
8389
|
+
|
|
8390
|
+
/** Per-candidate classification of an option query's dependencies. Describes
|
|
8391
|
+
* which viewer selections constrained the option list; it never substitutes
|
|
8392
|
+
* for execution success or failure. */
|
|
8393
|
+
declare type SemaphorOptionDependencyOutcome = {
|
|
8394
|
+
inputId: string;
|
|
8395
|
+
status: SemaphorOptionDependencyOutcomeStatus;
|
|
8396
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
8397
|
+
};
|
|
8398
|
+
|
|
8399
|
+
declare type SemaphorOptionDependencyOutcomeReason = 'unrelated' | 'population_required' | 'missing_dependency' | 'missing_relationship' | 'ambiguous_relationship' | 'invalid_metadata' | 'unsupported_dependency' | 'override_not_eligible';
|
|
8400
|
+
|
|
8401
|
+
declare type SemaphorOptionDependencyOutcomeStatus = 'applied' | 'inactive' | 'skipped' | 'overridden' | 'error';
|
|
8402
|
+
|
|
8403
|
+
declare type SemaphorOptionMatchResult = {
|
|
8404
|
+
/** True only when every submitted value was evaluated by a complete exact
|
|
8405
|
+
* check; only then may absence be read as `no_match`. */
|
|
8406
|
+
complete: boolean;
|
|
8407
|
+
reason?: 'unsupported' | 'truncated';
|
|
8354
8408
|
};
|
|
8355
8409
|
|
|
8356
8410
|
declare type SemaphorOptionPopulation = {
|