@dudousxd/nestjs-catalog 0.25.0 → 0.27.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.
@@ -229,6 +229,67 @@ export interface CatalogReadStore {
229
229
  read(type: CatalogObjectTypeDef, fields: string[], query: CatalogReadQuery): Promise<CatalogReadResult>;
230
230
  listSnapshots?(type: CatalogObjectTypeDef): Promise<SnapshotRef[]>;
231
231
  }
232
+ /**
233
+ * A store that can hand over the whole of one snapshot, a row at a time.
234
+ *
235
+ * ## What this is for, and why `read` was not enough
236
+ *
237
+ * A workflow reading data the catalog already holds. Until this existed the only
238
+ * route was a `sql` connector naming `obj_<type>` — the physical table, which
239
+ * **retains every committed snapshot** — so a graph reading a type with two
240
+ * loads behind it read both, reported success, and doubled every sum while
241
+ * leaving the row count it wrote unchanged. See `CONNECTOR_KINDS`' `'catalog'`
242
+ * entry for the measurement.
243
+ *
244
+ * {@link CatalogReadStore.read} resolves "current" correctly and could be paged.
245
+ * It is not the right tool for a whole dataset, for two separate reasons:
246
+ *
247
+ * - **A page is `LIMIT`/`OFFSET`.** Reading seven million rows in pages makes the
248
+ * engine walk the offset each time, so the cost is quadratic in the size of
249
+ * the thing being read. That is not a tuning detail here — the row counts this
250
+ * feature exists for are exactly the ones that make it fatal.
251
+ * - **Paging is only correct under a total order**, and `read` does not promise
252
+ * one: a store free to return "some page of the matching rows" would let a
253
+ * paged loop skip and duplicate rows silently, which is the same class of
254
+ * failure this whole feature is repairing.
255
+ *
256
+ * ## Optional, and the option is the store's to take
257
+ *
258
+ * Exactly as {@link CatalogQueryStore.streamQuery} is, and for the same reason: a
259
+ * store fronting an API, or one on a driver that buffers a result set before
260
+ * resolving, cannot do this honestly, and a shim that collected every row and
261
+ * yielded them back would satisfy the type while doing the one thing the type
262
+ * exists to avoid. So an absent `streamSnapshot` is a real answer, and the
263
+ * caller refuses out loud rather than falling back to a paged read — a fallback
264
+ * whose two hazards are listed above.
265
+ *
266
+ * The contract on an implementation is one sentence: **do not read ahead of the
267
+ * consumer.** Whatever the driver offers must pause when the consumer stops
268
+ * pulling, all the way to the socket, or the memory has only moved.
269
+ */
270
+ export interface CatalogSnapshotStreamStore extends CatalogReadStore {
271
+ /**
272
+ * Every row of one snapshot, keyed by property name.
273
+ *
274
+ * `snapshotId` is required and never defaulted, which is the whole shape of
275
+ * the fix: the caller resolves which snapshot is current — once, when its run
276
+ * starts — and then reads *that one*, so a commit landing mid-read cannot have
277
+ * the first half of a load come from one snapshot and the second half from
278
+ * another. A store with no id to be given has nothing to stream.
279
+ *
280
+ * Keys are property names, matching what {@link CatalogReadStore.read} returns
281
+ * and what the write path looks a field up by (`row[property.name]`), so rows
282
+ * read out of one type can be written into another without a translation step
283
+ * that could disagree with either side.
284
+ *
285
+ * Returned synchronously — an async generator, not a promise for one — so a
286
+ * consumer's `for await` owns the resource from the first pull and an
287
+ * abandoned iteration runs the generator's `finally`.
288
+ */
289
+ streamSnapshot(type: CatalogObjectTypeDef, fields: string[], snapshotId: string): AsyncIterable<Record<string, unknown>>;
290
+ }
291
+ /** A store that can stream a whole snapshot. See {@link CatalogSnapshotStreamStore}. */
292
+ export declare function supportsSnapshotStreams(store: unknown): store is CatalogSnapshotStreamStore;
232
293
  /** A store that owns its copy of the data and can be loaded into. */
233
294
  export interface CatalogWriteStore extends CatalogReadStore {
234
295
  /**
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CATALOG_STORE = exports.CatalogColumnCollisionError = exports.UnsafeIdentifierError = exports.physicalColumn = exports.outputAlias = exports.isSafeIdentifier = exports.assertSafeIdentifier = exports.CATALOG_RESERVED_COLUMNS = exports.CATALOG_SNAPSHOT_MODES = void 0;
4
4
  exports.isCatalogStoreCapabilities = isCatalogStoreCapabilities;
5
5
  exports.supportsObjectFilters = supportsObjectFilters;
6
+ exports.supportsSnapshotStreams = supportsSnapshotStreams;
6
7
  exports.isReservedColumn = isReservedColumn;
7
8
  exports.findColumnCollisions = findColumnCollisions;
8
9
  exports.assertNoColumnCollisions = assertNoColumnCollisions;
@@ -53,6 +54,12 @@ function supportsObjectFilters(store) {
53
54
  store !== null &&
54
55
  Array.isArray(Reflect.get(store, 'objectFilterOperators')));
55
56
  }
57
+ /** A store that can stream a whole snapshot. See {@link CatalogSnapshotStreamStore}. */
58
+ function supportsSnapshotStreams(store) {
59
+ return (typeof store === 'object' &&
60
+ store !== null &&
61
+ typeof Reflect.get(store, 'streamSnapshot') === 'function');
62
+ }
56
63
  /**
57
64
  * The columns a snapshot-emulating store adds to every object table.
58
65
  *
package/dist/client.d.ts CHANGED
@@ -153,9 +153,9 @@ export declare const catalogRoutes: {
153
153
  readonly traces: () => string;
154
154
  readonly trace: (id: string) => string;
155
155
  };
156
- export type { CatalogConnection, CatalogConnector, ConnectionCheck, CatalogTransform, CatalogTransformFunction, CatalogTransformInput, CatalogRecordTransformFunction, CatalogRecordTransformInput, CatalogWorkflow, CatalogWorkflowCapabilities, CatalogWorkflowRelease, ConnectorKind, ConnectorRun, TransformLanguage, TransformMode, TransformResult, CallableWorkflowRef, WorkflowBranchLabel, WorkflowCallEnvelope, WorkflowCallMode, WorkflowCallNode, WorkflowCallOutput, WorkflowEdge, WorkflowExecutionMode, WorkflowFilterAll, WorkflowFilterAny, WorkflowFilterComparison, WorkflowFilterGroup, WorkflowFilterNode, WorkflowFilterOneOf, WorkflowFilterOperator, WorkflowFilterPredicate, WorkflowFilterPredicateKind, WorkflowFilterPresence, WorkflowFilterValue, WorkflowGraph, WorkflowEnvPredicate, WorkflowIfNode, WorkflowIfPredicate, WorkflowIssueCode, WorkflowNode, WorkflowNodeKind, WorkflowNodeOutcome, WorkflowPredicateKind, WorkflowRenameNode, WorkflowRenameUnnamed, WorkflowRowCountPredicate, WorkflowRunOrderEntry, WorkflowSinkNode, WorkflowSkipReason, WorkflowSourceNode, WorkflowStageRef, WorkflowTransformNode, WorkflowValidationIssue, CatalogReusableNode, CatalogReusableNodeUse, ReusableNodeBody, ReusableNodeKind, ReusableNodeRef, ReusableSinkBody, ReusableSourceBody, SourceFormat, VersionPinCopy, } from './catalog.pipeline';
156
+ export type { CatalogConnection, CatalogConnector, ConnectionCheck, CatalogTransform, CatalogTransformFunction, CatalogTransformInput, CatalogRecordTransformFunction, CatalogRecordTransformInput, CatalogWorkflow, CatalogWorkflowCapabilities, CatalogWorkflowRelease, ConnectorKind, ConnectorRun, TransformLanguage, TransformMode, TransformResult, CallableWorkflowRef, WorkflowBranchLabel, WorkflowCallEnvelope, WorkflowCallMode, WorkflowCallNode, WorkflowCallOutput, WorkflowEdge, WorkflowExecutionMode, WorkflowFilterAll, WorkflowFilterAny, WorkflowAggregate, WorkflowAggregateFunction, WorkflowAggregateNode, WorkflowFilterComparison, WorkflowFilterGroup, WorkflowFilterNode, WorkflowFilterOneOf, WorkflowFilterOperator, WorkflowFilterPredicate, WorkflowFilterPredicateKind, WorkflowFilterPresence, WorkflowFilterValue, WorkflowGraph, WorkflowEnvPredicate, WorkflowIfNode, WorkflowIfPredicate, WorkflowIssueCode, WorkflowNode, WorkflowNodeKind, WorkflowNodeOutcome, WorkflowPredicateKind, WorkflowRenameNode, WorkflowRenameUnnamed, WorkflowRowCountPredicate, WorkflowRunOrderEntry, WorkflowSinkNode, WorkflowSkipReason, WorkflowSourceNode, WorkflowStageRef, WorkflowTransformNode, WorkflowValidationIssue, CatalogReusableNode, CatalogReusableNodeUse, ReusableNodeBody, ReusableNodeKind, ReusableNodeRef, ReusableSinkBody, ReusableSourceBody, SourceFormat, VersionPinCopy, } from './catalog.pipeline';
157
157
  export { type TransformShape, transformDeclaresModule, transformShape, } from './transform-shape';
158
- export { CONNECTOR_KINDS, isConnectorKind, isSourceFormat, isTransformLanguage, isTransformMode, TRANSFORM_MODES, transformMode, recordModeRefusal, SOURCE_FORMATS, isWorkflowEdge, isWorkflowNode, liveWorkflowVersion, REDACTED_SECRET, TRANSFORM_LANGUAGES, readWorkflowCallOutput, WORKFLOW_CALL_CONTRACT, WORKFLOW_CALL_MODES, isWorkflowCallMode, unreachableCallMode, workflowCallMode, applyReusableNode, reusableNodeBodyOf, isReusableNodeBody, isReusableNodeKind, REUSABLE_NODE_KINDS, NODE_KIND_IS_REUSABLE, nodeKindIsReusable, unreachableReusableNodeKind, describeLiveVersion, describeVersionPin, } from './catalog.pipeline';
158
+ export { CATALOG_SOURCE_TYPE_KEY, CONNECTOR_KINDS, isConnectorKind, isSourceFormat, isTransformLanguage, isTransformMode, TRANSFORM_MODES, transformMode, recordModeRefusal, SOURCE_FORMATS, isWorkflowEdge, isWorkflowNode, liveWorkflowVersion, REDACTED_SECRET, TRANSFORM_LANGUAGES, readWorkflowCallOutput, WORKFLOW_CALL_CONTRACT, WORKFLOW_CALL_MODES, isWorkflowCallMode, unreachableCallMode, workflowCallMode, applyReusableNode, reusableNodeBodyOf, isReusableNodeBody, isReusableNodeKind, REUSABLE_NODE_KINDS, NODE_KIND_IS_REUSABLE, nodeKindIsReusable, unreachableReusableNodeKind, describeLiveVersion, describeVersionPin, } from './catalog.pipeline';
159
159
  /**
160
160
  * The workflow validator, shipped to the browser deliberately.
161
161
  *
@@ -183,8 +183,8 @@ export { CONNECTOR_KINDS, isConnectorKind, isSourceFormat, isTransformLanguage,
183
183
  * ends up drawn with its boxes overlapping — which is exactly what happened.
184
184
  */
185
185
  export { WORKFLOW_COLUMN_GAP, WORKFLOW_NODE_HEIGHT, WORKFLOW_NODE_WIDTH, WORKFLOW_ROW_GAP, workflowColumnX, workflowRowY, } from './catalog.pipeline';
186
- export { validateWorkflow, WORKFLOW_EXECUTION_MODES, WORKFLOW_ISSUE_CODES, WORKFLOW_NODE_ID_PATTERN, WORKFLOW_NODE_KINDS, WORKFLOW_BRANCH_LABELS, WORKFLOW_PREDICATE_KINDS, WORKFLOW_FILTER_COLUMN_PATTERN, WORKFLOW_FILTER_MAX_DEPTH, WORKFLOW_FILTER_MAX_VALUES, WORKFLOW_FILTER_OPERATORS, WORKFLOW_FILTER_PREDICATE_KINDS, WORKFLOW_RENAME_MAX_COLUMNS, WORKFLOW_RENAME_UNNAMED, WORKFLOW_SKIP_REASONS, isWorkflowBranchLabel, isWorkflowFilterOperator, isWorkflowFilterPredicate, isWorkflowFilterPredicateKind, isWorkflowFilterValue, isWorkflowIfPredicate, isWorkflowPredicateKind, isWorkflowRenameColumns, isWorkflowRenameUnnamed, isWorkflowSkipReason, workflowFilterColumns, workflowFilterMatches, renameColumnRefusals, workflowRenameUnnamed, workflowKnownColumns, workflowNarrowedTypes, workflowNodeRuns, unreachableFilterOperator, unreachableFilterPredicateKind, unreachableNodeKind, unreachablePredicateKind, unreachableRenameUnnamed, WORKFLOW_STATUSES, workflowGraphHash, workflowRunOrder, isWorkflowExecutionMode, isWorkflowNodeKind, isWorkflowStatus, callableWorkflowBlock, } from './catalog.pipeline';
187
- export type { CallableWorkflowBlock, CallableWorkflowDisagreement, WorkflowStatus, } from './catalog.pipeline';
186
+ export { validateWorkflow, WORKFLOW_EXECUTION_MODES, WORKFLOW_ISSUE_CODES, WORKFLOW_NODE_ID_PATTERN, WORKFLOW_NODE_KINDS, WORKFLOW_BRANCH_LABELS, WORKFLOW_PREDICATE_KINDS, WORKFLOW_FILTER_COLUMN_PATTERN, WORKFLOW_FILTER_MAX_DEPTH, WORKFLOW_FILTER_MAX_VALUES, WORKFLOW_FILTER_OPERATORS, WORKFLOW_FILTER_PREDICATE_KINDS, WORKFLOW_RENAME_MAX_COLUMNS, WORKFLOW_RENAME_UNNAMED, WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR, WORKFLOW_AGGREGATE_FUNCTIONS, WORKFLOW_AGGREGATE_GROUPS_CEILING, WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING, WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH, WORKFLOW_AGGREGATE_MAX_AGGREGATES, WORKFLOW_AGGREGATE_MAX_GROUP_BY, WORKFLOW_AGGREGATE_MAX_GROUPS, WORKFLOW_AGGREGATE_MAX_SEPARATOR, WORKFLOW_SKIP_REASONS, isWorkflowBranchLabel, isWorkflowFilterOperator, isWorkflowFilterPredicate, isWorkflowFilterPredicateKind, isWorkflowFilterValue, isWorkflowIfPredicate, isWorkflowPredicateKind, isWorkflowAggregateFunction, isWorkflowAggregates, isWorkflowRenameColumns, isWorkflowRenameUnnamed, isWorkflowSkipReason, workflowFilterColumns, workflowFilterMatches, renameColumnRefusals, workflowRenameUnnamed, aggregateRefusals, workflowAggregateColumns, workflowAggregateJoinMaxLength, workflowAggregateMaxGroups, workflowAggregateNeedsColumn, workflowAggregateOutputColumns, workflowAggregateSeparator, workflowKnownColumns, workflowSourceObjectType, workflowNarrowedTypes, workflowNodeRuns, unreachableFilterOperator, unreachableFilterPredicateKind, unreachableConnectorKind, unreachableNodeKind, unreachablePredicateKind, unreachableAggregateFunction, unreachableRenameUnnamed, WORKFLOW_STATUSES, workflowGraphHash, workflowRunOrder, isWorkflowExecutionMode, isWorkflowNodeKind, isWorkflowStatus, callableWorkflowBlock, } from './catalog.pipeline';
187
+ export type { CallableWorkflowBlock, CallableWorkflowDisagreement, WorkflowColumnKnowledge, WorkflowStatus, } from './catalog.pipeline';
188
188
  export type { CatalogTrace, CatalogTraceList, CatalogTraceOutcome, CatalogTraceSpan, TraceQuery, } from './catalog.workspace';
189
189
  export type { CatalogLoadExpectations, DeleteReconciliation, LoadExpectation, RowCountBound, StoredLoadExpectation, } from './catalog.pipeline';
190
190
  /**
package/dist/client.js CHANGED
@@ -11,8 +11,9 @@
11
11
  * types are.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.WORKFLOW_COLUMN_GAP = exports.describeVersionPin = exports.describeLiveVersion = exports.unreachableReusableNodeKind = exports.nodeKindIsReusable = exports.NODE_KIND_IS_REUSABLE = exports.REUSABLE_NODE_KINDS = exports.isReusableNodeKind = exports.isReusableNodeBody = exports.reusableNodeBodyOf = exports.applyReusableNode = exports.workflowCallMode = exports.unreachableCallMode = exports.isWorkflowCallMode = exports.WORKFLOW_CALL_MODES = exports.WORKFLOW_CALL_CONTRACT = exports.readWorkflowCallOutput = exports.TRANSFORM_LANGUAGES = exports.REDACTED_SECRET = exports.liveWorkflowVersion = exports.isWorkflowNode = exports.isWorkflowEdge = exports.SOURCE_FORMATS = exports.recordModeRefusal = exports.transformMode = exports.TRANSFORM_MODES = exports.isTransformMode = exports.isTransformLanguage = exports.isSourceFormat = exports.isConnectorKind = exports.CONNECTOR_KINDS = exports.transformShape = exports.transformDeclaresModule = exports.catalogRoutes = exports.UnsafeIdentifierError = exports.physicalColumn = exports.outputAlias = exports.isSafeIdentifier = exports.VALUELESS_FILTER_OPERATORS = exports.resolveObjectFilters = exports.parseObjectFilter = exports.offeredFilterOperators = exports.isCatalogFilterOperator = exports.filterOperatorsFor = exports.filterOperatorTakesValue = exports.encodeObjectFilter = exports.coerceFilterValue = exports.CATALOG_FILTER_OPERATORS = exports.CATALOG_FILTER_LIMIT = exports.CATALOG_REVISION_LIMIT = void 0;
15
- exports.DELETE_RECONCILIATION_STRATEGIES = exports.callableWorkflowBlock = exports.isWorkflowStatus = exports.isWorkflowNodeKind = exports.isWorkflowExecutionMode = exports.workflowRunOrder = exports.workflowGraphHash = exports.WORKFLOW_STATUSES = exports.unreachableRenameUnnamed = exports.unreachablePredicateKind = exports.unreachableNodeKind = exports.unreachableFilterPredicateKind = exports.unreachableFilterOperator = exports.workflowNodeRuns = exports.workflowNarrowedTypes = exports.workflowKnownColumns = exports.workflowRenameUnnamed = exports.renameColumnRefusals = exports.workflowFilterMatches = exports.workflowFilterColumns = exports.isWorkflowSkipReason = exports.isWorkflowRenameUnnamed = exports.isWorkflowRenameColumns = exports.isWorkflowPredicateKind = exports.isWorkflowIfPredicate = exports.isWorkflowFilterValue = exports.isWorkflowFilterPredicateKind = exports.isWorkflowFilterPredicate = exports.isWorkflowFilterOperator = exports.isWorkflowBranchLabel = exports.WORKFLOW_SKIP_REASONS = exports.WORKFLOW_RENAME_UNNAMED = exports.WORKFLOW_RENAME_MAX_COLUMNS = exports.WORKFLOW_FILTER_PREDICATE_KINDS = exports.WORKFLOW_FILTER_OPERATORS = exports.WORKFLOW_FILTER_MAX_VALUES = exports.WORKFLOW_FILTER_MAX_DEPTH = exports.WORKFLOW_FILTER_COLUMN_PATTERN = exports.WORKFLOW_PREDICATE_KINDS = exports.WORKFLOW_BRANCH_LABELS = exports.WORKFLOW_NODE_KINDS = exports.WORKFLOW_NODE_ID_PATTERN = exports.WORKFLOW_ISSUE_CODES = exports.WORKFLOW_EXECUTION_MODES = exports.validateWorkflow = exports.workflowRowY = exports.workflowColumnX = exports.WORKFLOW_ROW_GAP = exports.WORKFLOW_NODE_WIDTH = exports.WORKFLOW_NODE_HEIGHT = void 0;
14
+ exports.describeVersionPin = exports.describeLiveVersion = exports.unreachableReusableNodeKind = exports.nodeKindIsReusable = exports.NODE_KIND_IS_REUSABLE = exports.REUSABLE_NODE_KINDS = exports.isReusableNodeKind = exports.isReusableNodeBody = exports.reusableNodeBodyOf = exports.applyReusableNode = exports.workflowCallMode = exports.unreachableCallMode = exports.isWorkflowCallMode = exports.WORKFLOW_CALL_MODES = exports.WORKFLOW_CALL_CONTRACT = exports.readWorkflowCallOutput = exports.TRANSFORM_LANGUAGES = exports.REDACTED_SECRET = exports.liveWorkflowVersion = exports.isWorkflowNode = exports.isWorkflowEdge = exports.SOURCE_FORMATS = exports.recordModeRefusal = exports.transformMode = exports.TRANSFORM_MODES = exports.isTransformMode = exports.isTransformLanguage = exports.isSourceFormat = exports.isConnectorKind = exports.CONNECTOR_KINDS = exports.CATALOG_SOURCE_TYPE_KEY = exports.transformShape = exports.transformDeclaresModule = exports.catalogRoutes = exports.UnsafeIdentifierError = exports.physicalColumn = exports.outputAlias = exports.isSafeIdentifier = exports.VALUELESS_FILTER_OPERATORS = exports.resolveObjectFilters = exports.parseObjectFilter = exports.offeredFilterOperators = exports.isCatalogFilterOperator = exports.filterOperatorsFor = exports.filterOperatorTakesValue = exports.encodeObjectFilter = exports.coerceFilterValue = exports.CATALOG_FILTER_OPERATORS = exports.CATALOG_FILTER_LIMIT = exports.CATALOG_REVISION_LIMIT = void 0;
15
+ exports.workflowAggregateMaxGroups = exports.workflowAggregateJoinMaxLength = exports.workflowAggregateColumns = exports.aggregateRefusals = exports.workflowRenameUnnamed = exports.renameColumnRefusals = exports.workflowFilterMatches = exports.workflowFilterColumns = exports.isWorkflowSkipReason = exports.isWorkflowRenameUnnamed = exports.isWorkflowRenameColumns = exports.isWorkflowAggregates = exports.isWorkflowAggregateFunction = exports.isWorkflowPredicateKind = exports.isWorkflowIfPredicate = exports.isWorkflowFilterValue = exports.isWorkflowFilterPredicateKind = exports.isWorkflowFilterPredicate = exports.isWorkflowFilterOperator = exports.isWorkflowBranchLabel = exports.WORKFLOW_SKIP_REASONS = exports.WORKFLOW_AGGREGATE_MAX_SEPARATOR = exports.WORKFLOW_AGGREGATE_MAX_GROUPS = exports.WORKFLOW_AGGREGATE_MAX_GROUP_BY = exports.WORKFLOW_AGGREGATE_MAX_AGGREGATES = exports.WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH = exports.WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING = exports.WORKFLOW_AGGREGATE_GROUPS_CEILING = exports.WORKFLOW_AGGREGATE_FUNCTIONS = exports.WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR = exports.WORKFLOW_RENAME_UNNAMED = exports.WORKFLOW_RENAME_MAX_COLUMNS = exports.WORKFLOW_FILTER_PREDICATE_KINDS = exports.WORKFLOW_FILTER_OPERATORS = exports.WORKFLOW_FILTER_MAX_VALUES = exports.WORKFLOW_FILTER_MAX_DEPTH = exports.WORKFLOW_FILTER_COLUMN_PATTERN = exports.WORKFLOW_PREDICATE_KINDS = exports.WORKFLOW_BRANCH_LABELS = exports.WORKFLOW_NODE_KINDS = exports.WORKFLOW_NODE_ID_PATTERN = exports.WORKFLOW_ISSUE_CODES = exports.WORKFLOW_EXECUTION_MODES = exports.validateWorkflow = exports.workflowRowY = exports.workflowColumnX = exports.WORKFLOW_ROW_GAP = exports.WORKFLOW_NODE_WIDTH = exports.WORKFLOW_NODE_HEIGHT = exports.WORKFLOW_COLUMN_GAP = void 0;
16
+ exports.DELETE_RECONCILIATION_STRATEGIES = exports.callableWorkflowBlock = exports.isWorkflowStatus = exports.isWorkflowNodeKind = exports.isWorkflowExecutionMode = exports.workflowRunOrder = exports.workflowGraphHash = exports.WORKFLOW_STATUSES = exports.unreachableRenameUnnamed = exports.unreachableAggregateFunction = exports.unreachablePredicateKind = exports.unreachableNodeKind = exports.unreachableConnectorKind = exports.unreachableFilterPredicateKind = exports.unreachableFilterOperator = exports.workflowNodeRuns = exports.workflowNarrowedTypes = exports.workflowSourceObjectType = exports.workflowKnownColumns = exports.workflowAggregateSeparator = exports.workflowAggregateOutputColumns = exports.workflowAggregateNeedsColumn = void 0;
16
17
  exports.isDeleteReconciliationStrategy = isDeleteReconciliationStrategy;
17
18
  exports.pipelineExpectationRoutes = pipelineExpectationRoutes;
18
19
  // A value, not a type: a screen saying how far back the history goes should read
@@ -140,6 +141,9 @@ Object.defineProperty(exports, "transformShape", { enumerable: true, get: functi
140
141
  // Values, not types: a form that offers the kinds should read them from here
141
142
  // rather than keeping a copy that drifts.
142
143
  var catalog_pipeline_1 = require("./catalog.pipeline");
144
+ // The config key a `catalog` source names its object type in, so the
145
+ // inspector writing it and the fetcher reading it cannot spell it differently.
146
+ Object.defineProperty(exports, "CATALOG_SOURCE_TYPE_KEY", { enumerable: true, get: function () { return catalog_pipeline_1.CATALOG_SOURCE_TYPE_KEY; } });
143
147
  Object.defineProperty(exports, "CONNECTOR_KINDS", { enumerable: true, get: function () { return catalog_pipeline_1.CONNECTOR_KINDS; } });
144
148
  Object.defineProperty(exports, "isConnectorKind", { enumerable: true, get: function () { return catalog_pipeline_1.isConnectorKind; } });
145
149
  Object.defineProperty(exports, "isSourceFormat", { enumerable: true, get: function () { return catalog_pipeline_1.isSourceFormat; } });
@@ -279,6 +283,20 @@ Object.defineProperty(exports, "WORKFLOW_FILTER_PREDICATE_KINDS", { enumerable:
279
283
  // unnamed column have to be exactly the two the runner branches on.
280
284
  Object.defineProperty(exports, "WORKFLOW_RENAME_MAX_COLUMNS", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_RENAME_MAX_COLUMNS; } });
281
285
  Object.defineProperty(exports, "WORKFLOW_RENAME_UNNAMED", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_RENAME_UNNAMED; } });
286
+ // The aggregate vocabulary, same argument at the highest stakes yet: an
287
+ // inspector offering a function the fold cannot compute is a graph that saves
288
+ // and then fails inside a durable step, and every bound here is one the form
289
+ // has to refuse *before* the server does. The group ceiling in particular is a
290
+ // number a person has to be shown while they are choosing what to group on.
291
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR; } });
292
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_FUNCTIONS", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_FUNCTIONS; } });
293
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_GROUPS_CEILING", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_GROUPS_CEILING; } });
294
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING; } });
295
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH; } });
296
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_AGGREGATES", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_MAX_AGGREGATES; } });
297
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_GROUP_BY", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_MAX_GROUP_BY; } });
298
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_GROUPS", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_MAX_GROUPS; } });
299
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_SEPARATOR", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_AGGREGATE_MAX_SEPARATOR; } });
282
300
  Object.defineProperty(exports, "WORKFLOW_SKIP_REASONS", { enumerable: true, get: function () { return catalog_pipeline_3.WORKFLOW_SKIP_REASONS; } });
283
301
  Object.defineProperty(exports, "isWorkflowBranchLabel", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowBranchLabel; } });
284
302
  Object.defineProperty(exports, "isWorkflowFilterOperator", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowFilterOperator; } });
@@ -287,6 +305,8 @@ Object.defineProperty(exports, "isWorkflowFilterPredicateKind", { enumerable: tr
287
305
  Object.defineProperty(exports, "isWorkflowFilterValue", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowFilterValue; } });
288
306
  Object.defineProperty(exports, "isWorkflowIfPredicate", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowIfPredicate; } });
289
307
  Object.defineProperty(exports, "isWorkflowPredicateKind", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowPredicateKind; } });
308
+ Object.defineProperty(exports, "isWorkflowAggregateFunction", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowAggregateFunction; } });
309
+ Object.defineProperty(exports, "isWorkflowAggregates", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowAggregates; } });
290
310
  Object.defineProperty(exports, "isWorkflowRenameColumns", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowRenameColumns; } });
291
311
  Object.defineProperty(exports, "isWorkflowRenameUnnamed", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowRenameUnnamed; } });
292
312
  Object.defineProperty(exports, "isWorkflowSkipReason", { enumerable: true, get: function () { return catalog_pipeline_3.isWorkflowSkipReason; } });
@@ -299,10 +319,25 @@ Object.defineProperty(exports, "workflowFilterMatches", { enumerable: true, get:
299
319
  // is a form that eventually accepts a target the server refuses, after Save.
300
320
  Object.defineProperty(exports, "renameColumnRefusals", { enumerable: true, get: function () { return catalog_pipeline_3.renameColumnRefusals; } });
301
321
  Object.defineProperty(exports, "workflowRenameUnnamed", { enumerable: true, get: function () { return catalog_pipeline_3.workflowRenameUnnamed; } });
322
+ // The refusals an aggregate earns, and the readers of its defaults. Same
323
+ // function the validator, the HTTP boundary and the fold call, so a node the
324
+ // canvas draws as finished is one the server will store and the runner will
325
+ // run. `workflowAggregateOutputColumns` is what the inspector shows for the
326
+ // columns leaving the node — exact, which no other kind can say.
327
+ Object.defineProperty(exports, "aggregateRefusals", { enumerable: true, get: function () { return catalog_pipeline_3.aggregateRefusals; } });
328
+ Object.defineProperty(exports, "workflowAggregateColumns", { enumerable: true, get: function () { return catalog_pipeline_3.workflowAggregateColumns; } });
329
+ Object.defineProperty(exports, "workflowAggregateJoinMaxLength", { enumerable: true, get: function () { return catalog_pipeline_3.workflowAggregateJoinMaxLength; } });
330
+ Object.defineProperty(exports, "workflowAggregateMaxGroups", { enumerable: true, get: function () { return catalog_pipeline_3.workflowAggregateMaxGroups; } });
331
+ Object.defineProperty(exports, "workflowAggregateNeedsColumn", { enumerable: true, get: function () { return catalog_pipeline_3.workflowAggregateNeedsColumn; } });
332
+ Object.defineProperty(exports, "workflowAggregateOutputColumns", { enumerable: true, get: function () { return catalog_pipeline_3.workflowAggregateOutputColumns; } });
333
+ Object.defineProperty(exports, "workflowAggregateSeparator", { enumerable: true, get: function () { return catalog_pipeline_3.workflowAggregateSeparator; } });
302
334
  // What the graph can prove about the columns reaching a node — the one thing
303
335
  // a declarative rename buys that a transform cannot. The inspector says it out
304
336
  // loud; see `workflowKnownColumns` for how far it reaches.
305
337
  Object.defineProperty(exports, "workflowKnownColumns", { enumerable: true, get: function () { return catalog_pipeline_3.workflowKnownColumns; } });
338
+ // Which object type a `catalog` source reads, read off the node by the one
339
+ // function the validator and the fetcher also use.
340
+ Object.defineProperty(exports, "workflowSourceObjectType", { enumerable: true, get: function () { return catalog_pipeline_3.workflowSourceObjectType; } });
306
341
  // Which published types a filter stands in front of. The console has to offer
307
342
  // the same acknowledgements the validator requires, and a canvas computing its
308
343
  // own answer would offer a set the server then refuses.
@@ -312,8 +347,13 @@ Object.defineProperty(exports, "workflowNarrowedTypes", { enumerable: true, get:
312
347
  Object.defineProperty(exports, "workflowNodeRuns", { enumerable: true, get: function () { return catalog_pipeline_3.workflowNodeRuns; } });
313
348
  Object.defineProperty(exports, "unreachableFilterOperator", { enumerable: true, get: function () { return catalog_pipeline_3.unreachableFilterOperator; } });
314
349
  Object.defineProperty(exports, "unreachableFilterPredicateKind", { enumerable: true, get: function () { return catalog_pipeline_3.unreachableFilterPredicateKind; } });
350
+ // The kind exhaustiveness helper for *sources*, beside the one for nodes: a
351
+ // console deciding something per source kind is meant to stop compiling when a
352
+ // sixth kind arrives, exactly as the server does.
353
+ Object.defineProperty(exports, "unreachableConnectorKind", { enumerable: true, get: function () { return catalog_pipeline_3.unreachableConnectorKind; } });
315
354
  Object.defineProperty(exports, "unreachableNodeKind", { enumerable: true, get: function () { return catalog_pipeline_3.unreachableNodeKind; } });
316
355
  Object.defineProperty(exports, "unreachablePredicateKind", { enumerable: true, get: function () { return catalog_pipeline_3.unreachablePredicateKind; } });
356
+ Object.defineProperty(exports, "unreachableAggregateFunction", { enumerable: true, get: function () { return catalog_pipeline_3.unreachableAggregateFunction; } });
317
357
  Object.defineProperty(exports, "unreachableRenameUnnamed", { enumerable: true, get: function () { return catalog_pipeline_3.unreachableRenameUnnamed; } });
318
358
  // The draft/ready pair, for the same reason as the list above: a canvas that
319
359
  // cannot see it restates it, and the copy is what drifts. Without this the
package/dist/index.d.ts CHANGED
@@ -8,7 +8,8 @@ export { type CatalogOverlayStore, FileCatalogOverlayStore, InMemoryCatalogOverl
8
8
  export { CATALOG_OVERLAY_STORE } from './catalog.overlay-store.token';
9
9
  export { MikroOrmCatalogRegistry } from './catalog.registry';
10
10
  export { CatalogRegistry } from './catalog.registry.base';
11
- export { CATALOG_PIPELINE_STORE, CODE_CONTEXT_CONTRACT, type CatalogCodeContext, type CatalogConnection, type CatalogConnector, type ConnectionCheck, CONNECTOR_KINDS, type CatalogLoadExpectations, type CatalogLoadExpectationStore, type CatalogPipelineStore, type CatalogStageStore, type CatalogRecordTransformFunction, type CatalogRecordTransformInput, type CatalogTransform, type CatalogTransformFunction, type CatalogTransformInput, type CatalogWorkflow, type CatalogWorkflowCapabilities, type CatalogWorkflowRelease, type CatalogWorkflowReleaseStore, type CatalogWorkflowStore, type CallableWorkflowBlock, type CallableWorkflowDisagreement, type CallableWorkflowRef, callableWorkflowBlock, type ConnectorKind, type ConnectorRun, type DeleteReconciliation, isConnectorKind, isPipelineStore, isSourceFormat, isTransformLanguage, isTransformMode, type LoadExpectation, type RowCountBound, SOURCE_FORMATS, type SourceFormat, unreachableSourceFormat, type StoredLoadExpectation, readWorkflowCallOutput, REDACTED_SECRET, supportsLoadExpectations, supportsReusableNodes, supportsTransformPins, supportsTransformRevisions, supportsTransformStreaming, applyReusableNode, type CatalogReusableNode, type CatalogReusableNodeStore, type CatalogReusableNodeUse, describeLiveVersion, describeVersionPin, isReusableNodeBody, isReusableNodeKind, NODE_KIND_IS_REUSABLE, nodeKindIsReusable, REUSABLE_NODE_KINDS, type ReusableNodeBody, type ReusableNodeKind, type ReusableNodeRef, type ReusableSinkBody, type ReusableSourceBody, reusableNodeBodyOf, unreachableReusableNodeKind, type VersionPinCopy, isWorkflowBranchLabel, isWorkflowEdge, isWorkflowExecutionMode, isWorkflowFilterOperator, isWorkflowFilterPredicate, isWorkflowFilterPredicateKind, isWorkflowFilterValue, isWorkflowIfPredicate, isWorkflowNode, isWorkflowCallMode, isWorkflowNodeKind, isWorkflowPredicateKind, isWorkflowRenameColumns, isWorkflowRenameUnnamed, isWorkflowSkipReason, isWorkflowStatus, liveWorkflowVersion, supportsWorkflowReleases, supportsWorkflows, supportsWorkflowStages, supportsStagePayloads, TRANSFORM_RUNNER, TRANSFORM_LANGUAGES, TRANSFORM_MODES, recordModeRefusal, transformMode, type TransformLanguage, type TransformMode, type TransformResult, type TransformRunner, type TransformStream, type TransformStreamSummary, unreachableFilterOperator, unreachableTransformMode, unreachableFilterPredicateKind, unreachableCallMode, unreachableNodeKind, unreachablePredicateKind, unreachableRenameUnnamed, validateWorkflow, WORKFLOW_BRANCH_LABELS, WORKFLOW_CALL_CONTRACT, WORKFLOW_CALL_MODES, WORKFLOW_COLUMN_GAP, WORKFLOW_EXECUTION_MODES, WORKFLOW_FILTER_COLUMN_PATTERN, WORKFLOW_FILTER_MAX_DEPTH, WORKFLOW_FILTER_MAX_VALUES, WORKFLOW_FILTER_OPERATORS, WORKFLOW_FILTER_PREDICATE_KINDS, WORKFLOW_ISSUE_CODES, WORKFLOW_NODE_HEIGHT, WORKFLOW_NODE_ID_PATTERN, WORKFLOW_NODE_KINDS, WORKFLOW_NODE_WIDTH, WORKFLOW_PREDICATE_KINDS, WORKFLOW_RENAME_MAX_COLUMNS, WORKFLOW_RENAME_UNNAMED, WORKFLOW_ROW_GAP, WORKFLOW_SKIP_REASONS, WORKFLOW_STATUSES, type WorkflowBranchLabel, workflowColumnX, workflowRowY, type WorkflowCallEnvelope, type WorkflowCallMode, workflowCallMode, type WorkflowCallNode, type WorkflowCallOutput, type WorkflowEdge, type WorkflowExecutionMode, type WorkflowFilterAll, type WorkflowFilterAny, type WorkflowFilterComparison, type WorkflowFilterGroup, workflowFilterColumns, workflowFilterMatches, type WorkflowFilterNode, type WorkflowFilterOneOf, type WorkflowFilterOperator, type WorkflowFilterPredicate, type WorkflowFilterPredicateKind, type WorkflowFilterPresence, type WorkflowFilterValue, type WorkflowGraph, workflowGraphHash, type WorkflowEnvPredicate, type WorkflowIfNode, type WorkflowIfPredicate, type WorkflowIssueCode, type WorkflowNode, type WorkflowNodeKind, workflowKnownColumns, workflowNarrowedTypes, type WorkflowNodeOutcome, workflowNodeRuns, type WorkflowNodeStepInput, type WorkflowNodeStepOutput, workflowRunOrder, type WorkflowRunOrderEntry, type WorkflowPredicateKind, renameColumnRefusals, type WorkflowRenameNode, type WorkflowRenameUnnamed, workflowRenameUnnamed, type WorkflowRowCountPredicate, type WorkflowSinkNode, type WorkflowSkipReason, type WorkflowSourceNode, type WorkflowStageRef, type WorkflowStatus, type WorkflowTransformNode, type WorkflowValidationIssue, } from './catalog.pipeline';
11
+ export { CATALOG_PIPELINE_STORE, CODE_CONTEXT_CONTRACT, type CatalogCodeContext, type CatalogConnection, type CatalogConnector, type ConnectionCheck, CATALOG_SOURCE_TYPE_KEY, CONNECTOR_KINDS, type CatalogLoadExpectations, type CatalogLoadExpectationStore, type CatalogPipelineStore, type CatalogStageStore, type CatalogRecordTransformFunction, type CatalogRecordTransformInput, type CatalogTransform, type CatalogTransformFunction, type CatalogTransformInput, type CatalogWorkflow, type CatalogWorkflowCapabilities, type CatalogWorkflowRelease, type CatalogWorkflowReleaseStore, type CatalogWorkflowStore, type CallableWorkflowBlock, type CallableWorkflowDisagreement, type CallableWorkflowRef, callableWorkflowBlock, type ConnectorKind, type ConnectorRun, type DeleteReconciliation, isConnectorKind, isPipelineStore, isSourceFormat, isTransformLanguage, isTransformMode, type LoadExpectation, type RowCountBound, SOURCE_FORMATS, type SourceFormat, unreachableSourceFormat, type StoredLoadExpectation, readWorkflowCallOutput, REDACTED_SECRET, supportsLoadExpectations, supportsReusableNodes, supportsTransformPins, supportsTransformRevisions, supportsTransformStreaming, applyReusableNode, type CatalogReusableNode, type CatalogReusableNodeStore, type CatalogReusableNodeUse, describeLiveVersion, describeVersionPin, isReusableNodeBody, isReusableNodeKind, NODE_KIND_IS_REUSABLE, nodeKindIsReusable, REUSABLE_NODE_KINDS, type ReusableNodeBody, type ReusableNodeKind, type ReusableNodeRef, type ReusableSinkBody, type ReusableSourceBody, reusableNodeBodyOf, unreachableReusableNodeKind, type VersionPinCopy, isWorkflowBranchLabel, isWorkflowEdge, isWorkflowExecutionMode, isWorkflowFilterOperator, isWorkflowFilterPredicate, isWorkflowFilterPredicateKind, isWorkflowFilterValue, isWorkflowIfPredicate, isWorkflowNode, isWorkflowCallMode, isWorkflowNodeKind, isWorkflowPredicateKind, isWorkflowRenameColumns, isWorkflowRenameUnnamed, isWorkflowSkipReason, isWorkflowStatus, liveWorkflowVersion, supportsWorkflowReleases, supportsWorkflows, supportsWorkflowStages, supportsStagePayloads, TRANSFORM_RUNNER, TRANSFORM_LANGUAGES, TRANSFORM_MODES, recordModeRefusal, transformMode, type TransformLanguage, type TransformMode, type TransformResult, type TransformRunner, type TransformStream, type TransformStreamSummary, unreachableFilterOperator, unreachableTransformMode, unreachableFilterPredicateKind, unreachableCallMode, unreachableConnectorKind, unreachableNodeKind, unreachablePredicateKind, unreachableRenameUnnamed, validateWorkflow, WORKFLOW_BRANCH_LABELS, WORKFLOW_CALL_CONTRACT, WORKFLOW_CALL_MODES, WORKFLOW_COLUMN_GAP, WORKFLOW_EXECUTION_MODES, WORKFLOW_FILTER_COLUMN_PATTERN, WORKFLOW_FILTER_MAX_DEPTH, WORKFLOW_FILTER_MAX_VALUES, WORKFLOW_FILTER_OPERATORS, WORKFLOW_FILTER_PREDICATE_KINDS, WORKFLOW_ISSUE_CODES, WORKFLOW_NODE_HEIGHT, WORKFLOW_NODE_ID_PATTERN, WORKFLOW_NODE_KINDS, WORKFLOW_NODE_WIDTH, WORKFLOW_PREDICATE_KINDS, WORKFLOW_RENAME_MAX_COLUMNS, WORKFLOW_RENAME_UNNAMED, WORKFLOW_ROW_GAP, WORKFLOW_SKIP_REASONS, WORKFLOW_STATUSES, type WorkflowBranchLabel, type WorkflowColumnKnowledge, workflowColumnX, workflowRowY, type WorkflowCallEnvelope, type WorkflowCallMode, workflowCallMode, type WorkflowCallNode, type WorkflowCallOutput, type WorkflowEdge, type WorkflowExecutionMode, type WorkflowFilterAll, type WorkflowFilterAny, type WorkflowFilterComparison, type WorkflowFilterGroup, workflowFilterColumns, workflowFilterMatches, type WorkflowFilterNode, type WorkflowFilterOneOf, type WorkflowFilterOperator, type WorkflowFilterPredicate, type WorkflowFilterPredicateKind, type WorkflowFilterPresence, type WorkflowFilterValue, type WorkflowGraph, workflowGraphHash, type WorkflowEnvPredicate, type WorkflowIfNode, type WorkflowIfPredicate, type WorkflowIssueCode, type WorkflowNode, type WorkflowNodeKind, workflowKnownColumns, workflowNarrowedTypes, workflowSourceObjectType, type WorkflowNodeOutcome, workflowNodeRuns, type WorkflowNodeStepInput, type WorkflowNodeStepOutput, workflowRunOrder, type WorkflowRunOrderEntry, type WorkflowPredicateKind, renameColumnRefusals, type WorkflowRenameNode, type WorkflowRenameUnnamed, workflowRenameUnnamed, type WorkflowRowCountPredicate, type WorkflowSinkNode, type WorkflowSkipReason, type WorkflowSourceNode, type WorkflowStageRef, type WorkflowStatus, type WorkflowTransformNode, type WorkflowValidationIssue, aggregateRefusals, isWorkflowAggregateFunction, isWorkflowAggregates, unreachableAggregateFunction, WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR, WORKFLOW_AGGREGATE_FUNCTIONS, WORKFLOW_AGGREGATE_GROUPS_CEILING, WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING, WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH, WORKFLOW_AGGREGATE_MAX_AGGREGATES, WORKFLOW_AGGREGATE_MAX_GROUP_BY, WORKFLOW_AGGREGATE_MAX_GROUPS, WORKFLOW_AGGREGATE_MAX_SEPARATOR, type WorkflowAggregate, workflowAggregateColumns, type WorkflowAggregateFunction, workflowAggregateJoinMaxLength, workflowAggregateMaxGroups, workflowAggregateNeedsColumn, type WorkflowAggregateNode, workflowAggregateOutputColumns, workflowAggregateSeparator, } from './catalog.pipeline';
12
+ export { AggregateTable, type AggregateTableStats, aggregateInputColumns, WorkflowAggregateError, } from './catalog.aggregate';
12
13
  export { type ColumnarStageBatch, STAGE_ENCODING, STAGE_ENCODING_VERSION, type StagePayload, classifyStagePayload, decodeStageRows, encodeStageRows, isColumnarStageBatch, renameStagePayload, type StageRenamePlan, type StageRenameResult, } from './catalog.stage-encoding';
13
14
  export * from './catalog.environment';
14
15
  export { QueryCache } from './catalog.query-cache';
@@ -22,7 +23,7 @@ export { type AuditQuery, CATALOG_REVISION_LIMIT, CATALOG_TRACE_OUTCOMES, CATALO
22
23
  export { CATALOG_PRINCIPAL_RESOLVER, type CatalogActor, type CatalogGrants, type CatalogPrincipal, type CatalogPrincipalResolver, type CatalogScope, composePrincipalId, delegatePrincipal, expandScopes, hasScope, parsePrincipalId, PRINCIPAL_ACTOR_SEPARATOR, maySeeClassification, mayRead, mayWrite, readableObjectPage, StaticKeyPrincipalResolver, } from './catalog.principal';
23
24
  export * from './catalog.access';
24
25
  export * from './catalog.filters';
25
- export { assertNoColumnCollisions, assertSafeIdentifier, CATALOG_RESERVED_COLUMNS, CATALOG_SNAPSHOT_MODES, CATALOG_STORE, type CarryForwardResult, type CatalogColumnCollision, CatalogColumnCollisionError, type CatalogFilteringReadStore, supportsObjectFilters, type CatalogMergeStore, type CatalogReadQuery, type CatalogReadResult, type CatalogReadStore, type CatalogReservedColumn, type CatalogSnapshotMode, type CatalogStoreCapabilities, type CatalogWriteStore, type ColumnCollisionOptions, findColumnCollisions, isCatalogStoreCapabilities, isReservedColumn, isSafeIdentifier, isWriteStore, outputAlias, physicalColumn, type SnapshotRef, supportsCarryForward, UnsafeIdentifierError, } from './catalog.store';
26
+ export { assertNoColumnCollisions, assertSafeIdentifier, CATALOG_RESERVED_COLUMNS, CATALOG_SNAPSHOT_MODES, CATALOG_STORE, type CarryForwardResult, type CatalogColumnCollision, CatalogColumnCollisionError, type CatalogFilteringReadStore, supportsObjectFilters, type CatalogMergeStore, type CatalogReadQuery, type CatalogReadResult, type CatalogReadStore, type CatalogReservedColumn, type CatalogSnapshotMode, type CatalogSnapshotStreamStore, type CatalogStoreCapabilities, type CatalogWriteStore, type ColumnCollisionOptions, findColumnCollisions, isCatalogStoreCapabilities, isReservedColumn, isSafeIdentifier, isWriteStore, outputAlias, physicalColumn, type SnapshotRef, supportsCarryForward, supportsSnapshotStreams, UnsafeIdentifierError, } from './catalog.store';
26
27
  export { MikroOrmReadStore } from './stores/mikro-orm-read.store';
27
28
  export type { CatalogGraph, CatalogObjectPage, CatalogObjectQuery, CatalogObjectTypeDef, CatalogOverlay, CatalogPropertyDef, CatalogRelationDef, CatalogSnapshot, RelationKind, ScalarType, } from './catalog.types';
28
29
  export { REQUIRED_SCOPES, REQUIRES_HUMAN, RequireHuman, RequireScopes, } from './catalog.route-auth';
package/dist/index.js CHANGED
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isWorkflowBranchLabel = exports.unreachableReusableNodeKind = exports.reusableNodeBodyOf = exports.REUSABLE_NODE_KINDS = exports.nodeKindIsReusable = exports.NODE_KIND_IS_REUSABLE = exports.isReusableNodeKind = exports.isReusableNodeBody = exports.describeVersionPin = exports.describeLiveVersion = exports.applyReusableNode = exports.supportsTransformStreaming = exports.supportsTransformRevisions = exports.supportsTransformPins = exports.supportsReusableNodes = exports.supportsLoadExpectations = exports.REDACTED_SECRET = exports.readWorkflowCallOutput = exports.unreachableSourceFormat = exports.SOURCE_FORMATS = exports.isTransformMode = exports.isTransformLanguage = exports.isSourceFormat = exports.isPipelineStore = exports.isConnectorKind = exports.callableWorkflowBlock = exports.CONNECTOR_KINDS = exports.CODE_CONTEXT_CONTRACT = exports.CATALOG_PIPELINE_STORE = exports.CatalogRegistry = exports.MikroOrmCatalogRegistry = exports.CATALOG_OVERLAY_STORE = exports.InMemoryCatalogOverlayStore = exports.FileCatalogOverlayStore = exports.CATALOG_OPTIONS = exports.isStreamingQueryStore = exports.isQueryStore = exports.assertReadOnlyShape = exports.CatalogModule = exports.emitCatalog = exports.curationActor = exports.channelNameFor = exports.catalogEventPhase = exports.UNATTRIBUTED_PRINCIPAL_ID = exports.CATALOG_LIB = exports.CATALOG_EVENTS = exports.CATALOG_EVENT_PHASE_FALLBACK = exports.CATALOG_EVENT_PHASE = exports.CatalogType = exports.CatalogProperty = void 0;
18
- exports.WORKFLOW_RENAME_MAX_COLUMNS = exports.WORKFLOW_PREDICATE_KINDS = exports.WORKFLOW_NODE_WIDTH = exports.WORKFLOW_NODE_KINDS = exports.WORKFLOW_NODE_ID_PATTERN = exports.WORKFLOW_NODE_HEIGHT = exports.WORKFLOW_ISSUE_CODES = exports.WORKFLOW_FILTER_PREDICATE_KINDS = exports.WORKFLOW_FILTER_OPERATORS = exports.WORKFLOW_FILTER_MAX_VALUES = exports.WORKFLOW_FILTER_MAX_DEPTH = exports.WORKFLOW_FILTER_COLUMN_PATTERN = exports.WORKFLOW_EXECUTION_MODES = exports.WORKFLOW_COLUMN_GAP = exports.WORKFLOW_CALL_MODES = exports.WORKFLOW_CALL_CONTRACT = exports.WORKFLOW_BRANCH_LABELS = exports.validateWorkflow = exports.unreachableRenameUnnamed = exports.unreachablePredicateKind = exports.unreachableNodeKind = exports.unreachableCallMode = exports.unreachableFilterPredicateKind = exports.unreachableTransformMode = exports.unreachableFilterOperator = exports.transformMode = exports.recordModeRefusal = exports.TRANSFORM_MODES = exports.TRANSFORM_LANGUAGES = exports.TRANSFORM_RUNNER = exports.supportsStagePayloads = exports.supportsWorkflowStages = exports.supportsWorkflows = exports.supportsWorkflowReleases = exports.liveWorkflowVersion = exports.isWorkflowStatus = exports.isWorkflowSkipReason = exports.isWorkflowRenameUnnamed = exports.isWorkflowRenameColumns = exports.isWorkflowPredicateKind = exports.isWorkflowNodeKind = exports.isWorkflowCallMode = exports.isWorkflowNode = exports.isWorkflowIfPredicate = exports.isWorkflowFilterValue = exports.isWorkflowFilterPredicateKind = exports.isWorkflowFilterPredicate = exports.isWorkflowFilterOperator = exports.isWorkflowExecutionMode = exports.isWorkflowEdge = void 0;
19
- exports.traceOutcomeFilter = exports.supportsSavedQueryRevisions = exports.isWorkspaceStore = exports.isTraceStore = exports.isCatalogTraceOutcome = exports.embeddedVisualization = exports.CATALOG_WORKSPACE_STORE = exports.CATALOG_TRACE_STORE = exports.CATALOG_TRACE_OUTCOMES = exports.CATALOG_REVISION_LIMIT = exports.visibleToPrincipal = exports.searchCatalog = exports.maySearch = exports.emptySearch = exports.bestMatch = exports.MAX_SEARCH_LIMIT = exports.DEFAULT_SEARCH_LIMIT = exports.CatalogService = exports.transformShapeHint = exports.transformShape = exports.transformDeclaresModule = exports.SubprocessTransformRunner = exports.toCsv = exports.guardFormula = exports.csvLines = exports.csvCell = exports.QueryCache = exports.renameStagePayload = exports.isColumnarStageBatch = exports.encodeStageRows = exports.decodeStageRows = exports.classifyStagePayload = exports.STAGE_ENCODING_VERSION = exports.STAGE_ENCODING = exports.workflowRenameUnnamed = exports.renameColumnRefusals = exports.workflowRunOrder = exports.workflowNodeRuns = exports.workflowNarrowedTypes = exports.workflowKnownColumns = exports.workflowGraphHash = exports.workflowFilterMatches = exports.workflowFilterColumns = exports.workflowCallMode = exports.workflowRowY = exports.workflowColumnX = exports.WORKFLOW_STATUSES = exports.WORKFLOW_SKIP_REASONS = exports.WORKFLOW_ROW_GAP = exports.WORKFLOW_RENAME_UNNAMED = void 0;
20
- exports.RequireScopes = exports.RequireHuman = exports.REQUIRES_HUMAN = exports.REQUIRED_SCOPES = exports.MikroOrmReadStore = exports.UnsafeIdentifierError = exports.supportsCarryForward = exports.physicalColumn = exports.outputAlias = exports.isWriteStore = exports.isSafeIdentifier = exports.isReservedColumn = exports.isCatalogStoreCapabilities = exports.findColumnCollisions = exports.supportsObjectFilters = exports.CatalogColumnCollisionError = exports.CATALOG_STORE = exports.CATALOG_SNAPSHOT_MODES = exports.CATALOG_RESERVED_COLUMNS = exports.assertSafeIdentifier = exports.assertNoColumnCollisions = exports.StaticKeyPrincipalResolver = exports.readableObjectPage = exports.mayWrite = exports.mayRead = exports.maySeeClassification = exports.PRINCIPAL_ACTOR_SEPARATOR = exports.parsePrincipalId = exports.hasScope = exports.expandScopes = exports.delegatePrincipal = exports.composePrincipalId = exports.CATALOG_PRINCIPAL_RESOLVER = void 0;
17
+ exports.unreachableReusableNodeKind = exports.reusableNodeBodyOf = exports.REUSABLE_NODE_KINDS = exports.nodeKindIsReusable = exports.NODE_KIND_IS_REUSABLE = exports.isReusableNodeKind = exports.isReusableNodeBody = exports.describeVersionPin = exports.describeLiveVersion = exports.applyReusableNode = exports.supportsTransformStreaming = exports.supportsTransformRevisions = exports.supportsTransformPins = exports.supportsReusableNodes = exports.supportsLoadExpectations = exports.REDACTED_SECRET = exports.readWorkflowCallOutput = exports.unreachableSourceFormat = exports.SOURCE_FORMATS = exports.isTransformMode = exports.isTransformLanguage = exports.isSourceFormat = exports.isPipelineStore = exports.isConnectorKind = exports.callableWorkflowBlock = exports.CONNECTOR_KINDS = exports.CATALOG_SOURCE_TYPE_KEY = exports.CODE_CONTEXT_CONTRACT = exports.CATALOG_PIPELINE_STORE = exports.CatalogRegistry = exports.MikroOrmCatalogRegistry = exports.CATALOG_OVERLAY_STORE = exports.InMemoryCatalogOverlayStore = exports.FileCatalogOverlayStore = exports.CATALOG_OPTIONS = exports.isStreamingQueryStore = exports.isQueryStore = exports.assertReadOnlyShape = exports.CatalogModule = exports.emitCatalog = exports.curationActor = exports.channelNameFor = exports.catalogEventPhase = exports.UNATTRIBUTED_PRINCIPAL_ID = exports.CATALOG_LIB = exports.CATALOG_EVENTS = exports.CATALOG_EVENT_PHASE_FALLBACK = exports.CATALOG_EVENT_PHASE = exports.CatalogType = exports.CatalogProperty = void 0;
18
+ exports.WORKFLOW_NODE_WIDTH = exports.WORKFLOW_NODE_KINDS = exports.WORKFLOW_NODE_ID_PATTERN = exports.WORKFLOW_NODE_HEIGHT = exports.WORKFLOW_ISSUE_CODES = exports.WORKFLOW_FILTER_PREDICATE_KINDS = exports.WORKFLOW_FILTER_OPERATORS = exports.WORKFLOW_FILTER_MAX_VALUES = exports.WORKFLOW_FILTER_MAX_DEPTH = exports.WORKFLOW_FILTER_COLUMN_PATTERN = exports.WORKFLOW_EXECUTION_MODES = exports.WORKFLOW_COLUMN_GAP = exports.WORKFLOW_CALL_MODES = exports.WORKFLOW_CALL_CONTRACT = exports.WORKFLOW_BRANCH_LABELS = exports.validateWorkflow = exports.unreachableRenameUnnamed = exports.unreachablePredicateKind = exports.unreachableNodeKind = exports.unreachableConnectorKind = exports.unreachableCallMode = exports.unreachableFilterPredicateKind = exports.unreachableTransformMode = exports.unreachableFilterOperator = exports.transformMode = exports.recordModeRefusal = exports.TRANSFORM_MODES = exports.TRANSFORM_LANGUAGES = exports.TRANSFORM_RUNNER = exports.supportsStagePayloads = exports.supportsWorkflowStages = exports.supportsWorkflows = exports.supportsWorkflowReleases = exports.liveWorkflowVersion = exports.isWorkflowStatus = exports.isWorkflowSkipReason = exports.isWorkflowRenameUnnamed = exports.isWorkflowRenameColumns = exports.isWorkflowPredicateKind = exports.isWorkflowNodeKind = exports.isWorkflowCallMode = exports.isWorkflowNode = exports.isWorkflowIfPredicate = exports.isWorkflowFilterValue = exports.isWorkflowFilterPredicateKind = exports.isWorkflowFilterPredicate = exports.isWorkflowFilterOperator = exports.isWorkflowExecutionMode = exports.isWorkflowEdge = exports.isWorkflowBranchLabel = void 0;
19
+ exports.csvCell = exports.QueryCache = exports.renameStagePayload = exports.isColumnarStageBatch = exports.encodeStageRows = exports.decodeStageRows = exports.classifyStagePayload = exports.STAGE_ENCODING_VERSION = exports.STAGE_ENCODING = exports.WorkflowAggregateError = exports.aggregateInputColumns = exports.AggregateTable = exports.workflowAggregateSeparator = exports.workflowAggregateOutputColumns = exports.workflowAggregateNeedsColumn = exports.workflowAggregateMaxGroups = exports.workflowAggregateJoinMaxLength = exports.workflowAggregateColumns = exports.WORKFLOW_AGGREGATE_MAX_SEPARATOR = exports.WORKFLOW_AGGREGATE_MAX_GROUPS = exports.WORKFLOW_AGGREGATE_MAX_GROUP_BY = exports.WORKFLOW_AGGREGATE_MAX_AGGREGATES = exports.WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH = exports.WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING = exports.WORKFLOW_AGGREGATE_GROUPS_CEILING = exports.WORKFLOW_AGGREGATE_FUNCTIONS = exports.WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR = exports.unreachableAggregateFunction = exports.isWorkflowAggregates = exports.isWorkflowAggregateFunction = exports.aggregateRefusals = exports.workflowRenameUnnamed = exports.renameColumnRefusals = exports.workflowRunOrder = exports.workflowNodeRuns = exports.workflowSourceObjectType = exports.workflowNarrowedTypes = exports.workflowKnownColumns = exports.workflowGraphHash = exports.workflowFilterMatches = exports.workflowFilterColumns = exports.workflowCallMode = exports.workflowRowY = exports.workflowColumnX = exports.WORKFLOW_STATUSES = exports.WORKFLOW_SKIP_REASONS = exports.WORKFLOW_ROW_GAP = exports.WORKFLOW_RENAME_UNNAMED = exports.WORKFLOW_RENAME_MAX_COLUMNS = exports.WORKFLOW_PREDICATE_KINDS = void 0;
20
+ exports.outputAlias = exports.isWriteStore = exports.isSafeIdentifier = exports.isReservedColumn = exports.isCatalogStoreCapabilities = exports.findColumnCollisions = exports.supportsObjectFilters = exports.CatalogColumnCollisionError = exports.CATALOG_STORE = exports.CATALOG_SNAPSHOT_MODES = exports.CATALOG_RESERVED_COLUMNS = exports.assertSafeIdentifier = exports.assertNoColumnCollisions = exports.StaticKeyPrincipalResolver = exports.readableObjectPage = exports.mayWrite = exports.mayRead = exports.maySeeClassification = exports.PRINCIPAL_ACTOR_SEPARATOR = exports.parsePrincipalId = exports.hasScope = exports.expandScopes = exports.delegatePrincipal = exports.composePrincipalId = exports.CATALOG_PRINCIPAL_RESOLVER = exports.traceOutcomeFilter = exports.supportsSavedQueryRevisions = exports.isWorkspaceStore = exports.isTraceStore = exports.isCatalogTraceOutcome = exports.embeddedVisualization = exports.CATALOG_WORKSPACE_STORE = exports.CATALOG_TRACE_STORE = exports.CATALOG_TRACE_OUTCOMES = exports.CATALOG_REVISION_LIMIT = exports.visibleToPrincipal = exports.searchCatalog = exports.maySearch = exports.emptySearch = exports.bestMatch = exports.MAX_SEARCH_LIMIT = exports.DEFAULT_SEARCH_LIMIT = exports.CatalogService = exports.transformShapeHint = exports.transformShape = exports.transformDeclaresModule = exports.SubprocessTransformRunner = exports.toCsv = exports.guardFormula = exports.csvLines = void 0;
21
+ exports.RequireScopes = exports.RequireHuman = exports.REQUIRES_HUMAN = exports.REQUIRED_SCOPES = exports.MikroOrmReadStore = exports.UnsafeIdentifierError = exports.supportsSnapshotStreams = exports.supportsCarryForward = exports.physicalColumn = void 0;
21
22
  var catalog_decorators_1 = require("./catalog.decorators");
22
23
  Object.defineProperty(exports, "CatalogProperty", { enumerable: true, get: function () { return catalog_decorators_1.CatalogProperty; } });
23
24
  Object.defineProperty(exports, "CatalogType", { enumerable: true, get: function () { return catalog_decorators_1.CatalogType; } });
@@ -59,6 +60,7 @@ Object.defineProperty(exports, "CatalogRegistry", { enumerable: true, get: funct
59
60
  var catalog_pipeline_1 = require("./catalog.pipeline");
60
61
  Object.defineProperty(exports, "CATALOG_PIPELINE_STORE", { enumerable: true, get: function () { return catalog_pipeline_1.CATALOG_PIPELINE_STORE; } });
61
62
  Object.defineProperty(exports, "CODE_CONTEXT_CONTRACT", { enumerable: true, get: function () { return catalog_pipeline_1.CODE_CONTEXT_CONTRACT; } });
63
+ Object.defineProperty(exports, "CATALOG_SOURCE_TYPE_KEY", { enumerable: true, get: function () { return catalog_pipeline_1.CATALOG_SOURCE_TYPE_KEY; } });
62
64
  Object.defineProperty(exports, "CONNECTOR_KINDS", { enumerable: true, get: function () { return catalog_pipeline_1.CONNECTOR_KINDS; } });
63
65
  Object.defineProperty(exports, "callableWorkflowBlock", { enumerable: true, get: function () { return catalog_pipeline_1.callableWorkflowBlock; } });
64
66
  Object.defineProperty(exports, "isConnectorKind", { enumerable: true, get: function () { return catalog_pipeline_1.isConnectorKind; } });
@@ -115,6 +117,7 @@ Object.defineProperty(exports, "unreachableFilterOperator", { enumerable: true,
115
117
  Object.defineProperty(exports, "unreachableTransformMode", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableTransformMode; } });
116
118
  Object.defineProperty(exports, "unreachableFilterPredicateKind", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableFilterPredicateKind; } });
117
119
  Object.defineProperty(exports, "unreachableCallMode", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableCallMode; } });
120
+ Object.defineProperty(exports, "unreachableConnectorKind", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableConnectorKind; } });
118
121
  Object.defineProperty(exports, "unreachableNodeKind", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableNodeKind; } });
119
122
  Object.defineProperty(exports, "unreachablePredicateKind", { enumerable: true, get: function () { return catalog_pipeline_1.unreachablePredicateKind; } });
120
123
  Object.defineProperty(exports, "unreachableRenameUnnamed", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableRenameUnnamed; } });
@@ -148,10 +151,43 @@ Object.defineProperty(exports, "workflowFilterMatches", { enumerable: true, get:
148
151
  Object.defineProperty(exports, "workflowGraphHash", { enumerable: true, get: function () { return catalog_pipeline_1.workflowGraphHash; } });
149
152
  Object.defineProperty(exports, "workflowKnownColumns", { enumerable: true, get: function () { return catalog_pipeline_1.workflowKnownColumns; } });
150
153
  Object.defineProperty(exports, "workflowNarrowedTypes", { enumerable: true, get: function () { return catalog_pipeline_1.workflowNarrowedTypes; } });
154
+ Object.defineProperty(exports, "workflowSourceObjectType", { enumerable: true, get: function () { return catalog_pipeline_1.workflowSourceObjectType; } });
151
155
  Object.defineProperty(exports, "workflowNodeRuns", { enumerable: true, get: function () { return catalog_pipeline_1.workflowNodeRuns; } });
152
156
  Object.defineProperty(exports, "workflowRunOrder", { enumerable: true, get: function () { return catalog_pipeline_1.workflowRunOrder; } });
153
157
  Object.defineProperty(exports, "renameColumnRefusals", { enumerable: true, get: function () { return catalog_pipeline_1.renameColumnRefusals; } });
154
158
  Object.defineProperty(exports, "workflowRenameUnnamed", { enumerable: true, get: function () { return catalog_pipeline_1.workflowRenameUnnamed; } });
159
+ // The aggregate vocabulary. The functions and their bounds are core's for the
160
+ // reason every rule here is: an inspector offering a function the fold cannot
161
+ // compute is a graph that saves and then fails inside a durable step, and a
162
+ // form with its own copy of the identifier pattern accepts an output name the
163
+ // server refuses, after Save.
164
+ Object.defineProperty(exports, "aggregateRefusals", { enumerable: true, get: function () { return catalog_pipeline_1.aggregateRefusals; } });
165
+ Object.defineProperty(exports, "isWorkflowAggregateFunction", { enumerable: true, get: function () { return catalog_pipeline_1.isWorkflowAggregateFunction; } });
166
+ Object.defineProperty(exports, "isWorkflowAggregates", { enumerable: true, get: function () { return catalog_pipeline_1.isWorkflowAggregates; } });
167
+ Object.defineProperty(exports, "unreachableAggregateFunction", { enumerable: true, get: function () { return catalog_pipeline_1.unreachableAggregateFunction; } });
168
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR; } });
169
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_FUNCTIONS", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_FUNCTIONS; } });
170
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_GROUPS_CEILING", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_GROUPS_CEILING; } });
171
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING; } });
172
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH; } });
173
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_AGGREGATES", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_MAX_AGGREGATES; } });
174
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_GROUP_BY", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_MAX_GROUP_BY; } });
175
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_GROUPS", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_MAX_GROUPS; } });
176
+ Object.defineProperty(exports, "WORKFLOW_AGGREGATE_MAX_SEPARATOR", { enumerable: true, get: function () { return catalog_pipeline_1.WORKFLOW_AGGREGATE_MAX_SEPARATOR; } });
177
+ Object.defineProperty(exports, "workflowAggregateColumns", { enumerable: true, get: function () { return catalog_pipeline_1.workflowAggregateColumns; } });
178
+ Object.defineProperty(exports, "workflowAggregateJoinMaxLength", { enumerable: true, get: function () { return catalog_pipeline_1.workflowAggregateJoinMaxLength; } });
179
+ Object.defineProperty(exports, "workflowAggregateMaxGroups", { enumerable: true, get: function () { return catalog_pipeline_1.workflowAggregateMaxGroups; } });
180
+ Object.defineProperty(exports, "workflowAggregateNeedsColumn", { enumerable: true, get: function () { return catalog_pipeline_1.workflowAggregateNeedsColumn; } });
181
+ Object.defineProperty(exports, "workflowAggregateOutputColumns", { enumerable: true, get: function () { return catalog_pipeline_1.workflowAggregateOutputColumns; } });
182
+ Object.defineProperty(exports, "workflowAggregateSeparator", { enumerable: true, get: function () { return catalog_pipeline_1.workflowAggregateSeparator; } });
183
+ // The fold itself. Exported because the runner is in another package and because
184
+ // a host previewing a graph should be able to get the same answer a run will,
185
+ // out of the same code rather than out of a second implementation that agrees
186
+ // until it does not.
187
+ var catalog_aggregate_1 = require("./catalog.aggregate");
188
+ Object.defineProperty(exports, "AggregateTable", { enumerable: true, get: function () { return catalog_aggregate_1.AggregateTable; } });
189
+ Object.defineProperty(exports, "aggregateInputColumns", { enumerable: true, get: function () { return catalog_aggregate_1.aggregateInputColumns; } });
190
+ Object.defineProperty(exports, "WorkflowAggregateError", { enumerable: true, get: function () { return catalog_aggregate_1.WorkflowAggregateError; } });
155
191
  // How a staged batch is written down. Exported because `CatalogStageStore` is a
156
192
  // seam a host can implement — a stage kept in object storage or a columnar
157
193
  // warehouse rather than the catalog database is the case the interface exists
@@ -257,6 +293,7 @@ Object.defineProperty(exports, "isWriteStore", { enumerable: true, get: function
257
293
  Object.defineProperty(exports, "outputAlias", { enumerable: true, get: function () { return catalog_store_1.outputAlias; } });
258
294
  Object.defineProperty(exports, "physicalColumn", { enumerable: true, get: function () { return catalog_store_1.physicalColumn; } });
259
295
  Object.defineProperty(exports, "supportsCarryForward", { enumerable: true, get: function () { return catalog_store_1.supportsCarryForward; } });
296
+ Object.defineProperty(exports, "supportsSnapshotStreams", { enumerable: true, get: function () { return catalog_store_1.supportsSnapshotStreams; } });
260
297
  Object.defineProperty(exports, "UnsafeIdentifierError", { enumerable: true, get: function () { return catalog_store_1.UnsafeIdentifierError; } });
261
298
  var mikro_orm_read_store_1 = require("./stores/mikro-orm-read.store");
262
299
  Object.defineProperty(exports, "MikroOrmReadStore", { enumerable: true, get: function () { return mikro_orm_read_store_1.MikroOrmReadStore; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dudousxd/nestjs-catalog",
3
- "version": "0.25.0",
3
+ "version": "0.27.0",
4
4
  "description": "A metadata registry for NestJS: object types, properties and relations, derived from your ORM and enriched with decorators.",
5
5
  "license": "MIT",
6
6
  "author": "Davide Carvalho",