@milaboratories/pl-model-common 1.47.3 → 1.49.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/author_marker.d.ts +1 -2
- package/dist/author_marker.d.ts.map +1 -1
- package/dist/base64.d.ts +4 -6
- package/dist/base64.d.ts.map +1 -1
- package/dist/block_state.d.ts +13 -9
- package/dist/block_state.d.ts.map +1 -1
- package/dist/bmodel/block_config.d.ts +51 -29
- package/dist/bmodel/block_config.d.ts.map +1 -1
- package/dist/bmodel/block_kind_ref.cjs +45 -0
- package/dist/bmodel/block_kind_ref.cjs.map +1 -0
- package/dist/bmodel/block_kind_ref.d.ts +55 -0
- package/dist/bmodel/block_kind_ref.d.ts.map +1 -0
- package/dist/bmodel/block_kind_ref.js +43 -0
- package/dist/bmodel/block_kind_ref.js.map +1 -0
- package/dist/bmodel/code.d.ts +4 -5
- package/dist/bmodel/code.d.ts.map +1 -1
- package/dist/bmodel/container.d.ts +13 -5
- package/dist/bmodel/container.d.ts.map +1 -1
- package/dist/bmodel/index.cjs +4 -0
- package/dist/bmodel/index.d.ts +2 -1
- package/dist/bmodel/index.js +2 -1
- package/dist/bmodel/normalization.d.ts +1 -3
- package/dist/bmodel/normalization.d.ts.map +1 -1
- package/dist/bmodel/types.d.ts +1 -2
- package/dist/bmodel/types.d.ts.map +1 -1
- package/dist/branding.d.ts +2 -3
- package/dist/branding.d.ts.map +1 -1
- package/dist/columns/accessor_traversal.d.ts +6 -8
- package/dist/columns/accessor_traversal.d.ts.map +1 -1
- package/dist/columns/column_registry.d.ts +2 -3
- package/dist/columns/column_registry.d.ts.map +1 -1
- package/dist/columns/column_selector.d.ts +9 -9
- package/dist/columns/column_selector.d.ts.map +1 -1
- package/dist/columns/dedup.cjs +1 -1
- package/dist/columns/dedup.cjs.map +1 -1
- package/dist/columns/dedup.d.ts +2 -4
- package/dist/columns/dedup.d.ts.map +1 -1
- package/dist/columns/dedup.js +1 -1
- package/dist/columns/dedup.js.map +1 -1
- package/dist/columns/providers.cjs +1 -1
- package/dist/columns/providers.cjs.map +1 -1
- package/dist/columns/providers.d.ts +4 -5
- package/dist/columns/providers.d.ts.map +1 -1
- package/dist/columns/providers.js +1 -1
- package/dist/columns/providers.js.map +1 -1
- package/dist/columns/types.d.ts +12 -9
- package/dist/columns/types.d.ts.map +1 -1
- package/dist/common_types.d.ts +4 -6
- package/dist/common_types.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +4 -5
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/driver_kit.d.ts +2 -2
- package/dist/driver_kit.d.ts.map +1 -1
- package/dist/drivers/ChunkedStreamReader.d.ts +3 -5
- package/dist/drivers/ChunkedStreamReader.d.ts.map +1 -1
- package/dist/drivers/blob.d.ts +36 -25
- package/dist/drivers/blob.d.ts.map +1 -1
- package/dist/drivers/columns/columns_collection_driver.d.ts +6 -7
- package/dist/drivers/columns/columns_collection_driver.d.ts.map +1 -1
- package/dist/drivers/columns/discover_columns_options.d.ts +9 -8
- package/dist/drivers/columns/discover_columns_options.d.ts.map +1 -1
- package/dist/drivers/index.cjs +5 -0
- package/dist/drivers/index.d.ts +5 -3
- package/dist/drivers/index.js +3 -3
- package/dist/drivers/interfaces.d.ts +2 -3
- package/dist/drivers/interfaces.d.ts.map +1 -1
- package/dist/drivers/log.d.ts +26 -28
- package/dist/drivers/log.d.ts.map +1 -1
- package/dist/drivers/ls.d.ts +37 -27
- package/dist/drivers/ls.d.ts.map +1 -1
- package/dist/drivers/pframe/column_filter.d.ts +1 -3
- package/dist/drivers/pframe/column_filter.d.ts.map +1 -1
- package/dist/drivers/pframe/data_info.d.ts +77 -50
- package/dist/drivers/pframe/data_info.d.ts.map +1 -1
- package/dist/drivers/pframe/data_types.d.ts +50 -45
- package/dist/drivers/pframe/data_types.d.ts.map +1 -1
- package/dist/drivers/pframe/driver.d.ts +5 -5
- package/dist/drivers/pframe/driver.d.ts.map +1 -1
- package/dist/drivers/pframe/filter_spec.d.ts +10 -12
- package/dist/drivers/pframe/filter_spec.d.ts.map +1 -1
- package/dist/drivers/pframe/find_columns.d.ts +2 -4
- package/dist/drivers/pframe/find_columns.d.ts.map +1 -1
- package/dist/drivers/pframe/index.cjs +5 -0
- package/dist/drivers/pframe/index.d.ts +5 -3
- package/dist/drivers/pframe/index.js +3 -3
- package/dist/drivers/pframe/linker_columns.d.ts +4 -10
- package/dist/drivers/pframe/linker_columns.d.ts.map +1 -1
- package/dist/drivers/pframe/pframe.d.ts +3 -3
- package/dist/drivers/pframe/pframe.d.ts.map +1 -1
- package/dist/drivers/pframe/query/query_common.d.ts +52 -46
- package/dist/drivers/pframe/query/query_common.d.ts.map +1 -1
- package/dist/drivers/pframe/query/query_data.d.ts +26 -21
- package/dist/drivers/pframe/query/query_data.d.ts.map +1 -1
- package/dist/drivers/pframe/query/query_spec.d.ts +22 -19
- package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -1
- package/dist/drivers/pframe/query/utils.d.ts +15 -11
- package/dist/drivers/pframe/query/utils.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/anchored.d.ts +3 -5
- package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/discovered_column.d.ts +10 -11
- package/dist/drivers/pframe/spec/discovered_column.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/filtered_column.d.ts +17 -18
- package/dist/drivers/pframe/spec/filtered_column.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/ids.cjs +151 -0
- package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
- package/dist/drivers/pframe/spec/ids.d.ts +63 -11
- package/dist/drivers/pframe/spec/ids.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/ids.js +150 -3
- package/dist/drivers/pframe/spec/ids.js.map +1 -1
- package/dist/drivers/pframe/spec/index.cjs +5 -0
- package/dist/drivers/pframe/spec/index.d.ts +3 -3
- package/dist/drivers/pframe/spec/index.js +3 -3
- package/dist/drivers/pframe/spec/native_id.d.ts +3 -3
- package/dist/drivers/pframe/spec/native_id.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/overridden.d.ts +14 -16
- package/dist/drivers/pframe/spec/overridden.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/selectors.d.ts +22 -22
- package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/spec.cjs +31 -0
- package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
- package/dist/drivers/pframe/spec/spec.d.ts +94 -70
- package/dist/drivers/pframe/spec/spec.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/spec.js +31 -1
- package/dist/drivers/pframe/spec/spec.js.map +1 -1
- package/dist/drivers/pframe/spec_driver.d.ts +30 -25
- package/dist/drivers/pframe/spec_driver.d.ts.map +1 -1
- package/dist/drivers/pframe/table.d.ts +1 -3
- package/dist/drivers/pframe/table.d.ts.map +1 -1
- package/dist/drivers/pframe/table_calculate.d.ts +55 -46
- package/dist/drivers/pframe/table_calculate.d.ts.map +1 -1
- package/dist/drivers/pframe/table_common.d.ts +9 -10
- package/dist/drivers/pframe/table_common.d.ts.map +1 -1
- package/dist/drivers/pframe/unique_values.d.ts +3 -3
- package/dist/drivers/pframe/unique_values.d.ts.map +1 -1
- package/dist/drivers/upload.d.ts +2 -3
- package/dist/drivers/upload.d.ts.map +1 -1
- package/dist/drivers/urls.d.ts +7 -8
- package/dist/drivers/urls.d.ts.map +1 -1
- package/dist/errors.d.ts +35 -36
- package/dist/errors.d.ts.map +1 -1
- package/dist/flags/block_flags.cjs.map +1 -1
- package/dist/flags/block_flags.d.ts +7 -7
- package/dist/flags/block_flags.d.ts.map +1 -1
- package/dist/flags/block_flags.js.map +1 -1
- package/dist/flags/flag_utils.d.ts +6 -8
- package/dist/flags/flag_utils.d.ts.map +1 -1
- package/dist/flags/type_utils.d.ts +6 -7
- package/dist/flags/type_utils.d.ts.map +1 -1
- package/dist/httpAuth.d.ts +4 -5
- package/dist/httpAuth.d.ts.map +1 -1
- package/dist/index.cjs +30 -0
- package/dist/index.d.ts +15 -3
- package/dist/index.js +9 -3
- package/dist/json.d.ts +11 -12
- package/dist/json.d.ts.map +1 -1
- package/dist/navigation.d.ts +16 -11
- package/dist/navigation.d.ts.map +1 -1
- package/dist/plid.cjs +1 -1
- package/dist/plid.cjs.map +1 -1
- package/dist/plid.d.ts +8 -9
- package/dist/plid.d.ts.map +1 -1
- package/dist/plid.js +1 -1
- package/dist/plid.js.map +1 -1
- package/dist/pool/entry.d.ts +8 -6
- package/dist/pool/entry.d.ts.map +1 -1
- package/dist/pool/query.d.ts +3 -4
- package/dist/pool/query.d.ts.map +1 -1
- package/dist/pool/spec.d.ts +33 -30
- package/dist/pool/spec.d.ts.map +1 -1
- package/dist/pool_entry.d.ts +2 -3
- package/dist/pool_entry.d.ts.map +1 -1
- package/dist/project_id.d.ts +1 -3
- package/dist/project_id.d.ts.map +1 -1
- package/dist/ref.d.ts +22 -23
- package/dist/ref.d.ts.map +1 -1
- package/dist/resource_types.d.ts +2 -3
- package/dist/resource_types.d.ts.map +1 -1
- package/dist/services/node_service_handlers.d.ts +1 -3
- package/dist/services/node_service_handlers.d.ts.map +1 -1
- package/dist/services/service_capabilities.d.ts +7 -9
- package/dist/services/service_capabilities.d.ts.map +1 -1
- package/dist/services/service_declarations.d.ts +2 -2
- package/dist/services/service_declarations.d.ts.map +1 -1
- package/dist/services/service_injectors.d.ts +7 -8
- package/dist/services/service_injectors.d.ts.map +1 -1
- package/dist/services/service_registry.d.ts +2 -4
- package/dist/services/service_registry.d.ts.map +1 -1
- package/dist/services/service_types.d.ts +24 -26
- package/dist/services/service_types.d.ts.map +1 -1
- package/dist/template/index.cjs +20 -0
- package/dist/template/index.d.ts +5 -0
- package/dist/template/index.js +5 -0
- package/dist/template/kind_selector.cjs +92 -0
- package/dist/template/kind_selector.cjs.map +1 -0
- package/dist/template/kind_selector.d.ts +78 -0
- package/dist/template/kind_selector.d.ts.map +1 -0
- package/dist/template/kind_selector.js +87 -0
- package/dist/template/kind_selector.js.map +1 -0
- package/dist/template/project_template_v1.cjs +231 -0
- package/dist/template/project_template_v1.cjs.map +1 -0
- package/dist/template/project_template_v1.d.ts +217 -0
- package/dist/template/project_template_v1.d.ts.map +1 -0
- package/dist/template/project_template_v1.js +225 -0
- package/dist/template/project_template_v1.js.map +1 -0
- package/dist/template/template_ref_form.cjs +73 -0
- package/dist/template/template_ref_form.cjs.map +1 -0
- package/dist/template/template_ref_form.d.ts +75 -0
- package/dist/template/template_ref_form.d.ts.map +1 -0
- package/dist/template/template_ref_form.js +72 -0
- package/dist/template/template_ref_form.js.map +1 -0
- package/dist/template/template_relocate.cjs +67 -0
- package/dist/template/template_relocate.cjs.map +1 -0
- package/dist/template/template_relocate.d.ts +36 -0
- package/dist/template/template_relocate.d.ts.map +1 -0
- package/dist/template/template_relocate.js +67 -0
- package/dist/template/template_relocate.js.map +1 -0
- package/dist/utag.d.ts +2 -4
- package/dist/utag.d.ts.map +1 -1
- package/dist/util.d.ts +2 -3
- package/dist/util.d.ts.map +1 -1
- package/dist/value_or_error.d.ts +2 -3
- package/dist/value_or_error.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/bmodel/block_kind_ref.ts +59 -0
- package/src/bmodel/container.ts +9 -0
- package/src/bmodel/index.ts +1 -0
- package/src/columns/dedup.ts +1 -1
- package/src/columns/providers.ts +1 -1
- package/src/drivers/pframe/spec/ids.test.ts +90 -0
- package/src/drivers/pframe/spec/ids.ts +191 -1
- package/src/drivers/pframe/spec/spec.ts +31 -0
- package/src/flags/block_flags.ts +1 -1
- package/src/index.ts +1 -0
- package/src/plid.ts +5 -5
- package/src/template/index.ts +4 -0
- package/src/template/kind_selector.ts +126 -0
- package/src/template/project_template_v1.test.ts +315 -0
- package/src/template/project_template_v1.ts +444 -0
- package/src/template/template_ref_form.test.ts +86 -0
- package/src/template/template_ref_form.ts +108 -0
- package/src/template/template_relocate.test.ts +239 -0
- package/src/template/template_relocate.ts +89 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column_registry.d.ts","names":[],"sources":["../../src/columns/column_registry.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column_registry.d.ts","names":[],"sources":["../../src/columns/column_registry.ts"],"mappings":";;;;;;;;;;;;;;;qBAca,eAAe,UAAU,aAAa;mBACpB;EAA7B,YAA6B,WAAW,cAAc,sBAAsB;;;;;;EAO5E,QAAQ,IAAI,YAAY,UAAU;;EAKlC;UAIQ"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { AxisValueType, ColumnValueType } from "../drivers/pframe/spec/spec.js";
|
|
2
2
|
import { MultiAxisSelector, MultiColumnSelector, StringMatcher } from "../drivers/pframe/spec_driver.js";
|
|
3
|
+
import "../drivers/pframe/index.js";
|
|
3
4
|
//#region src/columns/column_selector.d.ts
|
|
4
5
|
/** Relaxed string matcher input: plain string, single matcher, or array of mixed. */
|
|
5
|
-
type RelaxedStringMatchers = string | StringMatcher | (string | StringMatcher)[];
|
|
6
|
+
export type RelaxedStringMatchers = string | StringMatcher | (string | StringMatcher)[];
|
|
6
7
|
/** Relaxed record matcher: values can be plain strings or relaxed matchers. */
|
|
7
|
-
type RelaxedRecord = Record<string, RelaxedStringMatchers>;
|
|
8
|
+
export type RelaxedRecord = Record<string, RelaxedStringMatchers>;
|
|
8
9
|
/** Relaxed axis selector — accepts plain strings where strict requires StringMatcher[]. */
|
|
9
|
-
interface RelaxedAxisSelector {
|
|
10
|
+
export interface RelaxedAxisSelector {
|
|
10
11
|
name?: RelaxedStringMatchers;
|
|
11
12
|
type?: AxisValueType | AxisValueType[];
|
|
12
13
|
domain?: RelaxedRecord;
|
|
@@ -14,7 +15,7 @@ interface RelaxedAxisSelector {
|
|
|
14
15
|
annotations?: RelaxedRecord;
|
|
15
16
|
}
|
|
16
17
|
/** Relaxed column selector — convenient hand-written form. */
|
|
17
|
-
interface RelaxedColumnSelector {
|
|
18
|
+
export interface RelaxedColumnSelector {
|
|
18
19
|
name?: RelaxedStringMatchers;
|
|
19
20
|
type?: ColumnValueType | ColumnValueType[];
|
|
20
21
|
domain?: RelaxedRecord;
|
|
@@ -24,10 +25,9 @@ interface RelaxedColumnSelector {
|
|
|
24
25
|
partialAxesMatch?: boolean;
|
|
25
26
|
}
|
|
26
27
|
/** One or many relaxed column selectors; normalizes to MultiColumnSelector[]. */
|
|
27
|
-
type ColumnSelector = RelaxedColumnSelector | RelaxedColumnSelector[];
|
|
28
|
-
declare function convertRelaxedAxisSelectorToMultiAxisSelector(input: RelaxedAxisSelector): MultiAxisSelector;
|
|
29
|
-
declare function convertRelaxedColumnSelectorToMultiColumnSelector(input: RelaxedColumnSelector): MultiColumnSelector;
|
|
30
|
-
declare function convertColumnSelectorToMultiColumnSelector(input: ColumnSelector): MultiColumnSelector[];
|
|
28
|
+
export type ColumnSelector = RelaxedColumnSelector | RelaxedColumnSelector[];
|
|
29
|
+
export declare function convertRelaxedAxisSelectorToMultiAxisSelector(input: RelaxedAxisSelector): MultiAxisSelector;
|
|
30
|
+
export declare function convertRelaxedColumnSelectorToMultiColumnSelector(input: RelaxedColumnSelector): MultiColumnSelector;
|
|
31
|
+
export declare function convertColumnSelectorToMultiColumnSelector(input: ColumnSelector): MultiColumnSelector[];
|
|
31
32
|
//#endregion
|
|
32
|
-
export { ColumnSelector, RelaxedAxisSelector, RelaxedColumnSelector, RelaxedRecord, RelaxedStringMatchers, convertColumnSelectorToMultiColumnSelector, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector };
|
|
33
33
|
//# sourceMappingURL=column_selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column_selector.d.ts","names":[],"sources":["../../src/columns/column_selector.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column_selector.d.ts","names":[],"sources":["../../src/columns/column_selector.ts"],"mappings":";;;;;YAaY,iCAAiC,0BAA0B;;YAG3D,gBAAgB,eAAe;;iBAG1B;EACf,OAAO;EACP,OAAO,gBAAgB;EACvB,SAAS;EACT,gBAAgB;EAChB,cAAc;;;iBAIC;EACf,OAAO;EACP,OAAO,kBAAkB;EACzB,SAAS;EACT,gBAAgB;EAChB,cAAc;EACd,OAAO;EACP;;;YAIU,iBAAiB,wBAAwB;wBA0BrC,8CACd,OAAO,sBACN;wBAWa,kDACd,OAAO,wBACN;wBAca,2CACd,OAAO,iBACN"}
|
package/dist/columns/dedup.cjs
CHANGED
|
@@ -18,7 +18,7 @@ const require_native_id = require("../drivers/pframe/spec/native_id.cjs");
|
|
|
18
18
|
*
|
|
19
19
|
* Shared by sandbox-side `extractColumns` (column_providers) and host-side
|
|
20
20
|
* `ColumnsCollectionDriverImpl.getColumns` — both layers need identical
|
|
21
|
-
* dedup semantics, but operate on different concrete item types (
|
|
21
|
+
* dedup semantics, but operate on different concrete item types (DataColumnRecipe
|
|
22
22
|
* vs. raw ColumnUniversalId).
|
|
23
23
|
*/
|
|
24
24
|
function dedupColumns(items, getId, getSpec) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedup.cjs","names":["isPObjectId","deriveNativeId"],"sources":["../../src/columns/dedup.ts"],"sourcesContent":["import type { PColumnSpec } from \"../drivers/pframe/spec/spec\";\nimport type { NativePObjectId } from \"../drivers/pframe/spec/native_id\";\nimport { deriveNativeId } from \"../drivers/pframe/spec/native_id\";\nimport type { ColumnUniversalId } from \"../drivers/pframe/spec/ids\";\nimport { isPObjectId } from \"../pool\";\n\n/**\n * Two-track dedup over an item stream keyed by `ColumnUniversalId`:\n *\n * - **Raw `PObjectId`s** are deduped by `deriveNativeId(spec)`. The same\n * physical column reached via outputs vs. result_pool has different\n * id shapes but identical nativeId — first occurrence wins so the\n * provider order (outputs before pool) decides which id is canonical.\n * - **Non-`PObjectId` ids** (e.g. `SUniversalPColumnUniversalId`,\n * `ColumnDiscoveredId`) keep raw-id dedup — they legitimately share\n * nativeId with siblings.\n *\n * When `getSpec` returns `undefined` for a `PObjectId`, falls back to raw-id\n * dedup (so an unresolvable id still survives instead of dropping silently).\n *\n * Shared by sandbox-side `extractColumns` (column_providers) and host-side\n * `ColumnsCollectionDriverImpl.getColumns` — both layers need identical\n * dedup semantics, but operate on different concrete item types (
|
|
1
|
+
{"version":3,"file":"dedup.cjs","names":["isPObjectId","deriveNativeId"],"sources":["../../src/columns/dedup.ts"],"sourcesContent":["import type { PColumnSpec } from \"../drivers/pframe/spec/spec\";\nimport type { NativePObjectId } from \"../drivers/pframe/spec/native_id\";\nimport { deriveNativeId } from \"../drivers/pframe/spec/native_id\";\nimport type { ColumnUniversalId } from \"../drivers/pframe/spec/ids\";\nimport { isPObjectId } from \"../pool\";\n\n/**\n * Two-track dedup over an item stream keyed by `ColumnUniversalId`:\n *\n * - **Raw `PObjectId`s** are deduped by `deriveNativeId(spec)`. The same\n * physical column reached via outputs vs. result_pool has different\n * id shapes but identical nativeId — first occurrence wins so the\n * provider order (outputs before pool) decides which id is canonical.\n * - **Non-`PObjectId` ids** (e.g. `SUniversalPColumnUniversalId`,\n * `ColumnDiscoveredId`) keep raw-id dedup — they legitimately share\n * nativeId with siblings.\n *\n * When `getSpec` returns `undefined` for a `PObjectId`, falls back to raw-id\n * dedup (so an unresolvable id still survives instead of dropping silently).\n *\n * Shared by sandbox-side `extractColumns` (column_providers) and host-side\n * `ColumnsCollectionDriverImpl.getColumns` — both layers need identical\n * dedup semantics, but operate on different concrete item types (DataColumnRecipe\n * vs. raw ColumnUniversalId).\n */\nexport function dedupColumns<T>(\n items: ReadonlyArray<T>,\n getId: (item: T) => ColumnUniversalId,\n getSpec: (item: T) => PColumnSpec | undefined,\n): T[] {\n const seenNative = new Set<NativePObjectId>();\n const seenId = new Set<ColumnUniversalId>();\n const out: T[] = [];\n for (const item of items) {\n const id = getId(item);\n if (seenId.has(id)) continue;\n if (isPObjectId(id)) {\n const spec = getSpec(item);\n if (spec !== undefined) {\n const nativeId = deriveNativeId(spec);\n if (seenNative.has(nativeId)) continue;\n seenNative.add(nativeId);\n }\n }\n seenId.add(id);\n out.push(item);\n }\n return out;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,aACd,OACA,OACA,SACK;CACL,MAAM,6BAAa,IAAI,IAAqB;CAC5C,MAAM,yBAAS,IAAI,IAAuB;CAC1C,MAAM,MAAW,CAAC;CAClB,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,KAAK,MAAM,IAAI;EACrB,IAAI,OAAO,IAAI,EAAE,GAAG;EACpB,IAAIA,aAAAA,YAAY,EAAE,GAAG;GACnB,MAAM,OAAO,QAAQ,IAAI;GACzB,IAAI,SAAS,KAAA,GAAW;IACtB,MAAM,WAAWC,kBAAAA,eAAe,IAAI;IACpC,IAAI,WAAW,IAAI,QAAQ,GAAG;IAC9B,WAAW,IAAI,QAAQ;GACzB;EACF;EACA,OAAO,IAAI,EAAE;EACb,IAAI,KAAK,IAAI;CACf;CACA,OAAO;AACT"}
|
package/dist/columns/dedup.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PColumnSpec } from "../drivers/pframe/spec/spec.js";
|
|
2
2
|
import { ColumnUniversalId } from "../drivers/pframe/spec/ids.js";
|
|
3
|
-
|
|
4
3
|
//#region src/columns/dedup.d.ts
|
|
5
4
|
/**
|
|
6
5
|
* Two-track dedup over an item stream keyed by `ColumnUniversalId`:
|
|
@@ -18,10 +17,9 @@ import { ColumnUniversalId } from "../drivers/pframe/spec/ids.js";
|
|
|
18
17
|
*
|
|
19
18
|
* Shared by sandbox-side `extractColumns` (column_providers) and host-side
|
|
20
19
|
* `ColumnsCollectionDriverImpl.getColumns` — both layers need identical
|
|
21
|
-
* dedup semantics, but operate on different concrete item types (
|
|
20
|
+
* dedup semantics, but operate on different concrete item types (DataColumnRecipe
|
|
22
21
|
* vs. raw ColumnUniversalId).
|
|
23
22
|
*/
|
|
24
|
-
declare function dedupColumns<T>(items: ReadonlyArray<T>, getId: (item: T) => ColumnUniversalId, getSpec: (item: T) => PColumnSpec | undefined): T[];
|
|
23
|
+
export declare function dedupColumns<T>(items: ReadonlyArray<T>, getId: (item: T) => ColumnUniversalId, getSpec: (item: T) => PColumnSpec | undefined): T[];
|
|
25
24
|
//#endregion
|
|
26
|
-
export { dedupColumns };
|
|
27
25
|
//# sourceMappingURL=dedup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedup.d.ts","names":[],"sources":["../../src/columns/dedup.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dedup.d.ts","names":[],"sources":["../../src/columns/dedup.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;wBAyBgB,aAAa,GAC3B,OAAO,cAAc,IACrB,QAAQ,MAAM,MAAM,mBACpB,UAAU,MAAM,MAAM,0BACrB"}
|
package/dist/columns/dedup.js
CHANGED
|
@@ -18,7 +18,7 @@ import { deriveNativeId } from "../drivers/pframe/spec/native_id.js";
|
|
|
18
18
|
*
|
|
19
19
|
* Shared by sandbox-side `extractColumns` (column_providers) and host-side
|
|
20
20
|
* `ColumnsCollectionDriverImpl.getColumns` — both layers need identical
|
|
21
|
-
* dedup semantics, but operate on different concrete item types (
|
|
21
|
+
* dedup semantics, but operate on different concrete item types (DataColumnRecipe
|
|
22
22
|
* vs. raw ColumnUniversalId).
|
|
23
23
|
*/
|
|
24
24
|
function dedupColumns(items, getId, getSpec) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedup.js","names":[],"sources":["../../src/columns/dedup.ts"],"sourcesContent":["import type { PColumnSpec } from \"../drivers/pframe/spec/spec\";\nimport type { NativePObjectId } from \"../drivers/pframe/spec/native_id\";\nimport { deriveNativeId } from \"../drivers/pframe/spec/native_id\";\nimport type { ColumnUniversalId } from \"../drivers/pframe/spec/ids\";\nimport { isPObjectId } from \"../pool\";\n\n/**\n * Two-track dedup over an item stream keyed by `ColumnUniversalId`:\n *\n * - **Raw `PObjectId`s** are deduped by `deriveNativeId(spec)`. The same\n * physical column reached via outputs vs. result_pool has different\n * id shapes but identical nativeId — first occurrence wins so the\n * provider order (outputs before pool) decides which id is canonical.\n * - **Non-`PObjectId` ids** (e.g. `SUniversalPColumnUniversalId`,\n * `ColumnDiscoveredId`) keep raw-id dedup — they legitimately share\n * nativeId with siblings.\n *\n * When `getSpec` returns `undefined` for a `PObjectId`, falls back to raw-id\n * dedup (so an unresolvable id still survives instead of dropping silently).\n *\n * Shared by sandbox-side `extractColumns` (column_providers) and host-side\n * `ColumnsCollectionDriverImpl.getColumns` — both layers need identical\n * dedup semantics, but operate on different concrete item types (
|
|
1
|
+
{"version":3,"file":"dedup.js","names":[],"sources":["../../src/columns/dedup.ts"],"sourcesContent":["import type { PColumnSpec } from \"../drivers/pframe/spec/spec\";\nimport type { NativePObjectId } from \"../drivers/pframe/spec/native_id\";\nimport { deriveNativeId } from \"../drivers/pframe/spec/native_id\";\nimport type { ColumnUniversalId } from \"../drivers/pframe/spec/ids\";\nimport { isPObjectId } from \"../pool\";\n\n/**\n * Two-track dedup over an item stream keyed by `ColumnUniversalId`:\n *\n * - **Raw `PObjectId`s** are deduped by `deriveNativeId(spec)`. The same\n * physical column reached via outputs vs. result_pool has different\n * id shapes but identical nativeId — first occurrence wins so the\n * provider order (outputs before pool) decides which id is canonical.\n * - **Non-`PObjectId` ids** (e.g. `SUniversalPColumnUniversalId`,\n * `ColumnDiscoveredId`) keep raw-id dedup — they legitimately share\n * nativeId with siblings.\n *\n * When `getSpec` returns `undefined` for a `PObjectId`, falls back to raw-id\n * dedup (so an unresolvable id still survives instead of dropping silently).\n *\n * Shared by sandbox-side `extractColumns` (column_providers) and host-side\n * `ColumnsCollectionDriverImpl.getColumns` — both layers need identical\n * dedup semantics, but operate on different concrete item types (DataColumnRecipe\n * vs. raw ColumnUniversalId).\n */\nexport function dedupColumns<T>(\n items: ReadonlyArray<T>,\n getId: (item: T) => ColumnUniversalId,\n getSpec: (item: T) => PColumnSpec | undefined,\n): T[] {\n const seenNative = new Set<NativePObjectId>();\n const seenId = new Set<ColumnUniversalId>();\n const out: T[] = [];\n for (const item of items) {\n const id = getId(item);\n if (seenId.has(id)) continue;\n if (isPObjectId(id)) {\n const spec = getSpec(item);\n if (spec !== undefined) {\n const nativeId = deriveNativeId(spec);\n if (seenNative.has(nativeId)) continue;\n seenNative.add(nativeId);\n }\n }\n seenId.add(id);\n out.push(item);\n }\n return out;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,aACd,OACA,OACA,SACK;CACL,MAAM,6BAAa,IAAI,IAAqB;CAC5C,MAAM,yBAAS,IAAI,IAAuB;CAC1C,MAAM,MAAW,CAAC;CAClB,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,KAAK,MAAM,IAAI;EACrB,IAAI,OAAO,IAAI,EAAE,GAAG;EACpB,IAAI,YAAY,EAAE,GAAG;GACnB,MAAM,OAAO,QAAQ,IAAI;GACzB,IAAI,SAAS,KAAA,GAAW;IACtB,MAAM,WAAW,eAAe,IAAI;IACpC,IAAI,WAAW,IAAI,QAAQ,GAAG;IAC9B,WAAW,IAAI,QAAQ;GACzB;EACF;EACA,OAAO,IAAI,EAAE;EACb,IAAI,KAAK,IAAI;CACf;CACA,OAAO;AACT"}
|
|
@@ -6,7 +6,7 @@ const require_accessor_traversal = require("./accessor_traversal.cjs");
|
|
|
6
6
|
* exposes `isFinal()` via the root's `getInputsLocked()`.
|
|
7
7
|
*
|
|
8
8
|
* Used directly on the host side; sandbox extends it with `getColumns()`
|
|
9
|
-
* returning {@link
|
|
9
|
+
* returning {@link DataColumnRecipe}s — see `AccessorColumnsProvider` in
|
|
10
10
|
* `@platforma-sdk/model`.
|
|
11
11
|
*/
|
|
12
12
|
var AccessorEntriesProvider = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.cjs","names":["indexAccessorRoot","indexPoolBlock"],"sources":["../../src/columns/providers.ts"],"sourcesContent":["import type { PObjectId } from \"../pool\";\nimport { indexAccessorRoot, indexPoolBlock } from \"./accessor_traversal\";\nimport type { AccessorLike, ColumnEntriesProvider, LeafEntry, UpstreamBlockCtx } from \"./types\";\n\n/**\n * Generic entries provider over a single accessor root. Walks `<root>` once\n * from the supplied `rootPath`, builds an id → {@link LeafEntry} map and\n * exposes `isFinal()` via the root's `getInputsLocked()`.\n *\n * Used directly on the host side; sandbox extends it with `getColumns()`\n * returning {@link
|
|
1
|
+
{"version":3,"file":"providers.cjs","names":["indexAccessorRoot","indexPoolBlock"],"sources":["../../src/columns/providers.ts"],"sourcesContent":["import type { PObjectId } from \"../pool\";\nimport { indexAccessorRoot, indexPoolBlock } from \"./accessor_traversal\";\nimport type { AccessorLike, ColumnEntriesProvider, LeafEntry, UpstreamBlockCtx } from \"./types\";\n\n/**\n * Generic entries provider over a single accessor root. Walks `<root>` once\n * from the supplied `rootPath`, builds an id → {@link LeafEntry} map and\n * exposes `isFinal()` via the root's `getInputsLocked()`.\n *\n * Used directly on the host side; sandbox extends it with `getColumns()`\n * returning {@link DataColumnRecipe}s — see `AccessorColumnsProvider` in\n * `@platforma-sdk/model`.\n */\nexport class AccessorEntriesProvider<\n A extends AccessorLike<A>,\n> implements ColumnEntriesProvider<A> {\n protected readonly entries: ReadonlyMap<PObjectId, LeafEntry<A>>;\n\n constructor(\n protected readonly root: A,\n rootPath: ReadonlyArray<string>,\n ) {\n const map = new Map<PObjectId, LeafEntry<A>>();\n for (const entry of indexAccessorRoot(root, rootPath)) {\n if (!map.has(entry.id)) map.set(entry.id, entry);\n }\n this.entries = map;\n }\n\n getPObjectEntries(): ReadonlyMap<PObjectId, LeafEntry<A>> {\n return this.entries;\n }\n\n isFinal(): boolean {\n return this.root.getInputsLocked();\n }\n}\n\n/**\n * Generic entries provider over a list of upstream-block ctx pairs.\n *\n * Per-block merge: iterate `prod` then `staging`, dedupe by name with\n * first-wins semantics (prod takes precedence).\n *\n * `isFinal()` is the AND of `getInputsLocked()` over every present ctx\n * accessor and `!prodIncomplete && !stagingIncomplete` over every block.\n */\nexport class ResultPoolEntriesProvider<\n A extends AccessorLike<A>,\n> implements ColumnEntriesProvider<A> {\n protected cachedEntries?: ReadonlyMap<PObjectId, LeafEntry<A>>;\n\n constructor(protected readonly blocks: ReadonlyArray<UpstreamBlockCtx<A>>) {}\n\n getPObjectEntries(): ReadonlyMap<PObjectId, LeafEntry<A>> {\n if (this.cachedEntries !== undefined) return this.cachedEntries;\n const map = new Map<PObjectId, LeafEntry<A>>();\n for (const block of this.blocks) {\n for (const entry of indexPoolBlock(block)) {\n if (!map.has(entry.id)) map.set(entry.id, entry);\n }\n }\n return (this.cachedEntries = map);\n }\n\n isFinal(): boolean {\n for (const block of this.blocks) {\n if (block.prodIncomplete || block.stagingIncomplete) return false;\n if (block.prodCtx && !block.prodCtx.getInputsLocked()) return false;\n if (block.stagingCtx && !block.stagingCtx.getInputsLocked()) return false;\n }\n return true;\n }\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAa,0BAAb,MAEsC;CAIf;CAHrB;CAEA,YACE,MACA,UACA;EAFmB,KAAA,OAAA;EAGnB,MAAM,sBAAM,IAAI,IAA6B;EAC7C,KAAK,MAAM,SAASA,2BAAAA,kBAAkB,MAAM,QAAQ,GAClD,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,KAAK;EAEjD,KAAK,UAAU;CACjB;CAEA,oBAA0D;EACxD,OAAO,KAAK;CACd;CAEA,UAAmB;EACjB,OAAO,KAAK,KAAK,gBAAgB;CACnC;AACF;;;;;;;;;;AAWA,IAAa,4BAAb,MAEsC;CAGL;CAF/B;CAEA,YAAY,QAA+D;EAA5C,KAAA,SAAA;CAA6C;CAE5E,oBAA0D;EACxD,IAAI,KAAK,kBAAkB,KAAA,GAAW,OAAO,KAAK;EAClD,MAAM,sBAAM,IAAI,IAA6B;EAC7C,KAAK,MAAM,SAAS,KAAK,QACvB,KAAK,MAAM,SAASC,2BAAAA,eAAe,KAAK,GACtC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,KAAK;EAGnD,OAAQ,KAAK,gBAAgB;CAC/B;CAEA,UAAmB;EACjB,KAAK,MAAM,SAAS,KAAK,QAAQ;GAC/B,IAAI,MAAM,kBAAkB,MAAM,mBAAmB,OAAO;GAC5D,IAAI,MAAM,WAAW,CAAC,MAAM,QAAQ,gBAAgB,GAAG,OAAO;GAC9D,IAAI,MAAM,cAAc,CAAC,MAAM,WAAW,gBAAgB,GAAG,OAAO;EACtE;EACA,OAAO;CACT;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PObjectId } from "../pool/spec.js";
|
|
2
|
+
import "../pool/index.js";
|
|
2
3
|
import { AccessorLike, ColumnEntriesProvider, LeafEntry, UpstreamBlockCtx } from "./types.js";
|
|
3
|
-
|
|
4
4
|
//#region src/columns/providers.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Generic entries provider over a single accessor root. Walks `<root>` once
|
|
@@ -8,10 +8,10 @@ import { AccessorLike, ColumnEntriesProvider, LeafEntry, UpstreamBlockCtx } from
|
|
|
8
8
|
* exposes `isFinal()` via the root's `getInputsLocked()`.
|
|
9
9
|
*
|
|
10
10
|
* Used directly on the host side; sandbox extends it with `getColumns()`
|
|
11
|
-
* returning {@link
|
|
11
|
+
* returning {@link DataColumnRecipe}s — see `AccessorColumnsProvider` in
|
|
12
12
|
* `@platforma-sdk/model`.
|
|
13
13
|
*/
|
|
14
|
-
declare class AccessorEntriesProvider<A extends AccessorLike<A>> implements ColumnEntriesProvider<A> {
|
|
14
|
+
export declare class AccessorEntriesProvider<A extends AccessorLike<A>> implements ColumnEntriesProvider<A> {
|
|
15
15
|
protected readonly root: A;
|
|
16
16
|
protected readonly entries: ReadonlyMap<PObjectId, LeafEntry<A>>;
|
|
17
17
|
constructor(root: A, rootPath: ReadonlyArray<string>);
|
|
@@ -27,7 +27,7 @@ declare class AccessorEntriesProvider<A extends AccessorLike<A>> implements Colu
|
|
|
27
27
|
* `isFinal()` is the AND of `getInputsLocked()` over every present ctx
|
|
28
28
|
* accessor and `!prodIncomplete && !stagingIncomplete` over every block.
|
|
29
29
|
*/
|
|
30
|
-
declare class ResultPoolEntriesProvider<A extends AccessorLike<A>> implements ColumnEntriesProvider<A> {
|
|
30
|
+
export declare class ResultPoolEntriesProvider<A extends AccessorLike<A>> implements ColumnEntriesProvider<A> {
|
|
31
31
|
protected readonly blocks: ReadonlyArray<UpstreamBlockCtx<A>>;
|
|
32
32
|
protected cachedEntries?: ReadonlyMap<PObjectId, LeafEntry<A>>;
|
|
33
33
|
constructor(blocks: ReadonlyArray<UpstreamBlockCtx<A>>);
|
|
@@ -35,5 +35,4 @@ declare class ResultPoolEntriesProvider<A extends AccessorLike<A>> implements Co
|
|
|
35
35
|
isFinal(): boolean;
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
|
-
export { AccessorEntriesProvider, ResultPoolEntriesProvider };
|
|
39
38
|
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","names":[],"sources":["../../src/columns/providers.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.d.ts","names":[],"sources":["../../src/columns/providers.ts"],"mappings":";;;;;;;;;;;;;qBAaa,wBACX,UAAU,aAAa,eACZ,sBAAsB;qBAIZ,MAAM;qBAHR,SAAS,YAAY,WAAW,UAAU;EAE7D,YACqB,MAAM,GACzB,UAAU;EASZ,qBAAqB,YAAY,WAAW,UAAU;EAItD;;;;;;;;;;;qBAcW,0BACX,UAAU,aAAa,eACZ,sBAAsB;qBAGF,QAAQ,cAAc,iBAAiB;YAF5D,gBAAgB,YAAY,WAAW,UAAU;EAE3D,YAA+B,QAAQ,cAAc,iBAAiB;EAEtE,qBAAqB,YAAY,WAAW,UAAU;EAWtD"}
|
|
@@ -6,7 +6,7 @@ import { indexAccessorRoot, indexPoolBlock } from "./accessor_traversal.js";
|
|
|
6
6
|
* exposes `isFinal()` via the root's `getInputsLocked()`.
|
|
7
7
|
*
|
|
8
8
|
* Used directly on the host side; sandbox extends it with `getColumns()`
|
|
9
|
-
* returning {@link
|
|
9
|
+
* returning {@link DataColumnRecipe}s — see `AccessorColumnsProvider` in
|
|
10
10
|
* `@platforma-sdk/model`.
|
|
11
11
|
*/
|
|
12
12
|
var AccessorEntriesProvider = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","names":[],"sources":["../../src/columns/providers.ts"],"sourcesContent":["import type { PObjectId } from \"../pool\";\nimport { indexAccessorRoot, indexPoolBlock } from \"./accessor_traversal\";\nimport type { AccessorLike, ColumnEntriesProvider, LeafEntry, UpstreamBlockCtx } from \"./types\";\n\n/**\n * Generic entries provider over a single accessor root. Walks `<root>` once\n * from the supplied `rootPath`, builds an id → {@link LeafEntry} map and\n * exposes `isFinal()` via the root's `getInputsLocked()`.\n *\n * Used directly on the host side; sandbox extends it with `getColumns()`\n * returning {@link
|
|
1
|
+
{"version":3,"file":"providers.js","names":[],"sources":["../../src/columns/providers.ts"],"sourcesContent":["import type { PObjectId } from \"../pool\";\nimport { indexAccessorRoot, indexPoolBlock } from \"./accessor_traversal\";\nimport type { AccessorLike, ColumnEntriesProvider, LeafEntry, UpstreamBlockCtx } from \"./types\";\n\n/**\n * Generic entries provider over a single accessor root. Walks `<root>` once\n * from the supplied `rootPath`, builds an id → {@link LeafEntry} map and\n * exposes `isFinal()` via the root's `getInputsLocked()`.\n *\n * Used directly on the host side; sandbox extends it with `getColumns()`\n * returning {@link DataColumnRecipe}s — see `AccessorColumnsProvider` in\n * `@platforma-sdk/model`.\n */\nexport class AccessorEntriesProvider<\n A extends AccessorLike<A>,\n> implements ColumnEntriesProvider<A> {\n protected readonly entries: ReadonlyMap<PObjectId, LeafEntry<A>>;\n\n constructor(\n protected readonly root: A,\n rootPath: ReadonlyArray<string>,\n ) {\n const map = new Map<PObjectId, LeafEntry<A>>();\n for (const entry of indexAccessorRoot(root, rootPath)) {\n if (!map.has(entry.id)) map.set(entry.id, entry);\n }\n this.entries = map;\n }\n\n getPObjectEntries(): ReadonlyMap<PObjectId, LeafEntry<A>> {\n return this.entries;\n }\n\n isFinal(): boolean {\n return this.root.getInputsLocked();\n }\n}\n\n/**\n * Generic entries provider over a list of upstream-block ctx pairs.\n *\n * Per-block merge: iterate `prod` then `staging`, dedupe by name with\n * first-wins semantics (prod takes precedence).\n *\n * `isFinal()` is the AND of `getInputsLocked()` over every present ctx\n * accessor and `!prodIncomplete && !stagingIncomplete` over every block.\n */\nexport class ResultPoolEntriesProvider<\n A extends AccessorLike<A>,\n> implements ColumnEntriesProvider<A> {\n protected cachedEntries?: ReadonlyMap<PObjectId, LeafEntry<A>>;\n\n constructor(protected readonly blocks: ReadonlyArray<UpstreamBlockCtx<A>>) {}\n\n getPObjectEntries(): ReadonlyMap<PObjectId, LeafEntry<A>> {\n if (this.cachedEntries !== undefined) return this.cachedEntries;\n const map = new Map<PObjectId, LeafEntry<A>>();\n for (const block of this.blocks) {\n for (const entry of indexPoolBlock(block)) {\n if (!map.has(entry.id)) map.set(entry.id, entry);\n }\n }\n return (this.cachedEntries = map);\n }\n\n isFinal(): boolean {\n for (const block of this.blocks) {\n if (block.prodIncomplete || block.stagingIncomplete) return false;\n if (block.prodCtx && !block.prodCtx.getInputsLocked()) return false;\n if (block.stagingCtx && !block.stagingCtx.getInputsLocked()) return false;\n }\n return true;\n }\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAa,0BAAb,MAEsC;CAIf;CAHrB;CAEA,YACE,MACA,UACA;EAFmB,KAAA,OAAA;EAGnB,MAAM,sBAAM,IAAI,IAA6B;EAC7C,KAAK,MAAM,SAAS,kBAAkB,MAAM,QAAQ,GAClD,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,KAAK;EAEjD,KAAK,UAAU;CACjB;CAEA,oBAA0D;EACxD,OAAO,KAAK;CACd;CAEA,UAAmB;EACjB,OAAO,KAAK,KAAK,gBAAgB;CACnC;AACF;;;;;;;;;;AAWA,IAAa,4BAAb,MAEsC;CAGL;CAF/B;CAEA,YAAY,QAA+D;EAA5C,KAAA,SAAA;CAA6C;CAE5E,oBAA0D;EACxD,IAAI,KAAK,kBAAkB,KAAA,GAAW,OAAO,KAAK;EAClD,MAAM,sBAAM,IAAI,IAA6B;EAC7C,KAAK,MAAM,SAAS,KAAK,QACvB,KAAK,MAAM,SAAS,eAAe,KAAK,GACtC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,KAAK;EAGnD,OAAQ,KAAK,gBAAgB;CAC/B;CAEA,UAAmB;EACjB,KAAK,MAAM,SAAS,KAAK,QAAQ;GAC/B,IAAI,MAAM,kBAAkB,MAAM,mBAAmB,OAAO;GAC5D,IAAI,MAAM,WAAW,CAAC,MAAM,QAAQ,gBAAgB,GAAG,OAAO;GAC9D,IAAI,MAAM,cAAc,CAAC,MAAM,WAAW,gBAAgB,GAAG,OAAO;EACtE;EACA,OAAO;CACT;AACF"}
|
package/dist/columns/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Branded } from "../branding.js";
|
|
2
2
|
import { PObjectId } from "../pool/spec.js";
|
|
3
|
+
import "../pool/index.js";
|
|
3
4
|
//#region src/columns/types.d.ts
|
|
4
5
|
/**
|
|
5
6
|
* Opaque sandbox/host accessor handle.
|
|
@@ -8,7 +9,7 @@ import { PObjectId } from "../pool/spec.js";
|
|
|
8
9
|
* keys alias this brand — `sdk/model` re-exports the same type so the two
|
|
9
10
|
* sides stay structurally identical.
|
|
10
11
|
*/
|
|
11
|
-
type AccessorHandle = Branded<string, "AccessorHandle">;
|
|
12
|
+
export type AccessorHandle = Branded<string, "AccessorHandle">;
|
|
12
13
|
/**
|
|
13
14
|
* Structural subset of {@link FieldTraversalStep} (from `@platforma-sdk/model`)
|
|
14
15
|
* needed by the host/sandbox column-providers traversal.
|
|
@@ -18,7 +19,7 @@ type AccessorHandle = Branded<string, "AccessorHandle">;
|
|
|
18
19
|
* `PlTreeNodeAccessor.traverse` (host) accept a superset of these fields, so
|
|
19
20
|
* structural compatibility is preserved.
|
|
20
21
|
*/
|
|
21
|
-
interface FieldTraversalStepLike {
|
|
22
|
+
export interface FieldTraversalStepLike {
|
|
22
23
|
/** Field name */
|
|
23
24
|
readonly field: string;
|
|
24
25
|
/** Asserted field type — used by `accessor.traverse` to validate. */
|
|
@@ -39,7 +40,7 @@ interface FieldTraversalStepLike {
|
|
|
39
40
|
* Default `AHandle = string` since `AccessorHandle` is a brand on `string` —
|
|
40
41
|
* the default is safe for the sandbox case.
|
|
41
42
|
*/
|
|
42
|
-
interface UpstreamBlockCtx<AHandle = string> {
|
|
43
|
+
export interface UpstreamBlockCtx<AHandle = string> {
|
|
43
44
|
blockId: string;
|
|
44
45
|
prodCtx?: AHandle;
|
|
45
46
|
stagingCtx?: AHandle;
|
|
@@ -58,7 +59,7 @@ interface UpstreamBlockCtx<AHandle = string> {
|
|
|
58
59
|
* `PObjectId`s are required (local-id construction inside the
|
|
59
60
|
* outputs/prerun branch), the traversal helpers thread the path explicitly.
|
|
60
61
|
*/
|
|
61
|
-
interface AccessorLike<Self extends AccessorLike<Self>> {
|
|
62
|
+
export interface AccessorLike<Self extends AccessorLike<Self>> {
|
|
62
63
|
/** Resource type carried by the underlying node (only `.name` is used). */
|
|
63
64
|
readonly resourceType: {
|
|
64
65
|
readonly name: string;
|
|
@@ -86,9 +87,12 @@ interface AccessorLike<Self extends AccessorLike<Self>> {
|
|
|
86
87
|
* Generic over the accessor flavour so the same record shape works for both
|
|
87
88
|
* the sandbox `TreeNodeAccessor` and the host `PlTreeNodeAccessor`.
|
|
88
89
|
*/
|
|
89
|
-
type LeafEntry<A extends AccessorLike<A>> = {
|
|
90
|
-
/** PFrame accessor that owns `<name>.spec` / `<name>.data` fields. */
|
|
91
|
-
|
|
90
|
+
export type LeafEntry<A extends AccessorLike<A>> = {
|
|
91
|
+
/** PFrame accessor that owns `<name>.spec` / `<name>.data` fields. */
|
|
92
|
+
accessor: A;
|
|
93
|
+
/** Field-name prefix inside the PFrame. */
|
|
94
|
+
name: string;
|
|
95
|
+
/** Canonical id under which this column is reachable. */
|
|
92
96
|
id: PObjectId;
|
|
93
97
|
};
|
|
94
98
|
/**
|
|
@@ -97,12 +101,11 @@ type LeafEntry<A extends AccessorLike<A>> = {
|
|
|
97
101
|
* so it can back both sandbox (`TreeNodeAccessor`) and host
|
|
98
102
|
* (`PlTreeNodeAccessor` adapter) registries.
|
|
99
103
|
*/
|
|
100
|
-
interface ColumnEntriesProvider<A extends AccessorLike<A>> {
|
|
104
|
+
export interface ColumnEntriesProvider<A extends AccessorLike<A>> {
|
|
101
105
|
/** Map of canonical {@link PObjectId} → {@link LeafEntry} for every column reachable from this source. */
|
|
102
106
|
getPObjectEntries(): ReadonlyMap<PObjectId, LeafEntry<A>>;
|
|
103
107
|
/** Whether enumeration of columns from this source has finalised. */
|
|
104
108
|
isFinal(): boolean;
|
|
105
109
|
}
|
|
106
110
|
//#endregion
|
|
107
|
-
export { AccessorHandle, AccessorLike, ColumnEntriesProvider, FieldTraversalStepLike, LeafEntry, UpstreamBlockCtx };
|
|
108
111
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/columns/types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/columns/types.ts"],"mappings":";;;;;;;;;;;YAUY,iBAAiB;;;;;;;;;;iBAWZ;;WAEN;;WAEA;;WAEA;;;;;;;;;;;;;;;iBAgBM,iBAAiB;EAChC;EACA,UAAU;EACV,aAAa;;EAEb;;EAEA;;;;;;;;;;;;iBAae,aAAa,aAAa,aAAa;;WAE7C;aAAyB;;;;;;;;EAQlC,SAAS,MAAM,yBAAyB;;EAGxC;;EAGA;;EAGA;;EAGA,cAAc,gBAAgB;;;;;;;;;YAUpB,UAAU,UAAU,aAAa;;EAE3C,UAAU;;EAEV;;EAEA,IAAI;;;;;;;;iBASW,sBAAsB,UAAU,aAAa;;EAE5D,qBAAqB,YAAY,WAAW,UAAU;;EAEtD"}
|
package/dist/common_types.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { ErrorLike } from "@milaboratories/pl-error-like";
|
|
2
|
-
|
|
3
2
|
//#region src/common_types.d.ts
|
|
4
3
|
/** Use this as constraint instead of `Function` */
|
|
5
|
-
type AnyFunction = (...args: any[]) => any;
|
|
6
|
-
type OutputWithStatus<T> = {
|
|
4
|
+
export type AnyFunction = (...args: any[]) => any;
|
|
5
|
+
export type OutputWithStatus<T> = {
|
|
7
6
|
ok: true;
|
|
8
7
|
value: T;
|
|
9
8
|
stable: boolean;
|
|
@@ -13,13 +12,12 @@ type OutputWithStatus<T> = {
|
|
|
13
12
|
moreErrors: boolean;
|
|
14
13
|
};
|
|
15
14
|
/** Base type for block outputs */
|
|
16
|
-
type BlockOutputsBase = Record<string, OutputWithStatus<unknown>>;
|
|
17
|
-
type ListOptionBase<T = unknown> = {
|
|
15
|
+
export type BlockOutputsBase = Record<string, OutputWithStatus<unknown>>;
|
|
16
|
+
export type ListOptionBase<T = unknown> = {
|
|
18
17
|
label: string;
|
|
19
18
|
description?: string;
|
|
20
19
|
value: T;
|
|
21
20
|
group?: string;
|
|
22
21
|
};
|
|
23
22
|
//#endregion
|
|
24
|
-
export { AnyFunction, BlockOutputsBase, ListOptionBase, OutputWithStatus };
|
|
25
23
|
//# sourceMappingURL=common_types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common_types.d.ts","names":[],"sources":["../src/common_types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"common_types.d.ts","names":[],"sources":["../src/common_types.ts"],"mappings":";;;YAGY,kBAAkB;YAElB,iBAAiB;EACvB;EAAU,OAAO;EAAG;;EACpB;EAAW,QAAQ;EAAa;;;YAG1B,mBAAmB,eAAe;YAElC,eAAe;EACzB;EACA;EACA,OAAO;EACP"}
|
package/dist/dialog/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* File filter passed to the native save dialog. Matches Electron's
|
|
4
4
|
* `FileFilter` shape so desktop runtimes can forward it verbatim.
|
|
5
5
|
*/
|
|
6
|
-
interface FileFilter {
|
|
6
|
+
export interface FileFilter {
|
|
7
7
|
name: string;
|
|
8
8
|
extensions: string[];
|
|
9
9
|
}
|
|
@@ -12,13 +12,13 @@ interface FileFilter {
|
|
|
12
12
|
* default file name; the main-process handler decides the default
|
|
13
13
|
* directory (e.g. `~/Downloads`).
|
|
14
14
|
*/
|
|
15
|
-
interface ShowSaveDialogOptions {
|
|
15
|
+
export interface ShowSaveDialogOptions {
|
|
16
16
|
defaultFileName?: string;
|
|
17
17
|
filters?: FileFilter[];
|
|
18
18
|
title?: string;
|
|
19
19
|
}
|
|
20
20
|
/** Result of `Dialog.showSaveDialog`. */
|
|
21
|
-
interface ShowSaveDialogResult {
|
|
21
|
+
export interface ShowSaveDialogResult {
|
|
22
22
|
canceled: boolean;
|
|
23
23
|
path?: string;
|
|
24
24
|
}
|
|
@@ -26,9 +26,8 @@ interface ShowSaveDialogResult {
|
|
|
26
26
|
* UI-facing save-dialog service. Implemented by desktop runtimes that
|
|
27
27
|
* can open a native file picker; absent in web/preview environments.
|
|
28
28
|
*/
|
|
29
|
-
interface DialogService {
|
|
29
|
+
export interface DialogService {
|
|
30
30
|
showSaveDialog(options: ShowSaveDialogOptions): Promise<ShowSaveDialogResult>;
|
|
31
31
|
}
|
|
32
32
|
//#endregion
|
|
33
|
-
export { DialogService, FileFilter, ShowSaveDialogOptions, ShowSaveDialogResult };
|
|
34
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/dialog/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/dialog/index.ts"],"mappings":";;;;;iBAIiB;EACf;EACA;;;;;;;iBAQe;EACf;EACA,UAAU;EACV;;;iBAIe;EACf;EACA;;;;;;iBAOe;EACf,eAAe,SAAS,wBAAwB,QAAQ"}
|
package/dist/driver_kit.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import { BlobDriver } from "./drivers/blob.js";
|
|
|
2
2
|
import { LogsDriver } from "./drivers/log.js";
|
|
3
3
|
import { PFrameDriver } from "./drivers/pframe/driver.js";
|
|
4
4
|
import { LsDriver } from "./drivers/ls.js";
|
|
5
|
+
import "./drivers/index.js";
|
|
5
6
|
//#region src/driver_kit.d.ts
|
|
6
7
|
/** Set of all drivers exposed in UI SDK via the platforma object. */
|
|
7
|
-
interface DriverKit {
|
|
8
|
+
export interface DriverKit {
|
|
8
9
|
/** Driver allowing to retrieve blob data */
|
|
9
10
|
readonly blobDriver: BlobDriver;
|
|
10
11
|
/** Driver allowing to dynamically work with logs */
|
|
@@ -22,5 +23,4 @@ interface DriverKit {
|
|
|
22
23
|
readonly pFrameDriver: PFrameDriver;
|
|
23
24
|
}
|
|
24
25
|
//#endregion
|
|
25
|
-
export { DriverKit };
|
|
26
26
|
//# sourceMappingURL=driver_kit.d.ts.map
|
package/dist/driver_kit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver_kit.d.ts","names":[],"sources":["../src/driver_kit.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"driver_kit.d.ts","names":[],"sources":["../src/driver_kit.ts"],"mappings":";;;;;;;iBAGiB;;WAEN,YAAY;;WAGZ,WAAW;;;;;;;;;WAUX,UAAU;;WAGV,cAAc"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RangeBytes } from "./blob.js";
|
|
2
|
-
|
|
3
2
|
//#region src/drivers/ChunkedStreamReader.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Status returned by onError handler to indicate what action to take
|
|
@@ -7,11 +6,11 @@ import { RangeBytes } from "./blob.js";
|
|
|
7
6
|
* - 'error': Error the stream (calls controller.error, aborts ongoing fetches)
|
|
8
7
|
* - 'cancel': Cancel the stream gracefully (calls controller.close, aborts ongoing fetches)
|
|
9
8
|
*/
|
|
10
|
-
type ErrorHandlerStatus = "continue" | "error" | "cancel";
|
|
9
|
+
export type ErrorHandlerStatus = "continue" | "error" | "cancel";
|
|
11
10
|
/**
|
|
12
11
|
* Options for creating a ChunkedStreamReader
|
|
13
12
|
*/
|
|
14
|
-
interface ChunkedStreamReaderOptions {
|
|
13
|
+
export interface ChunkedStreamReaderOptions {
|
|
15
14
|
/**
|
|
16
15
|
* Function to fetch a chunk of data. Optionally accepts an AbortSignal to cancel the fetch.
|
|
17
16
|
*/
|
|
@@ -39,7 +38,7 @@ interface ChunkedStreamReaderOptions {
|
|
|
39
38
|
* in fixed-size chunks. This is useful for streaming large files without loading
|
|
40
39
|
* them entirely into memory.
|
|
41
40
|
*/
|
|
42
|
-
declare class ChunkedStreamReader {
|
|
41
|
+
export declare class ChunkedStreamReader {
|
|
43
42
|
private currentPosition;
|
|
44
43
|
private _read;
|
|
45
44
|
private _canceled;
|
|
@@ -117,5 +116,4 @@ declare class ChunkedStreamReader {
|
|
|
117
116
|
isComplete(): boolean;
|
|
118
117
|
}
|
|
119
118
|
//#endregion
|
|
120
|
-
export { ChunkedStreamReader, ChunkedStreamReaderOptions, ErrorHandlerStatus };
|
|
121
119
|
//# sourceMappingURL=ChunkedStreamReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChunkedStreamReader.d.ts","names":[],"sources":["../../src/drivers/ChunkedStreamReader.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChunkedStreamReader.d.ts","names":[],"sources":["../../src/drivers/ChunkedStreamReader.ts"],"mappings":";;;;;;;;YAQY;;;;iBAKK;;;;EAIf,aAAa,OAAO,YAAY,SAAS,gBAAgB,QAAQ;;;;EAKjE;;;;EAKA;;;;;;;;;EAUA,WAAW,mBAAmB,QAAQ;;;;;;;qBAQ3B;UACH;UACA;UACA;UACA;UACA;mBACS;;;;;UAMV;;;;cAwBK;;;;cAOA;;;;cAOA;;;;cAOA;;;;;;;;;;;;;;;;;;;SAsBL,OAAO,SAAS,6BAA6B,eAAe;UAK3D;UAIA;UAIM;;;;;;;;UAsEN;;;;;;EA2CR;;;;;;EASA;;;;;;EASA"}
|
package/dist/drivers/blob.d.ts
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { Branded } from "../branding.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
|
|
4
3
|
//#region src/drivers/blob.d.ts
|
|
5
4
|
/** Handle of locally downloaded blob. This handle is issued only after the
|
|
6
5
|
* blob's content is downloaded locally, and ready for quick access. */
|
|
7
|
-
type LocalBlobHandle = Branded<string, "LocalBlobHandle">;
|
|
6
|
+
export type LocalBlobHandle = Branded<string, "LocalBlobHandle">;
|
|
8
7
|
/** Handle of remote blob. This handle is issued as soon as the data becomes
|
|
9
8
|
* available on the remote server. */
|
|
10
|
-
type RemoteBlobHandle = Branded<string, "RemoteBlobHandle">;
|
|
9
|
+
export type RemoteBlobHandle = Branded<string, "RemoteBlobHandle">;
|
|
11
10
|
/** Being configured inside the output structure provides information about
|
|
12
11
|
* blob's content and means to retrieve it when needed. */
|
|
13
|
-
interface BlobHandleAndSize<H extends LocalBlobHandle | RemoteBlobHandle = LocalBlobHandle | RemoteBlobHandle> {
|
|
12
|
+
export interface BlobHandleAndSize<H extends LocalBlobHandle | RemoteBlobHandle = LocalBlobHandle | RemoteBlobHandle> {
|
|
14
13
|
/** Handle to retrieve block content using {@link BlobDriver.getContent()} */
|
|
15
14
|
readonly handle: H;
|
|
16
15
|
/** Blob size in bytes. */
|
|
17
16
|
readonly size: number;
|
|
18
17
|
}
|
|
19
18
|
/** Range in bytes, from should be less than to. */
|
|
20
|
-
declare const RangeBytes: z.ZodObject<{
|
|
21
|
-
/** Included left border. */
|
|
19
|
+
export declare const RangeBytes: z.ZodObject<{
|
|
20
|
+
/** Included left border. */
|
|
21
|
+
from: z.ZodNumber;
|
|
22
|
+
/** Excluded right border. */
|
|
22
23
|
to: z.ZodNumber;
|
|
23
24
|
}, "strip", z.ZodTypeAny, {
|
|
24
25
|
from: number;
|
|
@@ -27,25 +28,27 @@ declare const RangeBytes: z.ZodObject<{
|
|
|
27
28
|
from: number;
|
|
28
29
|
to: number;
|
|
29
30
|
}>;
|
|
30
|
-
type RangeBytes = z.infer<typeof RangeBytes>;
|
|
31
|
-
declare function newRangeBytesOpt(from?: number, to?: number): RangeBytes | undefined;
|
|
32
|
-
declare function validateRangeBytes(range: RangeBytes, errMsg: string): void;
|
|
31
|
+
export type RangeBytes = z.infer<typeof RangeBytes>;
|
|
32
|
+
export declare function newRangeBytesOpt(from?: number, to?: number): RangeBytes | undefined;
|
|
33
|
+
export declare function validateRangeBytes(range: RangeBytes, errMsg: string): void;
|
|
33
34
|
/** Being configured inside the output structure provides information about
|
|
34
35
|
* locally downloaded blob and means to retrieve it's content when needed. This
|
|
35
36
|
* structure is created only after the blob's content is downloaded locally, and
|
|
36
37
|
* ready for quick access. */
|
|
37
|
-
type LocalBlobHandleAndSize = BlobHandleAndSize<LocalBlobHandle>;
|
|
38
|
+
export type LocalBlobHandleAndSize = BlobHandleAndSize<LocalBlobHandle>;
|
|
38
39
|
/** Being configured inside the output structure provides information about
|
|
39
40
|
* remote blob and means to retrieve it's content when needed. This structure
|
|
40
41
|
* is created as soon as remote blob becomes available. */
|
|
41
|
-
type RemoteBlobHandleAndSize = BlobHandleAndSize<RemoteBlobHandle>;
|
|
42
|
-
type GetContentOptions = {
|
|
43
|
-
/** Byte range in [from, to) format. */
|
|
42
|
+
export type RemoteBlobHandleAndSize = BlobHandleAndSize<RemoteBlobHandle>;
|
|
43
|
+
export type GetContentOptions = {
|
|
44
|
+
/** Byte range in [from, to) format. */
|
|
45
|
+
range?: RangeBytes;
|
|
46
|
+
/** Signal to abort the operation early. */
|
|
44
47
|
signal?: AbortSignal;
|
|
45
48
|
};
|
|
46
|
-
type ContentHandler<T> = (content: ReadableStream, size: number) => Promise<T>;
|
|
49
|
+
export type ContentHandler<T> = (content: ReadableStream, size: number) => Promise<T>;
|
|
47
50
|
/** Defines API of blob driver as it is seen from the block UI code. */
|
|
48
|
-
interface BlobDriver {
|
|
51
|
+
export interface BlobDriver {
|
|
49
52
|
/**
|
|
50
53
|
* Given the blob handle returns its content.
|
|
51
54
|
* Depending on the handle type, content will be served from locally downloaded file,
|
|
@@ -56,17 +59,25 @@ interface BlobDriver {
|
|
|
56
59
|
/**
|
|
57
60
|
* Operational metrics of the blob download driver.
|
|
58
61
|
*/
|
|
59
|
-
type BlobDriverMetrics = {
|
|
60
|
-
/** Downloads that bypassed the ranges (sparse) cache. Counted when issued, so failed downloads still count. */
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
export type BlobDriverMetrics = {
|
|
63
|
+
/** Downloads that bypassed the ranges (sparse) cache. Counted when issued, so failed downloads still count. */
|
|
64
|
+
uncachedRequests: number;
|
|
65
|
+
/** Bytes actually streamed off the wire on the uncached path. */
|
|
66
|
+
uncachedRequestBytes: number;
|
|
67
|
+
/** Currently active remote downloads. */
|
|
68
|
+
downloadsInFlight: number;
|
|
69
|
+
/** Sum of known sizes of active downloads — progress-bar denominator. */
|
|
70
|
+
inFlightBytesTotal: number;
|
|
71
|
+
/** Sum of bytes received so far across active downloads — progress-bar numerator. */
|
|
72
|
+
inFlightBytesReceived: number;
|
|
73
|
+
/** Cached presigned URL was used and the download started successfully (one gRPC sign call avoided). */
|
|
74
|
+
presignedUrlCacheHits: number;
|
|
75
|
+
/** No cached presigned URL; a fresh one was fetched. */
|
|
76
|
+
presignedUrlCacheMisses: number;
|
|
77
|
+
/** Cached presigned URL was rejected (HTTP 400) and re-fetched — signals the TTL safety margin is too loose. */
|
|
78
|
+
presignedUrlStaleHits: number;
|
|
79
|
+
/** Total latency of presigned-URL fetch calls (misses + stale hits); divide by their count for the mean cost a hit avoids. */
|
|
68
80
|
presignedUrlRequestSumLatencyMs: number;
|
|
69
81
|
};
|
|
70
82
|
//#endregion
|
|
71
|
-
export { BlobDriver, BlobDriverMetrics, BlobHandleAndSize, ContentHandler, GetContentOptions, LocalBlobHandle, LocalBlobHandleAndSize, RangeBytes, RemoteBlobHandle, RemoteBlobHandleAndSize, newRangeBytesOpt, validateRangeBytes };
|
|
72
83
|
//# sourceMappingURL=blob.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob.d.ts","names":[],"sources":["../../src/drivers/blob.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"blob.d.ts","names":[],"sources":["../../src/drivers/blob.ts"],"mappings":";;;;;YAKY,kBAAkB;;;YAIlB,mBAAmB;;;iBAId,kBACf,UAAU,kBAAkB,mBAAmB,kBAAkB;;WAGxD,QAAQ;;WAGR;;;qBAIE,YAAU,EAAA;;;;;;;;;;;;YAOX,aAAa,EAAE,aAAa;wBAExB,iBAAiB,eAAe,cAAc;wBAW9C,mBAAmB,OAAO,YAAY;;;;;YAU1C,yBAAyB,kBAAkB;;;;YAK3C,0BAA0B,kBAAkB;YAE5C;;EAEV,QAAQ;;EAER,SAAS;;YAGC,eAAe,MAAM,SAAS,gBAAgB,iBAAiB,QAAQ;;iBAGlE;;;;;;EAMf,WAAW,QAAQ,kBAAkB,kBAAkB,QAAQ,aAAa,QAAQ;;;;;YAM1E;;EAEV;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA"}
|