@prisma/composer-prisma-cloud 0.3.0-dev.8 → 0.3.0
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/compute-main.mjs +4 -20
- package/dist/compute-main.mjs.map +1 -1
- package/dist/control.d.mts +1 -1
- package/dist/control.mjs +17 -28
- package/dist/control.mjs.map +1 -1
- package/dist/cron/index.d.mts +26 -33
- package/dist/cron/index.d.mts.map +1 -1
- package/dist/cron/index.mjs +77 -202
- package/dist/cron/index.mjs.map +1 -1
- package/dist/cron/scheduler-entrypoint.mjs +114 -133
- package/dist/cron/scheduler-entrypoint.mjs.map +1 -1
- package/dist/cron/scheduler-service.mjs +76 -200
- package/dist/cron/scheduler-service.mjs.map +1 -1
- package/dist/email/email-entrypoint.mjs +126 -162
- package/dist/email/email-entrypoint.mjs.map +1 -1
- package/dist/email/email-service.mjs +79 -230
- package/dist/email/email-service.mjs.map +1 -1
- package/dist/email/index.d.mts +29 -33
- package/dist/email/index.d.mts.map +1 -1
- package/dist/email/index.mjs +84 -236
- package/dist/email/index.mjs.map +1 -1
- package/dist/email/testing.mjs +89 -112
- package/dist/email/testing.mjs.map +1 -1
- package/dist/index.d.mts +43 -51
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +51 -47
- package/dist/index.mjs.map +1 -1
- package/dist/local-target.mjs +1 -1
- package/dist/local-target.mjs.map +1 -1
- package/dist/{secret-BVGxqHxY-DYDfiULl.mjs → param-BTzY0ne5-CW6ojZ3E.mjs} +4 -45
- package/dist/param-BTzY0ne5-CW6ojZ3E.mjs.map +1 -0
- package/dist/{preflight-names-CpJUd9ZA-BCU-W3cT.mjs → preflight-names-BPL-qsZF-BfoRgbgb.mjs} +14 -30
- package/dist/{preflight-names-CpJUd9ZA-BCU-W3cT.mjs.map → preflight-names-BPL-qsZF-BfoRgbgb.mjs.map} +1 -1
- package/dist/{provisioned-edges-Cxy18aoh-CUnaY96r.mjs → provisioned-edges-C1wSO3cx-YC5C19f9.mjs} +3 -3
- package/dist/{provisioned-edges-Cxy18aoh-CUnaY96r.mjs.map → provisioned-edges-C1wSO3cx-YC5C19f9.mjs.map} +1 -1
- package/dist/secret-rz_ZqNeq-_xd97Jd9.mjs +47 -0
- package/dist/secret-rz_ZqNeq-_xd97Jd9.mjs.map +1 -0
- package/dist/serializer-CJiOhF2d-DJUjQj1i.mjs +251 -0
- package/dist/serializer-CJiOhF2d-DJUjQj1i.mjs.map +1 -0
- package/dist/{serializer-BD_6nkr4-DWn5NNTC.d.mts → serializer-Cx5slrV4-xJfH6EWS.d.mts} +2 -2
- package/dist/serializer-Cx5slrV4-xJfH6EWS.d.mts.map +1 -0
- package/dist/storage/index.d.mts +26 -31
- package/dist/storage/index.d.mts.map +1 -1
- package/dist/storage/index.mjs +89 -215
- package/dist/storage/index.mjs.map +1 -1
- package/dist/storage/storage-entrypoint.mjs +122 -147
- package/dist/storage/storage-entrypoint.mjs.map +1 -1
- package/dist/storage/storage-service.mjs +87 -212
- package/dist/storage/storage-service.mjs.map +1 -1
- package/dist/streams/index.d.mts +22 -29
- package/dist/streams/index.d.mts.map +1 -1
- package/dist/streams/index.mjs +88 -213
- package/dist/streams/index.mjs.map +1 -1
- package/dist/streams/streams-entrypoint.mjs +118 -139
- package/dist/streams/streams-entrypoint.mjs.map +1 -1
- package/dist/streams/streams-service.mjs +87 -212
- package/dist/streams/streams-service.mjs.map +1 -1
- package/dist/testing.d.mts +5 -19
- package/dist/testing.d.mts.map +1 -1
- package/dist/testing.mjs +3 -11
- package/dist/testing.mjs.map +1 -1
- package/package.json +18 -18
- package/dist/secret-BVGxqHxY-DYDfiULl.mjs.map +0 -1
- package/dist/serializer-BD_6nkr4-DWn5NNTC.d.mts.map +0 -1
- package/dist/serializer-sVE4UAmg-CikRngbR.mjs +0 -475
- package/dist/serializer-sVE4UAmg-CikRngbR.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as readOrigin, d as
|
|
3
|
-
import { a as provisionedEdges, i as STREAMS_API_KEY_ENV, o as streamsApiKeyNeed, r as STREAMS_API_KEY, t as RESERVED_PROVIDER_PARAMS } from "./provisioned-edges-
|
|
4
|
-
import {
|
|
1
|
+
import { n as secretName, t as envSecret } from "./secret-rz_ZqNeq-_xd97Jd9.mjs";
|
|
2
|
+
import { c as readOrigin, d as stashProviderParams, f as stashSecrets, i as deserializeSecrets, n as configKey, r as deserialize, u as stash } from "./serializer-CJiOhF2d-DJUjQj1i.mjs";
|
|
3
|
+
import { a as provisionedEdges, i as STREAMS_API_KEY_ENV, o as streamsApiKeyNeed, r as STREAMS_API_KEY, t as RESERVED_PROVIDER_PARAMS } from "./provisioned-edges-C1wSO3cx-YC5C19f9.mjs";
|
|
4
|
+
import { i as paramName, t as envParam } from "./param-BTzY0ne5-CW6ojZ3E.mjs";
|
|
5
|
+
import { dependency, hydrateSecrets, hydrateSync, number, resource, service, string } from "@prisma/composer";
|
|
5
6
|
import { blindCast } from "@prisma/composer/casts";
|
|
6
7
|
//#region ../../1-prisma-cloud/1-extensions/target/dist/index.mjs
|
|
7
8
|
/**
|
|
@@ -46,24 +47,20 @@ function bucket(opts) {
|
|
|
46
47
|
}
|
|
47
48
|
const reservedParams = { port: number({ default: 3e3 }) };
|
|
48
49
|
/**
|
|
49
|
-
* A Prisma Compute service — declarations only (deps +
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
50
|
+
* A Prisma Compute service — declarations only (deps + params + build + the
|
|
51
|
+
* ports it exposes), no descriptor. `params` merges with the reserved
|
|
52
|
+
* `ReservedParams` (`port`); a user param whose name collides with a reserved
|
|
53
|
+
* one fails at authoring, the same way a colliding dependency name does.
|
|
53
54
|
*
|
|
54
55
|
* · run(address, boot) — the process controller: deserialize the platform
|
|
55
56
|
* environment (keyed off `address`, the extension's ONE env read) into a
|
|
56
|
-
* typed Config, re-emit it
|
|
57
|
-
*
|
|
58
|
-
* · load() /
|
|
59
|
-
* load() hydrates + memoizes the deps,
|
|
60
|
-
*
|
|
61
|
-
* platform var, validates with the declared schema, and memoizes (ADR-0042).
|
|
57
|
+
* typed Config, re-emit it under address-free process-local stash keys,
|
|
58
|
+
* then call boot() to start the app's entry.
|
|
59
|
+
* · load() / config() — called from inside the app's entry: read the stash;
|
|
60
|
+
* load() hydrates + memoizes the deps, config() returns the typed params.
|
|
61
|
+
* Separate accessors so a dep and a param never share a namespace (ADR-0021).
|
|
62
62
|
* · origin() — this service's platform-assigned public origin, read from the
|
|
63
63
|
* stash `run()` populates; memoized per process.
|
|
64
|
-
* · port() — this service's resolved reserved port (the value `run()` routes
|
|
65
|
-
* to and exports as PORT), read from that same stash via #processConfig();
|
|
66
|
-
* defaults to 3000 when the platform binds none.
|
|
67
64
|
*
|
|
68
65
|
* The underlying node carries `extension: '@prisma/composer-prisma-cloud'` —
|
|
69
66
|
* the control-plane registry key `prisma-composer deploy` resolves through the
|
|
@@ -73,7 +70,8 @@ const reservedParams = { port: number({ default: 3e3 }) };
|
|
|
73
70
|
var ComputeService = class {
|
|
74
71
|
#resolved;
|
|
75
72
|
#loadedDeps;
|
|
76
|
-
#
|
|
73
|
+
#loadedParams;
|
|
74
|
+
#loadedSecrets;
|
|
77
75
|
#origin;
|
|
78
76
|
constructor(node) {
|
|
79
77
|
Object.assign(this, node);
|
|
@@ -86,7 +84,7 @@ var ComputeService = class {
|
|
|
86
84
|
const config = deserialize(this, address);
|
|
87
85
|
stash(this, config);
|
|
88
86
|
stashProviderParams(RESERVED_PROVIDER_PARAMS, address);
|
|
89
|
-
|
|
87
|
+
stashSecrets(this, address);
|
|
90
88
|
const port = config.service["port"];
|
|
91
89
|
if (typeof port === "number") process.env["PORT"] = String(port);
|
|
92
90
|
return boot();
|
|
@@ -95,9 +93,13 @@ var ComputeService = class {
|
|
|
95
93
|
if (this.#loadedDeps === void 0) this.#loadedDeps = blindCast(hydrateSync(this, this.#processConfig()));
|
|
96
94
|
return this.#loadedDeps;
|
|
97
95
|
}
|
|
98
|
-
|
|
99
|
-
if (this.#
|
|
100
|
-
return this.#
|
|
96
|
+
config() {
|
|
97
|
+
if (this.#loadedParams === void 0) this.#loadedParams = blindCast(this.#processConfig().service);
|
|
98
|
+
return this.#loadedParams;
|
|
99
|
+
}
|
|
100
|
+
secrets() {
|
|
101
|
+
if (this.#loadedSecrets === void 0) this.#loadedSecrets = blindCast(hydrateSecrets(this, deserializeSecrets(this, "")));
|
|
102
|
+
return this.#loadedSecrets;
|
|
101
103
|
}
|
|
102
104
|
/** This service's platform-assigned public origin — read from the stash
|
|
103
105
|
* run() populates and memoized per process. Throws if called before run()
|
|
@@ -106,24 +108,26 @@ var ComputeService = class {
|
|
|
106
108
|
this.#origin ??= readOrigin();
|
|
107
109
|
return this.#origin;
|
|
108
110
|
}
|
|
109
|
-
/** This service's resolved reserved port — the value run() routes to and
|
|
110
|
-
* exports as PORT — read the same way load() reads the stash. Defaults to
|
|
111
|
-
* 3000 when the platform binds none. */
|
|
112
|
-
port() {
|
|
113
|
-
const port = this.#processConfig().service["port"];
|
|
114
|
-
if (typeof port !== "number") throw new Error(`service "${this.name}" resolved a non-numeric port — the reserved port param is number({ default: 3000 }), so a stashed config always carries a number here.`);
|
|
115
|
-
return port;
|
|
116
|
-
}
|
|
117
111
|
};
|
|
118
112
|
const compute = (def) => {
|
|
119
|
-
|
|
113
|
+
const userParams = def.params ?? blindCast({});
|
|
114
|
+
for (const reserved of Object.keys(reservedParams)) {
|
|
115
|
+
if (reserved in def.deps) throw new Error(`compute(): dependency "${reserved}" collides with the reserved service param of the same name — rename the dependency.`);
|
|
116
|
+
if (reserved in userParams) throw new Error(`compute(): param "${reserved}" collides with the reserved service param of the same name — rename the param.`);
|
|
117
|
+
}
|
|
118
|
+
for (const name of Object.keys(userParams)) if (name.toUpperCase() === "ORIGIN") throw new Error(`compute(): param "${name}" collides with the framework-written origin row — rename the param.`);
|
|
119
|
+
for (const name of Object.keys(def.secrets ?? {})) if (name.toUpperCase() === "ORIGIN") throw new Error(`compute(): secret "${name}" collides with the framework-written origin row — rename the secret.`);
|
|
120
|
+
const params = blindCast({
|
|
121
|
+
...userParams,
|
|
122
|
+
...reservedParams
|
|
123
|
+
});
|
|
120
124
|
const instance = new ComputeService(service({
|
|
121
125
|
name: def.name,
|
|
122
126
|
extension: "@prisma/composer-prisma-cloud",
|
|
123
127
|
type: "compute",
|
|
124
128
|
inputs: def.deps,
|
|
125
|
-
params
|
|
126
|
-
...def.
|
|
129
|
+
params,
|
|
130
|
+
...def.secrets !== void 0 ? { secrets: def.secrets } : {},
|
|
127
131
|
build: def.build,
|
|
128
132
|
...def.expose !== void 0 ? { expose: def.expose } : {}
|
|
129
133
|
}));
|
|
@@ -212,21 +216,21 @@ function s3Credentials(opts) {
|
|
|
212
216
|
/**
|
|
213
217
|
* The storage service authoring factory — a `compute` service routed to the
|
|
214
218
|
* `s3-store` lowering instead of `compute`'s. It is exactly `compute`'s
|
|
215
|
-
* runnable (run/load/
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
219
|
+
* runnable (run/load/config, deps, params, build, expose) with the routing
|
|
220
|
+
* `type` overridden to `'s3-store'`: nothing at runtime keys off `type` (the
|
|
221
|
+
* serializer keys off the deployment address and each param's owner/name, and
|
|
222
|
+
* `load`/`config` off deps/params), so only the deploy-time descriptor lookup
|
|
223
|
+
* sees the override and routes to the extended-output lowering (§ 5). The
|
|
224
|
+
* return type is compute's exactly (including the reserved `port` param). The
|
|
225
|
+
* storage module (D4b) calls this with its `db`/`credentials` deps, a `bucket`
|
|
226
|
+
* param, and `expose: { store: s3Contract }`.
|
|
223
227
|
*
|
|
224
|
-
* `compute()`'s result is a `ComputeService` instance — its run/load/
|
|
225
|
-
* origin methods live on the class prototype, not as the instance's
|
|
226
|
-
* properties, so a plain object spread (`{ ...node }`) would silently
|
|
227
|
-
* them. Building a fresh `ComputeService` from the same data fields
|
|
228
|
-
* `{ ...node }` DOES copy — they're the node's own enumerable
|
|
229
|
-
* with `type` overridden keeps every method intact.
|
|
228
|
+
* `compute()`'s result is a `ComputeService` instance — its run/load/config/
|
|
229
|
+
* secrets/origin methods live on the class prototype, not as the instance's
|
|
230
|
+
* own properties, so a plain object spread (`{ ...node }`) would silently
|
|
231
|
+
* drop them. Building a fresh `ComputeService` from the same data fields
|
|
232
|
+
* (which `{ ...node }` DOES copy — they're the node's own enumerable
|
|
233
|
+
* properties) with `type` overridden keeps every method intact.
|
|
230
234
|
*/
|
|
231
235
|
function s3StoreService(def) {
|
|
232
236
|
const instance = new ComputeService({
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["#resolved","#loadedDeps","#processConfig","#loadedInput","#origin"],"sources":["../../../1-prisma-cloud/1-extensions/target/dist/index.mjs"],"sourcesContent":["import { n as secretName, o as paramName, r as envParam, t as envSecret } from \"./secret-BVGxqHxY.mjs\";\nimport { c as readOrigin, d as stashInput, f as stashProviderParams, n as configKey, r as deserialize, s as readInput, u as stash } from \"./serializer-sVE4UAmg.mjs\";\nimport { a as streamsApiKeyNeed, i as STREAMS_API_KEY_ENV, n as RESERVED_PROVIDER_PARAMS, r as STREAMS_API_KEY, t as provisionedEdges } from \"./provisioned-edges-Cxy18aoh.mjs\";\nimport { dependency, hydrateSync, number, resource, service, string } from \"@internal/core\";\nimport { blindCast } from \"@internal/foundation/casts\";\n//#region src/bucket.ts\n/**\n* The contract a provisioned Bucket provides — deliberately kind-equal to the\n* storage module's `s3Contract` (`kind: 's3'`). `satisfies` compares KIND,\n* not identity (mirrors `postgresContract`): a real bucket and the emulator\n* are interchangeable at every `s3()` dependency slot. Cross-layer import of\n* the storage module's contract is not allowed (layering: 2-shared-modules\n* depends on 1-extensions, not the reverse), which is exactly the design\n* rationale for kind-equality — the two contracts cooperate through their\n* shared kind string, not through object identity.\n*/\nconst bucketContract = Object.freeze({\n\tkind: \"s3\",\n\t__cmp: {\n\t\turl: \"\",\n\t\tbucket: \"\",\n\t\taccessKeyId: \"\",\n\t\tsecretAccessKey: \"\"\n\t},\n\tsatisfies: (required) => required.kind === \"s3\"\n});\nfunction bucket(opts) {\n\tif (opts?.name !== void 0) return resource({\n\t\tname: opts.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\tprovides: bucketContract\n\t});\n\treturn dependency({\n\t\ttype: \"s3\",\n\t\tconnection: {\n\t\t\tparams: {\n\t\t\t\turl: string(),\n\t\t\t\tbucket: string(),\n\t\t\t\taccessKeyId: string(),\n\t\t\t\tsecretAccessKey: string()\n\t\t\t},\n\t\t\thydrate: (v) => v\n\t\t},\n\t\trequired: bucketContract\n\t});\n}\n//#endregion\n//#region src/compute.ts\nconst reservedParams = { port: number({ default: 3e3 }) };\n/**\n* A Prisma Compute service — declarations only (deps + one input schema +\n* build + the ports it exposes), no descriptor. The reserved `port` param\n* rides its own channel (ADR-0042 leaves it untouched); a dependency named\n* like it fails at authoring.\n*\n* · run(address, boot) — the process controller: deserialize the platform\n* environment (keyed off `address`, the extension's ONE env read) into a\n* typed Config, re-emit it (and the input document row) under address-free\n* process-local stash keys, then call boot() to start the app's entry.\n* · load() / input() — called from inside the app's entry: read the stash;\n* load() hydrates + memoizes the deps, input() parses the input document,\n* replaces each `$secret` pointer with a redacting box over the named\n* platform var, validates with the declared schema, and memoizes (ADR-0042).\n* · origin() — this service's platform-assigned public origin, read from the\n* stash `run()` populates; memoized per process.\n* · port() — this service's resolved reserved port (the value `run()` routes\n* to and exports as PORT), read from that same stash via #processConfig();\n* defaults to 3000 when the platform binds none.\n*\n* The underlying node carries `extension: '@prisma/composer-prisma-cloud'` —\n* the control-plane registry key `prisma-composer deploy` resolves through the\n* app's `prisma-composer.config.ts` (ADR-0017). This module loads nothing at\n* deploy time; nodes are pure data until run() or load() is called.\n*/\nvar ComputeService = class {\n\t#resolved;\n\t#loadedDeps;\n\t#loadedInput;\n\t#origin;\n\tconstructor(node) {\n\t\tObject.assign(this, node);\n\t}\n\t#processConfig() {\n\t\tif (this.#resolved === void 0) this.#resolved = deserialize(this, \"\");\n\t\treturn this.#resolved;\n\t}\n\tasync run(address, boot) {\n\t\tconst config = deserialize(this, address);\n\t\tstash(this, config);\n\t\tstashProviderParams(RESERVED_PROVIDER_PARAMS, address);\n\t\tstashInput(this, address);\n\t\tconst port = config.service[\"port\"];\n\t\tif (typeof port === \"number\") process.env[\"PORT\"] = String(port);\n\t\treturn boot();\n\t}\n\tload() {\n\t\tif (this.#loadedDeps === void 0) this.#loadedDeps = blindCast(hydrateSync(this, this.#processConfig()));\n\t\treturn this.#loadedDeps;\n\t}\n\tinput() {\n\t\tif (this.#loadedInput === void 0) this.#loadedInput = blindCast(readInput(this, \"\"));\n\t\treturn this.#loadedInput;\n\t}\n\t/** This service's platform-assigned public origin — read from the stash\n\t* run() populates and memoized per process. Throws if called before run()\n\t* has stashed it (readOrigin's pinned message). */\n\torigin() {\n\t\tthis.#origin ??= readOrigin();\n\t\treturn this.#origin;\n\t}\n\t/** This service's resolved reserved port — the value run() routes to and\n\t* exports as PORT — read the same way load() reads the stash. Defaults to\n\t* 3000 when the platform binds none. */\n\tport() {\n\t\tconst port = this.#processConfig().service[\"port\"];\n\t\tif (typeof port !== \"number\") throw new Error(`service \"${this.name}\" resolved a non-numeric port — the reserved port param is number({ default: 3000 }), so a stashed config always carries a number here.`);\n\t\treturn port;\n\t}\n};\nconst compute = (def) => {\n\tfor (const reserved of Object.keys(reservedParams)) if (reserved in def.deps) throw new Error(`compute(): dependency \"${reserved}\" collides with the reserved service param of the same name — rename the dependency.`);\n\tconst instance = new ComputeService(service({\n\t\tname: def.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\ttype: \"compute\",\n\t\tinputs: def.deps,\n\t\tparams: reservedParams,\n\t\t...def.input !== void 0 ? { input: def.input } : {},\n\t\tbuild: def.build,\n\t\t...def.expose !== void 0 ? { expose: def.expose } : {}\n\t}));\n\tObject.freeze(instance);\n\treturn instance;\n};\n//#endregion\n//#region src/http.ts\nconst defaultHttpClient = (cfg) => ({\n\turl: cfg.url,\n\tfetch: (path, init) => fetch(new URL(path, cfg.url), init)\n});\n/**\n* A service-to-service dependency. Its binding (what `load()` returns) is a\n* derived HttpClient — a thin URL-anchored fetch wrapper (fetch is standard\n* across runtimes — no driver, no runtime coupling). http() is a\n* protocol-owned kind: the framework owns the transport, so the client is\n* kind-canonical and derived from the contract, with no user client in the\n* declaration (ADR-0015). The typed generated client arrives with the\n* interface primitive (a later extension point).\n*/\nconst http = (opts) => dependency({\n\tname: opts.name,\n\ttype: \"http\",\n\tconnection: {\n\t\tparams: { url: string() },\n\t\thydrate: (v) => defaultHttpClient({ url: v.url })\n\t}\n});\n//#endregion\n//#region src/postgres.ts\n/**\n* The contract a Postgres provides — and the contract its consumers require.\n* `satisfies` compares KIND, not identity: an extension module can be duplicated\n* across a workspace (same rationale as the Symbol.for node brand), and every\n* duplicate's contract must still satisfy. `__cmp` is the connection config a\n* postgres offers; core never inspects it.\n*/\nconst postgresContract = Object.freeze({\n\tkind: \"postgres\",\n\t__cmp: { url: \"\" },\n\tsatisfies: (required) => required.kind === \"postgres\"\n});\nfunction postgres(opts) {\n\tif (opts?.name !== void 0) return resource({\n\t\tname: opts.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\tprovides: postgresContract\n\t});\n\treturn dependency({\n\t\ttype: \"postgres\",\n\t\tconnection: {\n\t\t\tparams: { url: string() },\n\t\t\thydrate: (v) => v\n\t\t},\n\t\trequired: postgresContract\n\t});\n}\n//#endregion\n//#region src/s3-credentials.ts\n/**\n* The contract the `s3-credentials` resource provides — a minted SigV4 key\n* pair. `satisfies` compares KIND only (mirrors `postgresContract`); `__cmp` is\n* the config the resource offers, which core never inspects.\n*/\nconst credentialsContract = Object.freeze({\n\tkind: \"credentials\",\n\t__cmp: {\n\t\taccessKeyId: \"\",\n\t\tsecretAccessKey: \"\"\n\t},\n\tsatisfies: (required) => required.kind === \"credentials\"\n});\nfunction s3Credentials(opts) {\n\tif (opts?.name !== void 0) return resource({\n\t\tname: opts.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\tprovides: credentialsContract\n\t});\n\treturn dependency({\n\t\ttype: \"credentials\",\n\t\tconnection: {\n\t\t\tparams: {\n\t\t\t\taccessKeyId: string(),\n\t\t\t\tsecretAccessKey: string()\n\t\t\t},\n\t\t\thydrate: (v) => v\n\t\t},\n\t\trequired: credentialsContract\n\t});\n}\n//#endregion\n//#region src/s3-store.ts\n/**\n* The storage service authoring factory — a `compute` service routed to the\n* `s3-store` lowering instead of `compute`'s. It is exactly `compute`'s\n* runnable (run/load/input, deps, input schema, build, expose) with the\n* routing `type` overridden to `'s3-store'`: nothing at runtime keys off\n* `type` (the serializer keys off the deployment address and each param's\n* owner/name, and `load`/`input` off deps/the input schema), so only the\n* deploy-time descriptor lookup sees the override and routes to the\n* extended-output lowering (§ 5). The return type is compute's exactly\n* (including the reserved `port` param). The storage module (D4b) calls this\n* with its `db`/`credentials` deps and `expose: { store: s3Contract }`.\n*\n* `compute()`'s result is a `ComputeService` instance — its run/load/input/\n* origin methods live on the class prototype, not as the instance's own\n* properties, so a plain object spread (`{ ...node }`) would silently drop\n* them. Building a fresh `ComputeService` from the same data fields (which\n* `{ ...node }` DOES copy — they're the node's own enumerable properties)\n* with `type` overridden keeps every method intact.\n*/\nfunction s3StoreService(def) {\n\tconst instance = new ComputeService({\n\t\t...compute(def),\n\t\ttype: \"s3-store\"\n\t});\n\tObject.freeze(instance);\n\treturn instance;\n}\n//#endregion\nexport { ComputeService, STREAMS_API_KEY, STREAMS_API_KEY_ENV, bucket, bucketContract, compute, configKey, credentialsContract, envParam, envSecret, http, paramName, postgres, postgresContract, provisionedEdges, s3Credentials, s3StoreService, secretName, streamsApiKeyNeed };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["#resolved","#loadedDeps","#processConfig","#loadedParams","#loadedSecrets","#origin"],"sources":["../../../1-prisma-cloud/1-extensions/target/dist/index.mjs"],"sourcesContent":["import { n as secretName, t as envSecret } from \"./secret-rz_ZqNeq.mjs\";\nimport { c as readOrigin, d as stashProviderParams, f as stashSecrets, i as deserializeSecrets, n as configKey, r as deserialize, u as stash } from \"./serializer-CJiOhF2d.mjs\";\nimport { a as streamsApiKeyNeed, i as STREAMS_API_KEY_ENV, n as RESERVED_PROVIDER_PARAMS, r as STREAMS_API_KEY, t as provisionedEdges } from \"./provisioned-edges-C1wSO3cx.mjs\";\nimport { i as paramName, t as envParam } from \"./param-BTzY0ne5.mjs\";\nimport { dependency, hydrateSecrets, hydrateSync, number, resource, service, string } from \"@internal/core\";\nimport { blindCast } from \"@internal/foundation/casts\";\n//#region src/bucket.ts\n/**\n* The contract a provisioned Bucket provides — deliberately kind-equal to the\n* storage module's `s3Contract` (`kind: 's3'`). `satisfies` compares KIND,\n* not identity (mirrors `postgresContract`): a real bucket and the emulator\n* are interchangeable at every `s3()` dependency slot. Cross-layer import of\n* the storage module's contract is not allowed (layering: 2-shared-modules\n* depends on 1-extensions, not the reverse), which is exactly the design\n* rationale for kind-equality — the two contracts cooperate through their\n* shared kind string, not through object identity.\n*/\nconst bucketContract = Object.freeze({\n\tkind: \"s3\",\n\t__cmp: {\n\t\turl: \"\",\n\t\tbucket: \"\",\n\t\taccessKeyId: \"\",\n\t\tsecretAccessKey: \"\"\n\t},\n\tsatisfies: (required) => required.kind === \"s3\"\n});\nfunction bucket(opts) {\n\tif (opts?.name !== void 0) return resource({\n\t\tname: opts.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\tprovides: bucketContract\n\t});\n\treturn dependency({\n\t\ttype: \"s3\",\n\t\tconnection: {\n\t\t\tparams: {\n\t\t\t\turl: string(),\n\t\t\t\tbucket: string(),\n\t\t\t\taccessKeyId: string(),\n\t\t\t\tsecretAccessKey: string()\n\t\t\t},\n\t\t\thydrate: (v) => v\n\t\t},\n\t\trequired: bucketContract\n\t});\n}\n//#endregion\n//#region src/compute.ts\nconst reservedParams = { port: number({ default: 3e3 }) };\n/**\n* A Prisma Compute service — declarations only (deps + params + build + the\n* ports it exposes), no descriptor. `params` merges with the reserved\n* `ReservedParams` (`port`); a user param whose name collides with a reserved\n* one fails at authoring, the same way a colliding dependency name does.\n*\n* · run(address, boot) — the process controller: deserialize the platform\n* environment (keyed off `address`, the extension's ONE env read) into a\n* typed Config, re-emit it under address-free process-local stash keys,\n* then call boot() to start the app's entry.\n* · load() / config() — called from inside the app's entry: read the stash;\n* load() hydrates + memoizes the deps, config() returns the typed params.\n* Separate accessors so a dep and a param never share a namespace (ADR-0021).\n* · origin() — this service's platform-assigned public origin, read from the\n* stash `run()` populates; memoized per process.\n*\n* The underlying node carries `extension: '@prisma/composer-prisma-cloud'` —\n* the control-plane registry key `prisma-composer deploy` resolves through the\n* app's `prisma-composer.config.ts` (ADR-0017). This module loads nothing at\n* deploy time; nodes are pure data until run() or load() is called.\n*/\nvar ComputeService = class {\n\t#resolved;\n\t#loadedDeps;\n\t#loadedParams;\n\t#loadedSecrets;\n\t#origin;\n\tconstructor(node) {\n\t\tObject.assign(this, node);\n\t}\n\t#processConfig() {\n\t\tif (this.#resolved === void 0) this.#resolved = deserialize(this, \"\");\n\t\treturn this.#resolved;\n\t}\n\tasync run(address, boot) {\n\t\tconst config = deserialize(this, address);\n\t\tstash(this, config);\n\t\tstashProviderParams(RESERVED_PROVIDER_PARAMS, address);\n\t\tstashSecrets(this, address);\n\t\tconst port = config.service[\"port\"];\n\t\tif (typeof port === \"number\") process.env[\"PORT\"] = String(port);\n\t\treturn boot();\n\t}\n\tload() {\n\t\tif (this.#loadedDeps === void 0) this.#loadedDeps = blindCast(hydrateSync(this, this.#processConfig()));\n\t\treturn this.#loadedDeps;\n\t}\n\tconfig() {\n\t\tif (this.#loadedParams === void 0) this.#loadedParams = blindCast(this.#processConfig().service);\n\t\treturn this.#loadedParams;\n\t}\n\tsecrets() {\n\t\tif (this.#loadedSecrets === void 0) this.#loadedSecrets = blindCast(hydrateSecrets(this, deserializeSecrets(this, \"\")));\n\t\treturn this.#loadedSecrets;\n\t}\n\t/** This service's platform-assigned public origin — read from the stash\n\t* run() populates and memoized per process. Throws if called before run()\n\t* has stashed it (readOrigin's pinned message). */\n\torigin() {\n\t\tthis.#origin ??= readOrigin();\n\t\treturn this.#origin;\n\t}\n};\nconst compute = (def) => {\n\tconst userParams = def.params ?? blindCast({});\n\tfor (const reserved of Object.keys(reservedParams)) {\n\t\tif (reserved in def.deps) throw new Error(`compute(): dependency \"${reserved}\" collides with the reserved service param of the same name — rename the dependency.`);\n\t\tif (reserved in userParams) throw new Error(`compute(): param \"${reserved}\" collides with the reserved service param of the same name — rename the param.`);\n\t}\n\tfor (const name of Object.keys(userParams)) if (name.toUpperCase() === \"ORIGIN\") throw new Error(`compute(): param \"${name}\" collides with the framework-written origin row — rename the param.`);\n\tfor (const name of Object.keys(def.secrets ?? {})) if (name.toUpperCase() === \"ORIGIN\") throw new Error(`compute(): secret \"${name}\" collides with the framework-written origin row — rename the secret.`);\n\tconst params = blindCast({\n\t\t...userParams,\n\t\t...reservedParams\n\t});\n\tconst instance = new ComputeService(service({\n\t\tname: def.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\ttype: \"compute\",\n\t\tinputs: def.deps,\n\t\tparams,\n\t\t...def.secrets !== void 0 ? { secrets: def.secrets } : {},\n\t\tbuild: def.build,\n\t\t...def.expose !== void 0 ? { expose: def.expose } : {}\n\t}));\n\tObject.freeze(instance);\n\treturn instance;\n};\n//#endregion\n//#region src/http.ts\nconst defaultHttpClient = (cfg) => ({\n\turl: cfg.url,\n\tfetch: (path, init) => fetch(new URL(path, cfg.url), init)\n});\n/**\n* A service-to-service dependency. Its binding (what `load()` returns) is a\n* derived HttpClient — a thin URL-anchored fetch wrapper (fetch is standard\n* across runtimes — no driver, no runtime coupling). http() is a\n* protocol-owned kind: the framework owns the transport, so the client is\n* kind-canonical and derived from the contract, with no user client in the\n* declaration (ADR-0015). The typed generated client arrives with the\n* interface primitive (a later extension point).\n*/\nconst http = (opts) => dependency({\n\tname: opts.name,\n\ttype: \"http\",\n\tconnection: {\n\t\tparams: { url: string() },\n\t\thydrate: (v) => defaultHttpClient({ url: v.url })\n\t}\n});\n//#endregion\n//#region src/postgres.ts\n/**\n* The contract a Postgres provides — and the contract its consumers require.\n* `satisfies` compares KIND, not identity: an extension module can be duplicated\n* across a workspace (same rationale as the Symbol.for node brand), and every\n* duplicate's contract must still satisfy. `__cmp` is the connection config a\n* postgres offers; core never inspects it.\n*/\nconst postgresContract = Object.freeze({\n\tkind: \"postgres\",\n\t__cmp: { url: \"\" },\n\tsatisfies: (required) => required.kind === \"postgres\"\n});\nfunction postgres(opts) {\n\tif (opts?.name !== void 0) return resource({\n\t\tname: opts.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\tprovides: postgresContract\n\t});\n\treturn dependency({\n\t\ttype: \"postgres\",\n\t\tconnection: {\n\t\t\tparams: { url: string() },\n\t\t\thydrate: (v) => v\n\t\t},\n\t\trequired: postgresContract\n\t});\n}\n//#endregion\n//#region src/s3-credentials.ts\n/**\n* The contract the `s3-credentials` resource provides — a minted SigV4 key\n* pair. `satisfies` compares KIND only (mirrors `postgresContract`); `__cmp` is\n* the config the resource offers, which core never inspects.\n*/\nconst credentialsContract = Object.freeze({\n\tkind: \"credentials\",\n\t__cmp: {\n\t\taccessKeyId: \"\",\n\t\tsecretAccessKey: \"\"\n\t},\n\tsatisfies: (required) => required.kind === \"credentials\"\n});\nfunction s3Credentials(opts) {\n\tif (opts?.name !== void 0) return resource({\n\t\tname: opts.name,\n\t\textension: \"@prisma/composer-prisma-cloud\",\n\t\tprovides: credentialsContract\n\t});\n\treturn dependency({\n\t\ttype: \"credentials\",\n\t\tconnection: {\n\t\t\tparams: {\n\t\t\t\taccessKeyId: string(),\n\t\t\t\tsecretAccessKey: string()\n\t\t\t},\n\t\t\thydrate: (v) => v\n\t\t},\n\t\trequired: credentialsContract\n\t});\n}\n//#endregion\n//#region src/s3-store.ts\n/**\n* The storage service authoring factory — a `compute` service routed to the\n* `s3-store` lowering instead of `compute`'s. It is exactly `compute`'s\n* runnable (run/load/config, deps, params, build, expose) with the routing\n* `type` overridden to `'s3-store'`: nothing at runtime keys off `type` (the\n* serializer keys off the deployment address and each param's owner/name, and\n* `load`/`config` off deps/params), so only the deploy-time descriptor lookup\n* sees the override and routes to the extended-output lowering (§ 5). The\n* return type is compute's exactly (including the reserved `port` param). The\n* storage module (D4b) calls this with its `db`/`credentials` deps, a `bucket`\n* param, and `expose: { store: s3Contract }`.\n*\n* `compute()`'s result is a `ComputeService` instance — its run/load/config/\n* secrets/origin methods live on the class prototype, not as the instance's\n* own properties, so a plain object spread (`{ ...node }`) would silently\n* drop them. Building a fresh `ComputeService` from the same data fields\n* (which `{ ...node }` DOES copy — they're the node's own enumerable\n* properties) with `type` overridden keeps every method intact.\n*/\nfunction s3StoreService(def) {\n\tconst instance = new ComputeService({\n\t\t...compute(def),\n\t\ttype: \"s3-store\"\n\t});\n\tObject.freeze(instance);\n\treturn instance;\n}\n//#endregion\nexport { ComputeService, STREAMS_API_KEY, STREAMS_API_KEY_ENV, bucket, bucketContract, compute, configKey, credentialsContract, envParam, envSecret, http, paramName, postgres, postgresContract, provisionedEdges, s3Credentials, s3StoreService, secretName, streamsApiKeyNeed };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAM,iBAAiB,OAAO,OAAO;CACpC,MAAM;CACN,OAAO;EACN,KAAK;EACL,QAAQ;EACR,aAAa;EACb,iBAAiB;CAClB;CACA,YAAY,aAAa,SAAS,SAAS;AAC5C,CAAC;AACD,SAAS,OAAO,MAAM;CACrB,IAAI,MAAM,SAAS,KAAK,GAAG,OAAO,SAAS;EAC1C,MAAM,KAAK;EACX,WAAW;EACX,UAAU;CACX,CAAC;CACD,OAAO,WAAW;EACjB,MAAM;EACN,YAAY;GACX,QAAQ;IACP,KAAK,OAAO;IACZ,QAAQ,OAAO;IACf,aAAa,OAAO;IACpB,iBAAiB,OAAO;GACzB;GACA,UAAU,MAAM;EACjB;EACA,UAAU;CACX,CAAC;AACF;AAGA,MAAM,iBAAiB,EAAE,MAAM,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;AAsBxD,IAAI,iBAAiB,MAAM;CAC1B;CACA;CACA;CACA;CACA;CACA,YAAY,MAAM;EACjB,OAAO,OAAO,MAAM,IAAI;CACzB;CACA,iBAAiB;EAChB,IAAI,KAAKA,cAAc,KAAK,GAAG,KAAKA,YAAY,YAAY,MAAM,EAAE;EACpE,OAAO,KAAKA;CACb;CACA,MAAM,IAAI,SAAS,MAAM;EACxB,MAAM,SAAS,YAAY,MAAM,OAAO;EACxC,MAAM,MAAM,MAAM;EAClB,oBAAoB,0BAA0B,OAAO;EACrD,aAAa,MAAM,OAAO;EAC1B,MAAM,OAAO,OAAO,QAAQ;EAC5B,IAAI,OAAO,SAAS,UAAU,QAAQ,IAAI,UAAU,OAAO,IAAI;EAC/D,OAAO,KAAK;CACb;CACA,OAAO;EACN,IAAI,KAAKC,gBAAgB,KAAK,GAAG,KAAKA,cAAc,UAAU,YAAY,MAAM,KAAKC,eAAe,CAAC,CAAC;EACtG,OAAO,KAAKD;CACb;CACA,SAAS;EACR,IAAI,KAAKE,kBAAkB,KAAK,GAAG,KAAKA,gBAAgB,UAAU,KAAKD,eAAe,CAAC,CAAC,OAAO;EAC/F,OAAO,KAAKC;CACb;CACA,UAAU;EACT,IAAI,KAAKC,mBAAmB,KAAK,GAAG,KAAKA,iBAAiB,UAAU,eAAe,MAAM,mBAAmB,MAAM,EAAE,CAAC,CAAC;EACtH,OAAO,KAAKA;CACb;;;;CAIA,SAAS;EACR,KAAKC,YAAY,WAAW;EAC5B,OAAO,KAAKA;CACb;AACD;AACA,MAAM,WAAW,QAAQ;CACxB,MAAM,aAAa,IAAI,UAAU,UAAU,CAAC,CAAC;CAC7C,KAAK,MAAM,YAAY,OAAO,KAAK,cAAc,GAAG;EACnD,IAAI,YAAY,IAAI,MAAM,MAAM,IAAI,MAAM,0BAA0B,SAAS,qFAAqF;EAClK,IAAI,YAAY,YAAY,MAAM,IAAI,MAAM,qBAAqB,SAAS,gFAAgF;CAC3J;CACA,KAAK,MAAM,QAAQ,OAAO,KAAK,UAAU,GAAG,IAAI,KAAK,YAAY,MAAM,UAAU,MAAM,IAAI,MAAM,qBAAqB,KAAK,qEAAqE;CAChM,KAAK,MAAM,QAAQ,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC,GAAG,IAAI,KAAK,YAAY,MAAM,UAAU,MAAM,IAAI,MAAM,sBAAsB,KAAK,sEAAsE;CACzM,MAAM,SAAS,UAAU;EACxB,GAAG;EACH,GAAG;CACJ,CAAC;CACD,MAAM,WAAW,IAAI,eAAe,QAAQ;EAC3C,MAAM,IAAI;EACV,WAAW;EACX,MAAM;EACN,QAAQ,IAAI;EACZ;EACA,GAAG,IAAI,YAAY,KAAK,IAAI,EAAE,SAAS,IAAI,QAAQ,IAAI,CAAC;EACxD,OAAO,IAAI;EACX,GAAG,IAAI,WAAW,KAAK,IAAI,EAAE,QAAQ,IAAI,OAAO,IAAI,CAAC;CACtD,CAAC,CAAC;CACF,OAAO,OAAO,QAAQ;CACtB,OAAO;AACR;AAGA,MAAM,qBAAqB,SAAS;CACnC,KAAK,IAAI;CACT,QAAQ,MAAM,SAAS,MAAM,IAAI,IAAI,MAAM,IAAI,GAAG,GAAG,IAAI;AAC1D;;;;;;;;;;AAUA,MAAM,QAAQ,SAAS,WAAW;CACjC,MAAM,KAAK;CACX,MAAM;CACN,YAAY;EACX,QAAQ,EAAE,KAAK,OAAO,EAAE;EACxB,UAAU,MAAM,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC;CACjD;AACD,CAAC;;;;;;;;AAUD,MAAM,mBAAmB,OAAO,OAAO;CACtC,MAAM;CACN,OAAO,EAAE,KAAK,GAAG;CACjB,YAAY,aAAa,SAAS,SAAS;AAC5C,CAAC;AACD,SAAS,SAAS,MAAM;CACvB,IAAI,MAAM,SAAS,KAAK,GAAG,OAAO,SAAS;EAC1C,MAAM,KAAK;EACX,WAAW;EACX,UAAU;CACX,CAAC;CACD,OAAO,WAAW;EACjB,MAAM;EACN,YAAY;GACX,QAAQ,EAAE,KAAK,OAAO,EAAE;GACxB,UAAU,MAAM;EACjB;EACA,UAAU;CACX,CAAC;AACF;;;;;;AAQA,MAAM,sBAAsB,OAAO,OAAO;CACzC,MAAM;CACN,OAAO;EACN,aAAa;EACb,iBAAiB;CAClB;CACA,YAAY,aAAa,SAAS,SAAS;AAC5C,CAAC;AACD,SAAS,cAAc,MAAM;CAC5B,IAAI,MAAM,SAAS,KAAK,GAAG,OAAO,SAAS;EAC1C,MAAM,KAAK;EACX,WAAW;EACX,UAAU;CACX,CAAC;CACD,OAAO,WAAW;EACjB,MAAM;EACN,YAAY;GACX,QAAQ;IACP,aAAa,OAAO;IACpB,iBAAiB,OAAO;GACzB;GACA,UAAU,MAAM;EACjB;EACA,UAAU;CACX,CAAC;AACF;;;;;;;;;;;;;;;;;;;;AAsBA,SAAS,eAAe,KAAK;CAC5B,MAAM,WAAW,IAAI,eAAe;EACnC,GAAG,QAAQ,GAAG;EACd,MAAM;CACP,CAAC;CACD,OAAO,OAAO,QAAQ;CACtB,OAAO;AACR"}
|
package/dist/local-target.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as EnvironmentVariable, D as Bucket, O as BucketKey, S as Deployment, T as ServiceKeyProvider, _ as Connection, a as PnMigrationProvider, c as S3CredentialsProvider, d as deserialize, f as prismaCloudContainerOf, h as Providers, l as collectPreflightNames, m as mintKeyPair, o as PrismaCloudContainer, r as PgWarmProvider, v as Database, x as ComputeService, y as Project } from "./preflight-names-
|
|
1
|
+
import { C as EnvironmentVariable, D as Bucket, O as BucketKey, S as Deployment, T as ServiceKeyProvider, _ as Connection, a as PnMigrationProvider, c as S3CredentialsProvider, d as deserialize, f as prismaCloudContainerOf, h as Providers, l as collectPreflightNames, m as mintKeyPair, o as PrismaCloudContainer, r as PgWarmProvider, v as Database, x as ComputeService, y as Project } from "./preflight-names-BPL-qsZF-BfoRgbgb.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { blindCast } from "@prisma/composer/casts";
|
|
4
4
|
import * as Effect from "effect/Effect";
|