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
|
@@ -6646,6 +6646,15 @@ declare interface Field {
|
|
|
6646
6646
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
6647
6647
|
*/
|
|
6648
6648
|
label: string;
|
|
6649
|
+
/**
|
|
6650
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
6651
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
6652
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
6653
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
6654
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
6655
|
+
* edit to `label` makes it authored without touching this marker.
|
|
6656
|
+
*/
|
|
6657
|
+
derivedLabel?: string;
|
|
6649
6658
|
/**
|
|
6650
6659
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
6651
6660
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -32772,6 +32781,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
32772
32781
|
dependencies?: SemaphorOptionDependencies;
|
|
32773
32782
|
search?: string;
|
|
32774
32783
|
limit?: number;
|
|
32784
|
+
/**
|
|
32785
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
32786
|
+
* value is one of these exact raw values, under the same dependency and
|
|
32787
|
+
* population context, with no search or paging. Bounded by
|
|
32788
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
32789
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
32790
|
+
* `parseOptionMatchValues`.
|
|
32791
|
+
*/
|
|
32792
|
+
matchValues?: Array<string | number | boolean>;
|
|
32775
32793
|
inputs?: SemaphorInputBinding[];
|
|
32776
32794
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
32777
32795
|
};
|
|
@@ -32788,6 +32806,11 @@ export declare type SemaphorInputOptionSource = {
|
|
|
32788
32806
|
|
|
32789
32807
|
export declare type SemaphorInputOptionsPayload = {
|
|
32790
32808
|
options: SemaphorInputOption[];
|
|
32809
|
+
/** Per-dependency classification for the option query; see
|
|
32810
|
+
* `SemaphorOptionDependencyOutcome`. Absent when no dependencies applied. */
|
|
32811
|
+
dependencyOutcomes?: SemaphorOptionDependencyOutcome[];
|
|
32812
|
+
/** Authoritative exact-value relevance result when the request asked for it. */
|
|
32813
|
+
match?: SemaphorOptionMatchResult;
|
|
32791
32814
|
executionResult?: SemaphorAnalyticsExecutionResult;
|
|
32792
32815
|
};
|
|
32793
32816
|
|
|
@@ -32820,6 +32843,9 @@ export declare type SemaphorInputOptionsQuerySpec = Omit<SemaphorQuerySourceSpec
|
|
|
32820
32843
|
|
|
32821
32844
|
declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
32822
32845
|
kind: 'inputOptions';
|
|
32846
|
+
dependencyOutcomes?: SemaphorOptionDependencyOutcome[];
|
|
32847
|
+
/** Present when the intent carried `matchValues`. */
|
|
32848
|
+
match?: SemaphorOptionMatchResult;
|
|
32823
32849
|
options: Array<{
|
|
32824
32850
|
label: string;
|
|
32825
32851
|
value: unknown;
|
|
@@ -32956,9 +32982,42 @@ declare type SemaphorMetricResult = SemaphorAnalyticsResultBase & {
|
|
|
32956
32982
|
export declare type SemaphorNonEmptyArray<T> = [T, ...T[]];
|
|
32957
32983
|
|
|
32958
32984
|
export declare type SemaphorOptionDependencies = {
|
|
32959
|
-
mode
|
|
32985
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
32986
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
32987
|
+
mode?: SemaphorOptionDependencyMode;
|
|
32960
32988
|
includeInputIds?: string[];
|
|
32961
32989
|
excludeInputIds?: string[];
|
|
32990
|
+
/**
|
|
32991
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
32992
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
32993
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
32994
|
+
* would otherwise fail with an overridable reason (see
|
|
32995
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
32996
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
32997
|
+
*/
|
|
32998
|
+
omitInputIds?: string[];
|
|
32999
|
+
};
|
|
33000
|
+
|
|
33001
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
33002
|
+
|
|
33003
|
+
/** Per-candidate classification of an option query's dependencies. Describes
|
|
33004
|
+
* which viewer selections constrained the option list; it never substitutes
|
|
33005
|
+
* for execution success or failure. */
|
|
33006
|
+
declare type SemaphorOptionDependencyOutcome = {
|
|
33007
|
+
inputId: string;
|
|
33008
|
+
status: SemaphorOptionDependencyOutcomeStatus;
|
|
33009
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
33010
|
+
};
|
|
33011
|
+
|
|
33012
|
+
declare type SemaphorOptionDependencyOutcomeReason = 'unrelated' | 'population_required' | 'missing_dependency' | 'missing_relationship' | 'ambiguous_relationship' | 'invalid_metadata' | 'unsupported_dependency' | 'override_not_eligible';
|
|
33013
|
+
|
|
33014
|
+
declare type SemaphorOptionDependencyOutcomeStatus = 'applied' | 'inactive' | 'skipped' | 'overridden' | 'error';
|
|
33015
|
+
|
|
33016
|
+
declare type SemaphorOptionMatchResult = {
|
|
33017
|
+
/** True only when every submitted value was evaluated by a complete exact
|
|
33018
|
+
* check; only then may absence be read as `no_match`. */
|
|
33019
|
+
complete: boolean;
|
|
33020
|
+
reason?: 'unsupported' | 'truncated';
|
|
32962
33021
|
};
|
|
32963
33022
|
|
|
32964
33023
|
export declare type SemaphorOptionPopulation = {
|
|
@@ -5633,6 +5633,15 @@ declare interface Field {
|
|
|
5633
5633
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
5634
5634
|
*/
|
|
5635
5635
|
label: string;
|
|
5636
|
+
/**
|
|
5637
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
5638
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
5639
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
5640
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
5641
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
5642
|
+
* edit to `label` makes it authored without touching this marker.
|
|
5643
|
+
*/
|
|
5644
|
+
derivedLabel?: string;
|
|
5636
5645
|
/**
|
|
5637
5646
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
5638
5647
|
* If not provided, should be auto-generated from label or name.
|
package/dist/types/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/common-types-nBuCd3u2.cjs"),e=require("../chunks/validators-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/common-types-nBuCd3u2.cjs"),e=require("../chunks/validators-ux2obZB9.cjs"),l=require("../chunks/token-types-CkAGFhiW.cjs"),E=require("../chunks/pivot-result-identity-DEenUrMj.cjs"),a=require("../chunks/report-runtime-context-lSIvyKm2.cjs");exports.CONTROL_CARD_DEFAULT_VALUE=t.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=t.EMPTY_SELECTION;exports.CALCULATED_FIELD_ENTITY_MARKER=e.CALCULATED_FIELD_ENTITY_MARKER;exports.DATE_FORMAT_VALUES=e.DATE_FORMAT_VALUES;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=e.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=e.PivotMarkerEnum;exports.getFieldRuntimeColumnName=e.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=e.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=e.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=e.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=e.isCalculatedDimension;exports.isCalculatedField=e.isCalculatedField;exports.isCalculatedMetric=e.isCalculatedMetric;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=l.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.resolveQueryColumnKeyMapEntry=E.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=E.resolveUniqueQueryColumnKeyMapEntry;exports.DEFAULT_CALENDAR_CONTEXT=a.DEFAULT_CALENDAR_CONTEXT;
|
package/dist/types/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { C as s, E } from "../chunks/common-types-C6cAQgyh.js";
|
|
2
|
-
import { C, D as l, L as t, P as A, g as o, c as _, h as T, d as u, a as L, b as i, i as D } from "../chunks/validators-
|
|
3
|
-
import { D as n } from "../chunks/token-types-
|
|
4
|
-
import { r as F, a as M } from "../chunks/pivot-result-identity-
|
|
5
|
-
import { D as N } from "../chunks/report-runtime-context-
|
|
2
|
+
import { C, D as l, L as t, P as A, g as o, c as _, h as T, d as u, a as L, b as i, i as D } from "../chunks/validators-D-_IT-Xw.js";
|
|
3
|
+
import { D as n } from "../chunks/token-types-BIYFAsGq.js";
|
|
4
|
+
import { r as F, a as M } from "../chunks/pivot-result-identity-sZc1RaIz.js";
|
|
5
|
+
import { D as N } from "../chunks/report-runtime-context-BlDpc-F-.js";
|
|
6
6
|
export {
|
|
7
7
|
C as CALCULATED_FIELD_ENTITY_MARKER,
|
|
8
8
|
s as CONTROL_CARD_DEFAULT_VALUE,
|
package/dist/types/main.d.ts
CHANGED
|
@@ -8704,6 +8704,12 @@ declare type DashboardFilterAuthoringSettingsUpdate = {
|
|
|
8704
8704
|
target?: DashboardInputRuntimeTarget;
|
|
8705
8705
|
optionSourceChanged?: boolean;
|
|
8706
8706
|
optionSource?: DashboardFilterOptionSource;
|
|
8707
|
+
/** Authored option dependency policy edit; undefined value restores the
|
|
8708
|
+
* dashboard default (omitted, meaning All applicable). */
|
|
8709
|
+
optionDependenciesChanged?: boolean;
|
|
8710
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
8711
|
+
optionPopulationChanged?: boolean;
|
|
8712
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
8707
8713
|
/** Raw selection identity changed; the previous runtime value is invalid. */
|
|
8708
8714
|
selectionIdentityChanged?: boolean;
|
|
8709
8715
|
};
|
|
@@ -8890,6 +8896,16 @@ declare type DashboardFilterMappingDraftRow = {
|
|
|
8890
8896
|
|
|
8891
8897
|
declare type DashboardFilterMappingDraftStatus = 'pendingSource' | 'automatic' | 'suggested' | 'needsMapping' | 'mapped' | 'notApplicable' | 'excluded' | 'invalidMapping' | 'metadataUnavailable';
|
|
8892
8898
|
|
|
8899
|
+
/**
|
|
8900
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
8901
|
+
* Omitted means All applicable for dashboards; see
|
|
8902
|
+
* `resolveDashboardOptionDependencies`.
|
|
8903
|
+
*/
|
|
8904
|
+
declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
8905
|
+
|
|
8906
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
8907
|
+
declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
8908
|
+
|
|
8893
8909
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
8894
8910
|
export declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
8895
8911
|
|
|
@@ -10117,6 +10133,8 @@ export declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
10117
10133
|
filter: TFilter;
|
|
10118
10134
|
filterReference?: never;
|
|
10119
10135
|
optionSource?: DashboardFilterOptionSource;
|
|
10136
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
10137
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
10120
10138
|
application?: DashboardFilterApplication;
|
|
10121
10139
|
};
|
|
10122
10140
|
|
|
@@ -10514,6 +10532,15 @@ export declare interface Field {
|
|
|
10514
10532
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
10515
10533
|
*/
|
|
10516
10534
|
label: string;
|
|
10535
|
+
/**
|
|
10536
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
10537
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
10538
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
10539
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
10540
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
10541
|
+
* edit to `label` makes it authored without touching this marker.
|
|
10542
|
+
*/
|
|
10543
|
+
derivedLabel?: string;
|
|
10517
10544
|
/**
|
|
10518
10545
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
10519
10546
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -10711,6 +10738,53 @@ declare type FilterOnClick = {
|
|
|
10711
10738
|
columnIndex: number;
|
|
10712
10739
|
};
|
|
10713
10740
|
|
|
10741
|
+
declare type FilterOptionDependencyFailure = {
|
|
10742
|
+
peer: FilterOptionDependencyPeer;
|
|
10743
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
10744
|
+
/** Viewer-safe explanation built from the reason, never raw server text. */
|
|
10745
|
+
message: string;
|
|
10746
|
+
/** Explicit mode and an overridable, classified reason. */
|
|
10747
|
+
canOverride: boolean;
|
|
10748
|
+
};
|
|
10749
|
+
|
|
10750
|
+
declare type FilterOptionDependencyFeedback = {
|
|
10751
|
+
applied: FilterOptionDependencyPeer[];
|
|
10752
|
+
skipped: Array<FilterOptionDependencyPeer & {
|
|
10753
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
10754
|
+
}>;
|
|
10755
|
+
overridden: Array<FilterOptionDependencyPeer & {
|
|
10756
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
10757
|
+
}>;
|
|
10758
|
+
failure?: FilterOptionDependencyFailure;
|
|
10759
|
+
};
|
|
10760
|
+
|
|
10761
|
+
/**
|
|
10762
|
+
* Viewer-facing reading of the server's dependency outcomes for one option
|
|
10763
|
+
* list. Pure: outcomes and the request error come from the response, labels
|
|
10764
|
+
* come from the dashboard. Nothing here decides applicability; the server
|
|
10765
|
+
* already did. It only says what was applied, what was skipped and why, what
|
|
10766
|
+
* the viewer is browsing around, and whether a classified failure may be
|
|
10767
|
+
* browsed around at all.
|
|
10768
|
+
*/
|
|
10769
|
+
declare type FilterOptionDependencyPeer = {
|
|
10770
|
+
inputId: string;
|
|
10771
|
+
label: string;
|
|
10772
|
+
};
|
|
10773
|
+
|
|
10774
|
+
/**
|
|
10775
|
+
* Dependency state a list renders: what narrowed it, what was skipped, the
|
|
10776
|
+
* active browse override, and the one classified failure a viewer may
|
|
10777
|
+
* browse around. Overrides live here, in browse state, and nowhere else.
|
|
10778
|
+
*/
|
|
10779
|
+
declare type FilterOptionDependencyState = FilterOptionDependencyFeedback & {
|
|
10780
|
+
/** Explicit dependency ids currently browsed without. */
|
|
10781
|
+
override: readonly string[];
|
|
10782
|
+
showDiagnostics: boolean;
|
|
10783
|
+
/** Browse without one classified dependency; the server re-validates. */
|
|
10784
|
+
overrideDependency: (inputId: string) => void;
|
|
10785
|
+
clearOverride: () => void;
|
|
10786
|
+
};
|
|
10787
|
+
|
|
10714
10788
|
declare type FilterOptionValue = string | number | boolean;
|
|
10715
10789
|
|
|
10716
10790
|
declare type FilterSemanticContext = {
|
|
@@ -19927,6 +20001,8 @@ export declare type NormalizedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
19927
20001
|
kind: 'filter';
|
|
19928
20002
|
filter: TFilter;
|
|
19929
20003
|
optionSource?: DashboardFilterOptionSource;
|
|
20004
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
20005
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
19930
20006
|
application?: DashboardFilterApplication;
|
|
19931
20007
|
definitionOrigin: 'embedded' | 'dashboardFilter';
|
|
19932
20008
|
};
|
|
@@ -19994,6 +20070,21 @@ declare type Operation = '=' | '>' | '<' | '>=' | '<=' | '!=' | 'in' | 'not in'
|
|
|
19994
20070
|
|
|
19995
20071
|
export declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
19996
20072
|
|
|
20073
|
+
declare type OptionSelectionRelevance = {
|
|
20074
|
+
byIdentity: ReadonlyMap<string, OptionSelectionRelevanceStatus>;
|
|
20075
|
+
noMatchIdentities: ReadonlySet<string>;
|
|
20076
|
+
isPending: boolean;
|
|
20077
|
+
};
|
|
20078
|
+
|
|
20079
|
+
/**
|
|
20080
|
+
* Per-value relevance of a retained selection under the authored dependency
|
|
20081
|
+
* context. Only a successful, complete exact-value check may say
|
|
20082
|
+
* `no_match`; everything else (pending, failed, unsupported, truncated,
|
|
20083
|
+
* beyond the bounded batch) stays `unknown`, so a stale or partial answer can
|
|
20084
|
+
* never mark a current selection wrong.
|
|
20085
|
+
*/
|
|
20086
|
+
declare type OptionSelectionRelevanceStatus = 'matches' | 'no_match' | 'unknown';
|
|
20087
|
+
|
|
19997
20088
|
declare type OptionsMap = {
|
|
19998
20089
|
number: NumberOptions;
|
|
19999
20090
|
string: StringOptions;
|
|
@@ -21872,6 +21963,8 @@ export declare type ReferencedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
21872
21963
|
filterId: string;
|
|
21873
21964
|
};
|
|
21874
21965
|
optionSource?: DashboardFilterOptionSource;
|
|
21966
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
21967
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
21875
21968
|
application?: DashboardFilterApplication;
|
|
21876
21969
|
};
|
|
21877
21970
|
|
|
@@ -22379,6 +22472,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
22379
22472
|
dependencies?: SemaphorOptionDependencies;
|
|
22380
22473
|
search?: string;
|
|
22381
22474
|
limit?: number;
|
|
22475
|
+
/**
|
|
22476
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
22477
|
+
* value is one of these exact raw values, under the same dependency and
|
|
22478
|
+
* population context, with no search or paging. Bounded by
|
|
22479
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
22480
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
22481
|
+
* `parseOptionMatchValues`.
|
|
22482
|
+
*/
|
|
22483
|
+
matchValues?: Array<string | number | boolean>;
|
|
22382
22484
|
inputs?: SemaphorInputBinding[];
|
|
22383
22485
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
22384
22486
|
};
|
|
@@ -22431,11 +22533,26 @@ declare type SemaphorMetricIntent = {
|
|
|
22431
22533
|
};
|
|
22432
22534
|
|
|
22433
22535
|
declare type SemaphorOptionDependencies = {
|
|
22434
|
-
mode
|
|
22536
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
22537
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
22538
|
+
mode?: SemaphorOptionDependencyMode;
|
|
22435
22539
|
includeInputIds?: string[];
|
|
22436
22540
|
excludeInputIds?: string[];
|
|
22541
|
+
/**
|
|
22542
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
22543
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
22544
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
22545
|
+
* would otherwise fail with an overridable reason (see
|
|
22546
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
22547
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
22548
|
+
*/
|
|
22549
|
+
omitInputIds?: string[];
|
|
22437
22550
|
};
|
|
22438
22551
|
|
|
22552
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
22553
|
+
|
|
22554
|
+
declare type SemaphorOptionDependencyOutcomeReason = 'unrelated' | 'population_required' | 'missing_dependency' | 'missing_relationship' | 'ambiguous_relationship' | 'invalid_metadata' | 'unsupported_dependency' | 'override_not_eligible';
|
|
22555
|
+
|
|
22439
22556
|
declare type SemaphorOptionPopulation = {
|
|
22440
22557
|
kind: 'option_source';
|
|
22441
22558
|
baseSource?: never;
|
|
@@ -26155,7 +26272,9 @@ export declare function useTextFilterHook(filterId: string): {
|
|
|
26155
26272
|
isLoading: boolean;
|
|
26156
26273
|
isFetching: boolean;
|
|
26157
26274
|
isPlaceholderData: boolean;
|
|
26275
|
+
isLoadingOptions: boolean;
|
|
26158
26276
|
isError: boolean;
|
|
26277
|
+
retry: () => void;
|
|
26159
26278
|
hasNextPage: boolean;
|
|
26160
26279
|
hasLoadedMoreOptions: boolean;
|
|
26161
26280
|
isFetchingNextPage: boolean;
|
|
@@ -26174,6 +26293,8 @@ export declare function useTextFilterHook(filterId: string): {
|
|
|
26174
26293
|
isSearching: boolean;
|
|
26175
26294
|
searchError: boolean;
|
|
26176
26295
|
resultSource: "server" | "both" | "local";
|
|
26296
|
+
dependency: FilterOptionDependencyState;
|
|
26297
|
+
selectionRelevance: OptionSelectionRelevance;
|
|
26177
26298
|
};
|
|
26178
26299
|
|
|
26179
26300
|
export declare function validateBriefingFormDraft(draft: BriefingFormDraft): BriefingFormValidationResult;
|
package/dist/types/shared.d.ts
CHANGED
|
@@ -4004,6 +4004,16 @@ declare type DashboardFilterExcludedCardApplication = {
|
|
|
4004
4004
|
cardId: string;
|
|
4005
4005
|
};
|
|
4006
4006
|
|
|
4007
|
+
/**
|
|
4008
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
4009
|
+
* Omitted means All applicable for dashboards; see
|
|
4010
|
+
* `resolveDashboardOptionDependencies`.
|
|
4011
|
+
*/
|
|
4012
|
+
declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
4013
|
+
|
|
4014
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
4015
|
+
declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
4016
|
+
|
|
4007
4017
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
4008
4018
|
declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
4009
4019
|
|
|
@@ -4575,6 +4585,8 @@ declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
4575
4585
|
filter: TFilter;
|
|
4576
4586
|
filterReference?: never;
|
|
4577
4587
|
optionSource?: DashboardFilterOptionSource;
|
|
4588
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
4589
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
4578
4590
|
application?: DashboardFilterApplication;
|
|
4579
4591
|
};
|
|
4580
4592
|
|
|
@@ -4776,6 +4788,15 @@ declare interface Field {
|
|
|
4776
4788
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
4777
4789
|
*/
|
|
4778
4790
|
label: string;
|
|
4791
|
+
/**
|
|
4792
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
4793
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
4794
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
4795
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
4796
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
4797
|
+
* edit to `label` makes it authored without touching this marker.
|
|
4798
|
+
*/
|
|
4799
|
+
derivedLabel?: string;
|
|
4779
4800
|
/**
|
|
4780
4801
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
4781
4802
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -7130,6 +7151,8 @@ declare type ReferencedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
7130
7151
|
filterId: string;
|
|
7131
7152
|
};
|
|
7132
7153
|
optionSource?: DashboardFilterOptionSource;
|
|
7154
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
7155
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
7133
7156
|
application?: DashboardFilterApplication;
|
|
7134
7157
|
};
|
|
7135
7158
|
|
|
@@ -7225,6 +7248,38 @@ declare type SemaphorInputOptionSource = {
|
|
|
7225
7248
|
disambiguationFields?: SemaphorFieldRef[];
|
|
7226
7249
|
};
|
|
7227
7250
|
|
|
7251
|
+
declare type SemaphorOptionDependencies = {
|
|
7252
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
7253
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
7254
|
+
mode?: SemaphorOptionDependencyMode;
|
|
7255
|
+
includeInputIds?: string[];
|
|
7256
|
+
excludeInputIds?: string[];
|
|
7257
|
+
/**
|
|
7258
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
7259
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
7260
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
7261
|
+
* would otherwise fail with an overridable reason (see
|
|
7262
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
7263
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
7264
|
+
*/
|
|
7265
|
+
omitInputIds?: string[];
|
|
7266
|
+
};
|
|
7267
|
+
|
|
7268
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
7269
|
+
|
|
7270
|
+
declare type SemaphorOptionPopulation = {
|
|
7271
|
+
kind: 'option_source';
|
|
7272
|
+
baseSource?: never;
|
|
7273
|
+
} | {
|
|
7274
|
+
kind: 'related_population';
|
|
7275
|
+
baseSource: SemaphorSourceRef;
|
|
7276
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
7277
|
+
};
|
|
7278
|
+
|
|
7279
|
+
declare type SemaphorRelationshipHint = {
|
|
7280
|
+
relationshipIds?: string[];
|
|
7281
|
+
};
|
|
7282
|
+
|
|
7228
7283
|
declare type SemaphorScalarValueFormat = {
|
|
7229
7284
|
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
7230
7285
|
minimumFractionDigits?: number;
|
|
@@ -4149,6 +4149,16 @@ export declare type DashboardFilterExcludedCardApplication = {
|
|
|
4149
4149
|
cardId: string;
|
|
4150
4150
|
};
|
|
4151
4151
|
|
|
4152
|
+
/**
|
|
4153
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
4154
|
+
* Omitted means All applicable for dashboards; see
|
|
4155
|
+
* `resolveDashboardOptionDependencies`.
|
|
4156
|
+
*/
|
|
4157
|
+
declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
4158
|
+
|
|
4159
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
4160
|
+
declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
4161
|
+
|
|
4152
4162
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
4153
4163
|
export declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
4154
4164
|
|
|
@@ -4936,6 +4946,8 @@ export declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
4936
4946
|
filter: TFilter;
|
|
4937
4947
|
filterReference?: never;
|
|
4938
4948
|
optionSource?: DashboardFilterOptionSource;
|
|
4949
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
4950
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
4939
4951
|
application?: DashboardFilterApplication;
|
|
4940
4952
|
};
|
|
4941
4953
|
|
|
@@ -5150,6 +5162,15 @@ declare interface Field {
|
|
|
5150
5162
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
5151
5163
|
*/
|
|
5152
5164
|
label: string;
|
|
5165
|
+
/**
|
|
5166
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
5167
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
5168
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
5169
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
5170
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
5171
|
+
* edit to `label` makes it authored without touching this marker.
|
|
5172
|
+
*/
|
|
5173
|
+
derivedLabel?: string;
|
|
5153
5174
|
/**
|
|
5154
5175
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
5155
5176
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -5913,6 +5934,8 @@ export declare type NormalizedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
5913
5934
|
kind: 'filter';
|
|
5914
5935
|
filter: TFilter;
|
|
5915
5936
|
optionSource?: DashboardFilterOptionSource;
|
|
5937
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
5938
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
5916
5939
|
application?: DashboardFilterApplication;
|
|
5917
5940
|
definitionOrigin: 'embedded' | 'dashboardFilter';
|
|
5918
5941
|
};
|
|
@@ -7680,6 +7703,8 @@ export declare type ReferencedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
7680
7703
|
filterId: string;
|
|
7681
7704
|
};
|
|
7682
7705
|
optionSource?: DashboardFilterOptionSource;
|
|
7706
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
7707
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
7683
7708
|
application?: DashboardFilterApplication;
|
|
7684
7709
|
};
|
|
7685
7710
|
|
|
@@ -7977,6 +8002,38 @@ declare type SemaphorInputOptionSource = {
|
|
|
7977
8002
|
disambiguationFields?: SemaphorFieldRef[];
|
|
7978
8003
|
};
|
|
7979
8004
|
|
|
8005
|
+
declare type SemaphorOptionDependencies = {
|
|
8006
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
8007
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
8008
|
+
mode?: SemaphorOptionDependencyMode;
|
|
8009
|
+
includeInputIds?: string[];
|
|
8010
|
+
excludeInputIds?: string[];
|
|
8011
|
+
/**
|
|
8012
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
8013
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
8014
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
8015
|
+
* would otherwise fail with an overridable reason (see
|
|
8016
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
8017
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
8018
|
+
*/
|
|
8019
|
+
omitInputIds?: string[];
|
|
8020
|
+
};
|
|
8021
|
+
|
|
8022
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
8023
|
+
|
|
8024
|
+
declare type SemaphorOptionPopulation = {
|
|
8025
|
+
kind: 'option_source';
|
|
8026
|
+
baseSource?: never;
|
|
8027
|
+
} | {
|
|
8028
|
+
kind: 'related_population';
|
|
8029
|
+
baseSource: SemaphorSourceRef;
|
|
8030
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
8031
|
+
};
|
|
8032
|
+
|
|
8033
|
+
declare type SemaphorRelationshipHint = {
|
|
8034
|
+
relationshipIds?: string[];
|
|
8035
|
+
};
|
|
8036
|
+
|
|
7980
8037
|
declare type SemaphorScalarValueFormat = {
|
|
7981
8038
|
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
7982
8039
|
minimumFractionDigits?: number;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -4664,6 +4664,16 @@ export declare type DashboardFilterExcludedCardApplication = {
|
|
|
4664
4664
|
cardId: string;
|
|
4665
4665
|
};
|
|
4666
4666
|
|
|
4667
|
+
/**
|
|
4668
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
4669
|
+
* Omitted means All applicable for dashboards; see
|
|
4670
|
+
* `resolveDashboardOptionDependencies`.
|
|
4671
|
+
*/
|
|
4672
|
+
declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
4673
|
+
|
|
4674
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
4675
|
+
declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
4676
|
+
|
|
4667
4677
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
4668
4678
|
export declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
4669
4679
|
|
|
@@ -5513,6 +5523,8 @@ export declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
5513
5523
|
filter: TFilter;
|
|
5514
5524
|
filterReference?: never;
|
|
5515
5525
|
optionSource?: DashboardFilterOptionSource;
|
|
5526
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
5527
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
5516
5528
|
application?: DashboardFilterApplication;
|
|
5517
5529
|
};
|
|
5518
5530
|
|
|
@@ -5737,6 +5749,15 @@ export declare interface Field {
|
|
|
5737
5749
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
5738
5750
|
*/
|
|
5739
5751
|
label: string;
|
|
5752
|
+
/**
|
|
5753
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
5754
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
5755
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
5756
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
5757
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
5758
|
+
* edit to `label` makes it authored without touching this marker.
|
|
5759
|
+
*/
|
|
5760
|
+
derivedLabel?: string;
|
|
5740
5761
|
/**
|
|
5741
5762
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
5742
5763
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -6583,6 +6604,8 @@ export declare type NormalizedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
6583
6604
|
kind: 'filter';
|
|
6584
6605
|
filter: TFilter;
|
|
6585
6606
|
optionSource?: DashboardFilterOptionSource;
|
|
6607
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
6608
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
6586
6609
|
application?: DashboardFilterApplication;
|
|
6587
6610
|
definitionOrigin: 'embedded' | 'dashboardFilter';
|
|
6588
6611
|
};
|
|
@@ -8488,6 +8511,8 @@ export declare type ReferencedFilterDashboardInput = FilterDashboardInputBase &
|
|
|
8488
8511
|
filterId: string;
|
|
8489
8512
|
};
|
|
8490
8513
|
optionSource?: DashboardFilterOptionSource;
|
|
8514
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
8515
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
8491
8516
|
application?: DashboardFilterApplication;
|
|
8492
8517
|
};
|
|
8493
8518
|
|
|
@@ -8838,6 +8863,34 @@ declare type SemaphorInputOptionSource = {
|
|
|
8838
8863
|
disambiguationFields?: SemaphorFieldRef[];
|
|
8839
8864
|
};
|
|
8840
8865
|
|
|
8866
|
+
declare type SemaphorOptionDependencies = {
|
|
8867
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
8868
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
8869
|
+
mode?: SemaphorOptionDependencyMode;
|
|
8870
|
+
includeInputIds?: string[];
|
|
8871
|
+
excludeInputIds?: string[];
|
|
8872
|
+
/**
|
|
8873
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
8874
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
8875
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
8876
|
+
* would otherwise fail with an overridable reason (see
|
|
8877
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
8878
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
8879
|
+
*/
|
|
8880
|
+
omitInputIds?: string[];
|
|
8881
|
+
};
|
|
8882
|
+
|
|
8883
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
8884
|
+
|
|
8885
|
+
declare type SemaphorOptionPopulation = {
|
|
8886
|
+
kind: 'option_source';
|
|
8887
|
+
baseSource?: never;
|
|
8888
|
+
} | {
|
|
8889
|
+
kind: 'related_population';
|
|
8890
|
+
baseSource: SemaphorSourceRef;
|
|
8891
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
8892
|
+
};
|
|
8893
|
+
|
|
8841
8894
|
declare type SemaphorPivotResultColumnIdentity = {
|
|
8842
8895
|
metricId: string;
|
|
8843
8896
|
/** Collision-safe identity for this configured metric instance. */
|
|
@@ -8862,6 +8915,10 @@ declare type SemaphorPivotResultMember = {
|
|
|
8862
8915
|
/** Stable canonical scalar transported for one physical pivot member. */
|
|
8863
8916
|
declare type SemaphorPivotValue = string | null;
|
|
8864
8917
|
|
|
8918
|
+
declare type SemaphorRelationshipHint = {
|
|
8919
|
+
relationshipIds?: string[];
|
|
8920
|
+
};
|
|
8921
|
+
|
|
8865
8922
|
declare type SemaphorResultColumn = {
|
|
8866
8923
|
/**
|
|
8867
8924
|
* Stable row accessor for this result. Consumers should read values with
|