@prisma-next/sql-lane-query-builder 0.12.0 → 0.13.0-dev.10

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/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- //#region ../../../1-framework/0-foundation/contract/dist/domain-envelope-4hyFtJ4_.d.mts
1
+ //#region ../../../1-framework/0-foundation/contract/dist/domain-envelope-DKOnhO5d.d.mts
2
2
  //#region src/namespace-id.d.ts
3
3
  type NamespaceId = string & {
4
4
  readonly __brand: 'NamespaceId';
@@ -8,79 +8,14 @@ type NamespaceId = string & {
8
8
  interface CrossReference {
9
9
  readonly namespace: NamespaceId;
10
10
  readonly model: string;
11
+ /**
12
+ * Contract-space identity for cross-space relations. When present, the
13
+ * referenced model lives in a different contract space. Absent for local
14
+ * (same-space) relations.
15
+ */
16
+ readonly space?: string;
11
17
  }
12
18
  //#endregion
13
- //#region src/domain-types.d.ts
14
- type ScalarFieldType = {
15
- readonly kind: 'scalar';
16
- readonly codecId: string;
17
- readonly typeParams?: Record<string, unknown>;
18
- };
19
- type ValueObjectFieldType = {
20
- readonly kind: 'valueObject';
21
- readonly name: string;
22
- };
23
- type UnionFieldType = {
24
- readonly kind: 'union';
25
- readonly members: ReadonlyArray<ScalarFieldType | ValueObjectFieldType>;
26
- };
27
- type ContractFieldType = ScalarFieldType | ValueObjectFieldType | UnionFieldType;
28
- type ContractField = {
29
- readonly nullable: boolean;
30
- readonly type: ContractFieldType;
31
- readonly many?: true;
32
- readonly dict?: true;
33
- };
34
- type ContractRelationOn = {
35
- readonly localFields: readonly string[];
36
- readonly targetFields: readonly string[];
37
- };
38
- type ContractReferenceRelation = {
39
- readonly to: CrossReference;
40
- readonly cardinality: '1:1' | '1:N' | 'N:1';
41
- readonly on: ContractRelationOn;
42
- };
43
- type ContractEmbedRelation = {
44
- readonly to: CrossReference;
45
- readonly cardinality: '1:1' | '1:N';
46
- };
47
- type ContractRelation = ContractReferenceRelation | ContractEmbedRelation;
48
- type ContractDiscriminator = {
49
- readonly field: string;
50
- };
51
- type ContractVariantEntry = {
52
- readonly value: string;
53
- };
54
- type ContractValueObject = {
55
- readonly fields: Record<string, ContractField>;
56
- };
57
- type ModelStorageBase = Readonly<Record<string, unknown>>;
58
- interface ContractModelBase<TModelStorage extends ModelStorageBase = ModelStorageBase> {
59
- readonly fields: Record<string, ContractField>;
60
- readonly relations: Record<string, ContractRelation>;
61
- readonly storage: TModelStorage;
62
- readonly discriminator?: ContractDiscriminator;
63
- readonly variants?: Record<string, ContractVariantEntry>;
64
- readonly base?: CrossReference;
65
- readonly owner?: string;
66
- }
67
- /**
68
- * One namespace's application-domain entities — models and optional value
69
- * objects keyed by entity name within that namespace coordinate.
70
- */
71
- interface ApplicationDomainNamespace<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
72
- readonly models: TModels;
73
- readonly valueObjects?: Record<string, ContractValueObject>;
74
- }
75
- /**
76
- * Application-domain envelope: entity content keyed by namespace id.
77
- * Mirrors the storage plane's `namespaces` segment (ADR 221).
78
- */
79
- interface ApplicationDomain<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
80
- readonly namespaces: Readonly<Record<string, ApplicationDomainNamespace<TModels>>>;
81
- }
82
- //#endregion
83
- //#region ../../../1-framework/0-foundation/contract/dist/contract-types-xgwKtd7y.d.mts
84
19
  //#region src/types.d.ts
85
20
  /**
86
21
  * Unique symbol used as the key for branding types.
@@ -113,13 +48,21 @@ type ExecutionHashBase<THash extends string> = THash & Brand<'ExecutionHash'>;
113
48
  * `type ProfileHash = ProfileHashBase<'sha256:def456...'>`
114
49
  */
115
50
  type ProfileHashBase<THash extends string> = THash & Brand<'ProfileHash'>;
51
+ /**
52
+ * One entity-kind slot in a namespace — a map of entity name to entry.
53
+ * Values are opaque at the foundation layer; family and target concretions
54
+ * refine them to typed IR classes.
55
+ */
56
+ type StorageEntitySlot = Readonly<Record<string, unknown>>;
116
57
  /**
117
58
  * Plain-data namespace entry in a storage block. Every hydrated contract
118
- * carries at least `id` plus zero or more entity-kind slot maps (`tables`,
119
- * `collections`, …). Foundation declares only this shape — no IR machinery.
59
+ * carries at least `id` plus entity-kind slot maps under `entries`
60
+ * (`table`, `collection`, …). Foundation declares only this shape — no IR
61
+ * machinery.
120
62
  */
121
63
  interface StorageNamespace {
122
64
  readonly id: string;
65
+ readonly entries: Readonly<Record<string, StorageEntitySlot>>;
123
66
  }
124
67
  /**
125
68
  * Base type for family-specific storage blocks.
@@ -177,6 +120,155 @@ type ExecutionMutationDefault = {
177
120
  * authoring layers attach to a column before the column ref is known.
178
121
  */
179
122
  //#endregion
123
+ //#region src/value-set-ref.d.ts
124
+ /**
125
+ * Space-aware reference coordinate for a domain enum or storage value-set.
126
+ *
127
+ * `plane` names the contract plane the referenced entity lives in:
128
+ * - `'domain'` — the entity lives in the domain plane's `enum` slot.
129
+ * - `'storage'` — the entity lives in the storage plane's `valueSet` slot.
130
+ *
131
+ * `entityKind` names the source entity-kind:
132
+ * - `'enum'` — the referenced entity is a domain enum.
133
+ * - `'value-set'` — the referenced entity is a storage value-set.
134
+ *
135
+ * `namespaceId` admits the `UNBOUND_NAMESPACE_ID` (`__unbound__`) sentinel for
136
+ * single-namespace (unbound) references.
137
+ *
138
+ * Cross-space discrimination is presence-based: when `spaceId` is absent the
139
+ * reference is local (same contract-space); when `spaceId` is present the
140
+ * reference is cross-space. This mirrors the `ForeignKeyReference` carrier
141
+ * convention — no separate tag field — so local refs are JSON-minimal.
142
+ */
143
+ interface ValueSetRef {
144
+ readonly plane: 'domain' | 'storage';
145
+ readonly namespaceId: string;
146
+ readonly entityKind: 'enum' | 'value-set';
147
+ readonly name: string;
148
+ readonly spaceId?: string;
149
+ } //#endregion
150
+ //#region src/domain-types.d.ts
151
+ type ScalarFieldType = {
152
+ readonly kind: 'scalar';
153
+ readonly codecId: string;
154
+ readonly typeParams?: Record<string, unknown>;
155
+ };
156
+ type ValueObjectFieldType = {
157
+ readonly kind: 'valueObject';
158
+ readonly name: string;
159
+ };
160
+ type UnionFieldType = {
161
+ readonly kind: 'union';
162
+ readonly members: ReadonlyArray<ScalarFieldType | ValueObjectFieldType>;
163
+ };
164
+ type ContractFieldType = ScalarFieldType | ValueObjectFieldType | UnionFieldType;
165
+ type ContractField = {
166
+ readonly nullable: boolean;
167
+ readonly type: ContractFieldType;
168
+ readonly many?: true;
169
+ readonly dict?: true;
170
+ readonly valueSet?: ValueSetRef;
171
+ };
172
+ /**
173
+ * A domain enum: an ordered set of named members, each with a codec-encoded
174
+ * value. The `codecId` identifies the codec used to encode member values in
175
+ * storage. The `members` array is ordered (declaration order is preserved).
176
+ */
177
+ type ContractEnum = {
178
+ readonly codecId: string;
179
+ readonly members: readonly {
180
+ readonly name: string;
181
+ readonly value: JsonValue;
182
+ }[];
183
+ };
184
+ type ContractRelationOn = {
185
+ readonly localFields: readonly string[];
186
+ readonly targetFields: readonly string[];
187
+ };
188
+ type ContractRelationThrough = {
189
+ readonly table: string;
190
+ readonly namespaceId: string;
191
+ readonly parentColumns: readonly string[];
192
+ readonly childColumns: readonly string[];
193
+ readonly targetColumns: readonly string[];
194
+ };
195
+ type ContractManyToManyRelation = {
196
+ readonly to: CrossReference;
197
+ readonly cardinality: 'N:M';
198
+ readonly on: ContractRelationOn;
199
+ readonly through: ContractRelationThrough;
200
+ };
201
+ type ContractNonJunctionRelation = {
202
+ readonly to: CrossReference;
203
+ readonly cardinality: '1:1' | '1:N' | 'N:1';
204
+ readonly on: ContractRelationOn;
205
+ readonly through?: never;
206
+ };
207
+ type ContractReferenceRelation = ContractManyToManyRelation | ContractNonJunctionRelation;
208
+ type ContractEmbedRelation = {
209
+ readonly to: CrossReference;
210
+ readonly cardinality: '1:1' | '1:N';
211
+ };
212
+ type ContractRelation = ContractReferenceRelation | ContractEmbedRelation;
213
+ type ContractDiscriminator = {
214
+ readonly field: string;
215
+ };
216
+ type ContractVariantEntry = {
217
+ readonly value: string;
218
+ };
219
+ type ContractValueObject = {
220
+ readonly fields: Record<string, ContractField>;
221
+ };
222
+ type ModelStorageBase = Readonly<Record<string, unknown>>;
223
+ interface ContractModelBase<TModelStorage extends ModelStorageBase = ModelStorageBase> {
224
+ readonly fields: Record<string, ContractField>;
225
+ readonly relations: Record<string, ContractRelation>;
226
+ readonly storage: TModelStorage;
227
+ readonly discriminator?: ContractDiscriminator;
228
+ readonly variants?: Record<string, ContractVariantEntry>;
229
+ readonly base?: CrossReference;
230
+ readonly owner?: string;
231
+ }
232
+ //#endregion
233
+ //#region src/domain-envelope.d.ts
234
+ /**
235
+ * One namespace's application-domain entities — models and optional value
236
+ * objects keyed by entity name within that namespace coordinate.
237
+ */
238
+ interface ApplicationDomainNamespace<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
239
+ readonly models: TModels;
240
+ readonly valueObjects?: Record<string, ContractValueObject>;
241
+ readonly enum?: Record<string, ContractEnum>;
242
+ }
243
+ /**
244
+ * Application-domain envelope: entity content keyed by namespace id.
245
+ * Mirrors the storage plane's `namespaces` segment (ADR 221).
246
+ */
247
+ interface ApplicationDomain<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
248
+ readonly namespaces: Readonly<Record<string, ApplicationDomainNamespace<TModels>>>;
249
+ }
250
+ //#endregion
251
+ //#region ../../../1-framework/0-foundation/contract/dist/contract-types-CtIh62PH.d.mts
252
+ //#region src/control-policy.d.ts
253
+ /**
254
+ * Governance posture for a storage-plane node or for the contract as a whole.
255
+ *
256
+ * - `managed` — Prisma Next owns the full lifecycle (DDL, migrations, verification).
257
+ * - `tolerated` — node was found in the database but is not schema-managed; Prisma Next
258
+ * leaves it untouched while tracking its existence.
259
+ * - `external` — node is owned by an external system; Prisma Next never emits DDL for it.
260
+ * - `observed` — read-only access; Prisma Next does not write to or migrate the node.
261
+ */
262
+ type ControlPolicy = 'managed' | 'tolerated' | 'external' | 'observed';
263
+ /**
264
+ * Resolves the effective control policy for a storage-plane node.
265
+ *
266
+ * Precedence: node-level value → contract default → `'managed'`.
267
+ *
268
+ * Both parameters are optional raw values so this function stays node-type-agnostic
269
+ * and can be called by any consumer (verifier, planner, etc.) without importing IR classes.
270
+ */
271
+ //#endregion
180
272
  //#region src/contract-types.d.ts
181
273
  /**
182
274
  * Execution section for the unified contract (ADR 182).
@@ -223,7 +315,10 @@ interface Contract<TStorage extends StorageBase = StorageBase, TModels extends R
223
315
  readonly execution?: ContractExecutionSection;
224
316
  readonly profileHash: ProfileHashBase<string>;
225
317
  readonly meta: Record<string, unknown>;
318
+ readonly defaultControlPolicy?: ControlPolicy;
226
319
  }
320
+ /** Model definitions union carried on a {@link Contract}'s `TModels` type parameter. */
321
+ type ContractModelDefinitions<TContract extends Contract> = TContract extends Contract<StorageBase, infer TModels> ? TModels : never;
227
322
  //#endregion
228
323
  //#region src/type-errors.d.ts
229
324
  /**
@@ -349,25 +444,26 @@ declare abstract class IRNodeBase implements IRNode {
349
444
  *
350
445
  * The framework promises only the coordinate (`id`) — the named storage
351
446
  * entities a namespace contains are family-typed (SQL contributes
352
- * `tables`, Mongo contributes `collections`, future families pick their
353
- * own native idiom). Generic consumers walking "all named entries" go
354
- * through a family-typed namespace, not the framework `Namespace`.
447
+ * `table` / `type`, Mongo contributes `collection`, future families pick
448
+ * their own native idiom under `entries`). Generic consumers walking "all
449
+ * named entries" go through a family-typed namespace, not the framework
450
+ * `Namespace`.
355
451
  *
356
452
  * Every namespace concretion (e.g. family-built SQL namespaces,
357
453
  * `MongoUnboundNamespace`, target-promoted namespaces like
358
- * `PostgresSchema`) carries exactly: `id` (enumerable string), `kind`
359
- * (non-enumerable string discriminator set via `Object.defineProperty`),
360
- * and one or more entity-kind slot maps each an own-enumerable property
361
- * whose key is the entity kind (`tables`, `types`, `collections`,
362
- * target-pack-contributed slot names) and whose value is a
363
- * `Record<entityName, EntityIRClass>`. No other own-enumerable data lives
364
- * on a namespace; non-entity computed data lives on the surrounding storage
365
- * or contract IR. The framework's `elementCoordinates(storage)` walk relies
366
- * on this invariant to enumerate entities structurally without
367
- * family-specific knowledge.
454
+ * `PostgresSchema`) carries exactly: `id` (enumerable string),
455
+ * `entries` (frozen object holding entity-kind slot maps), and `kind`
456
+ * (non-enumerable string discriminator set via `Object.defineProperty`).
457
+ * Each slot map under `entries` uses a singular essence key (`table`,
458
+ * `type`, `collection`, ) mapping entity names to IR classes. No other
459
+ * own-enumerable data lives on a namespace; non-entity computed data lives
460
+ * on the surrounding storage or contract IR. The framework's
461
+ * `elementCoordinates(storage)` walk relies on this invariant to enumerate
462
+ * entities structurally without family-specific knowledge.
368
463
  */
369
464
  interface Namespace extends IRNode, StorageNamespace {
370
465
  readonly kind: string;
466
+ readonly entries: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
371
467
  }
372
468
  /**
373
469
  * Framework-level promise that every Contract IR / Schema IR carries a
@@ -439,7 +535,7 @@ interface StorageType extends IRNode {
439
535
  readonly kind: string;
440
536
  } //#endregion
441
537
  //#endregion
442
- //#region ../../1-core/contract/dist/types-ChlHcJCu.d.mts
538
+ //#region ../../1-core/contract/dist/foreign-key-BATxB95l.d.mts
443
539
  //#region src/ir/sql-node.d.ts
444
540
  /**
445
541
  * SQL family IR node base. Carries the family-level `kind` discriminator
@@ -478,15 +574,36 @@ declare abstract class SqlNode extends IRNodeBase {
478
574
  constructor();
479
575
  } //#endregion
480
576
  //#region src/ir/foreign-key-reference.d.ts
577
+ /**
578
+ * Input for a foreign-key reference (one side of a foreign-key declaration).
579
+ *
580
+ * When `spaceId` is absent the reference is local — the referenced table lives
581
+ * in the same contract-space. When `spaceId` is present the reference is
582
+ * cross-space — the referenced table lives in a different contract-space
583
+ * identified by `spaceId`.
584
+ *
585
+ * Presence-based discrimination keeps local FK JSON byte-identical to
586
+ * contracts authored before cross-space support was added.
587
+ */
481
588
  interface ForeignKeyReferenceInput {
482
589
  readonly namespaceId: string;
483
590
  readonly tableName: string;
484
591
  readonly columns: readonly string[];
592
+ readonly spaceId?: string;
485
593
  }
486
594
  /**
487
595
  * SQL Contract IR node for one side (source or target) of a foreign-key
488
596
  * declaration. Carries the full coordinate: namespace, table, and columns.
489
597
  *
598
+ * Cross-space discrimination is based on `spaceId` presence: absent means
599
+ * local (same contract-space); present means cross-space (the referenced
600
+ * table lives in the contract-space identified by `spaceId`).
601
+ *
602
+ * For local references `spaceId` is absent from JSON, keeping the serialized
603
+ * shape byte-identical to contracts authored before cross-space support was
604
+ * added. For cross-space references `spaceId` appears in JSON so round-trips
605
+ * are lossless.
606
+ *
490
607
  * Use `UNBOUND_NAMESPACE_ID` from `@prisma-next/framework-components/ir`
491
608
  * as the sentinel `namespaceId` for single-namespace (unbound) references.
492
609
  */
@@ -494,6 +611,7 @@ declare class ForeignKeyReference extends SqlNode {
494
611
  readonly namespaceId: NamespaceId;
495
612
  readonly tableName: string;
496
613
  readonly columns: readonly string[];
614
+ readonly spaceId?: string;
497
615
  constructor(input: ForeignKeyReferenceInput);
498
616
  } //#endregion
499
617
  //#region src/ir/foreign-key.d.ts
@@ -531,55 +649,39 @@ declare class ForeignKey extends SqlNode {
531
649
  readonly onUpdate?: ReferentialAction;
532
650
  constructor(input: ForeignKeyInput);
533
651
  } //#endregion
534
- //#region src/ir/postgres-enum-storage-entry.d.ts
535
- /**
536
- * Discriminator literal for the Postgres-enum variant on the polymorphic
537
- * `SqlStorage.types` slot.
538
- *
539
- * Enums are a target-level concept: Postgres ships native
540
- * `CREATE TYPE AS ENUM` while other SQL targets approximate enums via
541
- * constraints. The literal lives at the SQL family layer because every
542
- * SQL-family consumer (verifier, planner, lowering, …) needs to
543
- * discriminate enum-typed slot entries from codec-typed ones. The
544
- * concrete IR class (`PostgresEnumType`) lives in the target-postgres
545
- * package and implements this structural contract; cross-domain
546
- * layering rules forbid the SQL family from importing the concrete
547
- * target class directly, so the discriminator and structural interface
548
- * carry the dispatch.
549
- */
550
- declare const POSTGRES_ENUM_KIND: "postgres-enum";
551
- /**
552
- * Structural contract every Postgres-enum slot entry honours — both
553
- * the live `PostgresEnumType` IR-class instance and the raw JSON
554
- * envelope shape that survives `JSON.stringify` round-trips. SQL
555
- * family-layer dispatch narrows polymorphic `StorageType` slot
556
- * entries to this shape via `isPostgresEnumStorageEntry`.
557
- *
558
- * The `codecBinding` field is accessor-shaped (live class instance) on
559
- * the IR class and undefined on the raw JSON envelope; consumers that
560
- * need it must guard for its presence (the JSON path synthesises an
561
- * equivalent shape from `codecId` + `values`).
562
- */
563
- interface PostgresEnumStorageEntry extends StorageType {
564
- readonly kind: typeof POSTGRES_ENUM_KIND;
652
+ //#endregion
653
+ //#region ../../1-core/contract/dist/sql-storage-C2IALLla.d.mts
654
+ //#region src/ir/check-constraint.d.ts
655
+ /**
656
+ * Hydration / construction input shape for {@link CheckConstraint}.
657
+ * Mirrors the on-disk storage JSON envelope so the serializer hydration
658
+ * walker can hand a validated literal straight to `new`.
659
+ */
660
+ interface CheckConstraintInput {
565
661
  readonly name: string;
566
- readonly nativeType: string;
567
- readonly values: readonly string[];
568
- /**
569
- * Enumerable own property on the persisted JSON envelope; the live
570
- * IR-class instance carries it too. Family-shared dispatch sites
571
- * read `codecId` directly rather than going through the IR-class
572
- * `codecBinding` accessor (which lives on the prototype and isn't
573
- * present on raw JSON envelopes).
574
- */
575
- readonly codecId: string;
662
+ readonly column: string;
663
+ readonly valueSet: ValueSetRef;
576
664
  }
577
665
  /**
578
- * Narrow a polymorphic `StorageType` entry to the Postgres-enum shape
579
- * via its enumerable `kind` discriminator. Type guard returns true for
580
- * both live `PostgresEnumType` instances and raw JSON envelopes.
666
+ * SQL Contract IR node for a table-level check constraint that restricts
667
+ * a column to the permitted values of a value-set.
668
+ *
669
+ * The constraint is **structured** (names a column and a value-set
670
+ * reference), not a raw SQL expression. Each target renders its own DDL
671
+ * from the structured form, keeping the contract target-agnostic.
672
+ *
673
+ * Construction is idempotent: passing an existing `CheckConstraint`
674
+ * instance as input produces a new instance with identical fields.
675
+ * The constructor does not use `instanceof` for input discrimination —
676
+ * it reads plain named properties, which is sufficient since
677
+ * `CheckConstraintInput` is a structural type.
581
678
  */
582
- //#endregion
679
+ declare class CheckConstraint extends SqlNode {
680
+ readonly name: string;
681
+ readonly column: string;
682
+ readonly valueSet: ValueSetRef;
683
+ constructor(input: CheckConstraintInput);
684
+ } //#endregion
583
685
  //#region src/ir/primary-key.d.ts
584
686
  interface PrimaryKeyInput {
585
687
  readonly columns: readonly string[];
@@ -633,6 +735,8 @@ interface StorageColumnInput {
633
735
  readonly typeParams?: Record<string, unknown>;
634
736
  readonly typeRef?: string;
635
737
  readonly default?: ColumnDefault;
738
+ readonly control?: ControlPolicy;
739
+ readonly valueSet?: ValueSetRef;
636
740
  }
637
741
  /**
638
742
  * SQL Contract IR node for a single column entry in `StorageTable.columns`.
@@ -654,6 +758,8 @@ declare class StorageColumn extends SqlNode {
654
758
  readonly typeParams?: Record<string, unknown>;
655
759
  readonly typeRef?: string;
656
760
  readonly default?: ColumnDefault;
761
+ readonly control?: ControlPolicy;
762
+ readonly valueSet?: ValueSetRef;
657
763
  constructor(input: StorageColumnInput);
658
764
  } //#endregion
659
765
  //#region src/ir/unique-constraint.d.ts
@@ -676,6 +782,8 @@ interface StorageTableInput {
676
782
  readonly uniques: ReadonlyArray<UniqueConstraint | UniqueConstraintInput>;
677
783
  readonly indexes: ReadonlyArray<Index | IndexInput>;
678
784
  readonly foreignKeys: ReadonlyArray<ForeignKey | ForeignKeyInput>;
785
+ readonly control?: ControlPolicy;
786
+ readonly checks?: ReadonlyArray<CheckConstraint | CheckConstraintInput>;
679
787
  }
680
788
  /**
681
789
  * SQL Contract IR node for a single table entry in a namespace's
@@ -695,6 +803,8 @@ declare class StorageTable extends SqlNode {
695
803
  readonly indexes: ReadonlyArray<Index>;
696
804
  readonly foreignKeys: ReadonlyArray<ForeignKey>;
697
805
  readonly primaryKey?: PrimaryKey;
806
+ readonly control?: ControlPolicy;
807
+ readonly checks?: ReadonlyArray<CheckConstraint>;
698
808
  constructor(input: StorageTableInput);
699
809
  } //#endregion
700
810
  //#region src/ir/storage-type-instance.d.ts
@@ -724,26 +834,63 @@ interface StorageTypeInstance extends StorageType {
724
834
  * Construction-time input for a codec-triple entry. Symmetric with the
725
835
  * structural runtime shape minus the `kind` discriminator — callers may
726
836
  * omit `kind`; the helper {@link toStorageTypeInstance} stamps it on.
837
+ * `typeParams` may be omitted on input; the constructor normalises a
838
+ * missing value to `{}` so the in-memory shape is always present.
727
839
  */
728
840
  interface StorageTypeInstanceInput {
729
841
  readonly codecId: string;
730
842
  readonly nativeType: string;
731
- readonly typeParams: Record<string, unknown>;
843
+ readonly typeParams?: Record<string, unknown>;
732
844
  }
733
845
  /**
734
846
  * Stamp the codec-instance `kind` discriminator on a caller-supplied
735
847
  * codec triple. Idempotent: input that already carries the discriminator
736
- * passes through unchanged.
848
+ * passes through unchanged. Missing `typeParams` is normalised to `{}`.
737
849
  */
738
850
  //#endregion
851
+ //#region src/ir/storage-value-set.d.ts
852
+ /**
853
+ * Hydration / construction input shape for {@link StorageValueSet}.
854
+ * Mirrors the on-disk storage JSON envelope so the serializer hydration
855
+ * walker can hand a validated literal straight to `new`.
856
+ */
857
+ interface StorageValueSetInput {
858
+ readonly kind: 'value-set';
859
+ /** Ordered permitted values, codec-encoded. Declaration order is preserved. */
860
+ readonly values: readonly JsonValue[];
861
+ }
862
+ /**
863
+ * SQL Contract IR node for a value-set entry in a namespace's `valueSet`
864
+ * map (`SqlNamespace.entries.valueSet`).
865
+ *
866
+ * A value-set records the ordered set of permitted codec-encoded values for
867
+ * an enum-like column restriction. It does not carry a `codecId` — the
868
+ * column that references it already holds the codec; the value-set holds
869
+ * only the permitted values.
870
+ *
871
+ * The node's `kind` is enumerable (`'value-set'`) so the JSON envelope
872
+ * carries the discriminator and the serializer hydration walker can
873
+ * dispatch on it. This follows the per-leaf enumerable-kind convention
874
+ * established in the SQL-node comment (future polymorphic dispatch on
875
+ * namespace entries needs the discriminator in JSON).
876
+ *
877
+ * The entry's name is not on the class — value-sets are keyed by name in
878
+ * the parent namespace's `valueSet: Record<string, StorageValueSet>` map.
879
+ */
880
+ declare class StorageValueSet extends SqlNode {
881
+ readonly kind: "value-set";
882
+ readonly values: readonly JsonValue[];
883
+ constructor(input: StorageValueSetInput);
884
+ } //#endregion
739
885
  //#region src/ir/sql-storage.d.ts
740
886
  /**
741
887
  * Polymorphic value type for document-scoped `SqlStorage.types` entries
742
- * (codec aliases / parameterised native type registrations). Postgres
743
- * native enum registrations live under
744
- * `storage.namespaces[namespaceId].enum` instead.
888
+ * (codec aliases / parameterised native type registrations).
889
+ *
890
+ * Postgres native enum registrations live under the postgres-specific
891
+ * `entries.type` slot on `PostgresSchema` (target layer), not here.
745
892
  */
746
- type SqlStorageTypeEntry = StorageTypeInstance | StorageTypeInstanceInput | PostgresEnumStorageEntry;
893
+ type SqlStorageTypeEntry = StorageTypeInstance | StorageTypeInstanceInput;
747
894
  interface SqlStorageInput<THash extends string = string> {
748
895
  readonly storageHash: StorageHashBase<THash>;
749
896
  readonly types?: Record<string, SqlStorageTypeEntry>;
@@ -765,24 +912,32 @@ interface SqlStorageInput<THash extends string = string> {
765
912
  *
766
913
  * The constructor normalises optional `types` into class instances.
767
914
  * `types` is polymorphic per Decision 18 Option B: codec-triple inputs
768
- * are stamped with `kind: 'codec-instance'`; class-instance kinds
769
- * (e.g. Postgres-enum entries satisfying `PostgresEnumStorageEntry`)
770
- * pass through; hydration of raw JSON class-instance entries (carrying
771
- * their narrower `kind` literal) is the per-target serializer's
772
- * responsibility (so the family base does not import target-specific
773
- * subclasses).
915
+ * are stamped with `kind: 'codec-instance'`; hydration of raw JSON
916
+ * class-instance entries (carrying their narrower `kind` literal) is
917
+ * the per-target serializer's responsibility (so the family base does
918
+ * not import target-specific subclasses).
774
919
  */
775
920
  type SqlNamespace = Namespace & {
776
- readonly tables: Readonly<Record<string, StorageTable>>;
777
- readonly enum?: Readonly<Record<string, PostgresEnumStorageEntry>>;
921
+ readonly entries: Readonly<{
922
+ readonly table: Readonly<Record<string, StorageTable>>;
923
+ readonly valueSet?: Readonly<Record<string, StorageValueSet>>;
924
+ }>;
925
+ /**
926
+ * Render a dialect-qualified table reference for runtime SQL emission.
927
+ * Present on materialised target concretions (`PostgresSchema`,
928
+ * `SqliteDatabase`, …) and family placeholders; omitted on emitted
929
+ * contract structural namespace literals (methods are not serialised).
930
+ */
931
+ qualifyTable?(tableName: string): string;
778
932
  };
779
933
  declare class SqlStorage<THash extends string = string> extends SqlNode implements Storage {
780
934
  readonly storageHash: StorageHashBase<THash>;
781
935
  readonly namespaces: Readonly<Record<string, SqlNamespace>>;
782
- readonly types?: Readonly<Record<string, StorageTypeInstance | PostgresEnumStorageEntry>>;
936
+ readonly types?: Readonly<Record<string, StorageTypeInstance>>;
783
937
  constructor(input: SqlStorageInput<THash>);
784
- } //#endregion
785
- //#region src/ir/build-sql-namespace.d.ts
938
+ }
939
+ //#endregion
940
+ //#region ../../1-core/contract/dist/types-C2A2nkzv.d.mts
786
941
  type CodecTypesOf<T> = [T] extends [never] ? Record<string, never> : T extends {
787
942
  readonly codecTypes: infer C;
788
943
  } ? C extends Record<string, {
@@ -797,7 +952,29 @@ type CodecTypesOf<T> = [T] extends [never] ? Record<string, never> : T extends {
797
952
  */
798
953
  type TypeMapsPhantomKey = '__@prisma-next/sql-contract/typeMaps@__';
799
954
  type ExtractTypeMapsFromContract<T> = TypeMapsPhantomKey extends keyof T ? NonNullable<T[TypeMapsPhantomKey & keyof T]> : never;
955
+ type FieldOutputTypesOf<T> = [T] extends [never] ? Record<string, never> : T extends {
956
+ readonly fieldOutputTypes: infer F;
957
+ } ? F extends Record<string, Record<string, unknown>> ? F : Record<string, never> : Record<string, never>;
800
958
  type ExtractCodecTypes<T> = CodecTypesOf<ExtractTypeMapsFromContract<T>>;
959
+ type ExtractFieldOutputTypes<T> = FieldOutputTypesOf<ExtractTypeMapsFromContract<T>>;
960
+ //#endregion
961
+ //#region ../sql-builder/dist/db-BdrQgIiw.d.mts
962
+ //#endregion
963
+ //#region src/types/db.d.ts
964
+ type CapabilitiesBase = Record<string, Record<string, boolean>>;
965
+ type TableProxyContract = {
966
+ readonly storage: {
967
+ readonly namespaces: Readonly<Record<string, {
968
+ readonly entries: {
969
+ readonly table: Readonly<Record<string, StorageTable>>;
970
+ };
971
+ }>>;
972
+ };
973
+ readonly capabilities: CapabilitiesBase;
974
+ };
975
+ type UnboundTables$1<C extends TableProxyContract> = { readonly [Name in TableNamesAcrossNamespaces<C>]: TableInAnyNamespace<C, Name> };
976
+ type TableNamesAcrossNamespaces<C extends TableProxyContract> = { [NSId in keyof C['storage']['namespaces']]: keyof C['storage']['namespaces'][NSId]['entries']['table'] & string }[keyof C['storage']['namespaces']];
977
+ type TableInAnyNamespace<C extends TableProxyContract, Name extends string> = { [NSId in keyof C['storage']['namespaces']]: Name extends keyof C['storage']['namespaces'][NSId]['entries']['table'] ? C['storage']['namespaces'][NSId]['entries']['table'][Name] : never }[keyof C['storage']['namespaces']];
801
978
  //#endregion
802
979
  //#region src/type-atoms.d.ts
803
980
  /**
@@ -834,20 +1011,37 @@ type Simplify<TObject extends object> = DrainOuterGeneric<{ [K in keyof TObject]
834
1011
  //#endregion
835
1012
  //#region src/selection.d.ts
836
1013
  /**
837
- * Resolves the tables in the late-binding (`__unbound__`) namespace of a SQL
838
- * contract. Builder surfaces address tables by their unqualified name today;
839
- * the unbound namespace is the slot the target resolves at connection time.
1014
+ * Flat table map for the query-builder surface: every table name declared in
1015
+ * any storage namespace, with colliding names unioned (parity with
1016
+ * `@prisma-next/sql-builder`).
840
1017
  */
841
- type UnboundTables<TContract extends Contract<SqlStorage>> = TContract['storage']['namespaces']['__unbound__']['tables'];
1018
+ type UnboundTables<TContract extends Contract<SqlStorage>> = UnboundTables$1<TContract & TableProxyContract>;
1019
+ /**
1020
+ * The field-output override (the enum value union) for a `table.column`, or
1021
+ * `never` when no model field maps to it. The emitted `FieldOutputTypes`
1022
+ * TypeMap is keyed by model/field, so one pass over the models matches both the
1023
+ * `storage.table` and the field's `storage.fields[*].column` to read the
1024
+ * already-narrowed type back out.
1025
+ */
1026
+ type FieldOutputOverride<TContract extends Contract, TTableName extends string, TColumnName extends string, Models = ContractModelDefinitions<TContract>, FOT = ExtractFieldOutputTypes<TContract>> = { [M in keyof Models & keyof FOT & string]: Models[M] extends {
1027
+ readonly storage: {
1028
+ readonly table: TTableName;
1029
+ readonly fields: infer Fields;
1030
+ };
1031
+ } ? { [F in keyof Fields & keyof FOT[M] & string]: Fields[F] extends {
1032
+ readonly column: TColumnName;
1033
+ } ? FOT[M][F] : never }[keyof Fields & keyof FOT[M] & string] : never }[keyof Models & keyof FOT & string];
842
1034
  /**
843
- * A utility type to extract the output type of a referenced column from a contract.
844
- * Uses the type-only codec channel (ExtractCodecTypes), not runtime mappings.
1035
+ * The output type of a referenced column. Returns the enum value union from the
1036
+ * `FieldOutputTypes` TypeMap when the column is enum-typed (the override already
1037
+ * carries the correct nullability), otherwise the codec output type with column
1038
+ * nullability applied.
845
1039
  *
846
1040
  * @template TContract The contract that describes the database.
847
1041
  * @template TTableName The name of the table containing the column.
848
1042
  * @template TColumnName The name of the column whose output type is to be extracted.
849
1043
  */
850
- type ExtractOutputType<TContract extends Contract<SqlStorage>, TTableName extends keyof UnboundTables<TContract> & string, TColumnName extends keyof UnboundTables<TContract>[TTableName]['columns'] & string, _TColumn = UnboundTables<TContract>[TTableName]['columns'][TColumnName]> = _TColumn extends StorageColumn ? (_TColumn['nullable'] extends true ? null : never) | ExtractCodecTypes<TContract>[_TColumn['codecId']]['output'] : never;
1044
+ type ExtractOutputType<TContract extends Contract<SqlStorage>, TTableName extends keyof UnboundTables<TContract> & string, TColumnName extends keyof UnboundTables<TContract>[TTableName]['columns'] & string, _TColumn = UnboundTables<TContract>[TTableName]['columns'][TColumnName]> = [FieldOutputOverride<TContract, TTableName, TColumnName>] extends [never] ? _TColumn extends StorageColumn ? (_TColumn['nullable'] extends true ? null : never) | ExtractCodecTypes<TContract>[_TColumn['codecId']]['output'] : never : FieldOutputOverride<TContract, TTableName, TColumnName>;
851
1045
  /**
852
1046
  * A type representing a selection of columns in a SQL `select` query in the
853
1047
  * most generic form.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["_$arktype_internal_variants_object_ts0","NamespaceId","__brand","asNamespaceId","value","CrossReference","namespace","model","CrossReferenceSchema","ObjectType","crossRef","ScalarFieldType","Record","kind","codecId","typeParams","ValueObjectFieldType","name","UnionFieldType","ReadonlyArray","members","ContractFieldType","ContractField","nullable","type","many","dict","ContractRelationOn","localFields","targetFields","ContractReferenceRelation","to","cardinality","on","ContractEmbedRelation","ContractRelation","ContractDiscriminator","field","ContractVariantEntry","ContractValueObject","fields","ModelStorageBase","Readonly","ContractModelBase","TModelStorage","relations","storage","discriminator","variants","base","owner","ContractModel","ReferenceRelationKeys","TModels","ModelName","K","EmbedRelationKeys","UNBOUND_DOMAIN_NAMESPACE_ID","ApplicationDomainNamespace","models","valueObjects","ApplicationDomain","namespaces","ContractWithDomain","domain","resolveSingleDomainNamespaceId","namespaceId","contractModels","contract","contractValueObjects","C","D","E","O","S","T","_","a","b","c","d","f","g","h","i","k","l","m","n","o","p","r","s","t","u","v","w","x","y","T","CrossReference","_","ContractValueObject","p","ContractModelBase","t","ApplicationDomain","$","Brand","TKey","TValue","K","StorageHashBase","THash","ExecutionHashBase","executionHash","value","coreHash","ProfileHashBase","profileHash","StorageEntitySlot","Record","Readonly","StorageNamespace","id","StorageBase","storageHash","namespaces","FieldType","type","nullable","items","properties","GeneratedValueSpec","params","JsonPrimitive","JsonValue","key","ColumnDefaultLiteralValue","ColumnDefaultLiteralInputValue","Date","isColumnDefaultLiteralInputValue","ColumnDefault","kind","expression","isColumnDefault","ExecutionMutationDefaultValue","isExecutionMutationDefaultValue","ExecutionMutationDefault","ref","table","column","onCreate","onUpdate","ExecutionMutationDefaultPhases","Omit","ExecutionSection","ReadonlyArray","mutations","defaults","Source","readOnly","projection","origin","capabilities","DocIndex","Expr","name","keys","unique","where","path","DocCollection","strategy","fields","indexes","PlanMeta","target","targetFamily","lane","annotations","ContractMarkerRecord","contractJson","canonicalVersion","updatedAt","appTag","meta","invariants","ContractExecutionSection","Contract","TStorage","TModels","roots","domain","storage","extensionPacks","execution","ContractModelsMap","TContract","ExactlyOneKey","Only","NamespaceValueObjectsOf","TNamespace","valueObjects","VO","ContractValueObjectsMap","Projected","A","C","D","E","F","M","N","O","P","S","a","b","c","d","f","g","h","i","j","k","l","m","n","o","r","s","u","v","w","x","y","ApplicationDomain","StorageBase","StorageNamespace","IRNode","kind","IRNodeBase","freezeNode","T","node","UNBOUND_NAMESPACE_ID","Namespace","NamespaceBase","id","EntityCoordinate","plane","namespaceId","entityKind","entityName","elementCoordinates","Pick","Generator","storage","Storage","Record","Readonly","namespaces","domainElementCoordinates","domain","StorageType","IRNodeBase","Namespace","NamespaceBase","Storage","StorageType","ColumnDefault","NamespaceId","StorageHashBase","CodecTrait","SqlNode","kind","constructor","ForeignKeyReferenceInput","namespaceId","tableName","columns","ForeignKeyReference","input","ReferentialAction","ForeignKeyInput","source","target","name","onDelete","onUpdate","constraint","index","ForeignKey","POSTGRES_ENUM_KIND","PostgresEnumStorageEntry","nativeType","values","codecId","isPostgresEnumStorageEntry","value","PrimaryKeyInput","PrimaryKey","IndexInput","Record","type","options","Index","StorageColumnInput","nullable","typeParams","typeRef","default","StorageColumn","UniqueConstraintInput","UniqueConstraint","StorageTableInput","ReadonlyArray","primaryKey","uniques","indexes","foreignKeys","StorageTable","Readonly","CODEC_INSTANCE_KIND","StorageTypeInstance","StorageTypeInstanceInput","toStorageTypeInstance","isStorageTypeInstance","SqlStorageTypeEntry","SqlNamespaceTablesInput","id","tables","enum","SqlStorageInput","THash","SqlNamespace","storageHash","types","namespaces","SqlStorage","buildSqlNamespace","buildSqlNamespaceMap","SqlUnboundNamespace","instance","ForeignKeyOptions","SqlModelFieldStorage","column","SqlModelStorage","table","fields","DEFAULT_FK_CONSTRAINT","DEFAULT_FK_INDEX","applyFkDefaults","fk","overrideDefaults","TypeMaps","TCodecTypes","TQueryOperationTypes","TFieldOutputTypes","TFieldInputTypes","output","codecTypes","queryOperationTypes","fieldOutputTypes","fieldInputTypes","CodecTypesOf","T","C","QueryOperationSelfSpec","traits","QueryOperationReturn","returnType","QueryOperationTypeEntry","self","impl","args","SqlQueryOperationTypes","_CT","QueryOperationTypesBase","QueryOperationTypesOf","Q","TypeMapsPhantomKey","ContractWithTypeMaps","TContract","TTypeMaps","K","ExtractTypeMapsFromContract","NonNullable","FieldOutputTypesOf","F","FieldInputTypesOf","ExtractCodecTypes","ExtractQueryOperationTypes","ExtractFieldOutputTypes","ExtractFieldInputTypes","ResolveCodecTypes","$","A","B","D","E","G","H","I","J","L","M","N","O","P","R","S","U","V","W","X","Y","Z","_","a","b","c","d","et","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","tt","u","v","w","x","y","z"],"sources":["../../../../1-framework/0-foundation/contract/dist/domain-envelope-4hyFtJ4_.d.mts","../../../../1-framework/0-foundation/contract/dist/contract-types-xgwKtd7y.d.mts","../src/type-errors.ts","../src/column-reference.ts","../../../../1-framework/1-core/framework-components/dist/ir.d.mts","../../../1-core/contract/dist/types-ChlHcJCu.d.mts","../src/type-atoms.ts","../src/selection.ts","../src/table-reference.ts","../src/ref.ts","../src/select-builder.ts","../src/root.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":["__brand","value","NamespaceId","namespace","model","space","ObjectType","CrossReference","TKey","TValue","$","K","THash","Brand","T","ExecutionHashBase","StorageHashBase","ProfileHashBase","Readonly","Record","id","entries","StorageEntitySlot","storageHash","namespaces","StorageNamespace","type","nullable","items","FieldType","properties","params","JsonPrimitive","key","JsonValue","ColumnDefaultLiteralValue","Date","ColumnDefaultLiteralInputValue","kind","expression","ColumnDefault","GeneratedValueSpec","ExecutionMutationDefaultValue","ref","table","column","onCreate","onUpdate","Omit","ExecutionMutationDefault","executionHash","mutations","defaults","ReadonlyArray","readOnly","projection","origin","capabilities","name","keys","unique","where","Expr","path","strategy","fields","indexes","DocIndex","target","targetFamily","profileHash","lane","annotations","contractJson","canonicalVersion","updatedAt","appTag","meta","invariants","migrationName","migrationHash","from","to","appliedAt","operationCount","plane","namespaceId","entityKind","spaceId","codecId","typeParams","members","ScalarFieldType","ValueObjectFieldType","UnionFieldType","ContractFieldType","many","dict","valueSet","ValueSetRef","localFields","targetFields","parentColumns","childColumns","targetColumns","cardinality","on","ContractRelationOn","through","ContractRelationThrough","ContractManyToManyRelation","ContractNonJunctionRelation","ContractReferenceRelation","ContractEmbedRelation","field","ContractField","TModelStorage","ModelStorageBase","relations","ContractRelation","storage","discriminator","ContractDiscriminator","variants","ContractVariantEntry","base","owner","ContractModelBase","TModels","ModelName","models","valueObjects","ContractValueObject","enum","ContractEnum","ApplicationDomainNamespace","domain","ApplicationDomain","ControlPolicy","nodeControl","defaultControlPolicy","THash","executionHash","ExecutionHashBase","mutations","defaults","ReadonlyArray","ExecutionMutationDefault","TStorage","StorageBase","TModels","Record","ContractModelBase","target","targetFamily","roots","CrossReference","domain","ApplicationDomain","storage","capabilities","extensionPacks","execution","ContractExecutionSection","profileHash","ProfileHashBase","meta","TContract","Contract","T","Only","TNamespace","valueObjects","VO","ContractValueObject","NamespaceValueObjectsOf","ExactlyOneNamespace","Projected","kind","IRNode","T","node","StorageNamespace","entries","Readonly","Record","IRNodeBase","Namespace","id","plane","namespaceId","entityKind","entityName","Pick","StorageBase","storage","Generator","EntityCoordinate","namespaces","ApplicationDomain","domain","IRNodeBase","kind","constructor","namespaceId","tableName","columns","spaceId","SqlNode","NamespaceId","ForeignKeyReferenceInput","input","source","ForeignKeyReference","target","name","onDelete","ReferentialAction","onUpdate","constraint","index","ForeignKeyInput","name","column","valueSet","ValueSetRef","SqlNode","constructor","CheckConstraintInput","input","columns","PrimaryKeyInput","type","options","Record","IndexInput","nativeType","codecId","nullable","typeParams","typeRef","default","ColumnDefault","control","ControlPolicy","StorageColumnInput","UniqueConstraintInput","StorageColumn","primaryKey","PrimaryKey","uniques","ReadonlyArray","UniqueConstraint","indexes","Index","foreignKeys","ForeignKey","ForeignKeyInput","checks","CheckConstraint","Readonly","StorageTableInput","StorageType","kind","CODEC_INSTANCE_KIND","StorageTypeInstanceInput","StorageTypeInstance","value","values","JsonValue","StorageValueSetInput","id","entries","table","StorageTable","StorageValueSet","THash","storageHash","StorageHashBase","types","SqlStorageTypeEntry","namespaces","SqlNamespace","Namespace","qualifyTable","tableName","Storage","SqlStorageInput","SqlStorage","storage","namespaceId","SqlNamespaceTablesInput","input","SqlNamespace","Readonly","Record","Namespace","namespaces","StorageType","kind","POSTGRES_ENUM_KIND","name","nativeType","values","codecId","control","ControlPolicy","value","PostgresEnumStorageEntry","NamespaceBase","instance","SqlUnboundNamespace","id","entries","table","StorageTable","constructor","qualifyTable","tableName","T","ControlDriverInstance","query","Row","sql","params","Promise","rows","onDelete","ReferentialAction","onUpdate","column","nullable","namespaceId","fields","SqlModelFieldStorage","constraint","index","fk","overrideDefaults","TCodecTypes","output","TQueryOperationTypes","TFieldOutputTypes","TFieldInputTypes","codecTypes","queryOperationTypes","fieldOutputTypes","fieldInputTypes","C","traits","CodecTrait","returnType","self","QueryOperationSelfSpec","impl","args","QueryOperationReturn","_CT","QueryOperationTypeEntry","Q","TContract","TTypeMaps","K","TypeMapsPhantomKey","NonNullable","F","CodecTypesOf","ExtractTypeMapsFromContract","QueryOperationTypesOf","FieldOutputTypesOf","FieldInputTypesOf","ExtractCodecTypes","Capabilities","Required","Method","T","K","Record","ScopeField","topLevel","ScopeTable","namespaces","Row","Alias","JoinOuterScope","getJoinOuterScope","Scope","buildAst","AnyFromSource","Name","Table","StorageTable$1","StorageTableToScopeTable","codecId","nullable","A","B","Expand","Omit","S","OldKey","NewKey","NullableScopeTable","TableName","RowType","SubqueryMarker","SelectAst","getRowFields","codecTypes","CodecTypesBase","capabilities","queryOperationTypes","QueryOperationTypesBase","resolvedColumnOutputTypes","Source","Field","FromScope","Columns","Pick","Expression$1","F","AvailableScope","QC","QueryContext","FieldProxy","fields","Functions","fns","BooleanCodecType","direction","OrderByDirection","nulls","OrderByNulls","OT","CT","input","eq","CodecId","CodecExpression","a","b","ne","N","gt","gte","lt","lte","and","ands","or","ors","exists","Subquery","subquery","notExists","in","expr","Array","values","notIn","raw","RawSqlTag","BuiltinFunctions","DeriveExtFunctions","count","CountField","sum","avg","min","max","AggregateOnlyFunctions","CodecTypes","output","PreResolved","ResolveField","ApplyNullable","NonNullable","sql","returning","StorageTable","annotate","As","AnnotationValue","OperationKind","annotations","ValidAnnotations","InsertQuery","GatedMethod","ReturningCapability","columns","WithFields","EmptyRow","build","SqlQueryPlan","ResolveRow","UpdateQuery","where","ExpressionBuilder","DeleteQuery","WithSelect","WithJoin","WithPagination","WithDistinct","WithAlias","WithBuild","GroupedQuery","groupBy","OrderByScope","having","AggregateFunctions","orderBy","field","OrderByOptions","options","distinctOn","postgres","SelectQuery","ParentScope","from","Other","JoinSource","other","MergeScopes","select","alias","WithField","Result","callback","ExtractScopeFields","innerJoin","on","JoinedTables","outerLeftJoin","NullableScope","outerRightJoin","outerFullJoin","lateralJoin","lateral","LateralRow","LateralBuilder","builder","outerLateralJoin","TraitExpression","limit","PaginationValue","offset","distinct","as","newAlias","C","Contract","M","ContractModelDefinitions","storage","table","ModelName","ColumnName","column","FieldTypes","FindModelForTable","TableProxyContract","UnboundTables","Tables","ColName","FindFieldForColumn","FieldName","FieldInputs","InsertValues","ResolvedInsertValues","ExtractCodecTypes","ExtractQueryOperationTypes","ResolvedColumnTypes","ExtractFieldOutputTypes","DefaultScope","ContractToQC","NewAlias","TableProxy","RebindScope","insert","ReadonlyArray","ExtractFieldInputTypes","rows","update","ResolvedUpdateValues","set","ResolvedUpdateExpressions","delete","Readonly","entries","CapabilitiesBase","TableNamesAcrossNamespaces","TableInAnyNamespace","NSId","NsId","Ns","Namespace"],"sources":["../../../../1-framework/0-foundation/contract/dist/domain-envelope-DKOnhO5d.d.mts","../../../../1-framework/0-foundation/contract/dist/contract-types-CtIh62PH.d.mts","../src/type-errors.ts","../src/column-reference.ts","../../../../1-framework/1-core/framework-components/dist/ir.d.mts","../../../1-core/contract/dist/foreign-key-BATxB95l.d.mts","../../../1-core/contract/dist/sql-storage-C2IALLla.d.mts","../../../1-core/contract/dist/types-C2A2nkzv.d.mts","../../sql-builder/dist/db-BdrQgIiw.d.mts","../src/type-atoms.ts","../src/selection.ts","../src/table-reference.ts","../src/ref.ts","../src/select-builder.ts","../src/root.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "@prisma-next/sql-lane-query-builder",
3
- "version": "0.12.0",
3
+ "version": "0.13.0-dev.10",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "description": "SQL query builder lane for Prisma Next",
8
8
  "devDependencies": {
9
- "@prisma-next/contract": "0.12.0",
10
- "@prisma-next/sql-contract": "0.12.0",
11
- "@prisma-next/tsconfig": "0.12.0",
12
- "@prisma-next/tsdown": "0.12.0",
13
- "tsdown": "0.22.0",
9
+ "@prisma-next/contract": "0.13.0-dev.10",
10
+ "@prisma-next/sql-builder": "0.13.0-dev.10",
11
+ "@prisma-next/sql-contract": "0.13.0-dev.10",
12
+ "@prisma-next/tsconfig": "0.13.0-dev.10",
13
+ "@prisma-next/tsdown": "0.13.0-dev.10",
14
+ "tsdown": "0.22.1",
14
15
  "typescript": "5.9.3",
15
- "vitest": "4.1.6"
16
+ "vitest": "4.1.8"
16
17
  },
17
18
  "peerDependencies": {
18
19
  "typescript": ">=5.9"
package/src/selection.ts CHANGED
@@ -1,18 +1,57 @@
1
- import type { Contract } from '@prisma-next/contract/types';
2
- import type { ExtractCodecTypes, SqlStorage, StorageColumn } from '@prisma-next/sql-contract/types';
1
+ import type { Contract, ContractModelDefinitions } from '@prisma-next/contract/types';
2
+ import type {
3
+ UnboundTables as SqlBuilderUnboundTables,
4
+ TableProxyContract,
5
+ } from '@prisma-next/sql-builder/types';
6
+ import type {
7
+ ExtractCodecTypes,
8
+ ExtractFieldOutputTypes,
9
+ SqlStorage,
10
+ StorageColumn,
11
+ } from '@prisma-next/sql-contract/types';
3
12
  import type { DrainOuterGeneric } from './type-atoms';
4
13
 
5
14
  /**
6
- * Resolves the tables in the late-binding (`__unbound__`) namespace of a SQL
7
- * contract. Builder surfaces address tables by their unqualified name today;
8
- * the unbound namespace is the slot the target resolves at connection time.
15
+ * Flat table map for the query-builder surface: every table name declared in
16
+ * any storage namespace, with colliding names unioned (parity with
17
+ * `@prisma-next/sql-builder`).
9
18
  */
10
- export type UnboundTables<TContract extends Contract<SqlStorage>> =
11
- TContract['storage']['namespaces']['__unbound__']['tables'];
19
+ export type UnboundTables<TContract extends Contract<SqlStorage>> = SqlBuilderUnboundTables<
20
+ TContract & TableProxyContract
21
+ >;
12
22
 
13
23
  /**
14
- * A utility type to extract the output type of a referenced column from a contract.
15
- * Uses the type-only codec channel (ExtractCodecTypes), not runtime mappings.
24
+ * The field-output override (the enum value union) for a `table.column`, or
25
+ * `never` when no model field maps to it. The emitted `FieldOutputTypes`
26
+ * TypeMap is keyed by model/field, so one pass over the models matches both the
27
+ * `storage.table` and the field's `storage.fields[*].column` to read the
28
+ * already-narrowed type back out.
29
+ */
30
+ type FieldOutputOverride<
31
+ TContract extends Contract,
32
+ TTableName extends string,
33
+ TColumnName extends string,
34
+ Models = ContractModelDefinitions<TContract>,
35
+ FOT = ExtractFieldOutputTypes<TContract>,
36
+ > = {
37
+ [M in keyof Models & keyof FOT & string]: Models[M] extends {
38
+ readonly storage: { readonly table: TTableName; readonly fields: infer Fields };
39
+ }
40
+ ? {
41
+ [F in keyof Fields & keyof FOT[M] & string]: Fields[F] extends {
42
+ readonly column: TColumnName;
43
+ }
44
+ ? FOT[M][F]
45
+ : never;
46
+ }[keyof Fields & keyof FOT[M] & string]
47
+ : never;
48
+ }[keyof Models & keyof FOT & string];
49
+
50
+ /**
51
+ * The output type of a referenced column. Returns the enum value union from the
52
+ * `FieldOutputTypes` TypeMap when the column is enum-typed (the override already
53
+ * carries the correct nullability), otherwise the codec output type with column
54
+ * nullability applied.
16
55
  *
17
56
  * @template TContract The contract that describes the database.
18
57
  * @template TTableName The name of the table containing the column.
@@ -23,11 +62,13 @@ export type ExtractOutputType<
23
62
  TTableName extends keyof UnboundTables<TContract> & string,
24
63
  TColumnName extends keyof UnboundTables<TContract>[TTableName]['columns'] & string,
25
64
  _TColumn = UnboundTables<TContract>[TTableName]['columns'][TColumnName],
26
- > = _TColumn extends StorageColumn
27
- ?
28
- | (_TColumn['nullable'] extends true ? null : never)
29
- | ExtractCodecTypes<TContract>[_TColumn['codecId']]['output']
30
- : never;
65
+ > = [FieldOutputOverride<TContract, TTableName, TColumnName>] extends [never]
66
+ ? _TColumn extends StorageColumn
67
+ ?
68
+ | (_TColumn['nullable'] extends true ? null : never)
69
+ | ExtractCodecTypes<TContract>[_TColumn['codecId']]['output']
70
+ : never
71
+ : FieldOutputOverride<TContract, TTableName, TColumnName>;
31
72
 
32
73
  /**
33
74
  * A type representing a selection of columns in a SQL `select` query in the