@prisma-next/family-sql 0.3.0-dev.3 → 0.3.0-dev.5
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/{exports/chunk-6P44BVZ4.js → chunk-6K3RPBDP.js} +3 -3
- package/dist/chunk-6K3RPBDP.js.map +1 -0
- package/dist/{exports/chunk-F252JMEU.js → chunk-BHEGVBY7.js} +1 -1
- package/dist/chunk-BHEGVBY7.js.map +1 -0
- package/dist/{exports/chunk-C3GKWCKA.js → chunk-SU7LN2UH.js} +1 -1
- package/dist/chunk-SU7LN2UH.js.map +1 -0
- package/dist/core/assembly.d.ts +25 -0
- package/dist/core/assembly.d.ts.map +1 -0
- package/dist/core/control-adapter.d.ts +42 -0
- package/dist/core/control-adapter.d.ts.map +1 -0
- package/dist/core/descriptor.d.ts +31 -0
- package/dist/core/descriptor.d.ts.map +1 -0
- package/dist/{exports/instance-DiZi2k_2.d.ts → core/instance.d.ts} +30 -15
- package/dist/core/instance.d.ts.map +1 -0
- package/dist/core/migrations/plan-helpers.d.ts +20 -0
- package/dist/core/migrations/plan-helpers.d.ts.map +1 -0
- package/dist/core/migrations/policies.d.ts +6 -0
- package/dist/core/migrations/policies.d.ts.map +1 -0
- package/dist/{exports/types-Bh7ftf0Q.d.ts → core/migrations/types.d.ts} +41 -36
- package/dist/core/migrations/types.d.ts.map +1 -0
- package/dist/core/runtime-descriptor.d.ts +19 -0
- package/dist/core/runtime-descriptor.d.ts.map +1 -0
- package/dist/core/runtime-instance.d.ts +54 -0
- package/dist/core/runtime-instance.d.ts.map +1 -0
- package/dist/core/schema-verify/verify-helpers.d.ts +50 -0
- package/dist/core/schema-verify/verify-helpers.d.ts.map +1 -0
- package/dist/core/schema-verify/verify-sql-schema.d.ts +45 -0
- package/dist/core/schema-verify/verify-sql-schema.d.ts.map +1 -0
- package/dist/core/verify.d.ts +39 -0
- package/dist/core/verify.d.ts.map +1 -0
- package/dist/exports/control-adapter.d.ts +2 -44
- package/dist/exports/control-adapter.d.ts.map +1 -0
- package/dist/exports/control.d.ts +8 -160
- package/dist/exports/control.d.ts.map +1 -0
- package/dist/exports/control.js +3 -3
- package/dist/exports/runtime.d.ts +3 -61
- package/dist/exports/runtime.d.ts.map +1 -0
- package/dist/exports/schema-verify.d.ts +8 -72
- package/dist/exports/schema-verify.d.ts.map +1 -0
- package/dist/exports/schema-verify.js +1 -1
- package/dist/exports/test-utils.d.ts +5 -31
- package/dist/exports/test-utils.d.ts.map +1 -0
- package/dist/exports/test-utils.js +3 -3
- package/dist/exports/verify.d.ts +2 -28
- package/dist/exports/verify.d.ts.map +1 -0
- package/dist/exports/verify.js +1 -1
- package/package.json +23 -23
- package/src/core/assembly.ts +117 -0
- package/src/core/control-adapter.ts +52 -0
- package/src/core/descriptor.ts +37 -0
- package/src/core/instance.ts +887 -0
- package/src/core/migrations/plan-helpers.ts +164 -0
- package/src/core/migrations/policies.ts +8 -0
- package/src/core/migrations/types.ts +380 -0
- package/src/core/runtime-descriptor.ts +45 -0
- package/src/core/runtime-instance.ts +144 -0
- package/src/core/schema-verify/verify-helpers.ts +514 -0
- package/src/core/schema-verify/verify-sql-schema.ts +584 -0
- package/src/core/verify.ts +177 -0
- package/src/exports/control-adapter.ts +1 -0
- package/src/exports/control.ts +56 -0
- package/src/exports/runtime.ts +7 -0
- package/src/exports/schema-verify.ts +11 -0
- package/src/exports/test-utils.ts +11 -0
- package/src/exports/verify.ts +1 -0
- package/dist/exports/chunk-6P44BVZ4.js.map +0 -1
- package/dist/exports/chunk-C3GKWCKA.js.map +0 -1
- package/dist/exports/chunk-F252JMEU.js.map +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ControlAdapterInstance,
|
|
3
|
+
ControlDriverInstance,
|
|
4
|
+
} from '@prisma-next/core-control-plane/types';
|
|
5
|
+
import type { SqlSchemaIR } from '@prisma-next/sql-schema-ir/types';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* SQL control adapter interface for control-plane operations.
|
|
9
|
+
* Implemented by target-specific adapters (e.g., Postgres, MySQL).
|
|
10
|
+
*
|
|
11
|
+
* @template TTarget - The target ID (e.g., 'postgres', 'mysql')
|
|
12
|
+
*/
|
|
13
|
+
export interface SqlControlAdapter<TTarget extends string = string>
|
|
14
|
+
extends ControlAdapterInstance<'sql', TTarget> {
|
|
15
|
+
/**
|
|
16
|
+
* The target ID this adapter implements.
|
|
17
|
+
* Used for type tracking and runtime validation.
|
|
18
|
+
* @deprecated Use targetId from ControlAdapterInstance instead
|
|
19
|
+
*/
|
|
20
|
+
readonly target: TTarget;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Introspects a database schema and returns a raw SqlSchemaIR.
|
|
24
|
+
*
|
|
25
|
+
* This is a pure schema discovery operation that queries the database catalog
|
|
26
|
+
* and returns the schema structure without type mapping or contract enrichment.
|
|
27
|
+
* Type mapping and enrichment are handled separately by enrichment helpers.
|
|
28
|
+
*
|
|
29
|
+
* @param driver - ControlDriverInstance instance for executing queries (target-specific)
|
|
30
|
+
* @param contractIR - Optional contract IR for contract-guided introspection (filtering, optimization)
|
|
31
|
+
* @param schema - Schema name to introspect (defaults to 'public')
|
|
32
|
+
* @returns Promise resolving to SqlSchemaIR representing the live database schema
|
|
33
|
+
*/
|
|
34
|
+
introspect(
|
|
35
|
+
driver: ControlDriverInstance<'sql', TTarget>,
|
|
36
|
+
contractIR?: unknown,
|
|
37
|
+
schema?: string,
|
|
38
|
+
): Promise<SqlSchemaIR>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* SQL control adapter descriptor interface.
|
|
43
|
+
* Provides a factory method to create control adapter instances.
|
|
44
|
+
*
|
|
45
|
+
* @template TTarget - The target ID (e.g., 'postgres', 'mysql')
|
|
46
|
+
*/
|
|
47
|
+
export interface SqlControlAdapterDescriptor<TTarget extends string = string> {
|
|
48
|
+
/**
|
|
49
|
+
* Creates a SQL control adapter instance for control-plane operations.
|
|
50
|
+
*/
|
|
51
|
+
create(): SqlControlAdapter<TTarget>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ControlAdapterDescriptor,
|
|
3
|
+
ControlDriverDescriptor,
|
|
4
|
+
ControlExtensionDescriptor,
|
|
5
|
+
ControlFamilyDescriptor,
|
|
6
|
+
} from '@prisma-next/core-control-plane/types';
|
|
7
|
+
import { sqlTargetFamilyHook } from '@prisma-next/sql-contract-emitter';
|
|
8
|
+
import type { SqlControlAdapter } from './control-adapter';
|
|
9
|
+
import { createSqlFamilyInstance, type SqlControlFamilyInstance } from './instance';
|
|
10
|
+
import type { SqlControlTargetDescriptor } from './migrations/types';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* SQL family descriptor implementation.
|
|
14
|
+
* Provides the SQL family hook and factory method.
|
|
15
|
+
*/
|
|
16
|
+
export class SqlFamilyDescriptor
|
|
17
|
+
implements ControlFamilyDescriptor<'sql', SqlControlFamilyInstance>
|
|
18
|
+
{
|
|
19
|
+
readonly kind = 'family' as const;
|
|
20
|
+
readonly id = 'sql';
|
|
21
|
+
readonly familyId = 'sql' as const;
|
|
22
|
+
readonly version = '0.0.1';
|
|
23
|
+
readonly hook = sqlTargetFamilyHook;
|
|
24
|
+
|
|
25
|
+
create<TTargetId extends string, TTargetDetails>(options: {
|
|
26
|
+
readonly target: SqlControlTargetDescriptor<TTargetId, TTargetDetails>;
|
|
27
|
+
readonly adapter: ControlAdapterDescriptor<'sql', TTargetId, SqlControlAdapter<TTargetId>>;
|
|
28
|
+
readonly driver: ControlDriverDescriptor<'sql', TTargetId>;
|
|
29
|
+
readonly extensionPacks: readonly ControlExtensionDescriptor<'sql', TTargetId>[];
|
|
30
|
+
}): SqlControlFamilyInstance {
|
|
31
|
+
return createSqlFamilyInstance({
|
|
32
|
+
target: options.target,
|
|
33
|
+
adapter: options.adapter,
|
|
34
|
+
extensionPacks: options.extensionPacks,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|