@prisma/composer 0.6.0-dev.14 → 0.6.0-dev.15
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/{app-config-CFsSXEVj-B242oUnm.d.mts → app-config-aIrriqVU-D6lJHzh2.d.mts} +42 -17
- package/dist/app-config-aIrriqVU-D6lJHzh2.d.mts.map +1 -0
- package/dist/bin.mjs +950 -12
- package/dist/bin.mjs.map +1 -1
- package/dist/config-CL7Jbve2.d.mts +1 -0
- package/dist/config.d.mts +3 -3
- package/dist/container-transport-DKmKg5JQ-CoY4XPma.mjs +30 -0
- package/dist/container-transport-DKmKg5JQ-CoY4XPma.mjs.map +1 -0
- package/dist/control.d.mts +3 -216
- package/dist/control.mjs +1 -69
- package/dist/deploy-CL7Jbve2.d.mts +1 -0
- package/dist/deploy.d.mts +2 -2
- package/dist/deploy.mjs +1 -1
- package/dist/{deployment-summary-r47O6kFr-CcMYVOn5.mjs → deployment-summary-DswOl_9E-C03NJ98H.mjs} +2 -2
- package/dist/{deployment-summary-r47O6kFr-CcMYVOn5.mjs.map → deployment-summary-DswOl_9E-C03NJ98H.mjs.map} +1 -1
- package/dist/{dist-C5rZnr4n.mjs → dist-C0dNEgS-.mjs} +2 -2
- package/dist/{dist-C5rZnr4n.mjs.map → dist-C0dNEgS-.mjs.map} +1 -1
- package/dist/{errors-0e8IVwzi.mjs → errors-DkXcnjPx.mjs} +3 -2
- package/dist/{errors-0e8IVwzi.mjs.map → errors-DkXcnjPx.mjs.map} +1 -1
- package/dist/{execute-deploy-destroy-IT4vGkMc-oO8yjHPH.mjs → execute-deploy-destroy-DfVJUICu-AMM8CwgV.mjs} +30 -19
- package/dist/execute-deploy-destroy-DfVJUICu-AMM8CwgV.mjs.map +1 -0
- package/dist/{execute-deploy-destroy-IT4vGkMc-YM1Cv6cu.mjs → execute-deploy-destroy-DfVJUICu-quUQ08T8.mjs} +29 -19
- package/dist/execute-deploy-destroy-DfVJUICu-quUQ08T8.mjs.map +1 -0
- package/dist/{execute-dev-DLYyduEM-88uyvrbj.mjs → execute-dev-BMTFWfFc-B1whS-Rr.mjs} +25 -23
- package/dist/{execute-dev-DLYyduEM-88uyvrbj.mjs.map → execute-dev-BMTFWfFc-B1whS-Rr.mjs.map} +1 -1
- package/dist/{execute-dev-DLYyduEM-BuUGTm0g.mjs → execute-dev-BMTFWfFc-BoKbcFVF.mjs} +29 -20
- package/dist/{execute-dev-DLYyduEM-BuUGTm0g.mjs.map → execute-dev-BMTFWfFc-BoKbcFVF.mjs.map} +1 -1
- package/dist/{execute-log-VIOL4DBz-DBPH8By4.mjs → execute-log-Cay9hlKW-B0tmRtrY.mjs} +11 -7
- package/dist/execute-log-Cay9hlKW-B0tmRtrY.mjs.map +1 -0
- package/dist/{execute-log-VIOL4DBz-DKodBrxS.mjs → execute-log-Cay9hlKW-DrMeVOXq.mjs} +9 -7
- package/dist/execute-log-Cay9hlKW-DrMeVOXq.mjs.map +1 -0
- package/dist/family-DkH0si4D-Uov_MuHV.d.mts +27 -0
- package/dist/family-DkH0si4D-Uov_MuHV.d.mts.map +1 -0
- package/dist/family.d.mts +53 -0
- package/dist/family.d.mts.map +1 -0
- package/dist/family.mjs +839 -0
- package/dist/family.mjs.map +1 -0
- package/dist/{graph-BJgUfGB0-kvgFzT4q.mjs → graph-BJgUfGB0-7fmubS_y.mjs} +2 -2
- package/dist/{graph-BJgUfGB0-kvgFzT4q.mjs.map → graph-BJgUfGB0-7fmubS_y.mjs.map} +1 -1
- package/dist/{graph-types-N6brq1zY-1VMNwtkJ.d.mts → graph-DqklX5Sf-CdNH3lA7.d.mts} +17 -2
- package/dist/graph-DqklX5Sf-CdNH3lA7.d.mts.map +1 -0
- package/dist/{index-DryPyF9U.d.mts → index-DuF5iI3i.d.mts} +2 -3
- package/dist/index-DuF5iI3i.d.mts.map +1 -0
- package/dist/index.d.mts +2 -3
- package/dist/index.mjs +2 -2
- package/dist/{local-target-DnA2E8IN.mjs → local-target-D3u_wuNF.mjs} +2 -2
- package/dist/{local-target-DnA2E8IN.mjs.map → local-target-D3u_wuNF.mjs.map} +1 -1
- package/dist/{local-target-DuSyWeYc.mjs → local-target-H0IWu_FM.mjs} +2 -2
- package/dist/{local-target-DuSyWeYc.mjs.map → local-target-H0IWu_FM.mjs.map} +1 -1
- package/dist/local-target.d.mts +1 -1
- package/dist/local-target.mjs +1 -1
- package/dist/log-DRnnWupy-9jbzL64M.d.mts +324 -0
- package/dist/log-DRnnWupy-9jbzL64M.d.mts.map +1 -0
- package/dist/{result-CzGChwbZ.mjs → log-DfT2hHqi-CDp9nfI5.mjs} +85 -90
- package/dist/log-DfT2hHqi-CDp9nfI5.mjs.map +1 -0
- package/dist/{nextjs-DLyeRR7M-DZODs9tk.d.mts → nextjs-DLyeRR7M-BfUbLXwr.d.mts} +3 -3
- package/dist/{nextjs-DLyeRR7M-DZODs9tk.d.mts.map → nextjs-DLyeRR7M-BfUbLXwr.d.mts.map} +1 -1
- package/dist/nextjs-control.d.mts +4 -4
- package/dist/nextjs.d.mts +1 -1
- package/dist/node-control.d.mts +3 -3
- package/dist/node.d.mts +2 -2
- package/dist/{pipeline-D3QoVzAB-D_ufjg3N.mjs → pipeline-AoW8zq4I-C6Qe0VaZ.mjs} +161 -42
- package/dist/{pipeline-D3QoVzAB-D_ufjg3N.mjs.map → pipeline-AoW8zq4I-C6Qe0VaZ.mjs.map} +1 -1
- package/dist/{pipeline-D3QoVzAB-Ci2aJ2mE.mjs → pipeline-AoW8zq4I-DM74ygtH.mjs} +164 -43
- package/dist/pipeline-AoW8zq4I-DM74ygtH.mjs.map +1 -0
- package/dist/report.d.mts +2 -2
- package/dist/report.mjs +1 -1
- package/dist/report.mjs.map +1 -1
- package/dist/{shared-CCaR42wo-BvegvmA_.mjs → result-B4XjxVK6.mjs} +127 -8
- package/dist/result-B4XjxVK6.mjs.map +1 -0
- package/dist/{result-CFqJKiqg.mjs → result-wonf1deB.mjs} +4 -18
- package/dist/result-wonf1deB.mjs.map +1 -0
- package/dist/run-alchemy-D44OZlyB-DA7s331N.mjs +93 -0
- package/dist/run-alchemy-D44OZlyB-DA7s331N.mjs.map +1 -0
- package/dist/run-alchemy-D44OZlyB-DeDTFsB6.mjs +93 -0
- package/dist/run-alchemy-D44OZlyB-DeDTFsB6.mjs.map +1 -0
- package/dist/service-rpc.d.mts +2 -2
- package/dist/service-rpc.mjs +2 -2
- package/dist/testing.d.mts +54 -2
- package/dist/testing.d.mts.map +1 -1
- package/dist/testing.mjs +150 -1
- package/dist/testing.mjs.map +1 -1
- package/package.json +12 -11
- package/src/exports/family.ts +14 -0
- package/src/exports/testing.ts +1 -0
- package/dist/app-config-CFsSXEVj-B242oUnm.d.mts.map +0 -1
- package/dist/cli-B3sWzFlb-CxEIzKsQ.mjs +0 -401
- package/dist/cli-B3sWzFlb-CxEIzKsQ.mjs.map +0 -1
- package/dist/config-ku5b_2YD.d.mts +0 -1
- package/dist/container-transport-DKmKg5JQ-BMRhx5w-.mjs +0 -75
- package/dist/container-transport-DKmKg5JQ-BMRhx5w-.mjs.map +0 -1
- package/dist/control.d.mts.map +0 -1
- package/dist/control.mjs.map +0 -1
- package/dist/deploy-ku5b_2YD.d.mts +0 -1
- package/dist/execute-deploy-destroy-IT4vGkMc-YM1Cv6cu.mjs.map +0 -1
- package/dist/execute-deploy-destroy-IT4vGkMc-oO8yjHPH.mjs.map +0 -1
- package/dist/execute-log-VIOL4DBz-DBPH8By4.mjs.map +0 -1
- package/dist/execute-log-VIOL4DBz-DKodBrxS.mjs.map +0 -1
- package/dist/graph-DqklX5Sf-BNS2aO1j.d.mts +0 -18
- package/dist/graph-DqklX5Sf-BNS2aO1j.d.mts.map +0 -1
- package/dist/graph-types-N6brq1zY-1VMNwtkJ.d.mts.map +0 -1
- package/dist/index-DryPyF9U.d.mts.map +0 -1
- package/dist/pipeline-D3QoVzAB-Ci2aJ2mE.mjs.map +0 -1
- package/dist/render-error-DsPN5qfr-CkVGj9uP.mjs +0 -30
- package/dist/render-error-DsPN5qfr-CkVGj9uP.mjs.map +0 -1
- package/dist/result-CFqJKiqg.mjs.map +0 -1
- package/dist/result-CzGChwbZ.mjs.map +0 -1
- package/dist/run-alchemy-hghRtddF-CQHOzlrW.mjs +0 -48
- package/dist/run-alchemy-hghRtddF-CQHOzlrW.mjs.map +0 -1
- package/dist/shared-CCaR42wo-BvegvmA_.mjs.map +0 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./graph-DqklX5Sf-BNS2aO1j.mjs";
|
|
1
|
+
import { I as ResourceNode, N as ProvisionNeed, S as ModuleNode, T as NodeId, W as ServiceNode, f as Graph, n as BuildAdapter, r as Config } from "./graph-DqklX5Sf-CdNH3lA7.mjs";
|
|
3
2
|
import * as Alchemy from "alchemy";
|
|
4
3
|
import { Input, StackServices } from "alchemy";
|
|
5
4
|
import * as Effect from "effect/Effect";
|
|
6
5
|
import * as Layer from "effect/Layer";
|
|
7
6
|
import { State } from "alchemy/State/State";
|
|
8
|
-
//#region ../../0-framework/1-core/core/dist/app-config-
|
|
7
|
+
//#region ../../0-framework/1-core/core/dist/app-config-aIrriqVU.d.mts
|
|
9
8
|
//#region src/container-transport.d.ts
|
|
10
9
|
/**
|
|
11
10
|
* Carries resolved containers from the CLI process into the alchemy process
|
|
@@ -36,23 +35,42 @@ interface ContainerInstance {
|
|
|
36
35
|
/** Serialize to a non-empty string for the process transport above. The format is the extension's own; only its `deserialize` reads it. */
|
|
37
36
|
serialize(): string;
|
|
38
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* What the caller has already authenticated, handed to one container
|
|
40
|
+
* lifecycle call. A caller that holds neither omits the argument, and the
|
|
41
|
+
* extension falls back to whatever credential protocol it defines for
|
|
42
|
+
* itself (for Prisma Cloud, its env vars — which is how the alchemy child
|
|
43
|
+
* process still resolves containers).
|
|
44
|
+
*
|
|
45
|
+
* `C` is the extension's own platform-client type, left as a type parameter
|
|
46
|
+
* because this shared-plane module must not import a platform SDK; the
|
|
47
|
+
* framework only carries the value, never calls it. The framework stores the
|
|
48
|
+
* erased `C = unknown` form and the extension recovers its concrete client
|
|
49
|
+
* through the same method bivariance that erases `I` below.
|
|
50
|
+
*/
|
|
51
|
+
interface ContainerCredentials<C = unknown> {
|
|
52
|
+
/** The workspace the container lives in. `undefined` when the caller has no workspace to name — the extension decides whether it can proceed. */
|
|
53
|
+
readonly workspaceId: string | undefined;
|
|
54
|
+
/** An already-authenticated platform API client. Present means the extension must not build its own from the environment. */
|
|
55
|
+
readonly client?: C | undefined;
|
|
56
|
+
}
|
|
39
57
|
/**
|
|
40
58
|
* The platform containers an app deploys into, as one lifecycle. `I` is
|
|
41
59
|
* the extension's own instance type — the same descriptor produces and
|
|
42
60
|
* consumes it, so the extension gets full typing internally while the
|
|
43
|
-
* framework stores the erased form
|
|
44
|
-
* members: the erased assignment into
|
|
45
|
-
* through method bivariance;
|
|
46
|
-
* contravariantly and the assignment
|
|
47
|
-
* ServiceLowering<P, S> — ADR-0033).
|
|
61
|
+
* framework stores the erased form; `C` erases the same way. METHOD SYNTAX
|
|
62
|
+
* REQUIRED on all four members: the erased assignment into
|
|
63
|
+
* ExtensionDescriptor compiles only through method bivariance;
|
|
64
|
+
* property-arrow members are checked contravariantly and the assignment
|
|
65
|
+
* fails (same rule as ServiceLowering<P, S> — ADR-0033).
|
|
48
66
|
*/
|
|
49
|
-
interface ContainerDescriptor<I extends ContainerInstance = ContainerInstance> {
|
|
67
|
+
interface ContainerDescriptor<I extends ContainerInstance = ContainerInstance, C = unknown> {
|
|
50
68
|
/** Resolve the container for (appName, stage), creating anything absent. Called by `deploy`. */
|
|
51
|
-
ensure(input: LocateContainerInput): Promise<I>;
|
|
69
|
+
ensure(input: LocateContainerInput, credentials?: ContainerCredentials<C>): Promise<I>;
|
|
52
70
|
/** Find the container for (appName, stage); `undefined` when nothing exists. Called by `destroy` — never creates. */
|
|
53
|
-
locate(input: LocateContainerInput): Promise<I | undefined>;
|
|
71
|
+
locate(input: LocateContainerInput, credentials?: ContainerCredentials<C>): Promise<I | undefined>;
|
|
54
72
|
/** Remove the container after a successful destroy, after every extension's `teardown` has run. Failure policy is the extension's. */
|
|
55
|
-
remove(instance: I): Promise<void>;
|
|
73
|
+
remove(instance: I, credentials?: ContainerCredentials<C>): Promise<void>;
|
|
56
74
|
/** Reconstruct an instance from its own `serialize()` output — the far end of the framework's parent→child transport. */
|
|
57
75
|
deserialize(serialized: string): I;
|
|
58
76
|
}
|
|
@@ -348,8 +366,13 @@ interface ExtensionDescriptor {
|
|
|
348
366
|
* runs. A target uses it to verify platform prerequisites (e.g. that every
|
|
349
367
|
* secret env var in the provision manifest exists for the resolved stage) and
|
|
350
368
|
* throws to abort the deploy. Async: it talks to the platform (ADR-0029).
|
|
369
|
+
*
|
|
370
|
+
* METHOD SYNTAX REQUIRED, for the same reason ContainerDescriptor's members
|
|
371
|
+
* need it: the framework hands over the erased `PreflightInput<unknown>`,
|
|
372
|
+
* and an extension that types the input against its own client type only
|
|
373
|
+
* assigns here through method bivariance.
|
|
351
374
|
*/
|
|
352
|
-
|
|
375
|
+
preflight?(input: PreflightInput): Promise<void>;
|
|
353
376
|
/**
|
|
354
377
|
* Destroy-time cleanup — the CLI runs it once, after `alchemy destroy`
|
|
355
378
|
* succeeds and BEFORE the stage's Project/Branch are removed. A target uses
|
|
@@ -391,14 +414,16 @@ interface StateDescriptor {
|
|
|
391
414
|
/** Build the state layer. `container` is the owning extension's resolved instance; `undefined` when it declared no container descriptor. */
|
|
392
415
|
create(container: ContainerInstance | undefined): AlchemyStateLayer;
|
|
393
416
|
}
|
|
394
|
-
/** The resolved deploy context handed to an extension's `preflight` hook. */
|
|
395
|
-
interface PreflightInput {
|
|
417
|
+
/** The resolved deploy context handed to an extension's `preflight` hook. `C` erases to `unknown` at the framework boundary — see ContainerCredentials. */
|
|
418
|
+
interface PreflightInput<C = unknown> {
|
|
396
419
|
/** The loaded application graph — the manifest of prerequisites is read from it (`provisionManifest`). */
|
|
397
420
|
readonly graph: Graph;
|
|
398
421
|
/** The calling extension's own resolved container; `undefined` when it declares no container descriptor. Narrow with the extension's guard. */
|
|
399
422
|
readonly container: ContainerInstance | undefined;
|
|
400
423
|
/** The stage name (`--stage`), or `undefined` for the default stage — for diagnostics/scope. */
|
|
401
424
|
readonly stage: string | undefined;
|
|
425
|
+
/** What the caller has already authenticated, for the platform calls preflight makes. Absent means the extension falls back to its own credential protocol. */
|
|
426
|
+
readonly credentials?: ContainerCredentials<C> | undefined;
|
|
402
427
|
}
|
|
403
428
|
/** The resolved destroy context handed to an extension's `teardown` hook. */
|
|
404
429
|
interface TeardownInput {
|
|
@@ -493,5 +518,5 @@ interface PrismaAppConfig {
|
|
|
493
518
|
/** Typed identity — exists so `prisma-composer.config.ts` gets checked against PrismaAppConfig where it is written. */
|
|
494
519
|
declare function defineConfig(config: PrismaAppConfig): PrismaAppConfig;
|
|
495
520
|
//#endregion
|
|
496
|
-
export {
|
|
497
|
-
//# sourceMappingURL=app-config-
|
|
521
|
+
export { ProvisionEdge as A, isBuildOnlyExtension as B, LoweredResult as C, PackageInput as D, Outputs as E, buildConfig as F, resolveStateLayer as G, lower as H, containerEnv as I, containerEnvVarName as L, ServiceLowering as M, StateDescriptor as N, PreflightInput as O, TeardownInput as P, defineConfig as R, LowerOptions as S, NodeDescriptor as T, lowering as U, joinDeployment as V, mergedProviders as W, LocalTargetEmulatorsInput as _, Bundle as a, LowerContext as b, ContainerInstance as c, DeployedNode as d, DeploymentResult as f, LocalTargetDescriptor as g, LocalTargetAttachment as h, AssembleInput as i, ProvisionerDescriptor as j, PrismaAppConfig as k, DEV_DIR as l, LocalTargetAttachInput as m, ApplicationDescriptor as n, ContainerCredentials as o, ExtensionDescriptor as p, Artifact as r, ContainerDescriptor as s, AlchemyStateLayer as t, DeployedEntity as u, LocalTargetProvidersInput as v, Lowering as w, LowerError as x, LocateContainerInput as y, deserializeContainers as z };
|
|
522
|
+
//# sourceMappingURL=app-config-aIrriqVU-D6lJHzh2.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-config-aIrriqVU-D6lJHzh2.d.mts","names":[],"sources":["../../../0-framework/1-core/core/dist/app-config-aIrriqVU.d.mts"],"mappings":"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"}
|