@prisma-next/core-control-plane 0.3.0-dev.6 → 0.3.0-dev.8
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/chunk-473ODD3P.js +14 -0
- package/dist/chunk-473ODD3P.js.map +1 -0
- package/dist/exports/stack.d.ts +2 -0
- package/dist/exports/stack.d.ts.map +1 -0
- package/dist/exports/stack.js +7 -0
- package/dist/exports/stack.js.map +1 -0
- package/dist/exports/types.d.ts +2 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +6 -0
- package/dist/stack.d.ts +25 -0
- package/dist/stack.d.ts.map +1 -0
- package/dist/types.d.ts +17 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -4
- package/src/exports/stack.ts +1 -0
- package/src/exports/types.ts +2 -0
- package/src/stack.ts +38 -0
- package/src/types.ts +18 -6
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/stack.ts
|
|
2
|
+
function createControlPlaneStack(input) {
|
|
3
|
+
return {
|
|
4
|
+
target: input.target,
|
|
5
|
+
adapter: input.adapter,
|
|
6
|
+
driver: input.driver,
|
|
7
|
+
extensionPacks: input.extensionPacks ?? []
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
createControlPlaneStack
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=chunk-473ODD3P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/stack.ts"],"sourcesContent":["import type {\n ControlAdapterDescriptor,\n ControlDriverDescriptor,\n ControlExtensionDescriptor,\n ControlPlaneStack,\n ControlTargetDescriptor,\n} from './types';\n\n/**\n * Creates a ControlPlaneStack from component descriptors.\n *\n * Provides sensible defaults:\n * - `driver` defaults to `undefined` (optional for commands that don't need DB connection)\n * - `extensionPacks` defaults to `[]` (empty array)\n *\n * @example\n * ```ts\n * const stack = createControlPlaneStack({\n * target: postgresTarget,\n * adapter: postgresAdapter,\n * driver: postgresDriver, // optional\n * extensionPacks: [pgvector], // optional\n * });\n * ```\n */\nexport function createControlPlaneStack<TFamilyId extends string, TTargetId extends string>(input: {\n readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;\n readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;\n readonly driver?: ControlDriverDescriptor<TFamilyId, TTargetId> | undefined;\n readonly extensionPacks?: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[] | undefined;\n}): ControlPlaneStack<TFamilyId, TTargetId> {\n return {\n target: input.target,\n adapter: input.adapter,\n driver: input.driver,\n extensionPacks: input.extensionPacks ?? [],\n };\n}\n"],"mappings":";AAyBO,SAAS,wBAA4E,OAKhD;AAC1C,SAAO;AAAA,IACL,QAAQ,MAAM;AAAA,IACd,SAAS,MAAM;AAAA,IACf,QAAQ,MAAM;AAAA,IACd,gBAAgB,MAAM,kBAAkB,CAAC;AAAA,EAC3C;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/exports/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/exports/types.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { createControlPlaneStack } from '../stack';
|
|
2
|
+
export type { ControlAdapterDescriptor, ControlAdapterInstance, ControlDriverDescriptor, ControlDriverInstance, ControlExtensionDescriptor, ControlExtensionInstance, ControlFamilyDescriptor, ControlFamilyInstance, ControlPlaneStack, ControlTargetDescriptor, ControlTargetInstance, EmitContractResult, IntrospectSchemaResult, MigrationOperationClass, MigrationOperationPolicy, MigrationPlan, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerFailureResult, MigrationPlannerResult, MigrationPlannerSuccessResult, MigrationPlanOperation, MigrationRunner, MigrationRunnerExecutionChecks, MigrationRunnerFailure, MigrationRunnerResult, MigrationRunnerSuccessValue, OperationContext, SchemaIssue, SchemaVerificationNode, SignDatabaseResult, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult, } from '../types';
|
|
2
3
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exports/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EAEtB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exports/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EAEtB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,UAAU,CAAC"}
|
package/dist/exports/types.js
CHANGED
package/dist/stack.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ControlAdapterDescriptor, ControlDriverDescriptor, ControlExtensionDescriptor, ControlPlaneStack, ControlTargetDescriptor } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a ControlPlaneStack from component descriptors.
|
|
4
|
+
*
|
|
5
|
+
* Provides sensible defaults:
|
|
6
|
+
* - `driver` defaults to `undefined` (optional for commands that don't need DB connection)
|
|
7
|
+
* - `extensionPacks` defaults to `[]` (empty array)
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const stack = createControlPlaneStack({
|
|
12
|
+
* target: postgresTarget,
|
|
13
|
+
* adapter: postgresAdapter,
|
|
14
|
+
* driver: postgresDriver, // optional
|
|
15
|
+
* extensionPacks: [pgvector], // optional
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function createControlPlaneStack<TFamilyId extends string, TTargetId extends string>(input: {
|
|
20
|
+
readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;
|
|
21
|
+
readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;
|
|
22
|
+
readonly driver?: ControlDriverDescriptor<TFamilyId, TTargetId> | undefined;
|
|
23
|
+
readonly extensionPacks?: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[] | undefined;
|
|
24
|
+
}): ControlPlaneStack<TFamilyId, TTargetId>;
|
|
25
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,KAAK,EAAE;IACjG,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;CACnG,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAO1C"}
|
package/dist/types.d.ts
CHANGED
|
@@ -181,6 +181,22 @@ export interface OperationContext {
|
|
|
181
181
|
*/
|
|
182
182
|
readonly meta?: Readonly<Record<string, unknown>>;
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* A bundle of control-plane component descriptors for a specific family and target.
|
|
186
|
+
*
|
|
187
|
+
* This struct groups the target, adapter, driver (optional), and extension packs
|
|
188
|
+
* needed to create a family instance and run CLI commands. Use `createControlPlaneStack()`
|
|
189
|
+
* to construct with sensible defaults.
|
|
190
|
+
*
|
|
191
|
+
* @template TFamilyId - The family ID (e.g., 'sql', 'document')
|
|
192
|
+
* @template TTargetId - The target ID (e.g., 'postgres', 'mysql')
|
|
193
|
+
*/
|
|
194
|
+
export interface ControlPlaneStack<TFamilyId extends string, TTargetId extends string> {
|
|
195
|
+
readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;
|
|
196
|
+
readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;
|
|
197
|
+
readonly driver: ControlDriverDescriptor<TFamilyId, TTargetId> | undefined;
|
|
198
|
+
readonly extensionPacks: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[];
|
|
199
|
+
}
|
|
184
200
|
/**
|
|
185
201
|
* Descriptor for a control-plane family (e.g., SQL).
|
|
186
202
|
* Provides the family hook and factory method.
|
|
@@ -190,12 +206,7 @@ export interface OperationContext {
|
|
|
190
206
|
*/
|
|
191
207
|
export interface ControlFamilyDescriptor<TFamilyId extends string, TFamilyInstance extends ControlFamilyInstance<TFamilyId> = ControlFamilyInstance<TFamilyId>> extends FamilyDescriptor<TFamilyId> {
|
|
192
208
|
readonly hook: TargetFamilyHook;
|
|
193
|
-
create<TTargetId extends string>(
|
|
194
|
-
readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;
|
|
195
|
-
readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;
|
|
196
|
-
readonly driver: ControlDriverDescriptor<TFamilyId, TTargetId>;
|
|
197
|
-
readonly extensionPacks: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[];
|
|
198
|
-
}): TFamilyInstance;
|
|
209
|
+
create<TTargetId extends string>(stack: ControlPlaneStack<TFamilyId, TTargetId>): TFamilyInstance;
|
|
199
210
|
}
|
|
200
211
|
/**
|
|
201
212
|
* Descriptor for a control-plane target component (e.g., Postgres target).
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/core-control-plane",
|
|
3
|
-
"version": "0.3.0-dev.
|
|
3
|
+
"version": "0.3.0-dev.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Control plane domain actions, config types, validation, and error factories for Prisma Next",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"arktype": "^2.1.26",
|
|
9
9
|
"prettier": "^3.3.3",
|
|
10
|
-
"@prisma-next/
|
|
11
|
-
"@prisma-next/
|
|
12
|
-
"@prisma-next/
|
|
10
|
+
"@prisma-next/operations": "0.3.0-dev.8",
|
|
11
|
+
"@prisma-next/utils": "0.3.0-dev.8",
|
|
12
|
+
"@prisma-next/contract": "0.3.0-dev.8"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@vitest/coverage-v8": "4.0.16",
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"types": "./dist/exports/types.d.ts",
|
|
40
40
|
"import": "./dist/exports/types.js"
|
|
41
41
|
},
|
|
42
|
+
"./stack": {
|
|
43
|
+
"types": "./dist/exports/stack.d.ts",
|
|
44
|
+
"import": "./dist/exports/stack.js"
|
|
45
|
+
},
|
|
42
46
|
"./emission": {
|
|
43
47
|
"types": "./dist/exports/emission.d.ts",
|
|
44
48
|
"import": "./dist/exports/emission.js"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createControlPlaneStack } from '../stack';
|
package/src/exports/types.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { createControlPlaneStack } from '../stack';
|
|
1
2
|
export type {
|
|
2
3
|
// Control* types (ADR 151)
|
|
3
4
|
ControlAdapterDescriptor,
|
|
@@ -8,6 +9,7 @@ export type {
|
|
|
8
9
|
ControlExtensionInstance,
|
|
9
10
|
ControlFamilyDescriptor,
|
|
10
11
|
ControlFamilyInstance,
|
|
12
|
+
ControlPlaneStack,
|
|
11
13
|
ControlTargetDescriptor,
|
|
12
14
|
ControlTargetInstance,
|
|
13
15
|
EmitContractResult,
|
package/src/stack.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ControlAdapterDescriptor,
|
|
3
|
+
ControlDriverDescriptor,
|
|
4
|
+
ControlExtensionDescriptor,
|
|
5
|
+
ControlPlaneStack,
|
|
6
|
+
ControlTargetDescriptor,
|
|
7
|
+
} from './types';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Creates a ControlPlaneStack from component descriptors.
|
|
11
|
+
*
|
|
12
|
+
* Provides sensible defaults:
|
|
13
|
+
* - `driver` defaults to `undefined` (optional for commands that don't need DB connection)
|
|
14
|
+
* - `extensionPacks` defaults to `[]` (empty array)
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const stack = createControlPlaneStack({
|
|
19
|
+
* target: postgresTarget,
|
|
20
|
+
* adapter: postgresAdapter,
|
|
21
|
+
* driver: postgresDriver, // optional
|
|
22
|
+
* extensionPacks: [pgvector], // optional
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function createControlPlaneStack<TFamilyId extends string, TTargetId extends string>(input: {
|
|
27
|
+
readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;
|
|
28
|
+
readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;
|
|
29
|
+
readonly driver?: ControlDriverDescriptor<TFamilyId, TTargetId> | undefined;
|
|
30
|
+
readonly extensionPacks?: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[] | undefined;
|
|
31
|
+
}): ControlPlaneStack<TFamilyId, TTargetId> {
|
|
32
|
+
return {
|
|
33
|
+
target: input.target,
|
|
34
|
+
adapter: input.adapter,
|
|
35
|
+
driver: input.driver,
|
|
36
|
+
extensionPacks: input.extensionPacks ?? [],
|
|
37
|
+
};
|
|
38
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -236,6 +236,23 @@ export interface OperationContext {
|
|
|
236
236
|
// Control*Descriptor Interfaces (ADR 151)
|
|
237
237
|
// ============================================================================
|
|
238
238
|
|
|
239
|
+
/**
|
|
240
|
+
* A bundle of control-plane component descriptors for a specific family and target.
|
|
241
|
+
*
|
|
242
|
+
* This struct groups the target, adapter, driver (optional), and extension packs
|
|
243
|
+
* needed to create a family instance and run CLI commands. Use `createControlPlaneStack()`
|
|
244
|
+
* to construct with sensible defaults.
|
|
245
|
+
*
|
|
246
|
+
* @template TFamilyId - The family ID (e.g., 'sql', 'document')
|
|
247
|
+
* @template TTargetId - The target ID (e.g., 'postgres', 'mysql')
|
|
248
|
+
*/
|
|
249
|
+
export interface ControlPlaneStack<TFamilyId extends string, TTargetId extends string> {
|
|
250
|
+
readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;
|
|
251
|
+
readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;
|
|
252
|
+
readonly driver: ControlDriverDescriptor<TFamilyId, TTargetId> | undefined;
|
|
253
|
+
readonly extensionPacks: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[];
|
|
254
|
+
}
|
|
255
|
+
|
|
239
256
|
/**
|
|
240
257
|
* Descriptor for a control-plane family (e.g., SQL).
|
|
241
258
|
* Provides the family hook and factory method.
|
|
@@ -248,12 +265,7 @@ export interface ControlFamilyDescriptor<
|
|
|
248
265
|
TFamilyInstance extends ControlFamilyInstance<TFamilyId> = ControlFamilyInstance<TFamilyId>,
|
|
249
266
|
> extends FamilyDescriptor<TFamilyId> {
|
|
250
267
|
readonly hook: TargetFamilyHook;
|
|
251
|
-
create<TTargetId extends string>(
|
|
252
|
-
readonly target: ControlTargetDescriptor<TFamilyId, TTargetId>;
|
|
253
|
-
readonly adapter: ControlAdapterDescriptor<TFamilyId, TTargetId>;
|
|
254
|
-
readonly driver: ControlDriverDescriptor<TFamilyId, TTargetId>;
|
|
255
|
-
readonly extensionPacks: readonly ControlExtensionDescriptor<TFamilyId, TTargetId>[];
|
|
256
|
-
}): TFamilyInstance;
|
|
268
|
+
create<TTargetId extends string>(stack: ControlPlaneStack<TFamilyId, TTargetId>): TFamilyInstance;
|
|
257
269
|
}
|
|
258
270
|
|
|
259
271
|
/**
|