Openstatus www.openstatus.dev

๐Ÿš€ status page (#965)

* ๐Ÿš€ faster

* ci: apply automated fixes

* ๐Ÿš€

* ๐Ÿš€

* ci: apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

authored by

Thibault Le Ouay
autofix-ci[bot]
and committed by
GitHub
415d81f2 2f9c7aa0

+145 -385
+1 -1
apps/ingest-worker/package.json
··· 8 8 "dependencies": { 9 9 "@openstatus/tinybird": "workspace:*", 10 10 "detect-browser": "5.3.0", 11 - "drizzle-orm": "0.30.10", 11 + "drizzle-orm": "0.32.1", 12 12 "hono": "4.3.9", 13 13 "zod": "3.23.8" 14 14 },
+1 -1
apps/screenshot-service/package.json
··· 13 13 "@openstatus/utils": "workspace:^", 14 14 "@t3-oss/env-core": "0.7.1", 15 15 "@upstash/qstash": "2.1.8", 16 - "drizzle-orm": "0.30.7", 16 + "drizzle-orm": "0.32.1", 17 17 "hono": "4.2.2", 18 18 "playwright": "1.43.0", 19 19 "zod": "3.23.8"
+1 -1
apps/screenshot-worker/package.json
··· 9 9 "@hono/zod-validator": "0.2.1", 10 10 "@libsql/client": "0.6.2", 11 11 "@openstatus/db": "workspace:*", 12 - "drizzle-orm": "0.30.7", 12 + "drizzle-orm": "0.32.1", 13 13 "hono": "4.2.2", 14 14 "zod": "3.23.8" 15 15 },
+12 -7
packages/api/src/router/monitor.ts
··· 225 225 // otherwise, using `/public` we don't need to check 226 226 .input(z.object({ id: z.number(), slug: z.string().optional() })) 227 227 .query(async (opts) => { 228 - const _monitor = await opts.ctx.db.query.monitor.findFirst({ 229 - where: and( 230 - eq(monitor.id, opts.input.id), 231 - isNull(monitor.deletedAt), 232 - eq(monitor.public, true), 233 - ), 234 - }); 228 + const _monitor = await opts.ctx.db 229 + .select() 230 + .from(monitor) 231 + .where( 232 + and( 233 + eq(monitor.id, opts.input.id), 234 + isNull(monitor.deletedAt), 235 + eq(monitor.public, true), 236 + ), 237 + ) 238 + .get(); 239 + 235 240 if (!_monitor) return undefined; 236 241 237 242 if (opts.input.slug) {
+43 -46
packages/api/src/router/page.ts
··· 1 1 import { TRPCError } from "@trpc/server"; 2 2 import { z } from "zod"; 3 3 4 - import { 5 - and, 6 - eq, 7 - gte, 8 - inArray, 9 - isNotNull, 10 - isNull, 11 - lte, 12 - or, 13 - sql, 14 - } from "@openstatus/db"; 4 + import { and, eq, gte, inArray, isNull, lte, sql } from "@openstatus/db"; 15 5 import { 16 6 incidentTable, 17 7 insertPageSchema, 18 8 maintenance, 19 9 monitor, 20 10 monitorsToPages, 21 - monitorsToStatusReport, 22 11 page, 23 12 selectPageSchemaWithMonitorsRelation, 24 13 selectPublicPageSchemaWithRelation, 25 14 statusReport, 26 15 workspace, 27 16 } from "@openstatus/db/src/schema"; 28 - import { allPlans } from "@openstatus/db/src/schema/plan/config"; 29 17 30 18 import { trackNewPage } from "../analytics"; 31 19 import { createTRPCRouter, protectedProcedure, publicProcedure } from "../trpc"; ··· 240 228 .query(async (opts) => { 241 229 if (!opts.input.slug) return; 242 230 243 - const result = await opts.ctx.db.query.page.findFirst({ 244 - where: sql`lower(${page.slug}) = ${opts.input.slug} OR lower(${page.customDomain}) = ${opts.input.slug}`, 245 - }); 231 + const result = await opts.ctx.db 232 + .select() 233 + .from(page) 234 + .where( 235 + sql`lower(${page.slug}) = ${opts.input.slug} OR lower(${page.customDomain}) = ${opts.input.slug}`, 236 + ) 237 + .get(); 246 238 247 239 if (!result) { 248 240 return; 249 241 } 250 242 251 - const workspaceResult = await opts.ctx.db 252 - .select() 253 - .from(workspace) 254 - .where(eq(workspace.id, result.workspaceId)) 255 - .get(); 243 + const [workspaceResult, monitorsToPagesResult] = await Promise.all([ 244 + opts.ctx.db 245 + .select() 246 + .from(workspace) 247 + .where(eq(workspace.id, result.workspaceId)) 248 + .get(), 249 + opts.ctx.db 250 + .select() 251 + .from(monitorsToPages) 252 + .leftJoin(monitor, eq(monitorsToPages.monitorId, monitor.id)) 253 + .where( 254 + // make sur only active monitors are returned! 255 + and( 256 + eq(monitorsToPages.pageId, result.id), 257 + eq(monitor.active, true), 258 + ), 259 + ) 260 + .all(), 261 + ]); 256 262 257 263 // FIXME: There is probably a better way to do this 258 - const monitorsToPagesResult = await opts.ctx.db 259 - .select() 260 - .from(monitorsToPages) 261 - .leftJoin(monitor, eq(monitorsToPages.monitorId, monitor.id)) 262 - .where( 263 - // make sur only active monitors are returned! 264 - and(eq(monitorsToPages.pageId, result.id), eq(monitor.active, true)), 265 - ) 266 - .all(); 267 264 268 265 const monitorsId = monitorsToPagesResult.map( 269 266 ({ monitors_to_pages }) => monitors_to_pages.monitorId, ··· 279 276 }, 280 277 }); 281 278 282 - // TODO: monitorsToPagesResult has the result already, no need to query again 283 - const monitors = 279 + const monitorQuery = 284 280 monitorsId.length > 0 285 - ? await opts.ctx.db 281 + ? opts.ctx.db 286 282 .select() 287 283 .from(monitor) 288 284 .where( ··· 295 291 .all() 296 292 : []; 297 293 298 - const incidents = 294 + const maintenancesQuery = opts.ctx.db.query.maintenance.findMany({ 295 + where: eq(maintenance.pageId, result.id), 296 + with: { maintenancesToMonitors: true }, 297 + orderBy: (maintenances, { desc }) => desc(maintenances.from), 298 + }); 299 + 300 + const incidentsQuery = 299 301 monitorsId.length > 0 300 302 ? await opts.ctx.db 301 303 .select() 302 304 .from(incidentTable) 303 - .where( 304 - inArray( 305 - incidentTable.monitorId, 306 - monitors.map((m) => m.id), 307 - ), 308 - ) 305 + .where(inArray(incidentTable.monitorId, monitorsId)) 309 306 .all() 310 307 : []; 311 - 312 - const maintenances = await opts.ctx.db.query.maintenance.findMany({ 313 - where: eq(maintenance.pageId, result.id), 314 - with: { maintenancesToMonitors: true }, 315 - orderBy: (maintenances, { desc }) => desc(maintenances.from), 316 - }); 308 + // TODO: monitorsToPagesResult has the result already, no need to query again 309 + const [monitors, maintenances, incidents] = await Promise.all([ 310 + monitorQuery, 311 + maintenancesQuery, 312 + incidentsQuery, 313 + ]); 317 314 318 315 return selectPublicPageSchemaWithRelation.parse({ 319 316 ...result,
-1
packages/api/src/router/statusReport.ts
··· 311 311 }, 312 312 orderBy: (statusReport, { desc }) => [desc(statusReport.updatedAt)], 313 313 }); 314 - console.log(result); 315 314 return z.array(selectStatusSchemaWithRelation).parse(result); 316 315 }), 317 316
+4 -5
packages/db/package.json
··· 13 13 "dev": "turso dev --db-file ../../openstatus-dev.db" 14 14 }, 15 15 "dependencies": { 16 - "@clickhouse/client-web": "1.0.1", 17 - "@libsql/client": "0.6.2", 16 + "@libsql/client": "0.7.0", 18 17 "@t3-oss/env-core": "0.7.0", 19 - "drizzle-orm": "0.30.10", 18 + "drizzle-orm": "0.32.1", 20 19 "drizzle-zod": "0.5.1", 21 20 "zod": "3.23.8" 22 21 }, ··· 24 23 "@openstatus/assertions": "workspace:*", 25 24 "@openstatus/tsconfig": "workspace:*", 26 25 "@types/node": "20.8.0", 27 - "better-sqlite3": "10.0.0", 26 + "better-sqlite3": "11.1.2", 28 27 "bufferutil": "4.0.7", 29 - "drizzle-kit": "0.21.2", 28 + "drizzle-kit": "0.23.0", 30 29 "encoding": "0.1.13", 31 30 "next-auth": "5.0.0-beta.17", 32 31 "typescript": "5.5.2",
+1 -1
packages/db/src/schema/maintenances/maintenance.ts
··· 43 43 ), 44 44 }, 45 45 (t) => ({ 46 - pk: primaryKey(t.monitorId, t.maintenanceId), 46 + pk: primaryKey({ columns: [t.monitorId, t.maintenanceId] }), 47 47 }), 48 48 ); 49 49
+1 -1
packages/db/src/schema/monitor_status/monitor_status.ts
··· 29 29 }, 30 30 (table) => { 31 31 return { 32 - primaryKey: primaryKey(table.monitorId, table.region), 32 + primaryKey: primaryKey({ columns: [table.monitorId, table.region] }), 33 33 monitorStatusIdx: index("monitor_status_idx").on( 34 34 table.monitorId, 35 35 table.region,
+1 -1
packages/db/src/schema/monitor_tags/monitor_tag.ts
··· 40 40 ), 41 41 }, 42 42 (t) => ({ 43 - pk: primaryKey(t.monitorId, t.monitorTagId), 43 + pk: primaryKey({ columns: [t.monitorId, t.monitorTagId] }), 44 44 }), 45 45 ); 46 46
+1 -1
packages/db/src/schema/monitors/monitor.ts
··· 85 85 order: integer("order").default(0), 86 86 }, 87 87 (t) => ({ 88 - pk: primaryKey(t.monitorId, t.pageId), 88 + pk: primaryKey({ columns: [t.monitorId, t.pageId] }), 89 89 }), 90 90 ); 91 91
+1 -1
packages/db/src/schema/notifications/notification.ts
··· 38 38 ), 39 39 }, 40 40 (t) => ({ 41 - pk: primaryKey(t.monitorId, t.notificationId), 41 + pk: primaryKey({ columns: [t.monitorId, t.notificationId] }), 42 42 }), 43 43 ); 44 44
+1 -1
packages/db/src/schema/status_reports/status_reports.ts
··· 92 92 ), 93 93 }, 94 94 (t) => ({ 95 - pk: primaryKey(t.monitorId, t.statusReportId), 95 + pk: primaryKey({ columns: [t.monitorId, t.statusReportId] }), 96 96 }), 97 97 ); 98 98
+1 -1
packages/db/src/schema/users/user.ts
··· 50 50 ), 51 51 }, 52 52 (t) => ({ 53 - pk: primaryKey(t.userId, t.workspaceId), 53 + pk: primaryKey({ columns: [t.userId, t.workspaceId] }), 54 54 }), 55 55 ); 56 56
+76 -316
pnpm-lock.yaml
··· 38 38 specifier: 5.3.0 39 39 version: 5.3.0 40 40 drizzle-orm: 41 - specifier: 0.30.10 42 - version: 0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1) 41 + specifier: 0.32.1 42 + version: 0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1) 43 43 hono: 44 44 specifier: 4.3.9 45 45 version: 4.3.9 ··· 84 84 specifier: 2.1.8 85 85 version: 2.1.8 86 86 drizzle-orm: 87 - specifier: 0.30.7 88 - version: 0.30.7(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1) 87 + specifier: 0.32.1 88 + version: 0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1) 89 89 hono: 90 90 specifier: 4.2.2 91 91 version: 4.2.2 ··· 115 115 specifier: workspace:* 116 116 version: link:../../packages/db 117 117 drizzle-orm: 118 - specifier: 0.30.7 119 - version: 0.30.7(@cloudflare/workers-types@4.20240403.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1) 118 + specifier: 0.32.1 119 + version: 0.32.1(@cloudflare/workers-types@4.20240403.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1) 120 120 hono: 121 121 specifier: 4.2.2 122 122 version: 4.2.2 ··· 611 611 612 612 packages/db: 613 613 dependencies: 614 - '@clickhouse/client-web': 615 - specifier: 1.0.1 616 - version: 1.0.1 617 614 '@libsql/client': 618 - specifier: 0.6.2 619 - version: 0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3) 615 + specifier: 0.7.0 616 + version: 0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3) 620 617 '@t3-oss/env-core': 621 618 specifier: 0.7.0 622 619 version: 0.7.0(typescript@5.5.2)(zod@3.23.8) 623 620 drizzle-orm: 624 - specifier: 0.30.10 625 - version: 0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1) 621 + specifier: 0.32.1 622 + version: 0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1) 626 623 drizzle-zod: 627 624 specifier: 0.5.1 628 - version: 0.5.1(drizzle-orm@0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1))(zod@3.23.8) 625 + version: 0.5.1(drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1))(zod@3.23.8) 629 626 zod: 630 627 specifier: 3.23.8 631 628 version: 3.23.8 ··· 640 637 specifier: 20.8.0 641 638 version: 20.8.0 642 639 better-sqlite3: 643 - specifier: 10.0.0 644 - version: 10.0.0 640 + specifier: 11.1.2 641 + version: 11.1.2 645 642 bufferutil: 646 643 specifier: 4.0.7 647 644 version: 4.0.7 648 645 drizzle-kit: 649 - specifier: 0.21.2 650 - version: 0.21.2 646 + specifier: 0.23.0 647 + version: 0.23.0 651 648 encoding: 652 649 specifier: 0.1.13 653 650 version: 0.1.13 ··· 2098 2095 '@chronark/zod-bird@0.3.6': 2099 2096 resolution: {integrity: sha512-hE8kCGLJK5ncH8F7uPaqPiOOqo68vUI66nusg7HO5X9BcyN8lXfeQliu6Ou1kOSq95OYshf9nB2fk2+LEvF4ng==} 2100 2097 2101 - '@clickhouse/client-common@1.0.1': 2102 - resolution: {integrity: sha512-3L6e0foP6VOktScoi6XWMjJyOpKCWgLUYgPVxP2c7gm6Kotq+iRmmmXtXTSg7B7uozcLZycTtPfIw2d80SYsYw==} 2103 - 2104 - '@clickhouse/client-web@1.0.1': 2105 - resolution: {integrity: sha512-gKmfOxJ3+6kFtlmQaBd0sOz8t8lAiJcBfR9sx1Cmk4M38T5xxza7ZWhyGs3O6I7nJkU60RuM1MY8Woct6vMtRg==} 2106 - 2107 2098 '@cloudflare/kv-asset-handler@0.3.1': 2108 2099 resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} 2109 2100 ··· 3208 3199 '@libsql/client@0.6.2': 3209 3200 resolution: {integrity: sha512-xRNfRLv/dOCbV4qd+M0baQwGmvuZpMd2wG2UAPs8XmcdaPvu5ErkcaeITkxlm3hDEJVabQM1cFhMBxsugWW9fQ==} 3210 3201 3202 + '@libsql/client@0.7.0': 3203 + resolution: {integrity: sha512-1aLDtWzsErr68GZ640TVyOLkL/+lB2YK8cYvJIfiI7Mt+DEPB22Jkoz2QfBDg5PVGX/efeRHog2j/oVbUhxO8Q==} 3204 + 3211 3205 '@libsql/core@0.6.2': 3212 3206 resolution: {integrity: sha512-c2P4M+4u/4b2L02A0KjggO3UW51rGkhxr/7fzJO0fEAqsqrWGxuNj2YtRkina/oxfYvAof6xjp8RucNoIV/Odw==} 3207 + 3208 + '@libsql/core@0.7.0': 3209 + resolution: {integrity: sha512-hCYfXa0S4t9CJtxZIWacboylrcx94ZQO0dEngH4f0f/LHg6ymHSZiubbojAwD7tNy94ahICoGPjEi6aEIyhlcQ==} 3213 3210 3214 3211 '@libsql/darwin-arm64@0.3.10': 3215 3212 resolution: {integrity: sha512-RaexEFfPAFogd6dJlqkpCkTxdr6K14Z0286lodIJ8Ny77mWuWyBkWKxf70OYWXXAMxMJFUW+6al1F3/Osf/pTg==} ··· 5572 5569 before-after-hook@2.2.3: 5573 5570 resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} 5574 5571 5575 - better-sqlite3@10.0.0: 5576 - resolution: {integrity: sha512-rOz0JY8bt9oMgrFssP7GnvA5R3yln73y/NizzWqy3WlFth8Ux8+g4r/N9fjX97nn4X1YX6MTER2doNpTu5pqiA==} 5572 + better-sqlite3@11.1.2: 5573 + resolution: {integrity: sha512-gujtFwavWU4MSPT+h9B+4pkvZdyOUkH54zgLdIrMmmmd4ZqiBIrRNBzNzYVFO417xo882uP5HBu4GjOfaSrIQw==} 5577 5574 5578 5575 bignumber.js@9.1.2: 5579 5576 resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} ··· 5774 5771 resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 5775 5772 engines: {node: '>=6'} 5776 5773 5777 - cli-color@2.0.3: 5778 - resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==} 5779 - engines: {node: '>=0.10'} 5780 - 5781 5774 cli-cursor@3.1.0: 5782 5775 resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 5783 5776 engines: {node: '>=8'} ··· 5870 5863 resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} 5871 5864 engines: {node: ^12.20.0 || >=14} 5872 5865 5873 - commander@9.5.0: 5874 - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 5875 - engines: {node: ^12.20.0 || >=14} 5876 - 5877 5866 comment-json@4.2.3: 5878 5867 resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} 5879 5868 engines: {node: '>= 6'} ··· 6023 6012 d3-timer@3.0.1: 6024 6013 resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} 6025 6014 engines: {node: '>=12'} 6026 - 6027 - d@1.0.1: 6028 - resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} 6029 6015 6030 6016 data-uri-to-buffer@2.0.2: 6031 6017 resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} ··· 6184 6170 resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} 6185 6171 engines: {node: '>=0.3.1'} 6186 6172 6187 - difflib@0.2.4: 6188 - resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} 6189 - 6190 6173 dir-glob@3.0.1: 6191 6174 resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 6192 6175 engines: {node: '>=8'} ··· 6223 6206 resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} 6224 6207 engines: {node: '>=12'} 6225 6208 6226 - dreamopt@0.8.0: 6227 - resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} 6228 - engines: {node: '>=0.4.0'} 6229 - 6230 - drizzle-kit@0.21.2: 6231 - resolution: {integrity: sha512-U87IhZyCt/9d0ZT/Na3KFJVY31tSxtTx/n9UMcWFpW/5c2Ede39xiCG5efNV/0iimsv97UIRtDI0ldLBW5lbcg==} 6209 + drizzle-kit@0.23.0: 6210 + resolution: {integrity: sha512-w9jE97z193dd4jzAyj4Uv2SOh8Ydue70Ki6W0awy4bGM1aPXan6zD6Yv+nNTA6oGgNTDl2MJFxutjHG4fden5g==} 6232 6211 hasBin: true 6233 6212 6234 - drizzle-orm@0.30.10: 6235 - resolution: {integrity: sha512-IRy/QmMWw9lAQHpwbUh1b8fcn27S/a9zMIzqea1WNOxK9/4EB8gIo+FZWLiPXzl2n9ixGSv8BhsLZiOppWEwBw==} 6213 + drizzle-orm@0.32.1: 6214 + resolution: {integrity: sha512-Wq1J+lL8PzwR5K3a1FfoWsbs8powjr3pGA4+5+2ueN1VTLDNFYEolUyUWFtqy8DVRvYbL2n7sXZkgVmK9dQkng==} 6236 6215 peerDependencies: 6237 6216 '@aws-sdk/client-rds-data': '>=3' 6238 6217 '@cloudflare/workers-types': '>=3' ··· 6242 6221 '@op-engineering/op-sqlite': '>=2' 6243 6222 '@opentelemetry/api': ^1.4.1 6244 6223 '@planetscale/database': '>=1' 6224 + '@prisma/client': '*' 6225 + '@tidbcloud/serverless': '*' 6245 6226 '@types/better-sqlite3': '*' 6246 6227 '@types/pg': '*' 6247 6228 '@types/react': '>=18' ··· 6256 6237 mysql2: '>=2' 6257 6238 pg: '>=8' 6258 6239 postgres: '>=3' 6240 + prisma: '*' 6259 6241 react: '>=18' 6260 6242 sql.js: '>=1' 6261 6243 sqlite3: '>=5' ··· 6276 6258 optional: true 6277 6259 '@planetscale/database': 6278 6260 optional: true 6279 - '@types/better-sqlite3': 6280 - optional: true 6281 - '@types/pg': 6282 - optional: true 6283 - '@types/react': 6284 - optional: true 6285 - '@types/sql.js': 6286 - optional: true 6287 - '@vercel/postgres': 6288 - optional: true 6289 - '@xata.io/client': 6290 - optional: true 6291 - better-sqlite3: 6292 - optional: true 6293 - bun-types: 6294 - optional: true 6295 - expo-sqlite: 6296 - optional: true 6297 - knex: 6298 - optional: true 6299 - kysely: 6300 - optional: true 6301 - mysql2: 6302 - optional: true 6303 - pg: 6304 - optional: true 6305 - postgres: 6306 - optional: true 6307 - react: 6308 - optional: true 6309 - sql.js: 6310 - optional: true 6311 - sqlite3: 6312 - optional: true 6313 - 6314 - drizzle-orm@0.30.7: 6315 - resolution: {integrity: sha512-9qefSZQlu2fO2qv24piHyWFWcxcOY15//0v4j8qomMqaxzipNoG+fUBrQ7Ftk7PY7APRbRdn/nkEXWxiI4a8mw==} 6316 - peerDependencies: 6317 - '@aws-sdk/client-rds-data': '>=3' 6318 - '@cloudflare/workers-types': '>=3' 6319 - '@electric-sql/pglite': '>=0.1.1' 6320 - '@libsql/client': '*' 6321 - '@neondatabase/serverless': '>=0.1' 6322 - '@op-engineering/op-sqlite': '>=2' 6323 - '@opentelemetry/api': ^1.4.1 6324 - '@planetscale/database': '>=1' 6325 - '@types/better-sqlite3': '*' 6326 - '@types/pg': '*' 6327 - '@types/react': '>=18' 6328 - '@types/sql.js': '*' 6329 - '@vercel/postgres': '>=0.8.0' 6330 - '@xata.io/client': '*' 6331 - better-sqlite3: '>=7' 6332 - bun-types: '*' 6333 - expo-sqlite: '>=13.2.0' 6334 - knex: '*' 6335 - kysely: '*' 6336 - mysql2: '>=2' 6337 - pg: '>=8' 6338 - postgres: '>=3' 6339 - react: '>=18' 6340 - sql.js: '>=1' 6341 - sqlite3: '>=5' 6342 - peerDependenciesMeta: 6343 - '@aws-sdk/client-rds-data': 6344 - optional: true 6345 - '@cloudflare/workers-types': 6346 - optional: true 6347 - '@electric-sql/pglite': 6348 - optional: true 6349 - '@libsql/client': 6350 - optional: true 6351 - '@neondatabase/serverless': 6261 + '@prisma/client': 6352 6262 optional: true 6353 - '@op-engineering/op-sqlite': 6354 - optional: true 6355 - '@opentelemetry/api': 6356 - optional: true 6357 - '@planetscale/database': 6263 + '@tidbcloud/serverless': 6358 6264 optional: true 6359 6265 '@types/better-sqlite3': 6360 6266 optional: true ··· 6383 6289 pg: 6384 6290 optional: true 6385 6291 postgres: 6292 + optional: true 6293 + prisma: 6386 6294 optional: true 6387 6295 react: 6388 6296 optional: true ··· 6446 6354 resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 6447 6355 engines: {node: '>=0.12'} 6448 6356 6449 - env-paths@3.0.0: 6450 - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} 6451 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 6452 - 6453 6357 envinfo@7.13.0: 6454 6358 resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} 6455 6359 engines: {node: '>=4'} ··· 6458 6362 error-ex@1.3.2: 6459 6363 resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 6460 6364 6461 - es5-ext@0.10.62: 6462 - resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} 6463 - engines: {node: '>=0.10'} 6464 - 6465 - es6-iterator@2.0.3: 6466 - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} 6467 - 6468 - es6-symbol@3.1.3: 6469 - resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} 6470 - 6471 - es6-weak-map@2.0.3: 6472 - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} 6473 - 6474 6365 esbuild-register@3.5.0: 6475 6366 resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} 6476 6367 peerDependencies: ··· 6577 6468 resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 6578 6469 engines: {node: '>= 0.6'} 6579 6470 6580 - event-emitter@0.3.5: 6581 - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} 6582 - 6583 6471 event-target-shim@5.0.1: 6584 6472 resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 6585 6473 engines: {node: '>=6'} ··· 6610 6498 express@4.19.2: 6611 6499 resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} 6612 6500 engines: {node: '>= 0.10.0'} 6613 - 6614 - ext@1.7.0: 6615 - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} 6616 6501 6617 6502 extend-shallow@2.0.1: 6618 6503 resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} ··· 6939 6824 engines: {node: '>=0.4.7'} 6940 6825 hasBin: true 6941 6826 6942 - hanji@0.0.5: 6943 - resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} 6944 - 6945 6827 hard-rejection@2.1.0: 6946 6828 resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 6947 6829 engines: {node: '>=6'} ··· 7077 6959 7078 6960 header-case@1.0.1: 7079 6961 resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} 7080 - 7081 - heap@0.2.7: 7082 - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} 7083 6962 7084 6963 highlight.js@11.10.0: 7085 6964 resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==} ··· 7384 7263 resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} 7385 7264 engines: {node: '>=0.10.0'} 7386 7265 7387 - is-promise@2.2.2: 7388 - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} 7389 - 7390 7266 is-reference@1.2.1: 7391 7267 resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 7392 7268 ··· 7515 7391 7516 7392 json-buffer@3.0.1: 7517 7393 resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 7518 - 7519 - json-diff@0.9.0: 7520 - resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} 7521 - hasBin: true 7522 7394 7523 7395 json-parse-even-better-errors@2.3.1: 7524 7396 resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} ··· 7660 7532 lodash.sortby@4.7.0: 7661 7533 resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 7662 7534 7663 - lodash.throttle@4.1.1: 7664 - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} 7665 - 7666 7535 lodash@4.17.21: 7667 7536 resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 7668 7537 ··· 7713 7582 lru-cache@7.18.3: 7714 7583 resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 7715 7584 engines: {node: '>=12'} 7716 - 7717 - lru-queue@0.1.0: 7718 - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} 7719 7585 7720 7586 lucide-react@0.279.0: 7721 7587 resolution: {integrity: sha512-LJ8g66+Bxc3t3x9vKTeK3wn3xucrOQGfJ9ou9GsBwCt2offsrT2BB90XrTrIzE1noYYDe2O8jZaRHi6sAHXNxw==} ··· 7873 7739 resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} 7874 7740 engines: {node: '>= 4.0.0'} 7875 7741 7876 - memoizee@0.4.15: 7877 - resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} 7878 - 7879 7742 meow@7.1.1: 7880 7743 resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==} 7881 7744 engines: {node: '>=10'} ··· 8293 8156 next: '*' 8294 8157 react: '*' 8295 8158 react-dom: '*' 8296 - 8297 - next-tick@1.1.0: 8298 - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} 8299 8159 8300 8160 next@14.2.4: 8301 8161 resolution: {integrity: sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==} ··· 8797 8657 resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 8798 8658 engines: {node: '>=0.4.0'} 8799 8659 8660 + promise-limit@2.7.0: 8661 + resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} 8662 + 8800 8663 prompts@2.4.2: 8801 8664 resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 8802 8665 engines: {node: '>= 6'} ··· 9650 9513 through@2.3.8: 9651 9514 resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 9652 9515 9653 - timers-ext@0.1.7: 9654 - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} 9655 - 9656 9516 tiny-invariant@1.3.1: 9657 9517 resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} 9658 9518 ··· 9864 9724 type-is@1.6.18: 9865 9725 resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 9866 9726 engines: {node: '>= 0.6'} 9867 - 9868 - type@1.2.0: 9869 - resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} 9870 - 9871 - type@2.7.2: 9872 - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} 9873 9727 9874 9728 typescript@5.4.4: 9875 9729 resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} ··· 11835 11689 dependencies: 11836 11690 zod: 3.23.8 11837 11691 11838 - '@clickhouse/client-common@1.0.1': {} 11839 - 11840 - '@clickhouse/client-web@1.0.1': 11841 - dependencies: 11842 - '@clickhouse/client-common': 1.0.1 11843 - 11844 11692 '@cloudflare/kv-asset-handler@0.3.1': 11845 11693 dependencies: 11846 11694 mime: 3.0.0 ··· 12761 12609 '@lezer/highlight': 1.2.0 12762 12610 '@lezer/lr': 1.4.1 12763 12611 12764 - '@libsql/client@0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3)': 12612 + '@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4)': 12765 12613 dependencies: 12766 12614 '@libsql/core': 0.6.2 12615 + '@libsql/hrana-client': 0.6.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) 12616 + js-base64: 3.7.5 12617 + libsql: 0.3.10 12618 + transitivePeerDependencies: 12619 + - bufferutil 12620 + - utf-8-validate 12621 + 12622 + '@libsql/client@0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3)': 12623 + dependencies: 12624 + '@libsql/core': 0.7.0 12767 12625 '@libsql/hrana-client': 0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3) 12768 12626 js-base64: 3.7.5 12769 12627 libsql: 0.3.10 12628 + promise-limit: 2.7.0 12770 12629 transitivePeerDependencies: 12771 12630 - bufferutil 12772 12631 - utf-8-validate 12773 12632 12774 - '@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4)': 12633 + '@libsql/client@0.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)': 12775 12634 dependencies: 12776 - '@libsql/core': 0.6.2 12635 + '@libsql/core': 0.7.0 12777 12636 '@libsql/hrana-client': 0.6.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) 12778 12637 js-base64: 3.7.5 12779 12638 libsql: 0.3.10 12639 + promise-limit: 2.7.0 12780 12640 transitivePeerDependencies: 12781 12641 - bufferutil 12782 12642 - utf-8-validate 12643 + optional: true 12783 12644 12784 12645 '@libsql/core@0.6.2': 12785 12646 dependencies: 12786 12647 js-base64: 3.7.5 12787 12648 12649 + '@libsql/core@0.7.0': 12650 + dependencies: 12651 + js-base64: 3.7.5 12652 + 12788 12653 '@libsql/darwin-arm64@0.3.10': 12789 12654 optional: true 12790 12655 ··· 15739 15604 15740 15605 before-after-hook@2.2.3: {} 15741 15606 15742 - better-sqlite3@10.0.0: 15607 + better-sqlite3@11.1.2: 15743 15608 dependencies: 15744 15609 bindings: 1.5.0 15745 15610 prebuild-install: 7.1.1 ··· 16005 15870 16006 15871 clean-stack@2.2.0: {} 16007 15872 16008 - cli-color@2.0.3: 16009 - dependencies: 16010 - d: 1.0.1 16011 - es5-ext: 0.10.62 16012 - es6-iterator: 2.0.3 16013 - memoizee: 0.4.15 16014 - timers-ext: 0.1.7 16015 - 16016 15873 cli-cursor@3.1.0: 16017 15874 dependencies: 16018 15875 restore-cursor: 3.1.0 ··· 16098 15955 commander@6.2.1: {} 16099 15956 16100 15957 commander@9.4.1: {} 16101 - 16102 - commander@9.5.0: {} 16103 15958 16104 15959 comment-json@4.2.3: 16105 15960 dependencies: ··· 16243 16098 16244 16099 d3-timer@3.0.1: {} 16245 16100 16246 - d@1.0.1: 16247 - dependencies: 16248 - es5-ext: 0.10.62 16249 - type: 1.2.0 16250 - 16251 16101 data-uri-to-buffer@2.0.2: {} 16252 16102 16253 16103 data-uri-to-buffer@4.0.1: {} ··· 16372 16222 16373 16223 diff@5.1.0: {} 16374 16224 16375 - difflib@0.2.4: 16376 - dependencies: 16377 - heap: 0.2.7 16378 - 16379 16225 dir-glob@3.0.1: 16380 16226 dependencies: 16381 16227 path-type: 4.0.0 ··· 16415 16261 16416 16262 dotenv@16.3.1: {} 16417 16263 16418 - dreamopt@0.8.0: 16419 - dependencies: 16420 - wordwrap: 1.0.0 16421 - 16422 - drizzle-kit@0.21.2: 16264 + drizzle-kit@0.23.0: 16423 16265 dependencies: 16424 16266 '@esbuild-kit/esm-loader': 2.6.5 16425 - commander: 9.5.0 16426 - env-paths: 3.0.0 16427 16267 esbuild: 0.19.12 16428 16268 esbuild-register: 3.5.0(esbuild@0.19.12) 16429 - glob: 8.1.0 16430 - hanji: 0.0.5 16431 - json-diff: 0.9.0 16432 - zod: 3.23.8 16433 16269 transitivePeerDependencies: 16434 16270 - supports-color 16435 16271 16436 - drizzle-orm@0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1): 16272 + drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240403.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1): 16437 16273 optionalDependencies: 16438 - '@cloudflare/workers-types': 4.20240512.0 16439 - '@libsql/client': 0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3) 16274 + '@cloudflare/workers-types': 4.20240403.0 16275 + '@libsql/client': 0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) 16440 16276 '@opentelemetry/api': 1.8.0 16441 16277 '@types/react': 18.3.3 16442 - better-sqlite3: 10.0.0 16278 + better-sqlite3: 11.1.2 16443 16279 bun-types: 1.1.8 16444 16280 react: 18.3.1 16445 16281 16446 - drizzle-orm@0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1): 16282 + drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1): 16447 16283 optionalDependencies: 16448 16284 '@cloudflare/workers-types': 4.20240512.0 16449 16285 '@libsql/client': 0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) 16450 16286 '@opentelemetry/api': 1.8.0 16451 16287 '@types/react': 18.3.3 16452 - better-sqlite3: 10.0.0 16288 + better-sqlite3: 11.1.2 16453 16289 bun-types: 1.1.8 16454 16290 react: 18.3.1 16455 16291 16456 - drizzle-orm@0.30.7(@cloudflare/workers-types@4.20240403.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1): 16292 + drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1): 16457 16293 optionalDependencies: 16458 - '@cloudflare/workers-types': 4.20240403.0 16459 - '@libsql/client': 0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) 16294 + '@cloudflare/workers-types': 4.20240512.0 16295 + '@libsql/client': 0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3) 16460 16296 '@opentelemetry/api': 1.8.0 16461 16297 '@types/react': 18.3.3 16462 - better-sqlite3: 10.0.0 16298 + better-sqlite3: 11.1.2 16463 16299 bun-types: 1.1.8 16464 16300 react: 18.3.1 16465 16301 16466 - drizzle-orm@0.30.7(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1): 16302 + drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1): 16467 16303 optionalDependencies: 16468 16304 '@cloudflare/workers-types': 4.20240512.0 16469 - '@libsql/client': 0.6.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) 16305 + '@libsql/client': 0.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) 16470 16306 '@opentelemetry/api': 1.8.0 16471 16307 '@types/react': 18.3.3 16472 - better-sqlite3: 10.0.0 16308 + better-sqlite3: 11.1.2 16473 16309 bun-types: 1.1.8 16474 16310 react: 18.3.1 16475 16311 16476 - drizzle-zod@0.5.1(drizzle-orm@0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1))(zod@3.23.8): 16312 + drizzle-zod@0.5.1(drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1))(zod@3.23.8): 16477 16313 dependencies: 16478 - drizzle-orm: 0.30.10(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.6.2(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@10.0.0)(bun-types@1.1.8)(react@18.3.1) 16314 + drizzle-orm: 0.32.1(@cloudflare/workers-types@4.20240512.0)(@libsql/client@0.7.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.8.0)(@types/react@18.3.3)(better-sqlite3@11.1.2)(bun-types@1.1.8)(react@18.3.1) 16479 16315 zod: 3.23.8 16480 16316 16481 16317 duplexify@4.1.2: ··· 16528 16364 16529 16365 entities@4.5.0: {} 16530 16366 16531 - env-paths@3.0.0: {} 16532 - 16533 16367 envinfo@7.13.0: {} 16534 16368 16535 16369 error-ex@1.3.2: 16536 16370 dependencies: 16537 16371 is-arrayish: 0.2.1 16538 - 16539 - es5-ext@0.10.62: 16540 - dependencies: 16541 - es6-iterator: 2.0.3 16542 - es6-symbol: 3.1.3 16543 - next-tick: 1.1.0 16544 - 16545 - es6-iterator@2.0.3: 16546 - dependencies: 16547 - d: 1.0.1 16548 - es5-ext: 0.10.62 16549 - es6-symbol: 3.1.3 16550 - 16551 - es6-symbol@3.1.3: 16552 - dependencies: 16553 - d: 1.0.1 16554 - ext: 1.7.0 16555 - 16556 - es6-weak-map@2.0.3: 16557 - dependencies: 16558 - d: 1.0.1 16559 - es5-ext: 0.10.62 16560 - es6-iterator: 2.0.3 16561 - es6-symbol: 3.1.3 16562 16372 16563 16373 esbuild-register@3.5.0(esbuild@0.19.12): 16564 16374 dependencies: ··· 16765 16575 esutils@2.0.3: {} 16766 16576 16767 16577 etag@1.8.1: {} 16768 - 16769 - event-emitter@0.3.5: 16770 - dependencies: 16771 - d: 1.0.1 16772 - es5-ext: 0.10.62 16773 16578 16774 16579 event-target-shim@5.0.1: {} 16775 16580 ··· 16841 16646 transitivePeerDependencies: 16842 16647 - supports-color 16843 16648 16844 - ext@1.7.0: 16845 - dependencies: 16846 - type: 2.7.2 16847 - 16848 16649 extend-shallow@2.0.1: 16849 16650 dependencies: 16850 16651 is-extendable: 0.1.1 ··· 17253 17054 optionalDependencies: 17254 17055 uglify-js: 3.17.4 17255 17056 17256 - hanji@0.0.5: 17257 - dependencies: 17258 - lodash.throttle: 4.1.1 17259 - sisteransi: 1.0.5 17260 - 17261 17057 hard-rejection@2.1.0: {} 17262 17058 17263 17059 has-ansi@2.0.0: ··· 17517 17313 dependencies: 17518 17314 no-case: 2.3.2 17519 17315 upper-case: 1.1.3 17520 - 17521 - heap@0.2.7: {} 17522 17316 17523 17317 highlight.js@11.10.0: {} 17524 17318 ··· 17820 17614 isobject: 3.0.1 17821 17615 17822 17616 is-plain-object@5.0.0: {} 17823 - 17824 - is-promise@2.2.2: {} 17825 17617 17826 17618 is-reference@1.2.1: 17827 17619 dependencies: ··· 17946 17738 17947 17739 json-buffer@3.0.1: {} 17948 17740 17949 - json-diff@0.9.0: 17950 - dependencies: 17951 - cli-color: 2.0.3 17952 - difflib: 0.2.4 17953 - dreamopt: 0.8.0 17954 - 17955 17741 json-parse-even-better-errors@2.3.1: {} 17956 17742 17957 17743 json-schema-traverse@1.0.0: {} ··· 18093 17879 18094 17880 lodash.sortby@4.7.0: {} 18095 17881 18096 - lodash.throttle@4.1.1: {} 18097 - 18098 17882 lodash@4.17.21: {} 18099 17883 18100 17884 log-symbols@3.0.0: ··· 18145 17929 yallist: 4.0.0 18146 17930 18147 17931 lru-cache@7.18.3: {} 18148 - 18149 - lru-queue@0.1.0: 18150 - dependencies: 18151 - es5-ext: 0.10.62 18152 17932 18153 17933 lucide-react@0.279.0(react@18.3.1): 18154 17934 dependencies: ··· 18483 18263 dependencies: 18484 18264 fs-monkey: 1.0.5 18485 18265 18486 - memoizee@0.4.15: 18487 - dependencies: 18488 - d: 1.0.1 18489 - es5-ext: 0.10.62 18490 - es6-weak-map: 2.0.3 18491 - event-emitter: 0.3.5 18492 - is-promise: 2.2.2 18493 - lru-queue: 0.1.0 18494 - next-tick: 1.1.0 18495 - timers-ext: 0.1.7 18496 - 18497 18266 meow@7.1.1: 18498 18267 dependencies: 18499 18268 '@types/minimist': 1.2.5 ··· 19175 18944 react: 18.3.1 19176 18945 react-dom: 18.3.1(react@18.3.1) 19177 18946 19178 - next-tick@1.1.0: {} 19179 - 19180 18947 next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 19181 18948 dependencies: 19182 18949 '@next/env': 14.2.4 ··· 19758 19525 process@0.11.10: {} 19759 19526 19760 19527 progress@2.0.3: {} 19528 + 19529 + promise-limit@2.7.0: {} 19761 19530 19762 19531 prompts@2.4.2: 19763 19532 dependencies: ··· 20910 20679 20911 20680 through@2.3.8: {} 20912 20681 20913 - timers-ext@0.1.7: 20914 - dependencies: 20915 - es5-ext: 0.10.62 20916 - next-tick: 1.1.0 20917 - 20918 20682 tiny-invariant@1.3.1: {} 20919 20683 20920 20684 tiny-invariant@1.3.3: {} ··· 21126 20890 dependencies: 21127 20891 media-typer: 0.3.0 21128 20892 mime-types: 2.1.35 21129 - 21130 - type@1.2.0: {} 21131 - 21132 - type@2.7.2: {} 21133 20893 21134 20894 typescript@5.4.4: {} 21135 20895