@prisma/orm-extension-supabase 8.0.0-rc.21-dev.7 → 8.0.0-rc.21-dev.9
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-CJVUsWDx-JKeYap1a.mjs → contract-Clcs8S2m-BUOsz9X3.mjs} +3 -3
- package/dist/{contract-CJVUsWDx-JKeYap1a.mjs.map → contract-Clcs8S2m-BUOsz9X3.mjs.map} +1 -1
- package/dist/pack.mjs +1 -1
- package/dist/pack.mjs.map +1 -1
- package/dist/runtime.mjs +1 -3
- package/dist/runtime.mjs.map +1 -1
- package/package.json +10 -10
package/dist/pack.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as version, t as contract_default } from "./contract-
|
|
1
|
+
import { n as version, t as contract_default } from "./contract-Clcs8S2m-BUOsz9X3.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-
|
|
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-Clcs8S2m.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-
|
|
1
|
+
import { n as version, t as contract_default } from "./contract-Clcs8S2m-BUOsz9X3.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";
|
|
@@ -12,7 +12,6 @@ import { activitySource, createExecutionContext, createSqlExecutionStack, delega
|
|
|
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";
|
|
15
|
-
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
16
15
|
import { structuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
17
16
|
import { createRemoteJWKSet, decodeProtectedHeader, jwtVerify } from "jose";
|
|
18
17
|
import { AsyncIterableResult } from "@prisma/orm-framework/components/runtime";
|
|
@@ -329,7 +328,6 @@ async function supabase(options) {
|
|
|
329
328
|
if (runtimes !== void 0) return runtimes;
|
|
330
329
|
if (closed) throw closedClientError();
|
|
331
330
|
const driverDescriptor = stack.driver;
|
|
332
|
-
if (!driverDescriptor) throw new InternalError("Driver descriptor missing from execution stack");
|
|
333
331
|
const adapter = stack.adapter.create(stack);
|
|
334
332
|
const driver = driverDescriptor.create({ cursor: { disabled: true } });
|
|
335
333
|
const sharedOptions = {
|
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-CJVUsWDx.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, { createPgPool, 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 { 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(createPgPool({\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}, postgresTarget.sessionSettings ?? {})),\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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"}
|
|
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-Clcs8S2m.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, { createPgPool, 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 { structuredError } from \"@internal/utils/structured-error\";\nimport { createRemoteJWKSet, decodeProtectedHeader, jwtVerify } from \"jose\";\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(createPgPool({\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}, postgresTarget.sessionSettings ?? {})),\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\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,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,cAAc,SAAS;CAC/B,IAAI,QAAQ,OAAO,KAAK,KAAK,SAAS,QAAQ,EAAE,GAAG,OAAO;EACzD,MAAM;EACN,MAAM,QAAQ;EACd,eAAe;CAChB;CACA,IAAI,OAAO,QAAQ,QAAQ,UAAU,OAAO;EAC3C,MAAM;EACN,MAAM,6BAA6B,aAAa;GAC/C,kBAAkB,QAAQ;GAC1B,yBAAyB,QAAQ,aAAa,2BAA2B;GACzE,mBAAmB,QAAQ,aAAa,qBAAqB;EAC9D,GAAG,eAAe,mBAAmB,CAAC,CAAC,CAAC;EACxC,eAAe;CAChB;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,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,cAAc,cAAc,OAAO;EACzC,IAAI,aAAa,OAAO,QAAQ,WAAW,CAAC,CAAC,MAAM,OAAO,QAAQ;GACjE,eAAe,EAAE,OAAO,IAAI;GAC5B,IAAI,YAAY,eAAe,MAAM,YAAY,KAAK,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC;EAC/E,CAAC;EACD,WAAW;GACV;GACA;GACA;GACA;EACD;EACA,OAAO;CACR;CACA,MAAM,gBAAgB,YAAY,CAAC,CAAC;CACpC,MAAM,mBAAmB,YAAY,CAAC,CAAC;CACvC,MAAM,cAAc,kBAAkB,OAAO;CAC7C,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,aAAa,aAAa,QAAQ;GACvD;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,WAAW;EACxC,MAAM,QAAQ,IAAI,CAAC,QAAQ,MAAM,GAAG,WAAW,MAAM,CAAC,CAAC;EACvD,MAAM,OAAO,MAAM;CACpB;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.21-dev.
|
|
3
|
+
"version": "8.0.0-rc.21-dev.9",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@prisma/orm-family-sql": "8.0.0-rc.21-dev.
|
|
16
|
-
"@prisma/orm-framework": "8.0.0-rc.21-dev.
|
|
17
|
-
"@prisma/orm-postgres": "8.0.0-rc.21-dev.
|
|
18
|
-
"@prisma/orm-toolchain": "8.0.0-rc.21-dev.
|
|
15
|
+
"@prisma/orm-family-sql": "8.0.0-rc.21-dev.9",
|
|
16
|
+
"@prisma/orm-framework": "8.0.0-rc.21-dev.9",
|
|
17
|
+
"@prisma/orm-postgres": "8.0.0-rc.21-dev.9",
|
|
18
|
+
"@prisma/orm-toolchain": "8.0.0-rc.21-dev.9",
|
|
19
19
|
"@standard-schema/spec": "^1.1.0",
|
|
20
20
|
"@types/node": "26.1.2",
|
|
21
21
|
"@types/pg": "8.20.4",
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
"pg": "8.22.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@internal/extension-supabase": "8.0.0-rc.21-dev.
|
|
28
|
-
"@repo/tsconfig": "8.0.0-rc.21-dev.
|
|
29
|
-
"@repo/tsdown": "8.0.0-rc.21-dev.
|
|
30
|
-
"@prisma/orm-target-postgres": "8.0.0-rc.21-dev.
|
|
27
|
+
"@internal/extension-supabase": "8.0.0-rc.21-dev.9",
|
|
28
|
+
"@repo/tsconfig": "8.0.0-rc.21-dev.9",
|
|
29
|
+
"@repo/tsdown": "8.0.0-rc.21-dev.9",
|
|
30
|
+
"@prisma/orm-target-postgres": "8.0.0-rc.21-dev.9",
|
|
31
31
|
"tsdown": "0.22.14",
|
|
32
32
|
"typescript": "5.9.3"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@prisma/orm-target-postgres": "8.0.0-rc.21-dev.
|
|
35
|
+
"@prisma/orm-target-postgres": "8.0.0-rc.21-dev.9",
|
|
36
36
|
"typescript": ">=5.9"
|
|
37
37
|
},
|
|
38
38
|
"peerDependenciesMeta": {
|