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
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-BSRwdFTN.cjs"),r=require("../chunks/common-types-nBuCd3u2.cjs"),o=require("../chunks/report-preferences-dialog-DGEq-iBF.cjs");exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.Surfboard=e.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=r.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;exports.ReportPreferencesDialog=o.ReportPreferencesDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b as a, a as o } from "../chunks/index-
|
|
1
|
+
import { b as a, a as o } from "../chunks/index-Cgoz65yM.js";
|
|
2
2
|
import { C as f, E } from "../chunks/common-types-C6cAQgyh.js";
|
|
3
|
-
import { R as t } from "../chunks/report-preferences-dialog-
|
|
3
|
+
import { R as t } from "../chunks/report-preferences-dialog-CVRJOCQu.js";
|
|
4
4
|
export {
|
|
5
5
|
f as CONTROL_CARD_DEFAULT_VALUE,
|
|
6
6
|
a as DisplayFormatPreferencesFields,
|
|
@@ -13360,6 +13360,15 @@ declare interface Field {
|
|
|
13360
13360
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
13361
13361
|
*/
|
|
13362
13362
|
label: string;
|
|
13363
|
+
/**
|
|
13364
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
13365
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
13366
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
13367
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
13368
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
13369
|
+
* edit to `label` makes it authored without touching this marker.
|
|
13370
|
+
*/
|
|
13371
|
+
derivedLabel?: string;
|
|
13363
13372
|
/**
|
|
13364
13373
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
13365
13374
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -13889,10 +13898,17 @@ export declare function isExactNumericValue(value: unknown): value is ExactNumer
|
|
|
13889
13898
|
/** Null expansion means all detail, not the browser's default depth. */
|
|
13890
13899
|
export declare function isMatrixPathExpanded(path: MatrixPath, expansion: MatrixExpansion | null): boolean;
|
|
13891
13900
|
|
|
13901
|
+
/** Null checks carry no values but still constrain the option list. */
|
|
13902
|
+
export declare function isNullCheckPredicate(predicate: Pick<NativePredicateSemantics, 'operation'>): boolean;
|
|
13903
|
+
|
|
13904
|
+
export declare function isOverridableOptionDependencyReason(reason: unknown): reason is (typeof OVERRIDABLE_OPTION_DEPENDENCY_REASONS)[number];
|
|
13905
|
+
|
|
13892
13906
|
export declare function isSemaphorAnalyzeResultFieldName(value: string): value is SemaphorAnalyzeResultFieldName;
|
|
13893
13907
|
|
|
13894
13908
|
export declare function isSemaphorDataAppCodegenSummary(value: unknown): value is SemaphorDataAppCodegenSummary;
|
|
13895
13909
|
|
|
13910
|
+
export declare function isSemaphorOptionMatchValue(value: unknown): value is SemaphorOptionMatchValue;
|
|
13911
|
+
|
|
13896
13912
|
/**
|
|
13897
13913
|
* Classifies persisted selected-entity metadata. This is structural metadata
|
|
13898
13914
|
* handling; it does not inspect or parse authored SQL.
|
|
@@ -60101,6 +60117,10 @@ export declare const matrixWindowSchema: z.ZodEffects<z.ZodObject<{
|
|
|
60101
60117
|
}[];
|
|
60102
60118
|
}>;
|
|
60103
60119
|
|
|
60120
|
+
/** Upper bound on exact values one relevance check may submit. Values beyond
|
|
60121
|
+
* it stay `unknown`; a truncated list is never evidence of absence. */
|
|
60122
|
+
export declare const MAX_OPTION_MATCH_VALUES = 200;
|
|
60123
|
+
|
|
60104
60124
|
export declare function mergeSemaphorSourcesByIdentity<TSource extends SemaphorSourceRef>(sources: readonly TSource[]): TSource[];
|
|
60105
60125
|
|
|
60106
60126
|
export declare type MetricComparisonConfig = {
|
|
@@ -60260,6 +60280,34 @@ declare type MonthAlignedFiscalCalendar = {
|
|
|
60260
60280
|
yearStartMonth: number;
|
|
60261
60281
|
};
|
|
60262
60282
|
|
|
60283
|
+
export declare const NATIVE_PREDICATE_OPERATIONS: readonly ["=", "!=", ">", "<", ">=", "<=", "like", "not like", "between", "not between", "in", "not in", "is null", "is not null"];
|
|
60284
|
+
|
|
60285
|
+
export declare type NativePredicateOperation = (typeof NATIVE_PREDICATE_OPERATIONS)[number];
|
|
60286
|
+
|
|
60287
|
+
/**
|
|
60288
|
+
* Predicate semantics a dashboard transport wants executed verbatim. This is
|
|
60289
|
+
* a closed contract: only the keys below survive, so a native filter value
|
|
60290
|
+
* crossing a JSON boundary can never carry identity (field name, qualified
|
|
60291
|
+
* name, owning entity, datatype, source context, calculated expression). The
|
|
60292
|
+
* server rebuilds identity from grounding and re-applies the same contract.
|
|
60293
|
+
*/
|
|
60294
|
+
export declare type NativePredicateSemantics = {
|
|
60295
|
+
operation: NativePredicateOperation;
|
|
60296
|
+
values: unknown[];
|
|
60297
|
+
valueType?: 'string' | 'number' | 'date' | 'boolean';
|
|
60298
|
+
temporalBucket?: unknown;
|
|
60299
|
+
relativeMeta?: unknown;
|
|
60300
|
+
temporalPrecision?: unknown;
|
|
60301
|
+
};
|
|
60302
|
+
|
|
60303
|
+
/**
|
|
60304
|
+
* The allowlisted keys of a native filter value, unvalidated. This is what a
|
|
60305
|
+
* client transport sends: it never decides whether a predicate is executable,
|
|
60306
|
+
* so nothing is dropped on the way to the server, and it never carries a key
|
|
60307
|
+
* outside the contract. Returns undefined only for a non-object value.
|
|
60308
|
+
*/
|
|
60309
|
+
export declare type NativePredicateSemanticsCandidate = Partial<Record<keyof NativePredicateSemantics, unknown>>;
|
|
60310
|
+
|
|
60263
60311
|
export declare function normalizeAnalyticsCatalogDataType(value: unknown): AnalyticsCatalogDataType;
|
|
60264
60312
|
|
|
60265
60313
|
export declare function normalizeAnalyticsCatalogName(value: unknown): string;
|
|
@@ -60290,8 +60338,36 @@ export declare const nullableScalarSchema: z.ZodUnion<[z.ZodNumber, z.ZodString,
|
|
|
60290
60338
|
|
|
60291
60339
|
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
60292
60340
|
|
|
60341
|
+
/**
|
|
60342
|
+
* Reasons a viewer may browse around with a labeled override. Everything
|
|
60343
|
+
* else (auth, execution, malformed metadata, unsupported semantics) stays an
|
|
60344
|
+
* error that an override cannot bypass.
|
|
60345
|
+
*/
|
|
60346
|
+
export declare const OVERRIDABLE_OPTION_DEPENDENCY_REASONS: readonly ["missing_dependency", "missing_relationship", "population_required", "ambiguous_relationship"];
|
|
60347
|
+
|
|
60293
60348
|
export declare function parseMatrixRuntimeInputs(input: unknown): MatrixRuntimeInputs;
|
|
60294
60349
|
|
|
60350
|
+
/**
|
|
60351
|
+
* Builds validated predicate semantics from a native filter value or a
|
|
60352
|
+
* transported candidate. Returns undefined when the operation or cardinality
|
|
60353
|
+
* is not executable; the server reports that as a typed outcome rather than
|
|
60354
|
+
* dropping the candidate.
|
|
60355
|
+
*/
|
|
60356
|
+
export declare function parseNativePredicateSemantics(value: unknown): NativePredicateSemantics | undefined;
|
|
60357
|
+
|
|
60358
|
+
/**
|
|
60359
|
+
* The one structural rule for `matchValues` on every transport: a non-empty
|
|
60360
|
+
* list of scalar values within the bound. Both the intent validator and the
|
|
60361
|
+
* standard body parser use it, so the two transports cannot drift.
|
|
60362
|
+
*/
|
|
60363
|
+
export declare function parseOptionMatchValues(raw: unknown): {
|
|
60364
|
+
ok: true;
|
|
60365
|
+
values: SemaphorOptionMatchValue[];
|
|
60366
|
+
} | {
|
|
60367
|
+
ok: false;
|
|
60368
|
+
error: string;
|
|
60369
|
+
};
|
|
60370
|
+
|
|
60295
60371
|
/** Strictly parses one raw temporal descriptor at a result boundary. */
|
|
60296
60372
|
export declare function parseRawTemporalValueMetadata(input: unknown): RawTemporalValueMetadata;
|
|
60297
60373
|
|
|
@@ -60306,6 +60382,14 @@ export declare function parseSemaphorQualifiedSourcePath(input: {
|
|
|
60306
60382
|
capabilities: Pick<SemaphorConnectionCapabilities, 'prefixLevels'>;
|
|
60307
60383
|
}): SemaphorSourceCoordinateInput;
|
|
60308
60384
|
|
|
60385
|
+
/**
|
|
60386
|
+
* The unqualified, unquoted leaf of a persisted identifier path such as
|
|
60387
|
+
* `schema.table.column`, `"Column Name"`, `` `col` `` or `[col]`. Persisted
|
|
60388
|
+
* filter names and columns carry dialect quoting; consumers that need the
|
|
60389
|
+
* bare column name use this instead of hand-rolled string surgery.
|
|
60390
|
+
*/
|
|
60391
|
+
export declare function persistedIdentifierLeafName(value: string | null | undefined): string;
|
|
60392
|
+
|
|
60309
60393
|
declare type PhysicalResolutionCapabilities = Pick<SemaphorConnectionCapabilities, 'dialect' | 'prefixLevels'>;
|
|
60310
60394
|
|
|
60311
60395
|
export declare function preferSemaphorFieldRefMetadata(current: SemaphorFieldRef, next: SemaphorFieldRef): SemaphorFieldRef;
|
|
@@ -61908,6 +61992,8 @@ declare const presentationFields: {
|
|
|
61908
61992
|
}>>;
|
|
61909
61993
|
};
|
|
61910
61994
|
|
|
61995
|
+
export declare function projectNativePredicateSemantics(value: unknown): NativePredicateSemanticsCandidate | undefined;
|
|
61996
|
+
|
|
61911
61997
|
export declare const RAW_TEMPORAL_CONTRACT_ERROR_CODES: {
|
|
61912
61998
|
readonly invalidMetadata: "invalid_raw_temporal_metadata";
|
|
61913
61999
|
};
|
|
@@ -65072,6 +65158,15 @@ export declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
65072
65158
|
dependencies?: SemaphorOptionDependencies;
|
|
65073
65159
|
search?: string;
|
|
65074
65160
|
limit?: number;
|
|
65161
|
+
/**
|
|
65162
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
65163
|
+
* value is one of these exact raw values, under the same dependency and
|
|
65164
|
+
* population context, with no search or paging. Bounded by
|
|
65165
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
65166
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
65167
|
+
* `parseOptionMatchValues`.
|
|
65168
|
+
*/
|
|
65169
|
+
matchValues?: Array<string | number | boolean>;
|
|
65075
65170
|
inputs?: SemaphorInputBinding[];
|
|
65076
65171
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
65077
65172
|
};
|
|
@@ -65088,6 +65183,9 @@ export declare type SemaphorInputOptionSource = {
|
|
|
65088
65183
|
|
|
65089
65184
|
export declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
65090
65185
|
kind: 'inputOptions';
|
|
65186
|
+
dependencyOutcomes?: SemaphorOptionDependencyOutcome[];
|
|
65187
|
+
/** Present when the intent carried `matchValues`. */
|
|
65188
|
+
match?: SemaphorOptionMatchResult;
|
|
65091
65189
|
options: Array<{
|
|
65092
65190
|
label: string;
|
|
65093
65191
|
value: unknown;
|
|
@@ -65098,6 +65196,29 @@ export declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
|
65098
65196
|
|
|
65099
65197
|
export declare const semaphorInputOptionsResultSchema: z.ZodObject<{
|
|
65100
65198
|
kind: z.ZodLiteral<"inputOptions">;
|
|
65199
|
+
dependencyOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
65200
|
+
inputId: z.ZodString;
|
|
65201
|
+
status: z.ZodEnum<["applied", "inactive", "skipped", "overridden", "error"]>;
|
|
65202
|
+
reason: z.ZodOptional<z.ZodEnum<["unrelated", "population_required", "missing_dependency", "missing_relationship", "ambiguous_relationship", "invalid_metadata", "unsupported_dependency", "override_not_eligible"]>>;
|
|
65203
|
+
}, "strip", z.ZodTypeAny, {
|
|
65204
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65205
|
+
inputId: string;
|
|
65206
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65207
|
+
}, {
|
|
65208
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65209
|
+
inputId: string;
|
|
65210
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65211
|
+
}>, "many">>;
|
|
65212
|
+
match: z.ZodOptional<z.ZodObject<{
|
|
65213
|
+
complete: z.ZodBoolean;
|
|
65214
|
+
reason: z.ZodOptional<z.ZodEnum<["unsupported", "truncated"]>>;
|
|
65215
|
+
}, "strip", z.ZodTypeAny, {
|
|
65216
|
+
complete: boolean;
|
|
65217
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65218
|
+
}, {
|
|
65219
|
+
complete: boolean;
|
|
65220
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65221
|
+
}>>;
|
|
65101
65222
|
options: z.ZodArray<z.ZodEffects<z.ZodObject<z.ZodRawShape, "passthrough", z.ZodTypeAny, z.objectOutputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">, z.objectInputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">>, z.objectOutputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">, z.objectInputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">>, "many">;
|
|
65102
65223
|
intentId: z.ZodOptional<z.ZodString>;
|
|
65103
65224
|
queryPath: z.ZodEnum<["query_spec", "sql", "sql_python"]>;
|
|
@@ -65129,6 +65250,29 @@ export declare const semaphorInputOptionsResultSchema: z.ZodObject<{
|
|
|
65129
65250
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
65130
65251
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
65131
65252
|
kind: z.ZodLiteral<"inputOptions">;
|
|
65253
|
+
dependencyOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
65254
|
+
inputId: z.ZodString;
|
|
65255
|
+
status: z.ZodEnum<["applied", "inactive", "skipped", "overridden", "error"]>;
|
|
65256
|
+
reason: z.ZodOptional<z.ZodEnum<["unrelated", "population_required", "missing_dependency", "missing_relationship", "ambiguous_relationship", "invalid_metadata", "unsupported_dependency", "override_not_eligible"]>>;
|
|
65257
|
+
}, "strip", z.ZodTypeAny, {
|
|
65258
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65259
|
+
inputId: string;
|
|
65260
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65261
|
+
}, {
|
|
65262
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65263
|
+
inputId: string;
|
|
65264
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65265
|
+
}>, "many">>;
|
|
65266
|
+
match: z.ZodOptional<z.ZodObject<{
|
|
65267
|
+
complete: z.ZodBoolean;
|
|
65268
|
+
reason: z.ZodOptional<z.ZodEnum<["unsupported", "truncated"]>>;
|
|
65269
|
+
}, "strip", z.ZodTypeAny, {
|
|
65270
|
+
complete: boolean;
|
|
65271
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65272
|
+
}, {
|
|
65273
|
+
complete: boolean;
|
|
65274
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65275
|
+
}>>;
|
|
65132
65276
|
options: z.ZodArray<z.ZodEffects<z.ZodObject<z.ZodRawShape, "passthrough", z.ZodTypeAny, z.objectOutputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">, z.objectInputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">>, z.objectOutputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">, z.objectInputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">>, "many">;
|
|
65133
65277
|
intentId: z.ZodOptional<z.ZodString>;
|
|
65134
65278
|
queryPath: z.ZodEnum<["query_spec", "sql", "sql_python"]>;
|
|
@@ -65160,6 +65304,29 @@ export declare const semaphorInputOptionsResultSchema: z.ZodObject<{
|
|
|
65160
65304
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
65161
65305
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
65162
65306
|
kind: z.ZodLiteral<"inputOptions">;
|
|
65307
|
+
dependencyOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
65308
|
+
inputId: z.ZodString;
|
|
65309
|
+
status: z.ZodEnum<["applied", "inactive", "skipped", "overridden", "error"]>;
|
|
65310
|
+
reason: z.ZodOptional<z.ZodEnum<["unrelated", "population_required", "missing_dependency", "missing_relationship", "ambiguous_relationship", "invalid_metadata", "unsupported_dependency", "override_not_eligible"]>>;
|
|
65311
|
+
}, "strip", z.ZodTypeAny, {
|
|
65312
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65313
|
+
inputId: string;
|
|
65314
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65315
|
+
}, {
|
|
65316
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65317
|
+
inputId: string;
|
|
65318
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65319
|
+
}>, "many">>;
|
|
65320
|
+
match: z.ZodOptional<z.ZodObject<{
|
|
65321
|
+
complete: z.ZodBoolean;
|
|
65322
|
+
reason: z.ZodOptional<z.ZodEnum<["unsupported", "truncated"]>>;
|
|
65323
|
+
}, "strip", z.ZodTypeAny, {
|
|
65324
|
+
complete: boolean;
|
|
65325
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65326
|
+
}, {
|
|
65327
|
+
complete: boolean;
|
|
65328
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65329
|
+
}>>;
|
|
65163
65330
|
options: z.ZodArray<z.ZodEffects<z.ZodObject<z.ZodRawShape, "passthrough", z.ZodTypeAny, z.objectOutputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">, z.objectInputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">>, z.objectOutputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">, z.objectInputType<z.ZodRawShape, z.ZodTypeAny, "passthrough">>, "many">;
|
|
65164
65331
|
intentId: z.ZodOptional<z.ZodString>;
|
|
65165
65332
|
queryPath: z.ZodEnum<["query_spec", "sql", "sql_python"]>;
|
|
@@ -65445,11 +65612,78 @@ export declare type SemaphorOperationIntent = {
|
|
|
65445
65612
|
};
|
|
65446
65613
|
|
|
65447
65614
|
export declare type SemaphorOptionDependencies = {
|
|
65448
|
-
mode
|
|
65615
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
65616
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
65617
|
+
mode?: SemaphorOptionDependencyMode;
|
|
65449
65618
|
includeInputIds?: string[];
|
|
65450
65619
|
excludeInputIds?: string[];
|
|
65620
|
+
/**
|
|
65621
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
65622
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
65623
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
65624
|
+
* would otherwise fail with an overridable reason (see
|
|
65625
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
65626
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
65627
|
+
*/
|
|
65628
|
+
omitInputIds?: string[];
|
|
65451
65629
|
};
|
|
65452
65630
|
|
|
65631
|
+
export declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
65632
|
+
|
|
65633
|
+
/** Per-candidate classification of an option query's dependencies. Describes
|
|
65634
|
+
* which viewer selections constrained the option list; it never substitutes
|
|
65635
|
+
* for execution success or failure. */
|
|
65636
|
+
export declare type SemaphorOptionDependencyOutcome = {
|
|
65637
|
+
inputId: string;
|
|
65638
|
+
status: SemaphorOptionDependencyOutcomeStatus;
|
|
65639
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
65640
|
+
};
|
|
65641
|
+
|
|
65642
|
+
export declare type SemaphorOptionDependencyOutcomeReason = 'unrelated' | 'population_required' | 'missing_dependency' | 'missing_relationship' | 'ambiguous_relationship' | 'invalid_metadata' | 'unsupported_dependency' | 'override_not_eligible';
|
|
65643
|
+
|
|
65644
|
+
export declare const semaphorOptionDependencyOutcomeSchema: z.ZodObject<{
|
|
65645
|
+
inputId: z.ZodString;
|
|
65646
|
+
status: z.ZodEnum<["applied", "inactive", "skipped", "overridden", "error"]>;
|
|
65647
|
+
reason: z.ZodOptional<z.ZodEnum<["unrelated", "population_required", "missing_dependency", "missing_relationship", "ambiguous_relationship", "invalid_metadata", "unsupported_dependency", "override_not_eligible"]>>;
|
|
65648
|
+
}, "strip", z.ZodTypeAny, {
|
|
65649
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65650
|
+
inputId: string;
|
|
65651
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65652
|
+
}, {
|
|
65653
|
+
status: "applied" | "inactive" | "skipped" | "overridden" | "error";
|
|
65654
|
+
inputId: string;
|
|
65655
|
+
reason?: "unrelated" | "population_required" | "missing_dependency" | "missing_relationship" | "ambiguous_relationship" | "invalid_metadata" | "unsupported_dependency" | "override_not_eligible" | undefined;
|
|
65656
|
+
}>;
|
|
65657
|
+
|
|
65658
|
+
export declare type SemaphorOptionDependencyOutcomeStatus = 'applied' | 'inactive' | 'skipped' | 'overridden' | 'error';
|
|
65659
|
+
|
|
65660
|
+
export declare type SemaphorOptionDependencyValidationProfile = 'protocol' | 'dashboard';
|
|
65661
|
+
|
|
65662
|
+
export declare type SemaphorOptionMatchResult = {
|
|
65663
|
+
/** True only when every submitted value was evaluated by a complete exact
|
|
65664
|
+
* check; only then may absence be read as `no_match`. */
|
|
65665
|
+
complete: boolean;
|
|
65666
|
+
reason?: 'unsupported' | 'truncated';
|
|
65667
|
+
};
|
|
65668
|
+
|
|
65669
|
+
export declare const semaphorOptionMatchResultSchema: z.ZodObject<{
|
|
65670
|
+
complete: z.ZodBoolean;
|
|
65671
|
+
reason: z.ZodOptional<z.ZodEnum<["unsupported", "truncated"]>>;
|
|
65672
|
+
}, "strip", z.ZodTypeAny, {
|
|
65673
|
+
complete: boolean;
|
|
65674
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65675
|
+
}, {
|
|
65676
|
+
complete: boolean;
|
|
65677
|
+
reason?: "unsupported" | "truncated" | undefined;
|
|
65678
|
+
}>;
|
|
65679
|
+
|
|
65680
|
+
/**
|
|
65681
|
+
* A raw value a relevance check may submit. NULL is deliberately excluded:
|
|
65682
|
+
* an `in` predicate cannot express "is null", so a null selection can never
|
|
65683
|
+
* be proven present or absent by this check and stays unknown on the client.
|
|
65684
|
+
*/
|
|
65685
|
+
export declare type SemaphorOptionMatchValue = string | number | boolean;
|
|
65686
|
+
|
|
65453
65687
|
export declare type SemaphorOptionPopulation = {
|
|
65454
65688
|
kind: 'option_source';
|
|
65455
65689
|
baseSource?: never;
|
|
@@ -68172,6 +68406,24 @@ declare interface TimeDrillStep {
|
|
|
68172
68406
|
|
|
68173
68407
|
declare type TimeGranularity = SemaphorTimeGrain;
|
|
68174
68408
|
|
|
68409
|
+
/**
|
|
68410
|
+
* Semantics of a native filter value the caller already trusts structurally.
|
|
68411
|
+
* Throws only for programming errors (an unknown operation on a typed filter
|
|
68412
|
+
* value); JSON callers must use `parseNativePredicateSemantics`.
|
|
68413
|
+
*/
|
|
68414
|
+
export declare function toNativePredicateSemantics(filter: {
|
|
68415
|
+
operation: string;
|
|
68416
|
+
values: unknown[];
|
|
68417
|
+
} & Record<string, unknown>): NativePredicateSemantics;
|
|
68418
|
+
|
|
68419
|
+
/**
|
|
68420
|
+
* Maps a dashboard filter operation (the `TFilterValue.operation` vocabulary)
|
|
68421
|
+
* to the shared input operator. Null checks have no input operator; callers
|
|
68422
|
+
* that carry the native predicate keep the original operation and only use
|
|
68423
|
+
* this mapping to describe the binding.
|
|
68424
|
+
*/
|
|
68425
|
+
export declare function toSemaphorInputOperatorFromFilterOperation(operation: string | null | undefined): SemaphorInputOperator | undefined;
|
|
68426
|
+
|
|
68175
68427
|
/**
|
|
68176
68428
|
* Validates the atomic column boundary for an activated canonical producer.
|
|
68177
68429
|
* Expected keys come from the producer's typed field/output mapping; this
|
|
@@ -68214,6 +68466,18 @@ export declare function validateSemaphorDerivedFieldDefinition(definition: Semap
|
|
|
68214
68466
|
|
|
68215
68467
|
export declare function validateSemaphorOperationIntent(intent: SemaphorOperationIntent): SemaphorAnalyticsValidationResult;
|
|
68216
68468
|
|
|
68469
|
+
/**
|
|
68470
|
+
* Validates an option dependency policy object. The `protocol` profile is the
|
|
68471
|
+
* SDK contract: omitted mode stays independent and include/exclude lists are
|
|
68472
|
+
* only checked for shape. The `dashboard` profile adds the authored-policy
|
|
68473
|
+
* rules from the dashboard filter option dependencies plan: a mode is
|
|
68474
|
+
* required, independent carries no ID lists, explicit needs at least one
|
|
68475
|
+
* unique included ID and no exclusions, and all_applicable carries no include
|
|
68476
|
+
* list. Dependency ID declarations against `inputs` are validated by the
|
|
68477
|
+
* intent validator, not here.
|
|
68478
|
+
*/
|
|
68479
|
+
export declare function validateSemaphorOptionDependencies(value: unknown, profile?: SemaphorOptionDependencyValidationProfile): SemaphorValidationResult;
|
|
68480
|
+
|
|
68217
68481
|
export declare function validateSemaphorResultCalculation(calculation: SemaphorResultCalculation): SemaphorValidationResult;
|
|
68218
68482
|
|
|
68219
68483
|
export declare function validateTemporalBucketMetadata(metadata: unknown): TemporalBucketMetadataValidationResult;
|
|
@@ -7491,6 +7491,16 @@ declare type DashboardFilterExcludedCardApplication = {
|
|
|
7491
7491
|
cardId: string;
|
|
7492
7492
|
};
|
|
7493
7493
|
|
|
7494
|
+
/**
|
|
7495
|
+
* Persisted policy for which peer selections narrow a filter's option list.
|
|
7496
|
+
* Omitted means All applicable for dashboards; see
|
|
7497
|
+
* `resolveDashboardOptionDependencies`.
|
|
7498
|
+
*/
|
|
7499
|
+
declare type DashboardFilterOptionDependencies = SemaphorOptionDependencies;
|
|
7500
|
+
|
|
7501
|
+
/** Persisted population that fixes relevance for fact-bridged cascades. */
|
|
7502
|
+
declare type DashboardFilterOptionPopulation = SemaphorOptionPopulation;
|
|
7503
|
+
|
|
7494
7504
|
/** Persisted label/value option definition for a mapped dashboard filter. */
|
|
7495
7505
|
declare type DashboardFilterOptionSource = SemaphorInputOptionSource;
|
|
7496
7506
|
|
|
@@ -8075,6 +8085,8 @@ declare type EmbeddedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
8075
8085
|
filter: TFilter;
|
|
8076
8086
|
filterReference?: never;
|
|
8077
8087
|
optionSource?: DashboardFilterOptionSource;
|
|
8088
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
8089
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
8078
8090
|
application?: DashboardFilterApplication;
|
|
8079
8091
|
};
|
|
8080
8092
|
|
|
@@ -11340,6 +11352,15 @@ declare interface Field {
|
|
|
11340
11352
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
11341
11353
|
*/
|
|
11342
11354
|
label: string;
|
|
11355
|
+
/**
|
|
11356
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
11357
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
11358
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
11359
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
11360
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
11361
|
+
* edit to `label` makes it authored without touching this marker.
|
|
11362
|
+
*/
|
|
11363
|
+
derivedLabel?: string;
|
|
11343
11364
|
/**
|
|
11344
11365
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
11345
11366
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -13909,6 +13930,8 @@ declare type ReferencedFilterDashboardInput = FilterDashboardInputBase & {
|
|
|
13909
13930
|
filterId: string;
|
|
13910
13931
|
};
|
|
13911
13932
|
optionSource?: DashboardFilterOptionSource;
|
|
13933
|
+
optionDependencies?: DashboardFilterOptionDependencies;
|
|
13934
|
+
optionPopulation?: DashboardFilterOptionPopulation;
|
|
13912
13935
|
application?: DashboardFilterApplication;
|
|
13913
13936
|
};
|
|
13914
13937
|
|
|
@@ -14107,6 +14130,38 @@ declare type SemaphorInputOptionSource = {
|
|
|
14107
14130
|
disambiguationFields?: SemaphorFieldRef[];
|
|
14108
14131
|
};
|
|
14109
14132
|
|
|
14133
|
+
declare type SemaphorOptionDependencies = {
|
|
14134
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
14135
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
14136
|
+
mode?: SemaphorOptionDependencyMode;
|
|
14137
|
+
includeInputIds?: string[];
|
|
14138
|
+
excludeInputIds?: string[];
|
|
14139
|
+
/**
|
|
14140
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
14141
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
14142
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
14143
|
+
* would otherwise fail with an overridable reason (see
|
|
14144
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
14145
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
14146
|
+
*/
|
|
14147
|
+
omitInputIds?: string[];
|
|
14148
|
+
};
|
|
14149
|
+
|
|
14150
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
14151
|
+
|
|
14152
|
+
declare type SemaphorOptionPopulation = {
|
|
14153
|
+
kind: 'option_source';
|
|
14154
|
+
baseSource?: never;
|
|
14155
|
+
} | {
|
|
14156
|
+
kind: 'related_population';
|
|
14157
|
+
baseSource: SemaphorSourceRef;
|
|
14158
|
+
relationshipHint?: SemaphorRelationshipHint;
|
|
14159
|
+
};
|
|
14160
|
+
|
|
14161
|
+
declare type SemaphorRelationshipHint = {
|
|
14162
|
+
relationshipIds?: string[];
|
|
14163
|
+
};
|
|
14164
|
+
|
|
14110
14165
|
declare type SemaphorScalarValueFormat = {
|
|
14111
14166
|
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
14112
14167
|
minimumFractionDigits?: number;
|
|
@@ -5597,6 +5597,15 @@ declare interface Field {
|
|
|
5597
5597
|
* Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
|
|
5598
5598
|
*/
|
|
5599
5599
|
label: string;
|
|
5600
|
+
/**
|
|
5601
|
+
* Set only when `label` was synthesized from `name` because the source
|
|
5602
|
+
* provided no authored label (raw database objects). Field pickers follow
|
|
5603
|
+
* the naming rule in `@/lib/fields/field-display`: an authored semantic
|
|
5604
|
+
* label is shown as is, otherwise the physical column name. A field whose
|
|
5605
|
+
* `label` still equals `derivedLabel` has no authored label; any later
|
|
5606
|
+
* edit to `label` makes it authored without touching this marker.
|
|
5607
|
+
*/
|
|
5608
|
+
derivedLabel?: string;
|
|
5600
5609
|
/**
|
|
5601
5610
|
* Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
|
|
5602
5611
|
* If not provided, should be auto-generated from label or name.
|
|
@@ -10980,6 +10989,15 @@ declare type SemaphorInputOptionsIntent = SemaphorInputOptionSource & {
|
|
|
10980
10989
|
dependencies?: SemaphorOptionDependencies;
|
|
10981
10990
|
search?: string;
|
|
10982
10991
|
limit?: number;
|
|
10992
|
+
/**
|
|
10993
|
+
* Authoritative selected-value relevance check: return only options whose
|
|
10994
|
+
* value is one of these exact raw values, under the same dependency and
|
|
10995
|
+
* population context, with no search or paging. Bounded by
|
|
10996
|
+
* `MAX_OPTION_MATCH_VALUES`. The result's `match.complete` says whether
|
|
10997
|
+
* absence from the returned options proves no match. Scalars only; see
|
|
10998
|
+
* `parseOptionMatchValues`.
|
|
10999
|
+
*/
|
|
11000
|
+
matchValues?: Array<string | number | boolean>;
|
|
10983
11001
|
inputs?: SemaphorInputBinding[];
|
|
10984
11002
|
derivedFields?: SemaphorDerivedFieldDefinition[];
|
|
10985
11003
|
};
|
|
@@ -10996,6 +11014,9 @@ declare type SemaphorInputOptionSource = {
|
|
|
10996
11014
|
|
|
10997
11015
|
declare type SemaphorInputOptionsResult = SemaphorAnalyticsResultBase & {
|
|
10998
11016
|
kind: 'inputOptions';
|
|
11017
|
+
dependencyOutcomes?: SemaphorOptionDependencyOutcome[];
|
|
11018
|
+
/** Present when the intent carried `matchValues`. */
|
|
11019
|
+
match?: SemaphorOptionMatchResult;
|
|
10999
11020
|
options: Array<{
|
|
11000
11021
|
label: string;
|
|
11001
11022
|
value: unknown;
|
|
@@ -11056,9 +11077,42 @@ declare type SemaphorMetricResult = SemaphorAnalyticsResultBase & {
|
|
|
11056
11077
|
};
|
|
11057
11078
|
|
|
11058
11079
|
declare type SemaphorOptionDependencies = {
|
|
11059
|
-
mode
|
|
11080
|
+
/** Omitted mode means independent for protocol callers. Dashboard authoring
|
|
11081
|
+
* normalizes omission separately through `resolveDashboardOptionDependencies`. */
|
|
11082
|
+
mode?: SemaphorOptionDependencyMode;
|
|
11060
11083
|
includeInputIds?: string[];
|
|
11061
11084
|
excludeInputIds?: string[];
|
|
11085
|
+
/**
|
|
11086
|
+
* Ephemeral browse override: explicit dependencies the viewer asked to
|
|
11087
|
+
* browse without. Only valid in explicit mode, only for ids in
|
|
11088
|
+
* `includeInputIds`, and only honored by the server when that dependency
|
|
11089
|
+
* would otherwise fail with an overridable reason (see
|
|
11090
|
+
* `OVERRIDABLE_OPTION_DEPENDENCY_REASONS`). Never persisted, never applied
|
|
11091
|
+
* to card predicates; it lives in one browse request and its cache identity.
|
|
11092
|
+
*/
|
|
11093
|
+
omitInputIds?: string[];
|
|
11094
|
+
};
|
|
11095
|
+
|
|
11096
|
+
declare type SemaphorOptionDependencyMode = 'independent' | 'explicit' | 'all_applicable';
|
|
11097
|
+
|
|
11098
|
+
/** Per-candidate classification of an option query's dependencies. Describes
|
|
11099
|
+
* which viewer selections constrained the option list; it never substitutes
|
|
11100
|
+
* for execution success or failure. */
|
|
11101
|
+
declare type SemaphorOptionDependencyOutcome = {
|
|
11102
|
+
inputId: string;
|
|
11103
|
+
status: SemaphorOptionDependencyOutcomeStatus;
|
|
11104
|
+
reason?: SemaphorOptionDependencyOutcomeReason;
|
|
11105
|
+
};
|
|
11106
|
+
|
|
11107
|
+
declare type SemaphorOptionDependencyOutcomeReason = 'unrelated' | 'population_required' | 'missing_dependency' | 'missing_relationship' | 'ambiguous_relationship' | 'invalid_metadata' | 'unsupported_dependency' | 'override_not_eligible';
|
|
11108
|
+
|
|
11109
|
+
declare type SemaphorOptionDependencyOutcomeStatus = 'applied' | 'inactive' | 'skipped' | 'overridden' | 'error';
|
|
11110
|
+
|
|
11111
|
+
declare type SemaphorOptionMatchResult = {
|
|
11112
|
+
/** True only when every submitted value was evaluated by a complete exact
|
|
11113
|
+
* check; only then may absence be read as `no_match`. */
|
|
11114
|
+
complete: boolean;
|
|
11115
|
+
reason?: 'unsupported' | 'truncated';
|
|
11062
11116
|
};
|
|
11063
11117
|
|
|
11064
11118
|
declare type SemaphorOptionPopulation = {
|