@milaboratories/pl-model-common 1.29.0 → 1.31.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.
Files changed (105) hide show
  1. package/dist/bmodel/block_config.d.ts +1 -0
  2. package/dist/bmodel/code.d.ts +1 -0
  3. package/dist/driver_kit.d.ts +1 -1
  4. package/dist/drivers/index.d.ts +7 -7
  5. package/dist/drivers/index.js +2 -2
  6. package/dist/drivers/pframe/data_types.cjs +0 -15
  7. package/dist/drivers/pframe/data_types.cjs.map +1 -1
  8. package/dist/drivers/pframe/data_types.d.ts +14 -60
  9. package/dist/drivers/pframe/data_types.js +1 -13
  10. package/dist/drivers/pframe/data_types.js.map +1 -1
  11. package/dist/drivers/pframe/driver.cjs.map +1 -1
  12. package/dist/drivers/pframe/driver.d.ts +13 -5
  13. package/dist/drivers/pframe/driver.js.map +1 -1
  14. package/dist/drivers/pframe/index.d.ts +6 -6
  15. package/dist/drivers/pframe/index.js +2 -2
  16. package/dist/drivers/pframe/pframe.d.ts +2 -2
  17. package/dist/drivers/pframe/query/query_common.d.ts +2 -2
  18. package/dist/drivers/pframe/query/query_data.d.ts +1 -1
  19. package/dist/drivers/pframe/query/query_spec.d.ts +2 -2
  20. package/dist/drivers/pframe/spec/ids.d.ts +2 -2
  21. package/dist/drivers/pframe/spec/index.d.ts +1 -1
  22. package/dist/drivers/pframe/spec/index.js +1 -1
  23. package/dist/drivers/pframe/spec/selectors.d.ts +1 -1
  24. package/dist/drivers/pframe/spec/spec.cjs +14 -1
  25. package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
  26. package/dist/drivers/pframe/spec/spec.d.ts +7 -1
  27. package/dist/drivers/pframe/spec/spec.js +14 -2
  28. package/dist/drivers/pframe/spec/spec.js.map +1 -1
  29. package/dist/drivers/pframe/spec_driver.d.ts +36 -6
  30. package/dist/drivers/pframe/table_calculate.cjs.map +1 -1
  31. package/dist/drivers/pframe/table_calculate.d.ts +5 -6
  32. package/dist/drivers/pframe/table_calculate.js.map +1 -1
  33. package/dist/drivers/pframe/table_common.d.ts +1 -1
  34. package/dist/drivers/pframe/unique_values.d.ts +2 -2
  35. package/dist/errors.cjs +48 -0
  36. package/dist/errors.cjs.map +1 -1
  37. package/dist/errors.d.ts +25 -1
  38. package/dist/errors.js +37 -1
  39. package/dist/errors.js.map +1 -1
  40. package/dist/flags/block_flags.cjs.map +1 -1
  41. package/dist/flags/block_flags.d.ts +4 -1
  42. package/dist/flags/block_flags.js.map +1 -1
  43. package/dist/flags/flag_utils.d.ts +1 -1
  44. package/dist/flags/index.d.ts +3 -0
  45. package/dist/index.cjs +38 -3
  46. package/dist/index.d.ts +31 -22
  47. package/dist/index.js +12 -4
  48. package/dist/pool/query.d.ts +1 -1
  49. package/dist/pool_entry.cjs +30 -0
  50. package/dist/pool_entry.cjs.map +1 -0
  51. package/dist/pool_entry.d.ts +30 -0
  52. package/dist/pool_entry.js +29 -0
  53. package/dist/pool_entry.js.map +1 -0
  54. package/dist/services/index.cjs +6 -0
  55. package/dist/services/index.d.ts +6 -0
  56. package/dist/services/index.js +6 -0
  57. package/dist/services/service_capabilities.cjs +51 -0
  58. package/dist/services/service_capabilities.cjs.map +1 -0
  59. package/dist/services/service_capabilities.d.ts +33 -0
  60. package/dist/services/service_capabilities.js +46 -0
  61. package/dist/services/service_capabilities.js.map +1 -0
  62. package/dist/services/service_declarations.cjs +17 -0
  63. package/dist/services/service_declarations.cjs.map +1 -0
  64. package/dist/services/service_declarations.d.ts +16 -0
  65. package/dist/services/service_declarations.js +17 -0
  66. package/dist/services/service_declarations.js.map +1 -0
  67. package/dist/services/service_injector_factory.cjs +19 -0
  68. package/dist/services/service_injector_factory.cjs.map +1 -0
  69. package/dist/services/service_injector_factory.d.ts +8 -0
  70. package/dist/services/service_injector_factory.js +18 -0
  71. package/dist/services/service_injector_factory.js.map +1 -0
  72. package/dist/services/service_injectors.cjs +48 -0
  73. package/dist/services/service_injectors.cjs.map +1 -0
  74. package/dist/services/service_injectors.d.ts +23 -0
  75. package/dist/services/service_injectors.js +46 -0
  76. package/dist/services/service_injectors.js.map +1 -0
  77. package/dist/services/service_registry.cjs +52 -0
  78. package/dist/services/service_registry.cjs.map +1 -0
  79. package/dist/services/service_registry.d.ts +25 -0
  80. package/dist/services/service_registry.js +51 -0
  81. package/dist/services/service_registry.js.map +1 -0
  82. package/dist/services/service_types.cjs +30 -0
  83. package/dist/services/service_types.cjs.map +1 -0
  84. package/dist/services/service_types.d.ts +45 -0
  85. package/dist/services/service_types.js +28 -0
  86. package/dist/services/service_types.js.map +1 -0
  87. package/package.json +4 -4
  88. package/src/drivers/pframe/data_types.ts +18 -140
  89. package/src/drivers/pframe/driver.ts +11 -1
  90. package/src/drivers/pframe/spec/spec.ts +16 -2
  91. package/src/drivers/pframe/spec_driver.ts +37 -5
  92. package/src/drivers/pframe/table_calculate.ts +3 -4
  93. package/src/errors.ts +53 -0
  94. package/src/flags/block_flags.ts +5 -2
  95. package/src/index.ts +2 -0
  96. package/src/pool_entry.ts +42 -0
  97. package/src/services/index.ts +5 -0
  98. package/src/services/service_capabilities.test.ts +119 -0
  99. package/src/services/service_capabilities.ts +64 -0
  100. package/src/services/service_declarations.ts +25 -0
  101. package/src/services/service_injector_factory.ts +27 -0
  102. package/src/services/service_injectors.ts +79 -0
  103. package/src/services/service_registry.test.ts +69 -0
  104. package/src/services/service_registry.ts +94 -0
  105. package/src/services/service_types.ts +114 -0
package/dist/index.cjs CHANGED
@@ -35,6 +35,14 @@ const require_value_or_error = require('./value_or_error.cjs');
35
35
  const require_base64 = require('./base64.cjs');
36
36
  const require_httpAuth = require('./httpAuth.cjs');
37
37
  const require_resource_types = require('./resource_types.cjs');
38
+ const require_service_types = require('./services/service_types.cjs');
39
+ const require_service_registry = require('./services/service_registry.cjs');
40
+ const require_service_declarations = require('./services/service_declarations.cjs');
41
+ const require_service_capabilities = require('./services/service_capabilities.cjs');
42
+ const require_service_injector_factory = require('./services/service_injector_factory.cjs');
43
+ const require_service_injectors = require('./services/service_injectors.cjs');
44
+ require('./services/index.cjs');
45
+ const require_pool_entry = require('./pool_entry.cjs');
38
46
 
39
47
  exports.AbortError = require_errors.AbortError;
40
48
  exports.AllRequiresFeatureFlags = require_block_flags.AllRequiresFeatureFlags;
@@ -49,33 +57,47 @@ exports.Domain = require_spec.Domain;
49
57
  exports.DomainJson = require_spec.DomainJson;
50
58
  exports.IncompatibleFlagsError = require_flag_utils.IncompatibleFlagsError;
51
59
  exports.LinkerMap = require_linker_columns.LinkerMap;
60
+ exports.ModelServiceRegistry = require_service_registry.ModelServiceRegistry;
52
61
  exports.PAxisName = require_spec.PAxisName;
53
62
  exports.PColumnName = require_spec.PColumnName;
54
63
  exports.PFrameDriverError = require_errors.PFrameDriverError;
55
64
  exports.PFrameError = require_errors.PFrameError;
56
65
  exports.PFrameSpecDriverError = require_errors.PFrameSpecDriverError;
57
- exports.PTableAbsent = require_data_types.PTableAbsent;
58
66
  exports.PTableNA = require_data_types.PTableNA;
59
67
  exports.PlId = require_plid.PlId;
60
68
  exports.PlIdBytes = require_plid.PlIdBytes;
61
69
  exports.PlIdLength = require_plid.PlIdLength;
62
70
  exports.PlRef = require_ref.PlRef;
71
+ exports.PoolEntryGuard = require_pool_entry.PoolEntryGuard;
63
72
  exports.RangeBytes = require_blob.RangeBytes;
64
73
  exports.ResourceTypeName = require_resource_types.ResourceTypeName;
65
74
  exports.ResourceTypePrefix = require_resource_types.ResourceTypePrefix;
66
75
  exports.RuntimeCapabilities = require_flag_utils.RuntimeCapabilities;
76
+ exports.SERVICE_CAPABILITY_FLAGS = require_service_capabilities.SERVICE_CAPABILITY_FLAGS;
77
+ exports.SERVICE_FEATURE_FLAGS = require_service_capabilities.SERVICE_FEATURE_FLAGS;
78
+ exports.SERVICE_METHOD_MAP = require_service_injectors.SERVICE_METHOD_MAP;
79
+ exports.ServiceAlreadyRegisteredError = require_errors.ServiceAlreadyRegisteredError;
80
+ exports.ServiceError = require_errors.ServiceError;
81
+ exports.ServiceInjectionError = require_errors.ServiceInjectionError;
82
+ exports.ServiceInvalidIdError = require_errors.ServiceInvalidIdError;
83
+ exports.ServiceMethodNotFoundError = require_errors.ServiceMethodNotFoundError;
84
+ exports.ServiceNotRegisteredError = require_errors.ServiceNotRegisteredError;
85
+ exports.Services = require_service_declarations.Services;
67
86
  exports.UiError = require_errors.UiError;
87
+ exports.UiServiceRegistry = require_service_registry.UiServiceRegistry;
68
88
  exports.ValueType = require_spec.ValueType;
69
89
  exports.assertNever = require_util.assertNever;
70
90
  exports.base64Decode = require_base64.base64Decode;
71
91
  exports.base64Encode = require_base64.base64Encode;
72
92
  exports.bigintReplacer = require_json.bigintReplacer;
93
+ exports.buildServiceInfo = require_service_injectors.buildServiceInfo;
73
94
  exports.canonicalizeAxisId = require_spec.canonicalizeAxisId;
74
95
  exports.canonicalizeAxisWithParents = require_spec.canonicalizeAxisWithParents;
75
96
  exports.canonicalizeJson = require_json.canonicalizeJson;
76
97
  exports.checkBlockFlag = require_flag_utils.checkBlockFlag;
77
98
  exports.collectSpecQueryColumns = require_utils.collectSpecQueryColumns;
78
99
  exports.createPlRef = require_ref.createPlRef;
100
+ exports.createUiServiceInjectors = require_service_injector_factory.createUiServiceInjectors;
79
101
  exports.dataInfoToEntries = require_data_info.dataInfoToEntries;
80
102
  exports.deriveNativeId = require_native_id.deriveNativeId;
81
103
  exports.deserializeError = require_errors.deserializeError;
@@ -98,6 +120,7 @@ exports.getColumnIdAndSpec = require_spec.getColumnIdAndSpec;
98
120
  exports.getDenormalizedAxesList = require_spec.getDenormalizedAxesList;
99
121
  exports.getFileNameFromHandle = require_ls.getFileNameFromHandle;
100
122
  exports.getFilePathFromHandle = require_ls.getFilePathFromHandle;
123
+ exports.getMethodNames = require_service_capabilities.getMethodNames;
101
124
  exports.getNormalizedAxesList = require_spec.getNormalizedAxesList;
102
125
  exports.getPColumnSpecId = require_spec.getPColumnSpecId;
103
126
  exports.getPTableColumnId = require_table_common.getPTableColumnId;
@@ -116,9 +139,11 @@ exports.isFilteredPColumn = require_filtered_column.isFilteredPColumn;
116
139
  exports.isFolderURL = require_urls.isFolderURL;
117
140
  exports.isImportFileHandleIndex = require_ls.isImportFileHandleIndex;
118
141
  exports.isImportFileHandleUpload = require_ls.isImportFileHandleUpload;
142
+ exports.isKnownServiceName = require_service_capabilities.isKnownServiceName;
119
143
  exports.isLabelColumn = require_spec.isLabelColumn;
120
144
  exports.isLinkerColumn = require_spec.isLinkerColumn;
121
145
  exports.isLiveLog = require_log.isLiveLog;
146
+ exports.isNodeService = require_service_types.isNodeService;
122
147
  exports.isPColumn = require_spec$1.isPColumn;
123
148
  exports.isPColumnResult = require_spec$1.isPColumnResult;
124
149
  exports.isPColumnSpec = require_spec$1.isPColumnSpec;
@@ -126,11 +151,15 @@ exports.isPColumnSpecResult = require_spec$1.isPColumnSpecResult;
126
151
  exports.isPFrameDriverError = require_errors.isPFrameDriverError;
127
152
  exports.isPFrameError = require_errors.isPFrameError;
128
153
  exports.isPFrameSpecDriverError = require_errors.isPFrameSpecDriverError;
129
- exports.isPTableAbsent = require_data_types.isPTableAbsent;
130
154
  exports.isPTableNA = require_data_types.isPTableNA;
131
- exports.isPTableValueAxis = require_data_types.isPTableValueAxis;
132
155
  exports.isPartitionedDataInfoEntries = require_data_info.isPartitionedDataInfoEntries;
133
156
  exports.isPlRef = require_ref.isPlRef;
157
+ exports.isServiceAlreadyRegisteredError = require_errors.isServiceAlreadyRegisteredError;
158
+ exports.isServiceError = require_errors.isServiceError;
159
+ exports.isServiceInjectionError = require_errors.isServiceInjectionError;
160
+ exports.isServiceInvalidIdError = require_errors.isServiceInvalidIdError;
161
+ exports.isServiceMethodNotFoundError = require_errors.isServiceMethodNotFoundError;
162
+ exports.isServiceNotRegisteredError = require_errors.isServiceNotRegisteredError;
134
163
  exports.legacyColumnSelectorsToPredicate = require_selectors.legacyColumnSelectorsToPredicate;
135
164
  exports.mapDataInfo = require_data_info.mapDataInfo;
136
165
  exports.mapDataInfoEntries = require_data_info.mapDataInfoEntries;
@@ -160,10 +189,16 @@ exports.readDomainJsonOrThrow = require_spec.readDomainJsonOrThrow;
160
189
  exports.readMetadata = require_spec.readMetadata;
161
190
  exports.readMetadataJson = require_spec.readMetadataJson;
162
191
  exports.readMetadataJsonOrThrow = require_spec.readMetadataJsonOrThrow;
192
+ exports.registerServiceCapabilities = require_service_capabilities.registerServiceCapabilities;
163
193
  exports.resolveAnchors = require_anchored.resolveAnchors;
194
+ exports.resolveAnnotationParents = require_spec.resolveAnnotationParents;
195
+ exports.resolveRequiredServices = require_service_capabilities.resolveRequiredServices;
196
+ exports.resolveUiInjector = require_service_injectors.resolveUiInjector;
164
197
  exports.serializeError = require_errors.serializeError;
165
198
  exports.serializeHttpAuth = require_httpAuth.serializeHttpAuth;
166
199
  exports.serializeResult = require_errors.serializeResult;
200
+ exports.service = require_service_types.service;
201
+ exports.serviceFnKey = require_service_types.serviceFnKey;
167
202
  exports.sortJoinEntry = require_table_calculate.sortJoinEntry;
168
203
  exports.sortPTableDef = require_table_calculate.sortPTableDef;
169
204
  exports.sortSpecQuery = require_utils.sortSpecQuery;
package/dist/index.d.ts CHANGED
@@ -3,53 +3,62 @@ import { AnyFunction, BlockOutputsBase, ListOptionBase, OutputWithStatus } from
3
3
  import { BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, DefaultNavigationState, NavigationState } from "./navigation.js";
4
4
  import { CanonicalizedJson, JsonCompatible, JsonSerializable, StringifiedJson, bigintReplacer, canonicalizeJson, parseJson, stringifyJson } from "./json.js";
5
5
  import { BlockState, BlockStateV3 } from "./block_state.js";
6
- import { AllRequiresFeatureFlags, AllSupportsFeatureFlags, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./flags/block_flags.js";
7
- import { ArrayTypeUnion, Assert, AssertKeysEqual, FilterKeysByPrefix, Is, IsSubtypeOf } from "./flags/type_utils.js";
8
- import { IncompatibleFlagsError, RuntimeCapabilities, SupportedRequirement, checkBlockFlag, extractAllRequirements, extractAllSupports } from "./flags/flag_utils.js";
9
- import { BlockCodeWithInfo, Code } from "./bmodel/code.js";
10
- import { BlockRenderingMode } from "./bmodel/types.js";
11
- import { BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, extractCodeWithInfo } from "./bmodel/block_config.js";
12
- import { BlockConfigContainer } from "./bmodel/container.js";
13
- import { extractConfigGeneric } from "./bmodel/normalization.js";
14
- import "./bmodel/index.js";
15
6
  import { Branded } from "./branding.js";
7
+ import { Option, PlRef, Ref, createPlRef, isPlRef, plRefsEqual, withEnrichments } from "./ref.js";
8
+ import { ResultCollection, ResultPoolEntry } from "./pool/entry.js";
16
9
  import { BlobLike, FileLike } from "./drivers/interfaces.js";
17
10
  import { ArchiveFormat, BlobToURLDriver, BlockUIURL, FolderURL, FrontendDriver, isBlockUIURL, isFolderURL } from "./drivers/urls.js";
18
11
  import { BlobDriver, BlobHandleAndSize, ContentHandler, GetContentOptions, LocalBlobHandle, LocalBlobHandleAndSize, RangeBytes, RemoteBlobHandle, RemoteBlobHandleAndSize, newRangeBytesOpt, validateRangeBytes } from "./drivers/blob.js";
19
12
  import { ImportProgress, ImportStatus } from "./drivers/upload.js";
20
13
  import { AnyLogHandle, LiveLogHandle, LogsDriver, ProgressLogWithInfo, ReadyLogHandle, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, isLiveLog } from "./drivers/log.js";
21
- import { Option, PlRef, Ref, createPlRef, isPlRef, plRefsEqual, withEnrichments } from "./ref.js";
22
- import { ResultCollection, ResultPoolEntry } from "./pool/entry.js";
23
- import { PObject, PObjectId, PObjectSpec, ensurePColumn, extractAllColumns, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, mapPObjectData } from "./pool/spec.js";
24
- import { PSpecPredicate, executePSpecPredicate } from "./pool/query.js";
25
- import "./pool/index.js";
26
- import { Annotation, AnnotationJson, AxesId, AxesSpec, AxisId, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, ColumnValueType, Domain, DomainJson, Metadata, MetadataJson, PAxisName, PColumn, PColumnIdAndSpec, PColumnInfo, PColumnLazy, PColumnName, PColumnSpec, PColumnSpecId, PDataColumnSpec, PUniversalColumnSpec, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow } from "./drivers/pframe/spec/spec.js";
14
+ import { Annotation, AnnotationJson, AxesId, AxesSpec, AxisId, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, ColumnValueType, Domain, DomainJson, Metadata, MetadataJson, PAxisName, PColumn, PColumnIdAndSpec, PColumnInfo, PColumnLazy, PColumnName, PColumnSpec, PColumnSpecId, PDataColumnSpec, PUniversalColumnSpec, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnnotationParents } from "./drivers/pframe/spec/spec.js";
27
15
  import { ColumnFilter } from "./drivers/pframe/column_filter.js";
28
16
  import { BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, DataInfo, DataInfoEntries, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, PColumnDataEntry, PColumnKey, PColumnValue, PColumnValues, PColumnValuesEntry, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./drivers/pframe/data_info.js";
29
17
  import { AAxisSelector, ADomain, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredPColumnId, AnchoredPColumnSelector, LegacyAxisSelector, PColumnSelector, SingleAxisSelector, isAnchoredPColumnId, legacyColumnSelectorsToPredicate, matchAxis, matchPColumn } from "./drivers/pframe/spec/selectors.js";
30
18
  import { AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, FilteredPColumn, FilteredPColumnId, isFilteredPColumn } from "./drivers/pframe/spec/filtered_column.js";
31
19
  import { SUniversalPColumnId, UniversalPColumnId, parseColumnId, stringifyColumnId } from "./drivers/pframe/spec/ids.js";
32
20
  import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, RootFilterSpec } from "./drivers/pframe/filter_spec.js";
33
- import { PTableAbsent, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableAbsent, isPTableNA, isPTableValueAxis, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
21
+ import { PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableNA, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
34
22
  import { FindColumnsRequest, FindColumnsResponse } from "./drivers/pframe/find_columns.js";
35
23
  import { PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, getPTableColumnId } from "./drivers/pframe/table_common.js";
24
+ import { PTable } from "./drivers/pframe/table.js";
36
25
  import { AnchoredIdDeriver, ResolveAnchorsOptions, resolveAnchors } from "./drivers/pframe/spec/anchored.js";
37
26
  import { NativePObjectId, deriveNativeId } from "./drivers/pframe/spec/native_id.js";
38
27
  import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin } from "./drivers/pframe/query/query_spec.js";
39
28
  import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./drivers/pframe/table_calculate.js";
40
29
  import { UniqueValuesRequest, UniqueValuesResponse } from "./drivers/pframe/unique_values.js";
41
- import { PFrame, PFrameDef } from "./drivers/pframe/pframe.js";
42
- import { PTable } from "./drivers/pframe/table.js";
43
30
  import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin } from "./drivers/pframe/query/query_data.js";
44
31
  import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./drivers/pframe/query/utils.js";
45
- import { PFrameDriver, PFrameHandle, PTableHandle } from "./drivers/pframe/driver.js";
46
32
  import { CompositeLinkerMap, LinkerMap } from "./drivers/pframe/linker_columns.js";
47
- import { AxisQualification, ColumnAxesWithQualifications, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, MatcherMap, MultiAxisSelector, MultiColumnSelector, PFrameSpecDriver, SpecFrameHandle, StringMatcher } from "./drivers/pframe/spec_driver.js";
33
+ import { PoolEntry, PoolEntryGuard } from "./pool_entry.js";
34
+ import { AxisQualification, ColumnAxesWithQualifications, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, EvaluateQueryResponse, MatcherMap, MultiAxisSelector, MultiColumnSelector, PFrameSpecDriver, SpecFrameHandle, StringMatcher } from "./drivers/pframe/spec_driver.js";
48
35
  import { FileRange, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ListFilesResult, LocalImportFileHandle, LsDriver, LsEntry, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, getFileNameFromHandle, getFilePathFromHandle, isImportFileHandleIndex, isImportFileHandleUpload } from "./drivers/ls.js";
49
36
  import { ChunkedStreamReader, ChunkedStreamReaderOptions, ErrorHandlerStatus } from "./drivers/ChunkedStreamReader.js";
50
37
  import "./drivers/index.js";
38
+ import { PObject, PObjectId, PObjectSpec, ensurePColumn, extractAllColumns, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, mapPObjectData } from "./pool/spec.js";
39
+ import { PSpecPredicate, executePSpecPredicate } from "./pool/query.js";
40
+ import "./pool/index.js";
41
+ import { PFrame, PFrameDef } from "./drivers/pframe/pframe.js";
42
+ import { PFrameDriver, PFrameHandle, PFrameModelDriver, PTableHandle } from "./drivers/pframe/driver.js";
43
+ import { Services } from "./services/service_declarations.js";
44
+ import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, isNodeService, service, serviceFnKey } from "./services/service_types.js";
45
+ import { ModelServiceRegistry, UiServiceRegistry } from "./services/service_registry.js";
46
+ import { ArrayTypeUnion, Assert, AssertKeysEqual, FilterKeysByPrefix, Is, IsSubtypeOf } from "./flags/type_utils.js";
47
+ import { IncompatibleFlagsError, RuntimeCapabilities, SupportedRequirement, checkBlockFlag, extractAllRequirements, extractAllSupports } from "./flags/flag_utils.js";
48
+ import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./services/service_capabilities.js";
51
49
  import { DriverKit } from "./driver_kit.js";
52
- import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, ResultOrError, SerializedError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
50
+ import { createUiServiceInjectors } from "./services/service_injector_factory.js";
51
+ import { SERVICE_METHOD_MAP, UiServiceInjectorMap, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
52
+ import "./services/index.js";
53
+ import { AllRequiresFeatureFlags, AllSupportsFeatureFlags, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./flags/block_flags.js";
54
+ import "./flags/index.js";
55
+ import { BlockCodeWithInfo, Code } from "./bmodel/code.js";
56
+ import { BlockRenderingMode } from "./bmodel/types.js";
57
+ import { BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, extractCodeWithInfo } from "./bmodel/block_config.js";
58
+ import { BlockConfigContainer } from "./bmodel/container.js";
59
+ import { extractConfigGeneric } from "./bmodel/normalization.js";
60
+ import "./bmodel/index.js";
61
+ import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, ResultOrError, SerializedError, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
53
62
  import { PlId, PlIdBytes, PlIdLength, digestPlId, plId, uniquePlId } from "./plid.js";
54
63
  import { ValueWithUTag, ValueWithUTagAndAuthor } from "./utag.js";
55
64
  import { ValueOrError, mapValueInVOE } from "./value_or_error.js";
@@ -57,4 +66,4 @@ import { Base64Compatible, Base64Encoded, base64Decode, base64Encode } from "./b
57
66
  import { assertNever, uniqueBy } from "./util.js";
58
67
  import { BasicHttpAuth, HttpAuth, parseHttpAuth, serializeHttpAuth } from "./httpAuth.js";
59
68
  import { ResourceTypeName, ResourceTypePrefix } from "./resource_types.js";
60
- export { AAxisSelector, ADomain, AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredIdDeriver, AnchoredPColumnId, AnchoredPColumnSelector, Annotation, AnnotationJson, AnyFunction, AnyLogHandle, ArchiveFormat, ArrayTypeUnion, ArtificialColumnJoinEntry, Assert, AssertKeysEqual, AuthorMarker, AxesId, AxesSpec, AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, AxisId, AxisQualification, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, Base64Compatible, Base64Encoded, BasicHttpAuth, BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, BlobDriver, BlobHandleAndSize, BlobLike, BlobToURLDriver, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags, BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockOutputsBase, BlockRenderingMode, BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, BlockState, BlockStateV3, BlockUIURL, Branded, CalculateTableDataRequest, CalculateTableDataResponse, CanonicalizedJson, ChunkedStreamReader, ChunkedStreamReaderOptions, Code, ColumnAxesWithQualifications, ColumnFilter, ColumnJoinEntry, ColumnValueType, CompositeLinkerMap, ConstantAxisFilter, ContentHandler, DataExprAxisRef, DataExprColumnRef, DataInfo, DataInfoEntries, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DefaultNavigationState, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, Domain, DomainJson, DriverKit, ErrorHandlerStatus, FileLike, FileRange, FilterKeysByPrefix, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilteredPColumn, FilteredPColumnId, FindColumnsRequest, FindColumnsResponse, FolderURL, FrontendDriver, FullJoin, FullPTableColumnData, GetContentOptions, HttpAuth, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ImportProgress, ImportStatus, IncompatibleFlagsError, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, InlineColumnJoinEntry, InnerJoin, Is, IsSubtypeOf, JoinEntry, JsonCompatible, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, JsonSerializable, LegacyAxisSelector, LinkerMap, ListFilesResult, ListOptionBase, LiveLogHandle, LocalBlobHandle, LocalBlobHandleAndSize, LocalImportFileHandle, LogsDriver, LsDriver, LsEntry, MatcherMap, Metadata, MetadataJson, MultiAxisSelector, MultiColumnSelector, NativePObjectId, NavigationState, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, Option, OuterJoin, OutputWithStatus, PAxisName, PColumn, PColumnDataEntry, PColumnIdAndSpec, PColumnInfo, PColumnKey, PColumnLazy, PColumnName, PColumnSelector, PColumnSpec, PColumnSpecId, PColumnValue, PColumnValues, PColumnValuesEntry, PDataColumnSpec, PFrame, PFrameDef, PFrameDriver, PFrameDriverError, PFrameError, PFrameHandle, PFrameSpecDriver, PFrameSpecDriverError, PObject, PObjectId, PObjectSpec, PSpecPredicate, PTable, PTableAbsent, PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, PTableDef, PTableDefV2, PTableHandle, PTableNA, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableShape, PTableSorting, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PUniversalColumnSpec, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, PlId, PlIdBytes, PlIdLength, PlRef, ProgressLogWithInfo, RangeBytes, ReadyLogHandle, Ref, RemoteBlobHandle, RemoteBlobHandleAndSize, ResolveAnchorsOptions, ResourceTypeName, ResourceTypePrefix, ResultCollection, ResultOrError, ResultPoolEntry, RootFilterSpec, RuntimeCapabilities, SUniversalPColumnId, SerializedError, SingleAxisSelector, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, SpecExprAxisRef, SpecExprColumnRef, SpecFrameHandle, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, StringMatcher, StringifiedJson, SupportedRequirement, TableRange, UiError, UniqueValuesRequest, UniqueValuesResponse, UniversalPColumnId, ValueOrError, ValueType, ValueTypeSupported, ValueWithUTag, ValueWithUTagAndAuthor, assertNever, base64Decode, base64Encode, bigintReplacer, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isLabelColumn, isLinkerColumn, isLiveLog, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableAbsent, isPTableNA, isPTableValueAxis, isPartitionedDataInfoEntries, isPlRef, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnchors, serializeError, serializeHttpAuth, serializeResult, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
69
+ export { AAxisSelector, ADomain, AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredIdDeriver, AnchoredPColumnId, AnchoredPColumnSelector, Annotation, AnnotationJson, AnyFunction, AnyLogHandle, ArchiveFormat, ArrayTypeUnion, ArtificialColumnJoinEntry, Assert, AssertKeysEqual, AuthorMarker, AxesId, AxesSpec, AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, AxisId, AxisQualification, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, Base64Compatible, Base64Encoded, BasicHttpAuth, BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, BlobDriver, BlobHandleAndSize, BlobLike, BlobToURLDriver, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags, BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockOutputsBase, BlockRenderingMode, BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, BlockState, BlockStateV3, BlockUIURL, Branded, CalculateTableDataRequest, CalculateTableDataResponse, CanonicalizedJson, ChunkedStreamReader, ChunkedStreamReaderOptions, Code, ColumnAxesWithQualifications, ColumnFilter, ColumnJoinEntry, ColumnValueType, CompositeLinkerMap, ConstantAxisFilter, ContentHandler, DataExprAxisRef, DataExprColumnRef, DataInfo, DataInfoEntries, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DefaultNavigationState, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, Domain, DomainJson, DriverKit, ErrorHandlerStatus, EvaluateQueryResponse, FileLike, FileRange, FilterKeysByPrefix, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilteredPColumn, FilteredPColumnId, FindColumnsRequest, FindColumnsResponse, FolderURL, FrontendDriver, FullJoin, FullPTableColumnData, GetContentOptions, HttpAuth, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ImportProgress, ImportStatus, IncompatibleFlagsError, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, InferServiceKind, InferServiceModel, InferServiceUi, InlineColumnJoinEntry, InnerJoin, Is, IsSubtypeOf, JoinEntry, JsonCompatible, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, JsonSerializable, KnownServiceName, LegacyAxisSelector, LinkerMap, ListFilesResult, ListOptionBase, LiveLogHandle, LocalBlobHandle, LocalBlobHandleAndSize, LocalImportFileHandle, LogsDriver, LsDriver, LsEntry, MatcherMap, Metadata, MetadataJson, ModelServiceFactoryMap, ModelServiceRegistry, ModelServices, MultiAxisSelector, MultiColumnSelector, NativePObjectId, NavigationState, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, Option, OuterJoin, OutputWithStatus, PAxisName, PColumn, PColumnDataEntry, PColumnIdAndSpec, PColumnInfo, PColumnKey, PColumnLazy, PColumnName, PColumnSelector, PColumnSpec, PColumnSpecId, PColumnValue, PColumnValues, PColumnValuesEntry, PDataColumnSpec, PFrame, PFrameDef, PFrameDriver, PFrameDriverError, PFrameError, PFrameHandle, PFrameModelDriver, PFrameSpecDriver, PFrameSpecDriverError, PObject, PObjectId, PObjectSpec, PSpecPredicate, PTable, PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, PTableDef, PTableDefV2, PTableHandle, PTableNA, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableShape, PTableSorting, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PUniversalColumnSpec, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntry, PoolEntryGuard, ProgressLogWithInfo, RangeBytes, ReadyLogHandle, Ref, RemoteBlobHandle, RemoteBlobHandleAndSize, RequireServices, ResolveAnchorsOptions, ResourceTypeName, ResourceTypePrefix, ResultCollection, ResultOrError, ResultPoolEntry, RootFilterSpec, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, SUniversalPColumnId, SerializedError, ServiceAlreadyRegisteredError, ServiceBrand, ServiceDispatch, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceName, ServiceNameLiterals, ServiceNotRegisteredError, ServiceRequireFlags, ServiceType, ServiceTypesLike, Services, SingleAxisSelector, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, SpecExprAxisRef, SpecExprColumnRef, SpecFrameHandle, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, StringMatcher, StringifiedJson, SupportedRequirement, TableRange, UiError, UiServiceFactoryMap, UiServiceInjectorMap, UiServiceRegistry, UiServices, UniqueValuesRequest, UniqueValuesResponse, UniversalPColumnId, ValueOrError, ValueType, ValueTypeSupported, ValueWithUTag, ValueWithUTagAndAuthor, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
package/dist/index.js CHANGED
@@ -8,10 +8,10 @@ import { isLiveLog } from "./drivers/log.js";
8
8
  import { assertNever, uniqueBy } from "./util.js";
9
9
  import { getFileNameFromHandle, getFilePathFromHandle, isImportFileHandleIndex, isImportFileHandleUpload } from "./drivers/ls.js";
10
10
  import { dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./drivers/pframe/data_info.js";
11
- import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
11
+ import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
12
12
  import { bigintReplacer, canonicalizeJson, parseJson, stringifyJson } from "./json.js";
13
- import { Annotation, AnnotationJson, Domain, DomainJson, PAxisName, PColumnName, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow } from "./drivers/pframe/spec/spec.js";
14
- import { PTableAbsent, PTableNA, isPTableAbsent, isPTableNA, isPTableValueAxis, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
13
+ import { Annotation, AnnotationJson, Domain, DomainJson, PAxisName, PColumnName, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnnotationParents } from "./drivers/pframe/spec/spec.js";
14
+ import { PTableNA, isPTableNA, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
15
15
  import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./drivers/pframe/query/utils.js";
16
16
  import { mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./drivers/pframe/table_calculate.js";
17
17
  import { getPTableColumnId } from "./drivers/pframe/table_common.js";
@@ -34,5 +34,13 @@ import { mapValueInVOE } from "./value_or_error.js";
34
34
  import { base64Decode, base64Encode } from "./base64.js";
35
35
  import { parseHttpAuth, serializeHttpAuth } from "./httpAuth.js";
36
36
  import { ResourceTypeName, ResourceTypePrefix } from "./resource_types.js";
37
+ import { isNodeService, service, serviceFnKey } from "./services/service_types.js";
38
+ import { ModelServiceRegistry, UiServiceRegistry } from "./services/service_registry.js";
39
+ import { Services } from "./services/service_declarations.js";
40
+ import { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./services/service_capabilities.js";
41
+ import { createUiServiceInjectors } from "./services/service_injector_factory.js";
42
+ import { SERVICE_METHOD_MAP, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
43
+ import "./services/index.js";
44
+ import { PoolEntryGuard } from "./pool_entry.js";
37
45
 
38
- export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableAbsent, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, UiError, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isLabelColumn, isLinkerColumn, isLiveLog, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableAbsent, isPTableNA, isPTableValueAxis, isPartitionedDataInfoEntries, isPlRef, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnchors, serializeError, serializeHttpAuth, serializeResult, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
46
+ export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, ModelServiceRegistry, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntryGuard, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, Services, UiError, UiServiceRegistry, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
@@ -1,6 +1,6 @@
1
- import { PObjectSpec } from "./spec.js";
2
1
  import { AxisId } from "../drivers/pframe/spec/spec.js";
3
2
  import "../drivers/index.js";
3
+ import { PObjectSpec } from "./spec.js";
4
4
 
5
5
  //#region src/pool/query.d.ts
6
6
  type PSpecPredicate = {
@@ -0,0 +1,30 @@
1
+
2
+ //#region src/pool_entry.ts
3
+ /**
4
+ * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
5
+ * unless `keep()` is called to transfer ownership to the caller.
6
+ */
7
+ var PoolEntryGuard = class {
8
+ kept = false;
9
+ constructor(entry) {
10
+ this.entry = entry;
11
+ }
12
+ get key() {
13
+ return this.entry.key;
14
+ }
15
+ get resource() {
16
+ return this.entry.resource;
17
+ }
18
+ /** Disarm the guard — caller takes ownership of the entry. */
19
+ keep() {
20
+ this.kept = true;
21
+ return this.entry;
22
+ }
23
+ [Symbol.dispose]() {
24
+ if (!this.kept) this.entry.unref();
25
+ }
26
+ };
27
+
28
+ //#endregion
29
+ exports.PoolEntryGuard = PoolEntryGuard;
30
+ //# sourceMappingURL=pool_entry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool_entry.cjs","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,AAAQ,OAAO;CAEf,YAAY,AAAS,OAAwB;EAAxB;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
@@ -0,0 +1,30 @@
1
+ //#region src/pool_entry.d.ts
2
+ interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {
3
+ /** Resource key, calculated using provided `calculateParamsKey` function */
4
+ readonly key: K;
5
+ /** Resource itself created by `createNewResource` function */
6
+ readonly resource: R;
7
+ /**
8
+ * Release the reference. Idempotent.
9
+ * Same as `[Symbol.dispose]()` — provided as a named function
10
+ * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).
11
+ */
12
+ readonly unref: () => void;
13
+ }
14
+ /**
15
+ * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
16
+ * unless `keep()` is called to transfer ownership to the caller.
17
+ */
18
+ declare class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {
19
+ readonly entry: PoolEntry<K, R>;
20
+ private kept;
21
+ constructor(entry: PoolEntry<K, R>);
22
+ get key(): K;
23
+ get resource(): R;
24
+ /** Disarm the guard — caller takes ownership of the entry. */
25
+ keep(): PoolEntry<K, R>;
26
+ [Symbol.dispose](): void;
27
+ }
28
+ //#endregion
29
+ export { PoolEntry, PoolEntryGuard };
30
+ //# sourceMappingURL=pool_entry.d.ts.map
@@ -0,0 +1,29 @@
1
+ //#region src/pool_entry.ts
2
+ /**
3
+ * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
4
+ * unless `keep()` is called to transfer ownership to the caller.
5
+ */
6
+ var PoolEntryGuard = class {
7
+ kept = false;
8
+ constructor(entry) {
9
+ this.entry = entry;
10
+ }
11
+ get key() {
12
+ return this.entry.key;
13
+ }
14
+ get resource() {
15
+ return this.entry.resource;
16
+ }
17
+ /** Disarm the guard — caller takes ownership of the entry. */
18
+ keep() {
19
+ this.kept = true;
20
+ return this.entry;
21
+ }
22
+ [Symbol.dispose]() {
23
+ if (!this.kept) this.entry.unref();
24
+ }
25
+ };
26
+
27
+ //#endregion
28
+ export { PoolEntryGuard };
29
+ //# sourceMappingURL=pool_entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool_entry.js","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,AAAQ,OAAO;CAEf,YAAY,AAAS,OAAwB;EAAxB;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
@@ -0,0 +1,6 @@
1
+ const require_service_types = require('./service_types.cjs');
2
+ const require_service_registry = require('./service_registry.cjs');
3
+ const require_service_declarations = require('./service_declarations.cjs');
4
+ const require_service_capabilities = require('./service_capabilities.cjs');
5
+ const require_service_injector_factory = require('./service_injector_factory.cjs');
6
+ const require_service_injectors = require('./service_injectors.cjs');
@@ -0,0 +1,6 @@
1
+ import { Services } from "./service_declarations.js";
2
+ import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, isNodeService, service, serviceFnKey } from "./service_types.js";
3
+ import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
4
+ import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
5
+ import { createUiServiceInjectors } from "./service_injector_factory.js";
6
+ import { SERVICE_METHOD_MAP, UiServiceInjectorMap, buildServiceInfo, resolveUiInjector } from "./service_injectors.js";
@@ -0,0 +1,6 @@
1
+ import { isNodeService, service, serviceFnKey } from "./service_types.js";
2
+ import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
3
+ import { Services } from "./service_declarations.js";
4
+ import { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
5
+ import { createUiServiceInjectors } from "./service_injector_factory.js";
6
+ import { SERVICE_METHOD_MAP, buildServiceInfo, resolveUiInjector } from "./service_injectors.js";
@@ -0,0 +1,51 @@
1
+ const require_service_declarations = require('./service_declarations.cjs');
2
+
3
+ //#region src/services/service_capabilities.ts
4
+ /**
5
+ * All service-related `requires*` capability flag names, auto-derived from Services.
6
+ * Single source of truth — use this everywhere runtime capabilities are registered.
7
+ */
8
+ const SERVICE_CAPABILITY_FLAGS = Object.keys(require_service_declarations.Services).map((key) => `requires${key}`);
9
+ /**
10
+ * Register all service capability flags with the given callback.
11
+ * Works with both `RuntimeCapabilities.addSupportedRequirement`
12
+ * and `MiddleLayer.addRuntimeCapability`.
13
+ */
14
+ function registerServiceCapabilities(register) {
15
+ for (const flag of SERVICE_CAPABILITY_FLAGS) register(flag, true);
16
+ }
17
+ /**
18
+ * Resolve which services are required by the given feature flags.
19
+ * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags
20
+ * (from middle layer) and Zod-parsed records (from preload).
21
+ */
22
+ function resolveRequiredServices(flags) {
23
+ if (!flags) return [];
24
+ return Object.keys(require_service_declarations.Services).filter((key) => flags[`requires${key}`] === true).map((key) => require_service_declarations.Services[key]);
25
+ }
26
+ function isKnownServiceName(name) {
27
+ return Object.values(require_service_declarations.Services).some((v) => v === name);
28
+ }
29
+ /** All service require flags set to true, auto-generated from Services.
30
+ * Used to distinguish service-related feature flags from non-service flags. */
31
+ const SERVICE_FEATURE_FLAGS = Object.fromEntries(Object.keys(require_service_declarations.Services).map((key) => [`requires${key}`, true]));
32
+ /** Introspect method names on an instance (including prototype chain).
33
+ * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */
34
+ function getMethodNames(instance) {
35
+ const methods = /* @__PURE__ */ new Set();
36
+ let proto = instance;
37
+ while (proto && proto !== Object.prototype) {
38
+ for (const key of Object.getOwnPropertyNames(proto)) if (key !== "constructor" && typeof Object.getOwnPropertyDescriptor(proto, key)?.value === "function") methods.add(key);
39
+ proto = Object.getPrototypeOf(proto);
40
+ }
41
+ return [...methods];
42
+ }
43
+
44
+ //#endregion
45
+ exports.SERVICE_CAPABILITY_FLAGS = SERVICE_CAPABILITY_FLAGS;
46
+ exports.SERVICE_FEATURE_FLAGS = SERVICE_FEATURE_FLAGS;
47
+ exports.getMethodNames = getMethodNames;
48
+ exports.isKnownServiceName = isKnownServiceName;
49
+ exports.registerServiceCapabilities = registerServiceCapabilities;
50
+ exports.resolveRequiredServices = resolveRequiredServices;
51
+ //# sourceMappingURL=service_capabilities.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service_capabilities.cjs","names":["Services"],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAKA,sCAAS,CAAC,KAC5F,QAAQ,WAAW,MACrB;;;;;;AAOD,SAAgB,4BACd,UACM;AACN,MAAK,MAAM,QAAQ,yBACjB,UAAS,MAAM,KAAK;;;;;;;AASxB,SAAgB,wBAAwB,OAA2D;AACjG,KAAI,CAAC,MAAO,QAAO,EAAE;AACrB,QAAQ,OAAO,KAAKA,sCAAS,CAC1B,QAAQ,QAAQ,MAAM,WAAW,WAAW,KAAK,CACjD,KAAK,QAAQA,sCAAS,KAAK;;AAKhC,SAAgB,mBAAmB,MAAwC;AACzE,QAAO,OAAO,OAAOA,sCAAS,CAAC,MAAM,MAAM,MAAM,KAAK;;;;AAKxD,MAAa,wBACX,OAAO,YAAY,OAAO,KAAKA,sCAAS,CAAC,KAAK,QAAQ,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC;;;AAIlF,SAAgB,eAAiC,UAAuB;CACtE,MAAM,0BAAU,IAAI,KAAa;CACjC,IAAI,QAAuB;AAC3B,QAAO,SAAS,UAAU,OAAO,WAAW;AAC1C,OAAK,MAAM,OAAO,OAAO,oBAAoB,MAAM,CAEjD,KAAI,QAAQ,iBAAiB,OADV,OAAO,yBAAyB,OAAO,IAAI,EACd,UAAU,WACxD,SAAQ,IAAI,IAAI;AAGpB,UAAQ,OAAO,eAAe,MAAM;;AAEtC,QAAO,CAAC,GAAG,QAAQ"}
@@ -0,0 +1,33 @@
1
+ import { Services } from "./service_declarations.js";
2
+ import { ServiceName, ServiceRequireFlags } from "./service_types.js";
3
+ import { SupportedRequirement } from "../flags/flag_utils.js";
4
+
5
+ //#region src/services/service_capabilities.d.ts
6
+ /**
7
+ * All service-related `requires*` capability flag names, auto-derived from Services.
8
+ * Single source of truth — use this everywhere runtime capabilities are registered.
9
+ */
10
+ declare const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[];
11
+ /**
12
+ * Register all service capability flags with the given callback.
13
+ * Works with both `RuntimeCapabilities.addSupportedRequirement`
14
+ * and `MiddleLayer.addRuntimeCapability`.
15
+ */
16
+ declare function registerServiceCapabilities(register: (flag: SupportedRequirement, value: true) => void): void;
17
+ /**
18
+ * Resolve which services are required by the given feature flags.
19
+ * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags
20
+ * (from middle layer) and Zod-parsed records (from preload).
21
+ */
22
+ declare function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[];
23
+ type KnownServiceName = (typeof Services)[keyof typeof Services] & string;
24
+ declare function isKnownServiceName(name: string): name is KnownServiceName;
25
+ /** All service require flags set to true, auto-generated from Services.
26
+ * Used to distinguish service-related feature flags from non-service flags. */
27
+ declare const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true };
28
+ /** Introspect method names on an instance (including prototype chain).
29
+ * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */
30
+ declare function getMethodNames<T extends object>(instance: T): string[];
31
+ //#endregion
32
+ export { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices };
33
+ //# sourceMappingURL=service_capabilities.d.ts.map
@@ -0,0 +1,46 @@
1
+ import { Services } from "./service_declarations.js";
2
+
3
+ //#region src/services/service_capabilities.ts
4
+ /**
5
+ * All service-related `requires*` capability flag names, auto-derived from Services.
6
+ * Single source of truth — use this everywhere runtime capabilities are registered.
7
+ */
8
+ const SERVICE_CAPABILITY_FLAGS = Object.keys(Services).map((key) => `requires${key}`);
9
+ /**
10
+ * Register all service capability flags with the given callback.
11
+ * Works with both `RuntimeCapabilities.addSupportedRequirement`
12
+ * and `MiddleLayer.addRuntimeCapability`.
13
+ */
14
+ function registerServiceCapabilities(register) {
15
+ for (const flag of SERVICE_CAPABILITY_FLAGS) register(flag, true);
16
+ }
17
+ /**
18
+ * Resolve which services are required by the given feature flags.
19
+ * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags
20
+ * (from middle layer) and Zod-parsed records (from preload).
21
+ */
22
+ function resolveRequiredServices(flags) {
23
+ if (!flags) return [];
24
+ return Object.keys(Services).filter((key) => flags[`requires${key}`] === true).map((key) => Services[key]);
25
+ }
26
+ function isKnownServiceName(name) {
27
+ return Object.values(Services).some((v) => v === name);
28
+ }
29
+ /** All service require flags set to true, auto-generated from Services.
30
+ * Used to distinguish service-related feature flags from non-service flags. */
31
+ const SERVICE_FEATURE_FLAGS = Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true]));
32
+ /** Introspect method names on an instance (including prototype chain).
33
+ * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */
34
+ function getMethodNames(instance) {
35
+ const methods = /* @__PURE__ */ new Set();
36
+ let proto = instance;
37
+ while (proto && proto !== Object.prototype) {
38
+ for (const key of Object.getOwnPropertyNames(proto)) if (key !== "constructor" && typeof Object.getOwnPropertyDescriptor(proto, key)?.value === "function") methods.add(key);
39
+ proto = Object.getPrototypeOf(proto);
40
+ }
41
+ return [...methods];
42
+ }
43
+
44
+ //#endregion
45
+ export { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices };
46
+ //# sourceMappingURL=service_capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service_capabilities.js","names":[],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAK,SAAS,CAAC,KAC5F,QAAQ,WAAW,MACrB;;;;;;AAOD,SAAgB,4BACd,UACM;AACN,MAAK,MAAM,QAAQ,yBACjB,UAAS,MAAM,KAAK;;;;;;;AASxB,SAAgB,wBAAwB,OAA2D;AACjG,KAAI,CAAC,MAAO,QAAO,EAAE;AACrB,QAAQ,OAAO,KAAK,SAAS,CAC1B,QAAQ,QAAQ,MAAM,WAAW,WAAW,KAAK,CACjD,KAAK,QAAQ,SAAS,KAAK;;AAKhC,SAAgB,mBAAmB,MAAwC;AACzE,QAAO,OAAO,OAAO,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK;;;;AAKxD,MAAa,wBACX,OAAO,YAAY,OAAO,KAAK,SAAS,CAAC,KAAK,QAAQ,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC;;;AAIlF,SAAgB,eAAiC,UAAuB;CACtE,MAAM,0BAAU,IAAI,KAAa;CACjC,IAAI,QAAuB;AAC3B,QAAO,SAAS,UAAU,OAAO,WAAW;AAC1C,OAAK,MAAM,OAAO,OAAO,oBAAoB,MAAM,CAEjD,KAAI,QAAQ,iBAAiB,OADV,OAAO,yBAAyB,OAAO,IAAI,EACd,UAAU,WACxD,SAAQ,IAAI,IAAI;AAGpB,UAAQ,OAAO,eAAe,MAAM;;AAEtC,QAAO,CAAC,GAAG,QAAQ"}
@@ -0,0 +1,17 @@
1
+ const require_service_types = require('./service_types.cjs');
2
+
3
+ //#region src/services/service_declarations.ts
4
+ const Services = {
5
+ PFrameSpec: require_service_types.service()({
6
+ type: "wasm",
7
+ name: "pframeSpec"
8
+ }),
9
+ PFrame: require_service_types.service()({
10
+ type: "node",
11
+ name: "pframe"
12
+ })
13
+ };
14
+
15
+ //#endregion
16
+ exports.Services = Services;
17
+ //# sourceMappingURL=service_declarations.cjs.map