diff --git a/docker-compose.yml b/docker-compose.yml index 7390b6cc1..d46f268a7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -51,6 +51,15 @@ services: networks: - daim + sqld: + image: ghcr.io/tursodatabase/libsql-server:latest + ports: + - 127.0.0.1:8080:8080 + volumes: + - sqld-data:/var/lib/sqld + networks: + - daim + networks: daim: driver: bridge diff --git a/drizzle.config.ts b/drizzle.config.ts new file mode 100644 index 000000000..3135f5534 --- /dev/null +++ b/drizzle.config.ts @@ -0,0 +1,13 @@ +import type { Config } from 'drizzle-kit'; +import * as dotenv from 'dotenv'; +dotenv.config(); + +export default { + out: 'server/database/migrations', + schema: 'server/database/schema', + driver: 'turso', + dbCredentials: { + url: process.env.TURSO_DB_URL as string, + authToken: process.env.TURSO_DB_TOKEN as string, + }, +} satisfies Config; diff --git a/nuxt.config.ts b/nuxt.config.ts index b4a1f658d..988aece8d 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -271,6 +271,7 @@ export default defineNuxtConfig({ prerender: { crawlLinks: true, }, + moduleSideEffects: ['lucia/polyfill/node'], }, sourcemap: true, diff --git a/package.json b/package.json index 787339af5..5e5017500 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,9 @@ "icons": "ts-node generate-iconify.ts", "test": "playwright test", "test:e2e": "yarn run test", + "drizzle:generate": "drizzle-kit generate:sqlite", + "drizzle:push": "drizzle-kit push:sqlite", + "drizzle:studio": "drizzle-kit studio", "postinstall": "nuxi prepare" }, "engines": { @@ -44,6 +47,8 @@ "dependencies": { "@formkit/nuxt": "0.16.2", "@formkit/themes": "0.16.2", + "@libsql/client": "0.4.0-pre.7", + "@lucia-auth/adapter-sqlite": "2.0.1", "@nuxt/content": "2.9.0", "@nuxtjs/robots": "3.0.0", "@vercel/analytics": "1.0.1", @@ -51,11 +56,15 @@ "cross-env": "7.0.3", "crypto-js": "4.1.1", "dayjs": "1.10.7", + "drizzle-orm": "0.29.3", "github-markdown-css": "4.0.0", "js-base64": "3.7.5", "lodash-es": "4.17.21", + "lucia": "2.7.6", "mailgo": "0.12.2", - "query-string": "7.1.3" + "qs": "6.11.2", + "query-string": "7.1.3", + "valibot": "0.26.0" }, "devDependencies": { "@iconify/tools": "2.2.6", @@ -76,6 +85,7 @@ "@types/lodash": "4.14.191", "@types/lodash-es": "4.17.6", "@types/node": "20.10.4", + "@types/qs": "^6", "@types/sharp": "0.31.0", "@typescript-eslint/eslint-plugin": "5.47.0", "@typescript-eslint/parser": "5.56.0", @@ -84,6 +94,7 @@ "@unocss/nuxt": "0.51.4", "@vite-pwa/nuxt": "0.0.7", "cspell": "5.9.0", + "drizzle-kit": "0.20.13", "eslint": "8.55.0", "eslint-config-prettier": "8.8.0", "eslint-import-resolver-typescript": "3.6.1", diff --git a/server/api/contents/[type].ts b/server/api/contents/[type].ts new file mode 100644 index 000000000..c3115e0cc --- /dev/null +++ b/server/api/contents/[type].ts @@ -0,0 +1,77 @@ +import { sortBy } from 'lodash-es'; +import { + optional, + object, + integer, + number, + coerce, + safeParse, + array, + string, +} from 'valibot'; +import { parse } from 'qs'; +import { parseURL } from 'ufo'; +import { serverQueryContent } from '#content/server'; +import textLength from '~/utils/feature-text-length'; +import priceSort from '~/utils/price-sort'; + +export default defineEventHandler(async (event) => { + const type: string = getRouterParam(event, 'type') ?? ''; + const query = parse(parseURL(event.path).search, { + ignoreQueryPrefix: true, + comma: true, + }); + const contentQuerySchema = object({ + limit: optional(coerce(number([integer()]), Number), 24), + page: optional(coerce(number([integer()]), Number), 1), + fields: optional( + object({ + [type]: coerce(array(string()), (value) => + Array.isArray(value) ? value : Array(value), + ), + }), + ), + }); + const validation = safeParse(contentQuerySchema, query); + if (!validation.success) { + setResponseStatus(event, 400); + return { errors: validation.issues }; + } + const input = validation.output; + const limit = input.limit ?? 24; + const page = input.page ?? 1; + const total = await serverQueryContent(event, type) + .where({ deleted_at: { $exists: false } }) + .count(); + + const fields = input?.fields?.[type] ?? []; + if (fields.length) { + fields.push('_path'); + } + const contentQuery = serverQueryContent(event, type) + .only(fields) + .where({ deleted_at: { $exists: false } }) + .skip((page - 1) * limit) + .limit(limit); + + const data = await contentQuery.find(); + + const sorts = [priceSort, textLength, 'slug']; + const sorted = sortBy(data, sorts).reverse(); + const items = sorted.map((item) => { + const slug = item?._path?.replace(`/${type}/`, ''); + return { + id: slug, + attributes: { + ...item, + url: item.offers ? `/${type}/${slug}` : item.url, + image: slug ? `/img/${type}/${slug}.png` : undefined, + imageColor: item.color, + }, + }; + }); + return { + meta: { pagination: { total, page, limit } }, + data: items, + }; +}); diff --git a/server/api/links.get.ts b/server/api/links.get.ts new file mode 100644 index 000000000..0d19d7b79 --- /dev/null +++ b/server/api/links.get.ts @@ -0,0 +1,6 @@ +import { links } from '~/server/database/schema/links'; + +export default defineEventHandler(async () => { + const data = await db.select().from(links).all(); + return { data }; +}); diff --git a/server/api/links.post.ts b/server/api/links.post.ts new file mode 100644 index 000000000..f3c78299c --- /dev/null +++ b/server/api/links.post.ts @@ -0,0 +1,15 @@ +import { links } from '~/server/database/schema/links'; + +export default defineEventHandler(async (event) => { + const authRequest = auth.handleRequest(event); + const session = await authRequest.validate(); + if (!session) { + throw createError({ + message: 'Unauthorized', + statusCode: 401, + }); + } + const body = await readBody(event); + const result = await db.insert(links).values(body).returning().run(); + return { data: result }; +}); diff --git a/server/api/login.post.ts b/server/api/login.post.ts new file mode 100644 index 000000000..f9e35a055 --- /dev/null +++ b/server/api/login.post.ts @@ -0,0 +1,58 @@ +import { LuciaError } from 'lucia'; + +export default defineEventHandler(async (event) => { + const { username, password } = await readBody<{ + username: unknown; + password: unknown; + }>(event); + // basic check + if ( + typeof username !== 'string' || + username.length < 1 || + username.length > 255 + ) { + throw createError({ + message: 'Invalid username', + statusCode: 400, + }); + } + if ( + typeof password !== 'string' || + password.length < 1 || + password.length > 255 + ) { + throw createError({ + message: 'Invalid password', + statusCode: 400, + }); + } + try { + // find user by key + // and validate password + const key = await auth.useKey('email', username.toLowerCase(), password); + const session = await auth.createSession({ + userId: key.userId, + attributes: {}, + }); + const authRequest = auth.handleRequest(event); + authRequest.setSession(session); + return sendRedirect(event, '/api/me'); // redirect to profile page + } catch (e) { + if ( + e instanceof LuciaError && + (e.message === 'AUTH_INVALID_KEY_ID' || + e.message === 'AUTH_INVALID_PASSWORD') + ) { + // user does not exist + // or invalid password + throw createError({ + message: 'Incorrect username or password', + statusCode: 400, + }); + } + throw createError({ + message: 'An unknown error occurred', + statusCode: 500, + }); + } +}); diff --git a/server/api/me.get.ts b/server/api/me.get.ts new file mode 100644 index 000000000..3e67ce4e2 --- /dev/null +++ b/server/api/me.get.ts @@ -0,0 +1,7 @@ +export default defineEventHandler(async (event) => { + const authRequest = auth.handleRequest(event); + const session = await authRequest.validate(); + return { + user: session?.user ?? null, + }; +}); diff --git a/server/api/signup.post.ts b/server/api/signup.post.ts new file mode 100644 index 000000000..f265c6a91 --- /dev/null +++ b/server/api/signup.post.ts @@ -0,0 +1,60 @@ +// import { SqliteError } from 'better-sqlite3'; + +export default defineEventHandler(async (event) => { + const { username, password } = await readBody<{ + username: unknown; + password: unknown; + }>(event); + // basic check + if ( + typeof username !== 'string' || + username.length < 4 || + username.length > 255 + ) { + throw createError({ + message: 'Invalid username', + statusCode: 400, + }); + } + if ( + typeof password !== 'string' || + password.length < 6 || + password.length > 255 + ) { + throw createError({ + message: 'Invalid password', + statusCode: 400, + }); + } + // try { + const user = await auth.createUser({ + key: { + providerId: 'email', // auth method + providerUserId: username.toLowerCase(), // unique id when using "username" auth method + password, // hashed by Lucia + }, + attributes: { + email: username, + }, + }); + const session = await auth.createSession({ + userId: user.userId, + attributes: {}, + }); + const authRequest = auth.handleRequest(event); + authRequest.setSession(session); + return sendRedirect(event, '/api/me'); // redirect to profile page + // } catch (e) { + // check for unique constraint error in user table + // if (e instanceof SqliteError && e.code === 'SQLITE_CONSTRAINT_UNIQUE') { + // throw createError({ + // message: 'Username already taken', + // statusCode: 400, + // }); + // } + // throw createError({ + // message: 'An unknown error occurred', + // statusCode: 500, + // }); + // } +}); diff --git a/server/api/users.get.ts b/server/api/users.get.ts new file mode 100644 index 000000000..34bf2d2cb --- /dev/null +++ b/server/api/users.get.ts @@ -0,0 +1,14 @@ +import { users } from '~/server/database/schema/users'; + +export default defineEventHandler(async (event) => { + const authRequest = auth.handleRequest(event); + const session = await authRequest.validate(); + if (!session) { + throw createError({ + message: 'Unauthorized', + statusCode: 401, + }); + } + const data = await db.select().from(users).all(); + return { data }; +}); diff --git a/server/database/migrations/0000_violet_bill_hollister.sql b/server/database/migrations/0000_violet_bill_hollister.sql new file mode 100644 index 000000000..02c23fa24 --- /dev/null +++ b/server/database/migrations/0000_violet_bill_hollister.sql @@ -0,0 +1,38 @@ +CREATE TABLE IF NOT EXISTS `links` ( + `id` integer PRIMARY KEY NOT NULL, + `type` text, + `slug` text, + `name` text, + `description` text, + `url` text, + `image` text, + `color` text, + `created_at` text DEFAULT CURRENT_TIMESTAMP, + `update_at` text, + `deleted_at` text +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS `user_key` ( + `id` text PRIMARY KEY NOT NULL, + `user_id` text NOT NULL, + `hashed_password` text, + `created_at` text DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE no action +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS `user_session` ( + `id` text PRIMARY KEY NOT NULL, + `user_id` text NOT NULL, + `active_expires` blob NOT NULL, + `idle_expires` blob NOT NULL, + `created_at` text DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE no action +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS `users` ( + `id` text PRIMARY KEY NOT NULL, + `first_name` text, + `last_name` text, + `email` text, + `created_at` text DEFAULT CURRENT_TIMESTAMP +); diff --git a/server/database/migrations/meta/0000_snapshot.json b/server/database/migrations/meta/0000_snapshot.json new file mode 100644 index 000000000..b5ed5627f --- /dev/null +++ b/server/database/migrations/meta/0000_snapshot.json @@ -0,0 +1,257 @@ +{ + "version": "5", + "dialect": "sqlite", + "id": "b76069f1-9b18-4a76-bf42-d69a4cc628ef", + "prevId": "00000000-0000-0000-0000-000000000000", + "tables": { + "links": { + "name": "links", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + }, + "update_at": { + "name": "update_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user_key": { + "name": "user_key", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "hashed_password": { + "name": "hashed_password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + } + }, + "indexes": {}, + "foreignKeys": { + "user_key_user_id_users_id_fk": { + "name": "user_key_user_id_users_id_fk", + "tableFrom": "user_key", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user_session": { + "name": "user_session", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "active_expires": { + "name": "active_expires", + "type": "blob", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "idle_expires": { + "name": "idle_expires", + "type": "blob", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + } + }, + "indexes": {}, + "foreignKeys": { + "user_session_user_id_users_id_fk": { + "name": "user_session_user_id_users_id_fk", + "tableFrom": "user_session", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "users": { + "name": "users", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "first_name": { + "name": "first_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "last_name": { + "name": "last_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + } +} \ No newline at end of file diff --git a/server/database/migrations/meta/_journal.json b/server/database/migrations/meta/_journal.json new file mode 100644 index 000000000..8ee901031 --- /dev/null +++ b/server/database/migrations/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "5", + "dialect": "sqlite", + "entries": [ + { + "idx": 0, + "version": "5", + "when": 1706276635529, + "tag": "0000_violet_bill_hollister", + "breakpoints": true + } + ] +} \ No newline at end of file diff --git a/server/database/schema/links.ts b/server/database/schema/links.ts new file mode 100644 index 000000000..0a01dea0b --- /dev/null +++ b/server/database/schema/links.ts @@ -0,0 +1,16 @@ +import { sql } from 'drizzle-orm'; +import { integer, sqliteTable, text } from 'drizzle-orm/sqlite-core'; + +export const links = sqliteTable('links', { + id: integer('id').primaryKey(), + type: text('type'), + slug: text('slug'), + name: text('name'), + description: text('description'), + url: text('url'), + image: text('image'), + color: text('color'), + createdAt: text('created_at').default(sql`CURRENT_TIMESTAMP`), + updatedAt: text('update_at'), + deletedAt: text('deleted_at'), +}); diff --git a/server/database/schema/user_key.ts b/server/database/schema/user_key.ts new file mode 100644 index 000000000..836661c05 --- /dev/null +++ b/server/database/schema/user_key.ts @@ -0,0 +1,12 @@ +import { sql } from 'drizzle-orm'; +import { sqliteTable, text } from 'drizzle-orm/sqlite-core'; +import { users } from '~/server/database/schema/users'; + +export const uerKeys = sqliteTable('user_key', { + id: text('id').primaryKey(), + userId: text('user_id') + .notNull() + .references(() => users.id), + hashedPassword: text('hashed_password'), + createdAt: text('created_at').default(sql`CURRENT_TIMESTAMP`), +}); diff --git a/server/database/schema/user_sessions.ts b/server/database/schema/user_sessions.ts new file mode 100644 index 000000000..95a975678 --- /dev/null +++ b/server/database/schema/user_sessions.ts @@ -0,0 +1,17 @@ +import { sql } from 'drizzle-orm'; +import { blob, sqliteTable, text } from 'drizzle-orm/sqlite-core'; +import { users } from '~/server/database/schema/users'; + +export const session = sqliteTable('user_session', { + id: text('id').primaryKey(), + userId: text('user_id') + .notNull() + .references(() => users.id), + activeExpires: blob('active_expires', { + mode: 'bigint', + }).notNull(), + idleExpires: blob('idle_expires', { + mode: 'bigint', + }).notNull(), + createdAt: text('created_at').default(sql`CURRENT_TIMESTAMP`), +}); diff --git a/server/database/schema/users.ts b/server/database/schema/users.ts new file mode 100644 index 000000000..e29d0b03e --- /dev/null +++ b/server/database/schema/users.ts @@ -0,0 +1,10 @@ +import { sql } from 'drizzle-orm'; +import { sqliteTable, text } from 'drizzle-orm/sqlite-core'; + +export const users = sqliteTable('users', { + id: text('id').primaryKey(), + firstName: text('first_name'), + lastName: text('last_name'), + email: text('email'), + createdAt: text('created_at').default(sql`CURRENT_TIMESTAMP`), +}); diff --git a/server/plugins/migrations.ts b/server/plugins/migrations.ts new file mode 100644 index 000000000..dd974d0f4 --- /dev/null +++ b/server/plugins/migrations.ts @@ -0,0 +1,10 @@ +// https://github.com/Atinux/nuxt-todos-edge/tree/main +// import { migrate } from 'drizzle-orm/libsql/migrator'; + +export default defineNitroPlugin(() => { + if (process.dev) { + // migrate(db, { + // migrationsFolder: 'server/database/migrations', + // }); + } +}); diff --git a/server/tsconfig.json b/server/tsconfig.json new file mode 100644 index 000000000..b9ed69c19 --- /dev/null +++ b/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/server/utils/db.ts b/server/utils/db.ts new file mode 100644 index 000000000..997f79a68 --- /dev/null +++ b/server/utils/db.ts @@ -0,0 +1,13 @@ +import { createClient as createLibSQLClient } from '@libsql/client/http'; +import { drizzle } from 'drizzle-orm/libsql'; + +if (!(process.env.TURSO_DB_URL && process.env.TURSO_DB_TOKEN)) { + throw new Error('No database configured for production'); +} + +export const libsqlClient = createLibSQLClient({ + url: process.env.TURSO_DB_URL, + authToken: process.env.TURSO_DB_TOKEN, +}); + +export const db = drizzle(libsqlClient); diff --git a/server/utils/lucia.ts b/server/utils/lucia.ts new file mode 100644 index 000000000..b31b8e565 --- /dev/null +++ b/server/utils/lucia.ts @@ -0,0 +1,19 @@ +import { lucia } from 'lucia'; +import { libsql } from '@lucia-auth/adapter-sqlite'; +import { h3 } from 'lucia/middleware'; +import 'lucia/polyfill/node'; + +export const auth = lucia({ + adapter: libsql(libsqlClient, { + user: 'users', + key: 'user_key', + session: 'user_session', + }), + middleware: h3(), + env: process.dev ? 'DEV' : 'PROD', + getUserAttributes: (data) => { + return { + email: data.email, + }; + }, +}); diff --git a/tsconfig.json b/tsconfig.json index 0b014b2f5..2cc037ec0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,7 +27,7 @@ "ts-node": { "compilerOptions": { "module": "CommonJS", - "verbatimModuleSyntax": false + "verbatimModuleSyntax": false, } }, "exclude": [ diff --git a/yarn.lock b/yarn.lock index e24a2f87a..0d8eb8a34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1842,6 +1842,35 @@ __metadata: languageName: node linkType: hard +"@drizzle-team/studio@npm:^0.0.39": + version: 0.0.39 + resolution: "@drizzle-team/studio@npm:0.0.39" + dependencies: + superjson: "npm:^2.2.1" + checksum: 9e37a31261fa8f6224238dc4f8249199bec8a3f7638da1044beae487cbceb5432bfcc350a13a325c45d75eb05b36713b984d2da14fdf1d608eb9f16576fd9294 + languageName: node + linkType: hard + +"@esbuild-kit/core-utils@npm:^3.3.2": + version: 3.3.2 + resolution: "@esbuild-kit/core-utils@npm:3.3.2" + dependencies: + esbuild: "npm:~0.18.20" + source-map-support: "npm:^0.5.21" + checksum: d856f5bd720814593f911d781ed7558a3f8ec1a39802f3831d0eea0d1306e0e2dc11b7b2443af621c413ec6557f1f3034a9a4f1472a4cb40e52cd6e3b356aa05 + languageName: node + linkType: hard + +"@esbuild-kit/esm-loader@npm:^2.5.5": + version: 2.6.5 + resolution: "@esbuild-kit/esm-loader@npm:2.6.5" + dependencies: + "@esbuild-kit/core-utils": "npm:^3.3.2" + get-tsconfig: "npm:^4.7.0" + checksum: 6894b29176eda62bdce0d458d57f32daed5cb8fcff14cb3ddfbc995cfe3e2fa8599f3b0b1af66db446903b30167f57069f27e9cf79a69cf9b41f557115811cde + languageName: node + linkType: hard + "@esbuild-plugins/node-globals-polyfill@npm:^0.1.1": version: 0.1.1 resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.1.1" @@ -1870,6 +1899,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/android-arm64@npm:0.16.3" @@ -1877,6 +1913,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-arm64@npm:0.18.20" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/android-arm64@npm:0.19.11" @@ -1884,6 +1927,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/android-arm@npm:0.16.3" @@ -1891,6 +1941,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-arm@npm:0.18.20" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/android-arm@npm:0.19.11" @@ -1898,6 +1955,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/android-x64@npm:0.16.3" @@ -1905,6 +1969,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-x64@npm:0.18.20" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/android-x64@npm:0.19.11" @@ -1912,6 +1983,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/darwin-arm64@npm:0.16.3" @@ -1919,6 +1997,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/darwin-arm64@npm:0.18.20" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/darwin-arm64@npm:0.19.11" @@ -1926,6 +2011,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/darwin-x64@npm:0.16.3" @@ -1933,6 +2025,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/darwin-x64@npm:0.18.20" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/darwin-x64@npm:0.19.11" @@ -1940,6 +2039,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/freebsd-arm64@npm:0.16.3" @@ -1947,6 +2053,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/freebsd-arm64@npm:0.18.20" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/freebsd-arm64@npm:0.19.11" @@ -1954,6 +2067,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/freebsd-x64@npm:0.16.3" @@ -1961,6 +2081,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/freebsd-x64@npm:0.18.20" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/freebsd-x64@npm:0.19.11" @@ -1968,6 +2095,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-arm64@npm:0.16.3" @@ -1975,6 +2109,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-arm64@npm:0.18.20" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-arm64@npm:0.19.11" @@ -1982,6 +2123,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm64@npm:0.19.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-arm@npm:0.16.3" @@ -1989,6 +2137,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-arm@npm:0.18.20" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-arm@npm:0.19.11" @@ -1996,6 +2151,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm@npm:0.19.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-ia32@npm:0.16.3" @@ -2003,6 +2165,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-ia32@npm:0.18.20" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-ia32@npm:0.19.11" @@ -2010,6 +2179,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ia32@npm:0.19.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-loong64@npm:0.16.3" @@ -2017,6 +2193,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-loong64@npm:0.18.20" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-loong64@npm:0.19.11" @@ -2024,6 +2207,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-loong64@npm:0.19.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-mips64el@npm:0.16.3" @@ -2031,6 +2221,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-mips64el@npm:0.18.20" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-mips64el@npm:0.19.11" @@ -2038,6 +2235,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-mips64el@npm:0.19.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-ppc64@npm:0.16.3" @@ -2045,6 +2249,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-ppc64@npm:0.18.20" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-ppc64@npm:0.19.11" @@ -2052,6 +2263,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ppc64@npm:0.19.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-riscv64@npm:0.16.3" @@ -2059,6 +2277,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-riscv64@npm:0.18.20" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-riscv64@npm:0.19.11" @@ -2066,6 +2291,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-riscv64@npm:0.19.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-s390x@npm:0.16.3" @@ -2073,6 +2305,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-s390x@npm:0.18.20" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-s390x@npm:0.19.11" @@ -2080,6 +2319,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-s390x@npm:0.19.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/linux-x64@npm:0.16.3" @@ -2087,6 +2333,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-x64@npm:0.18.20" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/linux-x64@npm:0.19.11" @@ -2094,6 +2347,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-x64@npm:0.19.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/netbsd-x64@npm:0.16.3" @@ -2101,6 +2361,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/netbsd-x64@npm:0.18.20" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/netbsd-x64@npm:0.19.11" @@ -2108,6 +2375,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/netbsd-x64@npm:0.19.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/openbsd-x64@npm:0.16.3" @@ -2115,6 +2389,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/openbsd-x64@npm:0.18.20" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/openbsd-x64@npm:0.19.11" @@ -2122,6 +2403,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/openbsd-x64@npm:0.19.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/sunos-x64@npm:0.16.3" @@ -2129,6 +2417,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/sunos-x64@npm:0.18.20" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/sunos-x64@npm:0.19.11" @@ -2136,6 +2431,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/sunos-x64@npm:0.19.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/win32-arm64@npm:0.16.3" @@ -2143,6 +2445,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/win32-arm64@npm:0.18.20" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/win32-arm64@npm:0.19.11" @@ -2150,6 +2459,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-arm64@npm:0.19.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/win32-ia32@npm:0.16.3" @@ -2157,6 +2473,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/win32-ia32@npm:0.18.20" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/win32-ia32@npm:0.19.11" @@ -2164,6 +2487,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-ia32@npm:0.19.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.16.3": version: 0.16.3 resolution: "@esbuild/win32-x64@npm:0.16.3" @@ -2171,6 +2501,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/win32-x64@npm:0.18.20" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.19.11": version: 0.19.11 resolution: "@esbuild/win32-x64@npm:0.19.11" @@ -2178,6 +2515,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-x64@npm:0.19.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -2835,6 +3179,114 @@ __metadata: languageName: node linkType: hard +"@libsql/client@npm:0.4.0-pre.7": + version: 0.4.0-pre.7 + resolution: "@libsql/client@npm:0.4.0-pre.7" + dependencies: + "@libsql/hrana-client": "npm:^0.5.5" + js-base64: "npm:^3.7.5" + libsql: "npm:^0.2.0-pre.7" + checksum: 0c32393e0e7d1b25e7b826529bef66acb9f733f8d447aa3de371b47c8984d26d1c1502596681a88000eafefac0c19e676b54a314ce884a01b9d43e634d31c805 + languageName: node + linkType: hard + +"@libsql/darwin-arm64@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/darwin-arm64@npm:0.2.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@libsql/darwin-x64@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/darwin-x64@npm:0.2.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@libsql/hrana-client@npm:^0.5.5": + version: 0.5.5 + resolution: "@libsql/hrana-client@npm:0.5.5" + dependencies: + "@libsql/isomorphic-fetch": "npm:^0.1.10" + "@libsql/isomorphic-ws": "npm:^0.1.5" + js-base64: "npm:^3.7.5" + node-fetch: "npm:^3.3.2" + checksum: 45f63fb3ddca8bdfeb5f567722d00603c1cf110fbd23ffb5160d83b0953cc3dde1567657feff1c466042f6e84b32cf8232967675a6465c688e90f151d239b1a1 + languageName: node + linkType: hard + +"@libsql/isomorphic-fetch@npm:^0.1.10": + version: 0.1.10 + resolution: "@libsql/isomorphic-fetch@npm:0.1.10" + dependencies: + "@types/node-fetch": "npm:^2.2.6" + node-fetch: "npm:^2.6.12" + checksum: d7ae7910aa6a8398db5f4809323518aebcaacab66574aeaeb485273f26ab3983c563a5b33d5b8590d2c85a763ef44056f42196269bc897fad75e167e26c4f84d + languageName: node + linkType: hard + +"@libsql/isomorphic-ws@npm:^0.1.5": + version: 0.1.5 + resolution: "@libsql/isomorphic-ws@npm:0.1.5" + dependencies: + "@types/ws": "npm:^8.5.4" + ws: "npm:^8.13.0" + checksum: 7028bbc50dd094cdcbe56714dbf52fb646812d1b042c1973e61293f4a1cb5b81d5af670530a2463a2ba485f84f7728daf3eb75d40a7f55316ee4f7015dcc99ae + languageName: node + linkType: hard + +"@libsql/linux-arm64-gnu@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/linux-arm64-gnu@npm:0.2.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@libsql/linux-arm64-musl@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/linux-arm64-musl@npm:0.2.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@libsql/linux-x64-gnu@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/linux-x64-gnu@npm:0.2.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@libsql/linux-x64-musl@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/linux-x64-musl@npm:0.2.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@libsql/win32-x64-msvc@npm:0.2.0": + version: 0.2.0 + resolution: "@libsql/win32-x64-msvc@npm:0.2.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@lucia-auth/adapter-sqlite@npm:2.0.1": + version: 2.0.1 + resolution: "@lucia-auth/adapter-sqlite@npm:2.0.1" + peerDependencies: + "@libsql/client": ^0.3.0 + better-sqlite3: 8.x - 9.x + lucia: ^2.0.0 + peerDependenciesMeta: + "@libsql/client": + optional: true + better-sqlite3: + optional: true + checksum: 7ea2b481acb2bd9cb7357d2b7ffcc980b27711aa596e77732335c5928a290537c8f1bc17c50ca02b74b7dde4769b1e2a987e4bb4e0ba90ac14a461d6bb11c910 + languageName: node + linkType: hard + "@mapbox/node-pre-gyp@npm:^1.0.5": version: 1.0.11 resolution: "@mapbox/node-pre-gyp@npm:1.0.11" @@ -3062,6 +3514,13 @@ __metadata: languageName: node linkType: hard +"@neon-rs/load@npm:^0.0.4": + version: 0.0.4 + resolution: "@neon-rs/load@npm:0.0.4" + checksum: 546fa4e48aa9cdb402f0a3524b591b1cac863bcfdd0217432323dba42ad37ece24b736019e6196e34326201db6b6deb410d7a983ac3c54f322619c9b6bd568bb + languageName: node + linkType: hard + "@netlify/functions@npm:^2.4.0": version: 2.5.1 resolution: "@netlify/functions@npm:2.5.1" @@ -5743,7 +6202,7 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.6.2": +"@types/node-fetch@npm:^2.2.6, @types/node-fetch@npm:^2.6.2": version: 2.6.11 resolution: "@types/node-fetch@npm:2.6.11" dependencies: @@ -5842,7 +6301,7 @@ __metadata: languageName: node linkType: hard -"@types/qs@npm:*": +"@types/qs@npm:*, @types/qs@npm:^6": version: 6.9.11 resolution: "@types/qs@npm:6.9.11" checksum: 657a50f05b694d6fd3916d24177cfa0f3b8b87d9deff4ffa4dddcb0b03583ebf7c47b424b8de400270fb9a5cc1e9cf790dd82c833c6935305851e7da8ede3ff5 @@ -6122,6 +6581,15 @@ __metadata: languageName: node linkType: hard +"@types/ws@npm:^8.5.4": + version: 8.5.10 + resolution: "@types/ws@npm:8.5.10" + dependencies: + "@types/node": "npm:*" + checksum: e9af279b984c4a04ab53295a40aa95c3e9685f04888df5c6920860d1dd073fcc57c7bd33578a04b285b2c655a0b52258d34bee0a20569dca8defb8393e1e5d29 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.3 resolution: "@types/yargs-parser@npm:21.0.3" @@ -9756,6 +10224,19 @@ __metadata: languageName: node linkType: hard +"cli-color@npm:^2.0.0": + version: 2.0.3 + resolution: "cli-color@npm:2.0.3" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.61" + es6-iterator: "npm:^2.0.3" + memoizee: "npm:^0.4.15" + timers-ext: "npm:^0.1.7" + checksum: 9a14c2dbb352cee99e93f27ab6f105b55a57fa48b0704d39091df5ec155766e5a66a53c5384434d3dcaaab9f9258cb12d20eabbc9c39ec5f61034a681c449fc6 + languageName: node + linkType: hard + "cli-columns@npm:^4.0.0": version: 4.0.0 resolution: "cli-columns@npm:4.0.0" @@ -10033,6 +10514,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^9.4.1": + version: 9.5.0 + resolution: "commander@npm:9.5.0" + checksum: 5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d + languageName: node + linkType: hard + "comment-json@npm:^4.1.1, comment-json@npm:^4.2.2": version: 4.2.3 resolution: "comment-json@npm:4.2.3" @@ -10344,6 +10832,15 @@ __metadata: languageName: node linkType: hard +"copy-anything@npm:^3.0.2": + version: 3.0.5 + resolution: "copy-anything@npm:3.0.5" + dependencies: + is-what: "npm:^4.1.8" + checksum: 01eadd500c7e1db71d32d95a3bfaaedcb839ef891c741f6305ab0461398056133de08f2d1bf4c392b364e7bdb7ce498513896e137a7a183ac2516b065c28a4fe + languageName: node + linkType: hard + "copy-concurrently@npm:^1.0.0": version: 1.0.5 resolution: "copy-concurrently@npm:1.0.5" @@ -10881,6 +11378,16 @@ __metadata: languageName: node linkType: hard +"d@npm:1, d@npm:^1.0.1": + version: 1.0.1 + resolution: "d@npm:1.0.1" + dependencies: + es5-ext: "npm:^0.10.50" + type: "npm:^1.0.1" + checksum: 1fedcb3b956a461f64d86b94b347441beff5cef8910b6ac4ec509a2c67eeaa7093660a98b26601ac91f91260238add73bdf25867a9c0cb783774642bc4c1523f + languageName: node + linkType: hard + "daim@workspace:.": version: 0.0.0-use.local resolution: "daim@workspace:." @@ -10891,6 +11398,8 @@ __metadata: "@iconify/vue2": "npm:2.1.0" "@kevinmarrec/nuxt-pwa": "npm:0.17.0" "@lhci/cli": "npm:0.11.0" + "@libsql/client": "npm:0.4.0-pre.7" + "@lucia-auth/adapter-sqlite": "npm:2.0.1" "@mdi/js": "npm:5.9.55" "@nuxt/content": "npm:2.9.0" "@nuxt/image": "npm:1.1.0" @@ -10907,6 +11416,7 @@ __metadata: "@types/lodash": "npm:4.14.191" "@types/lodash-es": "npm:4.17.6" "@types/node": "npm:20.10.4" + "@types/qs": "npm:^6" "@types/sharp": "npm:0.31.0" "@typescript-eslint/eslint-plugin": "npm:5.47.0" "@typescript-eslint/parser": "npm:5.56.0" @@ -10920,6 +11430,8 @@ __metadata: crypto-js: "npm:4.1.1" cspell: "npm:5.9.0" dayjs: "npm:1.10.7" + drizzle-kit: "npm:0.20.13" + drizzle-orm: "npm:0.29.3" eslint: "npm:8.55.0" eslint-config-prettier: "npm:8.8.0" eslint-import-resolver-typescript: "npm:3.6.1" @@ -10931,6 +11443,7 @@ __metadata: github-markdown-css: "npm:4.0.0" js-base64: "npm:3.7.5" lodash-es: "npm:4.17.21" + lucia: "npm:2.7.6" mailgo: "npm:0.12.2" markdown-spellcheck: "npm:1.3.1" nuxt: "npm:3.9.3" @@ -10943,6 +11456,7 @@ __metadata: playwright: "npm:1.40.1" prettier: "npm:2.8.6" puppeteer: "npm:19.7.5" + qs: "npm:6.11.2" query-string: "npm:7.1.3" remark-cli: "npm:11.0.0" remark-frontmatter: "npm:4.0.1" @@ -10960,6 +11474,7 @@ __metadata: svgo: "npm:3.0.2" ts-node: "npm:10.9.1" typescript: "npm:5.0.2" + valibot: "npm:0.26.0" vite-plugin-vuetify: "npm:1.0.2" vite-svg-loader: "npm:4.0.0" vuetify: "npm:3.4.6" @@ -10968,6 +11483,13 @@ __metadata: languageName: unknown linkType: soft +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b + languageName: node + linkType: hard + "dateformat@npm:^3.0.0": version: 3.0.3 resolution: "dateformat@npm:3.0.3" @@ -11287,6 +11809,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:2.0.2, detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.1, detect-libc@npm:^2.0.2": + version: 2.0.2 + resolution: "detect-libc@npm:2.0.2" + checksum: a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 + languageName: node + linkType: hard + "detect-libc@npm:^1.0.3": version: 1.0.3 resolution: "detect-libc@npm:1.0.3" @@ -11296,13 +11825,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.1, detect-libc@npm:^2.0.2": - version: 2.0.2 - resolution: "detect-libc@npm:2.0.2" - checksum: a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 - languageName: node - linkType: hard - "devalue@npm:^4.3.2": version: 4.3.2 resolution: "devalue@npm:4.3.2" @@ -11375,6 +11897,15 @@ __metadata: languageName: node linkType: hard +"difflib@npm:~0.2.1": + version: 0.2.4 + resolution: "difflib@npm:0.2.4" + dependencies: + heap: "npm:>= 0.2.0" + checksum: 4b151f1f6d378b0837ef28f4706d89d05b78f1093253b06c975c621f7ef8b048978588baf9e8f284c64b133d0abb08303b0789519cc91e5180d420cb3bb99c05 + languageName: node + linkType: hard + "dir-glob@npm:^3.0.0, dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -11479,6 +12010,114 @@ __metadata: languageName: node linkType: hard +"dreamopt@npm:~0.8.0": + version: 0.8.0 + resolution: "dreamopt@npm:0.8.0" + dependencies: + wordwrap: "npm:>=0.0.2" + checksum: 8e5953c19519c9ec9427eff91b618c3ded7d2b50fcb89c051ca9c4f49e712460103c12dea09eb3feec5a63f21950488a19481798425aaba815b1c5016b3d58b9 + languageName: node + linkType: hard + +"drizzle-kit@npm:0.20.13": + version: 0.20.13 + resolution: "drizzle-kit@npm:0.20.13" + dependencies: + "@drizzle-team/studio": "npm:^0.0.39" + "@esbuild-kit/esm-loader": "npm:^2.5.5" + camelcase: "npm:^7.0.1" + chalk: "npm:^5.2.0" + commander: "npm:^9.4.1" + env-paths: "npm:^3.0.0" + esbuild: "npm:^0.19.7" + esbuild-register: "npm:^3.5.0" + glob: "npm:^8.1.0" + hanji: "npm:^0.0.5" + json-diff: "npm:0.9.0" + minimatch: "npm:^7.4.3" + semver: "npm:^7.5.4" + zod: "npm:^3.20.2" + bin: + drizzle-kit: bin.cjs + checksum: 33cf597cf1817fe26452e330b0acc3d1210f28b95aacd21b602ff2ca93ca4576f4601d5c73d5e0b6008cef133cf5a185158691a898b3c932f6afeeb3fcc67723 + languageName: node + linkType: hard + +"drizzle-orm@npm:0.29.3": + version: 0.29.3 + resolution: "drizzle-orm@npm:0.29.3" + peerDependencies: + "@aws-sdk/client-rds-data": ">=3" + "@cloudflare/workers-types": ">=3" + "@libsql/client": "*" + "@neondatabase/serverless": ">=0.1" + "@opentelemetry/api": ^1.4.1 + "@planetscale/database": ">=1" + "@types/better-sqlite3": "*" + "@types/pg": "*" + "@types/react": ">=18" + "@types/sql.js": "*" + "@vercel/postgres": "*" + better-sqlite3: ">=7" + bun-types: "*" + expo-sqlite: ">=13.2.0" + knex: "*" + kysely: "*" + mysql2: ">=2" + pg: ">=8" + postgres: ">=3" + react: ">=18" + sql.js: ">=1" + sqlite3: ">=5" + peerDependenciesMeta: + "@aws-sdk/client-rds-data": + optional: true + "@cloudflare/workers-types": + optional: true + "@libsql/client": + optional: true + "@neondatabase/serverless": + optional: true + "@opentelemetry/api": + optional: true + "@planetscale/database": + optional: true + "@types/better-sqlite3": + optional: true + "@types/pg": + optional: true + "@types/react": + optional: true + "@types/sql.js": + optional: true + "@vercel/postgres": + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + react: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + checksum: a5a53e4599981f256e10bd0e6e4724f14ffe7c9f6bef963c5cc9d00c8379c2367324ae0c67abc52a319704fedba796a5583dac3d36fac0de19585f87844d3611 + languageName: node + linkType: hard + "duplexer2@npm:~0.1.0": version: 0.1.4 resolution: "duplexer2@npm:0.1.4" @@ -11710,6 +12349,13 @@ __metadata: languageName: node linkType: hard +"env-paths@npm:^3.0.0": + version: 3.0.0 + resolution: "env-paths@npm:3.0.0" + checksum: 76dec878cee47f841103bacd7fae03283af16f0702dad65102ef0a556f310b98a377885e0f32943831eb08b5ab37842a323d02529f3dfd5d0a40ca71b01b435f + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -11822,6 +12468,61 @@ __metadata: languageName: node linkType: hard +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.50, es5-ext@npm:^0.10.53, es5-ext@npm:^0.10.61, es5-ext@npm:~0.10.14, es5-ext@npm:~0.10.2, es5-ext@npm:~0.10.46": + version: 0.10.62 + resolution: "es5-ext@npm:0.10.62" + dependencies: + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.3" + next-tick: "npm:^1.1.0" + checksum: 72dfbec5e4bce24754be9f2c2a1c67c01de3fe000103c115f52891f6a51f44a59674c40a1f6bd2390fcd43987746dccb76efafea91c7bb6295bdca8d63ba3db4 + languageName: node + linkType: hard + +"es6-iterator@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.35" + es6-symbol: "npm:^3.1.1" + checksum: 91f20b799dba28fb05bf623c31857fc1524a0f1c444903beccaf8929ad196c8c9ded233e5ac7214fc63a92b3f25b64b7f2737fcca8b1f92d2d96cf3ac902f5d8 + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.3 + resolution: "es6-symbol@npm:3.1.3" + dependencies: + d: "npm:^1.0.1" + ext: "npm:^1.1.2" + checksum: 22982f815f00df553a89f4fb74c5048fed85df598482b4bd38dbd173174247949c72982a7d7132a58b147525398400e5f182db59b0916cb49f1e245fb0e22233 + languageName: node + linkType: hard + +"es6-weak-map@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-weak-map@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.46" + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.1" + checksum: 460932be9542473dbbddd183e21c15a66cfec1b2c17dae2b514e190d6fb2896b7eb683783d4b36da036609d2e1c93d2815f21b374dfccaf02a8978694c2f7b67 + languageName: node + linkType: hard + +"esbuild-register@npm:^3.5.0": + version: 3.5.0 + resolution: "esbuild-register@npm:3.5.0" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + esbuild: ">=0.12 <1" + checksum: 9ccd0573cb66018e4cce3c1416eed0f5f3794c7026ce469a94e2f8761335abed8e363fc8e8bb036ab9ad7e579bb4296b8568a04ae5626596c123576b0d9c9bde + languageName: node + linkType: hard + "esbuild@npm:0.16.3": version: 0.16.3 resolution: "esbuild@npm:0.16.3" @@ -11979,6 +12680,163 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.19.7": + version: 0.19.12 + resolution: "esbuild@npm:0.19.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.19.12" + "@esbuild/android-arm64": "npm:0.19.12" + "@esbuild/android-x64": "npm:0.19.12" + "@esbuild/darwin-arm64": "npm:0.19.12" + "@esbuild/darwin-x64": "npm:0.19.12" + "@esbuild/freebsd-arm64": "npm:0.19.12" + "@esbuild/freebsd-x64": "npm:0.19.12" + "@esbuild/linux-arm": "npm:0.19.12" + "@esbuild/linux-arm64": "npm:0.19.12" + "@esbuild/linux-ia32": "npm:0.19.12" + "@esbuild/linux-loong64": "npm:0.19.12" + "@esbuild/linux-mips64el": "npm:0.19.12" + "@esbuild/linux-ppc64": "npm:0.19.12" + "@esbuild/linux-riscv64": "npm:0.19.12" + "@esbuild/linux-s390x": "npm:0.19.12" + "@esbuild/linux-x64": "npm:0.19.12" + "@esbuild/netbsd-x64": "npm:0.19.12" + "@esbuild/openbsd-x64": "npm:0.19.12" + "@esbuild/sunos-x64": "npm:0.19.12" + "@esbuild/win32-arm64": "npm:0.19.12" + "@esbuild/win32-ia32": "npm:0.19.12" + "@esbuild/win32-x64": "npm:0.19.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + languageName: node + linkType: hard + +"esbuild@npm:~0.18.20": + version: 0.18.20 + resolution: "esbuild@npm:0.18.20" + dependencies: + "@esbuild/android-arm": "npm:0.18.20" + "@esbuild/android-arm64": "npm:0.18.20" + "@esbuild/android-x64": "npm:0.18.20" + "@esbuild/darwin-arm64": "npm:0.18.20" + "@esbuild/darwin-x64": "npm:0.18.20" + "@esbuild/freebsd-arm64": "npm:0.18.20" + "@esbuild/freebsd-x64": "npm:0.18.20" + "@esbuild/linux-arm": "npm:0.18.20" + "@esbuild/linux-arm64": "npm:0.18.20" + "@esbuild/linux-ia32": "npm:0.18.20" + "@esbuild/linux-loong64": "npm:0.18.20" + "@esbuild/linux-mips64el": "npm:0.18.20" + "@esbuild/linux-ppc64": "npm:0.18.20" + "@esbuild/linux-riscv64": "npm:0.18.20" + "@esbuild/linux-s390x": "npm:0.18.20" + "@esbuild/linux-x64": "npm:0.18.20" + "@esbuild/netbsd-x64": "npm:0.18.20" + "@esbuild/openbsd-x64": "npm:0.18.20" + "@esbuild/sunos-x64": "npm:0.18.20" + "@esbuild/win32-arm64": "npm:0.18.20" + "@esbuild/win32-ia32": "npm:0.18.20" + "@esbuild/win32-x64": "npm:0.18.20" + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -12528,6 +13386,16 @@ __metadata: languageName: node linkType: hard +"event-emitter@npm:^0.3.5": + version: 0.3.5 + resolution: "event-emitter@npm:0.3.5" + dependencies: + d: "npm:1" + es5-ext: "npm:~0.10.14" + checksum: 75082fa8ffb3929766d0f0a063bfd6046bd2a80bea2666ebaa0cfd6f4a9116be6647c15667bea77222afc12f5b4071b68d393cf39fdaa0e8e81eda006160aff0 + languageName: node + linkType: hard + "event-stream@npm:=3.3.4": version: 3.3.4 resolution: "event-stream@npm:3.3.4" @@ -12704,6 +13572,15 @@ __metadata: languageName: node linkType: hard +"ext@npm:^1.1.2": + version: 1.7.0 + resolution: "ext@npm:1.7.0" + dependencies: + type: "npm:^2.7.2" + checksum: a8e5f34e12214e9eee3a4af3b5c9d05ba048f28996450975b369fc86e5d0ef13b6df0615f892f5396a9c65d616213c25ec5b0ad17ef42eac4a500512a19da6c7 + languageName: node + linkType: hard + "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -12893,6 +13770,16 @@ __metadata: languageName: node linkType: hard +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: "npm:^1.0.0" + web-streams-polyfill: "npm:^3.0.3" + checksum: 60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 + languageName: node + linkType: hard + "fflate@npm:^0.7.3": version: 0.7.4 resolution: "fflate@npm:0.7.4" @@ -13192,6 +14079,15 @@ __metadata: languageName: node linkType: hard +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: "npm:^3.1.2" + checksum: 5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 + languageName: node + linkType: hard + "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -13565,7 +14461,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0": +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0": version: 4.7.2 resolution: "get-tsconfig@npm:4.7.2" dependencies: @@ -13743,7 +14639,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.0, glob@npm:^8.0.1, glob@npm:^8.0.3": +"glob@npm:^8.0.0, glob@npm:^8.0.1, glob@npm:^8.0.3, glob@npm:^8.1.0": version: 8.1.0 resolution: "glob@npm:8.1.0" dependencies: @@ -13966,6 +14862,16 @@ __metadata: languageName: node linkType: hard +"hanji@npm:^0.0.5": + version: 0.0.5 + resolution: "hanji@npm:0.0.5" + dependencies: + lodash.throttle: "npm:^4.1.1" + sisteransi: "npm:^1.0.5" + checksum: ffa0c2180518377551fad9bbe9e45fa622388833fdd8cb573277dc234748c23fe488cc853bf51dd243bcf8f97ff8561c486f5db5f05d5bbecb09bb960ea8d2ec + languageName: node + linkType: hard + "hard-rejection@npm:^2.1.0": version: 2.1.0 resolution: "hard-rejection@npm:2.1.0" @@ -14246,6 +15152,13 @@ __metadata: languageName: node linkType: hard +"heap@npm:>= 0.2.0": + version: 0.2.7 + resolution: "heap@npm:0.2.7" + checksum: 341c5d51ae13dc8346c371a8a69c57c972fcb9a3233090d3dd5ba29d483d6b5b4e75492443cbfeacd46608bb30e6680f646ffb7a6205900221735587d07a79b6 + languageName: node + linkType: hard + "hex-rgb@npm:^4.1.0": version: 4.3.0 resolution: "hex-rgb@npm:4.3.0" @@ -15327,6 +16240,13 @@ __metadata: languageName: node linkType: hard +"is-promise@npm:^2.2.2": + version: 2.2.2 + resolution: "is-promise@npm:2.2.2" + checksum: 2dba959812380e45b3df0fb12e7cb4d4528c989c7abb03ececb1d1fd6ab1cbfee956ca9daa587b9db1d8ac3c1e5738cf217bdb3dfd99df8c691be4c00ae09069 + languageName: node + linkType: hard + "is-promise@npm:^4.0.0": version: 4.0.0 resolution: "is-promise@npm:4.0.0" @@ -15451,6 +16371,13 @@ __metadata: languageName: node linkType: hard +"is-what@npm:^4.1.8": + version: 4.1.16 + resolution: "is-what@npm:4.1.16" + checksum: 611f1947776826dcf85b57cfb7bd3b3ea6f4b94a9c2f551d4a53f653cf0cb9d1e6518846648256d46ee6c91d114b6d09d2ac8a07306f7430c5900f87466aae5b + languageName: node + linkType: hard + "is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" @@ -15660,6 +16587,13 @@ __metadata: languageName: node linkType: hard +"js-base64@npm:^3.7.5": + version: 3.7.6 + resolution: "js-base64@npm:3.7.6" + checksum: d9ae30a04e28e5814c6c606d08ecf9aac16daea0fcbc549e3b971042a4d4ecc7cf60ea96e1c9e8a463ca75fcbfd13613b87bddb3a8fe92801271e7eedcd3e8d3 + languageName: node + linkType: hard + "js-library-detector@npm:^6.5.0": version: 6.7.0 resolution: "js-library-detector@npm:6.7.0" @@ -15738,6 +16672,19 @@ __metadata: languageName: node linkType: hard +"json-diff@npm:0.9.0": + version: 0.9.0 + resolution: "json-diff@npm:0.9.0" + dependencies: + cli-color: "npm:^2.0.0" + difflib: "npm:~0.2.1" + dreamopt: "npm:~0.8.0" + bin: + json-diff: bin/json-diff.js + checksum: 971983f0e93c4f55c2d2bee8429e84e61ca054144ddcaf5cecf8aff33e68756fd93dcdd2ff8f19a12ef9aa5063b0e81087bbb266f4c0db5de6fe3e8440da8b99 + languageName: node + linkType: hard + "json-parse-better-errors@npm:^1.0.1, json-parse-better-errors@npm:^1.0.2": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -16162,6 +17109,39 @@ __metadata: languageName: node linkType: hard +"libsql@npm:^0.2.0-pre.7": + version: 0.2.0 + resolution: "libsql@npm:0.2.0" + dependencies: + "@libsql/darwin-arm64": "npm:0.2.0" + "@libsql/darwin-x64": "npm:0.2.0" + "@libsql/linux-arm64-gnu": "npm:0.2.0" + "@libsql/linux-arm64-musl": "npm:0.2.0" + "@libsql/linux-x64-gnu": "npm:0.2.0" + "@libsql/linux-x64-musl": "npm:0.2.0" + "@libsql/win32-x64-msvc": "npm:0.2.0" + "@neon-rs/load": "npm:^0.0.4" + detect-libc: "npm:2.0.2" + dependenciesMeta: + "@libsql/darwin-arm64": + optional: true + "@libsql/darwin-x64": + optional: true + "@libsql/linux-arm64-gnu": + optional: true + "@libsql/linux-arm64-musl": + optional: true + "@libsql/linux-x64-gnu": + optional: true + "@libsql/linux-x64-musl": + optional: true + "@libsql/win32-x64-msvc": + optional: true + checksum: aa20f406e9e9373a57e4f4aff7ad7e902ef694d8cf38fa918b430ccf74dafc8cedb4e5b1075753e7ac89583c87169dd56cc8c3775a290c6ce1eb9ec4c5c218a2 + conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64) + languageName: node + linkType: hard + "lighthouse-logger@npm:1.2.0": version: 1.2.0 resolution: "lighthouse-logger@npm:1.2.0" @@ -16573,6 +17553,13 @@ __metadata: languageName: node linkType: hard +"lodash.throttle@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.throttle@npm:4.1.1" + checksum: 14628013e9e7f65ac904fc82fd8ecb0e55a9c4c2416434b1dd9cf64ae70a8937f0b15376a39a68248530adc64887ed0fe2b75204b2c9ec3eea1cb2d66ddd125d + languageName: node + linkType: hard + "lodash.uniq@npm:^4.5.0": version: 4.5.0 resolution: "lodash.uniq@npm:4.5.0" @@ -16657,6 +17644,15 @@ __metadata: languageName: node linkType: hard +"lru-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "lru-queue@npm:0.1.0" + dependencies: + es5-ext: "npm:~0.10.2" + checksum: 83517032b46843601c4528be65e8aaf85f5a7860a9cfa3e4f2b5591da436e7cd748d95b450c91434c4ffb75d3ae4c069ddbdd9f71ada56a99a00c03088c51b4d + languageName: node + linkType: hard + "lru_map@npm:^0.3.3": version: 0.3.3 resolution: "lru_map@npm:0.3.3" @@ -16664,6 +17660,13 @@ __metadata: languageName: node linkType: hard +"lucia@npm:2.7.6": + version: 2.7.6 + resolution: "lucia@npm:2.7.6" + checksum: 90cbd406c9b43400453342b8db43171d3132cadfc62c417729be583dd2ba8c713723f2677f0068af8f6f0f5d3dd787d753c60eed89a714b4a94d75c72c83c3be + languageName: node + linkType: hard + "magic-string-ast@npm:^0.1.2": version: 0.1.3 resolution: "magic-string-ast@npm:0.1.3" @@ -17230,6 +18233,22 @@ __metadata: languageName: node linkType: hard +"memoizee@npm:^0.4.15": + version: 0.4.15 + resolution: "memoizee@npm:0.4.15" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.53" + es6-weak-map: "npm:^2.0.3" + event-emitter: "npm:^0.3.5" + is-promise: "npm:^2.2.2" + lru-queue: "npm:^0.1.0" + next-tick: "npm:^1.1.0" + timers-ext: "npm:^0.1.7" + checksum: 297e65cd8256bdf24c48f5e158da80d4c9688db0d6e65c5dcc13fa768e782ddeb71aec36925359931b5efef0efc6666b5bb2af6deb3de63d4258a3821ed16fce + languageName: node + linkType: hard + "memory-cache@npm:^0.2.0": version: 0.2.0 resolution: "memory-cache@npm:0.2.0" @@ -18109,7 +19128,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^7.4.6": +"minimatch@npm:^7.4.3, minimatch@npm:^7.4.6": version: 7.4.6 resolution: "minimatch@npm:7.4.6" dependencies: @@ -18570,6 +19589,13 @@ __metadata: languageName: node linkType: hard +"next-tick@npm:1, next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 3ba80dd805fcb336b4f52e010992f3e6175869c8d88bf4ff0a81d5d66e6049f89993463b28211613e58a6b7fe93ff5ccbba0da18d4fa574b96289e8f0b577f28 + languageName: node + linkType: hard + "nitropack@npm:^2.8.1": version: 2.8.1 resolution: "nitropack@npm:2.8.1" @@ -18693,6 +19719,13 @@ __metadata: languageName: node linkType: hard +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + "node-emoji@npm:^1.11.0": version: 1.11.0 resolution: "node-emoji@npm:1.11.0" @@ -18742,7 +19775,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -18756,6 +19789,17 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: "npm:^4.0.0" + fetch-blob: "npm:^3.1.4" + formdata-polyfill: "npm:^4.0.10" + checksum: f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 + languageName: node + linkType: hard + "node-forge@npm:^1, node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -21466,7 +22510,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.11.2": +"qs@npm:6.11.2, qs@npm:^6.11.2": version: 6.11.2 resolution: "qs@npm:6.11.2" dependencies: @@ -23847,7 +24891,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.10, source-map-support@npm:^0.5.20, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.20": +"source-map-support@npm:^0.5.10, source-map-support@npm:^0.5.20, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -24483,6 +25527,15 @@ __metadata: languageName: node linkType: hard +"superjson@npm:^2.2.1": + version: 2.2.1 + resolution: "superjson@npm:2.2.1" + dependencies: + copy-anything: "npm:^3.0.2" + checksum: 5d8202c955170bd98ef2647f712754ac54d2d007923cfdb53a4b035304d8964b8c41d5eff41ee277896e2ac32e06abb009b571f1589416b729fe40216320cc7a + languageName: node + linkType: hard + "supports-color@npm:^2.0.0": version: 2.0.0 resolution: "supports-color@npm:2.0.0" @@ -24856,6 +25909,16 @@ __metadata: languageName: node linkType: hard +"timers-ext@npm:^0.1.7": + version: 0.1.7 + resolution: "timers-ext@npm:0.1.7" + dependencies: + es5-ext: "npm:~0.10.46" + next-tick: "npm:1" + checksum: fc43c6a01f52875e57d301ae9ec47b3021c6d9b96de5bc6e4e5fc4a3d2b25ebaab69faf6fe85520efbef0ad784537748f88f7efd7b6b2bf0a177c8bc7a66ca7c + languageName: node + linkType: hard + "tiny-inflate@npm:^1.0.0": version: 1.0.3 resolution: "tiny-inflate@npm:1.0.3" @@ -25277,6 +26340,20 @@ __metadata: languageName: node linkType: hard +"type@npm:^1.0.1": + version: 1.2.0 + resolution: "type@npm:1.2.0" + checksum: 444660849aaebef8cbb9bc43b28ec2068952064cfce6a646f88db97aaa2e2d6570c5629cd79238b71ba23aa3f75146a0b96e24e198210ee0089715a6f8889bf7 + languageName: node + linkType: hard + +"type@npm:^2.7.2": + version: 2.7.2 + resolution: "type@npm:2.7.2" + checksum: 84c2382788fe24e0bc3d64c0c181820048f672b0f06316aa9c7bdb373f8a09f8b5404f4e856bc4539fb931f2f08f2adc4c53f6c08c9c0314505d70c29a1289e1 + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.0": version: 1.0.0 resolution: "typed-array-buffer@npm:1.0.0" @@ -26376,6 +27453,13 @@ __metadata: languageName: node linkType: hard +"valibot@npm:0.26.0": + version: 0.26.0 + resolution: "valibot@npm:0.26.0" + checksum: d4854c7ccaa6194c5172e001a98c0116b7cf3f58607d83472b38431e0203e80dd960cfc36e3a0650eeb7aec6036b4c27ad4d363f24a0541495e71b35c331b3e3 + languageName: node + linkType: hard + "validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -27031,6 +28115,13 @@ __metadata: languageName: node linkType: hard +"web-streams-polyfill@npm:^3.0.3": + version: 3.3.2 + resolution: "web-streams-polyfill@npm:3.3.2" + checksum: 623c2fced2ef77d5afdbc43acef64b8af609a32125b691eae286d534a36004c8a71030f0e78068516774a97fd90dbfb3726b10fd569a2d158e60c83a539c489e + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -27219,7 +28310,7 @@ __metadata: languageName: node linkType: hard -"wordwrap@npm:^1.0.0": +"wordwrap@npm:>=0.0.2, wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0" checksum: 7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 @@ -27595,7 +28686,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.12.0, ws@npm:^8.14.2, ws@npm:^8.16.0, ws@npm:^8.2.2": +"ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.14.2, ws@npm:^8.16.0, ws@npm:^8.2.2": version: 8.16.0 resolution: "ws@npm:8.16.0" peerDependencies: @@ -27900,6 +28991,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.20.2": + version: 3.22.4 + resolution: "zod@npm:3.22.4" + checksum: 7578ab283dac0eee66a0ad0fc4a7f28c43e6745aadb3a529f59a4b851aa10872b3890398b3160f257f4b6817b4ce643debdda4fb21a2c040adda7862cab0a587 + languageName: node + linkType: hard + "zwitch@npm:^2.0.0": version: 2.0.4 resolution: "zwitch@npm:2.0.4"