@milaboratories/pl-model-common 1.32.0 → 1.33.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.
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AxesId, AxesSpec, AxisSpec, AxisValueType, ColumnValueType, PColumnIdAndSpec, PColumnSpec } from "./spec/spec.js";
|
|
1
|
+
import { AxesId, AxesSpec, AxisSpec, AxisValueType, ColumnValueType, PColumnIdAndSpec, PColumnInfo, PColumnSpec } from "./spec/spec.js";
|
|
2
2
|
import { SingleAxisSelector } from "./spec/selectors.js";
|
|
3
3
|
import { PTableColumnId, PTableColumnSpec } from "./table_common.js";
|
|
4
|
-
import { SpecQuery } from "./query/query_spec.js";
|
|
4
|
+
import { SpecQuery, SpecQueryJoinEntry } from "./query/query_spec.js";
|
|
5
5
|
import { DataQuery } from "./query/query_data.js";
|
|
6
6
|
import { PoolEntry } from "../../pool_entry.js";
|
|
7
7
|
import { PObjectId } from "../../pool/spec.js";
|
|
@@ -109,7 +109,7 @@ interface DiscoverColumnsFilterStep {
|
|
|
109
109
|
/** A step traversed during path-based column discovery. Discriminated by `type`. */
|
|
110
110
|
type DiscoverColumnsStepInfo = DiscoverColumnsLinkerStep | DiscoverColumnsFilterStep;
|
|
111
111
|
/**
|
|
112
|
-
* Input to
|
|
112
|
+
* Input to `buildQuery`: a terminal column plus an ordered
|
|
113
113
|
* path of wrapping steps (linker hops, filter joins). Produces a
|
|
114
114
|
* {@link SpecQueryJoinEntry} ready to be plugged into an
|
|
115
115
|
* `innerJoin`/`fullJoin`/`outerJoin` entry list.
|
|
@@ -119,8 +119,8 @@ type DiscoverColumnsStepInfo = DiscoverColumnsLinkerStep | DiscoverColumnsFilter
|
|
|
119
119
|
* wrapping.
|
|
120
120
|
*
|
|
121
121
|
* Columns are referenced by id — specs are resolved later at
|
|
122
|
-
*
|
|
123
|
-
*
|
|
122
|
+
* `evaluateQuery` against the registered specs of the PFrame, so the
|
|
123
|
+
* caller cannot disagree with the frame about spec content.
|
|
124
124
|
*
|
|
125
125
|
* Qualifications annotate the resulting outermost entry; they do not
|
|
126
126
|
* propagate into the inner query.
|
|
@@ -195,12 +195,22 @@ type SpecFrameHandle = Branded<string, "SpecFrameHandle">;
|
|
|
195
195
|
interface PFrameSpecDriver {
|
|
196
196
|
/** Create a spec-only PFrame from column specs. Returns a pool entry with handle and unref. */
|
|
197
197
|
createSpecFrame(specs: Record<string, PColumnSpec>): PoolEntry<SpecFrameHandle>;
|
|
198
|
+
/** List all columns currently registered in the frame. */
|
|
199
|
+
listColumns(handle: SpecFrameHandle): PColumnInfo[];
|
|
198
200
|
/** Discover columns compatible with given axes integration. */
|
|
199
201
|
discoverColumns(handle: SpecFrameHandle, request: DiscoverColumnsRequest): DiscoverColumnsResponse;
|
|
200
202
|
/** Delete an entry from a given axes integration */
|
|
201
203
|
deleteColumn(handle: SpecFrameHandle, request: DeleteColumnRequest): DeleteColumnResponse;
|
|
202
204
|
/** Evaluates a query specification against this PFrame */
|
|
203
205
|
evaluateQuery(handle: SpecFrameHandle, request: SpecQuery): EvaluateQueryResponse;
|
|
206
|
+
/**
|
|
207
|
+
* Assembles a {@link SpecQueryJoinEntry} from a terminal column plus an
|
|
208
|
+
* ordered path of wrapping steps (linker hops, filter joins).
|
|
209
|
+
*
|
|
210
|
+
* Pure over its input — no frame handle is needed. Column ids are resolved
|
|
211
|
+
* later at {@link evaluateQuery} against the registered specs.
|
|
212
|
+
*/
|
|
213
|
+
buildQuery(input: BuildQueryInput): SpecQueryJoinEntry;
|
|
204
214
|
/** Expand index-based parentAxes in AxesSpec to resolved AxisId parents in AxesId. */
|
|
205
215
|
expandAxes(spec: AxesSpec): AxesId;
|
|
206
216
|
/** Collapse resolved AxisId parents back to index-based parentAxes in AxesSpec. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec_driver.d.ts","names":[],"sources":["../../../src/drivers/pframe/spec_driver.ts"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"spec_driver.d.ts","names":[],"sources":["../../../src/drivers/pframe/spec_driver.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pl-model-common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.33.0",
|
|
4
4
|
"description": "Platforma SDK Model",
|
|
5
5
|
"files": [
|
|
6
6
|
"./dist/**/*",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"typescript": "~5.9.3",
|
|
28
28
|
"vitest": "^4.1.3",
|
|
29
29
|
"@milaboratories/build-configs": "2.0.0",
|
|
30
|
-
"@milaboratories/ts-
|
|
31
|
-
"@milaboratories/ts-
|
|
30
|
+
"@milaboratories/ts-configs": "1.2.3",
|
|
31
|
+
"@milaboratories/ts-builder": "1.3.2"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
34
|
"build": "ts-builder build --target node",
|
|
@@ -6,13 +6,14 @@ import type {
|
|
|
6
6
|
AxesSpec,
|
|
7
7
|
AxesId,
|
|
8
8
|
PColumnIdAndSpec,
|
|
9
|
+
PColumnInfo,
|
|
9
10
|
PColumnSpec,
|
|
10
11
|
SingleAxisSelector,
|
|
11
12
|
AxisValueType,
|
|
12
13
|
ColumnValueType,
|
|
13
14
|
} from "./spec";
|
|
14
15
|
import type { PTableColumnId, PTableColumnSpec } from "./table_common";
|
|
15
|
-
import { DataQuery, SpecQuery } from "./query";
|
|
16
|
+
import { DataQuery, SpecQuery, SpecQueryJoinEntry } from "./query";
|
|
16
17
|
|
|
17
18
|
/** Matches a string value either exactly or by regex pattern */
|
|
18
19
|
export type StringMatcher =
|
|
@@ -128,7 +129,7 @@ export interface DiscoverColumnsFilterStep {
|
|
|
128
129
|
export type DiscoverColumnsStepInfo = DiscoverColumnsLinkerStep | DiscoverColumnsFilterStep;
|
|
129
130
|
|
|
130
131
|
/**
|
|
131
|
-
* Input to
|
|
132
|
+
* Input to `buildQuery`: a terminal column plus an ordered
|
|
132
133
|
* path of wrapping steps (linker hops, filter joins). Produces a
|
|
133
134
|
* {@link SpecQueryJoinEntry} ready to be plugged into an
|
|
134
135
|
* `innerJoin`/`fullJoin`/`outerJoin` entry list.
|
|
@@ -138,8 +139,8 @@ export type DiscoverColumnsStepInfo = DiscoverColumnsLinkerStep | DiscoverColumn
|
|
|
138
139
|
* wrapping.
|
|
139
140
|
*
|
|
140
141
|
* Columns are referenced by id — specs are resolved later at
|
|
141
|
-
*
|
|
142
|
-
*
|
|
142
|
+
* `evaluateQuery` against the registered specs of the PFrame, so the
|
|
143
|
+
* caller cannot disagree with the frame about spec content.
|
|
143
144
|
*
|
|
144
145
|
* Qualifications annotate the resulting outermost entry; they do not
|
|
145
146
|
* propagate into the inner query.
|
|
@@ -228,6 +229,9 @@ export interface PFrameSpecDriver {
|
|
|
228
229
|
/** Create a spec-only PFrame from column specs. Returns a pool entry with handle and unref. */
|
|
229
230
|
createSpecFrame(specs: Record<string, PColumnSpec>): PoolEntry<SpecFrameHandle>;
|
|
230
231
|
|
|
232
|
+
/** List all columns currently registered in the frame. */
|
|
233
|
+
listColumns(handle: SpecFrameHandle): PColumnInfo[];
|
|
234
|
+
|
|
231
235
|
/** Discover columns compatible with given axes integration. */
|
|
232
236
|
discoverColumns(
|
|
233
237
|
handle: SpecFrameHandle,
|
|
@@ -240,6 +244,15 @@ export interface PFrameSpecDriver {
|
|
|
240
244
|
/** Evaluates a query specification against this PFrame */
|
|
241
245
|
evaluateQuery(handle: SpecFrameHandle, request: SpecQuery): EvaluateQueryResponse;
|
|
242
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Assembles a {@link SpecQueryJoinEntry} from a terminal column plus an
|
|
249
|
+
* ordered path of wrapping steps (linker hops, filter joins).
|
|
250
|
+
*
|
|
251
|
+
* Pure over its input — no frame handle is needed. Column ids are resolved
|
|
252
|
+
* later at {@link evaluateQuery} against the registered specs.
|
|
253
|
+
*/
|
|
254
|
+
buildQuery(input: BuildQueryInput): SpecQueryJoinEntry;
|
|
255
|
+
|
|
243
256
|
/** Expand index-based parentAxes in AxesSpec to resolved AxisId parents in AxesId. */
|
|
244
257
|
expandAxes(spec: AxesSpec): AxesId;
|
|
245
258
|
|