graphddb 0.9.2 → 0.9.3
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 +4 -4
- package/dist/{chunk-MBJ4JVRM.js → chunk-U5WNYFHC.js} +216 -1
- package/dist/cli.js +23 -5
- package/dist/index.d.ts +4 -4
- package/dist/internal/index.d.ts +5 -5
- package/dist/{key-CWytoEaE.d.ts → key-C_6ScBbu.d.ts} +1 -1
- package/dist/linter/index.d.ts +5 -5
- package/dist/{linter-jEwmZotm.d.ts → linter-DeUvifz5.d.ts} +1 -1
- package/dist/{prepared-artifact-CwH5ezFq.d.ts → prepared-artifact-BzDhojXU.d.ts} +3 -3
- package/dist/spec/index.d.ts +8 -8
- package/dist/spec/index.js +1 -1
- package/dist/testing/index.d.ts +2 -2
- package/dist/transform/index.d.ts +1 -1
- package/dist/{types-CgXS-4Ox.d.ts → types-DGwo00JB.d.ts} +12 -0
- package/dist/{types-nk5okD7d.d.ts → types-DLpvjjV_.d.ts} +1 -1
- package/package.json +7 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ak as SelectableOf, al as PrimaryKeyOf, e as ProjectionTransform, f as MaintainEvent, j as MembershipPredicate, h as MaintainConsistency, i as MaintainUpdateMode, am as MembershipPredicateOp, an as publishQuery, ao as publishCommand, D as DDBModel, ap as RetryPolicy, aq as Middleware } from './key-
|
|
2
|
-
export { ar as CdcModelRegistry, as as CdcSubscribeHandlers, at as Change, au as Column, av as ColumnMap, aw as CondSlot, ax as CtxBase, ay as CtxModel, az as FilterInput, aA as GsiDefinitionMarker, aB as GsiOptions, aC as InlineSnapshotSpec, aD as Item, aE as KeyDefinitionMarker, aF as KeySegment, aG as KeySlot, aH as KeyStructure, M as ModelStatic, aI as MutateAuthoringOptions, aJ as ParamDescriptor, aK as ParamStructure, aL as PartialQueryKeyOf, aM as PersistCtx, aN as PersistOrigin, aO as QueryKeyOf, aP as QueryResult, aQ as RawCondition, aR as ReadOpCtx, aS as ReadOpKind, aT as ReadParams, aU as ReadRequestCtx, aV as ReadRequestKind, aW as RelationBuilder, aX as RelationSelect, aY as RelationSpec, aZ as RequestContext, a_ as SegmentSpec, d as SegmentedKey, a$ as SelectBuilder, b0 as SelectOf, b1 as UniqueQueryKeyOf, b2 as Updatable, b3 as WriteCtx, b4 as WriteInput, b5 as WriteKind, b6 as WriteMiddleware, b7 as cond, b8 as entityWrites, b9 as getEntityWrites, ba as gsi, bb as identity, bc as k, bd as key, be as mutate, bf as preview, bg as when } from './key-
|
|
1
|
+
import { ak as SelectableOf, al as PrimaryKeyOf, e as ProjectionTransform, f as MaintainEvent, j as MembershipPredicate, h as MaintainConsistency, i as MaintainUpdateMode, am as MembershipPredicateOp, an as publishQuery, ao as publishCommand, D as DDBModel, ap as RetryPolicy, aq as Middleware } from './key-C_6ScBbu.js';
|
|
2
|
+
export { ar as CdcModelRegistry, as as CdcSubscribeHandlers, at as Change, au as Column, av as ColumnMap, aw as CondSlot, ax as CtxBase, ay as CtxModel, az as FilterInput, aA as GsiDefinitionMarker, aB as GsiOptions, aC as InlineSnapshotSpec, aD as Item, aE as KeyDefinitionMarker, aF as KeySegment, aG as KeySlot, aH as KeyStructure, M as ModelStatic, aI as MutateAuthoringOptions, aJ as ParamDescriptor, aK as ParamStructure, aL as PartialQueryKeyOf, aM as PersistCtx, aN as PersistOrigin, aO as QueryKeyOf, aP as QueryResult, aQ as RawCondition, aR as ReadOpCtx, aS as ReadOpKind, aT as ReadParams, aU as ReadRequestCtx, aV as ReadRequestKind, aW as RelationBuilder, aX as RelationSelect, aY as RelationSpec, aZ as RequestContext, a_ as SegmentSpec, d as SegmentedKey, a$ as SelectBuilder, b0 as SelectOf, b1 as UniqueQueryKeyOf, b2 as Updatable, b3 as WriteCtx, b4 as WriteInput, b5 as WriteKind, b6 as WriteMiddleware, b7 as cond, b8 as entityWrites, b9 as getEntityWrites, ba as gsi, bb as identity, bc as k, bd as key, be as mutate, bf as preview, bg as when } from './key-C_6ScBbu.js';
|
|
3
3
|
import * as _aws_sdk_client_dynamodb from '@aws-sdk/client-dynamodb';
|
|
4
4
|
import { p as publishBehaviors } from './behaviors-DDltNivc.js';
|
|
5
5
|
export { b as BehaviorComponentFns, a as BehaviorMethodSpec, B as BehaviorModelContract, P as PublishBehaviorsOptions, c as behaviorComponents, i as isBehaviorModelContract } from './behaviors-DDltNivc.js';
|
|
6
|
-
import { M as ModelKind, F as FieldOptions, D as DynamoType, R as RelationOptions, A as AggregateOptions, a as AggregateValue } from './types-
|
|
7
|
-
export { a0 as LiteralParam, a1 as MapParam, a2 as NumberParam, a3 as Param, a4 as ParamKind, a5 as StringParam, a6 as param } from './types-
|
|
6
|
+
import { M as ModelKind, F as FieldOptions, D as DynamoType, R as RelationOptions, A as AggregateOptions, a as AggregateValue } from './types-DLpvjjV_.js';
|
|
7
|
+
export { a0 as LiteralParam, a1 as MapParam, a2 as NumberParam, a3 as Param, a4 as ParamKind, a5 as StringParam, a6 as param } from './types-DGwo00JB.js';
|
|
8
8
|
import 'behavior-contracts';
|
|
9
9
|
|
|
10
10
|
/**
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { P as PreparedWriteOpSpec, a as PreparedPlanDocument } from '../prepared-artifact-
|
|
2
|
-
export { b as PreparedBindSpec, c as PreparedPlanSpec, d as PreparedReadRouteSpec } from '../prepared-artifact-
|
|
3
|
-
import { M as Manifest } from '../types-
|
|
4
|
-
import { M as ModelStatic, D as DDBModel, S as Slot, P as PreparedWriteExecOptions, C as CommandReturn, a as ParallelOpResult, b as PreparedBody, c as PreparedStatement } from '../key-
|
|
5
|
-
import '../types-
|
|
1
|
+
import { P as PreparedWriteOpSpec, a as PreparedPlanDocument } from '../prepared-artifact-BzDhojXU.js';
|
|
2
|
+
export { b as PreparedBindSpec, c as PreparedPlanSpec, d as PreparedReadRouteSpec } from '../prepared-artifact-BzDhojXU.js';
|
|
3
|
+
import { M as Manifest } from '../types-DGwo00JB.js';
|
|
4
|
+
import { M as ModelStatic, D as DDBModel, S as Slot, P as PreparedWriteExecOptions, C as CommandReturn, a as ParallelOpResult, b as PreparedBody, c as PreparedStatement } from '../key-C_6ScBbu.js';
|
|
5
|
+
import '../types-DLpvjjV_.js';
|
|
6
6
|
import 'behavior-contracts';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a3 as Param, E as ExpressionSpec, a4 as ParamKind, T as TransactionSpec, Y as TransactionItemSpec } from './types-
|
|
1
|
+
import { a3 as Param, E as ExpressionSpec, a4 as ParamKind, T as TransactionSpec, Y as TransactionItemSpec } from './types-DGwo00JB.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* CDC emulator types (issue #72). These types are **cdc-module-owned**; core
|
package/dist/linter/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { L as Linter, a as LintRule } from '../linter-
|
|
2
|
-
export { b as LintResult } from '../linter-
|
|
3
|
-
import '../types-
|
|
4
|
-
import '../key-
|
|
5
|
-
import '../types-
|
|
1
|
+
import { L as Linter, a as LintRule } from '../linter-DeUvifz5.js';
|
|
2
|
+
export { b as LintResult } from '../linter-DeUvifz5.js';
|
|
3
|
+
import '../types-DLpvjjV_.js';
|
|
4
|
+
import '../key-C_6ScBbu.js';
|
|
5
|
+
import '../types-DGwo00JB.js';
|
|
6
6
|
import 'behavior-contracts';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E as EntityMetadata } from './types-
|
|
2
|
-
import { C as ContractSpec, Q as QuerySpec, a as CommandSpec, T as TransactionSpec, b as ContextSpec, S as SPEC_VERSION_KEY_EXPR, P as ParamSpec } from './types-
|
|
3
|
-
import { Q as QueryModelContract, k as QueryMethodSpec, l as CommandModelContract, m as CommandMethodSpec } from './key-
|
|
1
|
+
import { E as EntityMetadata } from './types-DLpvjjV_.js';
|
|
2
|
+
import { C as ContractSpec, Q as QuerySpec, a as CommandSpec, T as TransactionSpec, b as ContextSpec, S as SPEC_VERSION_KEY_EXPR, P as ParamSpec } from './types-DGwo00JB.js';
|
|
3
|
+
import { Q as QueryModelContract, k as QueryMethodSpec, l as CommandModelContract, m as CommandMethodSpec } from './key-C_6ScBbu.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Contract-layer serialization (issue #59, CQRS Contract layer, Epic #57;
|
package/dist/spec/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { $ as AnyOperationDefinition, a0 as TransactionDefinition, b as PreparedBody } from '../key-
|
|
2
|
-
export { a1 as CompiledFragment, a2 as CompiledMutationPlan, a3 as DerivedConditionCheck, a4 as DerivedEdgeWrite, a5 as DerivedIdempotencyGuard, a6 as DerivedMaintainOutbox, a7 as DerivedMaintainWrite, a8 as DerivedOutboxEvent, a9 as DerivedUniqueGuard, aa as DerivedUpdate, ab as EntityRefResolver, ac as MAX_TRANSACT_COMPOSE_ITEMS, ad as assertNoCrossFragmentMaintainCollision, ae as compileFragment, af as compileMutationPlan, ag as compileSingleFragmentPlan, ah as resetMaintenanceGraphCache, ai as resolveLifecycle, aj as resolveMaintainers } from '../key-
|
|
3
|
-
import { M as MetadataRegistry } from '../linter-
|
|
1
|
+
import { $ as AnyOperationDefinition, a0 as TransactionDefinition, b as PreparedBody } from '../key-C_6ScBbu.js';
|
|
2
|
+
export { a1 as CompiledFragment, a2 as CompiledMutationPlan, a3 as DerivedConditionCheck, a4 as DerivedEdgeWrite, a5 as DerivedIdempotencyGuard, a6 as DerivedMaintainOutbox, a7 as DerivedMaintainWrite, a8 as DerivedOutboxEvent, a9 as DerivedUniqueGuard, aa as DerivedUpdate, ab as EntityRefResolver, ac as MAX_TRANSACT_COMPOSE_ITEMS, ad as assertNoCrossFragmentMaintainCollision, ae as compileFragment, af as compileMutationPlan, ag as compileSingleFragmentPlan, ah as resetMaintenanceGraphCache, ai as resolveLifecycle, aj as resolveMaintainers } from '../key-C_6ScBbu.js';
|
|
3
|
+
import { M as MetadataRegistry } from '../linter-DeUvifz5.js';
|
|
4
4
|
import { B as BehaviorModelContract } from '../behaviors-DDltNivc.js';
|
|
5
5
|
export { a as BehaviorMethodSpec } from '../behaviors-DDltNivc.js';
|
|
6
|
-
import { C as ContractMap, e as ContextOwnershipMap, c as PreparedPlanSpec, a as PreparedPlanDocument } from '../prepared-artifact-
|
|
7
|
-
export { A as AnyModelContract, B as BuiltContracts, f as ContextOwnership, g as PREPARED_FORMAT_VERSION, h as PreparedBindMap, b as PreparedBindSpec, d as PreparedReadRouteSpec, P as PreparedWriteOpSpec, i as buildContexts, j as buildContracts, k as canonicalJson, l as entityFingerprint, p as planFingerprint } from '../prepared-artifact-
|
|
8
|
-
import { O as OperationsDocument, Q as QuerySpec, M as Manifest, T as TransactionSpec, C as ContractSpec, B as BridgeBundle, c as ConditionSpec, E as ExpressionSpec, a as CommandSpec, d as SpecVersion } from '../types-
|
|
9
|
-
export { e as CommandContractMethodSpec, f as CommandResolutionTarget, g as ComposeSpec, h as CompositionPlanSpec, b as ContextSpec, i as ContractCardinality, j as ContractCommandResult, k as ContractInputArity, l as ContractKeySpec, m as ContractKind, n as ContractResolution, o as EXPR_VERSION, p as ExecutionPlanSpec, q as ExpressionArrNode, r as ExpressionFloatNode, s as ExpressionIntNode, t as ExpressionNode, u as ExpressionObjNode, v as ExpressionOpNode, w as ExpressionOperator, x as ExpressionRefNode, y as ExpressionRefOptNode, z as ExpressionScalar, F as FilterSpec, A as ManifestEntity, D as ManifestField, G as ManifestFieldType, H as ManifestGsi, I as ManifestKey, J as ManifestRelation, K as ManifestTable, L as OperationSpec, P as ParamSpec, N as QueryContractMethodSpec, R as RangeConditionSpec, U as ReadOperationType, V as SPEC_VERSION, S as SPEC_VERSION_KEY_EXPR, W as SPEC_VERSION_SCP, X as SPEC_VERSION_SUPPORTED, Y as TransactionItemSpec, Z as TransactionItemType, _ as WhenSpec, $ as WriteOperationType } from '../types-
|
|
6
|
+
import { C as ContractMap, e as ContextOwnershipMap, c as PreparedPlanSpec, a as PreparedPlanDocument } from '../prepared-artifact-BzDhojXU.js';
|
|
7
|
+
export { A as AnyModelContract, B as BuiltContracts, f as ContextOwnership, g as PREPARED_FORMAT_VERSION, h as PreparedBindMap, b as PreparedBindSpec, d as PreparedReadRouteSpec, P as PreparedWriteOpSpec, i as buildContexts, j as buildContracts, k as canonicalJson, l as entityFingerprint, p as planFingerprint } from '../prepared-artifact-BzDhojXU.js';
|
|
8
|
+
import { O as OperationsDocument, Q as QuerySpec, M as Manifest, T as TransactionSpec, C as ContractSpec, B as BridgeBundle, c as ConditionSpec, E as ExpressionSpec, a as CommandSpec, d as SpecVersion } from '../types-DGwo00JB.js';
|
|
9
|
+
export { e as CommandContractMethodSpec, f as CommandResolutionTarget, g as ComposeSpec, h as CompositionPlanSpec, b as ContextSpec, i as ContractCardinality, j as ContractCommandResult, k as ContractInputArity, l as ContractKeySpec, m as ContractKind, n as ContractResolution, o as EXPR_VERSION, p as ExecutionPlanSpec, q as ExpressionArrNode, r as ExpressionFloatNode, s as ExpressionIntNode, t as ExpressionNode, u as ExpressionObjNode, v as ExpressionOpNode, w as ExpressionOperator, x as ExpressionRefNode, y as ExpressionRefOptNode, z as ExpressionScalar, F as FilterSpec, A as ManifestEntity, D as ManifestField, G as ManifestFieldType, H as ManifestGsi, I as ManifestKey, J as ManifestRelation, K as ManifestTable, L as OperationSpec, P as ParamSpec, N as QueryContractMethodSpec, R as RangeConditionSpec, U as ReadOperationType, V as SPEC_VERSION, S as SPEC_VERSION_KEY_EXPR, W as SPEC_VERSION_SCP, X as SPEC_VERSION_SUPPORTED, Y as TransactionItemSpec, Z as TransactionItemType, _ as WhenSpec, $ as WriteOperationType } from '../types-DGwo00JB.js';
|
|
10
10
|
import { Component, ComponentGraphIR } from 'behavior-contracts';
|
|
11
|
-
import '../types-
|
|
11
|
+
import '../types-DLpvjjV_.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Static parameterized operation-spec generation (issue #42, Phase 0b).
|
package/dist/spec/index.js
CHANGED
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as Executor, o as DynamoDBOperation, R as ReadExecOptions, p as ExecutorResult, B as BatchGetExecInput, q as PutInput, W as WriteExecOptions, r as WriteResult, U as UpdateInput, s as DeleteInput, t as BatchWriteExecItem, u as BatchExecOptions, T as TransactWriteExecItem, M as ModelStatic, D as DDBModel, v as ChangeEvent } from '../key-
|
|
2
|
-
import '../types-
|
|
1
|
+
import { n as Executor, o as DynamoDBOperation, R as ReadExecOptions, p as ExecutorResult, B as BatchGetExecInput, q as PutInput, W as WriteExecOptions, r as WriteResult, U as UpdateInput, s as DeleteInput, t as BatchWriteExecItem, u as BatchExecOptions, T as TransactWriteExecItem, M as ModelStatic, D as DDBModel, v as ChangeEvent } from '../key-C_6ScBbu.js';
|
|
2
|
+
import '../types-DGwo00JB.js';
|
|
3
3
|
import 'behavior-contracts';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -597,6 +597,18 @@ interface ExecutionPlanSpec {
|
|
|
597
597
|
interface QuerySpec {
|
|
598
598
|
readonly params: Readonly<Record<string, ParamSpec>>;
|
|
599
599
|
readonly operations: readonly OperationSpec[];
|
|
600
|
+
/**
|
|
601
|
+
* The query's ROOT model (entity class name, e.g. `'User'`) — build-internal,
|
|
602
|
+
* threaded from the operation definition (`def.entity.name`). It is the SSoT
|
|
603
|
+
* anchor the portable **type-notation** derivation (issue bc#45,
|
|
604
|
+
* `type-notation.ts`) walks from: the root op projects this entity, and the
|
|
605
|
+
* manifest relations resolve each nested node's target from it. Like the
|
|
606
|
+
* proprietary relation wiring (`resultPath` / `sourceField` / `sourceList`) it
|
|
607
|
+
* is NOT emitted to the portable document — {@link PortableQuerySpec} drops it
|
|
608
|
+
* (`toPortableQuery`), so operations.json is unchanged by its presence. Optional
|
|
609
|
+
* only for hand-built specs in tests; every `buildQuerySpec` result carries it.
|
|
610
|
+
*/
|
|
611
|
+
readonly entity?: string;
|
|
600
612
|
/**
|
|
601
613
|
* Result cardinality of the **root** (`$`) operation, derived from the
|
|
602
614
|
* operation kind: `'one'` for a `query` (a single entity object, with any
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as SegmentedKey, e as ProjectionTransform, f as MaintainEvent, g as ProjectionMap, h as MaintainConsistency, i as MaintainUpdateMode, E as EffectPath, j as MembershipPredicate } from './key-
|
|
1
|
+
import { d as SegmentedKey, e as ProjectionTransform, f as MaintainEvent, g as ProjectionMap, h as MaintainConsistency, i as MaintainUpdateMode, E as EffectPath, j as MembershipPredicate } from './key-C_6ScBbu.js';
|
|
2
2
|
|
|
3
3
|
type DynamoType = 'S' | 'N' | 'BOOL' | 'B' | 'SS' | 'NS' | 'L' | 'M';
|
|
4
4
|
interface FieldOptions {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "graphddb",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"description": "Graph data modeling on DynamoDB with adjacency list pattern",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -56,7 +56,9 @@
|
|
|
56
56
|
"gen:py:fixtures:multi": "tsx src/cli.ts generate python --entry python/tests/fixtures/models.ts --contracts python/tests/fixtures/definitions_multi.ts --out python/tests/fixtures/generated_multi",
|
|
57
57
|
"gen:py:behaviors:fixture": "tsx src/cli.ts generate behaviors --lang python --entry python/tests/fixtures/models.ts --transactions python/tests/fixtures/definitions.ts --contracts python/tests/fixtures/definitions.ts --out python/tests/fixtures/generated_behaviors",
|
|
58
58
|
"gen:rust:behaviors:fixture": "tsx src/cli.ts generate behaviors --lang rust --entry python/tests/fixtures/models.ts --transactions python/tests/fixtures/definitions.ts --contracts python/tests/fixtures/definitions.ts --out rust/graphddb_runtime/tests/generated_behaviors",
|
|
59
|
+
"gen:rust:behaviors:fixture:straightline": "tsx src/cli.ts generate behaviors --lang rust --straightline --entry python/tests/fixtures/models.ts --transactions python/tests/fixtures/definitions.ts --contracts python/tests/fixtures/definitions.ts --out rust/graphddb_runtime/tests/generated_behaviors_straightline && rustfmt --edition 2021 rust/graphddb_runtime/tests/generated_behaviors_straightline/behaviors_straightline_generated.rs",
|
|
59
60
|
"gen:php:behaviors:fixture": "tsx src/cli.ts generate behaviors --lang php --entry python/tests/fixtures/models.ts --transactions python/tests/fixtures/definitions.ts --contracts python/tests/fixtures/definitions.ts --out php/tests/fixtures/generated_behaviors",
|
|
61
|
+
"typed:nonvacuity": "node scripts/typed-nonvacuity.mjs",
|
|
60
62
|
"test:py": "python3 -m pytest python/tests -m \"not integration\"",
|
|
61
63
|
"test:py:integration": "python3 -m pytest python/tests -m integration",
|
|
62
64
|
"test:conformance": "tsx conformance/run.ts",
|
|
@@ -76,6 +78,7 @@
|
|
|
76
78
|
"embedoc:generate": "embedoc generate --all",
|
|
77
79
|
"prepare": "git config core.hooksPath .githooks 2>/dev/null || true",
|
|
78
80
|
"embedoc:check": "node scripts/embedoc-drift-check.mjs",
|
|
81
|
+
"codegen:check": "node scripts/codegen-drift-check.mjs",
|
|
79
82
|
"deps:check": "node scripts/check-no-local-deps.mjs",
|
|
80
83
|
"vendor:bc-php": "node scripts/vendor-behavior-contracts-php.mjs",
|
|
81
84
|
"vendor:bc-php:check": "node scripts/vendor-behavior-contracts-php.mjs --check",
|
|
@@ -86,7 +89,7 @@
|
|
|
86
89
|
"bench:crosslang:test": "vitest run benchmark/crosslang/__tests__"
|
|
87
90
|
},
|
|
88
91
|
"size-limit-notes": {
|
|
89
|
-
"graphddb/spec (build-time)": "#290 transitional loop CLOSED at the final sub-pass (P3-5): the components[] emitter is now the PERMANENT (and only) portable carrier of relation fan-out + transaction write plans, so the sub-pass-1 dual-emit bump does not fully revert — the old operation/transaction builders remain as the emitter INTERNAL lowering input (they also feed the TS declarative executor and the AOT prepared plan); only their serialization into operations.json was removed, replaced by the small portable projection. Measured 22.38->22.51 KB across the flip (all first-party src/spec, zero new dependencies, all runtime bundles flat); budget stays 23 KB as the steady-state ceiling. Any future growth must be traced per the size-limit-gate discipline, never blanket-raised. #297 SP1+SP2 traced growth: 22.51->25.02 KB (+2.51 brotli), two traced components — (1) first-party src/spec/catalog.ts: the bc-typed GRAPHDDB_CATALOG + the SP1c emitter validation + the SP2 CQRS effect-derivation invariant, both wired into buildOperations so a catalog/effect mismatch is a BUILD error (load-bearing by design, must ship in this bundle); (2) behavior-contracts/dist/authoring.js partial inclusion, 5.66 KB minified (esbuild metafile-traced): the SP2-mandated classifyBehaviorEffect/referencedComponents live in bc's authoring module, whose top-level `export const add = binOp('add')`-style const-initializer calls esbuild cannot prove pure — bc 0.1.6 ships no sideEffects:false / __PURE__ annotations, so the two tiny helpers drag the authoring-DSL scaffolding along. NOT a new dependency (behavior-contracts already supplied this bundle's contract types); an upstream bc annotation fix reclaims (2), and the ceiling must be re-tightened when it lands. New ceiling 25.5 KB keeps the same ~0.5 KB headroom discipline as the previous 23 KB ceiling. #297 SP3+SP4 traced growth: 25.04->25.26 KB (+0.22 brotli), all first-party src/spec — the SP4 inversion (deriveComponentEffects + assertPublishSplitMatchesDerived with method-naming errors, replacing the SP2 symmetric assertion) plus the additive contractInputs.behaviors registration loop in buildOperations (rename + collision check + re-validation); the publishBehaviors authoring machinery itself is type-only from this bundle (src/define/behaviors.ts never enters dist/spec). Runtime-core bucket flat (39.08->39.07: the eager graphddb.publishBehaviors member tree-shakes out of a { DDBModel }-only consumer — bc 0.1.7 ships sideEffects:false); import-* bucket 47.8->55.4 (+7.6: bc compileBehaviors recorder/scanner + src/define/behaviors.ts + src/executor/behavior-exec.ts, all reachable only via publishBehaviors / behaviorComponents / behavior-exec). #297 SP5 traced growth: 25.26->28.84 KB (+3.58 brotli), one traced component — behavior-contracts/dist/builder.js (11.69 KB minified) + its guard.js dependency (3.51 KB minified), esbuild metafile-traced: SP5 moved components[] IR assembly/validation/canonicalization OUT of src/spec/components.ts and INTO bc's data-registration builder (buildComponentDefinition, bc#26 — the owner-decided split: extraction stays graphddb, IR shape is bc's), and the builder internally applies assertPortableComponentGraph (guard.js) as its fail-closed self-check, so both are load-bearing in the spec build path BY DESIGN (this is the seam the sub-pass exists to create, not a dependency leak). First-party src/spec shrank slightly (the hand-assembled Component return + inline plan emission were replaced by the registration call). New ceiling 29.3 KB keeps the same ~0.5 KB headroom discipline."
|
|
92
|
+
"graphddb/spec (build-time)": "#290 transitional loop CLOSED at the final sub-pass (P3-5): the components[] emitter is now the PERMANENT (and only) portable carrier of relation fan-out + transaction write plans, so the sub-pass-1 dual-emit bump does not fully revert — the old operation/transaction builders remain as the emitter INTERNAL lowering input (they also feed the TS declarative executor and the AOT prepared plan); only their serialization into operations.json was removed, replaced by the small portable projection. Measured 22.38->22.51 KB across the flip (all first-party src/spec, zero new dependencies, all runtime bundles flat); budget stays 23 KB as the steady-state ceiling. Any future growth must be traced per the size-limit-gate discipline, never blanket-raised. #297 SP1+SP2 traced growth: 22.51->25.02 KB (+2.51 brotli), two traced components — (1) first-party src/spec/catalog.ts: the bc-typed GRAPHDDB_CATALOG + the SP1c emitter validation + the SP2 CQRS effect-derivation invariant, both wired into buildOperations so a catalog/effect mismatch is a BUILD error (load-bearing by design, must ship in this bundle); (2) behavior-contracts/dist/authoring.js partial inclusion, 5.66 KB minified (esbuild metafile-traced): the SP2-mandated classifyBehaviorEffect/referencedComponents live in bc's authoring module, whose top-level `export const add = binOp('add')`-style const-initializer calls esbuild cannot prove pure — bc 0.1.6 ships no sideEffects:false / __PURE__ annotations, so the two tiny helpers drag the authoring-DSL scaffolding along. NOT a new dependency (behavior-contracts already supplied this bundle's contract types); an upstream bc annotation fix reclaims (2), and the ceiling must be re-tightened when it lands. New ceiling 25.5 KB keeps the same ~0.5 KB headroom discipline as the previous 23 KB ceiling. #297 SP3+SP4 traced growth: 25.04->25.26 KB (+0.22 brotli), all first-party src/spec — the SP4 inversion (deriveComponentEffects + assertPublishSplitMatchesDerived with method-naming errors, replacing the SP2 symmetric assertion) plus the additive contractInputs.behaviors registration loop in buildOperations (rename + collision check + re-validation); the publishBehaviors authoring machinery itself is type-only from this bundle (src/define/behaviors.ts never enters dist/spec). Runtime-core bucket flat (39.08->39.07: the eager graphddb.publishBehaviors member tree-shakes out of a { DDBModel }-only consumer — bc 0.1.7 ships sideEffects:false); import-* bucket 47.8->55.4 (+7.6: bc compileBehaviors recorder/scanner + src/define/behaviors.ts + src/executor/behavior-exec.ts, all reachable only via publishBehaviors / behaviorComponents / behavior-exec). #297 SP5 traced growth: 25.26->28.84 KB (+3.58 brotli), one traced component — behavior-contracts/dist/builder.js (11.69 KB minified) + its guard.js dependency (3.51 KB minified), esbuild metafile-traced: SP5 moved components[] IR assembly/validation/canonicalization OUT of src/spec/components.ts and INTO bc's data-registration builder (buildComponentDefinition, bc#26 — the owner-decided split: extraction stays graphddb, IR shape is bc's), and the builder internally applies assertPortableComponentGraph (guard.js) as its fail-closed self-check, so both are load-bearing in the spec build path BY DESIGN (this is the seam the sub-pass exists to create, not a dependency leak). First-party src/spec shrank slightly (the hand-assembled Component return + inline plan emission were replaced by the registration call). New ceiling 29.3 KB keeps the same ~0.5 KB headroom discipline. bc#45 (B1 typed-codegen enabler) traced growth: 29.30->29.43 KB (+0.13 brotli), ONE traced first-party component — src/spec/type-notation.ts (the model->portable-type-notation derivation: DynamoType->PortableType mapping, the ResultNode tree walk keyed off the components[] node ids, the fail-closed UndeterminablePortableType skip, and the deterministic re-canonicalization) plus its wiring in buildOperations (buildManifest() + annotateComponents after buildComponents). ZERO new dependencies: type-notation.ts imports only behavior-contracts (assertPortableComponentGraph/guard.js was ALREADY in this bundle since SP5's buildComponentDefinition) and the already-bundled ./types.js + ./manifest.js. This is the graphddb-owned post-build annotation seam mandated by bc 0.2.2 (whose buildComponentDefinition pre-dates the additive outType/outputType keys and would strip/reject them), so the derivation is load-bearing in the spec build path BY DESIGN — not a dependency leak. New ceiling 29.8 KB keeps the same ~0.5 KB headroom discipline; re-tighten if bc gains a builder that carries the notation directly."
|
|
90
93
|
},
|
|
91
94
|
"size-limit": [
|
|
92
95
|
{
|
|
@@ -110,7 +113,7 @@
|
|
|
110
113
|
"name": "graphddb/spec (build-time)",
|
|
111
114
|
"path": "dist/spec/index.js",
|
|
112
115
|
"import": "{ buildBridgeBundle }",
|
|
113
|
-
"limit": "29.
|
|
116
|
+
"limit": "29.8 KB"
|
|
114
117
|
},
|
|
115
118
|
{
|
|
116
119
|
"name": "graphddb/internal (AOT prepared-plan loader)",
|
|
@@ -158,7 +161,7 @@
|
|
|
158
161
|
},
|
|
159
162
|
"license": "MIT",
|
|
160
163
|
"dependencies": {
|
|
161
|
-
"behavior-contracts": "0.2.
|
|
164
|
+
"behavior-contracts": "0.2.3",
|
|
162
165
|
"commander": "^15.0.0",
|
|
163
166
|
"handlebars": "^4.7.9"
|
|
164
167
|
},
|