@prisma/orm-extension-supabase 8.0.0-rc.19-dev.6 → 8.0.0-rc.19-dev.7
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/{contract-SXP6C0cn-Gi2b36LU.mjs → contract-CjZU4jSN-BrSys3rb.mjs} +3 -3
- package/dist/{contract-SXP6C0cn-Gi2b36LU.mjs.map → contract-CjZU4jSN-BrSys3rb.mjs.map} +1 -1
- package/dist/pack.mjs +1 -1
- package/dist/pack.mjs.map +1 -1
- package/dist/runtime.d.mts +19 -29
- package/dist/runtime.d.mts.map +1 -1
- package/dist/runtime.mjs +132 -146
- package/dist/runtime.mjs.map +1 -1
- package/package.json +10 -10
package/dist/runtime.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { n as version, t as contract_default } from "./contract-
|
|
1
|
+
import { n as version, t as contract_default } from "./contract-CjZU4jSN-BrSys3rb.mjs";
|
|
2
2
|
import { a as isSupabaseRole, n as SupabaseRole, t as SUPABASE_JWT_ROLE_CLAIM } from "./roles-9Ql17Kbb-p1cF6Jlt.mjs";
|
|
3
3
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
4
4
|
import postgresAdapter from "@prisma/orm-target-postgres/adapter/runtime";
|
|
5
5
|
import postgresDriver, { suppressIdleConnectionErrors } from "@prisma/orm-target-postgres/driver/runtime";
|
|
6
|
+
import { buildPostgresStaticContext } from "@prisma/orm-postgres/internal/static-context";
|
|
6
7
|
import { buildPostgresQueryMembers } from "@prisma/orm-postgres/internal/transaction-members";
|
|
7
8
|
import { validatePostgresContract } from "@prisma/orm-postgres/internal/validate-contract";
|
|
8
|
-
import { PostgresRuntimeImpl,
|
|
9
|
-
import { createRawLane, sql } from "@prisma/orm-family-sql/builder/runtime";
|
|
9
|
+
import { PostgresRuntimeImpl, isPgPool } from "@prisma/orm-postgres/runtime";
|
|
10
10
|
import { checkCollectionClasses, orm, prepareQuery } from "@prisma/orm-family-sql/orm-client";
|
|
11
|
-
import { activitySource, createExecutionContext, createSqlExecutionStack,
|
|
11
|
+
import { activitySource, createExecutionContext, createSqlExecutionStack, withTransaction, withTransactionMembers } from "@prisma/orm-family-sql/runtime";
|
|
12
12
|
import { createTransactionStart, preparedStatementExecute, preparedStatementQuery, transactionStart } from "@prisma/orm-family-sql/runtime/internal/prepared-query";
|
|
13
13
|
import postgresTarget, { PostgresContractSerializer } from "@prisma/orm-target-postgres/target/runtime";
|
|
14
14
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
@@ -44,17 +44,22 @@ const supabaseRuntimeDescriptor = {
|
|
|
44
44
|
function supabaseError(code, message, options) {
|
|
45
45
|
return structuredError(code, message, options);
|
|
46
46
|
}
|
|
47
|
+
let buildRoleScope;
|
|
48
|
+
/**
|
|
49
|
+
* The operations under `binding` of the runtime `runtime()` returns. Each operation calls `runtime()` when it runs, so a client can build its role scope before its runtime exists; when `runtime()` throws, the operation rejects. For the facade only; the package entry does not export it.
|
|
50
|
+
*/
|
|
51
|
+
function roleScope(runtime, binding) {
|
|
52
|
+
return buildRoleScope(runtime, binding);
|
|
53
|
+
}
|
|
47
54
|
var SupabaseRuntimeImpl = class extends PostgresRuntimeImpl {
|
|
48
55
|
/**
|
|
49
|
-
* Opens a raw connection and applies role + JWT claims via session-scoped set_config.
|
|
50
|
-
* On bind failure, destroys the connection before rethrowing — no leaked connections.
|
|
51
|
-
* Not on the `SupabaseRuntime` interface; consumed by the facade, not by app code.
|
|
56
|
+
* Opens a raw connection and applies role + JWT claims via session-scoped set_config. On bind failure, destroys the connection before rethrowing — no leaked connections. Every operation of `forRole(binding)` runs on a session opened here.
|
|
52
57
|
*/
|
|
53
58
|
async openRoleSession(binding) {
|
|
54
59
|
return (await this.openRoleConnection(binding)).session;
|
|
55
60
|
}
|
|
56
|
-
async openRoleConnection(binding) {
|
|
57
|
-
const conn = await this.acquireRawConnection();
|
|
61
|
+
async openRoleConnection(binding, options) {
|
|
62
|
+
const conn = await this.acquireRawConnection(options);
|
|
58
63
|
try {
|
|
59
64
|
await conn.execute({
|
|
60
65
|
sql: "SELECT set_config($1, $2, false)",
|
|
@@ -114,75 +119,48 @@ var SupabaseRuntimeImpl = class extends PostgresRuntimeImpl {
|
|
|
114
119
|
session
|
|
115
120
|
};
|
|
116
121
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return {
|
|
120
|
-
startActivity: (activity) => this.startActivityOnRoute(this.roleRoute(binding), activity, void 0),
|
|
121
|
-
planContentHash: (plan) => this.planContentHashFor(plan, "connection", void 0)
|
|
122
|
-
};
|
|
122
|
+
forRole(binding) {
|
|
123
|
+
return buildRoleScope(() => this, binding);
|
|
123
124
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
125
|
+
static {
|
|
126
|
+
buildRoleScope = (runtime, binding) => {
|
|
127
|
+
const open = (options) => async () => (await runtime().openRoleConnection(binding, options)).session;
|
|
128
|
+
const scope = {
|
|
129
|
+
query(plan, options) {
|
|
130
|
+
return streamOnSession(open(options), (session) => session.query(plan, options));
|
|
131
|
+
},
|
|
132
|
+
execute(plan, options) {
|
|
133
|
+
return executeOnSession(open(options), (session) => session.execute(plan, options));
|
|
134
|
+
},
|
|
135
|
+
[preparedStatementQuery](statement, params, options) {
|
|
136
|
+
return streamOnSession(open(options), (session) => session[preparedStatementQuery](statement, params, options));
|
|
137
|
+
},
|
|
138
|
+
[preparedStatementExecute](statement, params, options) {
|
|
139
|
+
return executeOnSession(open(options), (session) => session[preparedStatementExecute](statement, params, options));
|
|
140
|
+
},
|
|
141
|
+
connection: open(void 0),
|
|
142
|
+
[activitySource]: {
|
|
143
|
+
startActivity: async (activity) => runtime().startActivityOnRoute(route, activity, void 0),
|
|
144
|
+
planContentHash: async (plan) => runtime().planContentHashFor(plan, "connection", void 0)
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const route = {
|
|
148
|
+
scope: "connection",
|
|
149
|
+
parent: () => void 0,
|
|
150
|
+
runtimeWork: true,
|
|
151
|
+
query: (plan, options) => scope.query(plan, options),
|
|
152
|
+
execute: (plan, options) => scope.execute(plan, options),
|
|
153
|
+
preparedQuery: (statement, params, options) => scope[preparedStatementQuery](statement, params, options),
|
|
154
|
+
preparedExecute: (statement, params, options) => scope[preparedStatementExecute](statement, params, options),
|
|
155
|
+
transaction: (parent) => runtime().beginRoleTransaction(binding, parent)
|
|
156
|
+
};
|
|
157
|
+
return scope;
|
|
134
158
|
};
|
|
135
159
|
}
|
|
136
160
|
async beginRoleTransaction(binding, parent) {
|
|
137
|
-
const { conn, session } = await this.openRoleConnection(binding);
|
|
161
|
+
const { conn, session } = await this.openRoleConnection(binding, { activityParent: parent });
|
|
138
162
|
return this.ownTransaction(session, () => this.beginTransactionOn(conn, session, parent));
|
|
139
163
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Opens a role session, queries the plan, then releases after the stream drains.
|
|
142
|
-
* On mid-stream error, destroys the session instead of releasing.
|
|
143
|
-
*/
|
|
144
|
-
queryWithRole(plan, binding, options) {
|
|
145
|
-
return this.streamOnRoleSession(binding, (session) => session.query(plan, options));
|
|
146
|
-
}
|
|
147
|
-
executeWithRole(plan, binding, options) {
|
|
148
|
-
return this.executeOnRoleSession(binding, (session) => session.execute(plan, options));
|
|
149
|
-
}
|
|
150
|
-
/** Runs a prepared statement on a role session, as a role-bound query runs. */
|
|
151
|
-
preparedQueryWithRole(statement, params, binding, options) {
|
|
152
|
-
return this.streamOnRoleSession(binding, (session) => session[preparedStatementQuery](statement, params, options));
|
|
153
|
-
}
|
|
154
|
-
/** Runs a prepared statement that reports affected rows on a role session. */
|
|
155
|
-
preparedExecuteWithRole(statement, params, binding, options) {
|
|
156
|
-
return this.executeOnRoleSession(binding, (session) => session[preparedStatementExecute](statement, params, options));
|
|
157
|
-
}
|
|
158
|
-
streamOnRoleSession(binding, rows) {
|
|
159
|
-
const self = this;
|
|
160
|
-
const generator = async function* () {
|
|
161
|
-
const { session } = await self.openRoleConnection(binding);
|
|
162
|
-
let errored = false;
|
|
163
|
-
try {
|
|
164
|
-
for await (const row of rows(session)) yield row;
|
|
165
|
-
} catch (err) {
|
|
166
|
-
errored = true;
|
|
167
|
-
await session.destroy(err).catch(() => void 0);
|
|
168
|
-
throw err;
|
|
169
|
-
} finally {
|
|
170
|
-
if (!errored) await session.release();
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
return new AsyncIterableResult(generator());
|
|
174
|
-
}
|
|
175
|
-
async executeOnRoleSession(binding, run) {
|
|
176
|
-
const { session } = await this.openRoleConnection(binding);
|
|
177
|
-
try {
|
|
178
|
-
const stats = await run(session);
|
|
179
|
-
await session.release();
|
|
180
|
-
return stats;
|
|
181
|
-
} catch (err) {
|
|
182
|
-
await session.destroy(err).catch(() => void 0);
|
|
183
|
-
throw err;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
164
|
runPreparedExecuteAgainstRoleQueryable(prepared, params, queryable, options) {
|
|
187
165
|
return this.runPreparedExecuteAgainstQueryable(blindCast(prepared), blindCast(params), queryable, {
|
|
188
166
|
...options,
|
|
@@ -196,9 +174,36 @@ var SupabaseRuntimeImpl = class extends PostgresRuntimeImpl {
|
|
|
196
174
|
});
|
|
197
175
|
}
|
|
198
176
|
};
|
|
177
|
+
function streamOnSession(open, rows) {
|
|
178
|
+
const generator = async function* () {
|
|
179
|
+
const session = await open();
|
|
180
|
+
let errored = false;
|
|
181
|
+
try {
|
|
182
|
+
for await (const row of rows(session)) yield row;
|
|
183
|
+
} catch (err) {
|
|
184
|
+
errored = true;
|
|
185
|
+
await session.destroy(err).catch(() => void 0);
|
|
186
|
+
throw err;
|
|
187
|
+
} finally {
|
|
188
|
+
if (!errored) await session.release();
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
return new AsyncIterableResult(generator());
|
|
192
|
+
}
|
|
193
|
+
async function executeOnSession(open, run) {
|
|
194
|
+
const session = await open();
|
|
195
|
+
try {
|
|
196
|
+
const stats = await run(session);
|
|
197
|
+
await session.release();
|
|
198
|
+
return stats;
|
|
199
|
+
} catch (err) {
|
|
200
|
+
await session.destroy(err).catch(() => void 0);
|
|
201
|
+
throw err;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
199
204
|
const contractSerializer = new PostgresContractSerializer();
|
|
200
205
|
function closedClientError() {
|
|
201
|
-
return structuredError("DRIVER.NOT_CONNECTED", "
|
|
206
|
+
return structuredError("DRIVER.NOT_CONNECTED", "Runtime is closed", {
|
|
202
207
|
why: "close() was called on this client.",
|
|
203
208
|
fix: "Create a new supabase(...) client.",
|
|
204
209
|
meta: { extension: "supabase" }
|
|
@@ -240,6 +245,14 @@ function algKeyMismatchReason(jwt, kind) {
|
|
|
240
245
|
if (kind === "secret" && asymmetric) return `token is signed with ${alg} but this client is configured with jwtSecret (HS256). Current Supabase projects sign with asymmetric keys by default — configure jwksUrl (https://<project>/auth/v1/.well-known/jwks.json) instead of jwtSecret.`;
|
|
241
246
|
if (kind === "jwks" && alg.startsWith("HS")) return `token is signed with ${alg} (a symmetric algorithm) but this client is configured with jwksUrl. A legacy HS256 Supabase project needs jwtSecret (the JWT_SECRET from \`supabase status\`) instead of jwksUrl.`;
|
|
242
247
|
}
|
|
248
|
+
function checkPgOption(pg) {
|
|
249
|
+
if (pg === void 0 || typeof pg === "object" && pg !== null && isPgPool(pg)) return;
|
|
250
|
+
throw supabaseError("SUPABASE.CONFIG_INVALID", "The pg option takes a pg.Pool", {
|
|
251
|
+
why: "Each role-bound query needs a connection of its own, which a single pg.Client cannot give.",
|
|
252
|
+
fix: "Pass a pg.Pool as pg, or pass url.",
|
|
253
|
+
meta: { reason: "pg is not a pg.Pool" }
|
|
254
|
+
});
|
|
255
|
+
}
|
|
243
256
|
function toPool(options) {
|
|
244
257
|
if (options.pg !== void 0 && isPgPool(options.pg)) return {
|
|
245
258
|
pool: options.pg,
|
|
@@ -287,6 +300,7 @@ function buildExtensionContract() {
|
|
|
287
300
|
*/
|
|
288
301
|
async function supabase(options) {
|
|
289
302
|
const keyMaterial = resolveKeyMaterial(options);
|
|
303
|
+
checkPgOption(options.pg);
|
|
290
304
|
const contract = validatePostgresContract(options.contract);
|
|
291
305
|
const stack = createSqlExecutionStack({
|
|
292
306
|
target: postgresTarget,
|
|
@@ -299,20 +313,20 @@ async function supabase(options) {
|
|
|
299
313
|
stack
|
|
300
314
|
});
|
|
301
315
|
checkCollectionClasses(contract, options.collections);
|
|
302
|
-
const
|
|
303
|
-
const toSql = createToSql(stack, contract);
|
|
316
|
+
const { sql: appSql, raw, toSql, enums, nativeEnums } = buildPostgresStaticContext(contract, context, stack);
|
|
304
317
|
const extContract = buildExtensionContract();
|
|
305
318
|
const extContext = createExecutionContext({
|
|
306
319
|
contract: extContract,
|
|
307
320
|
stack
|
|
308
321
|
});
|
|
322
|
+
const extStatic = buildPostgresStaticContext(extContract, extContext, stack);
|
|
309
323
|
let runtimes;
|
|
310
324
|
let connectError;
|
|
311
325
|
let closed = false;
|
|
312
326
|
function getRuntimes() {
|
|
313
327
|
if (connectError !== void 0) throw connectError.error;
|
|
314
|
-
if (closed && runtimes?.ownedPool === void 0) throw closedClientError();
|
|
315
328
|
if (runtimes !== void 0) return runtimes;
|
|
329
|
+
if (closed) throw closedClientError();
|
|
316
330
|
const driverDescriptor = stack.driver;
|
|
317
331
|
if (!driverDescriptor) throw new InternalError("Driver descriptor missing from execution stack");
|
|
318
332
|
const adapter = stack.adapter.create(stack);
|
|
@@ -323,7 +337,8 @@ async function supabase(options) {
|
|
|
323
337
|
...ifDefined("middleware", options.middleware),
|
|
324
338
|
...ifDefined("log", options.log),
|
|
325
339
|
...ifDefined("mode", options.mode),
|
|
326
|
-
closeRefusal: "at-once"
|
|
340
|
+
closeRefusal: "at-once",
|
|
341
|
+
ownsDriver: false
|
|
327
342
|
};
|
|
328
343
|
const runtime = new SupabaseRuntimeImpl({
|
|
329
344
|
context,
|
|
@@ -347,6 +362,7 @@ async function supabase(options) {
|
|
|
347
362
|
runtimes = {
|
|
348
363
|
runtime,
|
|
349
364
|
extRuntime,
|
|
365
|
+
driver,
|
|
350
366
|
ownedPool
|
|
351
367
|
};
|
|
352
368
|
return runtimes;
|
|
@@ -368,99 +384,69 @@ async function supabase(options) {
|
|
|
368
384
|
}
|
|
369
385
|
}
|
|
370
386
|
function buildRoleBoundDb(binding) {
|
|
371
|
-
const
|
|
387
|
+
const role = roleScope(runtime, binding);
|
|
388
|
+
const roleOrm = orm({
|
|
389
|
+
runtime: role,
|
|
372
390
|
context,
|
|
373
|
-
|
|
374
|
-
});
|
|
375
|
-
const roleRaw = createRawLane({
|
|
376
|
-
context,
|
|
377
|
-
rawCodecInferer
|
|
391
|
+
...ifDefined("collections", options.collections)
|
|
378
392
|
});
|
|
379
393
|
const roleBound = {
|
|
380
|
-
sql:
|
|
381
|
-
orm:
|
|
382
|
-
|
|
383
|
-
query(plan) {
|
|
384
|
-
return runtime().queryWithRole(plan, binding);
|
|
385
|
-
},
|
|
386
|
-
execute(plan) {
|
|
387
|
-
return runtime().executeWithRole(plan, binding);
|
|
388
|
-
},
|
|
389
|
-
connection: () => runtime().openRoleSession(binding),
|
|
390
|
-
[activitySource]: lazyActivitySource(() => runtime().roleActivitySource(binding))
|
|
391
|
-
},
|
|
392
|
-
context,
|
|
393
|
-
...ifDefined("collections", options.collections)
|
|
394
|
-
}),
|
|
395
|
-
raw: roleRaw,
|
|
394
|
+
sql: appSql,
|
|
395
|
+
orm: roleOrm,
|
|
396
|
+
raw,
|
|
396
397
|
toSql,
|
|
398
|
+
enums,
|
|
399
|
+
nativeEnums,
|
|
397
400
|
prepare(declaration, callback) {
|
|
398
401
|
return prepareQuery(runtime(), declaration, callback);
|
|
399
402
|
},
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
[preparedStatementExecute]
|
|
404
|
-
return runtime().preparedExecuteWithRole(statement, params, binding, execOptions);
|
|
405
|
-
},
|
|
406
|
-
query(plan, execOptions) {
|
|
407
|
-
return runtime().queryWithRole(plan, binding, execOptions);
|
|
408
|
-
},
|
|
409
|
-
execute(plan, execOptions) {
|
|
410
|
-
return runtime().executeWithRole(plan, binding, execOptions);
|
|
411
|
-
},
|
|
403
|
+
query: role.query,
|
|
404
|
+
execute: role.execute,
|
|
405
|
+
[preparedStatementQuery]: role[preparedStatementQuery],
|
|
406
|
+
[preparedStatementExecute]: role[preparedStatementExecute],
|
|
412
407
|
transaction(fn) {
|
|
413
|
-
return withTransaction(
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
408
|
+
return withTransaction(role, (txCtx) => fn(withTransactionMembers(txCtx, {
|
|
409
|
+
...buildPostgresQueryMembers({
|
|
410
|
+
context,
|
|
411
|
+
collections: options.collections,
|
|
412
|
+
sql: appSql,
|
|
413
|
+
raw,
|
|
414
|
+
toSql,
|
|
415
|
+
prepareRuntime: runtime
|
|
416
|
+
}, txCtx),
|
|
417
|
+
enums,
|
|
418
|
+
nativeEnums
|
|
419
|
+
})));
|
|
420
420
|
}
|
|
421
421
|
};
|
|
422
|
-
return Object.assign(roleBound, { [activitySource]:
|
|
422
|
+
return Object.assign(roleBound, { [activitySource]: role[activitySource] });
|
|
423
423
|
}
|
|
424
424
|
const serviceRoleBinding = {
|
|
425
425
|
role: SupabaseRole.members.ServiceRole,
|
|
426
426
|
claims: {}
|
|
427
427
|
};
|
|
428
|
-
const
|
|
428
|
+
const serviceRole = roleScope(extRuntime, serviceRoleBinding);
|
|
429
429
|
const supabaseInternal = {
|
|
430
|
-
sql: sql
|
|
431
|
-
|
|
432
|
-
rawCodecInferer
|
|
433
|
-
}),
|
|
434
|
-
toSql: createToSql(stack, extContract),
|
|
430
|
+
sql: extStatic.sql,
|
|
431
|
+
toSql: extStatic.toSql,
|
|
435
432
|
orm: orm({
|
|
436
|
-
runtime:
|
|
437
|
-
query(plan) {
|
|
438
|
-
return extRuntime().queryWithRole(plan, serviceRoleBinding);
|
|
439
|
-
},
|
|
440
|
-
execute(plan) {
|
|
441
|
-
return extRuntime().executeWithRole(plan, serviceRoleBinding);
|
|
442
|
-
},
|
|
443
|
-
connection: () => extRuntime().openRoleSession(serviceRoleBinding),
|
|
444
|
-
[activitySource]: lazyActivitySource(() => extRuntime().roleActivitySource(serviceRoleBinding))
|
|
445
|
-
},
|
|
433
|
+
runtime: serviceRole,
|
|
446
434
|
context: extContext
|
|
447
435
|
}),
|
|
448
|
-
nativeEnums:
|
|
449
|
-
query
|
|
450
|
-
|
|
451
|
-
},
|
|
452
|
-
execute(plan, execOptions) {
|
|
453
|
-
return extRuntime().executeWithRole(plan, serviceRoleBinding, execOptions);
|
|
454
|
-
}
|
|
436
|
+
nativeEnums: extStatic.nativeEnums,
|
|
437
|
+
query: serviceRole.query,
|
|
438
|
+
execute: serviceRole.execute
|
|
455
439
|
};
|
|
456
440
|
let closePromise;
|
|
457
|
-
async function
|
|
458
|
-
if (runtimes
|
|
459
|
-
|
|
441
|
+
async function closeRuntimes() {
|
|
442
|
+
if (runtimes === void 0) return;
|
|
443
|
+
const { runtime, extRuntime, driver, ownedPool } = runtimes;
|
|
444
|
+
await Promise.all([runtime.close(), extRuntime.close()]);
|
|
445
|
+
if (ownedPool !== void 0) await driver.close();
|
|
460
446
|
}
|
|
461
447
|
function closeDb() {
|
|
462
448
|
closed = true;
|
|
463
|
-
closePromise ??=
|
|
449
|
+
closePromise ??= closeRuntimes();
|
|
464
450
|
return closePromise;
|
|
465
451
|
}
|
|
466
452
|
return {
|
package/dist/runtime.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.mjs","names":[],"sources":["../../../../3-extensions/supabase/dist/runtime.mjs"],"sourcesContent":["import { n as version, t as contract_default } from \"./contract-SXP6C0cn.mjs\";\nimport { a as isSupabaseRole, n as SupabaseRole, t as SUPABASE_JWT_ROLE_CLAIM } from \"./roles-9Ql17Kbb.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport postgresAdapter from \"@internal/adapter-postgres/runtime\";\nimport postgresDriver, { suppressIdleConnectionErrors } from \"@internal/driver-postgres/runtime\";\nimport { buildPostgresQueryMembers } from \"@internal/postgres/internal/transaction-members\";\nimport { validatePostgresContract } from \"@internal/postgres/internal/validate-contract\";\nimport { PostgresRuntimeImpl, buildNamespacedNativeEnums, isPgPool } from \"@internal/postgres/runtime\";\nimport { createRawLane, sql } from \"@internal/sql-builder/runtime\";\nimport { checkCollectionClasses, orm, prepareQuery } from \"@internal/sql-orm-client\";\nimport { activitySource, createExecutionContext, createSqlExecutionStack, createToSql, lazyActivitySource, withTransaction, withTransactionMembers } from \"@internal/sql-runtime\";\nimport { createTransactionStart, preparedStatementExecute, preparedStatementQuery, transactionStart } from \"@internal/sql-runtime/internal/prepared-query\";\nimport postgresTarget, { PostgresContractSerializer } from \"@internal/target-postgres/runtime\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { createRemoteJWKSet, decodeProtectedHeader, jwtVerify } from \"jose\";\nimport { Pool } from \"pg\";\nimport { AsyncIterableResult } from \"@internal/framework-components/runtime\";\n//#region src/runtime/descriptor.ts\n/**\n* Tells the runtime that the Supabase pack's runtime component is available.\n*\n* When a contract declares the Supabase pack, the runtime checks that a\n* matching descriptor has been registered. Without this, loading a Supabase\n* contract errors with \"pack runtime component missing\". The `supabase()`\n* factory registers this descriptor automatically — app code never needs to\n* reference it directly.\n*/\nconst supabaseRuntimeDescriptor = {\n\tkind: \"extension\",\n\tid: \"supabase\",\n\tversion,\n\tfamilyId: \"sql\",\n\ttargetId: \"postgres\",\n\tcodecs: () => [],\n\tcreate() {\n\t\treturn {\n\t\t\tfamilyId: \"sql\",\n\t\t\ttargetId: \"postgres\"\n\t\t};\n\t}\n};\n//#endregion\n//#region src/runtime/supabase-errors.ts\nfunction supabaseError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/runtime/supabase-runtime.ts\nvar SupabaseRuntimeImpl = class extends PostgresRuntimeImpl {\n\t/**\n\t* Opens a raw connection and applies role + JWT claims via session-scoped set_config.\n\t* On bind failure, destroys the connection before rethrowing — no leaked connections.\n\t* Not on the `SupabaseRuntime` interface; consumed by the facade, not by app code.\n\t*/\n\tasync openRoleSession(binding) {\n\t\treturn (await this.openRoleConnection(binding)).session;\n\t}\n\tasync openRoleConnection(binding) {\n\t\tconst conn = await this.acquireRawConnection();\n\t\ttry {\n\t\t\tawait conn.execute({\n\t\t\t\tsql: \"SELECT set_config($1, $2, false)\",\n\t\t\t\tparams: [\"role\", binding.role]\n\t\t\t});\n\t\t\tawait conn.execute({\n\t\t\t\tsql: \"SELECT set_config($1, $2, false)\",\n\t\t\t\tparams: [\"request.jwt.claims\", JSON.stringify(binding.claims ?? {})]\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tawait conn.destroy(err).catch(() => void 0);\n\t\t\tthrow err;\n\t\t}\n\t\tconst self = this;\n\t\tconst session = {\n\t\t\t[transactionStart]: createTransactionStart(),\n\t\t\t[activitySource]: self.connectionActivitySource(conn, () => session),\n\t\t\tquery(plan, options) {\n\t\t\t\treturn self.queryAgainstQueryable(plan, conn, {\n\t\t\t\t\t...options,\n\t\t\t\t\tscope: \"connection\"\n\t\t\t\t});\n\t\t\t},\n\t\t\texecute(plan, options) {\n\t\t\t\treturn self.executeStatisticsAgainstQueryable(plan, conn, {\n\t\t\t\t\t...options,\n\t\t\t\t\tscope: \"connection\"\n\t\t\t\t});\n\t\t\t},\n\t\t\t[preparedStatementQuery](prepared, params, options) {\n\t\t\t\treturn self.runPreparedQueryAgainstRoleQueryable(prepared, params, conn, options);\n\t\t\t},\n\t\t\t[preparedStatementExecute](prepared, params, options) {\n\t\t\t\treturn self.runPreparedExecuteAgainstRoleQueryable(prepared, params, conn, options);\n\t\t\t},\n\t\t\tasync transaction() {\n\t\t\t\treturn self.beginTransactionOn(conn, session, void 0);\n\t\t\t},\n\t\t\t/**\n\t\t\t* Resets all session-local config then releases the connection back to the pool.\n\t\t\t* If RESET ALL fails, destroys the connection instead — pool-poisoning guarantee.\n\t\t\t*/\n\t\t\tasync release() {\n\t\t\t\ttry {\n\t\t\t\t\tawait conn.execute({ sql: \"RESET ALL\" });\n\t\t\t\t\tawait conn.release();\n\t\t\t\t} catch (resetError) {\n\t\t\t\t\tawait conn.destroy(resetError).catch(() => void 0);\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync destroy(reason) {\n\t\t\t\tawait conn.destroy(reason);\n\t\t\t}\n\t\t};\n\t\treturn {\n\t\t\tconn,\n\t\t\tsession\n\t\t};\n\t}\n\t/** The activity source the facade gives the role-bound ORM: activities whose statements and transaction run on role sessions bound to `binding`, and content hashes at the `'connection'` scope role sessions run at. Not on the `SupabaseRuntime` interface. */\n\troleActivitySource(binding) {\n\t\treturn {\n\t\t\tstartActivity: (activity) => this.startActivityOnRoute(this.roleRoute(binding), activity, void 0),\n\t\t\tplanContentHash: (plan) => this.planContentHashFor(plan, \"connection\", void 0)\n\t\t};\n\t}\n\troleRoute(binding) {\n\t\treturn {\n\t\t\tscope: \"connection\",\n\t\t\tparent: () => void 0,\n\t\t\truntimeWork: true,\n\t\t\tquery: (plan, options) => this.streamOnRoleSession(binding, (session) => session.query(plan, options)),\n\t\t\texecute: (plan, options) => this.executeWithRole(plan, binding, options),\n\t\t\tpreparedQuery: (statement, params, options) => this.streamOnRoleSession(binding, (session) => session[preparedStatementQuery](statement, params, options)),\n\t\t\tpreparedExecute: (statement, params, options) => this.executeOnRoleSession(binding, (session) => session[preparedStatementExecute](statement, params, options)),\n\t\t\ttransaction: (parent) => this.beginRoleTransaction(binding, parent)\n\t\t};\n\t}\n\tasync beginRoleTransaction(binding, parent) {\n\t\tconst { conn, session } = await this.openRoleConnection(binding);\n\t\treturn this.ownTransaction(session, () => this.beginTransactionOn(conn, session, parent));\n\t}\n\t/**\n\t* Opens a role session, queries the plan, then releases after the stream drains.\n\t* On mid-stream error, destroys the session instead of releasing.\n\t*/\n\tqueryWithRole(plan, binding, options) {\n\t\treturn this.streamOnRoleSession(binding, (session) => session.query(plan, options));\n\t}\n\texecuteWithRole(plan, binding, options) {\n\t\treturn this.executeOnRoleSession(binding, (session) => session.execute(plan, options));\n\t}\n\t/** Runs a prepared statement on a role session, as a role-bound query runs. */\n\tpreparedQueryWithRole(statement, params, binding, options) {\n\t\treturn this.streamOnRoleSession(binding, (session) => session[preparedStatementQuery](statement, params, options));\n\t}\n\t/** Runs a prepared statement that reports affected rows on a role session. */\n\tpreparedExecuteWithRole(statement, params, binding, options) {\n\t\treturn this.executeOnRoleSession(binding, (session) => session[preparedStatementExecute](statement, params, options));\n\t}\n\tstreamOnRoleSession(binding, rows) {\n\t\tconst self = this;\n\t\tconst generator = async function* () {\n\t\t\tconst { session } = await self.openRoleConnection(binding);\n\t\t\tlet errored = false;\n\t\t\ttry {\n\t\t\t\tfor await (const row of rows(session)) yield row;\n\t\t\t} catch (err) {\n\t\t\t\terrored = true;\n\t\t\t\tawait session.destroy(err).catch(() => void 0);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tif (!errored) await session.release();\n\t\t\t}\n\t\t};\n\t\treturn new AsyncIterableResult(generator());\n\t}\n\tasync executeOnRoleSession(binding, run) {\n\t\tconst { session } = await this.openRoleConnection(binding);\n\t\ttry {\n\t\t\tconst stats = await run(session);\n\t\t\tawait session.release();\n\t\t\treturn stats;\n\t\t} catch (err) {\n\t\t\tawait session.destroy(err).catch(() => void 0);\n\t\t\tthrow err;\n\t\t}\n\t}\n\trunPreparedExecuteAgainstRoleQueryable(prepared, params, queryable, options) {\n\t\treturn this.runPreparedExecuteAgainstQueryable(blindCast(prepared), blindCast(params), queryable, {\n\t\t\t...options,\n\t\t\tscope: \"connection\"\n\t\t});\n\t}\n\trunPreparedQueryAgainstRoleQueryable(prepared, params, queryable, options) {\n\t\treturn this.runPreparedQueryAgainstQueryable(blindCast(prepared), blindCast(params), queryable, {\n\t\t\t...options,\n\t\t\tscope: \"connection\"\n\t\t});\n\t}\n};\n//#endregion\n//#region src/runtime/supabase.ts\nconst contractSerializer = new PostgresContractSerializer();\nfunction closedClientError() {\n\treturn structuredError(\"DRIVER.NOT_CONNECTED\", \"Supabase client is closed\", {\n\t\twhy: \"close() was called on this client.\",\n\t\tfix: \"Create a new supabase(...) client.\",\n\t\tmeta: { extension: \"supabase\" }\n\t});\n}\nfunction resolveKeyMaterial(options) {\n\tconst jwtSecret = \"jwtSecret\" in options ? options.jwtSecret : void 0;\n\tconst jwksUrl = \"jwksUrl\" in options ? options.jwksUrl : void 0;\n\tif (jwtSecret !== void 0 && jwksUrl !== void 0) throw supabaseError(\"SUPABASE.CONFIG_INVALID\", \"Provide either jwtSecret or jwksUrl, not both\", { meta: { reason: \"both jwtSecret and jwksUrl provided\" } });\n\tif (jwtSecret !== void 0) return {\n\t\tkind: \"secret\",\n\t\tkey: new TextEncoder().encode(jwtSecret)\n\t};\n\tif (jwksUrl !== void 0) return {\n\t\tkind: \"jwks\",\n\t\tkeyset: createRemoteJWKSet(new URL(jwksUrl))\n\t};\n\tthrow supabaseError(\"SUPABASE.CONFIG_INVALID\", \"Either jwtSecret or jwksUrl is required\", { meta: { reason: \"neither jwtSecret nor jwksUrl provided\" } });\n}\n/**\n* Pre-verification check that the token's signing algorithm can possibly\n* match the configured key material. Without it the mismatch surfaces as a\n* jose internal (\"Key for the ES256 algorithm must be one of type\n* CryptoKey... Received an instance of Uint8Array\") that never names the\n* actual problem: current Supabase projects sign ES256 via JWKS by default,\n* while `supabase status` still prints a JWT_SECRET that only fits legacy\n* HS256 projects. Returns `undefined` when the pairing is plausible or the\n* header is unreadable (jwtVerify then produces the canonical error).\n*/\nfunction algKeyMismatchReason(jwt, kind) {\n\tlet alg;\n\ttry {\n\t\talg = decodeProtectedHeader(jwt).alg;\n\t} catch {\n\t\treturn;\n\t}\n\tif (alg === void 0) return void 0;\n\tconst asymmetric = /^(?:ES|RS|PS)\\d{3}$/.test(alg) || alg === \"EdDSA\" || alg === \"Ed25519\";\n\tif (kind === \"secret\" && asymmetric) return `token is signed with ${alg} but this client is configured with jwtSecret (HS256). Current Supabase projects sign with asymmetric keys by default — configure jwksUrl (https://<project>/auth/v1/.well-known/jwks.json) instead of jwtSecret.`;\n\tif (kind === \"jwks\" && alg.startsWith(\"HS\")) return `token is signed with ${alg} (a symmetric algorithm) but this client is configured with jwksUrl. A legacy HS256 Supabase project needs jwtSecret (the JWT_SECRET from \\`supabase status\\`) instead of jwksUrl.`;\n}\nfunction toPool(options) {\n\tif (options.pg !== void 0 && isPgPool(options.pg)) return {\n\t\tpool: options.pg,\n\t\towned: false\n\t};\n\tif (typeof options.url === \"string\") return {\n\t\tpool: suppressIdleConnectionErrors(new Pool({\n\t\t\tconnectionString: options.url,\n\t\t\tconnectionTimeoutMillis: options.poolOptions?.connectionTimeoutMillis ?? 2e4,\n\t\t\tidleTimeoutMillis: options.poolOptions?.idleTimeoutMillis ?? 3e4\n\t\t})),\n\t\towned: true\n\t};\n}\nfunction withSupabaseDescriptor(extensions) {\n\tconst packs = extensions ?? [];\n\treturn packs.some((pack) => pack.id === supabaseRuntimeDescriptor.id) ? packs : [...packs, supabaseRuntimeDescriptor];\n}\n/**\n* Deserializes the Supabase extension's own emitted contract into a runtime\n* contract: namespaces hydrate into `PostgresSchema` instances (with\n* `qualifyTable`), and each column resolves its codec through the codec\n* registry. Exposed only via `service_role`'s `.supabase`\n* secondary root — never merged into the app contract.\n*/\nfunction buildExtensionContract() {\n\treturn blindCast(contractSerializer.deserializeContract(contract_default));\n}\n/**\n* Creates a Supabase client whose queries run as the role a JWT names. The client infers its\n* contract type from `contract`: a value from `contractFromJson` of `@prisma/orm-postgres/static`\n* for an emitted contract, or a TypeScript-authored contract. A contract is validated once, however\n* many clients are built from it. The pool is created on the first query.\n*\n* @example\n* ```ts\n* import { contractFromJson } from '@prisma/orm-postgres/static';\n* import { supabase } from '@prisma/orm-extension-supabase/runtime';\n* import type { Contract } from './contract.d';\n* import contractJson from './contract.json' with { type: 'json' };\n*\n* export const contract = contractFromJson<Contract>(contractJson);\n* export const db = await supabase({ contract, url, jwtSecret });\n* ```\n*/\nasync function supabase(options) {\n\tconst keyMaterial = resolveKeyMaterial(options);\n\tconst contract = validatePostgresContract(options.contract);\n\tconst stack = createSqlExecutionStack({\n\t\ttarget: postgresTarget,\n\t\tadapter: postgresAdapter,\n\t\tdriver: postgresDriver,\n\t\textensions: withSupabaseDescriptor(options.extensions)\n\t});\n\tconst context = createExecutionContext({\n\t\tcontract,\n\t\tstack\n\t});\n\tcheckCollectionClasses(contract, options.collections);\n\tconst rawCodecInferer = stack.adapter.rawCodecInferer;\n\tconst toSql = createToSql(stack, contract);\n\tconst extContract = buildExtensionContract();\n\tconst extContext = createExecutionContext({\n\t\tcontract: extContract,\n\t\tstack\n\t});\n\tlet runtimes;\n\tlet connectError;\n\tlet closed = false;\n\tfunction getRuntimes() {\n\t\tif (connectError !== void 0) throw connectError.error;\n\t\tif (closed && runtimes?.ownedPool === void 0) throw closedClientError();\n\t\tif (runtimes !== void 0) return runtimes;\n\t\tconst driverDescriptor = stack.driver;\n\t\tif (!driverDescriptor) throw new InternalError(\"Driver descriptor missing from execution stack\");\n\t\tconst adapter = stack.adapter.create(stack);\n\t\tconst driver = driverDescriptor.create({ cursor: { disabled: true } });\n\t\tconst sharedOptions = {\n\t\t\tadapter,\n\t\t\tdriver,\n\t\t\t...ifDefined(\"middleware\", options.middleware),\n\t\t\t...ifDefined(\"log\", options.log),\n\t\t\t...ifDefined(\"mode\", options.mode),\n\t\t\tcloseRefusal: \"at-once\"\n\t\t};\n\t\tconst runtime = new SupabaseRuntimeImpl({\n\t\t\tcontext,\n\t\t\t...sharedOptions,\n\t\t\t...ifDefined(\"verifyMarker\", options.verifyMarker)\n\t\t});\n\t\tconst extRuntime = new SupabaseRuntimeImpl({\n\t\t\tcontext: extContext,\n\t\t\t...sharedOptions,\n\t\t\tverifyMarker: false\n\t\t});\n\t\tconst poolEntry = toPool(options);\n\t\tconst ownedPool = poolEntry?.owned ? poolEntry.pool : void 0;\n\t\tif (poolEntry) driver.connect({\n\t\t\tkind: \"pgPool\",\n\t\t\tpool: poolEntry.pool\n\t\t}).catch(async (err) => {\n\t\t\tconnectError = { error: err };\n\t\t\tawait ownedPool?.end().catch(() => void 0);\n\t\t});\n\t\truntimes = {\n\t\t\truntime,\n\t\t\textRuntime,\n\t\t\townedPool\n\t\t};\n\t\treturn runtimes;\n\t}\n\tconst runtime = () => getRuntimes().runtime;\n\tconst extRuntime = () => getRuntimes().extRuntime;\n\tasync function verifyJwt(jwt) {\n\t\tconst mismatch = algKeyMismatchReason(jwt, keyMaterial.kind);\n\t\tif (mismatch !== void 0) throw supabaseError(\"SUPABASE.JWT_INVALID\", `Invalid JWT: ${mismatch}`, { meta: { reason: mismatch } });\n\t\ttry {\n\t\t\tif (keyMaterial.kind === \"secret\") return await jwtVerify(jwt, keyMaterial.key);\n\t\t\treturn await jwtVerify(jwt, keyMaterial.keyset);\n\t\t} catch (err) {\n\t\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\t\tthrow supabaseError(\"SUPABASE.JWT_INVALID\", `Invalid JWT: ${reason}`, {\n\t\t\t\tmeta: { reason },\n\t\t\t\tcause: err\n\t\t\t});\n\t\t}\n\t}\n\tfunction buildRoleBoundDb(binding) {\n\t\tconst roleSql = sql({\n\t\t\tcontext,\n\t\t\trawCodecInferer\n\t\t});\n\t\tconst roleRaw = createRawLane({\n\t\t\tcontext,\n\t\t\trawCodecInferer\n\t\t});\n\t\tconst roleBound = {\n\t\t\tsql: roleSql,\n\t\t\torm: orm({\n\t\t\t\truntime: {\n\t\t\t\t\tquery(plan) {\n\t\t\t\t\t\treturn runtime().queryWithRole(plan, binding);\n\t\t\t\t\t},\n\t\t\t\t\texecute(plan) {\n\t\t\t\t\t\treturn runtime().executeWithRole(plan, binding);\n\t\t\t\t\t},\n\t\t\t\t\tconnection: () => runtime().openRoleSession(binding),\n\t\t\t\t\t[activitySource]: lazyActivitySource(() => runtime().roleActivitySource(binding))\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t\t...ifDefined(\"collections\", options.collections)\n\t\t\t}),\n\t\t\traw: roleRaw,\n\t\t\ttoSql,\n\t\t\tprepare(declaration, callback) {\n\t\t\t\treturn prepareQuery(runtime(), declaration, callback);\n\t\t\t},\n\t\t\t[preparedStatementQuery](statement, params, execOptions) {\n\t\t\t\treturn runtime().preparedQueryWithRole(statement, params, binding, execOptions);\n\t\t\t},\n\t\t\t[preparedStatementExecute](statement, params, execOptions) {\n\t\t\t\treturn runtime().preparedExecuteWithRole(statement, params, binding, execOptions);\n\t\t\t},\n\t\t\tquery(plan, execOptions) {\n\t\t\t\treturn runtime().queryWithRole(plan, binding, execOptions);\n\t\t\t},\n\t\t\texecute(plan, execOptions) {\n\t\t\t\treturn runtime().executeWithRole(plan, binding, execOptions);\n\t\t\t},\n\t\t\ttransaction(fn) {\n\t\t\t\treturn withTransaction({ connection: () => runtime().openRoleSession(binding) }, (txCtx) => fn(withTransactionMembers(txCtx, buildPostgresQueryMembers({\n\t\t\t\t\tcontext,\n\t\t\t\t\tcollections: options.collections,\n\t\t\t\t\trawCodecInferer,\n\t\t\t\t\ttoSql,\n\t\t\t\t\tprepareRuntime: runtime\n\t\t\t\t}, txCtx))));\n\t\t\t}\n\t\t};\n\t\treturn Object.assign(roleBound, { [activitySource]: lazyActivitySource(() => runtime().roleActivitySource(binding)) });\n\t}\n\tconst serviceRoleBinding = {\n\t\trole: SupabaseRole.members.ServiceRole,\n\t\tclaims: {}\n\t};\n\tconst extNativeEnums = blindCast(Object.freeze(buildNamespacedNativeEnums(extContract.storage, extContract.domain)));\n\tconst supabaseInternal = {\n\t\tsql: sql({\n\t\t\tcontext: extContext,\n\t\t\trawCodecInferer\n\t\t}),\n\t\ttoSql: createToSql(stack, extContract),\n\t\torm: orm({\n\t\t\truntime: {\n\t\t\t\tquery(plan) {\n\t\t\t\t\treturn extRuntime().queryWithRole(plan, serviceRoleBinding);\n\t\t\t\t},\n\t\t\t\texecute(plan) {\n\t\t\t\t\treturn extRuntime().executeWithRole(plan, serviceRoleBinding);\n\t\t\t\t},\n\t\t\t\tconnection: () => extRuntime().openRoleSession(serviceRoleBinding),\n\t\t\t\t[activitySource]: lazyActivitySource(() => extRuntime().roleActivitySource(serviceRoleBinding))\n\t\t\t},\n\t\t\tcontext: extContext\n\t\t}),\n\t\tnativeEnums: extNativeEnums,\n\t\tquery(plan, execOptions) {\n\t\t\treturn extRuntime().queryWithRole(plan, serviceRoleBinding, execOptions);\n\t\t},\n\t\texecute(plan, execOptions) {\n\t\t\treturn extRuntime().executeWithRole(plan, serviceRoleBinding, execOptions);\n\t\t}\n\t};\n\tlet closePromise;\n\tasync function closeOwnedRuntime() {\n\t\tif (runtimes?.ownedPool === void 0) return;\n\t\tawait runtimes.runtime.close();\n\t}\n\tfunction closeDb() {\n\t\tclosed = true;\n\t\tclosePromise ??= closeOwnedRuntime();\n\t\treturn closePromise;\n\t}\n\treturn {\n\t\tcontext,\n\t\tstack,\n\t\tasync asUser(jwt) {\n\t\t\tconst { payload } = await verifyJwt(jwt);\n\t\t\tconst rawRole = payload[SUPABASE_JWT_ROLE_CLAIM];\n\t\t\tconst roleStr = typeof rawRole === \"string\" ? rawRole : SupabaseRole.members.Authenticated;\n\t\t\treturn buildRoleBoundDb({\n\t\t\t\trole: isSupabaseRole(roleStr) ? roleStr : SupabaseRole.members.Authenticated,\n\t\t\t\tclaims: payload\n\t\t\t});\n\t\t},\n\t\tasAnon() {\n\t\t\treturn buildRoleBoundDb({\n\t\t\t\trole: SupabaseRole.members.Anon,\n\t\t\t\tclaims: {}\n\t\t\t});\n\t\t},\n\t\tasServiceRole() {\n\t\t\treturn {\n\t\t\t\t...buildRoleBoundDb(serviceRoleBinding),\n\t\t\t\tsupabase: supabaseInternal\n\t\t\t};\n\t\t},\n\t\tclose: closeDb,\n\t\t[Symbol.asyncDispose]: closeDb\n\t};\n}\n//#endregion\n//#region src/exports/runtime.ts\nvar runtime_default = supabaseRuntimeDescriptor;\n//#endregion\nexport { SupabaseRuntimeImpl, runtime_default as default, supabase };\n\n//# sourceMappingURL=runtime.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.mjs","names":[],"sources":["../../../../3-extensions/supabase/dist/runtime.mjs"],"sourcesContent":["import { n as version, t as contract_default } from \"./contract-CjZU4jSN.mjs\";\nimport { a as isSupabaseRole, n as SupabaseRole, t as SUPABASE_JWT_ROLE_CLAIM } from \"./roles-9Ql17Kbb.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport postgresAdapter from \"@internal/adapter-postgres/runtime\";\nimport postgresDriver, { suppressIdleConnectionErrors } from \"@internal/driver-postgres/runtime\";\nimport { buildPostgresStaticContext } from \"@internal/postgres/internal/static-context\";\nimport { buildPostgresQueryMembers } from \"@internal/postgres/internal/transaction-members\";\nimport { validatePostgresContract } from \"@internal/postgres/internal/validate-contract\";\nimport { PostgresRuntimeImpl, isPgPool } from \"@internal/postgres/runtime\";\nimport { checkCollectionClasses, orm, prepareQuery } from \"@internal/sql-orm-client\";\nimport { activitySource, createExecutionContext, createSqlExecutionStack, withTransaction, withTransactionMembers } from \"@internal/sql-runtime\";\nimport { createTransactionStart, preparedStatementExecute, preparedStatementQuery, transactionStart } from \"@internal/sql-runtime/internal/prepared-query\";\nimport postgresTarget, { PostgresContractSerializer } from \"@internal/target-postgres/runtime\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { createRemoteJWKSet, decodeProtectedHeader, jwtVerify } from \"jose\";\nimport { Pool } from \"pg\";\nimport { AsyncIterableResult } from \"@internal/framework-components/runtime\";\n//#region src/runtime/descriptor.ts\n/**\n* Tells the runtime that the Supabase pack's runtime component is available.\n*\n* When a contract declares the Supabase pack, the runtime checks that a\n* matching descriptor has been registered. Without this, loading a Supabase\n* contract errors with \"pack runtime component missing\". The `supabase()`\n* factory registers this descriptor automatically — app code never needs to\n* reference it directly.\n*/\nconst supabaseRuntimeDescriptor = {\n\tkind: \"extension\",\n\tid: \"supabase\",\n\tversion,\n\tfamilyId: \"sql\",\n\ttargetId: \"postgres\",\n\tcodecs: () => [],\n\tcreate() {\n\t\treturn {\n\t\t\tfamilyId: \"sql\",\n\t\t\ttargetId: \"postgres\"\n\t\t};\n\t}\n};\n//#endregion\n//#region src/runtime/supabase-errors.ts\nfunction supabaseError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/runtime/supabase-runtime.ts\nlet buildRoleScope;\n/**\n* The operations under `binding` of the runtime `runtime()` returns. Each operation calls `runtime()` when it runs, so a client can build its role scope before its runtime exists; when `runtime()` throws, the operation rejects. For the facade only; the package entry does not export it.\n*/\nfunction roleScope(runtime, binding) {\n\treturn buildRoleScope(runtime, binding);\n}\nvar SupabaseRuntimeImpl = class extends PostgresRuntimeImpl {\n\t/**\n\t* Opens a raw connection and applies role + JWT claims via session-scoped set_config. On bind failure, destroys the connection before rethrowing — no leaked connections. Every operation of `forRole(binding)` runs on a session opened here.\n\t*/\n\tasync openRoleSession(binding) {\n\t\treturn (await this.openRoleConnection(binding)).session;\n\t}\n\tasync openRoleConnection(binding, options) {\n\t\tconst conn = await this.acquireRawConnection(options);\n\t\ttry {\n\t\t\tawait conn.execute({\n\t\t\t\tsql: \"SELECT set_config($1, $2, false)\",\n\t\t\t\tparams: [\"role\", binding.role]\n\t\t\t});\n\t\t\tawait conn.execute({\n\t\t\t\tsql: \"SELECT set_config($1, $2, false)\",\n\t\t\t\tparams: [\"request.jwt.claims\", JSON.stringify(binding.claims ?? {})]\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tawait conn.destroy(err).catch(() => void 0);\n\t\t\tthrow err;\n\t\t}\n\t\tconst self = this;\n\t\tconst session = {\n\t\t\t[transactionStart]: createTransactionStart(),\n\t\t\t[activitySource]: self.connectionActivitySource(conn, () => session),\n\t\t\tquery(plan, options) {\n\t\t\t\treturn self.queryAgainstQueryable(plan, conn, {\n\t\t\t\t\t...options,\n\t\t\t\t\tscope: \"connection\"\n\t\t\t\t});\n\t\t\t},\n\t\t\texecute(plan, options) {\n\t\t\t\treturn self.executeStatisticsAgainstQueryable(plan, conn, {\n\t\t\t\t\t...options,\n\t\t\t\t\tscope: \"connection\"\n\t\t\t\t});\n\t\t\t},\n\t\t\t[preparedStatementQuery](prepared, params, options) {\n\t\t\t\treturn self.runPreparedQueryAgainstRoleQueryable(prepared, params, conn, options);\n\t\t\t},\n\t\t\t[preparedStatementExecute](prepared, params, options) {\n\t\t\t\treturn self.runPreparedExecuteAgainstRoleQueryable(prepared, params, conn, options);\n\t\t\t},\n\t\t\tasync transaction() {\n\t\t\t\treturn self.beginTransactionOn(conn, session, void 0);\n\t\t\t},\n\t\t\t/**\n\t\t\t* Resets all session-local config then releases the connection back to the pool.\n\t\t\t* If RESET ALL fails, destroys the connection instead — pool-poisoning guarantee.\n\t\t\t*/\n\t\t\tasync release() {\n\t\t\t\ttry {\n\t\t\t\t\tawait conn.execute({ sql: \"RESET ALL\" });\n\t\t\t\t\tawait conn.release();\n\t\t\t\t} catch (resetError) {\n\t\t\t\t\tawait conn.destroy(resetError).catch(() => void 0);\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync destroy(reason) {\n\t\t\t\tawait conn.destroy(reason);\n\t\t\t}\n\t\t};\n\t\treturn {\n\t\t\tconn,\n\t\t\tsession\n\t\t};\n\t}\n\tforRole(binding) {\n\t\treturn buildRoleScope(() => this, binding);\n\t}\n\tstatic {\n\t\tbuildRoleScope = (runtime, binding) => {\n\t\t\tconst open = (options) => async () => (await runtime().openRoleConnection(binding, options)).session;\n\t\t\tconst scope = {\n\t\t\t\tquery(plan, options) {\n\t\t\t\t\treturn streamOnSession(open(options), (session) => session.query(plan, options));\n\t\t\t\t},\n\t\t\t\texecute(plan, options) {\n\t\t\t\t\treturn executeOnSession(open(options), (session) => session.execute(plan, options));\n\t\t\t\t},\n\t\t\t\t[preparedStatementQuery](statement, params, options) {\n\t\t\t\t\treturn streamOnSession(open(options), (session) => session[preparedStatementQuery](statement, params, options));\n\t\t\t\t},\n\t\t\t\t[preparedStatementExecute](statement, params, options) {\n\t\t\t\t\treturn executeOnSession(open(options), (session) => session[preparedStatementExecute](statement, params, options));\n\t\t\t\t},\n\t\t\t\tconnection: open(void 0),\n\t\t\t\t[activitySource]: {\n\t\t\t\t\tstartActivity: async (activity) => runtime().startActivityOnRoute(route, activity, void 0),\n\t\t\t\t\tplanContentHash: async (plan) => runtime().planContentHashFor(plan, \"connection\", void 0)\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst route = {\n\t\t\t\tscope: \"connection\",\n\t\t\t\tparent: () => void 0,\n\t\t\t\truntimeWork: true,\n\t\t\t\tquery: (plan, options) => scope.query(plan, options),\n\t\t\t\texecute: (plan, options) => scope.execute(plan, options),\n\t\t\t\tpreparedQuery: (statement, params, options) => scope[preparedStatementQuery](statement, params, options),\n\t\t\t\tpreparedExecute: (statement, params, options) => scope[preparedStatementExecute](statement, params, options),\n\t\t\t\ttransaction: (parent) => runtime().beginRoleTransaction(binding, parent)\n\t\t\t};\n\t\t\treturn scope;\n\t\t};\n\t}\n\tasync beginRoleTransaction(binding, parent) {\n\t\tconst { conn, session } = await this.openRoleConnection(binding, { activityParent: parent });\n\t\treturn this.ownTransaction(session, () => this.beginTransactionOn(conn, session, parent));\n\t}\n\trunPreparedExecuteAgainstRoleQueryable(prepared, params, queryable, options) {\n\t\treturn this.runPreparedExecuteAgainstQueryable(blindCast(prepared), blindCast(params), queryable, {\n\t\t\t...options,\n\t\t\tscope: \"connection\"\n\t\t});\n\t}\n\trunPreparedQueryAgainstRoleQueryable(prepared, params, queryable, options) {\n\t\treturn this.runPreparedQueryAgainstQueryable(blindCast(prepared), blindCast(params), queryable, {\n\t\t\t...options,\n\t\t\tscope: \"connection\"\n\t\t});\n\t}\n};\nfunction streamOnSession(open, rows) {\n\tconst generator = async function* () {\n\t\tconst session = await open();\n\t\tlet errored = false;\n\t\ttry {\n\t\t\tfor await (const row of rows(session)) yield row;\n\t\t} catch (err) {\n\t\t\terrored = true;\n\t\t\tawait session.destroy(err).catch(() => void 0);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (!errored) await session.release();\n\t\t}\n\t};\n\treturn new AsyncIterableResult(generator());\n}\nasync function executeOnSession(open, run) {\n\tconst session = await open();\n\ttry {\n\t\tconst stats = await run(session);\n\t\tawait session.release();\n\t\treturn stats;\n\t} catch (err) {\n\t\tawait session.destroy(err).catch(() => void 0);\n\t\tthrow err;\n\t}\n}\n//#endregion\n//#region src/runtime/supabase.ts\nconst contractSerializer = new PostgresContractSerializer();\nfunction closedClientError() {\n\treturn structuredError(\"DRIVER.NOT_CONNECTED\", \"Runtime is closed\", {\n\t\twhy: \"close() was called on this client.\",\n\t\tfix: \"Create a new supabase(...) client.\",\n\t\tmeta: { extension: \"supabase\" }\n\t});\n}\nfunction resolveKeyMaterial(options) {\n\tconst jwtSecret = \"jwtSecret\" in options ? options.jwtSecret : void 0;\n\tconst jwksUrl = \"jwksUrl\" in options ? options.jwksUrl : void 0;\n\tif (jwtSecret !== void 0 && jwksUrl !== void 0) throw supabaseError(\"SUPABASE.CONFIG_INVALID\", \"Provide either jwtSecret or jwksUrl, not both\", { meta: { reason: \"both jwtSecret and jwksUrl provided\" } });\n\tif (jwtSecret !== void 0) return {\n\t\tkind: \"secret\",\n\t\tkey: new TextEncoder().encode(jwtSecret)\n\t};\n\tif (jwksUrl !== void 0) return {\n\t\tkind: \"jwks\",\n\t\tkeyset: createRemoteJWKSet(new URL(jwksUrl))\n\t};\n\tthrow supabaseError(\"SUPABASE.CONFIG_INVALID\", \"Either jwtSecret or jwksUrl is required\", { meta: { reason: \"neither jwtSecret nor jwksUrl provided\" } });\n}\n/**\n* Pre-verification check that the token's signing algorithm can possibly\n* match the configured key material. Without it the mismatch surfaces as a\n* jose internal (\"Key for the ES256 algorithm must be one of type\n* CryptoKey... Received an instance of Uint8Array\") that never names the\n* actual problem: current Supabase projects sign ES256 via JWKS by default,\n* while `supabase status` still prints a JWT_SECRET that only fits legacy\n* HS256 projects. Returns `undefined` when the pairing is plausible or the\n* header is unreadable (jwtVerify then produces the canonical error).\n*/\nfunction algKeyMismatchReason(jwt, kind) {\n\tlet alg;\n\ttry {\n\t\talg = decodeProtectedHeader(jwt).alg;\n\t} catch {\n\t\treturn;\n\t}\n\tif (alg === void 0) return void 0;\n\tconst asymmetric = /^(?:ES|RS|PS)\\d{3}$/.test(alg) || alg === \"EdDSA\" || alg === \"Ed25519\";\n\tif (kind === \"secret\" && asymmetric) return `token is signed with ${alg} but this client is configured with jwtSecret (HS256). Current Supabase projects sign with asymmetric keys by default — configure jwksUrl (https://<project>/auth/v1/.well-known/jwks.json) instead of jwtSecret.`;\n\tif (kind === \"jwks\" && alg.startsWith(\"HS\")) return `token is signed with ${alg} (a symmetric algorithm) but this client is configured with jwksUrl. A legacy HS256 Supabase project needs jwtSecret (the JWT_SECRET from \\`supabase status\\`) instead of jwksUrl.`;\n}\nfunction checkPgOption(pg) {\n\tif (pg === void 0 || typeof pg === \"object\" && pg !== null && isPgPool(pg)) return;\n\tthrow supabaseError(\"SUPABASE.CONFIG_INVALID\", \"The pg option takes a pg.Pool\", {\n\t\twhy: \"Each role-bound query needs a connection of its own, which a single pg.Client cannot give.\",\n\t\tfix: \"Pass a pg.Pool as pg, or pass url.\",\n\t\tmeta: { reason: \"pg is not a pg.Pool\" }\n\t});\n}\nfunction toPool(options) {\n\tif (options.pg !== void 0 && isPgPool(options.pg)) return {\n\t\tpool: options.pg,\n\t\towned: false\n\t};\n\tif (typeof options.url === \"string\") return {\n\t\tpool: suppressIdleConnectionErrors(new Pool({\n\t\t\tconnectionString: options.url,\n\t\t\tconnectionTimeoutMillis: options.poolOptions?.connectionTimeoutMillis ?? 2e4,\n\t\t\tidleTimeoutMillis: options.poolOptions?.idleTimeoutMillis ?? 3e4\n\t\t})),\n\t\towned: true\n\t};\n}\nfunction withSupabaseDescriptor(extensions) {\n\tconst packs = extensions ?? [];\n\treturn packs.some((pack) => pack.id === supabaseRuntimeDescriptor.id) ? packs : [...packs, supabaseRuntimeDescriptor];\n}\n/**\n* Deserializes the Supabase extension's own emitted contract into a runtime\n* contract: namespaces hydrate into `PostgresSchema` instances (with\n* `qualifyTable`), and each column resolves its codec through the codec\n* registry. Exposed only via `service_role`'s `.supabase`\n* secondary root — never merged into the app contract.\n*/\nfunction buildExtensionContract() {\n\treturn blindCast(contractSerializer.deserializeContract(contract_default));\n}\n/**\n* Creates a Supabase client whose queries run as the role a JWT names. The client infers its\n* contract type from `contract`: a value from `contractFromJson` of `@prisma/orm-postgres/static`\n* for an emitted contract, or a TypeScript-authored contract. A contract is validated once, however\n* many clients are built from it. The pool is created on the first query.\n*\n* @example\n* ```ts\n* import { contractFromJson } from '@prisma/orm-postgres/static';\n* import { supabase } from '@prisma/orm-extension-supabase/runtime';\n* import type { Contract } from './contract.d';\n* import contractJson from './contract.json' with { type: 'json' };\n*\n* export const contract = contractFromJson<Contract>(contractJson);\n* export const db = await supabase({ contract, url, jwtSecret });\n* ```\n*/\nasync function supabase(options) {\n\tconst keyMaterial = resolveKeyMaterial(options);\n\tcheckPgOption(options.pg);\n\tconst contract = validatePostgresContract(options.contract);\n\tconst stack = createSqlExecutionStack({\n\t\ttarget: postgresTarget,\n\t\tadapter: postgresAdapter,\n\t\tdriver: postgresDriver,\n\t\textensions: withSupabaseDescriptor(options.extensions)\n\t});\n\tconst context = createExecutionContext({\n\t\tcontract,\n\t\tstack\n\t});\n\tcheckCollectionClasses(contract, options.collections);\n\tconst { sql: appSql, raw, toSql, enums, nativeEnums } = buildPostgresStaticContext(contract, context, stack);\n\tconst extContract = buildExtensionContract();\n\tconst extContext = createExecutionContext({\n\t\tcontract: extContract,\n\t\tstack\n\t});\n\tconst extStatic = buildPostgresStaticContext(extContract, extContext, stack);\n\tlet runtimes;\n\tlet connectError;\n\tlet closed = false;\n\tfunction getRuntimes() {\n\t\tif (connectError !== void 0) throw connectError.error;\n\t\tif (runtimes !== void 0) return runtimes;\n\t\tif (closed) throw closedClientError();\n\t\tconst driverDescriptor = stack.driver;\n\t\tif (!driverDescriptor) throw new InternalError(\"Driver descriptor missing from execution stack\");\n\t\tconst adapter = stack.adapter.create(stack);\n\t\tconst driver = driverDescriptor.create({ cursor: { disabled: true } });\n\t\tconst sharedOptions = {\n\t\t\tadapter,\n\t\t\tdriver,\n\t\t\t...ifDefined(\"middleware\", options.middleware),\n\t\t\t...ifDefined(\"log\", options.log),\n\t\t\t...ifDefined(\"mode\", options.mode),\n\t\t\tcloseRefusal: \"at-once\",\n\t\t\townsDriver: false\n\t\t};\n\t\tconst runtime = new SupabaseRuntimeImpl({\n\t\t\tcontext,\n\t\t\t...sharedOptions,\n\t\t\t...ifDefined(\"verifyMarker\", options.verifyMarker)\n\t\t});\n\t\tconst extRuntime = new SupabaseRuntimeImpl({\n\t\t\tcontext: extContext,\n\t\t\t...sharedOptions,\n\t\t\tverifyMarker: false\n\t\t});\n\t\tconst poolEntry = toPool(options);\n\t\tconst ownedPool = poolEntry?.owned ? poolEntry.pool : void 0;\n\t\tif (poolEntry) driver.connect({\n\t\t\tkind: \"pgPool\",\n\t\t\tpool: poolEntry.pool\n\t\t}).catch(async (err) => {\n\t\t\tconnectError = { error: err };\n\t\t\tawait ownedPool?.end().catch(() => void 0);\n\t\t});\n\t\truntimes = {\n\t\t\truntime,\n\t\t\textRuntime,\n\t\t\tdriver,\n\t\t\townedPool\n\t\t};\n\t\treturn runtimes;\n\t}\n\tconst runtime = () => getRuntimes().runtime;\n\tconst extRuntime = () => getRuntimes().extRuntime;\n\tasync function verifyJwt(jwt) {\n\t\tconst mismatch = algKeyMismatchReason(jwt, keyMaterial.kind);\n\t\tif (mismatch !== void 0) throw supabaseError(\"SUPABASE.JWT_INVALID\", `Invalid JWT: ${mismatch}`, { meta: { reason: mismatch } });\n\t\ttry {\n\t\t\tif (keyMaterial.kind === \"secret\") return await jwtVerify(jwt, keyMaterial.key);\n\t\t\treturn await jwtVerify(jwt, keyMaterial.keyset);\n\t\t} catch (err) {\n\t\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\t\tthrow supabaseError(\"SUPABASE.JWT_INVALID\", `Invalid JWT: ${reason}`, {\n\t\t\t\tmeta: { reason },\n\t\t\t\tcause: err\n\t\t\t});\n\t\t}\n\t}\n\tfunction buildRoleBoundDb(binding) {\n\t\tconst role = roleScope(runtime, binding);\n\t\tconst roleOrm = orm({\n\t\t\truntime: role,\n\t\t\tcontext,\n\t\t\t...ifDefined(\"collections\", options.collections)\n\t\t});\n\t\tconst roleBound = {\n\t\t\tsql: appSql,\n\t\t\torm: roleOrm,\n\t\t\traw,\n\t\t\ttoSql,\n\t\t\tenums,\n\t\t\tnativeEnums,\n\t\t\tprepare(declaration, callback) {\n\t\t\t\treturn prepareQuery(runtime(), declaration, callback);\n\t\t\t},\n\t\t\tquery: role.query,\n\t\t\texecute: role.execute,\n\t\t\t[preparedStatementQuery]: role[preparedStatementQuery],\n\t\t\t[preparedStatementExecute]: role[preparedStatementExecute],\n\t\t\ttransaction(fn) {\n\t\t\t\treturn withTransaction(role, (txCtx) => fn(withTransactionMembers(txCtx, {\n\t\t\t\t\t...buildPostgresQueryMembers({\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tcollections: options.collections,\n\t\t\t\t\t\tsql: appSql,\n\t\t\t\t\t\traw,\n\t\t\t\t\t\ttoSql,\n\t\t\t\t\t\tprepareRuntime: runtime\n\t\t\t\t\t}, txCtx),\n\t\t\t\t\tenums,\n\t\t\t\t\tnativeEnums\n\t\t\t\t})));\n\t\t\t}\n\t\t};\n\t\treturn Object.assign(roleBound, { [activitySource]: role[activitySource] });\n\t}\n\tconst serviceRoleBinding = {\n\t\trole: SupabaseRole.members.ServiceRole,\n\t\tclaims: {}\n\t};\n\tconst serviceRole = roleScope(extRuntime, serviceRoleBinding);\n\tconst supabaseInternal = {\n\t\tsql: extStatic.sql,\n\t\ttoSql: extStatic.toSql,\n\t\torm: orm({\n\t\t\truntime: serviceRole,\n\t\t\tcontext: extContext\n\t\t}),\n\t\tnativeEnums: extStatic.nativeEnums,\n\t\tquery: serviceRole.query,\n\t\texecute: serviceRole.execute\n\t};\n\tlet closePromise;\n\tasync function closeRuntimes() {\n\t\tif (runtimes === void 0) return;\n\t\tconst { runtime, extRuntime, driver, ownedPool } = runtimes;\n\t\tawait Promise.all([runtime.close(), extRuntime.close()]);\n\t\tif (ownedPool !== void 0) await driver.close();\n\t}\n\tfunction closeDb() {\n\t\tclosed = true;\n\t\tclosePromise ??= closeRuntimes();\n\t\treturn closePromise;\n\t}\n\treturn {\n\t\tcontext,\n\t\tstack,\n\t\tasync asUser(jwt) {\n\t\t\tconst { payload } = await verifyJwt(jwt);\n\t\t\tconst rawRole = payload[SUPABASE_JWT_ROLE_CLAIM];\n\t\t\tconst roleStr = typeof rawRole === \"string\" ? rawRole : SupabaseRole.members.Authenticated;\n\t\t\treturn buildRoleBoundDb({\n\t\t\t\trole: isSupabaseRole(roleStr) ? roleStr : SupabaseRole.members.Authenticated,\n\t\t\t\tclaims: payload\n\t\t\t});\n\t\t},\n\t\tasAnon() {\n\t\t\treturn buildRoleBoundDb({\n\t\t\t\trole: SupabaseRole.members.Anon,\n\t\t\t\tclaims: {}\n\t\t\t});\n\t\t},\n\t\tasServiceRole() {\n\t\t\treturn {\n\t\t\t\t...buildRoleBoundDb(serviceRoleBinding),\n\t\t\t\tsupabase: supabaseInternal\n\t\t\t};\n\t\t},\n\t\tclose: closeDb,\n\t\t[Symbol.asyncDispose]: closeDb\n\t};\n}\n//#endregion\n//#region src/exports/runtime.ts\nvar runtime_default = supabaseRuntimeDescriptor;\n//#endregion\nexport { SupabaseRuntimeImpl, runtime_default as default, supabase };\n\n//# sourceMappingURL=runtime.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,4BAA4B;CACjC,MAAM;CACN,IAAI;CACJ;CACA,UAAU;CACV,UAAU;CACV,cAAc,CAAC;CACf,SAAS;EACR,OAAO;GACN,UAAU;GACV,UAAU;EACX;CACD;AACD;AAGA,SAAS,cAAc,MAAM,SAAS,SAAS;CAC9C,OAAO,gBAAgB,MAAM,SAAS,OAAO;AAC9C;AAGA,IAAI;;;;AAIJ,SAAS,UAAU,SAAS,SAAS;CACpC,OAAO,eAAe,SAAS,OAAO;AACvC;AACA,IAAI,sBAAsB,cAAc,oBAAoB;;;;CAI3D,MAAM,gBAAgB,SAAS;EAC9B,QAAQ,MAAM,KAAK,mBAAmB,OAAO,EAAA,CAAG;CACjD;CACA,MAAM,mBAAmB,SAAS,SAAS;EAC1C,MAAM,OAAO,MAAM,KAAK,qBAAqB,OAAO;EACpD,IAAI;GACH,MAAM,KAAK,QAAQ;IAClB,KAAK;IACL,QAAQ,CAAC,QAAQ,QAAQ,IAAI;GAC9B,CAAC;GACD,MAAM,KAAK,QAAQ;IAClB,KAAK;IACL,QAAQ,CAAC,sBAAsB,KAAK,UAAU,QAAQ,UAAU,CAAC,CAAC,CAAC;GACpE,CAAC;EACF,SAAS,KAAK;GACb,MAAM,KAAK,QAAQ,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC;GAC1C,MAAM;EACP;EACA,MAAM,OAAO;EACb,MAAM,UAAU;IACd,mBAAmB,uBAAuB;IAC1C,iBAAiB,KAAK,yBAAyB,YAAY,OAAO;GACnE,MAAM,MAAM,SAAS;IACpB,OAAO,KAAK,sBAAsB,MAAM,MAAM;KAC7C,GAAG;KACH,OAAO;IACR,CAAC;GACF;GACA,QAAQ,MAAM,SAAS;IACtB,OAAO,KAAK,kCAAkC,MAAM,MAAM;KACzD,GAAG;KACH,OAAO;IACR,CAAC;GACF;GACA,CAAC,wBAAwB,UAAU,QAAQ,SAAS;IACnD,OAAO,KAAK,qCAAqC,UAAU,QAAQ,MAAM,OAAO;GACjF;GACA,CAAC,0BAA0B,UAAU,QAAQ,SAAS;IACrD,OAAO,KAAK,uCAAuC,UAAU,QAAQ,MAAM,OAAO;GACnF;GACA,MAAM,cAAc;IACnB,OAAO,KAAK,mBAAmB,MAAM,SAAS,KAAK,CAAC;GACrD;;;;;GAKA,MAAM,UAAU;IACf,IAAI;KACH,MAAM,KAAK,QAAQ,EAAE,KAAK,YAAY,CAAC;KACvC,MAAM,KAAK,QAAQ;IACpB,SAAS,YAAY;KACpB,MAAM,KAAK,QAAQ,UAAU,CAAC,CAAC,YAAY,KAAK,CAAC;IAClD;GACD;GACA,MAAM,QAAQ,QAAQ;IACrB,MAAM,KAAK,QAAQ,MAAM;GAC1B;EACD;EACA,OAAO;GACN;GACA;EACD;CACD;CACA,QAAQ,SAAS;EAChB,OAAO,qBAAqB,MAAM,OAAO;CAC1C;CACA;EACC,kBAAkB,SAAS,YAAY;GACtC,MAAM,QAAQ,YAAY,aAAa,MAAM,QAAQ,CAAC,CAAC,mBAAmB,SAAS,OAAO,EAAA,CAAG;GAC7F,MAAM,QAAQ;IACb,MAAM,MAAM,SAAS;KACpB,OAAO,gBAAgB,KAAK,OAAO,IAAI,YAAY,QAAQ,MAAM,MAAM,OAAO,CAAC;IAChF;IACA,QAAQ,MAAM,SAAS;KACtB,OAAO,iBAAiB,KAAK,OAAO,IAAI,YAAY,QAAQ,QAAQ,MAAM,OAAO,CAAC;IACnF;IACA,CAAC,wBAAwB,WAAW,QAAQ,SAAS;KACpD,OAAO,gBAAgB,KAAK,OAAO,IAAI,YAAY,QAAQ,uBAAuB,CAAC,WAAW,QAAQ,OAAO,CAAC;IAC/G;IACA,CAAC,0BAA0B,WAAW,QAAQ,SAAS;KACtD,OAAO,iBAAiB,KAAK,OAAO,IAAI,YAAY,QAAQ,yBAAyB,CAAC,WAAW,QAAQ,OAAO,CAAC;IAClH;IACA,YAAY,KAAK,KAAK,CAAC;KACtB,iBAAiB;KACjB,eAAe,OAAO,aAAa,QAAQ,CAAC,CAAC,qBAAqB,OAAO,UAAU,KAAK,CAAC;KACzF,iBAAiB,OAAO,SAAS,QAAQ,CAAC,CAAC,mBAAmB,MAAM,cAAc,KAAK,CAAC;IACzF;GACD;GACA,MAAM,QAAQ;IACb,OAAO;IACP,cAAc,KAAK;IACnB,aAAa;IACb,QAAQ,MAAM,YAAY,MAAM,MAAM,MAAM,OAAO;IACnD,UAAU,MAAM,YAAY,MAAM,QAAQ,MAAM,OAAO;IACvD,gBAAgB,WAAW,QAAQ,YAAY,MAAM,uBAAuB,CAAC,WAAW,QAAQ,OAAO;IACvG,kBAAkB,WAAW,QAAQ,YAAY,MAAM,yBAAyB,CAAC,WAAW,QAAQ,OAAO;IAC3G,cAAc,WAAW,QAAQ,CAAC,CAAC,qBAAqB,SAAS,MAAM;GACxE;GACA,OAAO;EACR;CACD;CACA,MAAM,qBAAqB,SAAS,QAAQ;EAC3C,MAAM,EAAE,MAAM,YAAY,MAAM,KAAK,mBAAmB,SAAS,EAAE,gBAAgB,OAAO,CAAC;EAC3F,OAAO,KAAK,eAAe,eAAe,KAAK,mBAAmB,MAAM,SAAS,MAAM,CAAC;CACzF;CACA,uCAAuC,UAAU,QAAQ,WAAW,SAAS;EAC5E,OAAO,KAAK,mCAAmC,UAAU,QAAQ,GAAG,UAAU,MAAM,GAAG,WAAW;GACjG,GAAG;GACH,OAAO;EACR,CAAC;CACF;CACA,qCAAqC,UAAU,QAAQ,WAAW,SAAS;EAC1E,OAAO,KAAK,iCAAiC,UAAU,QAAQ,GAAG,UAAU,MAAM,GAAG,WAAW;GAC/F,GAAG;GACH,OAAO;EACR,CAAC;CACF;AACD;AACA,SAAS,gBAAgB,MAAM,MAAM;CACpC,MAAM,YAAY,mBAAmB;EACpC,MAAM,UAAU,MAAM,KAAK;EAC3B,IAAI,UAAU;EACd,IAAI;GACH,WAAW,MAAM,OAAO,KAAK,OAAO,GAAG,MAAM;EAC9C,SAAS,KAAK;GACb,UAAU;GACV,MAAM,QAAQ,QAAQ,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC;GAC7C,MAAM;EACP,UAAU;GACT,IAAI,CAAC,SAAS,MAAM,QAAQ,QAAQ;EACrC;CACD;CACA,OAAO,IAAI,oBAAoB,UAAU,CAAC;AAC3C;AACA,eAAe,iBAAiB,MAAM,KAAK;CAC1C,MAAM,UAAU,MAAM,KAAK;CAC3B,IAAI;EACH,MAAM,QAAQ,MAAM,IAAI,OAAO;EAC/B,MAAM,QAAQ,QAAQ;EACtB,OAAO;CACR,SAAS,KAAK;EACb,MAAM,QAAQ,QAAQ,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC;EAC7C,MAAM;CACP;AACD;AAGA,MAAM,qBAAqB,IAAI,2BAA2B;AAC1D,SAAS,oBAAoB;CAC5B,OAAO,gBAAgB,wBAAwB,qBAAqB;EACnE,KAAK;EACL,KAAK;EACL,MAAM,EAAE,WAAW,WAAW;CAC/B,CAAC;AACF;AACA,SAAS,mBAAmB,SAAS;CACpC,MAAM,YAAY,eAAe,UAAU,QAAQ,YAAY,KAAK;CACpE,MAAM,UAAU,aAAa,UAAU,QAAQ,UAAU,KAAK;CAC9D,IAAI,cAAc,KAAK,KAAK,YAAY,KAAK,GAAG,MAAM,cAAc,2BAA2B,iDAAiD,EAAE,MAAM,EAAE,QAAQ,sCAAsC,EAAE,CAAC;CAC3M,IAAI,cAAc,KAAK,GAAG,OAAO;EAChC,MAAM;EACN,KAAK,IAAI,YAAY,CAAC,CAAC,OAAO,SAAS;CACxC;CACA,IAAI,YAAY,KAAK,GAAG,OAAO;EAC9B,MAAM;EACN,QAAQ,mBAAmB,IAAI,IAAI,OAAO,CAAC;CAC5C;CACA,MAAM,cAAc,2BAA2B,2CAA2C,EAAE,MAAM,EAAE,QAAQ,yCAAyC,EAAE,CAAC;AACzJ;;;;;;;;;;;AAWA,SAAS,qBAAqB,KAAK,MAAM;CACxC,IAAI;CACJ,IAAI;EACH,MAAM,sBAAsB,GAAG,CAAC,CAAC;CAClC,QAAQ;EACP;CACD;CACA,IAAI,QAAQ,KAAK,GAAG,OAAO,KAAK;CAChC,MAAM,aAAa,sBAAsB,KAAK,GAAG,KAAK,QAAQ,WAAW,QAAQ;CACjF,IAAI,SAAS,YAAY,YAAY,OAAO,wBAAwB,IAAI;CACxE,IAAI,SAAS,UAAU,IAAI,WAAW,IAAI,GAAG,OAAO,wBAAwB,IAAI;AACjF;AACA,SAAS,cAAc,IAAI;CAC1B,IAAI,OAAO,KAAK,KAAK,OAAO,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,GAAG;CAC5E,MAAM,cAAc,2BAA2B,iCAAiC;EAC/E,KAAK;EACL,KAAK;EACL,MAAM,EAAE,QAAQ,sBAAsB;CACvC,CAAC;AACF;AACA,SAAS,OAAO,SAAS;CACxB,IAAI,QAAQ,OAAO,KAAK,KAAK,SAAS,QAAQ,EAAE,GAAG,OAAO;EACzD,MAAM,QAAQ;EACd,OAAO;CACR;CACA,IAAI,OAAO,QAAQ,QAAQ,UAAU,OAAO;EAC3C,MAAM,6BAA6B,IAAI,KAAK;GAC3C,kBAAkB,QAAQ;GAC1B,yBAAyB,QAAQ,aAAa,2BAA2B;GACzE,mBAAmB,QAAQ,aAAa,qBAAqB;EAC9D,CAAC,CAAC;EACF,OAAO;CACR;AACD;AACA,SAAS,uBAAuB,YAAY;CAC3C,MAAM,QAAQ,cAAc,CAAC;CAC7B,OAAO,MAAM,MAAM,SAAS,KAAK,OAAO,0BAA0B,EAAE,IAAI,QAAQ,CAAC,GAAG,OAAO,yBAAyB;AACrH;;;;;;;;AAQA,SAAS,yBAAyB;CACjC,OAAO,UAAU,mBAAmB,oBAAoB,gBAAgB,CAAC;AAC1E;;;;;;;;;;;;;;;;;;AAkBA,eAAe,SAAS,SAAS;CAChC,MAAM,cAAc,mBAAmB,OAAO;CAC9C,cAAc,QAAQ,EAAE;CACxB,MAAM,WAAW,yBAAyB,QAAQ,QAAQ;CAC1D,MAAM,QAAQ,wBAAwB;EACrC,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,YAAY,uBAAuB,QAAQ,UAAU;CACtD,CAAC;CACD,MAAM,UAAU,uBAAuB;EACtC;EACA;CACD,CAAC;CACD,uBAAuB,UAAU,QAAQ,WAAW;CACpD,MAAM,EAAE,KAAK,QAAQ,KAAK,OAAO,OAAO,gBAAgB,2BAA2B,UAAU,SAAS,KAAK;CAC3G,MAAM,cAAc,uBAAuB;CAC3C,MAAM,aAAa,uBAAuB;EACzC,UAAU;EACV;CACD,CAAC;CACD,MAAM,YAAY,2BAA2B,aAAa,YAAY,KAAK;CAC3E,IAAI;CACJ,IAAI;CACJ,IAAI,SAAS;CACb,SAAS,cAAc;EACtB,IAAI,iBAAiB,KAAK,GAAG,MAAM,aAAa;EAChD,IAAI,aAAa,KAAK,GAAG,OAAO;EAChC,IAAI,QAAQ,MAAM,kBAAkB;EACpC,MAAM,mBAAmB,MAAM;EAC/B,IAAI,CAAC,kBAAkB,MAAM,IAAI,cAAc,gDAAgD;EAC/F,MAAM,UAAU,MAAM,QAAQ,OAAO,KAAK;EAC1C,MAAM,SAAS,iBAAiB,OAAO,EAAE,QAAQ,EAAE,UAAU,KAAK,EAAE,CAAC;EACrE,MAAM,gBAAgB;GACrB;GACA;GACA,GAAG,UAAU,cAAc,QAAQ,UAAU;GAC7C,GAAG,UAAU,OAAO,QAAQ,GAAG;GAC/B,GAAG,UAAU,QAAQ,QAAQ,IAAI;GACjC,cAAc;GACd,YAAY;EACb;EACA,MAAM,UAAU,IAAI,oBAAoB;GACvC;GACA,GAAG;GACH,GAAG,UAAU,gBAAgB,QAAQ,YAAY;EAClD,CAAC;EACD,MAAM,aAAa,IAAI,oBAAoB;GAC1C,SAAS;GACT,GAAG;GACH,cAAc;EACf,CAAC;EACD,MAAM,YAAY,OAAO,OAAO;EAChC,MAAM,YAAY,WAAW,QAAQ,UAAU,OAAO,KAAK;EAC3D,IAAI,WAAW,OAAO,QAAQ;GAC7B,MAAM;GACN,MAAM,UAAU;EACjB,CAAC,CAAC,CAAC,MAAM,OAAO,QAAQ;GACvB,eAAe,EAAE,OAAO,IAAI;GAC5B,MAAM,WAAW,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC;EAC1C,CAAC;EACD,WAAW;GACV;GACA;GACA;GACA;EACD;EACA,OAAO;CACR;CACA,MAAM,gBAAgB,YAAY,CAAC,CAAC;CACpC,MAAM,mBAAmB,YAAY,CAAC,CAAC;CACvC,eAAe,UAAU,KAAK;EAC7B,MAAM,WAAW,qBAAqB,KAAK,YAAY,IAAI;EAC3D,IAAI,aAAa,KAAK,GAAG,MAAM,cAAc,wBAAwB,gBAAgB,YAAY,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,CAAC;EAC/H,IAAI;GACH,IAAI,YAAY,SAAS,UAAU,OAAO,MAAM,UAAU,KAAK,YAAY,GAAG;GAC9E,OAAO,MAAM,UAAU,KAAK,YAAY,MAAM;EAC/C,SAAS,KAAK;GACb,MAAM,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;GAC9D,MAAM,cAAc,wBAAwB,gBAAgB,UAAU;IACrE,MAAM,EAAE,OAAO;IACf,OAAO;GACR,CAAC;EACF;CACD;CACA,SAAS,iBAAiB,SAAS;EAClC,MAAM,OAAO,UAAU,SAAS,OAAO;EACvC,MAAM,UAAU,IAAI;GACnB,SAAS;GACT;GACA,GAAG,UAAU,eAAe,QAAQ,WAAW;EAChD,CAAC;EACD,MAAM,YAAY;GACjB,KAAK;GACL,KAAK;GACL;GACA;GACA;GACA;GACA,QAAQ,aAAa,UAAU;IAC9B,OAAO,aAAa,QAAQ,GAAG,aAAa,QAAQ;GACrD;GACA,OAAO,KAAK;GACZ,SAAS,KAAK;IACb,yBAAyB,KAAK;IAC9B,2BAA2B,KAAK;GACjC,YAAY,IAAI;IACf,OAAO,gBAAgB,OAAO,UAAU,GAAG,uBAAuB,OAAO;KACxE,GAAG,0BAA0B;MAC5B;MACA,aAAa,QAAQ;MACrB,KAAK;MACL;MACA;MACA,gBAAgB;KACjB,GAAG,KAAK;KACR;KACA;IACD,CAAC,CAAC,CAAC;GACJ;EACD;EACA,OAAO,OAAO,OAAO,WAAW,GAAG,iBAAiB,KAAK,gBAAgB,CAAC;CAC3E;CACA,MAAM,qBAAqB;EAC1B,MAAM,aAAa,QAAQ;EAC3B,QAAQ,CAAC;CACV;CACA,MAAM,cAAc,UAAU,YAAY,kBAAkB;CAC5D,MAAM,mBAAmB;EACxB,KAAK,UAAU;EACf,OAAO,UAAU;EACjB,KAAK,IAAI;GACR,SAAS;GACT,SAAS;EACV,CAAC;EACD,aAAa,UAAU;EACvB,OAAO,YAAY;EACnB,SAAS,YAAY;CACtB;CACA,IAAI;CACJ,eAAe,gBAAgB;EAC9B,IAAI,aAAa,KAAK,GAAG;EACzB,MAAM,EAAE,SAAS,YAAY,QAAQ,cAAc;EACnD,MAAM,QAAQ,IAAI,CAAC,QAAQ,MAAM,GAAG,WAAW,MAAM,CAAC,CAAC;EACvD,IAAI,cAAc,KAAK,GAAG,MAAM,OAAO,MAAM;CAC9C;CACA,SAAS,UAAU;EAClB,SAAS;EACT,iBAAiB,cAAc;EAC/B,OAAO;CACR;CACA,OAAO;EACN;EACA;EACA,MAAM,OAAO,KAAK;GACjB,MAAM,EAAE,YAAY,MAAM,UAAU,GAAG;GACvC,MAAM,UAAU,QAAQ;GACxB,MAAM,UAAU,OAAO,YAAY,WAAW,UAAU,aAAa,QAAQ;GAC7E,OAAO,iBAAiB;IACvB,MAAM,eAAe,OAAO,IAAI,UAAU,aAAa,QAAQ;IAC/D,QAAQ;GACT,CAAC;EACF;EACA,SAAS;GACR,OAAO,iBAAiB;IACvB,MAAM,aAAa,QAAQ;IAC3B,QAAQ,CAAC;GACV,CAAC;EACF;EACA,gBAAgB;GACf,OAAO;IACN,GAAG,iBAAiB,kBAAkB;IACtC,UAAU;GACX;EACD;EACA,OAAO;GACN,OAAO,eAAe;CACxB;AACD;AAGA,IAAI,kBAAkB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/orm-extension-supabase",
|
|
3
|
-
"version": "8.0.0-rc.19-dev.
|
|
3
|
+
"version": "8.0.0-rc.19-dev.7",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@prisma/orm-family-sql": "8.0.0-rc.19-dev.
|
|
13
|
-
"@prisma/orm-framework": "8.0.0-rc.19-dev.
|
|
14
|
-
"@prisma/orm-postgres": "8.0.0-rc.19-dev.
|
|
15
|
-
"@prisma/orm-toolchain": "8.0.0-rc.19-dev.
|
|
12
|
+
"@prisma/orm-family-sql": "8.0.0-rc.19-dev.7",
|
|
13
|
+
"@prisma/orm-framework": "8.0.0-rc.19-dev.7",
|
|
14
|
+
"@prisma/orm-postgres": "8.0.0-rc.19-dev.7",
|
|
15
|
+
"@prisma/orm-toolchain": "8.0.0-rc.19-dev.7",
|
|
16
16
|
"@standard-schema/spec": "^1.1.0",
|
|
17
17
|
"@types/node": "26.1.2",
|
|
18
18
|
"@types/pg": "8.20.4",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"pg": "8.22.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@internal/extension-supabase": "8.0.0-rc.19-dev.
|
|
25
|
-
"@repo/tsconfig": "8.0.0-rc.19-dev.
|
|
26
|
-
"@repo/tsdown": "8.0.0-rc.19-dev.
|
|
27
|
-
"@prisma/orm-target-postgres": "8.0.0-rc.19-dev.
|
|
24
|
+
"@internal/extension-supabase": "8.0.0-rc.19-dev.7",
|
|
25
|
+
"@repo/tsconfig": "8.0.0-rc.19-dev.7",
|
|
26
|
+
"@repo/tsdown": "8.0.0-rc.19-dev.7",
|
|
27
|
+
"@prisma/orm-target-postgres": "8.0.0-rc.19-dev.7",
|
|
28
28
|
"tsdown": "0.22.14",
|
|
29
29
|
"typescript": "5.9.3"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@prisma/orm-target-postgres": "8.0.0-rc.19-dev.
|
|
32
|
+
"@prisma/orm-target-postgres": "8.0.0-rc.19-dev.7",
|
|
33
33
|
"typescript": ">=5.9"
|
|
34
34
|
},
|
|
35
35
|
"peerDependenciesMeta": {
|