diff --git a/apps/server/package.json b/apps/server/package.json index 02797fc4..b7f9bfb6 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -11,13 +11,15 @@ }, "dependencies": { "@dotenvx/dotenvx": "1.43.0", + "@prisma/client": "6.7.0", "@sentry/node": "9.17.0", "@stacks/blockchain-api-client": "8.10.0", "@stacks/stacks-blockchain-api-types": "7.14.1", "@stackspulse/protocols": "workspace:*", "@t3-oss/env-core": "0.13.4", "better-sqlite3": "11.10.0", - "db0": "0.2.4", + "consola": "3.4.2", + "db0": "0.3.2", "drizzle-orm": "0.39.3", "h3": "1.15.3", "nitro-cors": "0.7.1", @@ -29,6 +31,6 @@ }, "devDependencies": { "nitropack": "2.11.11", - "prisma": "6.3.1" + "prisma": "6.7.0" } } diff --git a/apps/server/prisma/migrations/2_optimisations/migration.sql b/apps/server/prisma/migrations/2_optimisations/migration.sql new file mode 100644 index 00000000..a5160146 --- /dev/null +++ b/apps/server/prisma/migrations/2_optimisations/migration.sql @@ -0,0 +1,8 @@ + CREATE INDEX IF NOT EXISTS idx_txs_contract_call_contract_id ON txs (contract_call_contract_id); + CREATE INDEX IF NOT EXISTS idx_principal_stx_txs_principal ON principal_stx_txs (principal); + CREATE INDEX IF NOT EXISTS idx_stx_events_sender ON stx_events (sender); + CREATE INDEX IF NOT EXISTS idx_stx_events_recipient ON stx_events (recipient); + CREATE INDEX IF NOT EXISTS idx_ft_events_sender ON ft_events (sender); + CREATE INDEX IF NOT EXISTS idx_ft_events_recipient ON ft_events (recipient); + CREATE INDEX IF NOT EXISTS idx_nft_events_sender ON nft_events (sender); + CREATE INDEX IF NOT EXISTS idx_nft_events_recipient ON nft_events (recipient); diff --git a/apps/server/src/api/protocols/stackingdao/index.get.ts b/apps/server/src/api/protocols/stackingdao/index.get.ts index 4a0319a1..28c402d8 100644 --- a/apps/server/src/api/protocols/stackingdao/index.get.ts +++ b/apps/server/src/api/protocols/stackingdao/index.get.ts @@ -1,5 +1,5 @@ -import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; +import { prisma } from "~/lib/prisma"; type StackingDAOProtocolStatsResponse = { month: string; @@ -8,7 +8,13 @@ type StackingDAOProtocolStatsResponse = { }[]; export default defineCachedEventHandler(async (event) => { - const result = await sql` + const result = await prisma.$queryRaw< + { + month: string; + deposits: bigint; + withdrawals: bigint; + }[] + >` WITH monthly_blocks AS ( SELECT DATE_TRUNC('month', TO_TIMESTAMP(burn_block_time)) AS month, @@ -26,16 +32,16 @@ deposits AS ( SELECT mb.month, SUM(se.amount) AS deposits - FROM + FROM monthly_blocks mb - JOIN + JOIN stx_events se ON se.block_height BETWEEN mb.min_block_height AND mb.max_block_height WHERE se.recipient = 'SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.reserve-v1' AND se.sender NOT LIKE 'SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG%' AND canonical = TRUE AND microblock_canonical = TRUE - GROUP BY + GROUP BY mb.month ), @@ -74,8 +80,8 @@ ORDER BY // format of the month is "2021-08-01 00:00:00+00" // we want to output "2021-08" month: row.month.slice(0, 7), - deposits: Number.parseInt(row.deposits), - withdrawals: Number.parseInt(row.withdrawals), + deposits: Number.parseInt(row.deposits.toString()), + withdrawals: Number.parseInt(row.withdrawals.toString()), })); return stats; diff --git a/apps/server/src/api/protocols/users/index.ts b/apps/server/src/api/protocols/users/index.ts index 41591bb6..93f96301 100644 --- a/apps/server/src/api/protocols/users/index.ts +++ b/apps/server/src/api/protocols/users/index.ts @@ -1,9 +1,9 @@ +import { Prisma } from "@prisma/client"; import type { Protocol } from "@stackspulse/protocols"; -import type postgres from "postgres"; import { z } from "zod"; -import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; +import { prisma } from "~/lib/prisma"; const protocolUsersRouteSchema = z.object({ mode: z.enum(["direct", "nested"]).optional(), @@ -27,14 +27,14 @@ export default defineCachedEventHandler(async (event) => { }; const daysToSubtract = daysToSubtractMap[query.date]; - let result: postgres.Row[]; + let result: { protocol_name: Protocol; unique_senders: number }[]; if (mode === "direct") { result = await getProtocolUsersDirect({ limit, daysToSubtract, }); } else { - result = await getProtocolUsersNested({ + result = await getProtocolUsersNestedPrisma({ limit, daysToSubtract, }); @@ -57,95 +57,89 @@ const getProtocolUsersDirect = async ({ limit, daysToSubtract, }: QueryParams) => { - let dateCondition = ""; - if (daysToSubtract) { - dateCondition = `AND txs.block_time >= EXTRACT(EPOCH FROM (NOW() - INTERVAL '${daysToSubtract} days'))`; - } + const dateCondition = daysToSubtract + ? Prisma.sql`AND txs.block_time >= EXTRACT(EPOCH FROM (NOW() - INTERVAL '${daysToSubtract} days'))` + : Prisma.sql``; - const result = await sql` - SELECT - dapps.id as protocol_name, - COUNT(DISTINCT txs.sender_address) AS unique_senders - FROM - txs - JOIN - dapps ON txs.contract_call_contract_id = ANY (dapps.contracts) - WHERE - txs.type_id = 2 - ${sql.unsafe(dateCondition)} - GROUP BY - dapps.id - ORDER BY - unique_senders DESC - LIMIT ${limit}; - `; + const result = await prisma.$queryRaw< + { + contract_call_contract_id: string; + unique_senders: bigint; + }[] + >` + SELECT + dapps.id as protocol_name, + COUNT(DISTINCT txs.sender_address) AS unique_senders + FROM + txs + JOIN + dapps ON txs.contract_call_contract_id = ANY (dapps.contracts) + WHERE + type_id = 2 + ${dateCondition} + GROUP BY + dapps.id + ORDER BY + unique_senders DESC + LIMIT ${limit} + `; - return result; + return result.map((r) => ({ + protocol_name: r.contract_call_contract_id, + unique_senders: Number(r.unique_senders), + })); }; -const getProtocolUsersNested = async ({ +const getProtocolUsersNestedPrisma = async ({ limit, daysToSubtract, }: QueryParams) => { - let dateCondition = ""; - if (daysToSubtract) { - dateCondition = `AND txs.block_time >= EXTRACT(EPOCH FROM (NOW() - INTERVAL '${daysToSubtract} days'))`; - } + const dateCondition = daysToSubtract + ? Prisma.sql`AND txs.block_time >= EXTRACT(EPOCH FROM (NOW() - INTERVAL '${daysToSubtract} days'))` + : Prisma.sql``; - const result = await sql` -WITH protocol_contracts AS ( - SELECT id, UNNEST(contracts) AS contract_address - FROM dapps -), - -address_txs AS ( - SELECT DISTINCT tx_id, index_block_hash, microblock_hash, protocol_contracts.id AS protocol_name - FROM ( - SELECT tx_id, index_block_hash, microblock_hash, contract_call_contract_id AS address - FROM txs - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, principal - FROM principal_stx_txs - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, sender - FROM stx_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, recipient - FROM stx_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, sender - FROM ft_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, recipient - FROM ft_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, sender - FROM nft_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, recipient - FROM nft_events - ) sub - JOIN protocol_contracts ON sub.address = protocol_contracts.contract_address -) - -SELECT - atxs.protocol_name, - COUNT(DISTINCT txs.sender_address) AS unique_senders -FROM - address_txs atxs -JOIN - txs ON atxs.tx_id = txs.tx_id -JOIN - blocks ON txs.block_height = blocks.block_height -WHERE - 1=1 - ${sql.unsafe(dateCondition)} -GROUP BY - atxs.protocol_name -ORDER BY - unique_senders DESC -LIMIT ${limit}; + const result = await prisma.$queryRaw< + { + contract_call_contract_id: string; + unique_senders: bigint; + }[] + >` + WITH protocol_contracts AS ( + SELECT + id, + UNNEST(contracts) AS contract_address + FROM + dapps + ), + address_txs AS ( + SELECT DISTINCT + tx_id, + index_block_hash, + microblock_hash + FROM + txs + WHERE + contract_call_contract_id IN (SELECT contract_address FROM protocol_contracts) + ${dateCondition} + AND canonical = TRUE + AND microblock_canonical = TRUE + ) + SELECT + contract_call_contract_id, + COUNT(DISTINCT sender_address) AS unique_senders + FROM + txs + WHERE + tx_id IN (SELECT tx_id FROM address_txs) + GROUP BY + contract_call_contract_id + ORDER BY + unique_senders DESC + LIMIT ${limit} `; - return result; + return result.map((r) => ({ + protocol_name: r.contract_call_contract_id, + unique_senders: Number(r.unique_senders), + })); }; diff --git a/apps/server/src/api/tokens/transaction-volume.get.ts b/apps/server/src/api/tokens/transaction-volume.get.ts index edb252bd..db3adb6a 100644 --- a/apps/server/src/api/tokens/transaction-volume.get.ts +++ b/apps/server/src/api/tokens/transaction-volume.get.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; +import { prisma } from "~/lib/prisma"; const tokensTransactionVolumeRouteSchema = z.object({ token: z.string(), @@ -18,21 +18,26 @@ export default defineCachedEventHandler(async (event) => { tokensTransactionVolumeRouteSchema, ); - const result = await sql` -SELECT - DATE_TRUNC('day', TO_TIMESTAMP(blocks.burn_block_time)) AS date, - SUM(ft_events.amount::numeric) AS daily_volume -FROM - ft_events -JOIN - blocks ON ft_events.index_block_hash = blocks.index_block_hash -WHERE - ft_events.asset_identifier = ${query.token} - AND ft_events.canonical = true -GROUP BY - DATE_TRUNC('day', TO_TIMESTAMP(blocks.burn_block_time)) -ORDER BY - date; + const result = await prisma.$queryRaw< + { + date: string; + daily_volume: string; + }[] + >` + SELECT + DATE_TRUNC('day', TO_TIMESTAMP(blocks.burn_block_time)) AS date, + SUM(ft_events.amount::numeric) AS daily_volume + FROM + ft_events + JOIN + blocks ON ft_events.index_block_hash = blocks.index_block_hash + WHERE + ft_events.asset_identifier = ${query.token} + AND ft_events.canonical = true + GROUP BY + DATE_TRUNC('day', TO_TIMESTAMP(blocks.burn_block_time)) + ORDER BY + date; `; const stats: TokensTransactionVolumeRouteResponse = result.map((row) => ({ diff --git a/apps/server/src/api/transactions/index.get.ts b/apps/server/src/api/transactions/index.get.ts index fc4508d2..3a6054a0 100644 --- a/apps/server/src/api/transactions/index.get.ts +++ b/apps/server/src/api/transactions/index.get.ts @@ -1,9 +1,10 @@ +import { Prisma } from "@prisma/client"; import type { ContractCallTransaction } from "@stacks/stacks-blockchain-api-types"; import { type Protocol, protocols } from "@stackspulse/protocols"; import { z } from "zod"; -import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; +import { prisma } from "~/lib/prisma"; import { stacksClient } from "~/lib/stacks"; const transactionsRouteSchema = z.object({ @@ -17,33 +18,32 @@ type TransactionsRouteResponse = (ContractCallTransaction & { export default defineCachedEventHandler(async (event) => { const query = await getValidatedQueryZod(event, transactionsRouteSchema); - let protocolCondition = ""; - if (query.protocol) { - protocolCondition = `AND dapps.id = '${query.protocol}'`; - } + const protocolCondition = query.protocol + ? Prisma.sql`AND dapps.id = ${query.protocol}` + : Prisma.sql``; - const result = await sql< + const result = await prisma.$queryRaw< { protocol: Protocol; tx_id: Buffer; }[] >` -SELECT - dapps.id as protocol, - tx_id -FROM - txs -JOIN - dapps ON txs.contract_call_contract_id = ANY (dapps.contracts) -WHERE - txs.type_id = 2 - ${sql.unsafe(protocolCondition)} - AND canonical = TRUE - AND microblock_canonical = TRUE -ORDER BY - block_height DESC, - tx_index DESC -LIMIT 50 + SELECT + dapps.id as protocol, + tx_id + FROM + txs + JOIN + dapps ON txs.contract_call_contract_id = ANY (dapps.contracts) + WHERE + txs.type_id = 2 + ${protocolCondition} + AND canonical = TRUE + AND microblock_canonical = TRUE + ORDER BY + block_height DESC, + tx_index DESC + LIMIT 50 `; const formattedResult = result.map((r) => ({ diff --git a/apps/server/src/api/transactions/stats/index.ts b/apps/server/src/api/transactions/stats/index.ts index c2e2f2fd..f970da0a 100644 --- a/apps/server/src/api/transactions/stats/index.ts +++ b/apps/server/src/api/transactions/stats/index.ts @@ -1,8 +1,10 @@ +import { Prisma } from "@prisma/client"; import { protocols } from "@stackspulse/protocols"; import { z } from "zod"; -import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; +import { consola } from "~/lib/consola"; import { getValidatedQueryZod } from "~/lib/nitro"; +import { prisma } from "~/lib/prisma"; const transactionStatsRouteSchema = z.object({ protocol: z.enum(protocols).optional(), @@ -16,16 +18,23 @@ type TransactionStatsRouteResponse = { export default defineCachedEventHandler(async (event) => { const query = await getValidatedQueryZod(event, transactionStatsRouteSchema); - let protocolContractsCondition = ""; - if (query.protocol) { - protocolContractsCondition = `WHERE dapps.id = '${query.protocol}'`; - } + const protocolCondition = query.protocol + ? Prisma.sql`WHERE dapps.id = ${query.protocol}` + : Prisma.sql``; - const result = await sql` + const startTime = performance.now(); + const result = await prisma.$queryRaw< + [ + { + count: bigint; + unique_senders: bigint; + }, + ] + >` WITH protocol_contracts AS ( SELECT UNNEST(contracts) AS contract_address FROM dapps - ${sql.unsafe(protocolContractsCondition)} + ${protocolCondition} ), address_txs AS ( @@ -69,9 +78,13 @@ JOIN AND atxs.microblock_hash = txs.microblock_hash `; + const endTime = performance.now(); + const executionTime = endTime - startTime; + consola.debug("Query execution completed in", executionTime, "ms"); + const stats: TransactionStatsRouteResponse = { - count: Number.parseInt(result[0].count), - unique_senders: Number.parseInt(result[0].unique_senders), + count: Number.parseInt(result[0].count.toString()), + unique_senders: Number.parseInt(result[0].unique_senders.toString()), }; return stats; diff --git a/apps/server/src/api/transactions/unique-senders/index.ts b/apps/server/src/api/transactions/unique-senders/index.ts index a59caf9c..0201e288 100644 --- a/apps/server/src/api/transactions/unique-senders/index.ts +++ b/apps/server/src/api/transactions/unique-senders/index.ts @@ -1,8 +1,8 @@ import { protocols } from "@stackspulse/protocols"; import { z } from "zod"; -import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; +import { prisma } from "~/lib/prisma"; const transactionUniqueSendersRouteSchema = z.object({ protocol: z.enum(protocols), @@ -19,67 +19,72 @@ export default defineCachedEventHandler(async (event) => { transactionUniqueSendersRouteSchema, ); - const result = await sql` -WITH monthly_blocks AS ( - SELECT - DATE_TRUNC('month', TO_TIMESTAMP(burn_block_time)) AS month, - MIN(block_height) AS min_block_height, - MAX(block_height) AS max_block_height - FROM - blocks - GROUP BY - DATE_TRUNC('month', TO_TIMESTAMP(burn_block_time)) -), + const result = await prisma.$queryRaw< + { + month: string; + unique_senders: bigint; + }[] + >` + WITH monthly_blocks AS ( + SELECT + DATE_TRUNC('month', TO_TIMESTAMP(burn_block_time)) AS month, + MIN(block_height) AS min_block_height, + MAX(block_height) AS max_block_height + FROM + blocks + GROUP BY + DATE_TRUNC('month', TO_TIMESTAMP(burn_block_time)) + ), -protocol_contracts AS ( - SELECT UNNEST(contracts) AS contract_address - FROM dapps - WHERE id = ${query.protocol} -), + protocol_contracts AS ( + SELECT UNNEST(contracts) AS contract_address + FROM dapps + WHERE id = ${query.protocol} + ), -address_txs AS ( - SELECT DISTINCT tx_id, index_block_hash, microblock_hash - FROM ( - SELECT tx_id, index_block_hash, microblock_hash, contract_call_contract_id AS address - FROM txs - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, principal - FROM principal_stx_txs - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, sender - FROM stx_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, recipient - FROM stx_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, sender - FROM ft_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, recipient - FROM ft_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, sender - FROM nft_events - UNION ALL - SELECT tx_id, index_block_hash, microblock_hash, recipient - FROM nft_events - ) sub - WHERE address IN (SELECT contract_address FROM protocol_contracts) -) + address_txs AS ( + SELECT DISTINCT tx_id, index_block_hash, microblock_hash + FROM ( + SELECT tx_id, index_block_hash, microblock_hash, contract_call_contract_id AS address + FROM txs + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, principal + FROM principal_stx_txs + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, sender + FROM stx_events + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, recipient + FROM stx_events + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, sender + FROM ft_events + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, recipient + FROM ft_events + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, sender + FROM nft_events + UNION ALL + SELECT tx_id, index_block_hash, microblock_hash, recipient + FROM nft_events + ) sub + WHERE address IN (SELECT contract_address FROM protocol_contracts) + ) -SELECT - mb.month, - COUNT(DISTINCT txs.sender_address) AS unique_senders -FROM - monthly_blocks mb -JOIN - txs ON txs.block_height BETWEEN mb.min_block_height AND mb.max_block_height -JOIN - address_txs atxs ON atxs.tx_id = txs.tx_id -GROUP BY - mb.month -ORDER BY - mb.month ASC + SELECT + mb.month, + COUNT(DISTINCT txs.sender_address) AS unique_senders + FROM + monthly_blocks mb + JOIN + txs ON txs.block_height BETWEEN mb.min_block_height AND mb.max_block_height + JOIN + address_txs atxs ON atxs.tx_id = txs.tx_id + GROUP BY + mb.month + ORDER BY + mb.month ASC `; const stats: TransactionUniqueSendersRouteResponse = result.map((row) => ({ diff --git a/apps/server/src/lib/consola.ts b/apps/server/src/lib/consola.ts new file mode 100644 index 00000000..03e55c61 --- /dev/null +++ b/apps/server/src/lib/consola.ts @@ -0,0 +1,6 @@ +import { createConsola } from "consola"; +import { env } from "~/env"; + +export const consola = createConsola({ + level: env.NODE_ENV === "development" ? 4 : 3, +}); diff --git a/apps/server/src/lib/prisma.ts b/apps/server/src/lib/prisma.ts new file mode 100644 index 00000000..0426feb2 --- /dev/null +++ b/apps/server/src/lib/prisma.ts @@ -0,0 +1,7 @@ +import { PrismaClient } from "@prisma/client"; + +const globalForPrisma = globalThis as unknown as { prisma: PrismaClient }; + +export const prisma = globalForPrisma.prisma || new PrismaClient(); + +if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9ed9313..2423bb95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,6 +30,9 @@ importers: '@dotenvx/dotenvx': specifier: 1.43.0 version: 1.43.0 + '@prisma/client': + specifier: 6.7.0 + version: 6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3) '@sentry/node': specifier: 9.17.0 version: 9.17.0 @@ -48,12 +51,15 @@ importers: better-sqlite3: specifier: 11.10.0 version: 11.10.0 + consola: + specifier: 3.4.2 + version: 3.4.2 db0: - specifier: 0.2.4 - version: 0.2.4(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))) + specifier: 0.3.2 + version: 0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))) drizzle-orm: specifier: 0.39.3 - version: 0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3)) + version: 0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3)) h3: specifier: 1.15.3 version: 1.15.3 @@ -68,7 +74,7 @@ importers: version: 1.18.2 unstorage: specifier: 1.16.0 - version: 1.16.0(db0@0.2.4(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))))(ioredis@5.6.1) + version: 1.16.0(db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))))(ioredis@5.6.1) zod: specifier: 3.24.4 version: 3.24.4 @@ -78,10 +84,10 @@ importers: devDependencies: nitropack: specifier: 2.11.11 - version: 2.11.11(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))) + version: 2.11.11(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))) prisma: - specifier: 6.3.1 - version: 6.3.1(typescript@5.8.3) + specifier: 6.7.0 + version: 6.7.0(typescript@5.8.3) apps/web: dependencies: @@ -96,7 +102,7 @@ importers: version: 3.2.0(@types/react-dom@19.1.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@sentry/nextjs': specifier: 9.17.0 - version: 9.17.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.2(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.98.0) + version: 9.17.0(@opentelemetry/context-async-hooks@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.0.0(@opentelemetry/api@1.9.0))(next@15.3.2(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.8) '@stacks/stacks-blockchain-api-types': specifier: 7.14.1 version: 7.14.1 @@ -159,7 +165,7 @@ importers: version: 1.0.7(tailwindcss@3.4.15) unstorage: specifier: 1.16.0 - version: 1.16.0(db0@0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)))(ioredis@5.6.1) + version: 1.16.0(db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.43.1(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))))(ioredis@5.6.1) zod: specifier: 3.24.4 version: 3.24.4 @@ -814,19 +820,19 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@libsql/client@0.14.0': - resolution: {integrity: sha512-/9HEKfn6fwXB5aTEEoMeFh4CtG0ZzbncBb1e++OCdVpgKZ/xyMsIVYXm0w7Pv4RUel803vE6LwniB3PqD72R0Q==} + '@libsql/client@0.15.5': + resolution: {integrity: sha512-bbTpLdIMH1GcJfvNoh/m0HlHV/RmCz8tt/QCld6pM0C0ttZTsVyZ+PLn42/UxEvyTe2QcNa9w8qHr8NmwKV+1g==} - '@libsql/core@0.14.0': - resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} + '@libsql/core@0.15.5': + resolution: {integrity: sha512-18hhESfHuOdBNAXIAqZbXfe1xskpOn+vEuYIbWgtbzq7On8lGBA1FASQ8LpzBsP+Xv8fK2JoiDKIFDTc8jQ3mg==} - '@libsql/darwin-arm64@0.4.7': - resolution: {integrity: sha512-yOL742IfWUlUevnI5PdnIT4fryY3LYTdLm56bnY0wXBw7dhFcnjuA7jrH3oSVz2mjZTHujxoITgAE7V6Z+eAbg==} + '@libsql/darwin-arm64@0.5.9': + resolution: {integrity: sha512-gxvDYfp54CmsjfJ6o3XFyRS+FEikrDMiPwTD0eKUJHdwfMlO//C/TTr5gcLB7LHAaknaxS8w4XEMrL/MP2UQ7A==} cpu: [arm64] os: [darwin] - '@libsql/darwin-x64@0.4.7': - resolution: {integrity: sha512-ezc7V75+eoyyH07BO9tIyJdqXXcRfZMbKcLCeF8+qWK5nP8wWuMcfOVywecsXGRbT99zc5eNra4NEx6z5PkSsA==} + '@libsql/darwin-x64@0.5.9': + resolution: {integrity: sha512-bOy7R9xVlSsvEfNLGXnqu0TcFiO/r9c1+7jw1asZCtstf01H+LDyi4p9MsGIuiwZXwFiO5zd8N4r6QQjZmq+Jg==} cpu: [x64] os: [darwin] @@ -840,28 +846,38 @@ packages: '@libsql/isomorphic-ws@0.1.5': resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - '@libsql/linux-arm64-gnu@0.4.7': - resolution: {integrity: sha512-WlX2VYB5diM4kFfNaYcyhw5y+UJAI3xcMkEUJZPtRDEIu85SsSFrQ+gvoKfcVh76B//ztSeEX2wl9yrjF7BBCA==} + '@libsql/linux-arm-gnueabihf@0.5.9': + resolution: {integrity: sha512-WyE6x1PBZ9puVKstt/JaaF4ofdwwCYkRgNDHDeYwUKFa+tvp02TAYIE4xlV2c47NeT7txOIWPj71VhBWn7nKlQ==} + cpu: [arm] + os: [linux] + + '@libsql/linux-arm-musleabihf@0.5.9': + resolution: {integrity: sha512-Wea6dgnT9THDxoooxExxwE1wlXEZ1sgd9LywE8b8OWuZq8ufnKmqbI67gfvGz2TmSrgxui1g1BX6Bo/Q3Kg5CQ==} + cpu: [arm] + os: [linux] + + '@libsql/linux-arm64-gnu@0.5.9': + resolution: {integrity: sha512-l8GhvzCXL23yLa7TfEz9Q5Pvjf/hxVosntEp2kzdhEfZ5ikmCf9C/Qrelv55LHIuFlJqv3cFkJoo5q+0DG1PYg==} cpu: [arm64] os: [linux] - '@libsql/linux-arm64-musl@0.4.7': - resolution: {integrity: sha512-6kK9xAArVRlTCpWeqnNMCoXW1pe7WITI378n4NpvU5EJ0Ok3aNTIC2nRPRjhro90QcnmLL1jPcrVwO4WD1U0xw==} + '@libsql/linux-arm64-musl@0.5.9': + resolution: {integrity: sha512-DlMU/yuahOc8digrZgsKHqf4DxpCaX8Ri+PO/wC+CVZ6OsXEnvr11oamDokMDTMcajixf79c4b3/P0tK3xaxLw==} cpu: [arm64] os: [linux] - '@libsql/linux-x64-gnu@0.4.7': - resolution: {integrity: sha512-CMnNRCmlWQqqzlTw6NeaZXzLWI8bydaXDke63JTUCvu8R+fj/ENsLrVBtPDlxQ0wGsYdXGlrUCH8Qi9gJep0yQ==} + '@libsql/linux-x64-gnu@0.5.9': + resolution: {integrity: sha512-RG7c8qCmTSVjbsiRSfEVVk2vstsw65Q8Sjtsbet5W5ORe2fmCYnrXfaDxEIm824bhTFeQDiTNdBSKTRtjWnAVw==} cpu: [x64] os: [linux] - '@libsql/linux-x64-musl@0.4.7': - resolution: {integrity: sha512-nI6tpS1t6WzGAt1Kx1n1HsvtBbZ+jHn0m7ogNNT6pQHZQj7AFFTIMeDQw/i/Nt5H38np1GVRNsFe99eSIMs9XA==} + '@libsql/linux-x64-musl@0.5.9': + resolution: {integrity: sha512-omyqxkFA7m9lhiYkWWiZSpMcR0Fnb5xJH3TsYH7PeFrTzl85DgiGlvUBbpzZw/R6WKE4iCywWlnSr4q0W6NsJg==} cpu: [x64] os: [linux] - '@libsql/win32-x64-msvc@0.4.7': - resolution: {integrity: sha512-7pJzOWzPm6oJUxml+PCDRzYQ4A1hTMHAciTAHfFK4fkbDZX33nWPVG7Y3vqdKtslcwAzwmrNDc6sXy2nwWnbiw==} + '@libsql/win32-x64-msvc@0.5.9': + resolution: {integrity: sha512-wQniH0FbqlLAFKlgTG4ThD6v49S08VApLMTZxXr4a1vELgaiVI/nFwPm5LrSHkoMSXU9nxOZZA+momso9pgZtg==} cpu: [x64] os: [win32] @@ -1025,6 +1041,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/context-async-hooks@2.0.0': + resolution: {integrity: sha512-IEkJGzK1A9v3/EHjXh3s2IiFc6L4jfK+lNgKVgUjeUJQRRhnVFMIO3TAvKwonm9O1HebCuoOt98v8bZW7oVQHA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@1.30.1': resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==} engines: {node: '>=14'} @@ -1191,12 +1213,24 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/resources@2.0.0': + resolution: {integrity: sha512-rnZr6dML2z4IARI4zPGQV4arDikF/9OXZQzrC01dLmn0CZxU5U5OLd/m1T7YkGRj5UitjeoCtg/zorlgMQcdTg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-trace-base@1.30.1': resolution: {integrity: sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/sdk-trace-base@2.0.0': + resolution: {integrity: sha512-qQnYdX+ZCkonM7tA5iU4fSRsVxbFGml8jbxOgipRGMFHKaXKHQ30js03rTobYjKjIfnOsZSbHKWF0/0v0OQGfw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/semantic-conventions@1.28.0': resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} engines: {node: '>=14'} @@ -1205,6 +1239,10 @@ packages: resolution: {integrity: sha512-4VlGgo32k2EQ2wcCY3vEU28A0O13aOtHz3Xt2/2U5FAh9EfhD6t6DqL5Z6yAnRCntbTFDU4YfbpyzSlHNWycPw==} engines: {node: '>=14'} + '@opentelemetry/semantic-conventions@1.33.0': + resolution: {integrity: sha512-TIpZvE8fiEILFfTlfPnltpBaD3d9/+uQHVCyC3vfdh6WfCXKhNFzoP5RyDDIndfvZC5GrA4pyEDNyjPloJud+w==} + engines: {node: '>=14'} + '@opentelemetry/sql-common@0.40.1': resolution: {integrity: sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg==} engines: {node: '>=14'} @@ -1314,20 +1352,35 @@ packages: resolution: {integrity: sha512-aQypoot0HPSJa6gDPEPTntc1GT6QINrSbgRlRhadGW2WaYqUK3tK4Bw9SBMZXhmxd3GeAlZjVcODHgiu+THY7A==} engines: {node: '>=18'} - '@prisma/debug@6.3.1': - resolution: {integrity: sha512-RrEBkd+HLZx+ydfmYT0jUj7wjLiS95wfTOSQ+8FQbvb6vHh5AeKfEPt/XUQ5+Buljj8hltEfOslEW57/wQIVeA==} + '@prisma/client@6.7.0': + resolution: {integrity: sha512-+k61zZn1XHjbZul8q6TdQLpuI/cvyfil87zqK2zpreNIXyXtpUv3+H/oM69hcsFcZXaokHJIzPAt5Z8C8eK2QA==} + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + typescript: '>=5.1.0' + peerDependenciesMeta: + prisma: + optional: true + typescript: + optional: true + + '@prisma/config@6.7.0': + resolution: {integrity: sha512-di8QDdvSz7DLUi3OOcCHSwxRNeW7jtGRUD2+Z3SdNE3A+pPiNT8WgUJoUyOwJmUr5t+JA2W15P78C/N+8RXrOA==} - '@prisma/engines-version@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': - resolution: {integrity: sha512-R/ZcMuaWZT2UBmgX3Ko6PAV3f8//ZzsjRIG1eKqp3f2rqEqVtCv+mtzuH2rBPUC9ujJ5kCb9wwpxeyCkLcHVyA==} + '@prisma/debug@6.7.0': + resolution: {integrity: sha512-RabHn9emKoYFsv99RLxvfG2GHzWk2ZI1BuVzqYtmMSIcuGboHY5uFt3Q3boOREM9de6z5s3bQoyKeWnq8Fz22w==} - '@prisma/engines@6.3.1': - resolution: {integrity: sha512-sXdqEVLyGAJ5/iUoG/Ea5AdHMN71m6PzMBWRQnLmhhOejzqAaEr8rUd623ql6OJpED4s/U4vIn4dg1qkF7vGag==} + '@prisma/engines-version@6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed': + resolution: {integrity: sha512-EvpOFEWf1KkJpDsBCrih0kg3HdHuaCnXmMn7XFPObpFTzagK1N0Q0FMnYPsEhvARfANP5Ok11QyoTIRA2hgJTA==} - '@prisma/fetch-engine@6.3.1': - resolution: {integrity: sha512-HOf/0umOgt+/S2xtZze+FHKoxpVg4YpVxROr6g2YG09VsI3Ipyb+rGvD6QGbCqkq5NTWAAZoOGNL+oy7t+IhaQ==} + '@prisma/engines@6.7.0': + resolution: {integrity: sha512-3wDMesnOxPrOsq++e5oKV9LmIiEazFTRFZrlULDQ8fxdub5w4NgRBoxtWbvXmj2nJVCnzuz6eFix3OhIqsZ1jw==} - '@prisma/get-platform@6.3.1': - resolution: {integrity: sha512-AYLq6Hk9xG73JdLWJ3Ip9Wg/vlP7xPvftGBalsPzKDOHr/ImhwJ09eS8xC2vNT12DlzGxhfk8BkL0ve2OriNhQ==} + '@prisma/fetch-engine@6.7.0': + resolution: {integrity: sha512-zLlAGnrkmioPKJR4Yf7NfW3hftcvqeNNEHleMZK9yX7RZSkhmxacAYyfGsCcqRt47jiZ7RKdgE0Wh2fWnm7WsQ==} + + '@prisma/get-platform@6.7.0': + resolution: {integrity: sha512-i9IH5lO4fQwnMLvQLYNdgVh9TK3PuWBfQd7QLk/YurnAIg+VeADcZDbmhAi4XBBDD+hDif9hrKyASu0hbjwabw==} '@prisma/instrumentation@6.7.0': resolution: {integrity: sha512-3NuxWlbzYNevgPZbV0ktA2z6r0bfh0g22ONTxcK09a6+6MdIPjHsYx1Hnyu4yOq+j7LmupO5J69hhuOnuvj8oQ==} @@ -2476,8 +2529,8 @@ packages: '@tsconfig/node22@22.0.1': resolution: {integrity: sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==} - '@types/better-sqlite3@7.6.12': - resolution: {integrity: sha512-fnQmj8lELIj7BSrZQAdBMHEHX8OZLYIHXqAKT1O7tDfLxaINzf00PMjw22r3N/xXh0w/sGHlO6SVaCQ2mj78lg==} + '@types/better-sqlite3@7.6.13': + resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} @@ -2545,6 +2598,9 @@ packages: '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} + '@types/pg@8.15.1': + resolution: {integrity: sha512-YKHrkGWBX5+ivzvOQ66I0fdqsQTsvxqM0AGP2i0XrVZ9DP5VA/deEbTf7VuLPGpY7fJB9uGbkZ6KjVhuHcrTkQ==} + '@types/pg@8.6.1': resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} @@ -2568,8 +2624,8 @@ packages: '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - '@types/ws@8.5.14': - resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -2983,6 +3039,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.5: + resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -3363,29 +3424,6 @@ packages: date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} - db0@0.2.4: - resolution: {integrity: sha512-hIzftLH1nMsF95zSLjDLYLbE9huOXnLYUTAQ5yKF5amp0FpeD+B15XJa8BvGYSOeSCH4gl2WahB/y1FcUByQSg==} - peerDependencies: - '@electric-sql/pglite': '*' - '@libsql/client': '*' - better-sqlite3: '*' - drizzle-orm: '*' - mysql2: '*' - sqlite3: '*' - peerDependenciesMeta: - '@electric-sql/pglite': - optional: true - '@libsql/client': - optional: true - better-sqlite3: - optional: true - drizzle-orm: - optional: true - mysql2: - optional: true - sqlite3: - optional: true - db0@0.3.2: resolution: {integrity: sha512-xzWNQ6jk/+NtdfLyXEipbX55dmDSeteLFt/ayF+wZUU5bzKgmrDOxmInUTbyVRp46YwnJdkDA1KhB7WIXFofJw==} peerDependencies: @@ -3649,6 +3687,95 @@ packages: sqlite3: optional: true + drizzle-orm@0.43.1: + resolution: {integrity: sha512-dUcDaZtE/zN4RV/xqGrVSMpnEczxd5cIaoDeor7Zst9wOe/HzC/7eAaulywWGYXdDEc9oBPMjayVEDg0ziTLJA==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=4' + '@electric-sql/pglite': '>=0.2.0' + '@libsql/client': '>=0.10.0' + '@libsql/client-wasm': '>=0.10.0' + '@neondatabase/serverless': '>=0.10.0' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1.13' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/sql.js': '*' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=14.0.0' + gel: '>=2' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@libsql/client-wasm': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + gel: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -3669,6 +3796,9 @@ packages: electron-to-chromium@1.5.101: resolution: {integrity: sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA==} + electron-to-chromium@1.5.151: + resolution: {integrity: sha512-Rl6uugut2l9sLojjS4H4SAr3A4IgACMLgpuEMPYCVcKydzfyPrn5absNRju38IhQOf/NwjJY8OGWjlteqYeBCA==} + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -3733,6 +3863,9 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -3749,6 +3882,11 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + esbuild@0.25.4: resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} engines: {node: '>=18'} @@ -4753,9 +4891,9 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - libsql@0.4.7: - resolution: {integrity: sha512-T9eIRCs6b0J1SHKYIvD8+KCJMcWZ900iZyxdnSCdqxN12Z1ijzT+jY5nrk72Jw4B0HGzms2NgpryArlJqvc3Lw==} - cpu: [x64, arm64, wasm32] + libsql@0.5.9: + resolution: {integrity: sha512-FzhiExE9uiMAOa8kmiUzsIOsIwv+YiMzaEFXEq26OSpdSJREOEa13XT/N2NzJkMFOROKN+z4IBkNrcp1oQAjpQ==} + cpu: [x64, arm64, wasm32, arm] os: [darwin, linux, win32] lilconfig@2.1.0: @@ -5210,6 +5348,9 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} @@ -5402,13 +5543,24 @@ packages: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} + pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + pg-protocol@1.7.1: resolution: {integrity: sha512-gjTHWGYWsEgy9MsY0Gp6ZJxV24IjDqdpTW7Eh0x+WfJLFsm/TJx1MzL6T0D88mBvkpxotCQ6TwW6N+Kko7lhgQ==} + pg-protocol@1.9.5: + resolution: {integrity: sha512-DYTWtWpfd5FOro3UnAfwvhD8jh59r2ig8bPtc9H8Ds7MscE/9NYruUQWFAOuraRl29jwcT2kyMFQ3MxeaVjUhg==} + pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} + pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -5506,18 +5658,37 @@ packages: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} + postgres-array@3.0.4: + resolution: {integrity: sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ==} + engines: {node: '>=12'} + postgres-bytea@1.0.0: resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} engines: {node: '>=0.10.0'} + postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + postgres-date@1.0.7: resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} engines: {node: '>=0.10.0'} + postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + postgres-interval@1.2.0: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} + postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + postgres@3.4.5: resolution: {integrity: sha512-cDWgoah1Gez9rN3H4165peY9qfpEo+SA61oQv65O3cRUE1pOEoJWwddwcqKE8XZYjbblOJlYDlLV4h67HrEVDg==} engines: {node: '>=12'} @@ -5545,8 +5716,8 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} - prisma@6.3.1: - resolution: {integrity: sha512-JKCZWvBC3enxk51tY4TWzS4b5iRt4sSU1uHn2I183giZTvonXaQonzVtjLzpOHE7qu9MxY510kAtFGJwryKe3Q==} + prisma@6.7.0: + resolution: {integrity: sha512-vArg+4UqnQ13CVhc2WUosemwh6hr6cr6FY2uzDvCIFwH8pu8BXVv38PktoMLVjtX7sbYThxbnZF5YiR8sN2clw==} engines: {node: '>=18.18'} hasBin: true peerDependencies: @@ -5885,8 +6056,8 @@ packages: scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} - schema-utils@4.3.0: - resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} engines: {node: '>= 10.13.0'} scule@1.3.0: @@ -6220,8 +6391,8 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser-webpack-plugin@5.3.11: - resolution: {integrity: sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==} + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -6545,6 +6716,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} @@ -6619,8 +6796,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.98.0: - resolution: {integrity: sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==} + webpack@5.99.8: + resolution: {integrity: sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -6704,8 +6881,8 @@ packages: utf-8-validate: optional: true - ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -7412,27 +7589,27 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@libsql/client@0.14.0': + '@libsql/client@0.15.5': dependencies: - '@libsql/core': 0.14.0 + '@libsql/core': 0.15.5 '@libsql/hrana-client': 0.7.0 js-base64: 3.7.7 - libsql: 0.4.7 + libsql: 0.5.9 promise-limit: 2.7.0 transitivePeerDependencies: - bufferutil - utf-8-validate optional: true - '@libsql/core@0.14.0': + '@libsql/core@0.15.5': dependencies: js-base64: 3.7.7 optional: true - '@libsql/darwin-arm64@0.4.7': + '@libsql/darwin-arm64@0.5.9': optional: true - '@libsql/darwin-x64@0.4.7': + '@libsql/darwin-x64@0.5.9': optional: true '@libsql/hrana-client@0.7.0': @@ -7451,26 +7628,32 @@ snapshots: '@libsql/isomorphic-ws@0.1.5': dependencies: - '@types/ws': 8.5.14 - ws: 8.18.0 + '@types/ws': 8.18.1 + ws: 8.18.2 transitivePeerDependencies: - bufferutil - utf-8-validate optional: true - '@libsql/linux-arm64-gnu@0.4.7': + '@libsql/linux-arm-gnueabihf@0.5.9': + optional: true + + '@libsql/linux-arm-musleabihf@0.5.9': optional: true - '@libsql/linux-arm64-musl@0.4.7': + '@libsql/linux-arm64-gnu@0.5.9': optional: true - '@libsql/linux-x64-gnu@0.4.7': + '@libsql/linux-arm64-musl@0.5.9': optional: true - '@libsql/linux-x64-musl@0.4.7': + '@libsql/linux-x64-gnu@0.5.9': optional: true - '@libsql/win32-x64-msvc@0.4.7': + '@libsql/linux-x64-musl@0.5.9': + optional: true + + '@libsql/win32-x64-msvc@0.5.9': optional: true '@manypkg/find-root@1.1.0': @@ -7692,6 +7875,10 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks@2.0.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -7924,6 +8111,12 @@ snapshots: '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 + '@opentelemetry/resources@2.0.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.0.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.33.0 + '@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -7931,10 +8124,19 @@ snapshots: '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 + '@opentelemetry/sdk-trace-base@2.0.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.0.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.0.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.33.0 + '@opentelemetry/semantic-conventions@1.28.0': {} '@opentelemetry/semantic-conventions@1.30.0': {} + '@opentelemetry/semantic-conventions@1.33.0': {} + '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -8020,26 +8222,38 @@ snapshots: '@poppinss/exception@1.2.1': {} - '@prisma/debug@6.3.1': {} + '@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3)': + optionalDependencies: + prisma: 6.7.0(typescript@5.8.3) + typescript: 5.8.3 - '@prisma/engines-version@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': {} + '@prisma/config@6.7.0': + dependencies: + esbuild: 0.25.4 + esbuild-register: 3.6.0(esbuild@0.25.4) + transitivePeerDependencies: + - supports-color + + '@prisma/debug@6.7.0': {} - '@prisma/engines@6.3.1': + '@prisma/engines-version@6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed': {} + + '@prisma/engines@6.7.0': dependencies: - '@prisma/debug': 6.3.1 - '@prisma/engines-version': 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 - '@prisma/fetch-engine': 6.3.1 - '@prisma/get-platform': 6.3.1 + '@prisma/debug': 6.7.0 + '@prisma/engines-version': 6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + '@prisma/fetch-engine': 6.7.0 + '@prisma/get-platform': 6.7.0 - '@prisma/fetch-engine@6.3.1': + '@prisma/fetch-engine@6.7.0': dependencies: - '@prisma/debug': 6.3.1 - '@prisma/engines-version': 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 - '@prisma/get-platform': 6.3.1 + '@prisma/debug': 6.7.0 + '@prisma/engines-version': 6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + '@prisma/get-platform': 6.7.0 - '@prisma/get-platform@6.3.1': + '@prisma/get-platform@6.7.0': dependencies: - '@prisma/debug': 6.3.1 + '@prisma/debug': 6.7.0 '@prisma/instrumentation@6.7.0(@opentelemetry/api@1.9.0)': dependencies: @@ -9045,7 +9259,7 @@ snapshots: '@sentry/core@9.17.0': {} - '@sentry/nextjs@9.17.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.2(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.98.0)': + '@sentry/nextjs@9.17.0(@opentelemetry/context-async-hooks@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.0.0(@opentelemetry/api@1.9.0))(next@15.3.2(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.8)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.30.0 @@ -9053,10 +9267,10 @@ snapshots: '@sentry-internal/browser-utils': 9.17.0 '@sentry/core': 9.17.0 '@sentry/node': 9.17.0 - '@sentry/opentelemetry': 9.17.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0) + '@sentry/opentelemetry': 9.17.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0) '@sentry/react': 9.17.0(react@19.1.0) '@sentry/vercel-edge': 9.17.0 - '@sentry/webpack-plugin': 3.3.1(webpack@5.98.0) + '@sentry/webpack-plugin': 3.3.1(webpack@5.99.8) chalk: 3.0.0 next: 15.3.2(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) resolve: 1.22.8 @@ -9121,13 +9335,13 @@ snapshots: '@opentelemetry/semantic-conventions': 1.30.0 '@sentry/core': 9.17.0 - '@sentry/opentelemetry@9.17.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0)': + '@sentry/opentelemetry@9.17.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.200.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.0.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.0.0(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.0.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.200.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.0.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.30.0 '@sentry/core': 9.17.0 @@ -9143,12 +9357,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 9.17.0 - '@sentry/webpack-plugin@3.3.1(webpack@5.98.0)': + '@sentry/webpack-plugin@3.3.1(webpack@5.99.8)': dependencies: '@sentry/bundler-plugin-core': 3.3.1 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.98.0 + webpack: 5.99.8 transitivePeerDependencies: - encoding - supports-color @@ -9233,7 +9447,7 @@ snapshots: '@tsconfig/node22@22.0.1': {} - '@types/better-sqlite3@7.6.12': + '@types/better-sqlite3@7.6.13': dependencies: '@types/node': 22.15.17 optional: true @@ -9269,11 +9483,11 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 '@types/estree@1.0.6': {} @@ -9304,6 +9518,13 @@ snapshots: dependencies: '@types/pg': 8.6.1 + '@types/pg@8.15.1': + dependencies: + '@types/node': 22.15.17 + pg-protocol: 1.9.5 + pg-types: 4.0.2 + optional: true + '@types/pg@8.6.1': dependencies: '@types/node': 22.15.17 @@ -9328,7 +9549,7 @@ snapshots: '@types/triple-beam@1.3.5': {} - '@types/ws@8.5.14': + '@types/ws@8.18.1': dependencies: '@types/node': 22.15.17 optional: true @@ -9903,6 +10124,13 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) + browserslist@4.24.5: + dependencies: + caniuse-lite: 1.0.30001717 + electron-to-chromium: 1.5.151 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.5) + buffer-crc32@0.2.13: {} buffer-crc32@1.0.0: {} @@ -10263,17 +10491,18 @@ snapshots: date-fns@4.1.0: {} - db0@0.2.4(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))): + db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))): optionalDependencies: - '@libsql/client': 0.14.0 + '@libsql/client': 0.15.5 better-sqlite3: 11.10.0 - drizzle-orm: 0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3)) + drizzle-orm: 0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3)) - db0@0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)): + db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.43.1(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))): optionalDependencies: - '@libsql/client': 0.14.0 + '@libsql/client': 0.15.5 better-sqlite3: 11.10.0 - drizzle-orm: 0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3)) + drizzle-orm: 0.43.1(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3)) + optional: true debug@3.2.7: dependencies: @@ -10404,15 +10633,28 @@ snapshots: dotenv@16.4.7: {} - drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3)): + drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3)): optionalDependencies: - '@libsql/client': 0.14.0 + '@libsql/client': 0.15.5 '@opentelemetry/api': 1.9.0 - '@types/better-sqlite3': 7.6.12 - '@types/pg': 8.6.1 + '@prisma/client': 6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3) + '@types/better-sqlite3': 7.6.13 + '@types/pg': 8.15.1 better-sqlite3: 11.10.0 postgres: 3.4.5 - prisma: 6.3.1(typescript@5.8.3) + prisma: 6.7.0(typescript@5.8.3) + + drizzle-orm@0.43.1(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3)): + optionalDependencies: + '@libsql/client': 0.15.5 + '@opentelemetry/api': 1.9.0 + '@prisma/client': 6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3) + '@types/better-sqlite3': 7.6.13 + '@types/pg': 8.15.1 + better-sqlite3: 11.10.0 + postgres: 3.4.5 + prisma: 6.7.0(typescript@5.8.3) + optional: true dunder-proto@1.0.1: dependencies: @@ -10435,6 +10677,8 @@ snapshots: electron-to-chromium@1.5.101: {} + electron-to-chromium@1.5.151: {} + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -10558,6 +10802,8 @@ snapshots: es-module-lexer@1.6.0: {} + es-module-lexer@1.7.0: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -10579,6 +10825,13 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + esbuild-register@3.6.0(esbuild@0.25.4): + dependencies: + debug: 4.4.0 + esbuild: 0.25.4 + transitivePeerDependencies: + - supports-color + esbuild@0.25.4: optionalDependencies: '@esbuild/aix-ppc64': 0.25.4 @@ -11719,18 +11972,20 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libsql@0.4.7: + libsql@0.5.9: dependencies: '@neon-rs/load': 0.0.4 detect-libc: 2.0.2 optionalDependencies: - '@libsql/darwin-arm64': 0.4.7 - '@libsql/darwin-x64': 0.4.7 - '@libsql/linux-arm64-gnu': 0.4.7 - '@libsql/linux-arm64-musl': 0.4.7 - '@libsql/linux-x64-gnu': 0.4.7 - '@libsql/linux-x64-musl': 0.4.7 - '@libsql/win32-x64-msvc': 0.4.7 + '@libsql/darwin-arm64': 0.5.9 + '@libsql/darwin-x64': 0.5.9 + '@libsql/linux-arm-gnueabihf': 0.5.9 + '@libsql/linux-arm-musleabihf': 0.5.9 + '@libsql/linux-arm64-gnu': 0.5.9 + '@libsql/linux-arm64-musl': 0.5.9 + '@libsql/linux-x64-gnu': 0.5.9 + '@libsql/linux-x64-musl': 0.5.9 + '@libsql/win32-x64-msvc': 0.5.9 optional: true lilconfig@2.1.0: {} @@ -12040,7 +12295,7 @@ snapshots: h3: 1.15.3 ufo: 1.5.4 - nitropack@2.11.11(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))): + nitropack@2.11.11(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 '@netlify/functions': 3.1.8(rollup@4.40.2) @@ -12062,7 +12317,7 @@ snapshots: cookie-es: 2.0.0 croner: 9.0.0 crossws: 0.3.4 - db0: 0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)) + db0: 0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))) defu: 6.1.4 destr: 2.0.5 dot-prop: 9.0.0 @@ -12108,7 +12363,7 @@ snapshots: unenv: 2.0.0-rc.15 unimport: 5.0.1 unplugin-utils: 0.2.4 - unstorage: 1.16.0(db0@0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))))(ioredis@5.6.1) + unstorage: 1.16.0(db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))))(ioredis@5.6.1) untyped: 2.0.0 unwasm: 0.3.9 youch: 4.1.0-beta.7 @@ -12262,6 +12517,9 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 + obuf@1.1.2: + optional: true + ofetch@1.4.1: dependencies: destr: 2.0.5 @@ -12428,8 +12686,14 @@ snapshots: pg-int8@1.0.1: {} + pg-numeric@1.0.2: + optional: true + pg-protocol@1.7.1: {} + pg-protocol@1.9.5: + optional: true + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 @@ -12438,6 +12702,17 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 + pg-types@4.0.2: + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.4 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + optional: true + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -12520,14 +12795,31 @@ snapshots: postgres-array@2.0.0: {} + postgres-array@3.0.4: + optional: true + postgres-bytea@1.0.0: {} + postgres-bytea@3.0.0: + dependencies: + obuf: 1.1.2 + optional: true + postgres-date@1.0.7: {} + postgres-date@2.1.0: + optional: true + postgres-interval@1.2.0: dependencies: xtend: 4.0.2 + postgres-interval@3.0.0: + optional: true + + postgres-range@1.1.4: + optional: true + postgres@3.4.5: {} prebuild-install@7.1.3: @@ -12568,12 +12860,15 @@ snapshots: pretty-bytes@6.1.1: {} - prisma@6.3.1(typescript@5.8.3): + prisma@6.7.0(typescript@5.8.3): dependencies: - '@prisma/engines': 6.3.1 + '@prisma/config': 6.7.0 + '@prisma/engines': 6.7.0 optionalDependencies: fsevents: 2.3.3 typescript: 5.8.3 + transitivePeerDependencies: + - supports-color process-nextick-args@2.0.1: {} @@ -13024,7 +13319,7 @@ snapshots: scheduler@0.26.0: {} - schema-utils@4.3.0: + schema-utils@4.3.2: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 @@ -13471,14 +13766,14 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.3.11(webpack@5.98.0): + terser-webpack-plugin@5.3.14(webpack@5.99.8): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 4.3.0 + schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.98.0 + webpack: 5.99.8 terser@5.39.0: dependencies: @@ -13732,21 +14027,7 @@ snapshots: picomatch: 4.0.2 webpack-virtual-modules: 0.6.2 - unstorage@1.16.0(db0@0.2.4(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))))(ioredis@5.6.1): - dependencies: - anymatch: 3.1.3 - chokidar: 4.0.3 - destr: 2.0.5 - h3: 1.15.3 - lru-cache: 10.4.3 - node-fetch-native: 1.6.6 - ofetch: 1.4.1 - ufo: 1.6.1 - optionalDependencies: - db0: 0.2.4(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))) - ioredis: 5.6.1 - - unstorage@1.16.0(db0@0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.3.1(typescript@5.8.3))))(ioredis@5.6.1): + unstorage@1.16.0(db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))))(ioredis@5.6.1): dependencies: anymatch: 3.1.3 chokidar: 4.0.3 @@ -13757,10 +14038,10 @@ snapshots: ofetch: 1.4.1 ufo: 1.6.1 optionalDependencies: - db0: 0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)) + db0: 0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))) ioredis: 5.6.1 - unstorage@1.16.0(db0@0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)))(ioredis@5.6.1): + unstorage@1.16.0(db0@0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.43.1(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))))(ioredis@5.6.1): dependencies: anymatch: 3.1.3 chokidar: 4.0.3 @@ -13771,7 +14052,7 @@ snapshots: ofetch: 1.4.1 ufo: 1.6.1 optionalDependencies: - db0: 0.3.2(@libsql/client@0.14.0)(better-sqlite3@11.10.0)(drizzle-orm@0.39.3(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(@types/pg@8.6.1)(better-sqlite3@11.10.0)(postgres@3.4.5)) + db0: 0.3.2(@libsql/client@0.15.5)(better-sqlite3@11.10.0)(drizzle-orm@0.43.1(@libsql/client@0.15.5)(@opentelemetry/api@1.9.0)(@prisma/client@6.7.0(prisma@6.7.0(typescript@5.8.3))(typescript@5.8.3))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.1)(better-sqlite3@11.10.0)(postgres@3.4.5)(prisma@6.7.0(typescript@5.8.3))) ioredis: 5.6.1 untun@0.1.3: @@ -13803,6 +14084,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.24.5): + dependencies: + browserslist: 4.24.5 + escalade: 3.2.0 + picocolors: 1.1.1 + uqr@0.1.2: {} uri-js@4.4.1: @@ -13873,18 +14160,19 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.98.0: + webpack@5.99.8: dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.14.0 - browserslist: 4.24.4 + acorn: 8.14.1 + browserslist: 4.24.5 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.1 - es-module-lexer: 1.6.0 + es-module-lexer: 1.7.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -13893,9 +14181,9 @@ snapshots: loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.0 + schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(webpack@5.98.0) + terser-webpack-plugin: 5.3.14(webpack@5.99.8) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -14009,7 +14297,7 @@ snapshots: ws@8.17.1: {} - ws@8.18.0: + ws@8.18.2: optional: true xmlhttprequest-ssl@2.1.2: {}