@prisma-next/family-sql 0.12.0-dev.1 → 0.12.0-dev.11

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.
@@ -1,4 +1,4 @@
1
- import { T as SqlPlanTargetDetails, p as SqlMigrationPlanOperation } from "./types-CeeCStqw.mjs";
1
+ import { T as SqlPlanTargetDetails, p as SqlMigrationPlanOperation } from "./types-DbGXj_Si.mjs";
2
2
  import { Migration } from "@prisma-next/migration-tools/migration";
3
3
 
4
4
  //#region src/core/sql-migration.d.ts
@@ -1,3 +1,4 @@
1
+ import { t as SqlControlAdapter } from "./control-adapter-Br03xBEv.mjs";
1
2
  import { ContractSerializer, ContractSpace, ControlAdapterDescriptor, ControlDriverInstance, ControlExtensionDescriptor, ControlFamilyInstance, ControlStack, MigratableTargetDescriptor, MigrationOperationPolicy, MigrationPlan, MigrationPlanOperation, MigrationPlannerConflict, MigrationPlannerFailureResult, MigrationPlannerSuccessResult, MigrationRunnerExecutionChecks, MigrationRunnerFailure, MigrationRunnerPerSpaceSuccessValue, MigrationRunnerResult, OpFactoryCall, OperationContext, OperationPreview, OperationPreviewCapable, PslContractInferCapable, SchemaIssue, SchemaVerifier, SchemaViewCapable, SignDatabaseResult, VerifyDatabaseResult, VerifyDatabaseSchemaResult } from "@prisma-next/framework-components/control";
2
3
  import { SqlStorage, StorageColumn, StorageTable, StorageTypeInstance } from "@prisma-next/sql-contract/types";
3
4
  import { PslDocumentAst } from "@prisma-next/framework-components/psl-ast";
@@ -7,6 +8,7 @@ import { AnyQueryAst, LoweredStatement, LowererContext } from "@prisma-next/sql-
7
8
  import { SqlSchemaIR } from "@prisma-next/sql-schema-ir/types";
8
9
  import { TargetBoundComponentDescriptor } from "@prisma-next/framework-components/components";
9
10
  import { TypesImportSpec } from "@prisma-next/framework-components/emission";
11
+ import { AggregateMigrationEdgeRef } from "@prisma-next/migration-tools/aggregate";
10
12
  import { SqlOperationDescriptors } from "@prisma-next/sql-operations";
11
13
 
12
14
  //#region src/core/control-instance.d.ts
@@ -202,7 +204,7 @@ interface SqlControlExtensionDescriptor<TTargetId extends string> extends Contro
202
204
  */
203
205
  readonly contractSpace?: ContractSpace<Contract<SqlStorage>>;
204
206
  }
205
- interface SqlControlAdapterDescriptor<TTargetId extends string> extends ControlAdapterDescriptor<'sql', TTargetId> {
207
+ interface SqlControlAdapterDescriptor<TTargetId extends string> extends ControlAdapterDescriptor<'sql', TTargetId, SqlControlAdapter<TTargetId>> {
206
208
  readonly queryOperations?: () => SqlOperationDescriptors;
207
209
  }
208
210
  interface SqlMigrationPlanOperationStep {
@@ -387,6 +389,11 @@ interface SqlMigrationRunnerExecuteOptions<TTargetDetails> {
387
389
  * All components must have matching familyId ('sql') and targetId.
388
390
  */
389
391
  readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
392
+ /**
393
+ * Per-edge breakdown from graph-walk planning. When present, the runner
394
+ * writes one ledger row per edge instead of one collapsed row per apply.
395
+ */
396
+ readonly migrationEdges: readonly AggregateMigrationEdgeRef[];
390
397
  }
391
398
  type SqlMigrationRunnerErrorCode = 'DESTINATION_CONTRACT_MISMATCH' | 'LEGACY_MARKER_SHAPE' | 'MARKER_ORIGIN_MISMATCH' | 'POLICY_VIOLATION' | 'PRECHECK_FAILED' | 'POSTCHECK_FAILED' | 'SCHEMA_VERIFY_FAILED' | 'FOREIGN_KEY_VIOLATION' | 'EXECUTION_FAILED';
392
399
  interface SqlMigrationRunnerFailure extends MigrationRunnerFailure {
@@ -463,4 +470,4 @@ interface CreateSqlMigrationPlanOptions<TTargetDetails> {
463
470
  }
464
471
  //#endregion
465
472
  export { SqlPlannerResult as A, SqlMigrationRunnerResult as C, SqlPlannerConflictKind as D, SqlPlannerConflict as E, StorageTypePlanResult as M, SqlControlFamilyInstance as N, SqlPlannerConflictLocation as O, SqlMigrationRunnerFailure as S, SqlPlanTargetDetails as T, SqlMigrationPlannerPlanOptions as _, FieldEvent as a, SqlMigrationRunnerExecuteCallbacks as b, SqlControlAdapterDescriptor as c, SqlMigrationPlan as d, SqlMigrationPlanContractInfo as f, SqlMigrationPlanner as g, SqlMigrationPlanOperationTarget as h, ExpandNativeTypeInput as i, SqlPlannerSuccessResult as j, SqlPlannerFailureResult as k, SqlControlExtensionDescriptor as l, SqlMigrationPlanOperationStep as m, CodecControlHooks as n, FieldEventContext as o, SqlMigrationPlanOperation as p, CreateSqlMigrationPlanOptions as r, ResolveIdentityValueInput as s, AnyRecord as t, SqlControlTargetDescriptor as u, SqlMigrationRunner as v, SqlMigrationRunnerSuccessValue as w, SqlMigrationRunnerExecuteOptions as x, SqlMigrationRunnerErrorCode as y };
466
- //# sourceMappingURL=types-CeeCStqw.d.mts.map
473
+ //# sourceMappingURL=types-DbGXj_Si.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DbGXj_Si.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/migrations/types.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,34 +1,34 @@
1
1
  {
2
2
  "name": "@prisma-next/family-sql",
3
- "version": "0.12.0-dev.1",
3
+ "version": "0.12.0-dev.11",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "description": "SQL family descriptor for Prisma Next",
8
8
  "dependencies": {
9
- "@prisma-next/contract": "0.12.0-dev.1",
10
- "@prisma-next/emitter": "0.12.0-dev.1",
11
- "@prisma-next/framework-components": "0.12.0-dev.1",
12
- "@prisma-next/migration-tools": "0.12.0-dev.1",
13
- "@prisma-next/operations": "0.12.0-dev.1",
14
- "@prisma-next/sql-contract": "0.12.0-dev.1",
15
- "@prisma-next/sql-contract-emitter": "0.12.0-dev.1",
16
- "@prisma-next/sql-contract-ts": "0.12.0-dev.1",
17
- "@prisma-next/sql-operations": "0.12.0-dev.1",
18
- "@prisma-next/sql-relational-core": "0.12.0-dev.1",
19
- "@prisma-next/sql-runtime": "0.12.0-dev.1",
20
- "@prisma-next/sql-schema-ir": "0.12.0-dev.1",
21
- "@prisma-next/utils": "0.12.0-dev.1",
9
+ "@prisma-next/contract": "0.12.0-dev.11",
10
+ "@prisma-next/emitter": "0.12.0-dev.11",
11
+ "@prisma-next/framework-components": "0.12.0-dev.11",
12
+ "@prisma-next/migration-tools": "0.12.0-dev.11",
13
+ "@prisma-next/operations": "0.12.0-dev.11",
14
+ "@prisma-next/sql-contract": "0.12.0-dev.11",
15
+ "@prisma-next/sql-contract-emitter": "0.12.0-dev.11",
16
+ "@prisma-next/sql-contract-ts": "0.12.0-dev.11",
17
+ "@prisma-next/sql-operations": "0.12.0-dev.11",
18
+ "@prisma-next/sql-relational-core": "0.12.0-dev.11",
19
+ "@prisma-next/sql-runtime": "0.12.0-dev.11",
20
+ "@prisma-next/sql-schema-ir": "0.12.0-dev.11",
21
+ "@prisma-next/utils": "0.12.0-dev.11",
22
22
  "arktype": "^2.2.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@prisma-next/driver-postgres": "0.12.0-dev.1",
26
- "@prisma-next/psl-parser": "0.12.0-dev.1",
27
- "@prisma-next/psl-printer": "0.12.0-dev.1",
28
- "@prisma-next/sql-contract-psl": "0.12.0-dev.1",
29
- "@prisma-next/test-utils": "0.12.0-dev.1",
30
- "@prisma-next/tsconfig": "0.12.0-dev.1",
31
- "@prisma-next/tsdown": "0.12.0-dev.1",
25
+ "@prisma-next/driver-postgres": "0.12.0-dev.11",
26
+ "@prisma-next/psl-parser": "0.12.0-dev.11",
27
+ "@prisma-next/psl-printer": "0.12.0-dev.11",
28
+ "@prisma-next/sql-contract-psl": "0.12.0-dev.11",
29
+ "@prisma-next/test-utils": "0.12.0-dev.11",
30
+ "@prisma-next/tsconfig": "0.12.0-dev.11",
31
+ "@prisma-next/tsdown": "0.12.0-dev.11",
32
32
  "tsdown": "0.22.0",
33
33
  "typescript": "5.9.3",
34
34
  "vitest": "4.1.6"
@@ -1,4 +1,8 @@
1
- import type { Contract, ContractMarkerRecord } from '@prisma-next/contract/types';
1
+ import type {
2
+ Contract,
3
+ ContractMarkerRecord,
4
+ LedgerEntryRecord,
5
+ } from '@prisma-next/contract/types';
2
6
  import type {
3
7
  ControlAdapterInstance,
4
8
  ControlDriverInstance,
@@ -52,6 +56,16 @@ export interface SqlControlAdapter<TTarget extends string = string>
52
56
  driver: ControlDriverInstance<'sql', TTarget>,
53
57
  ): Promise<ReadonlyMap<string, ContractMarkerRecord>>;
54
58
 
59
+ /**
60
+ * Reads the per-migration ledger journal for `space` in apply order.
61
+ * Returns an empty array when the ledger store does not yet exist or
62
+ * has no rows for that space.
63
+ */
64
+ readLedger(
65
+ driver: ControlDriverInstance<'sql', TTarget>,
66
+ space: string,
67
+ ): Promise<readonly LedgerEntryRecord[]>;
68
+
55
69
  /**
56
70
  * Introspects a database schema and returns a raw SqlSchemaIR.
57
71
  *
@@ -1,4 +1,8 @@
1
- import type { Contract, ContractMarkerRecord } from '@prisma-next/contract/types';
1
+ import type {
2
+ Contract,
3
+ ContractMarkerRecord,
4
+ LedgerEntryRecord,
5
+ } from '@prisma-next/contract/types';
2
6
  import type {
3
7
  TargetBoundComponentDescriptor,
4
8
  TargetDescriptor,
@@ -248,23 +252,6 @@ export interface SqlControlFamilyInstance
248
252
 
249
253
  export type SqlFamilyInstance = SqlControlFamilyInstance;
250
254
 
251
- function isSqlControlAdapter<TTargetId extends string>(
252
- value: unknown,
253
- ): value is SqlControlAdapter<TTargetId> {
254
- return (
255
- typeof value === 'object' &&
256
- value !== null &&
257
- 'introspect' in value &&
258
- typeof (value as { introspect: unknown }).introspect === 'function' &&
259
- 'readMarker' in value &&
260
- typeof (value as { readMarker: unknown }).readMarker === 'function' &&
261
- 'readAllMarkers' in value &&
262
- typeof (value as { readAllMarkers: unknown }).readAllMarkers === 'function' &&
263
- 'lower' in value &&
264
- typeof (value as { lower: unknown }).lower === 'function'
265
- );
266
- }
267
-
268
255
  interface DescriptorWithStorageTypes {
269
256
  readonly targetId?: string | undefined;
270
257
  readonly types?:
@@ -361,19 +348,11 @@ export function createSqlFamilyInstance<TTargetId extends string>(
361
348
  extensionPacks: extensions,
362
349
  });
363
350
 
364
- // Family-instance methods accept `ControlDriverInstance<'sql', string>` —
365
- // the family API isn't generic on the target id. Letting `isSqlControlAdapter`
366
- // default its type parameter narrows the adapter to `SqlControlAdapter<string>`,
367
- // which matches the family-level driver type without any cast at call sites.
368
- const getControlAdapter = () => {
369
- const controlAdapter = adapter.create(stack);
370
- if (!isSqlControlAdapter(controlAdapter)) {
371
- throw new Error(
372
- 'Adapter does not implement SqlControlAdapter (missing introspect, readMarker, or readAllMarkers)',
373
- );
374
- }
375
- return controlAdapter;
376
- };
351
+ // Family-instance methods accept `ControlDriverInstance<'sql', string>` — the
352
+ // family API isn't generic on the target id. The adapter descriptor's `create`
353
+ // returns the concrete `SqlControlAdapter<TTargetId>`; widening the target id to
354
+ // `string` here matches the family-level driver type without a per-method probe.
355
+ const getControlAdapter = (): SqlControlAdapter<string> => adapter.create(stack);
377
356
 
378
357
  const targetSerializer = (
379
358
  target as unknown as {
@@ -651,6 +630,12 @@ export function createSqlFamilyInstance<TTargetId extends string>(
651
630
  }): Promise<ReadonlyMap<string, ContractMarkerRecord>> {
652
631
  return getControlAdapter().readAllMarkers(options.driver);
653
632
  },
633
+ async readLedger(options: {
634
+ readonly driver: ControlDriverInstance<'sql', string>;
635
+ readonly space: string;
636
+ }): Promise<readonly LedgerEntryRecord[]> {
637
+ return getControlAdapter().readLedger(options.driver, options.space);
638
+ },
654
639
  async introspect(options: {
655
640
  readonly driver: ControlDriverInstance<'sql', string>;
656
641
  readonly contract?: unknown;
@@ -22,6 +22,7 @@ import type {
22
22
  SchemaIssue,
23
23
  SchemaVerifier,
24
24
  } from '@prisma-next/framework-components/control';
25
+ import type { AggregateMigrationEdgeRef } from '@prisma-next/migration-tools/aggregate';
25
26
  import type {
26
27
  SqlStorage,
27
28
  StorageColumn,
@@ -31,6 +32,7 @@ import type {
31
32
  import type { SqlOperationDescriptors } from '@prisma-next/sql-operations';
32
33
  import type { SqlSchemaIR } from '@prisma-next/sql-schema-ir/types';
33
34
  import type { Result } from '@prisma-next/utils/result';
35
+ import type { SqlControlAdapter } from '../control-adapter';
34
36
  import type { SqlControlFamilyInstance } from '../control-instance';
35
37
 
36
38
  export type AnyRecord = Readonly<Record<string, unknown>>;
@@ -174,7 +176,7 @@ export interface SqlControlExtensionDescriptor<TTargetId extends string>
174
176
  }
175
177
 
176
178
  export interface SqlControlAdapterDescriptor<TTargetId extends string>
177
- extends ControlAdapterDescriptor<'sql', TTargetId> {
179
+ extends ControlAdapterDescriptor<'sql', TTargetId, SqlControlAdapter<TTargetId>> {
178
180
  readonly queryOperations?: () => SqlOperationDescriptors;
179
181
  }
180
182
 
@@ -384,6 +386,11 @@ export interface SqlMigrationRunnerExecuteOptions<TTargetDetails> {
384
386
  * All components must have matching familyId ('sql') and targetId.
385
387
  */
386
388
  readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
389
+ /**
390
+ * Per-edge breakdown from graph-walk planning. When present, the runner
391
+ * writes one ledger row per edge instead of one collapsed row per apply.
392
+ */
393
+ readonly migrationEdges: readonly AggregateMigrationEdgeRef[];
387
394
  }
388
395
 
389
396
  export type SqlMigrationRunnerErrorCode =
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-adapter.d.mts","names":[],"sources":["../src/core/control-adapter.ts"],"mappings":";;;;;;;;;;AAqBA;;;;UAAiB,iBAAA,0CACP,sBAAA,QAA8B,OAAA;EAiB5B;;;;;;;;;;;;;;;EADV,UAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,GACrC,KAAA,WACC,OAAA,CAAQ,oBAAA;EAiEU;;;;;;;EAxDrB,cAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,IACpC,OAAA,CAAQ,WAAA,SAAoB,oBAAA;EA9BD;;;;;;;;;;;;EA4C9B,UAAA,CACE,MAAA,EAAQ,qBAAA,QAA6B,OAAA,GACrC,QAAA,YACA,MAAA,YACC,OAAA,CAAQ,WAAA;EAnBD;;;;;EAAA,SA0BD,gBAAA,GAAmB,iBAAA;EAX5B;;;;;EAAA,SAkBS,mBAAA,GAAsB,oBAAA;EAd5B;;;;;;;;EAAA,SAwBM,yBAAA,IACP,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;EADU;;;;;;EAAA,SASH,oCAAA,IACP,QAAA,EAAU,QAAA,CAAS,UAAA,OAEnB,MAAA,EAAQ,WAAA,EACR,QAAA,EAAU,wBAAA,EACV,WAAA;EAFQ;;;;;;;;;EAcV,KAAA,CAAM,GAAA,EAAK,WAAA,EAAa,OAAA,EAAS,cAAA,YAA0B,gBAAA;AAAA;;AAAgB;AAS7E;;;;UAAiB,2BAAA;EAOgD;;;;;;EAA/D,MAAA,CAAO,KAAA,EAAO,YAAA,QAAoB,OAAA,IAAW,iBAAA,CAAkB,OAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-CeeCStqw.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/migrations/types.ts"],"mappings":"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"}