graphddb 0.5.3 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdc/index.d.ts +2 -2
- package/dist/cdc/index.js +2 -2
- package/dist/{chunk-M6URQOAW.js → chunk-5NXNEW43.js} +1 -1
- package/dist/{chunk-CCIVET5K.js → chunk-F2DI3GTI.js} +88 -0
- package/dist/{chunk-Y7XV5QL2.js → chunk-N5NQM3SO.js} +180 -46
- package/dist/cli.js +7 -2
- package/dist/{from-change-DQK2Jm9R.d.ts → from-change-CFzBy7aU.d.ts} +1 -1
- package/dist/{index-CtDBo8Se.d.ts → index-CtJbTrfB.d.ts} +2 -2
- package/dist/index.d.ts +53 -8
- package/dist/index.js +29 -5
- package/dist/linter/index.d.ts +4 -4
- package/dist/{maintenance-view-adapter-D5t9taTE.d.ts → maintenance-view-adapter-CFeasCKo.d.ts} +147 -6
- package/dist/{registry-BD_5Rm5C.d.ts → registry-DbqmFyab.d.ts} +1 -1
- package/dist/{relation-depth-DLkhG0xX.d.ts → relation-depth-0TiWr5OW.d.ts} +1 -1
- package/dist/spec/index.d.ts +3 -3
- package/dist/spec/index.js +2 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +2 -2
- package/docs/design-patterns.md +150 -27
- package/package.json +10 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { a as LintResult, L as LintRule, b as Linter, M as MetadataRegistry } from './registry-
|
|
2
|
-
import { aN as SelectableOf, aO as PrimaryKeyOf, aP as RequestContext, aQ as Middleware, aR as ReadRequestKind, aS as CtxModel, aT as ReadParams, aU as ReadRequestCtx, D as DynamoDBOperation, aV as Item, n as Executor, aW as RetryPolicy, am as ExecutionPlanSpec, aX as KeyDefinition, aY as GsiDefinition, aZ as ModelKind, a_ as FieldOptions, a$ as DynamoType, b0 as ProjectionTransform, b1 as MaintainEvent, b2 as MembershipPredicate, b3 as MaintainConsistency, b4 as MaintainUpdateMode, b5 as MembershipPredicateOp, b6 as RelationOptions, b7 as AggregateOptions, b8 as AggregateValue, b9 as SelectBuilderSpec, ba as RawCondition, m as EntityMetadata, N as TransactionSpec, _ as Manifest, bb as RetryOverride, bc as ExecutionPlan, bd as FieldMetadata, be as ResolvedKey, o as ReadExecOptions, p as ExecutorResult, q as BatchGetExecInput, P as PutInput, W as WriteExecOptions, r as WriteResult, s as UpdateInput, t as DeleteInput, u as BatchWriteExecItem, v as BatchExecOptions, T as TransactWriteExecItem, bf as RelationMetadata, aC as TransactionItemSpec, bg as MaintainEffect, M as ModelStatic, w as DDBModel, V as ViewDefinition, A as Param, x as ParamDescriptor, X as DefinitionMap, bh as OperationDefinition, bi as WriteDefinitionOptions, bj as PartialQueryKeyOf, bk as StrictSelectSpec, bl as ReadDefinitionOptions, bm as EntityInput, bn as UniqueQueryKeyOf } from './maintenance-view-adapter-
|
|
3
|
-
export { bo as AggregateMetadata, Z as AnyOperationDefinition, bp as BatchDeleteRequest, bq as BatchGetOptions, br as BatchGetRequest, bs as BatchGetResult, bt as BatchPutRequest, B as BatchResult, bu as BatchWriteRequest, $ as BridgeBundle, bv as CONTRACT_RANGE_FANOUT_CONCURRENCY, C as CdcEmulatorOptions, a as CdcMode, bw as CdcModelRegistry, bx as CdcSubscribeHandlers, by as Change, b as ChangeBatch, c as ChangeEvent, d as ChangeEventName, e as ChangeHandler, f as ClockMode, bz as CollectionEffect, bA as CollectionOptions, bB as Column, bC as ColumnMap, a1 as CommandContractMethodSpec, bD as CommandInputShape, bE as CommandMethod, I as CommandMethodSpec, H as CommandModelContract, bF as CommandPlan, a2 as CommandResolutionTarget, bG as CommandResultKind, bH as CommandSelectShape, L as CommandSpec, a3 as CompiledFragment, a5 as ComposeSpec, g as ConcurrentRecomputeRef, bI as CondSlot, bJ as ConditionCheckInput, z as ConditionInput, a0 as ConditionSpec, bK as Connection, O as ContextSpec, bL as ContractCallSignature, a7 as ContractCardinality, bM as ContractCommandParams, a8 as ContractCommandResult, bN as ContractComposeNode, bO as ContractFromRef, a9 as ContractInputArity, bP as ContractItem, bQ as ContractKeyFieldRef, bR as ContractKeyInput, bS as ContractKeyRef, aa as ContractKeySpec, ab as ContractKind, bT as ContractMethodOp, bU as ContractParamRef, bV as ContractQueryParams, ac as ContractResolution, J as ContractSpec, bW as CounterAggregate, bX as CounterEffect, bY as CtxBase, bZ as DEFAULT_MAX_ATTEMPTS, b_ as DEFAULT_RETRY_POLICY, b$ as DeleteOptions, c0 as DeriveEffect, ae as DerivedEdgeWrite, ak as DerivedUpdate, c1 as DescriptorBinding, c2 as ENTITY_WRITES_MARKER, c3 as EdgeEffect, c4 as EffectPath, c5 as EmbeddedMetadata, c6 as EmitEffect, y as EntityRef, c7 as EntityWritesDefinition, c8 as EntityWritesShape, E as EventLog, c9 as ExecutableCommandContract, ca as ExecutableQueryContract, F as FaultSpec, cb as FilterInput, an as FilterSpec, cc as FragmentInput, cd as GsiDefinitionMarker, ce as GsiOptions, cf as IdempotencyEffect, cg as InProcessWriteDescriptor, ch as
|
|
1
|
+
export { a as LintResult, L as LintRule, b as Linter, M as MetadataRegistry } from './registry-DbqmFyab.js';
|
|
2
|
+
import { aN as SelectableOf, aO as PrimaryKeyOf, aP as RequestContext, aQ as Middleware, aR as ReadRequestKind, aS as CtxModel, aT as ReadParams, aU as ReadRequestCtx, D as DynamoDBOperation, aV as Item, n as Executor, aW as RetryPolicy, am as ExecutionPlanSpec, aX as KeyDefinition, aY as GsiDefinition, aZ as ModelKind, a_ as FieldOptions, a$ as DynamoType, b0 as ProjectionTransform, b1 as MaintainEvent, b2 as MembershipPredicate, b3 as MaintainConsistency, b4 as MaintainUpdateMode, b5 as MembershipPredicateOp, b6 as RelationOptions, b7 as AggregateOptions, b8 as AggregateValue, b9 as SelectBuilderSpec, ba as RawCondition, m as EntityMetadata, N as TransactionSpec, _ as Manifest, bb as RetryOverride, bc as ExecutionPlan, bd as FieldMetadata, be as ResolvedKey, o as ReadExecOptions, p as ExecutorResult, q as BatchGetExecInput, P as PutInput, W as WriteExecOptions, r as WriteResult, s as UpdateInput, t as DeleteInput, u as BatchWriteExecItem, v as BatchExecOptions, T as TransactWriteExecItem, bf as RelationMetadata, aC as TransactionItemSpec, bg as MaintainEffect, M as ModelStatic, w as DDBModel, V as ViewDefinition, A as Param, x as ParamDescriptor, X as DefinitionMap, bh as OperationDefinition, bi as WriteDefinitionOptions, bj as PartialQueryKeyOf, bk as StrictSelectSpec, bl as ReadDefinitionOptions, bm as EntityInput, bn as UniqueQueryKeyOf } from './maintenance-view-adapter-CFeasCKo.js';
|
|
3
|
+
export { bo as AggregateMetadata, Z as AnyOperationDefinition, bp as BatchDeleteRequest, bq as BatchGetOptions, br as BatchGetRequest, bs as BatchGetResult, bt as BatchPutRequest, B as BatchResult, bu as BatchWriteRequest, $ as BridgeBundle, bv as CONTRACT_RANGE_FANOUT_CONCURRENCY, C as CdcEmulatorOptions, a as CdcMode, bw as CdcModelRegistry, bx as CdcSubscribeHandlers, by as Change, b as ChangeBatch, c as ChangeEvent, d as ChangeEventName, e as ChangeHandler, f as ClockMode, bz as CollectionEffect, bA as CollectionOptions, bB as Column, bC as ColumnMap, a1 as CommandContractMethodSpec, bD as CommandInputShape, bE as CommandMethod, I as CommandMethodSpec, H as CommandModelContract, bF as CommandPlan, a2 as CommandResolutionTarget, bG as CommandResultKind, bH as CommandSelectShape, L as CommandSpec, a3 as CompiledFragment, a5 as ComposeSpec, g as ConcurrentRecomputeRef, bI as CondSlot, bJ as ConditionCheckInput, z as ConditionInput, a0 as ConditionSpec, bK as Connection, O as ContextSpec, bL as ContractCallSignature, a7 as ContractCardinality, bM as ContractCommandParams, a8 as ContractCommandResult, bN as ContractComposeNode, bO as ContractFromRef, a9 as ContractInputArity, bP as ContractItem, bQ as ContractKeyFieldRef, bR as ContractKeyInput, bS as ContractKeyRef, aa as ContractKeySpec, ab as ContractKind, bT as ContractMethodOp, bU as ContractParamRef, bV as ContractQueryParams, ac as ContractResolution, J as ContractSpec, bW as CounterAggregate, bX as CounterEffect, bY as CtxBase, bZ as DEFAULT_MAX_ATTEMPTS, b_ as DEFAULT_RETRY_POLICY, b$ as DeleteOptions, c0 as DeriveEffect, ae as DerivedEdgeWrite, ak as DerivedUpdate, c1 as DescriptorBinding, c2 as ENTITY_WRITES_MARKER, c3 as EdgeEffect, c4 as EffectPath, c5 as EmbeddedMetadata, c6 as EmitEffect, y as EntityRef, c7 as EntityWritesDefinition, c8 as EntityWritesShape, E as EventLog, c9 as ExecutableCommandContract, ca as ExecutableQueryContract, F as FaultSpec, cb as FilterInput, an as FilterSpec, cc as FragmentInput, cd as GsiDefinitionMarker, ce as GsiOptions, cf as IdempotencyEffect, cg as InProcessWriteDescriptor, ch as InlineSnapshotSpec, ci as InputArity, cj as KeyDefinitionMarker, ck as KeySegment, cl as KeySlot, cm as KeyStructure, cn as KeyedResult, co as LIFECYCLE_CONTRACT_MARKER, cp as LifecycleContract, cq as LifecycleEffects, cr as LiteralParam, cs as MaintainItem, ct as MaintainTrigger, cu as MaintenanceGraph, ap as ManifestEntity, aq as ManifestField, ar as ManifestFieldType, as as ManifestGsi, at as ManifestKey, au as ManifestRelation, av as ManifestTable, cv as MembershipEffect, cw as ModelRef, cx as MutateMode, cy as MutateOptions, cz as MutateParallelResult, cA as MutateTransactionResult, cB as MutationBody, cC as MutationDescriptorMap, cD as MutationFragment, cE as MutationInputProxy, cF as MutationInputRef, cG as MutationIntent, cH as NumberParam, cI as OperationKind, aw as OperationSpec, Y as OperationsDocument, cJ as ParallelOpResult, cK as ParamKind, ax as ParamSpec, cL as ParamStructure, cM as PersistCtx, cN as PersistOrigin, cO as PlannedCommandMethod, cP as ProjectionMap, cQ as ProjectionTransformOp, cR as PutOptions, ay as QueryContractMethodSpec, cS as QueryEnvelopeResult, cT as QueryKeyOf, cU as QueryMethod, G as QueryMethodSpec, Q as QueryModelContract, cV as QueryResult, K as QuerySpec, az as RangeConditionSpec, cW as ReadEnvelope, cX as ReadOpCtx, cY as ReadOpKind, aA as ReadOperationType, cZ as ReadRouteDescriptor, c_ as ReadRouteOptions, c$ as ReadRouteResult, d0 as RecordedCompose, d1 as RelationBuilder, d2 as RelationConsistency, d3 as RelationLimitOptions, d4 as RelationPattern, d5 as RelationProjection, d6 as RelationReadOptions, d7 as RelationSelect, d8 as RelationSpec, d9 as RelationUpdateMode, da as RelationWriteOptions, R as ReplayOptions, db as RequiresEffect, dc as Resolution, dd as RetryInfo, de as RetryOperationKind, aB as SPEC_VERSION, df as SegmentSpec, dg as SegmentedKey, dh as SelectBuilder, di as SelectOf, S as ShardId, dj as SnapshotEffect, h as StartingPosition, i as StreamViewType, dk as StringParam, j as SubscribeHandler, k as SubscribeHandlers, dl as TransactionContext, aD as TransactionItemType, dm as UniqueEffect, dn as Updatable, dp as UpdateOptions, dq as ViewSourceSlice, aE as WhenSpec, dr as WriteCtx, ds as WriteDescriptor, dt as WriteEnvelope, du as WriteInput, dv as WriteKind, dw as WriteLifecyclePhase, dx as WriteMiddleware, aF as WriteOperationType, dy as WriteRecorder, dz as WriteResultProjection, dA as attachModelClass, dB as buildDeleteInput, dC as buildMaintenanceGraph, dD as buildPutInput, l as buildSubscribeHandler, dE as buildUpdateInput, dF as collectViewDefinitions, aH as compileFragment, aI as compileMutationPlan, aJ as compileSingleFragmentPlan, dG as cond, dH as contractOfMethodSpec, dI as definePlan, dJ as entityWrites, dK as executeBatchGet, dL as executeBatchWrite, dM as executeCommandMethod, dN as executeDelete, dO as executeKeyedBatchGet, dP as executePut, dQ as executeQueryMethod, dR as executeRangeFanout, dS as executeTransaction, dT as executeUpdate, dU as from, dV as getEntityWrites, dW as gsi, dX as identity, dY as isColumn, dZ as isCommandModelContract, d_ as isCommandPlan, d$ as isContractComposeNode, e0 as isContractFromRef, e1 as isContractKeyFieldRef, e2 as isContractKeyRef, e3 as isContractParamRef, e4 as isEntityWritesDefinition, e5 as isKeySegment, e6 as isLifecycleContract, e7 as isMaintainTrigger, e8 as isMutationFragment, e9 as isMutationInputRef, ea as isParam, eb as isPlannedCommandMethod, ec as isQueryModelContract, ed as isRetryableError, ee as isRetryableTransactionCancellation, ef as k, eg as key, eh as lifecyclePhaseForIntent, ei as maintainTrigger, ej as mintContractKeyFieldRef, ek as mintContractParamRef, el as mutation, em as param, en as preview, eo as publicCommandModel, ep as publicQueryModel, eq as query, aL as resolveLifecycle, er as wholeKeysSentinel } from './maintenance-view-adapter-CFeasCKo.js';
|
|
4
4
|
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
5
5
|
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
6
|
-
export { C as CdcEmulator, M as MAINT_OUTBOX_PK_PREFIX, a as MaintenanceDrain, b as MaintenanceDrainOptions, c as createCdcEmulator, d as createMaintenanceDrain, e as createMaintenanceDrainHandler, p as parseChange } from './from-change-
|
|
7
|
-
export { c as createDefaultLinter, g as gsiAmbiguityRule, m as missingGsiRule, n as noScanRule, q as queryBoundaryRule, r as relationDepthRule, a as requireLimitRule } from './relation-depth-
|
|
8
|
-
export { A as AnyModelContract, B as BuiltContracts, C as ContextOwnership, a as ContextOwnershipMap, b as ContractBoundaryViolation, c as ContractInputs, d as ContractMap, e as ContractN1Violation, T as TransactionDefinition, f as TransactionParamShape, g as TransactionRef, h as TxConditionCheckOptions, i as TxForEachInstruction, j as TxForEachOptions, k as TxInstruction, l as TxRecorder, m as TxWriteInstruction, n as TxWriteOptions, W as WhenComparison, o as assertBundleSerializable, p as assertContractBoundaries, q as assertContractN1Safe, r as assertJsonSerializable, s as assertSupportedCondition, t as buildBridgeBundle, u as buildContexts, v as buildContracts, w as buildManifest, x as buildOperations, y as buildQuerySpec, z as buildTransactionSpec, D as buildTransactions, E as collectContractBoundaryViolations, F as collectContractN1Violations, G as defineTransaction, H as defineTransactions, I as isTransactionRef, J as when } from './index-
|
|
6
|
+
export { C as CdcEmulator, M as MAINT_OUTBOX_PK_PREFIX, a as MaintenanceDrain, b as MaintenanceDrainOptions, c as createCdcEmulator, d as createMaintenanceDrain, e as createMaintenanceDrainHandler, p as parseChange } from './from-change-CFzBy7aU.js';
|
|
7
|
+
export { c as createDefaultLinter, g as gsiAmbiguityRule, m as missingGsiRule, n as noScanRule, q as queryBoundaryRule, r as relationDepthRule, a as requireLimitRule } from './relation-depth-0TiWr5OW.js';
|
|
8
|
+
export { A as AnyModelContract, B as BuiltContracts, C as ContextOwnership, a as ContextOwnershipMap, b as ContractBoundaryViolation, c as ContractInputs, d as ContractMap, e as ContractN1Violation, T as TransactionDefinition, f as TransactionParamShape, g as TransactionRef, h as TxConditionCheckOptions, i as TxForEachInstruction, j as TxForEachOptions, k as TxInstruction, l as TxRecorder, m as TxWriteInstruction, n as TxWriteOptions, W as WhenComparison, o as assertBundleSerializable, p as assertContractBoundaries, q as assertContractN1Safe, r as assertJsonSerializable, s as assertSupportedCondition, t as buildBridgeBundle, u as buildContexts, v as buildContracts, w as buildManifest, x as buildOperations, y as buildQuerySpec, z as buildTransactionSpec, D as buildTransactions, E as collectContractBoundaryViolations, F as collectContractN1Violations, G as defineTransaction, H as defineTransactions, I as isTransactionRef, J as when } from './index-CtJbTrfB.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Query options with conditional `consistentRead` availability.
|
|
@@ -784,6 +784,48 @@ type HasManyVersionedCallback<Self, Source> = (self: SelfProxy<Self>, source: So
|
|
|
784
784
|
|
|
785
785
|
declare function hasMany(targetFactory: () => new (...args: unknown[]) => unknown, keyBinding: Record<string, string>, options?: RelationOptions): (value: undefined, context: ClassFieldDecoratorContext) => void;
|
|
786
786
|
declare function hasMany<Self = unknown, Source = unknown>(targetFactory: () => new (...args: unknown[]) => unknown, callback: HasManyVersionedCallback<Self, Source>): (value: undefined, context: ClassFieldDecoratorContext) => void;
|
|
787
|
+
/**
|
|
788
|
+
* Options for a `@refs` relation (issue #197, Pattern 2 Embedded Refs read side).
|
|
789
|
+
*
|
|
790
|
+
* A `@refs` relation resolves an **inline id-list** on the parent row into the
|
|
791
|
+
* referenced child bodies in ONE deduped `BatchGetItem`:
|
|
792
|
+
*
|
|
793
|
+
* ```ts
|
|
794
|
+
* @list tagRefs!: { tagId: string }[]; // the stored inline ref list
|
|
795
|
+
* @refs(() => PTagModel, { from: 'tagRefs', key: 'tagId' })
|
|
796
|
+
* tags!: PTagModel[]; // resolved child bodies
|
|
797
|
+
* ```
|
|
798
|
+
*
|
|
799
|
+
* `Model.query(key, { tags: { select: { name: true } } })` then reads the parent,
|
|
800
|
+
* pulls `tagId` off each `tagRefs` element, dedupes, and hydrates the `PTag`
|
|
801
|
+
* bodies in a single BatchGet — the exact physical cost (parent read + 1
|
|
802
|
+
* BatchGet) of the manual two-call form, but declarative and typed.
|
|
803
|
+
*/
|
|
804
|
+
interface RefsOptions extends RelationOptions {
|
|
805
|
+
/** The parent LIST attribute holding the inline reference elements (e.g. `'tagRefs'`). */
|
|
806
|
+
from: string;
|
|
807
|
+
/** The key field to read off EACH list element (e.g. `'tagId'`). */
|
|
808
|
+
key: string;
|
|
809
|
+
/**
|
|
810
|
+
* The TARGET child key field the element key binds to. Defaults to `key` (the
|
|
811
|
+
* common case where the element field name matches the child's key field name,
|
|
812
|
+
* e.g. `tagRefs[].tagId` → `PTag.tagId`). Supply when they differ.
|
|
813
|
+
*/
|
|
814
|
+
to?: string;
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* Declares a **`refs`** relation (issue #197): the parent row holds an inline
|
|
818
|
+
* id-list (`from`, a `@list` attribute) whose elements each carry a reference key
|
|
819
|
+
* (`key`); the relation resolves those references to the target child bodies in a
|
|
820
|
+
* single deduped `BatchGetItem` at read time
|
|
821
|
+
* (`Model.query(key, { <prop>: { select: {…} } })`).
|
|
822
|
+
*
|
|
823
|
+
* The decorated property must be declared as an array of the target model
|
|
824
|
+
* (`tags!: PTagModel[]`), so it selects/returns like a bounded collection
|
|
825
|
+
* (`{ items, cursor }`, `cursor` always `null` — a refs list is finite, not
|
|
826
|
+
* paged).
|
|
827
|
+
*/
|
|
828
|
+
declare function refs(targetFactory: () => new (...args: unknown[]) => unknown, options: RefsOptions): (_value: undefined, context: ClassFieldDecoratorContext) => void;
|
|
787
829
|
declare function belongsTo(targetFactory: () => new (...args: unknown[]) => unknown, keyBinding: Record<string, string>, options?: RelationOptions): (_value: undefined, context: ClassFieldDecoratorContext) => void;
|
|
788
830
|
declare function hasOne(targetFactory: () => new (...args: unknown[]) => unknown, keyBinding: Record<string, string>, options?: RelationOptions): (value: undefined, context: ClassFieldDecoratorContext) => void;
|
|
789
831
|
declare function hasOne<Self = unknown, Source = unknown>(targetFactory: () => new (...args: unknown[]) => unknown, callback: HasOneVersionedCallback<Self, Source>): (value: undefined, context: ClassFieldDecoratorContext) => void;
|
|
@@ -1149,7 +1191,10 @@ interface ProjectionResult {
|
|
|
1149
1191
|
*
|
|
1150
1192
|
* Rules:
|
|
1151
1193
|
* - scalar (`true`) → field name added to projection
|
|
1152
|
-
* -
|
|
1194
|
+
* - inline embeddedSnapshot read (`{ inline: true }`, issue #196) → the owner-row
|
|
1195
|
+
* physical attribute is added to the projection like a scalar (the maintained
|
|
1196
|
+
* copy is read straight off the row, NOT traversed to child partitions)
|
|
1197
|
+
* - embedded (object without `select`/`inline`) → nested path e.g. `#p0.#p1`
|
|
1153
1198
|
* - relation (object with `select` property) → excluded from projection
|
|
1154
1199
|
* - additionalFields → added to projection (for implicit key resolution)
|
|
1155
1200
|
*/
|
|
@@ -2055,4 +2100,4 @@ type WriteOnlyDefinitions<D extends DefinitionMap> = {
|
|
|
2055
2100
|
[K in keyof D]: D[K] extends OperationDefinition<infer _T, infer Op, infer _K, infer _S, infer _Ch, infer _P> ? Op extends 'put' | 'update' | 'delete' ? D[K] : OperationDefinition<DDBModel, 'put' | 'update' | 'delete', unknown, unknown, unknown, Record<string, ParamDescriptor>> : never;
|
|
2056
2101
|
};
|
|
2057
2102
|
|
|
2058
|
-
export { AggregateOptions, AggregateValue, BATCH_GET_MAX_KEYS, BATCH_WRITE_MAX_ITEMS, BatchExecOptions, BatchGetExecInput, BatchWriteExecItem, ClientManager, type CollectParams, type ConditionExpressionResult, CtxModel, DDBModel, DefinitionMap, DeleteInput, type DriftReport, DynamoDBOperation, DynamoExecutor, DynamoType, EDGE_WRITES_MARKER, type EdgeLifecycle, type EdgeWriteDeclaration, type EdgeWriteRecorder, type EdgeWritesDefinition, EntityMetadata, ExecutionPlan, Executor, ExecutorResult, type ExplainInput, FieldMetadata, FieldOptions, type FilterExpressionResult, GsiDefinition, type HasManyVersionedCallback, type HasManyVersionedOptions, type HasOneVersionedCallback, type HasOneVersionedOptions, Item, KeyDefinition, type ListInput, type ListOptions, MAX_TRANSACT_ITEMS, MaintainConsistency, MaintainEffect, MaintainEvent, MaintainUpdateMode, type MaintainedFromCallback, type MaintainedFromOptions, type MaintenanceRebuildOptions, MaintenanceRebuilder, Manifest, MembershipPredicate, MembershipPredicateOp, Middleware, type ModelOptions, ModelStatic, OLD_VALUE_NAMESPACE, OperationDefinition, Param, ParamDescriptor, type Parameterize, PartialQueryKeyOf, type PerKeyCursorEnvelope, type PlanInput, PrimaryKeyOf, type ProjectionResult, ProjectionTransform, type ProjectionValue, PutInput, type QueryOptions$1 as QueryOptions, RawCondition, ReadExecOptions, ReadParams, ReadRequestCtx, ReadRequestKind, type RebuildResult, RelationMetadata, RelationOptions, type RelationTraversalOptions, RequestContext, ResolvedKey, RetryOverride, RetryPolicy, RetryingExecutor, SelectableOf, type SelfProxy, type SelfRef, type SourceProxy, type SourceRef, TableMapping, TransactWriteExecItem, TransactionItemSpec, TransactionSpec, UniqueQueryKeyOf, type UpdateExpressionResult, UpdateInput, type VersionedHistoryOptions, type VersionedLatestOptions, ViewDefinition, WriteDefinitionOptions, WriteExecOptions, WriteResult, aggregate, belongsTo, binary, boolean, buildConditionExpression, buildProjection, buildUpdateExpression, cdcProjected, compileFilterExpression, count, createMaintenanceRebuilder, datetime, decodeCursor, decodePerKeyCursor, defineCommands, defineDelete, defineList, definePut, defineQueries, defineQuery, defineUpdate, deriveEdgeWriteItems, deriveEdgeWriteItemsFor, deriveModelEdgeWriteItems, derivePrefix, detectRelationFields, edgeWrites, embedded, encodeCursor, encodePerKeyCursor, evaluateFilter, execute, executeDeclarativeTransaction, executeExplain, executeList, executeQuery, expandTransaction, field, getEdgeWrites, getImplicitKeyFields, hasMany, hasOne, hydrate, isEdgeWritesDefinition, isSelectBuilder, list, literal, maintainedFrom, map, max, model, number, numberSet, plan, resolveKey, resolveRelations, serializeContractKey, serializeFieldValue, string, stringSet, ttl, validateDepth, validateGsiAmbiguity, whenMember };
|
|
2103
|
+
export { AggregateOptions, AggregateValue, BATCH_GET_MAX_KEYS, BATCH_WRITE_MAX_ITEMS, BatchExecOptions, BatchGetExecInput, BatchWriteExecItem, ClientManager, type CollectParams, type ConditionExpressionResult, CtxModel, DDBModel, DefinitionMap, DeleteInput, type DriftReport, DynamoDBOperation, DynamoExecutor, DynamoType, EDGE_WRITES_MARKER, type EdgeLifecycle, type EdgeWriteDeclaration, type EdgeWriteRecorder, type EdgeWritesDefinition, EntityMetadata, ExecutionPlan, Executor, ExecutorResult, type ExplainInput, FieldMetadata, FieldOptions, type FilterExpressionResult, GsiDefinition, type HasManyVersionedCallback, type HasManyVersionedOptions, type HasOneVersionedCallback, type HasOneVersionedOptions, Item, KeyDefinition, type ListInput, type ListOptions, MAX_TRANSACT_ITEMS, MaintainConsistency, MaintainEffect, MaintainEvent, MaintainUpdateMode, type MaintainedFromCallback, type MaintainedFromOptions, type MaintenanceRebuildOptions, MaintenanceRebuilder, Manifest, MembershipPredicate, MembershipPredicateOp, Middleware, type ModelOptions, ModelStatic, OLD_VALUE_NAMESPACE, OperationDefinition, Param, ParamDescriptor, type Parameterize, PartialQueryKeyOf, type PerKeyCursorEnvelope, type PlanInput, PrimaryKeyOf, type ProjectionResult, ProjectionTransform, type ProjectionValue, PutInput, type QueryOptions$1 as QueryOptions, RawCondition, ReadExecOptions, ReadParams, ReadRequestCtx, ReadRequestKind, type RebuildResult, type RefsOptions, RelationMetadata, RelationOptions, type RelationTraversalOptions, RequestContext, ResolvedKey, RetryOverride, RetryPolicy, RetryingExecutor, SelectableOf, type SelfProxy, type SelfRef, type SourceProxy, type SourceRef, TableMapping, TransactWriteExecItem, TransactionItemSpec, TransactionSpec, UniqueQueryKeyOf, type UpdateExpressionResult, UpdateInput, type VersionedHistoryOptions, type VersionedLatestOptions, ViewDefinition, WriteDefinitionOptions, WriteExecOptions, WriteResult, aggregate, belongsTo, binary, boolean, buildConditionExpression, buildProjection, buildUpdateExpression, cdcProjected, compileFilterExpression, count, createMaintenanceRebuilder, datetime, decodeCursor, decodePerKeyCursor, defineCommands, defineDelete, defineList, definePut, defineQueries, defineQuery, defineUpdate, deriveEdgeWriteItems, deriveEdgeWriteItemsFor, deriveModelEdgeWriteItems, derivePrefix, detectRelationFields, edgeWrites, embedded, encodeCursor, encodePerKeyCursor, evaluateFilter, execute, executeDeclarativeTransaction, executeExplain, executeList, executeQuery, expandTransaction, field, getEdgeWrites, getImplicitKeyFields, hasMany, hasOne, hydrate, isEdgeWritesDefinition, isSelectBuilder, list, literal, maintainedFrom, map, max, model, number, numberSet, plan, refs, resolveKey, resolveRelations, serializeContractKey, serializeFieldValue, string, stringSet, ttl, validateDepth, validateGsiAmbiguity, whenMember };
|
package/dist/index.js
CHANGED
|
@@ -39,7 +39,6 @@ import {
|
|
|
39
39
|
deriveEdgeWriteItems,
|
|
40
40
|
deriveEdgeWriteItemsFor,
|
|
41
41
|
deriveModelEdgeWriteItems,
|
|
42
|
-
detectRelationFields,
|
|
43
42
|
edgeWrites,
|
|
44
43
|
encodeCursor,
|
|
45
44
|
evaluateFilter,
|
|
@@ -53,7 +52,6 @@ import {
|
|
|
53
52
|
executeQuery,
|
|
54
53
|
from,
|
|
55
54
|
getEdgeWrites,
|
|
56
|
-
getImplicitKeyFields,
|
|
57
55
|
isCommandModelContract,
|
|
58
56
|
isCommandPlan,
|
|
59
57
|
isContractComposeNode,
|
|
@@ -80,7 +78,7 @@ import {
|
|
|
80
78
|
validateDepth,
|
|
81
79
|
when,
|
|
82
80
|
wholeKeysSentinel
|
|
83
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-N5NQM3SO.js";
|
|
84
82
|
import {
|
|
85
83
|
CdcEmulator,
|
|
86
84
|
MAINT_OUTBOX_PK_PREFIX,
|
|
@@ -92,7 +90,7 @@ import {
|
|
|
92
90
|
orderAndTrimCollection,
|
|
93
91
|
pathField,
|
|
94
92
|
projectFrom
|
|
95
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-5NXNEW43.js";
|
|
96
94
|
import {
|
|
97
95
|
BATCH_GET_MAX_KEYS,
|
|
98
96
|
BATCH_WRITE_MAX_ITEMS,
|
|
@@ -119,6 +117,7 @@ import {
|
|
|
119
117
|
collectViewDefinitions,
|
|
120
118
|
commitTransaction,
|
|
121
119
|
cond,
|
|
120
|
+
detectRelationFields,
|
|
122
121
|
entityWrites,
|
|
123
122
|
execItemKeySignature,
|
|
124
123
|
executeDelete,
|
|
@@ -126,6 +125,7 @@ import {
|
|
|
126
125
|
executeTransaction,
|
|
127
126
|
executeUpdate,
|
|
128
127
|
getEntityWrites,
|
|
128
|
+
getImplicitKeyFields,
|
|
129
129
|
gsi,
|
|
130
130
|
hydrate,
|
|
131
131
|
identity,
|
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
resolveConditionTree,
|
|
146
146
|
resolveModelClass,
|
|
147
147
|
serializeFieldValue
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-F2DI3GTI.js";
|
|
149
149
|
import {
|
|
150
150
|
Linter,
|
|
151
151
|
TableMapping,
|
|
@@ -512,6 +512,29 @@ function hasMany(targetFactory, keyBindingOrCallback, options) {
|
|
|
512
512
|
});
|
|
513
513
|
};
|
|
514
514
|
}
|
|
515
|
+
function refs(targetFactory, options) {
|
|
516
|
+
return function(_value, context) {
|
|
517
|
+
const propertyName = String(context.name);
|
|
518
|
+
assertRelationPropertyNameAllowed(propertyName);
|
|
519
|
+
if (!options || typeof options.from !== "string" || typeof options.key !== "string") {
|
|
520
|
+
throw new Error(
|
|
521
|
+
`@refs relation '${propertyName}': options must supply \`from\` (the parent list attribute, e.g. 'tagRefs') and \`key\` (the ref field on each element, e.g. 'tagId').`
|
|
522
|
+
);
|
|
523
|
+
}
|
|
524
|
+
const { from: from2, key: key2, to, ...relationOptions } = options;
|
|
525
|
+
const targetKeyField = to ?? key2;
|
|
526
|
+
collectRelation({
|
|
527
|
+
type: "refs",
|
|
528
|
+
propertyName,
|
|
529
|
+
targetFactory,
|
|
530
|
+
// Scalar keyBinding: target child key field ← element key name. Per resolved
|
|
531
|
+
// element the existing scalar key-building machinery reuses this unchanged.
|
|
532
|
+
keyBinding: { [targetKeyField]: key2 },
|
|
533
|
+
refs: { from: from2, key: key2 },
|
|
534
|
+
...Object.keys(relationOptions).length > 0 ? { options: relationOptions } : {}
|
|
535
|
+
});
|
|
536
|
+
};
|
|
537
|
+
}
|
|
515
538
|
function belongsTo(targetFactory, keyBinding, options) {
|
|
516
539
|
return function(_value, context) {
|
|
517
540
|
const propertyName = String(context.name);
|
|
@@ -1994,6 +2017,7 @@ export {
|
|
|
1994
2017
|
publicQueryModel,
|
|
1995
2018
|
query,
|
|
1996
2019
|
queryBoundaryRule,
|
|
2020
|
+
refs,
|
|
1997
2021
|
relationDepthRule,
|
|
1998
2022
|
requireLimitRule,
|
|
1999
2023
|
resolveKey,
|
package/dist/linter/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { L as LintRule } from '../registry-
|
|
2
|
-
export { a as LintResult, b as Linter } from '../registry-
|
|
3
|
-
export { c as createDefaultLinter, g as gsiAmbiguityRule, m as missingGsiRule, n as noScanRule, q as queryBoundaryRule, r as relationDepthRule, a as requireLimitRule } from '../relation-depth-
|
|
4
|
-
import '../maintenance-view-adapter-
|
|
1
|
+
import { L as LintRule } from '../registry-DbqmFyab.js';
|
|
2
|
+
export { a as LintResult, b as Linter } from '../registry-DbqmFyab.js';
|
|
3
|
+
export { c as createDefaultLinter, g as gsiAmbiguityRule, m as missingGsiRule, n as noScanRule, q as queryBoundaryRule, r as relationDepthRule, a as requireLimitRule } from '../relation-depth-0TiWr5OW.js';
|
|
4
|
+
import '../maintenance-view-adapter-CFeasCKo.js';
|
|
5
5
|
import '@aws-sdk/client-dynamodb';
|
|
6
6
|
|
|
7
7
|
/**
|
package/dist/{maintenance-view-adapter-D5t9taTE.d.ts → maintenance-view-adapter-CFeasCKo.d.ts}
RENAMED
|
@@ -668,7 +668,34 @@ type Scalar = string | number | boolean | bigint | symbol | null | undefined | D
|
|
|
668
668
|
* - Function properties → excluded
|
|
669
669
|
*/
|
|
670
670
|
type SelectableOf<T> = {
|
|
671
|
-
[K in keyof T as T[K] extends Function ? never : K]?: T[K] extends Array<infer E> ? [E] extends [DDBModel] ? RelationSpec<E> : true : NonNullable<T[K]> extends DDBModel ? null extends T[K] ? RelationSpec<NonNullable<T[K]>> : SelectableOf<T[K]> : T[K] extends Scalar ? true : SelectableOf<T[K]>;
|
|
671
|
+
[K in keyof T as T[K] extends Function ? never : K]?: T[K] extends Array<infer E> ? [E] extends [DDBModel] ? RelationSpec<E> | InlineSnapshotSpec : true : NonNullable<T[K]> extends DDBModel ? null extends T[K] ? RelationSpec<NonNullable<T[K]>> | InlineSnapshotSpec : SelectableOf<T[K]> : T[K] extends Scalar ? true : SelectableOf<T[K]>;
|
|
672
|
+
};
|
|
673
|
+
/**
|
|
674
|
+
* Inline-read spec for an **`embeddedSnapshot`** relation field (issue #196).
|
|
675
|
+
*
|
|
676
|
+
* An `embeddedSnapshot` relation (`@hasMany` collection like
|
|
677
|
+
* `ThreadSummary.latestPosts`, or a `@belongsTo`/`@hasOne` single-row mirror)
|
|
678
|
+
* keeps a *maintained projected copy* of the related data as a **physical
|
|
679
|
+
* attribute on the owner row** — docs §3 calls this "read inline off the owner
|
|
680
|
+
* row". `{ inline: true }` selects exactly that stored copy: the read projects
|
|
681
|
+
* the owner-row attribute and returns it in its declared shape, WITHOUT any
|
|
682
|
+
* child-partition traversal.
|
|
683
|
+
*
|
|
684
|
+
* It is deliberately a **distinct shape** from the traversal spec
|
|
685
|
+
* {@link RelationSpec} (`{ select: … }` / a `relation(…)` builder):
|
|
686
|
+
*
|
|
687
|
+
* - `{ latestPosts: { select: { … } } }` → **traversal** — a Query against the
|
|
688
|
+
* relation's child partition (the real children). A different physical read.
|
|
689
|
+
* - `{ latestPosts: { inline: true } }` → **inline read** — the maintained
|
|
690
|
+
* copy stored on the owner row. No join.
|
|
691
|
+
*
|
|
692
|
+
* The two never overlap structurally (`inline` vs `select`), so the type layer
|
|
693
|
+
* keeps them apart, and at runtime `{ inline: true }` is rejected on any field
|
|
694
|
+
* that is not an `embeddedSnapshot` relation (a loud error), so the two paths
|
|
695
|
+
* are unambiguous in BOTH the types and the execution.
|
|
696
|
+
*/
|
|
697
|
+
type InlineSnapshotSpec = {
|
|
698
|
+
inline: true;
|
|
672
699
|
};
|
|
673
700
|
/**
|
|
674
701
|
* What a relation field accepts in a `select`: either the plain
|
|
@@ -738,7 +765,7 @@ type StrictSelect<T, Sel> = {
|
|
|
738
765
|
select: infer Nested;
|
|
739
766
|
} ? K extends keyof T ? Sel[K] & {
|
|
740
767
|
select: StrictSelect<RelationTargetOf<T[K]>, Nested>;
|
|
741
|
-
} : Sel[K] : Sel[K] extends object ? Sel[K] extends RelationBuilder<infer _RT, infer _RS> ? Sel[K] : K extends keyof T ? Sel[K] & StrictSelect<NonNullable<T[K]>, Sel[K]> : Sel[K] : Sel[K] : never;
|
|
768
|
+
} : Sel[K] : Sel[K] extends InlineSnapshotSpec ? Sel[K] : Sel[K] extends object ? Sel[K] extends RelationBuilder<infer _RT, infer _RS> ? Sel[K] : K extends keyof T ? Sel[K] & StrictSelect<NonNullable<T[K]>, Sel[K]> : Sel[K] : Sel[K] : never;
|
|
742
769
|
};
|
|
743
770
|
/**
|
|
744
771
|
* Extracts the relation **target entity type** from an entity field type:
|
|
@@ -794,7 +821,7 @@ type EntityInput<T> = {
|
|
|
794
821
|
*/
|
|
795
822
|
|
|
796
823
|
type QueryResult<T, S> = S extends unknown ? {
|
|
797
|
-
[K in keyof S & keyof T]: S[K] extends true ? T[K] : S[K] extends RelationBuilder<infer _RT, infer Sel> ? T[K] extends Array<infer E> ? {
|
|
824
|
+
[K in keyof S & keyof T]: S[K] extends true ? T[K] : S[K] extends InlineSnapshotSpec ? T[K] : S[K] extends RelationBuilder<infer _RT, infer Sel> ? T[K] extends Array<infer E> ? {
|
|
798
825
|
items: QueryResult<E, Sel>[];
|
|
799
826
|
cursor: string | null;
|
|
800
827
|
} : QueryResult<NonNullable<T[K]>, Sel> | null : S[K] extends {
|
|
@@ -2129,6 +2156,21 @@ interface UniqueEffect {
|
|
|
2129
2156
|
* An edge write effect (proposal §2 `edges`): create / delete the adjacency row
|
|
2130
2157
|
* that materializes a target relation. Derived to an adjacency `Put` / `Delete`
|
|
2131
2158
|
* by #82/#85 (the `src/relation/edge-write.ts` primitive) — stored opaquely here.
|
|
2159
|
+
*
|
|
2160
|
+
* ## `inverse` — dual-edge synchronization through the command IF (Epic #118 pattern 9, issue #195)
|
|
2161
|
+
*
|
|
2162
|
+
* A plain edge above is **one physical row** (the target relation's adjacency row),
|
|
2163
|
+
* created on create and deleted on delete. A **dual edge** (pattern 9 / #133) is a
|
|
2164
|
+
* bidirectional relation kept as TWO physical rows — a forward row (the target
|
|
2165
|
+
* relation's adjacency) and an inverse row on its OWN partition (a SECOND adjacency
|
|
2166
|
+
* model). {@link inverse}, when present, names that inverse row so the command /
|
|
2167
|
+
* mutation derivation ({@link import('../spec/mutation-command.js')}) maintains BOTH
|
|
2168
|
+
* rows in the SAME atomic transaction — the create `Put`s both, the delete `Delete`s
|
|
2169
|
+
* both, a foreign-key change `Delete`s+`Put`s both — exactly as the low-level
|
|
2170
|
+
* {@link import('../relation/edge-write.js').deriveModelEdgeWriteItems} path does. It
|
|
2171
|
+
* mirrors {@link import('../relation/edge-write.js').EdgeWriteDeclaration.inverse} so
|
|
2172
|
+
* the two edge-write vocabularies stay structurally identical; omit `inverse` for the
|
|
2173
|
+
* historical single-row (base + inverse GSI) bidirectional edge.
|
|
2132
2174
|
*/
|
|
2133
2175
|
interface EdgeEffect {
|
|
2134
2176
|
readonly kind: 'putEdge' | 'deleteEdge';
|
|
@@ -2136,6 +2178,22 @@ interface EdgeEffect {
|
|
|
2136
2178
|
readonly targetFactory: () => new (...args: unknown[]) => unknown;
|
|
2137
2179
|
/** The relation property on the target that reads this edge. */
|
|
2138
2180
|
readonly relationProperty: string;
|
|
2181
|
+
/**
|
|
2182
|
+
* The INVERSE edge to keep in sync (Epic #118 pattern 9 / issue #133 & #195, dual-edge).
|
|
2183
|
+
* Names the second adjacency model whose own row materializes the reverse-direction
|
|
2184
|
+
* relation. When present, the mutation-command derivation maintains the inverse row
|
|
2185
|
+
* alongside the forward row in the SAME transaction, so a one-direction declaration
|
|
2186
|
+
* driven through the command IF keeps a two-row bidirectional edge consistent. Absent
|
|
2187
|
+
* = the historical single-row (base + inverse GSI) bidirectional edge.
|
|
2188
|
+
*/
|
|
2189
|
+
readonly inverse?: {
|
|
2190
|
+
/** Resolves the inverse adjacency model whose row IS the inverse edge. */
|
|
2191
|
+
readonly adjacencyFactory: () => new (...args: unknown[]) => unknown;
|
|
2192
|
+
/** Resolves the target model whose relation the inverse row feeds. */
|
|
2193
|
+
readonly targetFactory: () => new (...args: unknown[]) => unknown;
|
|
2194
|
+
/** The relation property on the inverse target that reads the inverse row. */
|
|
2195
|
+
readonly relationProperty: string;
|
|
2196
|
+
};
|
|
2139
2197
|
}
|
|
2140
2198
|
/**
|
|
2141
2199
|
* A derived (cascading) update (proposal §2 `derive`): e.g. `User.postCount +=
|
|
@@ -2605,6 +2663,42 @@ interface WriteRecorder {
|
|
|
2605
2663
|
putEdge(target: () => new (...args: unknown[]) => unknown, relationProperty: string): EdgeEffect;
|
|
2606
2664
|
/** Declare an edge delete effect (§2 `edges`; derived #82/#85). */
|
|
2607
2665
|
deleteEdge(target: () => new (...args: unknown[]) => unknown, relationProperty: string): EdgeEffect;
|
|
2666
|
+
/**
|
|
2667
|
+
* Declare a **dual edge** (Epic #118 pattern 9 / issue #133 & #195): a bidirectional
|
|
2668
|
+
* edge maintained as TWO physical rows — a forward row (the `forward.target`'s
|
|
2669
|
+
* `relationProperty` adjacency) and an inverse row on a SECOND adjacency model
|
|
2670
|
+
* (read by `inverse.target`'s `relationProperty`). Both rows are written / deleted /
|
|
2671
|
+
* moved together from this single declaration, so the command / mutation IF keeps the
|
|
2672
|
+
* two directions in sync WITHOUT an inverse GSI — the same two-row maintenance the
|
|
2673
|
+
* low-level {@link import('../relation/edge-write.js').edgeWrites} `w.dualEdge` performs,
|
|
2674
|
+
* now reachable through `entityWrites` and thus through `executeCommandMethod` /
|
|
2675
|
+
* `DDBModel.mutate`. Use this when the reverse direction lives on its own partition
|
|
2676
|
+
* (a second row) rather than a GSI of the forward row.
|
|
2677
|
+
*
|
|
2678
|
+
* The lifecycle is chosen by the fragment intent (create → both `Put`, remove → both
|
|
2679
|
+
* `Delete`, update → both `Delete(old)+Put(new)`), so the SAME declaration is placed
|
|
2680
|
+
* under whichever lifecycle(s) the save contract maintains the edge on.
|
|
2681
|
+
*
|
|
2682
|
+
* @example
|
|
2683
|
+
* ```ts
|
|
2684
|
+
* static readonly writes = entityWrites<FollowEdgeModel>((w) => ({
|
|
2685
|
+
* create: w.lifecycle({
|
|
2686
|
+
* edges: [w.dualEdge(
|
|
2687
|
+
* { target: () => UserModel, relationProperty: 'following' },
|
|
2688
|
+
* { adjacency: () => FollowedByEdgeModel, target: () => UserModel, relationProperty: 'followers' },
|
|
2689
|
+
* )],
|
|
2690
|
+
* }),
|
|
2691
|
+
* }));
|
|
2692
|
+
* ```
|
|
2693
|
+
*/
|
|
2694
|
+
dualEdge(forward: {
|
|
2695
|
+
target: () => new (...args: unknown[]) => unknown;
|
|
2696
|
+
relationProperty: string;
|
|
2697
|
+
}, inverse: {
|
|
2698
|
+
adjacency: () => new (...args: unknown[]) => unknown;
|
|
2699
|
+
target: () => new (...args: unknown[]) => unknown;
|
|
2700
|
+
relationProperty: string;
|
|
2701
|
+
}): EdgeEffect;
|
|
2608
2702
|
/** Declare a derived / cascading update (§2 `derive`; derived #85). */
|
|
2609
2703
|
increment(target: () => new (...args: unknown[]) => unknown, keys: Readonly<Record<string, EffectPath>>, attribute: string, amount: number): DeriveEffect;
|
|
2610
2704
|
/**
|
|
@@ -3169,11 +3263,23 @@ interface ManifestGsi extends ManifestKey {
|
|
|
3169
3263
|
readonly description?: string;
|
|
3170
3264
|
}
|
|
3171
3265
|
interface ManifestRelation {
|
|
3172
|
-
readonly type: 'hasMany' | 'hasOne' | 'belongsTo';
|
|
3266
|
+
readonly type: 'hasMany' | 'hasOne' | 'belongsTo' | 'refs';
|
|
3173
3267
|
/** Target entity (model class) name. */
|
|
3174
3268
|
readonly target: string;
|
|
3175
3269
|
/** target field → source field (on this entity). */
|
|
3176
3270
|
readonly keyBinding: Readonly<Record<string, string>>;
|
|
3271
|
+
/**
|
|
3272
|
+
* List-valued source descriptor for a `refs` relation (issue #197). Present IFF
|
|
3273
|
+
* `type === 'refs'`: `from` is the parent LIST attribute holding the inline
|
|
3274
|
+
* reference elements (e.g. `'tagRefs'`), `key` the field read off each element
|
|
3275
|
+
* (e.g. `'tagId'`). Absent for every scalar-keyed relation (byte-identical to
|
|
3276
|
+
* the pre-#197 manifest). Carried so a manifest consumer can reconstruct where a
|
|
3277
|
+
* `refs` relation's BatchGet keys come from.
|
|
3278
|
+
*/
|
|
3279
|
+
readonly refs?: Readonly<{
|
|
3280
|
+
from: string;
|
|
3281
|
+
key: string;
|
|
3282
|
+
}>;
|
|
3177
3283
|
/**
|
|
3178
3284
|
* Optional human-readable description of the relation (issue #166, follow-up of
|
|
3179
3285
|
* #154), from `@hasMany/@belongsTo/@hasOne(..., { description })`. Pure documentation
|
|
@@ -6715,11 +6821,46 @@ interface RelationOptions {
|
|
|
6715
6821
|
readonly updateMode?: MaintainUpdateMode;
|
|
6716
6822
|
};
|
|
6717
6823
|
}
|
|
6824
|
+
/**
|
|
6825
|
+
* Descriptor for a `refs` relation (issue #197, Pattern 2 Embedded Refs read
|
|
6826
|
+
* side). A `refs` relation resolves an **inline id-list** held on the parent row
|
|
6827
|
+
* — e.g. `PPost.tagRefs: { tagId: string }[]` — into the referenced child
|
|
6828
|
+
* bodies, in ONE deduped `BatchGetItem` (never per-ref `GetItem`).
|
|
6829
|
+
*
|
|
6830
|
+
* Unlike `hasMany`/`belongsTo`/`hasOne`, whose key is bound from a parent
|
|
6831
|
+
* **scalar** field ({@link RelationMetadata.keyBinding} — `target key ← parent
|
|
6832
|
+
* scalar`), a `refs` key is bound from EACH ELEMENT of a parent LIST attribute:
|
|
6833
|
+
* the traversal reads `parent[from]` (a list), pulls `.key` off every element,
|
|
6834
|
+
* and fans those out into a single BatchGet against the target. This descriptor
|
|
6835
|
+
* captures exactly that list-valued source shape, which the scalar `keyBinding`
|
|
6836
|
+
* `Record<string,string>` cannot express.
|
|
6837
|
+
*
|
|
6838
|
+
* `keyBinding` on a `refs` relation still records the **target child key field ←
|
|
6839
|
+
* element key name** mapping (e.g. `{ tagId: 'tagId' }`), so key building /
|
|
6840
|
+
* projection reuse the existing scalar machinery per resolved element; `refs`
|
|
6841
|
+
* only adds *where the scalar values come from* (the parent list), not a new key
|
|
6842
|
+
* grammar. That keeps `refs` byte-compatible with every scalar-keyBinding
|
|
6843
|
+
* consumer (manifest, planner, dedupe) — an unknown-to-them relation kind is
|
|
6844
|
+
* simply carried through with a valid scalar `keyBinding`.
|
|
6845
|
+
*/
|
|
6846
|
+
interface RefsBinding {
|
|
6847
|
+
/** The parent LIST attribute holding the inline reference elements (e.g. `'tagRefs'`). */
|
|
6848
|
+
from: string;
|
|
6849
|
+
/** The key field to read off EACH list element (e.g. `'tagId'`). */
|
|
6850
|
+
key: string;
|
|
6851
|
+
}
|
|
6718
6852
|
interface RelationMetadata {
|
|
6719
|
-
type: 'hasMany' | 'hasOne' | 'belongsTo';
|
|
6853
|
+
type: 'hasMany' | 'hasOne' | 'belongsTo' | 'refs';
|
|
6720
6854
|
propertyName: string;
|
|
6721
6855
|
targetFactory: () => new (...args: unknown[]) => unknown;
|
|
6722
6856
|
keyBinding: Record<string, string>;
|
|
6857
|
+
/**
|
|
6858
|
+
* List-valued source descriptor for a `refs` relation (issue #197). Present
|
|
6859
|
+
* IFF `type === 'refs'`; the traversal reads the parent list `refs.from`, pulls
|
|
6860
|
+
* `refs.key` off each element, and resolves the referenced child bodies in one
|
|
6861
|
+
* deduped BatchGet. Absent for every scalar-keyed relation (byte-compatible).
|
|
6862
|
+
*/
|
|
6863
|
+
refs?: RefsBinding;
|
|
6723
6864
|
options?: RelationOptions;
|
|
6724
6865
|
}
|
|
6725
6866
|
/**
|
|
@@ -6931,4 +7072,4 @@ interface ViewDefinition {
|
|
|
6931
7072
|
*/
|
|
6932
7073
|
declare function collectViewDefinitions(registry?: ReadonlyMap<Function, EntityMetadata>): ViewDefinition[];
|
|
6933
7074
|
|
|
6934
|
-
export { type BridgeBundle as $, type Param as A, type BatchResult as B, type CdcEmulatorOptions as C, type DynamoDBOperation as D, type EventLog as E, type FaultSpec as F, type QueryMethodSpec as G, type CommandModelContract as H, type CommandMethodSpec as I, type ContractSpec as J, type QuerySpec as K, type CommandSpec as L, type ModelStatic as M, type TransactionSpec as N, type ContextSpec as O, type PutInput as P, type QueryModelContract as Q, type ReplayOptions as R, type ShardId as S, type TransactWriteExecItem as T, type Unsubscribe as U, type ViewDefinition as V, type WriteExecOptions as W, type DefinitionMap as X, type OperationsDocument as Y, type AnyOperationDefinition as Z, type Manifest as _, type CdcMode as a, type DynamoType as a$, type ConditionSpec as a0, type CommandContractMethodSpec as a1, type CommandResolutionTarget as a2, type CompiledFragment as a3, type CompiledMutationPlan as a4, type ComposeSpec as a5, type CompositionPlanSpec as a6, type ContractCardinality as a7, type ContractCommandResult as a8, type ContractInputArity as a9, type ReadOperationType as aA, SPEC_VERSION as aB, type TransactionItemSpec as aC, type TransactionItemType as aD, type WhenSpec as aE, type WriteOperationType as aF, assertNoCrossFragmentMaintainCollision as aG, compileFragment as aH, compileMutationPlan as aI, compileSingleFragmentPlan as aJ, resetMaintenanceGraphCache as aK, resolveLifecycle as aL, resolveMaintainers as aM, type SelectableOf as aN, type PrimaryKeyOf as aO, type RequestContext as aP, type Middleware as aQ, type ReadRequestKind as aR, type CtxModel as aS, type ReadParams as aT, type ReadRequestCtx as aU, type Item as aV, type RetryPolicy as aW, type KeyDefinition as aX, type GsiDefinition as aY, type ModelKind as aZ, type FieldOptions as a_, type ContractKeySpec as aa, type ContractKind as ab, type ContractResolution as ac, type DerivedConditionCheck as ad, type DerivedEdgeWrite as ae, type DerivedIdempotencyGuard as af, type DerivedMaintainOutbox as ag, type DerivedMaintainWrite as ah, type DerivedOutboxEvent as ai, type DerivedUniqueGuard as aj, type DerivedUpdate as ak, type EntityRefResolver as al, type ExecutionPlanSpec as am, type FilterSpec as an, MAX_TRANSACT_COMPOSE_ITEMS as ao, type ManifestEntity as ap, type ManifestField as aq, type ManifestFieldType as ar, type ManifestGsi as as, type ManifestKey as at, type ManifestRelation as au, type ManifestTable as av, type OperationSpec as aw, type ParamSpec as ax, type QueryContractMethodSpec as ay, type RangeConditionSpec as az, type ChangeBatch as b, type DeleteOptions as b$, type ProjectionTransform as b0, type MaintainEvent as b1, type MembershipPredicate as b2, type MaintainConsistency as b3, type MaintainUpdateMode as b4, type MembershipPredicateOp as b5, type RelationOptions as b6, type AggregateOptions as b7, type AggregateValue as b8, type SelectBuilderSpec as b9, type CollectionOptions as bA, type Column as bB, type ColumnMap as bC, type CommandInputShape as bD, type CommandMethod as bE, type CommandPlan as bF, type CommandResultKind as bG, type CommandSelectShape as bH, type CondSlot as bI, type ConditionCheckInput as bJ, type Connection as bK, type ContractCallSignature as bL, type ContractCommandParams as bM, type ContractComposeNode as bN, type ContractFromRef as bO, type ContractItem as bP, type ContractKeyFieldRef as bQ, type ContractKeyInput as bR, type ContractKeyRef as bS, type ContractMethodOp as bT, type ContractParamRef as bU, type ContractQueryParams as bV, type CounterAggregate as bW, type CounterEffect as bX, type CtxBase as bY, DEFAULT_MAX_ATTEMPTS as bZ, DEFAULT_RETRY_POLICY as b_, type RawCondition as ba, type RetryOverride as bb, type ExecutionPlan as bc, type FieldMetadata as bd, type ResolvedKey as be, type RelationMetadata as bf, type MaintainEffect as bg, type OperationDefinition as bh, type WriteDefinitionOptions as bi, type PartialQueryKeyOf as bj, type StrictSelectSpec as bk, type ReadDefinitionOptions as bl, type EntityInput as bm, type UniqueQueryKeyOf as bn, type AggregateMetadata as bo, type BatchDeleteRequest as bp, type BatchGetOptions as bq, type BatchGetRequest as br, BatchGetResult as bs, type BatchPutRequest as bt, type BatchWriteRequest as bu, CONTRACT_RANGE_FANOUT_CONCURRENCY as bv, type CdcModelRegistry as bw, type CdcSubscribeHandlers as bx, type Change as by, type CollectionEffect as bz, type ChangeEvent as c, type
|
|
7075
|
+
export { type BridgeBundle as $, type Param as A, type BatchResult as B, type CdcEmulatorOptions as C, type DynamoDBOperation as D, type EventLog as E, type FaultSpec as F, type QueryMethodSpec as G, type CommandModelContract as H, type CommandMethodSpec as I, type ContractSpec as J, type QuerySpec as K, type CommandSpec as L, type ModelStatic as M, type TransactionSpec as N, type ContextSpec as O, type PutInput as P, type QueryModelContract as Q, type ReplayOptions as R, type ShardId as S, type TransactWriteExecItem as T, type Unsubscribe as U, type ViewDefinition as V, type WriteExecOptions as W, type DefinitionMap as X, type OperationsDocument as Y, type AnyOperationDefinition as Z, type Manifest as _, type CdcMode as a, type DynamoType as a$, type ConditionSpec as a0, type CommandContractMethodSpec as a1, type CommandResolutionTarget as a2, type CompiledFragment as a3, type CompiledMutationPlan as a4, type ComposeSpec as a5, type CompositionPlanSpec as a6, type ContractCardinality as a7, type ContractCommandResult as a8, type ContractInputArity as a9, type ReadOperationType as aA, SPEC_VERSION as aB, type TransactionItemSpec as aC, type TransactionItemType as aD, type WhenSpec as aE, type WriteOperationType as aF, assertNoCrossFragmentMaintainCollision as aG, compileFragment as aH, compileMutationPlan as aI, compileSingleFragmentPlan as aJ, resetMaintenanceGraphCache as aK, resolveLifecycle as aL, resolveMaintainers as aM, type SelectableOf as aN, type PrimaryKeyOf as aO, type RequestContext as aP, type Middleware as aQ, type ReadRequestKind as aR, type CtxModel as aS, type ReadParams as aT, type ReadRequestCtx as aU, type Item as aV, type RetryPolicy as aW, type KeyDefinition as aX, type GsiDefinition as aY, type ModelKind as aZ, type FieldOptions as a_, type ContractKeySpec as aa, type ContractKind as ab, type ContractResolution as ac, type DerivedConditionCheck as ad, type DerivedEdgeWrite as ae, type DerivedIdempotencyGuard as af, type DerivedMaintainOutbox as ag, type DerivedMaintainWrite as ah, type DerivedOutboxEvent as ai, type DerivedUniqueGuard as aj, type DerivedUpdate as ak, type EntityRefResolver as al, type ExecutionPlanSpec as am, type FilterSpec as an, MAX_TRANSACT_COMPOSE_ITEMS as ao, type ManifestEntity as ap, type ManifestField as aq, type ManifestFieldType as ar, type ManifestGsi as as, type ManifestKey as at, type ManifestRelation as au, type ManifestTable as av, type OperationSpec as aw, type ParamSpec as ax, type QueryContractMethodSpec as ay, type RangeConditionSpec as az, type ChangeBatch as b, type DeleteOptions as b$, type ProjectionTransform as b0, type MaintainEvent as b1, type MembershipPredicate as b2, type MaintainConsistency as b3, type MaintainUpdateMode as b4, type MembershipPredicateOp as b5, type RelationOptions as b6, type AggregateOptions as b7, type AggregateValue as b8, type SelectBuilderSpec as b9, type CollectionOptions as bA, type Column as bB, type ColumnMap as bC, type CommandInputShape as bD, type CommandMethod as bE, type CommandPlan as bF, type CommandResultKind as bG, type CommandSelectShape as bH, type CondSlot as bI, type ConditionCheckInput as bJ, type Connection as bK, type ContractCallSignature as bL, type ContractCommandParams as bM, type ContractComposeNode as bN, type ContractFromRef as bO, type ContractItem as bP, type ContractKeyFieldRef as bQ, type ContractKeyInput as bR, type ContractKeyRef as bS, type ContractMethodOp as bT, type ContractParamRef as bU, type ContractQueryParams as bV, type CounterAggregate as bW, type CounterEffect as bX, type CtxBase as bY, DEFAULT_MAX_ATTEMPTS as bZ, DEFAULT_RETRY_POLICY as b_, type RawCondition as ba, type RetryOverride as bb, type ExecutionPlan as bc, type FieldMetadata as bd, type ResolvedKey as be, type RelationMetadata as bf, type MaintainEffect as bg, type OperationDefinition as bh, type WriteDefinitionOptions as bi, type PartialQueryKeyOf as bj, type StrictSelectSpec as bk, type ReadDefinitionOptions as bl, type EntityInput as bm, type UniqueQueryKeyOf as bn, type AggregateMetadata as bo, type BatchDeleteRequest as bp, type BatchGetOptions as bq, type BatchGetRequest as br, BatchGetResult as bs, type BatchPutRequest as bt, type BatchWriteRequest as bu, CONTRACT_RANGE_FANOUT_CONCURRENCY as bv, type CdcModelRegistry as bw, type CdcSubscribeHandlers as bx, type Change as by, type CollectionEffect as bz, type ChangeEvent as c, type ReadRouteResult as c$, type DeriveEffect as c0, type DescriptorBinding as c1, ENTITY_WRITES_MARKER as c2, type EdgeEffect as c3, type EffectPath as c4, type EmbeddedMetadata as c5, type EmitEffect as c6, type EntityWritesDefinition as c7, type EntityWritesShape as c8, type ExecutableCommandContract as c9, type MutateTransactionResult as cA, type MutationBody as cB, type MutationDescriptorMap as cC, type MutationFragment as cD, type MutationInputProxy as cE, type MutationInputRef as cF, type MutationIntent as cG, type NumberParam as cH, type OperationKind as cI, type ParallelOpResult as cJ, type ParamKind as cK, type ParamStructure as cL, type PersistCtx as cM, type PersistOrigin as cN, type PlannedCommandMethod as cO, type ProjectionMap as cP, type ProjectionTransformOp as cQ, type PutOptions as cR, type QueryEnvelopeResult as cS, type QueryKeyOf as cT, type QueryMethod as cU, type QueryResult as cV, type ReadEnvelope as cW, type ReadOpCtx as cX, type ReadOpKind as cY, type ReadRouteDescriptor as cZ, type ReadRouteOptions as c_, type ExecutableQueryContract as ca, type FilterInput as cb, type FragmentInput as cc, type GsiDefinitionMarker as cd, type GsiOptions as ce, type IdempotencyEffect as cf, type InProcessWriteDescriptor as cg, type InlineSnapshotSpec as ch, type InputArity as ci, type KeyDefinitionMarker as cj, type KeySegment as ck, type KeySlot as cl, type KeyStructure as cm, type KeyedResult as cn, LIFECYCLE_CONTRACT_MARKER as co, type LifecycleContract as cp, type LifecycleEffects as cq, type LiteralParam as cr, type MaintainItem as cs, type MaintainTrigger as ct, type MaintenanceGraph as cu, type MembershipEffect as cv, type ModelRef as cw, type MutateMode as cx, type MutateOptions as cy, type MutateParallelResult as cz, type ChangeEventName as d, isContractComposeNode as d$, type RecordedCompose as d0, type RelationBuilder as d1, type RelationConsistency as d2, type RelationLimitOptions as d3, type RelationPattern as d4, type RelationProjection as d5, type RelationReadOptions as d6, type RelationSelect as d7, type RelationSpec as d8, type RelationUpdateMode as d9, attachModelClass as dA, buildDeleteInput as dB, buildMaintenanceGraph as dC, buildPutInput as dD, buildUpdateInput as dE, collectViewDefinitions as dF, cond as dG, contractOfMethodSpec as dH, definePlan as dI, entityWrites as dJ, executeBatchGet as dK, executeBatchWrite as dL, executeCommandMethod as dM, executeDelete as dN, executeKeyedBatchGet as dO, executePut as dP, executeQueryMethod as dQ, executeRangeFanout as dR, executeTransaction as dS, executeUpdate as dT, from as dU, getEntityWrites as dV, gsi as dW, identity as dX, isColumn as dY, isCommandModelContract as dZ, isCommandPlan as d_, type RelationWriteOptions as da, type RequiresEffect as db, type Resolution as dc, type RetryInfo as dd, type RetryOperationKind as de, type SegmentSpec as df, type SegmentedKey as dg, type SelectBuilder as dh, type SelectOf as di, type SnapshotEffect as dj, type StringParam as dk, TransactionContext as dl, type UniqueEffect as dm, type Updatable as dn, type UpdateOptions as dp, type ViewSourceSlice as dq, type WriteCtx as dr, type WriteDescriptor as ds, type WriteEnvelope as dt, type WriteInput as du, type WriteKind as dv, type WriteLifecyclePhase as dw, type WriteMiddleware as dx, type WriteRecorder as dy, type WriteResultProjection as dz, type ChangeHandler as e, isContractFromRef as e0, isContractKeyFieldRef as e1, isContractKeyRef as e2, isContractParamRef as e3, isEntityWritesDefinition as e4, isKeySegment as e5, isLifecycleContract as e6, isMaintainTrigger as e7, isMutationFragment as e8, isMutationInputRef as e9, isParam as ea, isPlannedCommandMethod as eb, isQueryModelContract as ec, isRetryableError as ed, isRetryableTransactionCancellation as ee, k as ef, key as eg, lifecyclePhaseForIntent as eh, maintainTrigger as ei, mintContractKeyFieldRef as ej, mintContractParamRef as ek, mutation as el, param as em, preview as en, publicCommandModel as eo, publicQueryModel as ep, query as eq, wholeKeysSentinel as er, type ClockMode as f, type ConcurrentRecomputeRef as g, type StartingPosition as h, type StreamViewType as i, type SubscribeHandler as j, type SubscribeHandlers as k, buildSubscribeHandler as l, type EntityMetadata as m, type Executor as n, type ReadExecOptions as o, type ExecutorResult as p, type BatchGetExecInput as q, type WriteResult as r, type UpdateInput as s, type DeleteInput as t, type BatchWriteExecItem as u, type BatchExecOptions as v, DDBModel as w, type ParamDescriptor as x, type EntityRef as y, type ConditionInput as z };
|
package/dist/spec/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { $ as BridgeBundle, a1 as CommandContractMethodSpec, a2 as CommandResolutionTarget, L as CommandSpec, a3 as CompiledFragment, a4 as CompiledMutationPlan, a5 as ComposeSpec, a6 as CompositionPlanSpec, a0 as ConditionSpec, O as ContextSpec, a7 as ContractCardinality, a8 as ContractCommandResult, a9 as ContractInputArity, aa as ContractKeySpec, ab as ContractKind, ac as ContractResolution, J as ContractSpec, ad as DerivedConditionCheck, ae as DerivedEdgeWrite, af as DerivedIdempotencyGuard, ag as DerivedMaintainOutbox, ah as DerivedMaintainWrite, ai as DerivedOutboxEvent, aj as DerivedUniqueGuard, ak as DerivedUpdate, al as EntityRefResolver, am as ExecutionPlanSpec, an as FilterSpec, ao as MAX_TRANSACT_COMPOSE_ITEMS, _ as Manifest, ap as ManifestEntity, aq as ManifestField, ar as ManifestFieldType, as as ManifestGsi, at as ManifestKey, au as ManifestRelation, av as ManifestTable, aw as OperationSpec, Y as OperationsDocument, ax as ParamSpec, ay as QueryContractMethodSpec, K as QuerySpec, az as RangeConditionSpec, aA as ReadOperationType, aB as SPEC_VERSION, aC as TransactionItemSpec, aD as TransactionItemType, N as TransactionSpec, aE as WhenSpec, aF as WriteOperationType, aG as assertNoCrossFragmentMaintainCollision, aH as compileFragment, aI as compileMutationPlan, aJ as compileSingleFragmentPlan, aK as resetMaintenanceGraphCache, aL as resolveLifecycle, aM as resolveMaintainers } from '../maintenance-view-adapter-
|
|
2
|
-
export { A as AnyModelContract, B as BuiltContracts, C as ContextOwnership, a as ContextOwnershipMap, b as ContractBoundaryViolation, c as ContractInputs, d as ContractMap, e as ContractN1Violation, o as assertBundleSerializable, p as assertContractBoundaries, q as assertContractN1Safe, r as assertJsonSerializable, s as assertSupportedCondition, t as buildBridgeBundle, u as buildContexts, v as buildContracts, w as buildManifest, x as buildOperations, y as buildQuerySpec, z as buildTransactionSpec, D as buildTransactions, E as collectContractBoundaryViolations, F as collectContractN1Violations } from '../index-
|
|
3
|
-
import '../registry-
|
|
1
|
+
export { $ as BridgeBundle, a1 as CommandContractMethodSpec, a2 as CommandResolutionTarget, L as CommandSpec, a3 as CompiledFragment, a4 as CompiledMutationPlan, a5 as ComposeSpec, a6 as CompositionPlanSpec, a0 as ConditionSpec, O as ContextSpec, a7 as ContractCardinality, a8 as ContractCommandResult, a9 as ContractInputArity, aa as ContractKeySpec, ab as ContractKind, ac as ContractResolution, J as ContractSpec, ad as DerivedConditionCheck, ae as DerivedEdgeWrite, af as DerivedIdempotencyGuard, ag as DerivedMaintainOutbox, ah as DerivedMaintainWrite, ai as DerivedOutboxEvent, aj as DerivedUniqueGuard, ak as DerivedUpdate, al as EntityRefResolver, am as ExecutionPlanSpec, an as FilterSpec, ao as MAX_TRANSACT_COMPOSE_ITEMS, _ as Manifest, ap as ManifestEntity, aq as ManifestField, ar as ManifestFieldType, as as ManifestGsi, at as ManifestKey, au as ManifestRelation, av as ManifestTable, aw as OperationSpec, Y as OperationsDocument, ax as ParamSpec, ay as QueryContractMethodSpec, K as QuerySpec, az as RangeConditionSpec, aA as ReadOperationType, aB as SPEC_VERSION, aC as TransactionItemSpec, aD as TransactionItemType, N as TransactionSpec, aE as WhenSpec, aF as WriteOperationType, aG as assertNoCrossFragmentMaintainCollision, aH as compileFragment, aI as compileMutationPlan, aJ as compileSingleFragmentPlan, aK as resetMaintenanceGraphCache, aL as resolveLifecycle, aM as resolveMaintainers } from '../maintenance-view-adapter-CFeasCKo.js';
|
|
2
|
+
export { A as AnyModelContract, B as BuiltContracts, C as ContextOwnership, a as ContextOwnershipMap, b as ContractBoundaryViolation, c as ContractInputs, d as ContractMap, e as ContractN1Violation, o as assertBundleSerializable, p as assertContractBoundaries, q as assertContractN1Safe, r as assertJsonSerializable, s as assertSupportedCondition, t as buildBridgeBundle, u as buildContexts, v as buildContracts, w as buildManifest, x as buildOperations, y as buildQuerySpec, z as buildTransactionSpec, D as buildTransactions, E as collectContractBoundaryViolations, F as collectContractN1Violations } from '../index-CtJbTrfB.js';
|
|
3
|
+
import '../registry-DbqmFyab.js';
|
|
4
4
|
import '@aws-sdk/client-dynamodb';
|
package/dist/spec/index.js
CHANGED
|
@@ -23,8 +23,8 @@ import {
|
|
|
23
23
|
resetMaintenanceGraphCache,
|
|
24
24
|
resolveLifecycle,
|
|
25
25
|
resolveMaintainers
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-
|
|
26
|
+
} from "../chunk-N5NQM3SO.js";
|
|
27
|
+
import "../chunk-F2DI3GTI.js";
|
|
28
28
|
import "../chunk-PDUVTYC5.js";
|
|
29
29
|
export {
|
|
30
30
|
MAX_TRANSACT_COMPOSE_ITEMS,
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as Executor, D as DynamoDBOperation, o as ReadExecOptions, p as ExecutorResult, q as BatchGetExecInput, P as PutInput, W as WriteExecOptions, r as WriteResult, s as UpdateInput, t as DeleteInput, u as BatchWriteExecItem, v as BatchExecOptions, T as TransactWriteExecItem, M as ModelStatic, w as DDBModel, c as ChangeEvent } from '../maintenance-view-adapter-
|
|
1
|
+
import { n as Executor, D as DynamoDBOperation, o as ReadExecOptions, p as ExecutorResult, q as BatchGetExecInput, P as PutInput, W as WriteExecOptions, r as WriteResult, s as UpdateInput, t as DeleteInput, u as BatchWriteExecItem, v as BatchExecOptions, T as TransactWriteExecItem, M as ModelStatic, w as DDBModel, c as ChangeEvent } from '../maintenance-view-adapter-CFeasCKo.js';
|
|
2
2
|
import '@aws-sdk/client-dynamodb';
|
|
3
3
|
|
|
4
4
|
/**
|
package/dist/testing/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCdcEmulator
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-5NXNEW43.js";
|
|
4
4
|
import {
|
|
5
5
|
ClientManager,
|
|
6
6
|
MetadataRegistry,
|
|
7
7
|
resolveModelClass
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-F2DI3GTI.js";
|
|
9
9
|
import {
|
|
10
10
|
TableMapping
|
|
11
11
|
} from "../chunk-PDUVTYC5.js";
|