@milaboratories/pl-model-middle-layer 1.14.0 → 1.16.0
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/block_meta/block_components.d.ts +33 -33
- package/dist/block_meta/block_description.d.ts +98 -98
- package/dist/block_meta/block_manifest.d.ts +208 -208
- package/dist/block_meta/block_meta.d.ts +52 -52
- package/dist/block_meta/content_types.d.ts +23 -23
- package/dist/block_registry/block_pack_spec.d.ts +8 -8
- package/dist/block_registry/overview.d.ts +880 -880
- package/dist/pframe/internal_api/api_wasm.d.ts +34 -39
- package/dist/pframe/internal_api/discover_columns.d.ts +14 -8
- package/dist/pframe/internal_api/index.d.ts +3 -3
- package/package.json +3 -3
- package/src/pframe/internal_api/api_wasm.ts +34 -38
- package/src/pframe/internal_api/discover_columns.ts +21 -7
|
@@ -1,68 +1,63 @@
|
|
|
1
1
|
import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
|
|
2
2
|
import { DeleteColumnFromColumnsRequest, DeleteColumnFromColumnsResponse } from "./delete_column.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DiscoverColumnsRequestV2, DiscoverColumnsResponse } from "./discover_columns.js";
|
|
4
4
|
import { AxesId, AxesSpec, DataQuery, JoinEntry, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableSorting, SingleAxisSelector, SpecQuery } from "@milaboratories/pl-model-common";
|
|
5
5
|
|
|
6
6
|
//#region src/pframe/internal_api/api_wasm.d.ts
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* V2 PFrame interface with include/exclude column filtering in discoverColumns.
|
|
9
|
+
*/
|
|
10
|
+
interface PFrameWasmV2 extends Disposable {
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
12
|
+
* Deletes columns from a columns specification.
|
|
10
13
|
*/
|
|
11
|
-
|
|
14
|
+
deleteColumns(request: DeleteColumnFromColumnsRequest): DeleteColumnFromColumnsResponse;
|
|
12
15
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
16
|
+
* Discovers columns compatible with a given axes integration,
|
|
17
|
+
* with separate include and exclude filters.
|
|
18
|
+
* Exclude filter is applied after include, removing matching columns from results.
|
|
15
19
|
*/
|
|
16
|
-
|
|
20
|
+
discoverColumns(request: DiscoverColumnsRequestV2): DiscoverColumnsResponse;
|
|
17
21
|
/**
|
|
18
|
-
*
|
|
22
|
+
* Finds columns in the PFrame matching the given filter criteria.
|
|
19
23
|
*/
|
|
20
|
-
|
|
24
|
+
findColumns(request: FindColumnsRequest): FindColumnsResponse;
|
|
21
25
|
/**
|
|
22
|
-
*
|
|
23
|
-
* Returns -1 if no matching axis is found.
|
|
26
|
+
* Evaluates a query specification against this PFrame.
|
|
24
27
|
*/
|
|
25
|
-
|
|
28
|
+
evaluateQuery(request: SpecQuery): EvaluateQueryResponse;
|
|
26
29
|
/**
|
|
27
|
-
*
|
|
28
|
-
* selector within a table spec. Returns -1 if not found.
|
|
30
|
+
* Rewrites a legacy query format (V4) to the current SpecQuery format.
|
|
29
31
|
*/
|
|
30
|
-
|
|
32
|
+
rewriteLegacyQuery(request: LegacyQuery): SpecQuery;
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
|
-
*
|
|
35
|
+
* V2 PFrame API factory with createPFrame returning PFrameWasmV2.
|
|
34
36
|
*/
|
|
35
|
-
interface
|
|
37
|
+
interface PFrameWasmAPIV2 {
|
|
36
38
|
/**
|
|
37
|
-
*
|
|
39
|
+
* Creates a new V2 PFrame from a map of column IDs to column specifications.
|
|
38
40
|
*/
|
|
39
|
-
|
|
41
|
+
createPFrame(spec: Record<string, PColumnSpec>): PFrameWasmV2;
|
|
40
42
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* along with possible mapping variants describing how to integrate them.
|
|
43
|
+
* Expands an {@link AxesSpec} into {@link AxesId}s with parent information
|
|
44
|
+
* resolved.
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
+
expandAxes(spec: AxesSpec): AxesId;
|
|
46
47
|
/**
|
|
47
|
-
*
|
|
48
|
+
* Collapses {@link AxesId} into {@link AxesSpec}.
|
|
48
49
|
*/
|
|
49
|
-
|
|
50
|
+
collapseAxes(ids: AxesId): AxesSpec;
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* Takes a SpecQuery (which can represent columns, joins, filters, sorts,
|
|
54
|
-
* etc.) and returns the resulting table specification along with the data
|
|
55
|
-
* layer query representation.
|
|
52
|
+
* Finds the index of an axis matching the given selector.
|
|
53
|
+
* Returns -1 if no matching axis is found.
|
|
56
54
|
*/
|
|
57
|
-
|
|
55
|
+
findAxis(spec: AxesSpec, selector: SingleAxisSelector): number;
|
|
58
56
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* This method upgrades older query structures that use JoinEntryV4, filters,
|
|
62
|
-
* and sorting into the new unified SpecQuery format with proper filter and
|
|
63
|
-
* sort query nodes.
|
|
57
|
+
* Finds the flat index of a table column matching the given
|
|
58
|
+
* selector within a table spec. Returns -1 if not found.
|
|
64
59
|
*/
|
|
65
|
-
|
|
60
|
+
findTableColumn(tableSpec: PTableColumnSpec[], selector: PTableColumnId): number;
|
|
66
61
|
}
|
|
67
62
|
/**
|
|
68
63
|
* Response from evaluating a query against a PFrame.
|
|
@@ -82,7 +77,7 @@ type EvaluateQueryResponse = {
|
|
|
82
77
|
/**
|
|
83
78
|
* Represents a legacy (V4) query format used before the unified SpecQuery.
|
|
84
79
|
*
|
|
85
|
-
* This type is used with {@link
|
|
80
|
+
* This type is used with {@link PFrameWasmV2.rewriteLegacyQuery} to upgrade
|
|
86
81
|
* older query structures to the current {@link SpecQuery} format.
|
|
87
82
|
*/
|
|
88
83
|
type LegacyQuery = {
|
|
@@ -91,5 +86,5 @@ type LegacyQuery = {
|
|
|
91
86
|
sorting?: PTableSorting[];
|
|
92
87
|
};
|
|
93
88
|
//#endregion
|
|
94
|
-
export { EvaluateQueryResponse, LegacyQuery,
|
|
89
|
+
export { EvaluateQueryResponse, LegacyQuery, PFrameWasmAPIV2, PFrameWasmV2 };
|
|
95
90
|
//# sourceMappingURL=api_wasm.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AxisQualification, ColumnAxesWithQualifications } from "./common.js";
|
|
2
|
-
import { PColumnIdAndSpec } from "@milaboratories/pl-model-common";
|
|
2
|
+
import { AxisValueType, ColumnValueType, DiscoverColumnsLinkerStep, DiscoverColumnsStepInfo, PColumnIdAndSpec } from "@milaboratories/pl-model-common";
|
|
3
3
|
|
|
4
4
|
//#region src/pframe/internal_api/discover_columns.d.ts
|
|
5
5
|
/** Matches a string value either exactly or by regex pattern */
|
|
@@ -15,7 +15,7 @@ type MatcherMap = Record<string, StringMatcher[]>;
|
|
|
15
15
|
/** Selector for matching axes by various criteria */
|
|
16
16
|
interface MultiAxisSelector {
|
|
17
17
|
/** Match any of the axis types listed here */
|
|
18
|
-
readonly type?:
|
|
18
|
+
readonly type?: AxisValueType[];
|
|
19
19
|
/** Match any of the axis names listed here */
|
|
20
20
|
readonly name?: StringMatcher[];
|
|
21
21
|
/** Match requires all the domains listed here */
|
|
@@ -29,7 +29,7 @@ interface MultiAxisSelector {
|
|
|
29
29
|
* Multiple selectors are OR-ed: a column matches if it satisfies any selector. */
|
|
30
30
|
interface MultiColumnSelector {
|
|
31
31
|
/** Match any of the value types listed here */
|
|
32
|
-
readonly type?:
|
|
32
|
+
readonly type?: ColumnValueType[];
|
|
33
33
|
/** Match any of the names listed here */
|
|
34
34
|
readonly name?: StringMatcher[];
|
|
35
35
|
/** Match requires all the domains listed here */
|
|
@@ -54,12 +54,16 @@ interface DiscoverColumnsConstraints {
|
|
|
54
54
|
/** Allow hit column axes to be qualified (contextDomain extended) */
|
|
55
55
|
allowHitQualifications: boolean;
|
|
56
56
|
}
|
|
57
|
-
/**
|
|
58
|
-
interface
|
|
59
|
-
/**
|
|
60
|
-
|
|
57
|
+
/** V2 request with separate include/exclude filters */
|
|
58
|
+
interface DiscoverColumnsRequestV2 {
|
|
59
|
+
/** Include columns matching these selectors (OR-ed); empty or omitted matches all columns */
|
|
60
|
+
includeColumns?: MultiColumnSelector[];
|
|
61
|
+
/** Exclude columns matching these selectors (OR-ed); applied after include filter */
|
|
62
|
+
excludeColumns?: MultiColumnSelector[];
|
|
61
63
|
/** Already integrated axes with qualifications */
|
|
62
64
|
axes: ColumnAxesWithQualifications[];
|
|
65
|
+
/** Maximum number of hops allowed between provided axes integration and returned hits (0 = direct only) */
|
|
66
|
+
maxHops?: number;
|
|
63
67
|
/** Constraints controlling axes matching and qualification behavior */
|
|
64
68
|
constraints: DiscoverColumnsConstraints;
|
|
65
69
|
}
|
|
@@ -83,6 +87,8 @@ interface DiscoverColumnsResponseHit {
|
|
|
83
87
|
hit: PColumnIdAndSpec;
|
|
84
88
|
/** Possible ways to integrate this column with the existing set */
|
|
85
89
|
mappingVariants: DiscoverColumnsMappingVariant[];
|
|
90
|
+
/** Linker steps traversed to reach this hit; empty for direct matches */
|
|
91
|
+
path: DiscoverColumnsStepInfo[];
|
|
86
92
|
}
|
|
87
93
|
/** Response from discover columns */
|
|
88
94
|
interface DiscoverColumnsResponse {
|
|
@@ -90,5 +96,5 @@ interface DiscoverColumnsResponse {
|
|
|
90
96
|
hits: DiscoverColumnsResponseHit[];
|
|
91
97
|
}
|
|
92
98
|
//#endregion
|
|
93
|
-
export { DiscoverColumnsConstraints, DiscoverColumnsMappingVariant,
|
|
99
|
+
export { DiscoverColumnsConstraints, type DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequestV2, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, type DiscoverColumnsStepInfo, MatcherMap, MultiAxisSelector, MultiColumnSelector, StringMatcher };
|
|
94
100
|
//# sourceMappingURL=discover_columns.d.ts.map
|
|
@@ -6,14 +6,14 @@ import { PTableV8 } from "./table.js";
|
|
|
6
6
|
import { PFrameReadAPIV11 } from "./api_read.js";
|
|
7
7
|
import { BaseObjectStore, FileRange, FsStoreOptions, HttpAuthorizationToken, HttpHelpers, HttpMethod, HttpRange, HttpServer, HttpServerInfo, HttpServerOptions, ObjectStore, ObjectStoreOptions, ObjectStoreResponse, ObjectStoreUrl, ParquetExtension, ParquetFileName, PemCertificate, RequestHandlerOptions } from "./http_helpers.js";
|
|
8
8
|
import { DataInfo, DataInfoExtension, FilePath, PFrameBlobId, PFrameDataSourceV2, PFrameFactoryAPIV4, SpecExtension } from "./api_factory.js";
|
|
9
|
-
import { DiscoverColumnsConstraints, DiscoverColumnsMappingVariant,
|
|
10
|
-
import { EvaluateQueryResponse, LegacyQuery,
|
|
9
|
+
import { DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequestV2, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, MatcherMap, MultiAxisSelector, MultiColumnSelector, StringMatcher } from "./discover_columns.js";
|
|
10
|
+
import { EvaluateQueryResponse, LegacyQuery, PFrameWasmAPIV2, PFrameWasmV2 } from "./api_wasm.js";
|
|
11
11
|
import { PFrameFactoryV4, PFrameOptionsV2, PFrameV13 } from "./pframe.js";
|
|
12
12
|
import { SingleAxisSelector as SingleAxisSelector$1 } from "@milaboratories/pl-model-common";
|
|
13
13
|
|
|
14
14
|
//#region src/pframe/internal_api/index.d.ts
|
|
15
15
|
declare namespace index_d_exports {
|
|
16
|
-
export { ArtificialColumnJoinEntry, AxisQualification, BaseObjectStore, ColumnAxesWithQualifications, ColumnJoinEntry, ConstantAxisFilter, CreateTableRequestV4, DataInfo, DataInfoExtension, DeleteColumnFromColumnsRequest, DeleteColumnFromColumnsResponse, DiscoverColumnsConstraints, DiscoverColumnsMappingVariant,
|
|
16
|
+
export { ArtificialColumnJoinEntry, AxisQualification, BaseObjectStore, ColumnAxesWithQualifications, ColumnJoinEntry, ConstantAxisFilter, CreateTableRequestV4, DataInfo, DataInfoExtension, DeleteColumnFromColumnsRequest, DeleteColumnFromColumnsResponse, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequestV2, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, EvaluateQueryResponse, FilePath, FileRange, FindColumnResponseQualifications, FindColumnsMappingVariant, FindColumnsRequest, FindColumnsResponse, FindColumnsResponseHit, FsStoreOptions, FullJoinV4, HttpAuthorizationToken, HttpHelpers, HttpMethod, HttpRange, HttpServer, HttpServerInfo, HttpServerOptions, InlineColumnJoinEntry, InnerJoinV4, JoinEntryV4, LegacyQuery, Logger, MatcherMap, MultiAxisSelector, MultiColumnSelector, ObjectStore, ObjectStoreOptions, ObjectStoreResponse, ObjectStoreUrl, OuterJoinV4, PFrameBlobId, PFrameDataSourceV2, PFrameFactoryAPIV4, PFrameFactoryV4, PFrameId, PFrameOptionsV2, PFrameReadAPIV11, PFrameV13, PFrameWasmAPIV2, PFrameWasmV2, PTableId, PTableV8, ParquetExtension, ParquetFileName, PemCertificate, RequestHandlerOptions, SingleAxisSelector$1 as SingleAxisSelector, SlicedColumnJoinEntry, SpecExtension, StringMatcher };
|
|
17
17
|
}
|
|
18
18
|
//#endregion
|
|
19
19
|
export { index_d_exports };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pl-model-middle-layer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "Common model between middle layer and non-block UI code",
|
|
5
5
|
"files": [
|
|
6
6
|
"./dist/**/*",
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"utility-types": "^3.11.0",
|
|
22
22
|
"zod": "~3.23.8",
|
|
23
23
|
"@milaboratories/helpers": "1.14.0",
|
|
24
|
-
"@milaboratories/pl-model-common": "1.
|
|
24
|
+
"@milaboratories/pl-model-common": "1.29.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "~24.5.2",
|
|
28
28
|
"typescript": "~5.9.3",
|
|
29
|
-
"@milaboratories/ts-configs": "1.2.2",
|
|
30
29
|
"@milaboratories/build-configs": "1.5.2",
|
|
30
|
+
"@milaboratories/ts-configs": "1.2.2",
|
|
31
31
|
"@milaboratories/ts-builder": "1.3.0"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
@@ -16,76 +16,72 @@ import type {
|
|
|
16
16
|
DeleteColumnFromColumnsRequest,
|
|
17
17
|
DeleteColumnFromColumnsResponse,
|
|
18
18
|
} from "./delete_column";
|
|
19
|
-
import type {
|
|
19
|
+
import type { DiscoverColumnsRequestV2, DiscoverColumnsResponse } from "./discover_columns";
|
|
20
20
|
import type { FindColumnsRequest, FindColumnsResponse } from "./find_columns";
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* V2 PFrame interface with include/exclude column filtering in discoverColumns.
|
|
24
|
+
*/
|
|
25
|
+
export interface PFrameWasmV2 extends Disposable {
|
|
23
26
|
/**
|
|
24
|
-
*
|
|
27
|
+
* Deletes columns from a columns specification.
|
|
25
28
|
*/
|
|
26
|
-
|
|
29
|
+
deleteColumns(request: DeleteColumnFromColumnsRequest): DeleteColumnFromColumnsResponse;
|
|
27
30
|
|
|
28
31
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
32
|
+
* Discovers columns compatible with a given axes integration,
|
|
33
|
+
* with separate include and exclude filters.
|
|
34
|
+
* Exclude filter is applied after include, removing matching columns from results.
|
|
31
35
|
*/
|
|
32
|
-
|
|
36
|
+
discoverColumns(request: DiscoverColumnsRequestV2): DiscoverColumnsResponse;
|
|
33
37
|
|
|
34
38
|
/**
|
|
35
|
-
*
|
|
39
|
+
* Finds columns in the PFrame matching the given filter criteria.
|
|
36
40
|
*/
|
|
37
|
-
|
|
41
|
+
findColumns(request: FindColumnsRequest): FindColumnsResponse;
|
|
38
42
|
|
|
39
43
|
/**
|
|
40
|
-
*
|
|
41
|
-
* Returns -1 if no matching axis is found.
|
|
44
|
+
* Evaluates a query specification against this PFrame.
|
|
42
45
|
*/
|
|
43
|
-
|
|
46
|
+
evaluateQuery(request: SpecQuery): EvaluateQueryResponse;
|
|
44
47
|
|
|
45
48
|
/**
|
|
46
|
-
*
|
|
47
|
-
* selector within a table spec. Returns -1 if not found.
|
|
49
|
+
* Rewrites a legacy query format (V4) to the current SpecQuery format.
|
|
48
50
|
*/
|
|
49
|
-
|
|
51
|
+
rewriteLegacyQuery(request: LegacyQuery): SpecQuery;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
/**
|
|
53
|
-
*
|
|
55
|
+
* V2 PFrame API factory with createPFrame returning PFrameWasmV2.
|
|
54
56
|
*/
|
|
55
|
-
export interface
|
|
57
|
+
export interface PFrameWasmAPIV2 {
|
|
56
58
|
/**
|
|
57
|
-
*
|
|
59
|
+
* Creates a new V2 PFrame from a map of column IDs to column specifications.
|
|
58
60
|
*/
|
|
59
|
-
|
|
61
|
+
createPFrame(spec: Record<string, PColumnSpec>): PFrameWasmV2;
|
|
60
62
|
|
|
61
63
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* along with possible mapping variants describing how to integrate them.
|
|
64
|
+
* Expands an {@link AxesSpec} into {@link AxesId}s with parent information
|
|
65
|
+
* resolved.
|
|
65
66
|
*/
|
|
66
|
-
|
|
67
|
+
expandAxes(spec: AxesSpec): AxesId;
|
|
67
68
|
|
|
68
69
|
/**
|
|
69
|
-
*
|
|
70
|
+
* Collapses {@link AxesId} into {@link AxesSpec}.
|
|
70
71
|
*/
|
|
71
|
-
|
|
72
|
+
collapseAxes(ids: AxesId): AxesSpec;
|
|
73
|
+
|
|
72
74
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* Takes a SpecQuery (which can represent columns, joins, filters, sorts,
|
|
76
|
-
* etc.) and returns the resulting table specification along with the data
|
|
77
|
-
* layer query representation.
|
|
75
|
+
* Finds the index of an axis matching the given selector.
|
|
76
|
+
* Returns -1 if no matching axis is found.
|
|
78
77
|
*/
|
|
79
|
-
|
|
78
|
+
findAxis(spec: AxesSpec, selector: SingleAxisSelector): number;
|
|
80
79
|
|
|
81
80
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* This method upgrades older query structures that use JoinEntryV4, filters,
|
|
85
|
-
* and sorting into the new unified SpecQuery format with proper filter and
|
|
86
|
-
* sort query nodes.
|
|
81
|
+
* Finds the flat index of a table column matching the given
|
|
82
|
+
* selector within a table spec. Returns -1 if not found.
|
|
87
83
|
*/
|
|
88
|
-
|
|
84
|
+
findTableColumn(tableSpec: PTableColumnSpec[], selector: PTableColumnId): number;
|
|
89
85
|
}
|
|
90
86
|
|
|
91
87
|
/**
|
|
@@ -107,7 +103,7 @@ export type EvaluateQueryResponse = {
|
|
|
107
103
|
/**
|
|
108
104
|
* Represents a legacy (V4) query format used before the unified SpecQuery.
|
|
109
105
|
*
|
|
110
|
-
* This type is used with {@link
|
|
106
|
+
* This type is used with {@link PFrameWasmV2.rewriteLegacyQuery} to upgrade
|
|
111
107
|
* older query structures to the current {@link SpecQuery} format.
|
|
112
108
|
*/
|
|
113
109
|
export type LegacyQuery = {
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
AxisValueType,
|
|
3
|
+
ColumnValueType,
|
|
4
|
+
DiscoverColumnsLinkerStep,
|
|
5
|
+
DiscoverColumnsStepInfo,
|
|
6
|
+
PColumnIdAndSpec,
|
|
7
|
+
} from "@milaboratories/pl-model-common";
|
|
2
8
|
import type { AxisQualification, ColumnAxesWithQualifications } from "./common";
|
|
3
9
|
|
|
10
|
+
export type { DiscoverColumnsLinkerStep, DiscoverColumnsStepInfo };
|
|
11
|
+
|
|
4
12
|
/** Matches a string value either exactly or by regex pattern */
|
|
5
13
|
export type StringMatcher = { type: "exact"; value: string } | { type: "regex"; value: string };
|
|
6
14
|
|
|
@@ -10,7 +18,7 @@ export type MatcherMap = Record<string, StringMatcher[]>;
|
|
|
10
18
|
/** Selector for matching axes by various criteria */
|
|
11
19
|
export interface MultiAxisSelector {
|
|
12
20
|
/** Match any of the axis types listed here */
|
|
13
|
-
readonly type?:
|
|
21
|
+
readonly type?: AxisValueType[];
|
|
14
22
|
/** Match any of the axis names listed here */
|
|
15
23
|
readonly name?: StringMatcher[];
|
|
16
24
|
/** Match requires all the domains listed here */
|
|
@@ -25,7 +33,7 @@ export interface MultiAxisSelector {
|
|
|
25
33
|
* Multiple selectors are OR-ed: a column matches if it satisfies any selector. */
|
|
26
34
|
export interface MultiColumnSelector {
|
|
27
35
|
/** Match any of the value types listed here */
|
|
28
|
-
readonly type?:
|
|
36
|
+
readonly type?: ColumnValueType[];
|
|
29
37
|
/** Match any of the names listed here */
|
|
30
38
|
readonly name?: StringMatcher[];
|
|
31
39
|
/** Match requires all the domains listed here */
|
|
@@ -52,12 +60,16 @@ export interface DiscoverColumnsConstraints {
|
|
|
52
60
|
allowHitQualifications: boolean;
|
|
53
61
|
}
|
|
54
62
|
|
|
55
|
-
/**
|
|
56
|
-
export interface
|
|
57
|
-
/**
|
|
58
|
-
|
|
63
|
+
/** V2 request with separate include/exclude filters */
|
|
64
|
+
export interface DiscoverColumnsRequestV2 {
|
|
65
|
+
/** Include columns matching these selectors (OR-ed); empty or omitted matches all columns */
|
|
66
|
+
includeColumns?: MultiColumnSelector[];
|
|
67
|
+
/** Exclude columns matching these selectors (OR-ed); applied after include filter */
|
|
68
|
+
excludeColumns?: MultiColumnSelector[];
|
|
59
69
|
/** Already integrated axes with qualifications */
|
|
60
70
|
axes: ColumnAxesWithQualifications[];
|
|
71
|
+
/** Maximum number of hops allowed between provided axes integration and returned hits (0 = direct only) */
|
|
72
|
+
maxHops?: number;
|
|
61
73
|
/** Constraints controlling axes matching and qualification behavior */
|
|
62
74
|
constraints: DiscoverColumnsConstraints;
|
|
63
75
|
}
|
|
@@ -84,6 +96,8 @@ export interface DiscoverColumnsResponseHit {
|
|
|
84
96
|
hit: PColumnIdAndSpec;
|
|
85
97
|
/** Possible ways to integrate this column with the existing set */
|
|
86
98
|
mappingVariants: DiscoverColumnsMappingVariant[];
|
|
99
|
+
/** Linker steps traversed to reach this hit; empty for direct matches */
|
|
100
|
+
path: DiscoverColumnsStepInfo[];
|
|
87
101
|
}
|
|
88
102
|
|
|
89
103
|
/** Response from discover columns */
|