@prisma/orm-extension-supabase 8.0.0-rc.20-dev.2 → 8.0.0-rc.20-dev.4

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/pack.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as version, t as contract_default } from "./contract-yKOmokZu-DtaAg4JH.mjs";
1
+ import { n as version, t as contract_default } from "./contract-BkGg7Dqp-BtCb820I.mjs";
2
2
  import { blindCast } from "@prisma/orm-framework/utils/casts";
3
3
  //#region ../../../3-extensions/supabase/dist/pack.mjs
4
4
  const SUPABASE_SPACE_ID = "supabase";
package/dist/pack.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pack.mjs","names":[],"sources":["../../../../3-extensions/supabase/dist/pack.mjs"],"sourcesContent":["import { n as version, t as contract_default } from \"./contract-yKOmokZu.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/pack/index.ts\nconst SUPABASE_SPACE_ID = \"supabase\";\nfunction buildContractSpace(contractOverride) {\n\tconst contract = blindCast(contractOverride ?? contract_default);\n\treturn {\n\t\tcontractJson: contract,\n\t\tmigrations: [],\n\t\theadRef: {\n\t\t\thash: contract.storage.storageHash,\n\t\t\tinvariants: []\n\t\t}\n\t};\n}\nconst supabasePackBase = {\n\tkind: \"extension\",\n\tid: SUPABASE_SPACE_ID,\n\tfamilyId: \"sql\",\n\ttargetId: \"postgres\",\n\tversion,\n\tcontractSpace: buildContractSpace(),\n\tcreate: () => ({\n\t\tfamilyId: \"sql\",\n\t\ttargetId: \"postgres\"\n\t})\n};\nconst supabasePack = supabasePackBase;\n/**\n* Returns a pack using `contractOverride` in place of the shipped\n* `contract.json` when provided, otherwise returns the default pack.\n*\n* Intended for tests that need to drive the framework with a synthetic\n* contract while still exercising the full descriptor wiring.\n*/\nfunction supabasePackWith(options) {\n\tif (options?.contractOverride === void 0) return supabasePack;\n\treturn {\n\t\t...supabasePackBase,\n\t\tcontractSpace: buildContractSpace(options.contractOverride)\n\t};\n}\n//#endregion\nexport { supabasePack as default, supabasePackWith };\n\n//# sourceMappingURL=pack.mjs.map"],"mappings":";;;AAGA,MAAM,oBAAoB;AAC1B,SAAS,mBAAmB,kBAAkB;CAC7C,MAAM,WAAW,UAAU,oBAAoB,gBAAgB;CAC/D,OAAO;EACN,cAAc;EACd,YAAY,CAAC;EACb,SAAS;GACR,MAAM,SAAS,QAAQ;GACvB,YAAY,CAAC;EACd;CACD;AACD;AACA,MAAM,mBAAmB;CACxB,MAAM;CACN,IAAI;CACJ,UAAU;CACV,UAAU;CACV;CACA,eAAe,mBAAmB;CAClC,eAAe;EACd,UAAU;EACV,UAAU;CACX;AACD;AACA,MAAM,eAAe;;;;;;;;AAQrB,SAAS,iBAAiB,SAAS;CAClC,IAAI,SAAS,qBAAqB,KAAK,GAAG,OAAO;CACjD,OAAO;EACN,GAAG;EACH,eAAe,mBAAmB,QAAQ,gBAAgB;CAC3D;AACD"}
1
+ {"version":3,"file":"pack.mjs","names":[],"sources":["../../../../3-extensions/supabase/dist/pack.mjs"],"sourcesContent":["import { n as version, t as contract_default } from \"./contract-BkGg7Dqp.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/pack/index.ts\nconst SUPABASE_SPACE_ID = \"supabase\";\nfunction buildContractSpace(contractOverride) {\n\tconst contract = blindCast(contractOverride ?? contract_default);\n\treturn {\n\t\tcontractJson: contract,\n\t\tmigrations: [],\n\t\theadRef: {\n\t\t\thash: contract.storage.storageHash,\n\t\t\tinvariants: []\n\t\t}\n\t};\n}\nconst supabasePackBase = {\n\tkind: \"extension\",\n\tid: SUPABASE_SPACE_ID,\n\tfamilyId: \"sql\",\n\ttargetId: \"postgres\",\n\tversion,\n\tcontractSpace: buildContractSpace(),\n\tcreate: () => ({\n\t\tfamilyId: \"sql\",\n\t\ttargetId: \"postgres\"\n\t})\n};\nconst supabasePack = supabasePackBase;\n/**\n* Returns a pack using `contractOverride` in place of the shipped\n* `contract.json` when provided, otherwise returns the default pack.\n*\n* Intended for tests that need to drive the framework with a synthetic\n* contract while still exercising the full descriptor wiring.\n*/\nfunction supabasePackWith(options) {\n\tif (options?.contractOverride === void 0) return supabasePack;\n\treturn {\n\t\t...supabasePackBase,\n\t\tcontractSpace: buildContractSpace(options.contractOverride)\n\t};\n}\n//#endregion\nexport { supabasePack as default, supabasePackWith };\n\n//# sourceMappingURL=pack.mjs.map"],"mappings":";;;AAGA,MAAM,oBAAoB;AAC1B,SAAS,mBAAmB,kBAAkB;CAC7C,MAAM,WAAW,UAAU,oBAAoB,gBAAgB;CAC/D,OAAO;EACN,cAAc;EACd,YAAY,CAAC;EACb,SAAS;GACR,MAAM,SAAS,QAAQ;GACvB,YAAY,CAAC;EACd;CACD;AACD;AACA,MAAM,mBAAmB;CACxB,MAAM;CACN,IAAI;CACJ,UAAU;CACV,UAAU;CACV;CACA,eAAe,mBAAmB;CAClC,eAAe;EACd,UAAU;EACV,UAAU;CACX;AACD;AACA,MAAM,eAAe;;;;;;;;AAQrB,SAAS,iBAAiB,SAAS;CAClC,IAAI,SAAS,qBAAqB,KAAK,GAAG,OAAO;CACjD,OAAO;EACN,GAAG;EACH,eAAe,mBAAmB,QAAQ,gBAAgB;CAC3D;AACD"}
package/dist/runtime.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as version, t as contract_default } from "./contract-yKOmokZu-DtaAg4JH.mjs";
1
+ import { n as version, t as contract_default } from "./contract-BkGg7Dqp-BtCb820I.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";
@@ -8,7 +8,7 @@ import { buildPostgresQueryMembers } from "@prisma/orm-postgres/internal/transac
8
8
  import { validatePostgresContract } from "@prisma/orm-postgres/internal/validate-contract";
9
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, withTransaction, withTransactionMembers } from "@prisma/orm-family-sql/runtime";
11
+ import { activitySource, createExecutionContext, createSqlExecutionStack, delegatingRuntime, 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";
@@ -253,18 +253,20 @@ function checkPgOption(pg) {
253
253
  meta: { reason: "pg is not a pg.Pool" }
254
254
  });
255
255
  }
256
- function toPool(options) {
256
+ function toPoolBinding(options) {
257
257
  if (options.pg !== void 0 && isPgPool(options.pg)) return {
258
+ kind: "pgPool",
258
259
  pool: options.pg,
259
- owned: false
260
+ ownedByDriver: false
260
261
  };
261
262
  if (typeof options.url === "string") return {
263
+ kind: "pgPool",
262
264
  pool: suppressIdleConnectionErrors(new Pool({
263
265
  connectionString: options.url,
264
266
  connectionTimeoutMillis: options.poolOptions?.connectionTimeoutMillis ?? 2e4,
265
267
  idleTimeoutMillis: options.poolOptions?.idleTimeoutMillis ?? 3e4
266
268
  })),
267
- owned: true
269
+ ownedByDriver: true
268
270
  };
269
271
  }
270
272
  function withSupabaseDescriptor(extensions) {
@@ -350,25 +352,22 @@ async function supabase(options) {
350
352
  ...sharedOptions,
351
353
  verifyMarker: false
352
354
  });
353
- const poolEntry = toPool(options);
354
- const ownedPool = poolEntry?.owned ? poolEntry.pool : void 0;
355
- if (poolEntry) driver.connect({
356
- kind: "pgPool",
357
- pool: poolEntry.pool
358
- }).catch(async (err) => {
355
+ const poolBinding = toPoolBinding(options);
356
+ if (poolBinding) driver.connect(poolBinding).catch(async (err) => {
359
357
  connectError = { error: err };
360
- await ownedPool?.end().catch(() => void 0);
358
+ if (poolBinding.ownedByDriver) await poolBinding.pool.end().catch(() => void 0);
361
359
  });
362
360
  runtimes = {
363
361
  runtime,
364
362
  extRuntime,
365
363
  driver,
366
- ownedPool
364
+ poolBinding
367
365
  };
368
366
  return runtimes;
369
367
  }
370
368
  const runtime = () => getRuntimes().runtime;
371
369
  const extRuntime = () => getRuntimes().extRuntime;
370
+ const workRuntime = delegatingRuntime(runtime);
372
371
  async function verifyJwt(jwt) {
373
372
  const mismatch = algKeyMismatchReason(jwt, keyMaterial.kind);
374
373
  if (mismatch !== void 0) throw supabaseError("SUPABASE.JWT_INVALID", `Invalid JWT: ${mismatch}`, { meta: { reason: mismatch } });
@@ -398,7 +397,7 @@ async function supabase(options) {
398
397
  enums,
399
398
  nativeEnums,
400
399
  prepare(declaration, callback) {
401
- return prepareQuery(runtime(), declaration, callback);
400
+ return prepareQuery(workRuntime, declaration, callback);
402
401
  },
403
402
  query: role.query,
404
403
  execute: role.execute,
@@ -412,7 +411,7 @@ async function supabase(options) {
412
411
  sql: appSql,
413
412
  raw,
414
413
  toSql,
415
- prepareRuntime: runtime
414
+ prepareRuntime: workRuntime
416
415
  }, txCtx),
417
416
  enums,
418
417
  nativeEnums
@@ -440,9 +439,9 @@ async function supabase(options) {
440
439
  let closePromise;
441
440
  async function closeRuntimes() {
442
441
  if (runtimes === void 0) return;
443
- const { runtime, extRuntime, driver, ownedPool } = runtimes;
442
+ const { runtime, extRuntime, driver } = runtimes;
444
443
  await Promise.all([runtime.close(), extRuntime.close()]);
445
- if (ownedPool !== void 0) await driver.close();
444
+ await driver.close();
446
445
  }
447
446
  function closeDb() {
448
447
  closed = true;
@@ -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-yKOmokZu.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":"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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-BkGg7Dqp.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, delegatingRuntime, 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 toPoolBinding(options) {\n\tif (options.pg !== void 0 && isPgPool(options.pg)) return {\n\t\tkind: \"pgPool\",\n\t\tpool: options.pg,\n\t\townedByDriver: false\n\t};\n\tif (typeof options.url === \"string\") return {\n\t\tkind: \"pgPool\",\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\townedByDriver: 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 poolBinding = toPoolBinding(options);\n\t\tif (poolBinding) driver.connect(poolBinding).catch(async (err) => {\n\t\t\tconnectError = { error: err };\n\t\t\tif (poolBinding.ownedByDriver) await poolBinding.pool.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\tpoolBinding\n\t\t};\n\t\treturn runtimes;\n\t}\n\tconst runtime = () => getRuntimes().runtime;\n\tconst extRuntime = () => getRuntimes().extRuntime;\n\tconst workRuntime = delegatingRuntime(runtime);\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(workRuntime, 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: workRuntime\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 } = runtimes;\n\t\tawait Promise.all([runtime.close(), extRuntime.close()]);\n\t\tawait 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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-extension-supabase",
3
- "version": "8.0.0-rc.20-dev.2",
3
+ "version": "8.0.0-rc.20-dev.4",
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.20-dev.2",
13
- "@prisma/orm-framework": "8.0.0-rc.20-dev.2",
14
- "@prisma/orm-postgres": "8.0.0-rc.20-dev.2",
15
- "@prisma/orm-toolchain": "8.0.0-rc.20-dev.2",
12
+ "@prisma/orm-family-sql": "8.0.0-rc.20-dev.4",
13
+ "@prisma/orm-framework": "8.0.0-rc.20-dev.4",
14
+ "@prisma/orm-postgres": "8.0.0-rc.20-dev.4",
15
+ "@prisma/orm-toolchain": "8.0.0-rc.20-dev.4",
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.20-dev.2",
25
- "@repo/tsconfig": "8.0.0-rc.20-dev.2",
26
- "@repo/tsdown": "8.0.0-rc.20-dev.2",
27
- "@prisma/orm-target-postgres": "8.0.0-rc.20-dev.2",
24
+ "@internal/extension-supabase": "8.0.0-rc.20-dev.4",
25
+ "@repo/tsconfig": "8.0.0-rc.20-dev.4",
26
+ "@repo/tsdown": "8.0.0-rc.20-dev.4",
27
+ "@prisma/orm-target-postgres": "8.0.0-rc.20-dev.4",
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.20-dev.2",
32
+ "@prisma/orm-target-postgres": "8.0.0-rc.20-dev.4",
33
33
  "typescript": ">=5.9"
34
34
  },
35
35
  "peerDependenciesMeta": {