diff --git a/cspell.config.yaml b/cspell.config.yaml
index 37de4c07a..295a225ae 100644
--- a/cspell.config.yaml
+++ b/cspell.config.yaml
@@ -32,6 +32,10 @@ words:
- demi
- dotenvx
- dtype
+ - duckdb
+ - DuckDBWASM
+ - DuckDBWASMQuery
+ - DuckDBWASMQ
- elevenlabs
- formkit
- gcornut
@@ -82,6 +86,7 @@ words:
- pixi
- pixiv
- pretrained
+ - pthread
- rehype
- rushstack
- Shadcn
diff --git a/eslint.config.js b/eslint.config.js
index ea47a7da8..d217920e3 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -9,6 +9,7 @@ export default antfu(
'**/assets/js/**',
'**/assets/live2d/models/**',
'packages/stage-tamagotchi/out/**',
+ '**/drizzle/**',
],
},
)
diff --git a/package.json b/package.json
index f11a5ff9b..1bb55f01d 100644
--- a/package.json
+++ b/package.json
@@ -51,8 +51,10 @@
"vitest": "^3.0.4"
},
"workspaces": [
- "packages/*",
- "docs"
+ "packages/**",
+ "services/**",
+ "examples/**",
+ "docs/**"
],
"simple-git-hooks": {
"pre-commit": "pnpm lint-staged && pnpm typecheck"
diff --git a/packages/memory-driver/README.md b/packages/memory-driver-duckdb/README.md
similarity index 100%
rename from packages/memory-driver/README.md
rename to packages/memory-driver-duckdb/README.md
diff --git a/packages/memory-driver-duckdb/drizzle.config.ts b/packages/memory-driver-duckdb/drizzle.config.ts
new file mode 100644
index 000000000..ff63453eb
--- /dev/null
+++ b/packages/memory-driver-duckdb/drizzle.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig } from 'drizzle-kit'
+
+export default defineConfig({
+ dialect: 'postgresql',
+ schema: './playground/db/schema.ts',
+ out: './playground/drizzle',
+})
diff --git a/packages/memory-driver-duckdb/package.json b/packages/memory-driver-duckdb/package.json
new file mode 100644
index 000000000..6b7cbb9c8
--- /dev/null
+++ b/packages/memory-driver-duckdb/package.json
@@ -0,0 +1,69 @@
+{
+ "name": "@proj-airi/memory-driver-duckdb",
+ "type": "module",
+ "version": "1.0.0",
+ "private": true,
+ "description": "",
+ "author": {
+ "name": "Neko Ayaka",
+ "email": "neko@ayaka.moe",
+ "url": "https://github.com/nekomeowww"
+ },
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/moeru-ai/airi.git",
+ "directory": "packages/memory-driver-duckdb"
+ },
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.cjs"
+ },
+ "./drizzle-orm": {
+ "types": "./dist/drizzle-orm/index.d.ts",
+ "import": "./dist/drizzle-orm/index.mjs",
+ "node": "./dist/drizzle-orm/index.cjs"
+ },
+ "./drizzle-orm/vite": {
+ "types": "./dist/drizzle-orm/vite.d.ts",
+ "import": "./dist/drizzle-orm/vite.mjs",
+ "node": "./dist/drizzle-orm/vite.cjs"
+ }
+ },
+ "main": "./dist/index.cjs",
+ "module": "./dist/index.mjs",
+ "types": "./dist/index.d.ts",
+ "files": [
+ "README.md",
+ "dist",
+ "package.json"
+ ],
+ "scripts": {
+ "playground:dev": "vite",
+ "dev": "pnpm run stub && vite",
+ "stub": "unbuild --stub",
+ "build": "unbuild",
+ "typecheck": "tsc --noEmit",
+ "db:generate": "drizzle-kit generate"
+ },
+ "dependencies": {
+ "@date-fns/tz": "^1.2.0",
+ "@duckdb/duckdb-wasm": "^1.29.0",
+ "apache-arrow": "^19.0.0",
+ "date-fns": "^4.1.0",
+ "defu": "^6.1.4",
+ "drizzle-orm": "^0.39.1",
+ "es-toolkit": "^1.32.0"
+ },
+ "devDependencies": {
+ "@unocss/reset": "^65.4.3",
+ "@vitejs/plugin-vue": "^5.2.1",
+ "@vueuse/core": "^12.5.0",
+ "drizzle-kit": "^0.30.4",
+ "vite": "^6.0.11",
+ "vue": "^3.5.13",
+ "vue-tsc": "^2.2.0"
+ }
+}
diff --git a/packages/memory-driver-duckdb/playground/db/schema.ts b/packages/memory-driver-duckdb/playground/db/schema.ts
new file mode 100644
index 000000000..eb17af9af
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/db/schema.ts
@@ -0,0 +1,8 @@
+import { sql } from 'drizzle-orm'
+import { bigint, pgTable } from 'drizzle-orm/pg-core'
+
+export const users = pgTable('users', () => {
+ return {
+ id: bigint({ mode: 'number' }).primaryKey().unique().default(sql`0`),
+ }
+})
diff --git a/packages/memory-driver-duckdb/playground/drizzle/0000_blue_selene.sql b/packages/memory-driver-duckdb/playground/drizzle/0000_blue_selene.sql
new file mode 100644
index 000000000..039a4e8b5
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/drizzle/0000_blue_selene.sql
@@ -0,0 +1,4 @@
+CREATE TABLE "users" (
+ "id" bigint PRIMARY KEY DEFAULT 0 NOT NULL,
+ CONSTRAINT "users_id_unique" UNIQUE("id")
+);
diff --git a/packages/memory-driver-duckdb/playground/drizzle/meta/0000_snapshot.json b/packages/memory-driver-duckdb/playground/drizzle/meta/0000_snapshot.json
new file mode 100644
index 000000000..071ef7702
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/drizzle/meta/0000_snapshot.json
@@ -0,0 +1,47 @@
+{
+ "id": "243b9794-66eb-484e-8359-cc3354344cf6",
+ "prevId": "00000000-0000-0000-0000-000000000000",
+ "version": "7",
+ "dialect": "postgresql",
+ "tables": {
+ "public.users": {
+ "name": "users",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "bigint",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "0"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "users_id_unique": {
+ "name": "users_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {},
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "columns": {},
+ "schemas": {},
+ "tables": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/memory-driver-duckdb/playground/drizzle/meta/_journal.json b/packages/memory-driver-duckdb/playground/drizzle/meta/_journal.json
new file mode 100644
index 000000000..96aa778fc
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/drizzle/meta/_journal.json
@@ -0,0 +1,13 @@
+{
+ "version": "7",
+ "dialect": "postgresql",
+ "entries": [
+ {
+ "idx": 0,
+ "version": "7",
+ "when": 1739028279439,
+ "tag": "0000_blue_selene",
+ "breakpoints": true
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/memory-driver-duckdb/playground/index.html b/packages/memory-driver-duckdb/playground/index.html
new file mode 100644
index 000000000..88a9df4f1
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+ Project AIRI Memory Driver @duckdb/duckdb-wasm Playground
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/memory-driver-duckdb/playground/public/favicon-96x96.png b/packages/memory-driver-duckdb/playground/public/favicon-96x96.png
new file mode 100644
index 000000000..a70eda1af
Binary files /dev/null and b/packages/memory-driver-duckdb/playground/public/favicon-96x96.png differ
diff --git a/packages/memory-driver-duckdb/playground/public/favicon.svg b/packages/memory-driver-duckdb/playground/public/favicon.svg
new file mode 100644
index 000000000..17940af47
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/public/favicon.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/packages/memory-driver-duckdb/playground/src/App.vue b/packages/memory-driver-duckdb/playground/src/App.vue
new file mode 100644
index 000000000..a54148c4f
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/src/App.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
+ @duckdb/duckdb-wasm + drizzle-orm Playground
+
+
+
+
+ Results
+
+
+ {{ JSON.stringify(results, null, 2) }}
+
+
+
+
+
+
diff --git a/packages/memory-driver-duckdb/playground/src/main.ts b/packages/memory-driver-duckdb/playground/src/main.ts
new file mode 100644
index 000000000..da8479286
--- /dev/null
+++ b/packages/memory-driver-duckdb/playground/src/main.ts
@@ -0,0 +1,8 @@
+import { createApp } from 'vue'
+
+import App from './App.vue'
+import '@unocss/reset/tailwind.css'
+import 'uno.css'
+
+createApp(App)
+ .mount('#app')
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-common.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-common.ts
new file mode 100644
index 000000000..9eb37a9ae
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-common.ts
@@ -0,0 +1,19 @@
+/**
+ * A type predicate that is true if the given value is either undefined
+ * or null.
+ */
+export function isNullOrUndefined(
+ value: T | null | undefined,
+): value is null | undefined {
+ return value === null || value === undefined
+}
+
+/**
+ * A type predicate that is true if the given value is neither undefined
+ * nor null.
+ */
+export function notNullOrUndefined(
+ value: T | null | undefined,
+): value is T {
+ return value !== null && value !== undefined
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-default-bundles.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-default-bundles.ts
new file mode 100644
index 000000000..43113f61a
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-default-bundles.ts
@@ -0,0 +1,19 @@
+import type { DuckDBBundles } from '@duckdb/duckdb-wasm'
+
+export function getBundles(): DuckDBBundles {
+ return {
+ mvp: {
+ mainModule: './duckdb-mvp.wasm',
+ mainWorker: './duckdb-browser-mvp.worker.js',
+ },
+ eh: {
+ mainModule: './duckdb-eh.wasm',
+ mainWorker: './duckdb-browser-eh.worker.js',
+ },
+ coi: {
+ mainModule: './duckdb-coi.wasm',
+ mainWorker: './duckdb-browser-coi.worker.js',
+ pthreadWorker: './duckdb-browser-coi.pthread.worker.js',
+ },
+ }
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-format.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-format.ts
new file mode 100644
index 000000000..beec345c6
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-format.ts
@@ -0,0 +1,552 @@
+import type { Field, StructRow } from 'apache-arrow'
+import type { DataType } from './duckdb-types'
+import { TZDate } from '@date-fns/tz'
+import { Struct, TimeUnit, util } from 'apache-arrow'
+import {
+ addDays,
+ addHours,
+ addMilliseconds,
+ addMinutes,
+ addMonths,
+ addQuarters,
+ addSeconds,
+ addWeeks,
+ addYears,
+ format as dateFormat,
+ formatDuration as dateFormatDuration,
+ fromUnixTime,
+ setDay,
+} from 'date-fns'
+
+import { trimEnd } from 'es-toolkit'
+import { isNullOrUndefined, notNullOrUndefined } from './duckdb-common'
+import {
+
+ isDatetimeType,
+ isDateType,
+ isDecimalType,
+ isDurationType,
+ isFloatType,
+ isIntervalType,
+ isListType,
+ isObjectType,
+ isPeriodType,
+ isTimeType,
+} from './duckdb-types'
+
+/**
+ * The frequency strings defined in pandas.
+ * See: https://pandas.pydata.org/docs/user_guide/timeseries.html#period-aliases
+ * Not supported: "N" (nanoseconds), "U" & "us" (microseconds), and "B" (business days).
+ * Reason is that these types are not supported by moment.js, but also they are not
+ * very commonly used in practice.
+ */
+type SupportedPandasOffsetType =
+ // yearly frequency:
+ | 'A' // deprecated alias
+ | 'Y'
+ // quarterly frequency:
+ | 'Q'
+ // monthly frequency:
+ | 'M'
+ // weekly frequency:
+ | 'W'
+ // calendar day frequency:
+ | 'D'
+ // hourly frequency:
+ | 'H' // deprecated alias
+ | 'h'
+ // minutely frequency
+ | 'T' // deprecated alias
+ | 'min'
+ // secondly frequency:
+ | 'S' // deprecated alias
+ | 's'
+ // milliseconds frequency:
+ | 'L' // deprecated alias
+ | 'ms'
+
+type PandasPeriodFrequency =
+ | SupportedPandasOffsetType
+ | `${SupportedPandasOffsetType}-${string}`
+
+const BASE_DATE = new Date(1970, 0, 1) // 1970-01-01
+
+function formatMs(duration: number): string {
+ return dateFormat(addMilliseconds(BASE_DATE, duration), 'yyyy-MM-dd HH:mm:ss.SSS')
+}
+
+function formatSec(duration: number): string {
+ return dateFormat(addSeconds(BASE_DATE, duration), 'yyyy-MM-dd HH:mm:ss')
+}
+
+function formatMin(duration: number): string {
+ return dateFormat(addMinutes(BASE_DATE, duration), 'yyyy-MM-dd HH:mm')
+}
+
+function formatHours(duration: number): string {
+ return dateFormat(addHours(BASE_DATE, duration), 'yyyy-MM-dd HH:mm')
+}
+
+function formatDay(duration: number): string {
+ return dateFormat(addDays(BASE_DATE, duration), 'yyyy-MM-dd')
+}
+
+function formatMonth(duration: number): string {
+ return dateFormat(addMonths(BASE_DATE, duration), 'yyyy-MM')
+}
+
+function formatYear(duration: number): string {
+ return dateFormat(addYears(BASE_DATE, duration), 'yyyy')
+}
+
+function formatWeeks(duration: number, freqParam?: string): string {
+ if (!freqParam) {
+ throw new Error('Frequency "W" requires parameter')
+ }
+ const WEEKDAY_SHORT = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']
+ const dayIndex = WEEKDAY_SHORT.indexOf(freqParam)
+ if (dayIndex < 0) {
+ throw new Error(
+ `Invalid value: ${freqParam}. Supported values: ${JSON.stringify(
+ WEEKDAY_SHORT,
+ )}`,
+ )
+ }
+
+ const weekDate = addWeeks(BASE_DATE, duration)
+ const startDate = dateFormat(setDay(weekDate, dayIndex - 6), 'yyyy-MM-dd')
+ const endDate = dateFormat(setDay(weekDate, dayIndex), 'yyyy-MM-dd')
+
+ return `${startDate}/${endDate}`
+}
+
+function formatQuarter(duration: number): string {
+ const date = addQuarters(BASE_DATE, duration)
+ const year = dateFormat(date, 'yyyy')
+ const quarter = Math.floor(date.getMonth() / 3) + 1
+ return `${year}Q${quarter}`
+}
+
+/**
+ * Formatters for the different pandas period frequencies.
+ *
+ * This is a mapping from the frequency strings to the function that formats the period.
+ */
+const PERIOD_TYPE_FORMATTERS: Record<
+ SupportedPandasOffsetType,
+ (duration: number, freqParam?: string) => string
+> = {
+ L: formatMs,
+ ms: formatMs,
+ S: formatSec,
+ s: formatSec,
+ T: formatMin,
+ min: formatMin,
+ H: formatHours,
+ h: formatHours,
+ D: formatDay,
+ M: formatMonth,
+ W: formatWeeks,
+ Q: formatQuarter,
+ Y: formatYear,
+ A: formatYear,
+}
+
+/**
+ * Adjusts a time value to seconds based on the unit information in the field.
+ *
+ * The unit numbers are specified here:
+ * https://github.com/apache/arrow/blob/3ab246f374c17a216d86edcfff7ff416b3cff803/js/src/enum.ts#L95
+ *
+ * @param timestamp The timestamp to convert.
+ * @param unit The unit of the timestamp. 0 is seconds, 1 is milliseconds, 2 is microseconds, 3 is nanoseconds.
+ * @returns The timestamp in seconds.
+ */
+function convertTimestampToSeconds(
+ timestamp: number | bigint,
+ unit: TimeUnit,
+): number {
+ let unitAdjustment
+
+ if (unit === TimeUnit.MILLISECOND) {
+ // Milliseconds
+ unitAdjustment = 1000
+ }
+ else if (unit === TimeUnit.MICROSECOND) {
+ // Microseconds
+ unitAdjustment = 1000 * 1000
+ }
+ else if (unit === TimeUnit.NANOSECOND) {
+ // Nanoseconds
+ unitAdjustment = 1000 * 1000 * 1000
+ }
+ else {
+ // Interpret it as seconds as a fallback
+ return Number(timestamp)
+ }
+
+ // Do the calculation based on bigints, if the value
+ // is a bigint and not safe for usage as number.
+ // This might lose some precision since it doesn't keep
+ // fractional parts.
+ if (
+ typeof timestamp === 'bigint'
+ && !Number.isSafeInteger(Number(timestamp))
+ ) {
+ return Number(timestamp / BigInt(unitAdjustment))
+ }
+
+ return Number(timestamp) / unitAdjustment
+}
+
+/**
+ * Converts a UTC time value (timestamp) to a date object.
+ *
+ * @param timestamp The timestamp to convert.
+ * @param field The field containing the unit information.
+ * @returns The date object in UTC timezone.
+ */
+export function convertTimeToDate(
+ timestamp: number | bigint,
+ field?: Field,
+): Date {
+ // Time values from arrow are not converted to a shared unit and
+ // just return the raw arrow value. Therefore, we need to adjust
+ // the value to seconds based on the unit information in the field.
+ // https://github.com/apache/arrow/blob/9e08c57c0986531879aadf7942998d26a94a5d1b/js/src/visitor/get.ts#L193C7-L209
+ const timeInSeconds = convertTimestampToSeconds(
+ timestamp,
+ // The default is SECOND because that is the default unit for time values in pandas.
+ // Though we believe that actually always a unit is populated by arrow.
+ field?.type?.unit ?? TimeUnit.SECOND,
+ )
+ return fromUnixTime(timeInSeconds)
+}
+
+/**
+ * Formats a duration value based on the unit information in the field.
+ *
+ * @param duration The duration value to format.
+ * @param field The field containing the unit information.
+ * @returns The formatted duration value.
+ */
+export function formatDuration(duration: number | bigint, field?: Field): string {
+ // unit: 0 is seconds, 1 is milliseconds, 2 is microseconds, 3 is nanoseconds.
+ return dateFormatDuration({
+ seconds: convertTimestampToSeconds(
+ duration,
+ // The default is NANOSECOND because that is the default unit for duration in pandas.
+ // Though we believe that actually always a unit is populated by arrow.
+ field?.type?.unit ?? TimeUnit.NANOSECOND,
+ ),
+ })
+}
+
+/**
+ * Formats a time value based on the unit information in the field.
+ *
+ * @param timestamp The time value to format.
+ * @param field The field containing the unit information.
+ * @returns The formatted time value.
+ */
+export function formatTime(timestamp: number | bigint, field?: Field): string {
+ const date = convertTimeToDate(timestamp, field)
+ return dateFormat(
+ date,
+ date.getMilliseconds() === 0 ? 'HH:mm:ss' : 'HH:mm:ss.SSS',
+ )
+}
+
+export function formatDate(date: number | Date): string {
+ // Date values from arrow are already converted to a date object
+ // or a timestamp in milliseconds even if the field unit belonging to the
+ // passed date might have indicated a different unit.
+ // Thats why we don't need the field information here (aka its not passed to the function)
+ // and we don't need to apply any unit conversion.
+ // https://github.com/apache/arrow/blob/9e08c57c0986531879aadf7942998d26a94a5d1b/js/src/visitor/get.ts#L167-L171
+
+ const formatPattern = 'yyyy-MM-dd'
+
+ if (
+ !(
+ date instanceof Date
+ || (typeof date === 'number' && Number.isFinite(date))
+ )
+ ) {
+ console.warn(`Unsupported date value: ${date}`)
+ return String(date)
+ }
+
+ return dateFormat(date, formatPattern)
+}
+
+/**
+ * Format datetime value from Arrow to string.
+ */
+export function formatDatetime(date: number | Date, field?: Field): string {
+ // Datetime values from arrow are already converted to a date object
+ // or a timestamp in milliseconds even if the field unit might indicate a
+ // different unit.
+ // https://github.com/apache/arrow/blob/9e08c57c0986531879aadf7942998d26a94a5d1b/js/src/visitor/get.ts#L174-L190
+
+ if (
+ !(
+ date instanceof Date
+ || (typeof date === 'number' && Number.isFinite(date))
+ )
+ ) {
+ console.warn(`Unsupported datetime value: ${date}`)
+ return String(date)
+ }
+
+ let datetime: TZDate
+
+ if (typeof date === 'number') {
+ datetime = new TZDate(date, 'UTC')
+ }
+ else {
+ datetime = new TZDate(date, 'UTC')
+ }
+
+ const timezone = field?.type?.timezone
+ if (timezone) {
+ datetime = datetime.withTimeZone(timezone)
+ return dateFormat(datetime, 'yyyy-MM-dd HH:mm:ss OOOO')
+ }
+ // Return the timestamp without timezone information
+ return dateFormat(datetime, 'yyyy-MM-dd HH:mm:ss')
+}
+
+/**
+ * Formats a decimal value with a given scale to a string.
+ *
+ * This code is partly based on: https://github.com/apache/arrow/issues/35745
+ *
+ * TODO: This is only a temporary workaround until ArrowJS can format decimals correctly.
+ * This is tracked here:
+ * https://github.com/apache/arrow/issues/37920
+ * https://github.com/apache/arrow/issues/28804
+ * https://github.com/apache/arrow/issues/35745
+ */
+export function formatDecimal(value: Uint32Array, field?: Field): string {
+ const scale = field?.type?.scale || 0
+
+ // Format Uint32Array to a numerical string and pad it with zeros
+ // So that it is exactly the length of the scale.
+ let numString = util.bigNumToString(new util.BN(value)).padStart(scale, '0')
+
+ // ArrowJS 13 correctly adds a minus sign for negative numbers.
+ // but it doesn't handle th fractional part yet. So we can just return
+ // the value if scale === 0, but we need to do some additional processing
+ // for the fractional part if scale > 0.
+
+ if (scale === 0) {
+ return numString
+ }
+
+ let sign = ''
+ if (numString.startsWith('-')) {
+ // Check if number is negative, and if so remember the sign and remove it.
+ // We will add it back later.
+ sign = '-'
+ numString = numString.slice(1)
+ }
+ // Extract the whole number part. If the number is < 1, it doesn't
+ // have a whole number part, so we'll use "0" instead.
+ // E.g for 123450 with scale 3, we'll get "123" as the whole part.
+ const wholePart = numString.slice(0, -scale) || '0'
+ // Extract the fractional part and remove trailing zeros.
+ // E.g. for 123450 with scale 3, we'll get "45" as the fractional part.
+ const decimalPart = trimEnd(numString.slice(-scale), '0') || ''
+ // Combine the parts and add the sign.
+ return `${sign}${wholePart}${decimalPart ? `.${decimalPart}` : ''}`
+}
+
+const formatter = new Intl.NumberFormat('en-US', { style: 'decimal', maximumFractionDigits: 4, minimumFractionDigits: 4, useGrouping: true })
+
+/**
+ * Formats a float value to a string.
+ *
+ * @param num The float value to format.
+ * @returns The formatted float value.
+ */
+export function formatFloat(num: number): string {
+ if (!Number.isFinite(num)) {
+ return String(num)
+ }
+
+ return formatter.format(num)
+}
+
+/**
+ * Formats an interval value from arrow to string.
+ */
+export function formatInterval(x: StructRow, field?: Field): string {
+ // Serialization for pandas.Interval is provided by Arrow extensions
+ // https://github.com/pandas-dev/pandas/blob/235d9009b571c21b353ab215e1e675b1924ae55c/
+ // pandas/core/arrays/arrow/extension_types.py#L17
+ const extensionName = field && field.metadata.get('ARROW:extension:name')
+ if (extensionName && extensionName === 'pandas.interval') {
+ const extensionMetadata = JSON.parse(
+ field.metadata.get('ARROW:extension:metadata') as string,
+ )
+ const { closed } = extensionMetadata
+
+ const interval = (x as StructRow).toJSON() as {
+ left: number
+ right: number
+ }
+
+ const leftBracket = closed === 'both' || closed === 'left' ? '[' : '('
+ const rightBracket = closed === 'both' || closed === 'right' ? ']' : ')'
+
+ const leftInterval = format(interval.left, (field.type as Struct)?.children?.[0])
+ const rightInterval = format(interval.right, (field.type as Struct)?.children?.[1])
+
+ return `${leftBracket + leftInterval}, ${rightInterval + rightBracket}`
+ }
+
+ return String(x)
+}
+
+export function formatPeriodFromFreq(
+ duration: number | bigint,
+ freq: PandasPeriodFrequency,
+): string {
+ const [freqName, freqParam] = freq.split('-', 2)
+ const momentConverter
+ = PERIOD_TYPE_FORMATTERS[freqName as SupportedPandasOffsetType]
+ if (!momentConverter) {
+ console.warn(`Unsupported period frequency: ${freq}`)
+ return String(duration)
+ }
+ const durationNumber = Number(duration)
+ if (!Number.isSafeInteger(durationNumber)) {
+ console.warn(
+ `Unsupported value: ${duration}. Supported values: [${Number.MIN_SAFE_INTEGER}-${Number.MAX_SAFE_INTEGER}]`,
+ )
+
+ return String(duration)
+ }
+ return momentConverter(durationNumber, freqParam)
+}
+
+export function formatPeriod(duration: number | bigint, field?: Field): string {
+ // Serialization for pandas.Period is provided by Arrow extensions
+ // https://github.com/pandas-dev/pandas/blob/70bb855cbbc75b52adcb127c84e0a35d2cd796a9/pandas/core/arrays/arrow/extension_types.py#L26
+ if (isNullOrUndefined(field)) {
+ console.warn('Field information is missing')
+ return String(duration)
+ }
+
+ const extensionName = field.metadata.get('ARROW:extension:name')
+ const extensionMetadata = field.metadata.get('ARROW:extension:metadata')
+
+ if (
+ isNullOrUndefined(extensionName)
+ || isNullOrUndefined(extensionMetadata)
+ ) {
+ console.warn('Arrow extension metadata is missing')
+ return String(duration)
+ }
+
+ if (extensionName !== 'pandas.period') {
+ console.warn(`Unsupported extension name for period type: ${extensionName}`)
+ return String(duration)
+ }
+
+ const parsedExtensionMetadata = JSON.parse(extensionMetadata as string)
+ const { freq } = parsedExtensionMetadata
+ return formatPeriodFromFreq(duration, freq)
+}
+
+/**
+ * Formats nested arrays and other objects to a JSON string.
+ *
+ * @param object The value to format.
+ * @param field The field metadata from arrow containing metadata about the column.
+ * @returns The formatted JSON string.
+ */
+export function formatObject(object: any, field?: Field): string {
+ if (field?.type instanceof Struct) {
+ // This type is used by python dictionary values
+
+ return JSON.stringify(object, (_key, value) => {
+ if (!notNullOrUndefined(value)) {
+ // Workaround: Arrow JS adds all properties from all cells
+ // as fields. When you convert to string, it will contain lots of fields with
+ // null values. To mitigate this, we filter out null values.
+ return undefined
+ }
+ if (typeof value === 'bigint') {
+ // JSON.stringify fails to serialize bigint values, therefore we have to
+ // handle them manually.
+ // TODO(lukasmasuch): Would it be better to serialize it to a string to
+ // not lose precision?
+ return Number(value)
+ }
+ return value
+ })
+ }
+
+ // TODO(lukasmasuch): Investigate if we can unify this with the logic above.
+ return JSON.stringify(object, (_key, value) =>
+ typeof value === 'bigint' ? Number(value) : value)
+}
+
+/**
+ * Takes the cell data and type metadata from arrow and nicely formats it into a human-readable string.
+ *
+ * This is mostly a best-effort logic and should not throw exceptions in case of unknown values
+ * or other issues. This makes it easier to use this method by consumers (table, dataframe) since
+ * they would have to somehow deal with the exception on a cell level to not crash the full table or app.
+ *
+ * @param x The cell value.
+ * @param field The field metadata from arrow containing metadata about the column.
+ * @returns The formatted cell value.
+ */
+export function format(x: DataType, field?: Field): string {
+ if (isNullOrUndefined(x)) {
+ return ''
+ }
+
+ const isDate = x instanceof Date || Number.isFinite(x)
+ if (isDate && isDateType(field)) {
+ return formatDate(x as Date | number)
+ }
+
+ if (typeof x === 'bigint' && isTimeType(field)) {
+ return formatTime(Number(x), field)
+ }
+
+ if (isDate && isDatetimeType(field)) {
+ return formatDatetime(x as Date | number, field)
+ }
+
+ if (isPeriodType(field)) {
+ return formatPeriod(x as bigint, field)
+ }
+
+ if (isIntervalType(field)) {
+ return formatInterval(x as StructRow, field)
+ }
+
+ if (isDurationType(field)) {
+ return formatDuration(x as number | bigint, field)
+ }
+
+ if (isDecimalType(field)) {
+ return formatDecimal(x as Uint32Array, field)
+ }
+
+ if (isFloatType(field) && Number.isFinite(x)) {
+ return formatFloat(x as number)
+ }
+
+ if (isObjectType(field) || isListType(field)) {
+ return formatObject(x, field)
+ }
+
+ return String(x)
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-types.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-types.ts
new file mode 100644
index 000000000..7d88950e8
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-types.ts
@@ -0,0 +1,245 @@
+import type { Dictionary, Field, Struct, StructRow, Vector } from 'apache-arrow'
+import { DataType as ArrowDataType } from 'apache-arrow'
+import { isNullOrUndefined } from './duckdb-common'
+
+/** Data types used by ArrowJS. */
+export type DataType =
+ | null
+ | boolean
+ | number
+ | string
+ | Date // datetime
+ | Int32Array // int
+ | Uint8Array // bytes
+ | Uint32Array // Decimal
+ | Vector // arrays
+ | StructRow // interval
+ | Dictionary // categorical
+ | Struct // dict
+ | bigint // period
+
+/** The type of the cell. */
+export enum DataFrameCellType {
+ // Index cells
+ INDEX = 'index',
+ // Data cells
+ DATA = 'data',
+}
+
+/**
+ * Converts an Arrow vector to a list of strings.
+ *
+ * @param vector The Arrow vector to convert.
+ * @returns The list of strings.
+ */
+export function convertVectorToList(vector: Vector): string[] {
+ const values = []
+
+ for (let i = 0; i < vector.length; i++) {
+ values.push(vector.get(i))
+ }
+ return values
+}
+
+/** Returns the timezone of the arrow type metadata. */
+export function getTimezone(field: Field): string | undefined {
+ return field.type?.timezone ?? field.metadata?.get('timezone')
+}
+
+/**
+ * True if the arrow type is an integer type.
+ * For example: int8, int16, int32, int64, uint8, uint16, uint32, uint64, range
+ */
+export function isIntegerType(field?: Field): boolean {
+ if (isNullOrUndefined(field)) {
+ return false
+ }
+
+ return (
+ // Period types are integers with an extra extension name
+ (ArrowDataType.isInt(field.type) && !isPeriodType(field))
+ || isUnsignedIntegerType(field)
+ )
+}
+
+/** True if the arrow type is an unsigned integer type. */
+export function isUnsignedIntegerType(field?: Field): boolean {
+ if (isNullOrUndefined(field)) {
+ return false
+ }
+
+ return (
+ (ArrowDataType.isInt(field.type)
+ && field.type.isSigned === false)
+ )
+}
+
+/**
+ * True if the arrow type is a float type.
+ * For example: float16, float32, float64, float96, float128
+ */
+export function isFloatType(field?: Field): boolean {
+ if (isNullOrUndefined(field)) {
+ return false
+ }
+ return (
+ (ArrowDataType.isFloat(field.type))
+ ?? false
+ )
+}
+
+/** True if the arrow type is a decimal type. */
+export function isDecimalType(field?: Field): boolean {
+ if (isNullOrUndefined(field)) {
+ return false
+ }
+ return (
+ ArrowDataType.isDecimal(field.type)
+ )
+}
+
+/** True if the arrow type is a numeric type. */
+export function isNumericType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return isIntegerType(type) || isFloatType(type) || isDecimalType(type)
+}
+
+/** True if the arrow type is a boolean type. */
+export function isBooleanType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isBool(type.type)
+ )
+}
+
+/** True if the arrow type is a duration type. */
+export function isDurationType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isDuration(type.type)
+ )
+}
+
+/** True if the arrow type is a period type. */
+export function isPeriodType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ (ArrowDataType.isInt(type.type)
+ && type.metadata.get('ARROW:extension:name') === 'period')
+ )
+}
+
+/** True if the arrow type is a datetime type. */
+export function isDatetimeType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isTimestamp(type.type)
+ )
+}
+
+/** True if the arrow type is a date type. */
+export function isDateType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isDate(type.type)
+ )
+}
+
+/** True if the arrow type is a time type. */
+export function isTimeType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isTime(type.type)
+ )
+}
+
+/** True if the arrow type is a categorical type. */
+export function isCategoricalType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isDictionary(type.type)
+ )
+}
+
+/** True if the arrow type is a list type. */
+export function isListType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isList(type.type)
+ || ArrowDataType.isFixedSizeList(type.type)
+ )
+}
+
+/** True if the arrow type is an object type. */
+export function isObjectType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isStruct(type.type)
+ || ArrowDataType.isMap(type.type)
+ )
+}
+
+/** True if the arrow type is a bytes type. */
+export function isBytesType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isBinary(type.type)
+ || ArrowDataType.isLargeBinary(type.type)
+ )
+}
+
+/** True if the arrow type is a string type. */
+export function isStringType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isUtf8(type.type)
+ || ArrowDataType.isLargeUtf8(type.type)
+ )
+}
+
+/** True if the arrow type is an empty type. */
+export function isEmptyType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ return (
+ ArrowDataType.isNull(type.type)
+ )
+}
+
+/** True if the arrow type is a interval type. */
+export function isIntervalType(type?: Field): boolean {
+ if (isNullOrUndefined(type)) {
+ return false
+ }
+ // ArrowDataType.isInterval checks for a different (unsupported) type and not related
+ // to the pandas interval extension type.
+ return (
+ (ArrowDataType.isStruct(type.type)
+ && type.metadata.get('ARROW:extension:name') === 'interval')
+ )
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-vite-bundles.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-vite-bundles.ts
new file mode 100644
index 000000000..ede648a10
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb-vite-bundles.ts
@@ -0,0 +1,30 @@
+/* eslint-disable perfectionist/sort-imports */
+import type { DuckDBBundles } from '@duckdb/duckdb-wasm'
+
+import ehMainWorker from '@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js?url'
+import ehMainModule from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm?url'
+
+import mvpMainWorker from '@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url'
+import mvpMainModule from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm?url'
+
+import coiMainModule from '@duckdb/duckdb-wasm/dist/duckdb-coi.wasm?url'
+import coiMainWorker from '@duckdb/duckdb-wasm/dist/duckdb-browser-coi.worker.js?url'
+import coiPthreadWorker from '@duckdb/duckdb-wasm/dist/duckdb-browser-coi.pthread.worker.js?url'
+
+export function getViteBundles(): DuckDBBundles {
+ return {
+ mvp: {
+ mainModule: mvpMainModule,
+ mainWorker: mvpMainWorker,
+ },
+ eh: {
+ mainModule: ehMainModule,
+ mainWorker: ehMainWorker,
+ },
+ coi: {
+ mainModule: coiMainModule,
+ mainWorker: coiMainWorker,
+ pthreadWorker: coiPthreadWorker,
+ },
+ }
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb.ts
new file mode 100644
index 000000000..bdc74f29a
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/duckdb.ts
@@ -0,0 +1,81 @@
+import type { AsyncDuckDBConnection, DuckDBBundles, Logger } from '@duckdb/duckdb-wasm'
+import { AsyncDuckDB, ConsoleLogger, selectBundle, VoidLogger } from '@duckdb/duckdb-wasm'
+import { defu } from 'defu'
+import { getBundles } from './duckdb-default-bundles'
+
+export type ConnectOptions = ConnectRequiredOptions & ConnectOptionalOptions
+
+export interface ConnectOptionalOptions {
+ bundles?: DuckDBBundles
+ logger?: boolean | Logger
+}
+
+export interface ConnectRequiredOptions {
+
+}
+
+export interface DuckDBWasmClient {
+ worker: Worker
+ db: AsyncDuckDB
+ conn: AsyncDuckDBConnection
+ close: () => Promise
+}
+
+export async function connect(options: ConnectOptions): Promise {
+ const opts = defu(options, { bundles: getBundles(), logger: false })
+
+ const bundle = await selectBundle(opts.bundles)
+ const worker = new Worker(bundle.mainWorker!)
+
+ let logger: Logger
+ if (opts.logger === true) {
+ logger = new ConsoleLogger()
+ }
+ else if (opts.logger === false) {
+ logger = new VoidLogger()
+ }
+ else {
+ logger = opts.logger
+ }
+
+ const db = new AsyncDuckDB(logger, worker)
+ await db.instantiate(bundle.mainModule, bundle.pthreadWorker)
+ const conn = await db.connect()
+
+ return {
+ worker,
+ db,
+ conn,
+ close: async () => {
+ await conn.close()
+ await db.terminate()
+ await worker.terminate()
+ },
+ }
+}
+
+export async function beginTransaction(client: Promise, txFn: (client: Promise) => Promise): Promise {
+ await (await client).conn.send('BEGIN TRANSACTION')
+ try {
+ const result = await txFn(client)
+ await (await client).conn.send('COMMIT')
+ return result
+ }
+ catch (err) {
+ await (await client).conn.send('ROLLBACK')
+ throw err
+ }
+}
+
+export async function withSavepoint(client: Promise, spName: string, txFn: (client: Promise) => Promise): Promise {
+ await (await client).conn.send(`SAVEPOINT ${spName}`)
+ try {
+ const result = await txFn(client)
+ await (await client).conn.send(`RELEASE SAVEPOINT ${spName}`)
+ return result
+ }
+ catch (err) {
+ await (await client).conn.send(`ROLLBACK TO SAVEPOINT ${spName}`)
+ throw err
+ }
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/dialect/index.ts b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/index.ts
new file mode 100644
index 000000000..b06fc9939
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/dialect/index.ts
@@ -0,0 +1,6 @@
+export * from './duckdb'
+export * from './duckdb-common'
+export * from './duckdb-default-bundles'
+export * from './duckdb-format'
+export * from './duckdb-types'
+export * from './duckdb-vite-bundles'
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/driver.ts b/packages/memory-driver-duckdb/src/drizzle-orm/driver.ts
new file mode 100644
index 000000000..31c92a816
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/driver.ts
@@ -0,0 +1,140 @@
+import type { DuckDBBundles, Logger } from '@duckdb/duckdb-wasm'
+import type { DrizzleConfig, RelationalSchemaConfig, TablesRelationalConfig } from 'drizzle-orm'
+import type { DuckDBWasmClient } from './dialect'
+import type { DuckDBWasmQueryResultHKT } from './session'
+
+import { createTableRelationsHelpers, DefaultLogger, entityKind, extractTablesRelationalConfig, isConfig } from 'drizzle-orm'
+import { PgDatabase, PgDialect } from 'drizzle-orm/pg-core'
+import { connect } from './dialect'
+import { DuckDBWasmSession } from './session'
+
+export class DuckDBWasmDatabase<
+ TSchema extends Record = Record,
+> extends PgDatabase {
+ static override readonly [entityKind]: string = 'DuckDBWasmDatabase'
+
+ // ** @internal */
+ dialect: PgDialect
+ // ** @internal */
+ session: DuckDBWasmSession, TSchema, TablesRelationalConfig>
+}
+
+function construct<
+ TSchema extends Record = Record,
+ TClient extends Promise = Promise,
+>(
+ client: Promise,
+ config: DrizzleConfig = {},
+): DuckDBWasmDrizzleDatabase {
+ const dialect = new PgDialect({ casing: config.casing })
+ let logger
+ if (config.logger === true) {
+ logger = new DefaultLogger()
+ }
+ else if (config.logger !== false) {
+ logger = config.logger
+ }
+
+ let schema: RelationalSchemaConfig | undefined
+ if (config.schema) {
+ const tablesConfig = extractTablesRelationalConfig(
+ config.schema,
+ createTableRelationsHelpers,
+ )
+ schema = {
+ fullSchema: config.schema,
+ schema: tablesConfig.tables,
+ tableNamesMap: tablesConfig.tableNamesMap,
+ }
+ }
+
+ const session = new DuckDBWasmSession(client, dialect, schema, { logger })
+ const db = new DuckDBWasmDatabase(dialect, session, schema as any) as DuckDBWasmDatabase;
+ (db).$client = client
+
+ return db as any
+}
+
+export interface DuckDBWasmDrizzleDatabase<
+ TSchema extends Record = Record,
+ TClient extends Promise = Promise,
+> extends DuckDBWasmDatabase {
+ $client: TClient
+}
+
+export function drizzle<
+ TSchema extends Record = Record,
+ TClient extends Promise = Promise,
+>(
+ ...params:
+ [ TClient | string ] |
+ [ TClient | string, DrizzleConfig ] |
+ [(DrizzleConfig & ({ connection: string | ({ url?: string, bundles?: DuckDBBundles, logger?: Logger }) } | { client: TClient })) ]
+): DuckDBWasmDrizzleDatabase {
+ if (typeof params[0] === 'string') {
+ const parsedDSN = new URL(params[0] as string)
+ if (parsedDSN.searchParams.get('bundles') === 'worker-url') {
+ return construct(new Promise((resolve) => {
+ import('./dialect/duckdb-vite-bundles')
+ .then(res => res.getViteBundles())
+ .then(bundles => connect({ bundles }))
+ .then(resolve)
+ }), params[1]) as any
+ }
+
+ const instance = connect({})
+ return construct(instance, params[1]) as any
+ }
+
+ if (isConfig(params[0])) {
+ const {
+ connection,
+ client,
+ ...drizzleConfig
+ } = params[0] as {
+ connection?: {
+ url?: string
+ bundles?: DuckDBBundles
+ }
+ client?: TClient
+ } & DrizzleConfig
+
+ if (client)
+ return construct(client, drizzleConfig) as any
+
+ if (typeof connection === 'object' && connection.url !== undefined) {
+ const { url } = connection
+ const parsedDSN = new URL(url)
+ if (parsedDSN.searchParams.get('bundles') === 'worker-url') {
+ return construct(new Promise((resolve) => {
+ import('./dialect/duckdb-vite-bundles')
+ .then(res => res.getViteBundles())
+ .then(bundles => connect({ bundles }))
+ .then(resolve)
+ }), drizzleConfig) as any
+ }
+
+ return construct(connect({ bundles: connection.bundles }), drizzleConfig) as any
+ }
+
+ return construct(connect({}), drizzleConfig) as any
+ }
+
+ return construct(params[0] as TClient, params[1] as DrizzleConfig | undefined) as any
+}
+
+// eslint-disable-next-line ts/no-namespace
+export namespace drizzle {
+ export function mock = Record>(
+ config?: DrizzleConfig,
+ ): DuckDBWasmDatabase & {
+ $client: '$client is not available on drizzle.mock()'
+ } {
+ return construct({
+ options: {
+ parsers: {},
+ serializers: {},
+ },
+ } as any, config) as any
+ }
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/index.ts b/packages/memory-driver-duckdb/src/drizzle-orm/index.ts
new file mode 100644
index 000000000..e0593ec22
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/index.ts
@@ -0,0 +1,7 @@
+export type { ConnectOptionalOptions, ConnectOptions, ConnectRequiredOptions, DuckDBWasmClient } from './dialect'
+export { connect, format, getBundles } from './dialect'
+export * from './driver'
+export * from './migrator'
+export * from './session'
+export type { AsyncDuckDBConnection, DuckDBBundles, Logger } from '@duckdb/duckdb-wasm'
+export { AsyncDuckDB, ConsoleLogger, selectBundle, VoidLogger } from '@duckdb/duckdb-wasm'
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/migrator.ts b/packages/memory-driver-duckdb/src/drizzle-orm/migrator.ts
new file mode 100644
index 000000000..1ce4aabb4
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/migrator.ts
@@ -0,0 +1,13 @@
+import type { MigrationConfig } from 'drizzle-orm/migrator'
+import type { PgSession } from 'drizzle-orm/pg-core'
+import type { DuckDBWasmDatabase } from './driver'
+
+import { readMigrationFiles } from 'drizzle-orm/migrator'
+
+export async function migrate>(
+ db: DuckDBWasmDatabase,
+ config: MigrationConfig,
+) {
+ const migrations = readMigrationFiles(config)
+ await db.dialect.migrate(migrations, db.session as unknown as PgSession, config)
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/session.ts b/packages/memory-driver-duckdb/src/drizzle-orm/session.ts
new file mode 100644
index 000000000..16cd0f0eb
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/session.ts
@@ -0,0 +1,189 @@
+import type { Schema, StructRow } from 'apache-arrow'
+import type { Assume, Logger, Query, RelationalSchemaConfig, TablesRelationalConfig } from 'drizzle-orm'
+import type { PgDialect, PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig, SelectedFieldsOrdered } from 'drizzle-orm/pg-core'
+import type { DuckDBWasmClient } from './dialect'
+
+import { entityKind, fillPlaceholders, NoopLogger } from 'drizzle-orm'
+import { PgPreparedQuery, PgSession, PgTransaction } from 'drizzle-orm/pg-core'
+import { beginTransaction, format, withSavepoint } from './dialect'
+
+export type Row = Record
+
+export type RowList = T
+
+function toJSRepresentedRows StructRow[], schema: Schema }>(results: T) {
+ const rows = (results.toArray() as StructRow[] || []).map(item => item.toJSON()) || []
+
+ const jsRepresentedRows = rows.map((row) => {
+ results.schema.fields.forEach((field) => {
+ return row[field.name] = format(row[field.name], field)
+ })
+
+ return row
+ })
+
+ return jsRepresentedRows
+}
+
+async function callQuery(client: Promise, query: string, params: unknown[]) {
+ const c = await client
+
+ if (!params || params.length === 0) {
+ const results = await c.conn.query(query)
+ return toJSRepresentedRows(results)
+ }
+
+ const stmt = await c.conn.prepare(query)
+ const results = await stmt.query(...params)
+ const rows = toJSRepresentedRows(results)
+
+ stmt.close()
+ return rows
+}
+
+export class DuckDBWASMPreparedQuery extends PgPreparedQuery {
+ static override readonly [entityKind]: string = 'DuckDBWasmPreparedQuery'
+
+ constructor(
+ private client: Promise,
+ private queryString: string,
+ private params: unknown[],
+ private logger: Logger,
+ private fields: SelectedFieldsOrdered | undefined,
+ private customResultMapper?: (rows: unknown[][]) => T['execute'],
+ ) {
+ super({ sql: queryString, params })
+ }
+
+ async execute(placeholderValues: Record | undefined = {}): Promise {
+ const params = fillPlaceholders(this.params, placeholderValues)
+ this.logger.logQuery(this.queryString, params)
+
+ const { fields, queryString: query, client, customResultMapper } = this
+ if (!fields && !customResultMapper) {
+ return callQuery(client, query, params)
+ }
+
+ return callQuery(client, query, params)
+ }
+
+ async all(placeholderValues: Record | undefined = {}): Promise {
+ const params = fillPlaceholders(this.params, placeholderValues)
+ this.logger.logQuery(this.queryString, params)
+ return callQuery(this.client, this.queryString, params)
+ }
+}
+
+export interface DuckDBWASMSessionOptions {
+ logger?: Logger
+}
+
+export class DuckDBWasmSession<
+ TSQL extends Promise,
+ TFullSchema extends Record,
+ TSchema extends TablesRelationalConfig,
+> extends PgSession {
+ static override readonly [entityKind]: string = 'DuckDBWasmSession'
+
+ logger: Logger
+
+ constructor(
+ public client: TSQL,
+ dialect: PgDialect,
+ private schema: RelationalSchemaConfig | undefined,
+ readonly options: DuckDBWASMSessionOptions = {},
+ ) {
+ super(dialect)
+ this.logger = options.logger ?? new NoopLogger()
+ }
+
+ prepareQuery(
+ query: Query,
+ fields: SelectedFieldsOrdered | undefined,
+ name: string | undefined,
+ isResponseInArrayMode: boolean,
+ customResultMapper?: (rows: unknown[][]) => T['execute'],
+ ): PgPreparedQuery {
+ return new DuckDBWASMPreparedQuery(
+ this.client,
+ query.sql,
+ query.params,
+ this.logger,
+ fields,
+ customResultMapper,
+ )
+ }
+
+ async query(query: string, params: unknown[]): Promise> {
+ this.logger.logQuery(query, params)
+ return callQuery(this.client, query, params)
+ }
+
+ async queryObjects(
+ query: string,
+ params: unknown[],
+ ): Promise> {
+ this.logger.logQuery(query, params)
+ return callQuery(this.client, query, params) as Promise>
+ }
+
+ override transaction(
+ transaction: (tx: DuckDBWasmTransaction) => Promise,
+ config?: PgTransactionConfig,
+ ): Promise {
+ return beginTransaction(this.client, async (client) => {
+ const session = new DuckDBWasmSession, TFullSchema, TSchema>(
+ client,
+ this.dialect,
+ this.schema,
+ this.options,
+ )
+ const tx = new DuckDBWasmTransaction(this.dialect, session, this.schema)
+ if (config) {
+ await tx.setTransaction(config)
+ }
+
+ return transaction(tx)
+ }) as Promise
+ }
+}
+
+export class DuckDBWasmTransaction<
+ TFullSchema extends Record,
+ TSchema extends TablesRelationalConfig,
+> extends PgTransaction {
+ static override readonly [entityKind]: string = 'DuckDBWasmTransaction'
+ dialect: PgDialect
+ session: DuckDBWasmSession, TFullSchema, TSchema>
+
+ constructor(
+ dialect: PgDialect,
+ session: DuckDBWasmSession, TFullSchema, TSchema>,
+ schema: RelationalSchemaConfig | undefined,
+ nestedIndex = 0,
+ ) {
+ super(dialect, session, schema, nestedIndex)
+ this.dialect = dialect
+ this.session = session
+ }
+
+ override async transaction(
+ transaction: (tx: DuckDBWasmTransaction) => Promise,
+ ): Promise {
+ return withSavepoint(this.session.client, '', async (client) => {
+ const session = new DuckDBWasmSession, TFullSchema, TSchema>(
+ client,
+ this.dialect,
+ this.schema,
+ this.session.options,
+ )
+
+ const tx = new DuckDBWasmTransaction(this.dialect, session, this.schema)
+ return transaction(tx)
+ }) as Promise
+ }
+}
+
+export interface DuckDBWasmQueryResultHKT extends PgQueryResultHKT {
+ type: RowList[]>
+}
diff --git a/packages/memory-driver-duckdb/src/drizzle-orm/vite.ts b/packages/memory-driver-duckdb/src/drizzle-orm/vite.ts
new file mode 100644
index 000000000..d4aa3c7df
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/drizzle-orm/vite.ts
@@ -0,0 +1 @@
+export { getViteBundles } from './dialect'
diff --git a/packages/memory-driver-duckdb/src/index.ts b/packages/memory-driver-duckdb/src/index.ts
new file mode 100644
index 000000000..cfe153bd1
--- /dev/null
+++ b/packages/memory-driver-duckdb/src/index.ts
@@ -0,0 +1 @@
+console.warn('Please import @proj-airi/memory-driver-duckdb/drizzle-orm instead')
diff --git a/packages/memory-driver/tsconfig.json b/packages/memory-driver-duckdb/tsconfig.json
similarity index 75%
rename from packages/memory-driver/tsconfig.json
rename to packages/memory-driver-duckdb/tsconfig.json
index 00dcfd807..4edc8249d 100644
--- a/packages/memory-driver/tsconfig.json
+++ b/packages/memory-driver-duckdb/tsconfig.json
@@ -2,10 +2,16 @@
"compilerOptions": {
"target": "ESNext",
"lib": [
- "ESNext"
+ "ESNext",
+ "DOM",
+ "DOM.Iterable",
+ "WebWorker"
],
"module": "ESNext",
"moduleResolution": "bundler",
+ "types": [
+ "vite/client"
+ ],
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
diff --git a/packages/memory-driver-duckdb/uno.config.ts b/packages/memory-driver-duckdb/uno.config.ts
new file mode 100644
index 000000000..c87155f57
--- /dev/null
+++ b/packages/memory-driver-duckdb/uno.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig, mergeConfigs } from 'unocss'
+
+import UnoCSSConfig from '../../uno.config'
+
+export default defineConfig(mergeConfigs([
+ UnoCSSConfig,
+]))
diff --git a/packages/memory-driver-duckdb/vite.config.ts b/packages/memory-driver-duckdb/vite.config.ts
new file mode 100644
index 000000000..6208edab3
--- /dev/null
+++ b/packages/memory-driver-duckdb/vite.config.ts
@@ -0,0 +1,13 @@
+import Vue from '@vitejs/plugin-vue'
+import Unocss from 'unocss/vite'
+import { defineConfig } from 'vite'
+
+export default defineConfig({
+ root: 'playground',
+ plugins: [
+ Vue(),
+ // https://github.com/antfu/unocss
+ // see uno.config.ts for config
+ Unocss(),
+ ],
+})
diff --git a/packages/memory-driver/package.json b/packages/memory-driver/package.json
deleted file mode 100644
index 410854c94..000000000
--- a/packages/memory-driver/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "@proj-airi/memory-alaya",
- "type": "module",
- "version": "1.0.0",
- "private": true,
- "description": "",
- "author": {
- "name": "Neko Ayaka",
- "email": "neko@ayaka.moe",
- "url": "https://github.com/nekomeowww"
- },
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/moeru-ai/airi.git",
- "directory": "packages/memory-alaya"
- },
- "files": [
- "README.md",
- "dist",
- "package.json"
- ],
- "scripts": {
- "dev": "pnpm run stub",
- "stub": "unbuild --stub",
- "build": "unbuild",
- "typecheck": "tsc --noEmit"
- }
-}
diff --git a/packages/memory-driver/src/drizzle-orm/browser/index.ts b/packages/memory-driver/src/drizzle-orm/browser/index.ts
deleted file mode 100644
index e69de29bb..000000000
diff --git a/packages/memory-driver/src/index.ts b/packages/memory-driver/src/index.ts
deleted file mode 100644
index e69de29bb..000000000
diff --git a/packages/stage-web/src/pages/index.vue b/packages/stage-web/src/pages/index.vue
index 62cbf9606..8d5474992 100644
--- a/packages/stage-web/src/pages/index.vue
+++ b/packages/stage-web/src/pages/index.vue
@@ -29,6 +29,6 @@ const dark = useDark()
- meta:
- layout: default
-
+meta:
+ layout: default
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 366040a7a..f2fb06d82 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -55,7 +55,7 @@ importers:
version: 65.4.3(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)
bumpp:
specifier: ^10.0.1
- version: 10.0.1
+ version: 10.0.1(magicast@0.3.5)
cross-env:
specifier: ^7.0.3
version: 7.0.3
@@ -99,6 +99,18 @@ importers:
specifier: ^3.0.4
version: 3.0.4(@types/debug@4.1.12)(@types/node@22.13.0)(jiti@2.4.2)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
+ docs:
+ dependencies:
+ '@astrojs/starlight':
+ specifier: ^0.31.1
+ version: 0.31.1(astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))
+ astro:
+ specifier: ^5.1.5
+ version: 5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0)
+ sharp:
+ specifier: ^0.32.5
+ version: 0.32.6
+
packages/elevenlabs:
devDependencies:
elevenlabs:
@@ -117,7 +129,51 @@ importers:
specifier: ^6.0.11
version: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
- packages/memory-driver: {}
+ packages/memory-driver-duckdb:
+ dependencies:
+ '@date-fns/tz':
+ specifier: ^1.2.0
+ version: 1.2.0
+ '@duckdb/duckdb-wasm':
+ specifier: ^1.29.0
+ version: 1.29.0
+ apache-arrow:
+ specifier: ^19.0.0
+ version: 19.0.0
+ date-fns:
+ specifier: ^4.1.0
+ version: 4.1.0
+ defu:
+ specifier: ^6.1.4
+ version: 6.1.4
+ drizzle-orm:
+ specifier: ^0.39.1
+ version: 0.39.1(@types/pg@8.11.11)(pg@8.13.1)(react@18.3.1)
+ es-toolkit:
+ specifier: ^1.32.0
+ version: 1.32.0
+ devDependencies:
+ '@unocss/reset':
+ specifier: ^65.4.3
+ version: 65.4.3
+ '@vitejs/plugin-vue':
+ specifier: ^5.2.1
+ version: 5.2.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
+ '@vueuse/core':
+ specifier: ^12.5.0
+ version: 12.5.0(typescript@5.7.3)
+ drizzle-kit:
+ specifier: ^0.30.4
+ version: 0.30.4
+ vite:
+ specifier: ^6.0.11
+ version: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
+ vue:
+ specifier: ^3.5.13
+ version: 3.5.13(typescript@5.7.3)
+ vue-tsc:
+ specifier: ^2.2.0
+ version: 2.2.0(typescript@5.7.3)
packages/moonshine-web:
dependencies:
@@ -132,7 +188,7 @@ importers:
version: 12.5.0(typescript@5.7.3)
'@vueuse/motion':
specifier: ^2.2.6
- version: 2.2.6(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))
+ version: 2.2.6(magicast@0.3.5)(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))
ofetch:
specifier: ^1.4.1
version: 1.4.1
@@ -443,7 +499,7 @@ importers:
version: 0.30.14(rollup@2.79.1)(typescript@5.7.3)(vue-tsc@2.2.0(typescript@5.7.3))(vue@3.5.13(typescript@5.7.3))
'@vueuse/motion':
specifier: ^2.2.6
- version: 2.2.6(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3))
+ version: 2.2.6(magicast@0.3.5)(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3))
electron:
specifier: ^34.0.2
version: 34.0.2
@@ -458,10 +514,10 @@ importers:
version: 4.0.1
unplugin-auto-import:
specifier: ^19.0.0
- version: 19.0.0(@nuxt/kit@3.14.1592(rollup@2.79.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@2.79.1)
+ version: 19.0.0(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@2.79.1)
unplugin-vue-components:
specifier: ^28.0.0
- version: 28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(rollup@2.79.1))(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3))
+ version: 28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3))
unplugin-vue-macros:
specifier: ^2.14.1
version: 2.14.1(@vueuse/core@12.5.0(typescript@5.7.3))(esbuild@0.24.2)(rollup@2.79.1)(typescript@5.7.3)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.7.3))(vue@3.5.13(typescript@5.7.3))
@@ -479,7 +535,7 @@ importers:
version: 0.21.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(workbox-build@7.3.0)(workbox-window@7.3.0)
vite-plugin-vue-devtools:
specifier: ^7.7.1
- version: 7.7.1(@nuxt/kit@3.14.1592(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
+ version: 7.7.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
vite-plugin-vue-layouts:
specifier: ^0.11.0
version: 0.11.0(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
@@ -719,7 +775,7 @@ importers:
version: 0.30.14(rollup@4.34.1)(typescript@5.7.3)(vue-tsc@2.2.0(typescript@5.7.3))(vue@3.5.13(typescript@5.7.3))
'@vueuse/motion':
specifier: ^2.2.6
- version: 2.2.6(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))
+ version: 2.2.6(magicast@0.3.5)(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))
hfup:
specifier: workspace:^
version: link:../hfup
@@ -728,10 +784,10 @@ importers:
version: 4.0.1
unplugin-auto-import:
specifier: ^19.0.0
- version: 19.0.0(@nuxt/kit@3.14.1592(rollup@4.34.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@4.34.1)
+ version: 19.0.0(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@4.34.1)
unplugin-vue-components:
specifier: ^28.0.0
- version: 28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(rollup@4.34.1))(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))
+ version: 28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))
unplugin-vue-macros:
specifier: ^2.14.1
version: 2.14.1(@vueuse/core@12.5.0(typescript@5.7.3))(esbuild@0.24.2)(rollup@4.34.1)(typescript@5.7.3)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.7.3))(vue@3.5.13(typescript@5.7.3))
@@ -749,7 +805,7 @@ importers:
version: 0.21.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(workbox-build@7.3.0)(workbox-window@7.3.0)
vite-plugin-vue-devtools:
specifier: ^7.7.1
- version: 7.7.1(@nuxt/kit@3.14.1592(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
+ version: 7.7.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
vite-plugin-vue-layouts:
specifier: ^0.11.0
version: 0.11.0(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
@@ -1011,6 +1067,37 @@ packages:
peerDependencies:
ajv: '>=8'
+ '@astrojs/compiler@2.10.3':
+ resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==}
+
+ '@astrojs/internal-helpers@0.5.1':
+ resolution: {integrity: sha512-M7rAge1n2+aOSxNvKUFa0u/KFn0W+sZy7EW91KOSERotm2Ti8qs+1K0xx3zbOxtAVrmJb5/J98eohVvvEqtNkw==}
+
+ '@astrojs/markdown-remark@6.1.0':
+ resolution: {integrity: sha512-emZNNSTPGgPc3V399Cazpp5+snogjaF04ocOSQn9vy3Kw/eIC4vTQjXOrWDEoSEy+AwPDZX9bQ4wd3bxhpmGgQ==}
+
+ '@astrojs/mdx@4.0.8':
+ resolution: {integrity: sha512-/aiLr2yQ55W9AbpyOgfMtFXk7g2t7XoWdC2Avps/NqxAx4aYONDLneX43D79QwgqdjFhin7o3cIPp/vVppMbaA==}
+ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
+ peerDependencies:
+ astro: ^5.0.0
+
+ '@astrojs/prism@3.2.0':
+ resolution: {integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==}
+ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
+
+ '@astrojs/sitemap@3.2.1':
+ resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==}
+
+ '@astrojs/starlight@0.31.1':
+ resolution: {integrity: sha512-VIVkHugwgtEqJPiRH8+ouP0UqUfdmpBO9C64R+6QaQ2qmADNkI/BA3/YAJHTBZYlMQQGEEuLJwD9qpaUovi52Q==}
+ peerDependencies:
+ astro: ^5.1.5
+
+ '@astrojs/telemetry@3.2.0':
+ resolution: {integrity: sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ==}
+ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
+
'@babel/code-frame@7.26.2':
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
@@ -1532,8 +1619,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
- '@babel/runtime@7.21.5':
- resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==}
+ '@babel/runtime@7.26.7':
+ resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==}
engines: {node: '>=6.9.0'}
'@babel/standalone@7.26.2':
@@ -1568,6 +1655,13 @@ packages:
'@cspell/dict-ru_ru@2.2.4':
resolution: {integrity: sha512-Ub5Y318ZAaFJDAPgeImcLg8ksfthGhxMHsyHGkn9Uf3g9AZUlYsabs1HwgLmh9NtqDNjMlF52S9R11GFDdaWIw==}
+ '@ctrl/tinycolor@4.1.0':
+ resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==}
+ engines: {node: '>=14'}
+
+ '@date-fns/tz@1.2.0':
+ resolution: {integrity: sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==}
+
'@derhuerst/http-basic@8.2.4':
resolution: {integrity: sha512-F9rL9k9Xjf5blCz8HsJRO4diy111cayL2vkY2XE4r4t3n0yPXVYy3KD3nJ1qbrSn9743UWSXH4IwuCa/HWlGFw==}
engines: {node: '>=6.0.0'}
@@ -1632,6 +1726,9 @@ packages:
'@drizzle-team/brocli@0.10.2':
resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==}
+ '@duckdb/duckdb-wasm@1.29.0':
+ resolution: {integrity: sha512-8Zq7vafQuIz9gklC/9375KE38UlkaS2n8+yvG+/JK7irm3DjwYNJHL4xfplIj0bSHFIg6we5XhWYFqtE/vO3+Q==}
+
'@ecies/ciphers@0.2.2':
resolution: {integrity: sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg==}
engines: {bun: '>=1', deno: '>=2', node: '>=16'}
@@ -2473,6 +2570,18 @@ packages:
resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@expressive-code/core@0.40.1':
+ resolution: {integrity: sha512-j71gxBepyzBgOtZomxzl8M90AjILf6hZarWFePDis7sTjqCwxWrtZEtTCafto8IOURG/ECZN0g7Ys4zExkNU7Q==}
+
+ '@expressive-code/plugin-frames@0.40.1':
+ resolution: {integrity: sha512-qV7BIdTQ9nJ/eLHaJlzMvUq5aqAoZKO3PLFzBVop/q0d0m5rWpwWncIQ8qkufQDabmq2m38PRRWxKgx5FkJ2Rg==}
+
+ '@expressive-code/plugin-shiki@0.40.1':
+ resolution: {integrity: sha512-N5oXhLv5DwLGXmLwJtwMzrfnZPWJl4pHRR5mfDoqK1+NxptdVaaQ0nEjgw13Y5ID/O5Bbze5YcOyph2K52BBrQ==}
+
+ '@expressive-code/plugin-text-markers@0.40.1':
+ resolution: {integrity: sha512-LsirF7M4F2yWgrFXEocD74F/MaVXsOsHVsRxBLhXQJemSSkWkDp/EZPt//OaqQ8ExnqWZ2lH7E1/KiN46unKjg==}
+
'@floating-ui/core@1.6.8':
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
@@ -2782,6 +2891,9 @@ packages:
'@mdit-vue/types@2.1.0':
resolution: {integrity: sha512-TMBB/BQWVvwtpBdWD75rkZx4ZphQ6MN0O4QB2Bc0oI5PC2uE57QerhNxdRZ7cvBHE2iY2C+BUNUziCfJbjIRRA==}
+ '@mdx-js/mdx@3.1.0':
+ resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
+
'@napi-rs/wasm-runtime@0.2.5':
resolution: {integrity: sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==}
@@ -2826,6 +2938,9 @@ packages:
resolution: {integrity: sha512-A1d/08ueX8stTXNkvGqnr1eEXZgvKn+vj6s7jXhZNWApUSqMgItU4VK28vrrdpKbjIPwq2SwhnGOHUYvN9HwCQ==}
engines: {node: ^14.18.0 || >=16.10.0}
+ '@oslojs/encoding@1.1.0':
+ resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
+
'@oxc-resolver/binding-darwin-arm64@3.0.3':
resolution: {integrity: sha512-cCSzv2VNSKrQUy43enMt6cN+TlijYUJ3qVOx52ioq7qOKtZ6sy3kcfzSOy3f27cFOCaPotIqC35eb3LMrdsPCA==}
cpu: [arm64]
@@ -2881,6 +2996,34 @@ packages:
cpu: [x64]
os: [win32]
+ '@pagefind/darwin-arm64@1.3.0':
+ resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@pagefind/darwin-x64@1.3.0':
+ resolution: {integrity: sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@pagefind/default-ui@1.3.0':
+ resolution: {integrity: sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==}
+
+ '@pagefind/linux-arm64@1.3.0':
+ resolution: {integrity: sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@pagefind/linux-x64@1.3.0':
+ resolution: {integrity: sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==}
+ cpu: [x64]
+ os: [linux]
+
+ '@pagefind/windows-x64@1.3.0':
+ resolution: {integrity: sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==}
+ cpu: [x64]
+ os: [win32]
+
'@parcel/watcher-android-arm64@2.5.0':
resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==}
engines: {node: '>= 10.0.0'}
@@ -3661,15 +3804,27 @@ packages:
'@sec-ant/readable-stream@0.4.1':
resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
+ '@shikijs/core@1.29.2':
+ resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==}
+
'@shikijs/core@2.2.0':
resolution: {integrity: sha512-U+vpKdsQDWuX3fPTCkSc8XPX9dCaS+r+qEP1XhnU30yxRFo2OxHJmY2H5rO1q+v0zB5R2vobsxEFt5uPf31CGQ==}
+ '@shikijs/engine-javascript@1.29.2':
+ resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==}
+
'@shikijs/engine-javascript@2.2.0':
resolution: {integrity: sha512-96SpZ4V3UVMtpSPR5QpmU395CNrQiRPszXK62m8gKR2HMA0653ruce7omS5eX6EyAyFSYHvBWtTuspiIsHpu4A==}
+ '@shikijs/engine-oniguruma@1.29.2':
+ resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==}
+
'@shikijs/engine-oniguruma@2.2.0':
resolution: {integrity: sha512-wowCKwkvPFFMXFkiKK/a2vs5uTCc0W9+O9Xcu/oqFP6VoDFe14T8u/D+Rl4dCJJSOyeynP9mxNPJ82T5JHTNCw==}
+ '@shikijs/langs@1.29.2':
+ resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==}
+
'@shikijs/langs@2.2.0':
resolution: {integrity: sha512-RSWLH3bnoyG6O1kZ2msh5jOkKKp8eENwyT30n62vUtXfp5cxkF/bpWPpO+p4+GAPhL2foBWR2kOerwkKG0HXlQ==}
@@ -3681,9 +3836,15 @@ packages:
markdown-it-async:
optional: true
+ '@shikijs/themes@1.29.2':
+ resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==}
+
'@shikijs/themes@2.2.0':
resolution: {integrity: sha512-8Us9ZF2mV9kuh+4ySJ9MzrUDIpc2RIkRfKBZclkliW1z9a0PlGU2U7fCkItZZHpR5e4/ft5BzuO+GDqombC6Aw==}
+ '@shikijs/types@1.29.2':
+ resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==}
+
'@shikijs/types@2.2.0':
resolution: {integrity: sha512-wkZZKs80NtW5Jp/7ONI1j7EdXSatX2BKMS7I01wliDa09gJKHkZyVqlEMRka/mjT5Qk9WgAyitoCKgGgbsP/9g==}
@@ -3753,12 +3914,24 @@ packages:
'@tybys/wasm-util@0.9.0':
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
+ '@types/acorn@4.0.6':
+ resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
+
'@types/audioworklet@0.0.68':
resolution: {integrity: sha512-jHRbiNe4JK7eRkBWV0Qdr8TYqhRUfZhnDYXUWOgYKM4xfM0OxvuloDEj/iMe0xVQfKcUeFLmszrosPcIdNKd/A==}
'@types/cacheable-request@6.0.3':
resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
+ '@types/command-line-args@5.2.3':
+ resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==}
+
+ '@types/command-line-usage@5.0.4':
+ resolution: {integrity: sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==}
+
+ '@types/cookie@0.6.0':
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -3774,6 +3947,9 @@ packages:
'@types/eslint@9.6.1':
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
'@types/estree@0.0.39':
resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
@@ -3789,6 +3965,9 @@ packages:
'@types/http-cache-semantics@4.0.4':
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
+ '@types/js-yaml@4.0.9':
+ resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
+
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
@@ -3813,12 +3992,21 @@ packages:
'@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ '@types/nlcst@2.0.3':
+ resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
+
'@types/node@10.17.60':
resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==}
+ '@types/node@17.0.45':
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+
'@types/node@20.17.11':
resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==}
@@ -3852,6 +4040,9 @@ packages:
'@types/responselike@1.0.3':
resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
'@types/stats.js@0.17.3':
resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
@@ -3861,6 +4052,9 @@ packages:
'@types/trusted-types@2.0.3':
resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
'@types/unist@3.0.0':
resolution: {integrity: sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==}
@@ -4563,6 +4757,9 @@ packages:
alien-signals@0.4.10:
resolution: {integrity: sha512-7S60rz/mMjz0Djq1VI9rd4bGqKNgxTUGE6k7kwrRO6tF95qt1S3ohz1qaQisvUsfbGh7yXnm6DPRrOhOl1ho1A==}
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
ansi-escapes@7.0.0:
resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
engines: {node: '>=18'}
@@ -4587,6 +4784,14 @@ packages:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
+ apache-arrow@17.0.0:
+ resolution: {integrity: sha512-X0p7auzdnGuhYMVKYINdQssS4EcKec9TCXyez/qtJt32DrIMGbzqiaMiQ0X6fQlQpw8Fl0Qygcv4dfRAr5Gu9Q==}
+ hasBin: true
+
+ apache-arrow@19.0.0:
+ resolution: {integrity: sha512-xifuq9x7tYriK64p7xwtpe9JFBxiQxs0OXBnKv36OwQmkjpNhZN7aKXFa0mV5vaOxf0uKHmjlnxUNw/2fl5FRw==}
+ hasBin: true
+
app-builder-bin@4.0.0:
resolution: {integrity: sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==}
@@ -4636,6 +4841,9 @@ packages:
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
deprecated: This package is no longer supported.
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
@@ -4646,9 +4854,24 @@ packages:
resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
engines: {node: '>=10'}
+ aria-query@5.3.2:
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
+ engines: {node: '>= 0.4'}
+
+ array-back@3.1.0:
+ resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==}
+ engines: {node: '>=6'}
+
+ array-back@6.2.2:
+ resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==}
+ engines: {node: '>=12.17'}
+
array-buffer-byte-length@1.0.0:
resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ array-iterate@2.0.1:
+ resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
+
array-union@1.0.2:
resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==}
engines: {node: '>=0.10.0'}
@@ -4685,6 +4908,20 @@ packages:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ astro-expressive-code@0.40.1:
+ resolution: {integrity: sha512-dQ47XhgtxuRTiKQrZOJKdebMuxvvTBR89U439EHzLP6KR45IILFlGDihGQp3//1aUjj4nwpbINSzms1heJ7vmQ==}
+ peerDependencies:
+ astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0
+
+ astro@5.2.5:
+ resolution: {integrity: sha512-AYXyYkc+c5xbKTm48FyQA91y81nXyNPAaoyafR0LUugE4lAwuvIUcXDBfMzmbuP1lGRvsE33G2oypv6gbGaPFg==}
+ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
+ hasBin: true
+
async-exit-hook@2.0.1:
resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==}
engines: {node: '>=0.12.0'}
@@ -4716,6 +4953,13 @@ packages:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
+
+ b4a@1.6.7:
+ resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
+
babel-plugin-polyfill-corejs2@0.4.12:
resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==}
peerDependencies:
@@ -4737,9 +4981,43 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ bare-events@2.5.4:
+ resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==}
+
+ bare-fs@4.0.1:
+ resolution: {integrity: sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg==}
+ engines: {bare: '>=1.7.0'}
+
+ bare-os@3.4.0:
+ resolution: {integrity: sha512-9Ous7UlnKbe3fMi7Y+qh0DwAup6A1JkYgPnjvMDNOlmnxNRQvQ/7Nst+OnUQKzk0iAT0m9BisbDVp9gCv8+ETA==}
+ engines: {bare: '>=1.6.0'}
+
+ bare-path@3.0.0:
+ resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==}
+
+ bare-stream@2.6.5:
+ resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==}
+ peerDependencies:
+ bare-buffer: '*'
+ bare-events: '*'
+ peerDependenciesMeta:
+ bare-buffer:
+ optional: true
+ bare-events:
+ optional: true
+
+ base-64@1.0.0:
+ resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==}
+
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ bcp-47-match@2.0.3:
+ resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==}
+
+ bcp-47@2.1.0:
+ resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==}
+
big-integer@1.6.52:
resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
engines: {node: '>=0.6'}
@@ -4767,6 +5045,10 @@ packages:
resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+ boxen@8.0.1:
+ resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
+ engines: {node: '>=18'}
+
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
@@ -4871,6 +5153,10 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
+ camelcase@8.0.0:
+ resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
+ engines: {node: '>=16'}
+
camera-controls@2.9.0:
resolution: {integrity: sha512-TpCujnP0vqPppTXXJRYpvIy0xq9Tro6jQf2iYUxlDpPCNxkvE/XGaTuwIxnhINOkVP/ob2CRYXtY3iVYXeMEzA==}
peerDependencies:
@@ -4892,6 +5178,10 @@ packages:
resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
engines: {node: '>=12'}
+ chalk-template@0.4.0:
+ resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==}
+ engines: {node: '>=12'}
+
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
@@ -4909,6 +5199,9 @@ packages:
character-entities@2.0.2:
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
check-error@2.1.1:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
@@ -4921,6 +5214,9 @@ packages:
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
engines: {node: '>= 14.16.0'}
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
chownr@2.0.0:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
@@ -4940,6 +5236,10 @@ packages:
resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
+ ci-info@4.1.0:
+ resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==}
+ engines: {node: '>=8'}
+
citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
@@ -4951,6 +5251,10 @@ packages:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'}
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+
cli-cursor@3.1.0:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
@@ -4986,6 +5290,13 @@ packages:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
@@ -5020,6 +5331,23 @@ packages:
command-exists@1.2.9:
resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
+ command-line-args@5.2.1:
+ resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==}
+ engines: {node: '>=4.0.0'}
+
+ command-line-args@6.0.1:
+ resolution: {integrity: sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==}
+ engines: {node: '>=12.20'}
+ peerDependencies:
+ '@75lb/nature': latest
+ peerDependenciesMeta:
+ '@75lb/nature':
+ optional: true
+
+ command-line-usage@7.0.3:
+ resolution: {integrity: sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==}
+ engines: {node: '>=12.20.0'}
+
commander@11.1.0:
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
engines: {node: '>=16'}
@@ -5043,6 +5371,9 @@ packages:
resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
engines: {node: '>= 12.0.0'}
+ common-ancestor-path@1.0.1:
+ resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
+
common-tags@1.8.2:
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
engines: {node: '>=4.0.0'}
@@ -5094,6 +5425,10 @@ packages:
cookie-es@1.2.2:
resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+ cookie@0.7.2:
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
+ engines: {node: '>= 0.6'}
+
copy-anything@2.0.6:
resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
@@ -5147,6 +5482,9 @@ packages:
css-select@5.1.0:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ css-selector-parser@3.0.5:
+ resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==}
+
css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
@@ -5205,6 +5543,9 @@ packages:
resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
engines: {node: '>=18'}
+ date-fns@4.1.0:
+ resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
+
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@@ -5247,6 +5588,10 @@ packages:
resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
engines: {node: '>=6'}
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -5314,15 +5659,30 @@ packages:
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+ deterministic-object-hash@2.0.2:
+ resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==}
+ engines: {node: '>=18'}
+
+ devalue@5.1.1:
+ resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
+
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+ diff@5.2.0:
+ resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
+ engines: {node: '>=0.3.1'}
+
dir-compare@3.3.0:
resolution: {integrity: sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==}
dir-compare@4.2.0:
resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==}
+ direction@2.0.1:
+ resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==}
+ hasBin: true
+
discord-api-types@0.37.115:
resolution: {integrity: sha512-ivPnJotSMrXW8HLjFu+0iCVs8zP6KSliMelhr7HgcB2ki1QzpORkb26m71l1pzSnnGfm7gb5n/VtRTtpw8kXFA==}
@@ -5330,6 +5690,9 @@ packages:
resolution: {integrity: sha512-8/j8udc3CU7dz3Eqch64UaSHoJtUT6IXK4da5ixjbav4NAXJicloWswD/iwn1ImZEMoAV3LscsdO0zhBh6H+0Q==}
engines: {node: '>=18'}
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
dmg-builder@25.1.8:
resolution: {integrity: sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ==}
@@ -5480,6 +5843,10 @@ packages:
sqlite3:
optional: true
+ dset@3.1.4:
+ resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
+ engines: {node: '>=4'}
+
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
@@ -5630,6 +5997,12 @@ packages:
resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
engines: {node: '>=0.12'}
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
esbuild-register@3.6.0:
resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
peerDependencies:
@@ -5894,6 +6267,24 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
estree-walker@1.0.1:
resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
@@ -5936,6 +6327,10 @@ packages:
resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==}
engines: {node: ^18.19.0 || >=20.5.0}
+ expand-template@2.0.3:
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
+ engines: {node: '>=6'}
+
expect-type@1.1.0:
resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
engines: {node: '>=12.0.0'}
@@ -5943,6 +6338,9 @@ packages:
exponential-backoff@3.1.1:
resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
+ expressive-code@0.40.1:
+ resolution: {integrity: sha512-jBsTRX+MPsqiqYQsE9vRXMiAkUafU11j2zuWAaOX9vubLutNB0er8c0FJWeudVDH5D52V4Lf4vTIqbOE54PUcQ==}
+
ext@1.7.0:
resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
@@ -5968,6 +6366,9 @@ packages:
fast-diff@1.3.0:
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
@@ -6029,6 +6430,23 @@ packages:
resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
engines: {node: '>=8'}
+ find-replace@3.0.0:
+ resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==}
+ engines: {node: '>=4.0.0'}
+
+ find-replace@5.0.2:
+ resolution: {integrity: sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@75lb/nature': latest
+ peerDependenciesMeta:
+ '@75lb/nature':
+ optional: true
+
+ find-up-simple@1.0.0:
+ resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
+ engines: {node: '>=18'}
+
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -6037,6 +6455,9 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
+ find-yarn-workspace-root2@1.2.16:
+ resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
+
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
@@ -6044,9 +6465,16 @@ packages:
flatbuffers@1.12.0:
resolution: {integrity: sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==}
+ flatbuffers@24.12.23:
+ resolution: {integrity: sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA==}
+
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flattie@1.1.1:
+ resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
+ engines: {node: '>=8'}
+
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
@@ -6177,6 +6605,12 @@ packages:
resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
hasBin: true
+ github-from-package@0.0.0:
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@@ -6306,12 +6740,66 @@ packages:
resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
engines: {node: '>= 0.4'}
+ hast-util-embedded@3.0.0:
+ resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==}
+
+ hast-util-format@1.1.0:
+ resolution: {integrity: sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+ hast-util-from-parse5@8.0.2:
+ resolution: {integrity: sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==}
+
+ hast-util-has-property@3.0.0:
+ resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==}
+
+ hast-util-is-body-ok-link@3.0.1:
+ resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+ hast-util-minify-whitespace@1.0.1:
+ resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==}
+
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-phrasing@3.0.1:
+ resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==}
+
+ hast-util-raw@9.1.0:
+ resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
+
+ hast-util-select@6.0.3:
+ resolution: {integrity: sha512-OVRQlQ1XuuLP8aFVLYmC2atrfWHS5UD3shonxpnyrjcCkwtvmt/+N6kYJdcY4mkMJhxp4kj2EFIxQ9kvkkt/eQ==}
+
+ hast-util-to-estree@3.1.1:
+ resolution: {integrity: sha512-IWtwwmPskfSmma9RpzCappDUitC8t5jhAynHhc1m2+5trOgsrp7txscUSavc5Ic8PATyAjfrCK1wgtxh2cICVQ==}
+
hast-util-to-html@9.0.4:
resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
+ hast-util-to-jsx-runtime@2.3.2:
+ resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==}
+
+ hast-util-to-parse5@8.0.0:
+ resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
+
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ hastscript@9.0.0:
+ resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==}
+
he@1.2.0:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
@@ -6333,6 +6821,9 @@ packages:
resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
engines: {node: '>=18'}
+ html-escaper@3.0.3:
+ resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
+
html-tags@3.3.1:
resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
engines: {node: '>=8'}
@@ -6340,6 +6831,9 @@ packages:
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+ html-whitespace-sensitive-tag-names@3.0.1:
+ resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==}
+
htmlparser2@6.1.0:
resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
@@ -6388,6 +6882,9 @@ packages:
humanize-ms@1.2.1:
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+ i18next@23.16.8:
+ resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==}
+
iconv-corefoundation@1.1.7:
resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==}
engines: {node: ^8.11.2 || >=10}
@@ -6430,6 +6927,9 @@ packages:
import-meta-resolve@4.0.0:
resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
+ import-meta-resolve@4.1.0:
+ resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
+
importx@0.5.1:
resolution: {integrity: sha512-YrRaigAec1sC2CdIJjf/hCH1Wp9Ii8Cq5ROw4k5nJ19FVl2FcJUHZ5gGIb1vs8+JNYIyOJpc2fcufS2330bxDw==}
@@ -6451,6 +6951,12 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
internal-slot@1.0.5:
resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
engines: {node: '>= 0.4'}
@@ -6462,6 +6968,12 @@ packages:
iron-webcrypto@1.2.1:
resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
is-array-buffer@3.0.2:
resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
@@ -6501,6 +7013,9 @@ packages:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
engines: {node: '>= 0.4'}
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
engines: {node: '>=8'}
@@ -6535,6 +7050,9 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
is-inside-container@1.0.0:
resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
engines: {node: '>=14.16'}
@@ -6727,6 +7245,10 @@ packages:
engines: {node: '>=6'}
hasBin: true
+ json-bignum@0.0.3:
+ resolution: {integrity: sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==}
+ engines: {node: '>=0.8'}
+
json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
@@ -6784,6 +7306,10 @@ packages:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
@@ -6850,6 +7376,10 @@ packages:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ load-yaml-file@0.2.0:
+ resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
+ engines: {node: '>=6'}
+
local-pkg@0.5.1:
resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
engines: {node: '>=14'}
@@ -6866,6 +7396,9 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
@@ -6957,6 +7490,9 @@ packages:
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+ magicast@0.3.5:
+ resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
+
make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
@@ -6972,6 +7508,10 @@ packages:
make-synchronized@0.2.9:
resolution: {integrity: sha512-4wczOs8SLuEdpEvp3vGo83wh8rjJ78UsIk7DIX5fxdfmfMJGog4bQzxfvOwq7Q3yCHLC4jp1urPHIxRS/A93gA==}
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
markdown-it-async@2.0.0:
resolution: {integrity: sha512-jBthmQR5MwXR9Y8Y0teRoZAenaKQMdjuTfpbNARqMBSRPvyzyXCVduHZHakyyhL3ugIacCobXJrO07t277sIjw==}
@@ -6989,6 +7529,12 @@ packages:
resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==}
engines: {node: '>=10'}
+ mdast-util-definitions@6.0.0:
+ resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
+
+ mdast-util-directive@3.1.0:
+ resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==}
+
mdast-util-find-and-replace@3.0.1:
resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
@@ -7013,6 +7559,18 @@ packages:
mdast-util-gfm@3.0.0:
resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
mdast-util-phrasing@4.1.0:
resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
@@ -7050,6 +7608,9 @@ packages:
micromark-core-commonmark@2.0.2:
resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==}
+ micromark-extension-directive@3.0.2:
+ resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
+
micromark-extension-gfm-autolink-literal@2.1.0:
resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
@@ -7071,12 +7632,30 @@ packages:
micromark-extension-gfm@3.0.0:
resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+ micromark-extension-mdx-expression@3.0.0:
+ resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
+
+ micromark-extension-mdx-jsx@3.0.1:
+ resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
micromark-factory-destination@2.0.1:
resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
micromark-factory-label@2.0.1:
resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+ micromark-factory-mdx-expression@2.0.2:
+ resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==}
+
micromark-factory-space@2.0.1:
resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
@@ -7107,6 +7686,9 @@ packages:
micromark-util-encode@2.0.1:
resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+ micromark-util-events-to-acorn@2.0.2:
+ resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
+
micromark-util-html-tag-name@2.0.1:
resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
@@ -7239,6 +7821,9 @@ packages:
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+ mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+
mkdirp@1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
@@ -7297,6 +7882,9 @@ packages:
engines: {node: ^18 || >=20}
hasBin: true
+ napi-build-utils@2.0.0:
+ resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
+
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -7313,9 +7901,16 @@ packages:
resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==}
engines: {node: '>= 0.6'}
+ neotraverse@0.6.18:
+ resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==}
+ engines: {node: '>= 10'}
+
next-tick@1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ nlcst-to-string@4.0.0:
+ resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
+
node-abi@3.73.0:
resolution: {integrity: sha512-z8iYzQGBu35ZkTQ9mtR8RqugJZ9RCLn8fv3d7LsgDBzOijGQP3RdKTX4LA7LXw03ZhU5z0l4xfhIMgSES31+cg==}
engines: {node: '>=10'}
@@ -7326,6 +7921,9 @@ packages:
node-addon-api@5.1.0:
resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
+ node-addon-api@6.1.0:
+ resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
+
node-addon-api@7.1.1:
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
@@ -7530,6 +8128,10 @@ packages:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
+ p-limit@6.2.0:
+ resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==}
+ engines: {node: '>=18'}
+
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -7542,6 +8144,14 @@ packages:
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
engines: {node: '>=10'}
+ p-queue@8.1.0:
+ resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==}
+ engines: {node: '>=18'}
+
+ p-timeout@6.1.4:
+ resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
+ engines: {node: '>=14.16'}
+
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
@@ -7558,6 +8168,10 @@ packages:
packrup@0.1.2:
resolution: {integrity: sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==}
+ pagefind@1.3.0:
+ resolution: {integrity: sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==}
+ hasBin: true
+
pako@1.0.11:
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
@@ -7571,6 +8185,9 @@ packages:
parse-cache-control@1.0.1:
resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==}
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
parse-gitignore@2.0.0:
resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
engines: {node: '>=14'}
@@ -7583,6 +8200,9 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
+ parse-latin@7.0.0:
+ resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
+
parse-ms@4.0.0:
resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
engines: {node: '>=18'}
@@ -7978,6 +8598,15 @@ packages:
potpack@1.0.2:
resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
+ prebuild-install@7.1.3:
+ resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ preferred-pm@4.1.1:
+ resolution: {integrity: sha512-rU+ZAv1Ur9jAUZtGPebQVQPzdGhNzaEiQ7VL9+cjsAWPHFYOccNXPNiev1CCDSOg/2j7UujM7ojNhpkuILEVNQ==}
+ engines: {node: '>=18.12'}
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -8020,6 +8649,10 @@ packages:
opusscript:
optional: true
+ prismjs@1.29.0:
+ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
@@ -8104,6 +8737,10 @@ packages:
rc9@2.1.2:
resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+ rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+
react@18.3.1:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
@@ -8152,6 +8789,18 @@ packages:
real-cancellable-promise@1.2.0:
resolution: {integrity: sha512-FYhmx1FVSgoPRjneoTjh+EKZcNb8ijl/dyatTzase5eujYhVrLNDOiIY6AgQq7GU1kOoLgEd9jLVbhFg8k8dOQ==}
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.0:
+ resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==}
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
refa@0.12.1:
resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
@@ -8163,8 +8812,8 @@ packages:
regenerate@1.4.2:
resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
- regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
regenerator-transform@0.15.2:
resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
@@ -8205,15 +8854,49 @@ packages:
resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
hasBin: true
+ rehype-expressive-code@0.40.1:
+ resolution: {integrity: sha512-EjmhGHcgmcPoIsb4M6vm2FQQDUctdcgFFiKGCYtPJuMpzr1q+ChCNsc443MaE412MyAgL6Q/XUB7I56Mcl6bnw==}
+
+ rehype-format@5.0.1:
+ resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==}
+
+ rehype-parse@9.0.1:
+ resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
+
+ rehype-raw@7.0.0:
+ resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
rehype-stringify@10.0.1:
resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
+ rehype@13.0.2:
+ resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==}
+
+ remark-directive@3.0.1:
+ resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==}
+
+ remark-gfm@4.0.0:
+ resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+
+ remark-mdx@3.1.0:
+ resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
+
remark-parse@11.0.0:
resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
remark-rehype@11.1.1:
resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
+ remark-smartypants@3.0.2:
+ resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==}
+ engines: {node: '>=16.0.0'}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
@@ -8251,6 +8934,18 @@ packages:
resolution: {integrity: sha512-Hp93f349DvdEqJFHiPyzNzVjT7lDDFtQJWRotQVQNl3CHr4j7oMHStQB9UH/CJSHTrevAZXFvomgzy8lXjrK0w==}
engines: {node: '>=18'}
+ retext-latin@4.0.0:
+ resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
+
+ retext-smartypants@6.2.0:
+ resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==}
+
+ retext-stringify@4.0.0:
+ resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
+
+ retext@9.0.0:
+ resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
+
retry@0.12.0:
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
engines: {node: '>= 4'}
@@ -8370,6 +9065,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.7.1:
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
serialize-error@7.0.1:
resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==}
engines: {node: '>=10'}
@@ -8391,6 +9091,10 @@ packages:
setimmediate@1.0.5:
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+ sharp@0.32.6:
+ resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==}
+ engines: {node: '>=14.15.0'}
+
sharp@0.33.5:
resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
@@ -8403,6 +9107,9 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shiki@1.29.2:
+ resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==}
+
shiki@2.2.0:
resolution: {integrity: sha512-3uoZBmc+zpd2JOEeTvKP/vK5UVDDe8YiigkT9flq+MV5Z1MKFiUXfbLIvHfqcJ+V90StDiP1ckN97z1WlhC6cQ==}
@@ -8420,6 +9127,12 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
+ simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+
+ simple-get@4.0.1:
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
+
simple-git-hooks@2.11.1:
resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==}
hasBin: true
@@ -8438,6 +9151,11 @@ packages:
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ sitemap@8.0.0:
+ resolution: {integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==}
+ engines: {node: '>=14.0.0', npm: '>=6.0.0'}
+ hasBin: true
+
slash@5.1.0:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
@@ -8467,6 +9185,10 @@ packages:
smob@1.5.0:
resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
+ smol-toml@1.3.1:
+ resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==}
+ engines: {node: '>= 18'}
+
socks-proxy-agent@7.0.0:
resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==}
engines: {node: '>= 10'}
@@ -8559,6 +9281,12 @@ packages:
store2@2.14.4:
resolution: {integrity: sha512-srTItn1GOvyvOycgxjAnPA63FZNwy0PTyUBFMHRM+hVFltAeoh0LmNBz9SZqUS9mMqGk8rfyWyXn3GH5ReJ8Zw==}
+ stream-replace-string@2.0.0:
+ resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==}
+
+ streamx@2.22.0:
+ resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==}
+
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
@@ -8575,6 +9303,10 @@ packages:
resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==}
engines: {node: '>=18'}
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
string.prototype.matchall@4.0.8:
resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
@@ -8616,6 +9348,10 @@ packages:
resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
engines: {node: '>=0.10.0'}
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
strip-comments@2.0.1:
resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
engines: {node: '>=10'}
@@ -8636,6 +9372,10 @@ packages:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
+ strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
@@ -8647,6 +9387,9 @@ packages:
resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==}
engines: {node: '>=0.10.0'}
+ style-to-object@1.0.8:
+ resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
+
style-value-types@5.1.2:
resolution: {integrity: sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==}
@@ -8695,14 +9438,27 @@ packages:
resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
engines: {node: '>=18'}
+ table-layout@4.1.1:
+ resolution: {integrity: sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==}
+ engines: {node: '>=12.17'}
+
tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
+ tar-fs@2.1.2:
+ resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==}
+
+ tar-fs@3.0.8:
+ resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==}
+
tar-stream@2.2.0:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'}
+ tar-stream@3.1.7:
+ resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
+
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
@@ -8734,6 +9490,9 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ text-decoder@1.2.3:
+ resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
+
three-custom-shader-material@5.4.0:
resolution: {integrity: sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==}
peerDependencies:
@@ -8848,6 +9607,16 @@ packages:
ts-mixer@6.0.4:
resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==}
+ tsconfck@3.1.5:
+ resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
tslib@2.4.0:
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
@@ -8859,6 +9628,9 @@ packages:
engines: {node: '>=18.0.0'}
hasBin: true
+ tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -8883,6 +9655,10 @@ packages:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
+ type-fest@4.33.0:
+ resolution: {integrity: sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==}
+ engines: {node: '>=16'}
+
type@2.7.3:
resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
@@ -8912,12 +9688,23 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ typical@4.0.0:
+ resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==}
+ engines: {node: '>=8'}
+
+ typical@7.3.0:
+ resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==}
+ engines: {node: '>=12.17'}
+
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
+ ultrahtml@1.5.3:
+ resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==}
+
unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
@@ -8997,15 +9784,30 @@ packages:
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
engines: {node: '>=8'}
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
unist-util-is@6.0.0:
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+ unist-util-modify-children@4.0.0:
+ resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
unist-util-stringify-position@4.0.0:
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+ unist-util-visit-children@3.0.0:
+ resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==}
+
unist-util-visit-parents@6.0.1:
resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
@@ -9119,6 +9921,65 @@ packages:
resolution: {integrity: sha512-Q3LU0e4zxKfRko1wMV2HmP8lB9KWislY7hxXpxd+lGx0PRInE4vhMBVEZwpdVYHvtqzhSrzuIfErsob6bQfCzw==}
engines: {node: '>=18.12.0'}
+ unstorage@1.14.4:
+ resolution: {integrity: sha512-1SYeamwuYeQJtJ/USE1x4l17LkmQBzg7deBJ+U9qOBoHo15d1cDxG4jM31zKRgF7pG0kirZy4wVMX6WL6Zoscg==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.8.0
+ '@azure/cosmos': ^4.2.0
+ '@azure/data-tables': ^13.3.0
+ '@azure/identity': ^4.5.0
+ '@azure/keyvault-secrets': ^4.9.0
+ '@azure/storage-blob': ^12.26.0
+ '@capacitor/preferences': ^6.0.3
+ '@deno/kv': '>=0.8.4'
+ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0
+ '@planetscale/database': ^1.19.0
+ '@upstash/redis': ^1.34.3
+ '@vercel/blob': '>=0.27.0'
+ '@vercel/kv': ^1.0.1
+ aws4fetch: ^1.0.20
+ db0: '>=0.2.1'
+ idb-keyval: ^6.2.1
+ ioredis: ^5.4.2
+ uploadthing: ^7.4.1
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@deno/kv':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/blob':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ aws4fetch:
+ optional: true
+ db0:
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ uploadthing:
+ optional: true
+
untun@0.1.3:
resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==}
hasBin: true
@@ -9189,6 +10050,9 @@ packages:
resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==}
engines: {node: '>=0.6.0'}
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
vfile-message@4.0.2:
resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
@@ -9300,6 +10164,14 @@ packages:
yaml:
optional: true
+ vitefu@1.0.5:
+ resolution: {integrity: sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
vitest@3.0.4:
resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
@@ -9390,6 +10262,9 @@ packages:
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@@ -9428,6 +10303,14 @@ packages:
which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ which-pm-runs@1.1.0:
+ resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==}
+ engines: {node: '>=4'}
+
+ which-pm@3.0.1:
+ resolution: {integrity: sha512-v2JrMq0waAI4ju1xU5x3blsxBBMgdgZve580iYMN5frDaLGjbA24fok7wKCsya8KLVO19Ju4XDc5+zTZCJkQfg==}
+ engines: {node: '>=18.12'}
+
which-typed-array@1.1.11:
resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==}
engines: {node: '>= 0.4'}
@@ -9450,6 +10333,14 @@ packages:
wide-align@1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+ widest-line@5.0.0:
+ resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
+ engines: {node: '>=18'}
+
+ wordwrapjs@5.1.0:
+ resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==}
+ engines: {node: '>=12.17'}
+
workbox-background-sync@7.3.0:
resolution: {integrity: sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==}
@@ -9548,6 +10439,9 @@ packages:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
+ xxhash-wasm@1.1.0:
+ resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
+
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -9599,6 +10493,14 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ yocto-queue@1.1.1:
+ resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==}
+ engines: {node: '>=12.20'}
+
+ yocto-spinner@0.2.0:
+ resolution: {integrity: sha512-Qu6WAqNLGleB687CCGcmgHIo8l+J19MX/32UrSMfbf/4L8gLoxjpOYoiHT1asiWyqvjRZbgvOhLlvne6E5Tbdw==}
+ engines: {node: '>=18.19'}
+
yoctocolors@2.1.1:
resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
engines: {node: '>=18'}
@@ -9610,6 +10512,17 @@ packages:
resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==}
engines: {node: '>= 10'}
+ zod-to-json-schema@3.24.1:
+ resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==}
+ peerDependencies:
+ zod: ^3.24.1
+
+ zod-to-ts@1.2.0:
+ resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==}
+ peerDependencies:
+ typescript: ^4.9.4 || ^5.0.2
+ zod: ^3
+
zod@3.24.1:
resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
@@ -9703,6 +10616,106 @@ snapshots:
jsonpointer: 5.0.1
leven: 3.1.0
+ '@astrojs/compiler@2.10.3': {}
+
+ '@astrojs/internal-helpers@0.5.1': {}
+
+ '@astrojs/markdown-remark@6.1.0':
+ dependencies:
+ '@astrojs/prism': 3.2.0
+ github-slugger: 2.0.0
+ hast-util-from-html: 2.0.3
+ hast-util-to-text: 4.0.2
+ import-meta-resolve: 4.1.0
+ js-yaml: 4.1.0
+ mdast-util-definitions: 6.0.0
+ rehype-raw: 7.0.0
+ rehype-stringify: 10.0.1
+ remark-gfm: 4.0.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ remark-smartypants: 3.0.2
+ shiki: 1.29.2
+ smol-toml: 1.3.1
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/mdx@4.0.8(astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))':
+ dependencies:
+ '@astrojs/markdown-remark': 6.1.0
+ '@mdx-js/mdx': 3.1.0(acorn@8.14.0)
+ acorn: 8.14.0
+ astro: 5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0)
+ es-module-lexer: 1.6.0
+ estree-util-visit: 2.0.0
+ hast-util-to-html: 9.0.4
+ kleur: 4.1.5
+ rehype-raw: 7.0.0
+ remark-gfm: 4.0.0
+ remark-smartypants: 3.0.2
+ source-map: 0.7.4
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/prism@3.2.0':
+ dependencies:
+ prismjs: 1.29.0
+
+ '@astrojs/sitemap@3.2.1':
+ dependencies:
+ sitemap: 8.0.0
+ stream-replace-string: 2.0.0
+ zod: 3.24.1
+
+ '@astrojs/starlight@0.31.1(astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))':
+ dependencies:
+ '@astrojs/mdx': 4.0.8(astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))
+ '@astrojs/sitemap': 3.2.1
+ '@pagefind/default-ui': 1.3.0
+ '@types/hast': 3.0.4
+ '@types/js-yaml': 4.0.9
+ '@types/mdast': 4.0.4
+ astro: 5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0)
+ astro-expressive-code: 0.40.1(astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))
+ bcp-47: 2.1.0
+ hast-util-from-html: 2.0.3
+ hast-util-select: 6.0.3
+ hast-util-to-string: 3.0.1
+ hastscript: 9.0.0
+ i18next: 23.16.8
+ js-yaml: 4.1.0
+ mdast-util-directive: 3.1.0
+ mdast-util-to-markdown: 2.1.2
+ mdast-util-to-string: 4.0.0
+ pagefind: 1.3.0
+ rehype: 13.0.2
+ rehype-format: 5.0.1
+ remark-directive: 3.0.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/telemetry@3.2.0':
+ dependencies:
+ ci-info: 4.1.0
+ debug: 4.4.0
+ dlv: 1.1.3
+ dset: 3.1.4
+ is-docker: 3.0.0
+ is-wsl: 3.1.0
+ which-pm-runs: 1.1.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/code-frame@7.26.2':
dependencies:
'@babel/helper-validator-identifier': 7.25.9
@@ -10382,9 +11395,9 @@ snapshots:
'@babel/types': 7.26.7
esutils: 2.0.3
- '@babel/runtime@7.21.5':
+ '@babel/runtime@7.26.7':
dependencies:
- regenerator-runtime: 0.13.11
+ regenerator-runtime: 0.14.1
'@babel/standalone@7.26.2': {}
@@ -10431,6 +11444,10 @@ snapshots:
'@cspell/dict-ru_ru@2.2.4': {}
+ '@ctrl/tinycolor@4.1.0': {}
+
+ '@date-fns/tz@1.2.0': {}
+
'@derhuerst/http-basic@8.2.4':
dependencies:
caseless: 0.12.0
@@ -10471,7 +11488,7 @@ snapshots:
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
- semver: 7.6.3
+ semver: 7.7.1
tar: 6.2.1
transitivePeerDependencies:
- encoding
@@ -10551,6 +11568,10 @@ snapshots:
'@drizzle-team/brocli@0.10.2': {}
+ '@duckdb/duckdb-wasm@1.29.0':
+ dependencies:
+ apache-arrow: 17.0.0
+
'@ecies/ciphers@0.2.2(@noble/ciphers@1.2.0)':
dependencies:
'@noble/ciphers': 1.2.0
@@ -11123,6 +12144,31 @@ snapshots:
'@eslint/core': 0.10.0
levn: 0.4.1
+ '@expressive-code/core@0.40.1':
+ dependencies:
+ '@ctrl/tinycolor': 4.1.0
+ hast-util-select: 6.0.3
+ hast-util-to-html: 9.0.4
+ hast-util-to-text: 4.0.2
+ hastscript: 9.0.0
+ postcss: 8.4.49
+ postcss-nested: 6.2.0(postcss@8.4.49)
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
+
+ '@expressive-code/plugin-frames@0.40.1':
+ dependencies:
+ '@expressive-code/core': 0.40.1
+
+ '@expressive-code/plugin-shiki@0.40.1':
+ dependencies:
+ '@expressive-code/core': 0.40.1
+ shiki: 1.29.2
+
+ '@expressive-code/plugin-text-markers@0.40.1':
+ dependencies:
+ '@expressive-code/core': 0.40.1
+
'@floating-ui/core@1.6.8':
dependencies:
'@floating-ui/utils': 0.2.8
@@ -11408,7 +12454,7 @@ snapshots:
'@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.0)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))':
dependencies:
- '@babel/parser': 7.26.3
+ '@babel/parser': 7.26.7
optionalDependencies:
'@intlify/shared': 11.1.0
'@vue/compiler-dom': 3.5.13
@@ -11481,6 +12527,36 @@ snapshots:
'@mdit-vue/types@2.1.0': {}
+ '@mdx-js/mdx@3.1.0(acorn@8.14.0)':
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.2
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.0(acorn@8.14.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ source-map: 0.7.4
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - acorn
+ - supports-color
+
'@napi-rs/wasm-runtime@0.2.5':
dependencies:
'@emnapi/core': 1.3.1
@@ -11518,10 +12594,10 @@ snapshots:
mkdirp: 1.0.4
rimraf: 3.0.2
- '@nuxt/kit@3.14.1592(rollup@2.79.1)':
+ '@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1)':
dependencies:
- '@nuxt/schema': 3.14.1592(rollup@2.79.1)
- c12: 2.0.1
+ '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@2.79.1)
+ c12: 2.0.1(magicast@0.3.5)
consola: 3.3.1
defu: 6.1.4
destr: 2.0.3
@@ -11546,10 +12622,10 @@ snapshots:
- supports-color
optional: true
- '@nuxt/kit@3.14.1592(rollup@4.34.1)':
+ '@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1)':
dependencies:
- '@nuxt/schema': 3.14.1592(rollup@4.34.1)
- c12: 2.0.1
+ '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.34.1)
+ c12: 2.0.1(magicast@0.3.5)
consola: 3.3.1
defu: 6.1.4
destr: 2.0.3
@@ -11574,9 +12650,9 @@ snapshots:
- supports-color
optional: true
- '@nuxt/schema@3.14.1592(rollup@2.79.1)':
+ '@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@2.79.1)':
dependencies:
- c12: 2.0.1
+ c12: 2.0.1(magicast@0.3.5)
compatx: 0.1.8
consola: 3.3.1
defu: 6.1.4
@@ -11595,9 +12671,9 @@ snapshots:
- supports-color
optional: true
- '@nuxt/schema@3.14.1592(rollup@4.34.1)':
+ '@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.34.1)':
dependencies:
- c12: 2.0.1
+ c12: 2.0.1(magicast@0.3.5)
compatx: 0.1.8
consola: 3.3.1
defu: 6.1.4
@@ -11616,6 +12692,8 @@ snapshots:
- supports-color
optional: true
+ '@oslojs/encoding@1.1.0': {}
+
'@oxc-resolver/binding-darwin-arm64@3.0.3':
optional: true
@@ -11651,6 +12729,23 @@ snapshots:
'@oxc-resolver/binding-win32-x64-msvc@3.0.3':
optional: true
+ '@pagefind/darwin-arm64@1.3.0':
+ optional: true
+
+ '@pagefind/darwin-x64@1.3.0':
+ optional: true
+
+ '@pagefind/default-ui@1.3.0': {}
+
+ '@pagefind/linux-arm64@1.3.0':
+ optional: true
+
+ '@pagefind/linux-x64@1.3.0':
+ optional: true
+
+ '@pagefind/windows-x64@1.3.0':
+ optional: true
+
'@parcel/watcher-android-arm64@2.5.0':
optional: true
@@ -12296,6 +13391,15 @@ snapshots:
'@sec-ant/readable-stream@0.4.1': {}
+ '@shikijs/core@1.29.2':
+ dependencies:
+ '@shikijs/engine-javascript': 1.29.2
+ '@shikijs/engine-oniguruma': 1.29.2
+ '@shikijs/types': 1.29.2
+ '@shikijs/vscode-textmate': 10.0.1
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.4
+
'@shikijs/core@2.2.0':
dependencies:
'@shikijs/engine-javascript': 2.2.0
@@ -12305,17 +13409,32 @@ snapshots:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.4
+ '@shikijs/engine-javascript@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+ '@shikijs/vscode-textmate': 10.0.1
+ oniguruma-to-es: 2.3.0
+
'@shikijs/engine-javascript@2.2.0':
dependencies:
'@shikijs/types': 2.2.0
'@shikijs/vscode-textmate': 10.0.1
oniguruma-to-es: 2.3.0
+ '@shikijs/engine-oniguruma@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+ '@shikijs/vscode-textmate': 10.0.1
+
'@shikijs/engine-oniguruma@2.2.0':
dependencies:
'@shikijs/types': 2.2.0
'@shikijs/vscode-textmate': 10.0.1
+ '@shikijs/langs@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+
'@shikijs/langs@2.2.0':
dependencies:
'@shikijs/types': 2.2.0
@@ -12327,10 +13446,19 @@ snapshots:
optionalDependencies:
markdown-it-async: 2.0.0
+ '@shikijs/themes@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+
'@shikijs/themes@2.2.0':
dependencies:
'@shikijs/types': 2.2.0
+ '@shikijs/types@1.29.2':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.1
+ '@types/hast': 3.0.4
+
'@shikijs/types@2.2.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.1
@@ -12417,6 +13545,10 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@types/acorn@4.0.6':
+ dependencies:
+ '@types/estree': 1.0.6
+
'@types/audioworklet@0.0.68': {}
'@types/cacheable-request@6.0.3':
@@ -12426,6 +13558,12 @@ snapshots:
'@types/node': 22.13.0
'@types/responselike': 1.0.3
+ '@types/command-line-args@5.2.3': {}
+
+ '@types/command-line-usage@5.0.4': {}
+
+ '@types/cookie@0.6.0': {}
+
'@types/debug@4.1.12':
dependencies:
'@types/ms': 0.7.34
@@ -12441,6 +13579,10 @@ snapshots:
'@types/estree': 1.0.6
'@types/json-schema': 7.0.15
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.6
+
'@types/estree@0.0.39': {}
'@types/estree@1.0.6': {}
@@ -12455,6 +13597,8 @@ snapshots:
'@types/http-cache-semantics@4.0.4': {}
+ '@types/js-yaml@4.0.9': {}
+
'@types/json-schema@7.0.15': {}
'@types/keyv@3.1.4':
@@ -12480,11 +13624,19 @@ snapshots:
'@types/mdurl@2.0.0': {}
+ '@types/mdx@2.0.13': {}
+
'@types/ms@0.7.34': {}
+ '@types/nlcst@2.0.3':
+ dependencies:
+ '@types/unist': 3.0.0
+
'@types/node@10.17.60':
optional: true
+ '@types/node@17.0.45': {}
+
'@types/node@20.17.11':
dependencies:
undici-types: 6.19.8
@@ -12525,6 +13677,10 @@ snapshots:
dependencies:
'@types/node': 22.13.0
+ '@types/sax@1.2.7':
+ dependencies:
+ '@types/node': 22.13.0
+
'@types/stats.js@0.17.3': {}
'@types/three@0.173.0':
@@ -12538,6 +13694,8 @@ snapshots:
'@types/trusted-types@2.0.3': {}
+ '@types/unist@2.0.11': {}
+
'@types/unist@3.0.0': {}
'@types/verror@1.10.10':
@@ -13395,7 +14553,7 @@ snapshots:
'@vueuse/metadata@12.5.0': {}
- '@vueuse/motion@2.2.6(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3))':
+ '@vueuse/motion@2.2.6(magicast@0.3.5)(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3))
'@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.3))
@@ -13405,14 +14563,14 @@ snapshots:
style-value-types: 5.1.2
vue: 3.5.13(typescript@5.7.3)
optionalDependencies:
- '@nuxt/kit': 3.14.1592(rollup@2.79.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@2.79.1)
transitivePeerDependencies:
- '@vue/composition-api'
- magicast
- rollup
- supports-color
- '@vueuse/motion@2.2.6(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))':
+ '@vueuse/motion@2.2.6(magicast@0.3.5)(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3))
'@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.3))
@@ -13422,7 +14580,7 @@ snapshots:
style-value-types: 5.1.2
vue: 3.5.13(typescript@5.7.3)
optionalDependencies:
- '@nuxt/kit': 3.14.1592(rollup@4.34.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.34.1)
transitivePeerDependencies:
- '@vue/composition-api'
- magicast
@@ -13563,6 +14721,10 @@ snapshots:
alien-signals@0.4.10: {}
+ ansi-align@3.0.1:
+ dependencies:
+ string-width: 4.2.3
+
ansi-escapes@7.0.0:
dependencies:
environment: 1.1.0
@@ -13582,6 +14744,32 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
+ apache-arrow@17.0.0:
+ dependencies:
+ '@swc/helpers': 0.5.15
+ '@types/command-line-args': 5.2.3
+ '@types/command-line-usage': 5.0.4
+ '@types/node': 20.17.11
+ command-line-args: 5.2.1
+ command-line-usage: 7.0.3
+ flatbuffers: 24.12.23
+ json-bignum: 0.0.3
+ tslib: 2.8.1
+
+ apache-arrow@19.0.0:
+ dependencies:
+ '@swc/helpers': 0.5.15
+ '@types/command-line-args': 5.2.3
+ '@types/command-line-usage': 5.0.4
+ '@types/node': 20.17.11
+ command-line-args: 6.0.1
+ command-line-usage: 7.0.3
+ flatbuffers: 24.12.23
+ json-bignum: 0.0.3
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@75lb/nature'
+
app-builder-bin@4.0.0: {}
app-builder-bin@5.0.0-alpha.10: {}
@@ -13614,7 +14802,7 @@ snapshots:
minimatch: 5.1.6
read-config-file: 6.3.2
sanitize-filename: 1.6.3
- semver: 7.6.3
+ semver: 7.7.1
tar: 6.2.1
temp-file: 3.4.0
transitivePeerDependencies:
@@ -13711,6 +14899,8 @@ snapshots:
delegates: 1.0.0
readable-stream: 3.6.2
+ arg@5.0.2: {}
+
argparse@1.0.10:
dependencies:
sprintf-js: 1.0.3
@@ -13721,11 +14911,19 @@ snapshots:
dependencies:
tslib: 2.8.1
+ aria-query@5.3.2: {}
+
+ array-back@3.1.0: {}
+
+ array-back@6.2.2: {}
+
array-buffer-byte-length@1.0.0:
dependencies:
call-bind: 1.0.7
is-array-buffer: 3.0.2
+ array-iterate@2.0.1: {}
+
array-union@1.0.2:
dependencies:
array-uniq: 1.0.3
@@ -13765,6 +14963,110 @@ snapshots:
astral-regex@2.0.0:
optional: true
+ astring@1.9.0: {}
+
+ astro-expressive-code@0.40.1(astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0)):
+ dependencies:
+ astro: 5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0)
+ rehype-expressive-code: 0.40.1
+
+ astro@5.2.5(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(rollup@4.34.1)(terser@5.17.6)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0):
+ dependencies:
+ '@astrojs/compiler': 2.10.3
+ '@astrojs/internal-helpers': 0.5.1
+ '@astrojs/markdown-remark': 6.1.0
+ '@astrojs/telemetry': 3.2.0
+ '@oslojs/encoding': 1.1.0
+ '@rollup/pluginutils': 5.1.4(rollup@4.34.1)
+ '@types/cookie': 0.6.0
+ acorn: 8.14.0
+ aria-query: 5.3.2
+ axobject-query: 4.1.0
+ boxen: 8.0.1
+ ci-info: 4.1.0
+ clsx: 2.1.1
+ common-ancestor-path: 1.0.1
+ cookie: 0.7.2
+ cssesc: 3.0.0
+ debug: 4.4.0
+ deterministic-object-hash: 2.0.2
+ devalue: 5.1.1
+ diff: 5.2.0
+ dlv: 1.1.3
+ dset: 3.1.4
+ es-module-lexer: 1.6.0
+ esbuild: 0.24.2
+ estree-walker: 3.0.3
+ fast-glob: 3.3.3
+ flattie: 1.1.1
+ github-slugger: 2.0.0
+ html-escaper: 3.0.3
+ http-cache-semantics: 4.1.1
+ js-yaml: 4.1.0
+ kleur: 4.1.5
+ magic-string: 0.30.17
+ magicast: 0.3.5
+ micromatch: 4.0.8
+ mrmime: 2.0.0
+ neotraverse: 0.6.18
+ p-limit: 6.2.0
+ p-queue: 8.1.0
+ preferred-pm: 4.1.1
+ prompts: 2.4.2
+ rehype: 13.0.2
+ semver: 7.7.1
+ shiki: 1.29.2
+ tinyexec: 0.3.2
+ tsconfck: 3.1.5(typescript@5.7.3)
+ ultrahtml: 1.5.3
+ unist-util-visit: 5.0.0
+ unstorage: 1.14.4
+ vfile: 6.0.3
+ vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
+ vitefu: 1.0.5(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
+ which-pm: 3.0.1
+ xxhash-wasm: 1.1.0
+ yargs-parser: 21.1.1
+ yocto-spinner: 0.2.0
+ zod: 3.24.1
+ zod-to-json-schema: 3.24.1(zod@3.24.1)
+ zod-to-ts: 1.2.0(typescript@5.7.3)(zod@3.24.1)
+ optionalDependencies:
+ sharp: 0.33.5
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@types/node'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - jiti
+ - less
+ - lightningcss
+ - rollup
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - typescript
+ - uploadthing
+ - yaml
+
async-exit-hook@2.0.1: {}
async-mutex@0.3.2:
@@ -13793,6 +15095,10 @@ snapshots:
available-typed-arrays@1.0.5: {}
+ axobject-query@4.1.0: {}
+
+ b4a@1.6.7: {}
+
babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0):
dependencies:
'@babel/compat-data': 7.26.2
@@ -13821,8 +15127,45 @@ snapshots:
balanced-match@1.0.2: {}
+ bare-events@2.5.4:
+ optional: true
+
+ bare-fs@4.0.1:
+ dependencies:
+ bare-events: 2.5.4
+ bare-path: 3.0.0
+ bare-stream: 2.6.5(bare-events@2.5.4)
+ transitivePeerDependencies:
+ - bare-buffer
+ optional: true
+
+ bare-os@3.4.0:
+ optional: true
+
+ bare-path@3.0.0:
+ dependencies:
+ bare-os: 3.4.0
+ optional: true
+
+ bare-stream@2.6.5(bare-events@2.5.4):
+ dependencies:
+ streamx: 2.22.0
+ optionalDependencies:
+ bare-events: 2.5.4
+ optional: true
+
+ base-64@1.0.0: {}
+
base64-js@1.5.1: {}
+ bcp-47-match@2.0.3: {}
+
+ bcp-47@2.1.0:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+
big-integer@1.6.52: {}
binary-extensions@2.2.0: {}
@@ -13846,6 +15189,17 @@ snapshots:
boolean@3.2.0:
optional: true
+ boxen@8.0.1:
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 8.0.0
+ chalk: 5.4.1
+ cli-boxes: 3.0.0
+ string-width: 7.2.0
+ type-fest: 4.33.0
+ widest-line: 5.0.0
+ wrap-ansi: 9.0.0
+
brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
@@ -13944,9 +15298,9 @@ snapshots:
builtin-modules@3.3.0: {}
- bumpp@10.0.1:
+ bumpp@10.0.1(magicast@0.3.5):
dependencies:
- c12: 2.0.1
+ c12: 2.0.1(magicast@0.3.5)
cac: 6.7.14
escalade: 3.2.0
js-yaml: 4.1.0
@@ -13968,7 +15322,7 @@ snapshots:
esbuild: 0.24.2
load-tsconfig: 0.2.5
- c12@2.0.1:
+ c12@2.0.1(magicast@0.3.5):
dependencies:
chokidar: 4.0.1
confbox: 0.1.8
@@ -13982,6 +15336,8 @@ snapshots:
perfect-debounce: 1.0.0
pkg-types: 1.3.0
rc9: 2.1.2
+ optionalDependencies:
+ magicast: 0.3.5
cac@6.7.14: {}
@@ -14032,6 +15388,8 @@ snapshots:
camelcase@6.3.0: {}
+ camelcase@8.0.0: {}
+
camera-controls@2.9.0(three@0.173.0):
dependencies:
three: 0.173.0
@@ -14058,6 +15416,10 @@ snapshots:
loupe: 3.1.2
pathval: 2.0.0
+ chalk-template@0.4.0:
+ dependencies:
+ chalk: 4.1.2
+
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
@@ -14071,6 +15433,8 @@ snapshots:
character-entities@2.0.2: {}
+ character-reference-invalid@2.0.1: {}
+
check-error@2.1.1: {}
chokidar@3.6.0:
@@ -14089,6 +15453,8 @@ snapshots:
dependencies:
readdirp: 4.0.2
+ chownr@1.1.4: {}
+
chownr@2.0.0: {}
chownr@3.0.0: {}
@@ -14099,6 +15465,8 @@ snapshots:
ci-info@4.0.0: {}
+ ci-info@4.1.0: {}
+
citty@0.1.6:
dependencies:
consola: 3.3.1
@@ -14109,6 +15477,8 @@ snapshots:
clean-stack@2.2.0: {}
+ cli-boxes@3.0.0: {}
+
cli-cursor@3.1.0:
dependencies:
restore-cursor: 3.1.0
@@ -14148,6 +15518,10 @@ snapshots:
clone@1.0.4: {}
+ clsx@2.1.1: {}
+
+ collapse-white-space@2.1.0: {}
+
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
@@ -14178,6 +15552,27 @@ snapshots:
command-exists@1.2.9: {}
+ command-line-args@5.2.1:
+ dependencies:
+ array-back: 3.1.0
+ find-replace: 3.0.0
+ lodash.camelcase: 4.3.0
+ typical: 4.0.0
+
+ command-line-args@6.0.1:
+ dependencies:
+ array-back: 6.2.2
+ find-replace: 5.0.2
+ lodash.camelcase: 4.3.0
+ typical: 7.3.0
+
+ command-line-usage@7.0.3:
+ dependencies:
+ array-back: 6.2.2
+ chalk-template: 0.4.0
+ table-layout: 4.1.1
+ typical: 7.3.0
+
commander@11.1.0: {}
commander@13.1.0: {}
@@ -14190,6 +15585,8 @@ snapshots:
comment-parser@1.4.1: {}
+ common-ancestor-path@1.0.1: {}
+
common-tags@1.8.2: {}
commondir@1.0.1: {}
@@ -14238,6 +15635,8 @@ snapshots:
cookie-es@1.2.2: {}
+ cookie@0.7.2: {}
+
copy-anything@2.0.6:
dependencies:
is-what: 3.14.1
@@ -14296,6 +15695,8 @@ snapshots:
domutils: 3.1.0
nth-check: 2.1.1
+ css-selector-parser@3.0.5: {}
+
css-tree@2.2.1:
dependencies:
mdn-data: 2.0.28
@@ -14381,6 +15782,8 @@ snapshots:
whatwg-url: 14.0.0
optional: true
+ date-fns@4.1.0: {}
+
de-indent@1.0.2: {}
debug@2.6.9:
@@ -14408,6 +15811,8 @@ snapshots:
deep-eql@5.0.2: {}
+ deep-extend@0.6.0: {}
+
deep-is@0.1.4: {}
deepmerge@4.3.1: {}
@@ -14457,10 +15862,18 @@ snapshots:
detect-node@2.1.0:
optional: true
+ deterministic-object-hash@2.0.2:
+ dependencies:
+ base-64: 1.0.0
+
+ devalue@5.1.1: {}
+
devlop@1.1.0:
dependencies:
dequal: 2.0.3
+ diff@5.2.0: {}
+
dir-compare@3.3.0:
dependencies:
buffer-equal: 1.0.1
@@ -14471,6 +15884,8 @@ snapshots:
minimatch: 3.1.2
p-limit: 3.1.0
+ direction@2.0.1: {}
+
discord-api-types@0.37.115: {}
discord.js@14.17.3(bufferutil@4.0.9)(utf-8-validate@5.0.10):
@@ -14491,6 +15906,8 @@ snapshots:
- bufferutil
- utf-8-validate
+ dlv@1.1.3: {}
+
dmg-builder@25.1.8(electron-builder-squirrel-windows@24.13.3):
dependencies:
app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@24.13.3)
@@ -14583,6 +16000,8 @@ snapshots:
pg: 8.13.1
react: 18.3.1
+ dset@3.1.4: {}
+
duplexer@0.1.2: {}
earcut@2.2.4: {}
@@ -14819,6 +16238,20 @@ snapshots:
d: 1.0.2
ext: 1.7.0
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.14.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
esbuild-register@3.6.0(esbuild@0.19.12):
dependencies:
debug: 4.4.0
@@ -15302,6 +16735,35 @@ snapshots:
estraverse@5.3.0: {}
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.4
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.0
+
estree-walker@1.0.1: {}
estree-walker@2.0.2: {}
@@ -15364,10 +16826,19 @@ snapshots:
strip-final-newline: 4.0.0
yoctocolors: 2.1.1
+ expand-template@2.0.3: {}
+
expect-type@1.1.0: {}
exponential-backoff@3.1.1: {}
+ expressive-code@0.40.1:
+ dependencies:
+ '@expressive-code/core': 0.40.1
+ '@expressive-code/plugin-frames': 0.40.1
+ '@expressive-code/plugin-shiki': 0.40.1
+ '@expressive-code/plugin-text-markers': 0.40.1
+
ext@1.7.0:
dependencies:
type: 2.7.3
@@ -15395,6 +16866,8 @@ snapshots:
fast-diff@1.3.0: {}
+ fast-fifo@1.3.2: {}
+
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -15463,6 +16936,14 @@ snapshots:
make-dir: 3.1.0
pkg-dir: 4.2.0
+ find-replace@3.0.0:
+ dependencies:
+ array-back: 3.1.0
+
+ find-replace@5.0.2: {}
+
+ find-up-simple@1.0.0: {}
+
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@@ -15473,6 +16954,11 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
+ find-yarn-workspace-root2@1.2.16:
+ dependencies:
+ micromatch: 4.0.8
+ pkg-dir: 4.2.0
+
flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
@@ -15480,8 +16966,12 @@ snapshots:
flatbuffers@1.12.0: {}
+ flatbuffers@24.12.23: {}
+
flatted@3.3.1: {}
+ flattie@1.1.1: {}
+
for-each@0.3.3:
dependencies:
is-callable: 1.2.7
@@ -15639,6 +17129,10 @@ snapshots:
pathe: 1.1.2
tar: 6.2.1
+ github-from-package@0.0.0: {}
+
+ github-slugger@2.0.0: {}
+
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
@@ -15810,6 +17304,128 @@ snapshots:
dependencies:
function-bind: 1.1.2
+ hast-util-embedded@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-is-element: 3.0.0
+
+ hast-util-format@1.1.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-embedded: 3.0.0
+ hast-util-minify-whitespace: 1.0.1
+ hast-util-phrasing: 3.0.1
+ hast-util-whitespace: 3.0.0
+ html-whitespace-sensitive-tag-names: 3.0.1
+ unist-util-visit-parents: 6.0.1
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.2
+ parse5: 7.1.2
+ vfile: 6.0.3
+ vfile-message: 4.0.2
+
+ hast-util-from-parse5@8.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.0
+ devlop: 1.1.0
+ hastscript: 9.0.0
+ property-information: 6.5.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
+ hast-util-has-property@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-is-body-ok-link@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-minify-whitespace@1.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-embedded: 3.0.0
+ hast-util-is-element: 3.0.0
+ hast-util-whitespace: 3.0.0
+ unist-util-is: 6.0.0
+
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-phrasing@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-embedded: 3.0.0
+ hast-util-has-property: 3.0.0
+ hast-util-is-body-ok-link: 3.0.1
+ hast-util-is-element: 3.0.0
+
+ hast-util-raw@9.1.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.0
+ '@ungap/structured-clone': 1.2.0
+ hast-util-from-parse5: 8.0.2
+ hast-util-to-parse5: 8.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+ parse5: 7.1.2
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-select@6.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.0
+ bcp-47-match: 2.0.3
+ comma-separated-tokens: 2.0.3
+ css-selector-parser: 3.0.5
+ devlop: 1.1.0
+ direction: 2.0.1
+ hast-util-has-property: 3.0.0
+ hast-util-to-string: 3.0.1
+ hast-util-whitespace: 3.0.0
+ nth-check: 2.1.1
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ hast-util-to-estree@3.1.1:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ style-to-object: 1.0.8
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
hast-util-to-html@9.0.4:
dependencies:
'@types/hast': 3.0.4
@@ -15824,10 +17440,59 @@ snapshots:
stringify-entities: 4.0.4
zwitch: 2.0.4
+ hast-util-to-jsx-runtime@2.3.2:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.0
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ style-to-object: 1.0.8
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-parse5@8.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.0
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
hast-util-whitespace@3.0.0:
dependencies:
'@types/hast': 3.0.4
+ hastscript@9.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+
he@1.2.0: {}
hey-listen@1.0.8: {}
@@ -15845,10 +17510,14 @@ snapshots:
whatwg-encoding: 3.1.1
optional: true
+ html-escaper@3.0.3: {}
+
html-tags@3.3.1: {}
html-void-elements@3.0.0: {}
+ html-whitespace-sensitive-tag-names@3.0.1: {}
+
htmlparser2@6.1.0:
dependencies:
domelementtype: 2.3.0
@@ -15909,6 +17578,10 @@ snapshots:
dependencies:
ms: 2.1.3
+ i18next@23.16.8:
+ dependencies:
+ '@babel/runtime': 7.26.7
+
iconv-corefoundation@1.1.7:
dependencies:
cli-truncate: 2.1.0
@@ -15947,6 +17620,8 @@ snapshots:
import-meta-resolve@4.0.0: {}
+ import-meta-resolve@4.1.0: {}
+
importx@0.5.1:
dependencies:
bundle-require: 5.0.0(esbuild@0.24.2)
@@ -15971,6 +17646,10 @@ snapshots:
inherits@2.0.4: {}
+ ini@1.3.8: {}
+
+ inline-style-parser@0.2.4: {}
+
internal-slot@1.0.5:
dependencies:
get-intrinsic: 1.2.4
@@ -15984,6 +17663,13 @@ snapshots:
iron-webcrypto@1.2.1: {}
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
is-array-buffer@3.0.2:
dependencies:
call-bind: 1.0.7
@@ -16025,6 +17711,8 @@ snapshots:
dependencies:
has-tostringtag: 1.0.0
+ is-decimal@2.0.1: {}
+
is-docker@2.2.1: {}
is-docker@3.0.0: {}
@@ -16045,6 +17733,8 @@ snapshots:
dependencies:
is-extglob: 2.1.1
+ is-hexadecimal@2.0.1: {}
+
is-inside-container@1.0.0:
dependencies:
is-docker: 3.0.0
@@ -16213,6 +17903,8 @@ snapshots:
jsesc@3.0.2: {}
+ json-bignum@0.0.3: {}
+
json-buffer@3.0.1: {}
json-parse-even-better-errors@2.3.1: {}
@@ -16266,6 +17958,8 @@ snapshots:
kleur@3.0.3: {}
+ kleur@4.1.5: {}
+
klona@2.0.6:
optional: true
@@ -16367,6 +18061,13 @@ snapshots:
load-tsconfig@0.2.5: {}
+ load-yaml-file@0.2.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
+
local-pkg@0.5.1:
dependencies:
mlly: 1.7.3
@@ -16385,6 +18086,8 @@ snapshots:
dependencies:
p-locate: 5.0.0
+ lodash.camelcase@4.3.0: {}
+
lodash.debounce@4.0.8: {}
lodash.defaults@4.2.0: {}
@@ -16463,6 +18166,12 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
+ magicast@0.3.5:
+ dependencies:
+ '@babel/parser': 7.26.7
+ '@babel/types': 7.26.7
+ source-map-js: 1.2.1
+
make-dir@2.1.0:
dependencies:
pify: 4.0.1
@@ -16497,6 +18206,8 @@ snapshots:
make-synchronized@0.2.9: {}
+ markdown-extensions@2.0.0: {}
+
markdown-it-async@2.0.0:
dependencies:
'@types/markdown-it': 14.1.2
@@ -16520,6 +18231,26 @@ snapshots:
escape-string-regexp: 4.0.0
optional: true
+ mdast-util-definitions@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.0
+ unist-util-visit: 5.0.0
+
+ mdast-util-directive@3.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.0
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-visit-parents: 6.0.1
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-find-and-replace@3.0.1:
dependencies:
'@types/mdast': 4.0.4
@@ -16601,6 +18332,55 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.0
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-phrasing@4.1.0:
dependencies:
'@types/mdast': 4.0.4
@@ -16667,6 +18447,16 @@ snapshots:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.1
+ micromark-extension-directive@3.0.2:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ parse-entities: 4.0.2
+
micromark-extension-gfm-autolink-literal@2.1.0:
dependencies:
micromark-util-character: 2.1.1
@@ -16725,6 +18515,58 @@ snapshots:
micromark-util-combine-extensions: 2.0.1
micromark-util-types: 2.0.1
+ micromark-extension-mdx-expression@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.2
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+
+ micromark-extension-mdx-jsx@3.0.1:
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.2
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ vfile-message: 4.0.2
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.1
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.2
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ micromark-extension-mdx-expression: 3.0.0
+ micromark-extension-mdx-jsx: 3.0.1
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.1
+
micromark-factory-destination@2.0.1:
dependencies:
micromark-util-character: 2.1.1
@@ -16738,6 +18580,18 @@ snapshots:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.1
+ micromark-factory-mdx-expression@2.0.2:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
micromark-factory-space@2.0.1:
dependencies:
micromark-util-character: 2.1.1
@@ -16790,6 +18644,17 @@ snapshots:
micromark-util-encode@2.0.1: {}
+ micromark-util-events-to-acorn@2.0.2:
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.6
+ '@types/unist': 3.0.0
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ vfile-message: 4.0.2
+
micromark-util-html-tag-name@2.0.1: {}
micromark-util-normalize-identifier@2.0.1:
@@ -16929,6 +18794,8 @@ snapshots:
mitt@3.0.1: {}
+ mkdirp-classic@0.5.3: {}
+
mkdirp@1.0.4: {}
mkdirp@3.0.1: {}
@@ -16980,6 +18847,8 @@ snapshots:
nanoid@5.0.9: {}
+ napi-build-utils@2.0.0: {}
+
natural-compare@1.4.0: {}
natural-orderby@5.0.0: {}
@@ -16992,8 +18861,14 @@ snapshots:
negotiator@0.6.4: {}
+ neotraverse@0.6.18: {}
+
next-tick@1.1.0: {}
+ nlcst-to-string@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+
node-abi@3.73.0:
dependencies:
semver: 7.6.3
@@ -17004,6 +18879,8 @@ snapshots:
node-addon-api@5.1.0:
optional: true
+ node-addon-api@6.1.0: {}
+
node-addon-api@7.1.1: {}
node-api-version@0.2.0:
@@ -17260,6 +19137,10 @@ snapshots:
dependencies:
yocto-queue: 0.1.0
+ p-limit@6.2.0:
+ dependencies:
+ yocto-queue: 1.1.1
+
p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
@@ -17272,6 +19153,13 @@ snapshots:
dependencies:
aggregate-error: 3.1.0
+ p-queue@8.1.0:
+ dependencies:
+ eventemitter3: 5.0.1
+ p-timeout: 6.1.4
+
+ p-timeout@6.1.4: {}
+
p-try@2.2.0: {}
package-json-from-dist@1.0.1: {}
@@ -17282,6 +19170,14 @@ snapshots:
packrup@0.1.2: {}
+ pagefind@1.3.0:
+ optionalDependencies:
+ '@pagefind/darwin-arm64': 1.3.0
+ '@pagefind/darwin-x64': 1.3.0
+ '@pagefind/linux-arm64': 1.3.0
+ '@pagefind/linux-x64': 1.3.0
+ '@pagefind/windows-x64': 1.3.0
+
pako@1.0.11: {}
pako@2.1.0: {}
@@ -17293,6 +19189,16 @@ snapshots:
parse-cache-control@1.0.1:
optional: true
+ parse-entities@4.0.2:
+ dependencies:
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.0.2
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
parse-gitignore@2.0.0: {}
parse-imports@2.1.1:
@@ -17307,6 +19213,15 @@ snapshots:
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
+ parse-latin@7.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ '@types/unist': 3.0.0
+ nlcst-to-string: 4.0.0
+ unist-util-modify-children: 4.0.0
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.3
+
parse-ms@4.0.0: {}
parse-node-version@1.0.1:
@@ -17315,7 +19230,6 @@ snapshots:
parse5@7.1.2:
dependencies:
entities: 4.5.0
- optional: true
path-browserify@1.0.1: {}
@@ -17406,8 +19320,7 @@ snapshots:
pify@2.3.0: {}
- pify@4.0.1:
- optional: true
+ pify@4.0.1: {}
pinia@2.3.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)):
dependencies:
@@ -17696,6 +19609,27 @@ snapshots:
potpack@1.0.2: {}
+ prebuild-install@7.1.3:
+ dependencies:
+ detect-libc: 2.0.3
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.8
+ mkdirp-classic: 0.5.3
+ napi-build-utils: 2.0.0
+ node-abi: 3.73.0
+ pump: 3.0.2
+ rc: 1.2.8
+ simple-get: 4.0.1
+ tar-fs: 2.1.2
+ tunnel-agent: 0.6.0
+
+ preferred-pm@4.1.1:
+ dependencies:
+ find-up-simple: 1.0.0
+ find-yarn-workspace-root2: 1.2.16
+ which-pm: 3.0.1
+
prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.0:
@@ -17718,6 +19652,8 @@ snapshots:
ffmpeg-static: 5.2.0
opusscript: 0.1.1
+ prismjs@1.29.0: {}
+
process-nextick-args@2.0.1: {}
process@0.11.10: {}
@@ -17823,6 +19759,13 @@ snapshots:
defu: 6.1.4
destr: 2.0.3
+ rc@1.2.8:
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+
react@18.3.1:
dependencies:
loose-envify: 1.4.0
@@ -17899,6 +19842,36 @@ snapshots:
real-cancellable-promise@1.2.0: {}
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.0(acorn@8.14.0):
+ dependencies:
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - acorn
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
refa@0.12.1:
dependencies:
'@eslint-community/regexpp': 4.12.1
@@ -17909,11 +19882,11 @@ snapshots:
regenerate@1.4.2: {}
- regenerator-runtime@0.13.11: {}
+ regenerator-runtime@0.14.1: {}
regenerator-transform@0.15.2:
dependencies:
- '@babel/runtime': 7.21.5
+ '@babel/runtime': 7.26.7
regex-recursion@5.1.1:
dependencies:
@@ -17958,12 +19931,75 @@ snapshots:
dependencies:
jsesc: 3.0.2
+ rehype-expressive-code@0.40.1:
+ dependencies:
+ expressive-code: 0.40.1
+
+ rehype-format@5.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-format: 1.1.0
+
+ rehype-parse@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-html: 2.0.3
+ unified: 11.0.5
+
+ rehype-raw@7.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-raw: 9.1.0
+ vfile: 6.0.3
+
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
rehype-stringify@10.0.1:
dependencies:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.4
unified: 11.0.5
+ rehype@13.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ rehype-parse: 9.0.1
+ rehype-stringify: 10.0.1
+ unified: 11.0.5
+
+ remark-directive@3.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-directive: 3.1.0
+ micromark-extension-directive: 3.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-gfm@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.0.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.0:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
remark-parse@11.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -17981,6 +20017,19 @@ snapshots:
unified: 11.0.5
vfile: 6.0.3
+ remark-smartypants@3.0.2:
+ dependencies:
+ retext: 9.0.0
+ retext-smartypants: 6.2.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
+
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
@@ -18015,6 +20064,31 @@ snapshots:
onetime: 6.0.0
signal-exit: 4.1.0
+ retext-latin@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.5
+
+ retext-smartypants@6.2.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-visit: 5.0.0
+
+ retext-stringify@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unified: 11.0.5
+
+ retext@9.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ retext-latin: 4.0.0
+ retext-stringify: 4.0.0
+ unified: 11.0.5
+
retry@0.12.0: {}
reusify@1.0.4: {}
@@ -18180,6 +20254,8 @@ snapshots:
semver@7.6.3: {}
+ semver@7.7.1: {}
+
serialize-error@7.0.1:
dependencies:
type-fest: 0.13.1
@@ -18208,6 +20284,19 @@ snapshots:
setimmediate@1.0.5: {}
+ sharp@0.32.6:
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.3
+ node-addon-api: 6.1.0
+ prebuild-install: 7.1.3
+ semver: 7.6.3
+ simple-get: 4.0.1
+ tar-fs: 3.0.8
+ tunnel-agent: 0.6.0
+ transitivePeerDependencies:
+ - bare-buffer
+
sharp@0.33.5:
dependencies:
color: 4.2.3
@@ -18240,6 +20329,17 @@ snapshots:
shebang-regex@3.0.0: {}
+ shiki@1.29.2:
+ dependencies:
+ '@shikijs/core': 1.29.2
+ '@shikijs/engine-javascript': 1.29.2
+ '@shikijs/engine-oniguruma': 1.29.2
+ '@shikijs/langs': 1.29.2
+ '@shikijs/themes': 1.29.2
+ '@shikijs/types': 1.29.2
+ '@shikijs/vscode-textmate': 10.0.1
+ '@types/hast': 3.0.4
+
shiki@2.2.0:
dependencies:
'@shikijs/core': 2.2.0
@@ -18264,6 +20364,14 @@ snapshots:
signal-exit@4.1.0: {}
+ simple-concat@1.0.1: {}
+
+ simple-get@4.0.1:
+ dependencies:
+ decompress-response: 6.0.0
+ once: 1.4.0
+ simple-concat: 1.0.1
+
simple-git-hooks@2.11.1: {}
simple-swizzle@0.2.2:
@@ -18282,6 +20390,13 @@ snapshots:
sisteransi@1.0.5: {}
+ sitemap@8.0.0:
+ dependencies:
+ '@types/node': 17.0.45
+ '@types/sax': 1.2.7
+ arg: 5.0.2
+ sax: 1.4.1
+
slash@5.1.0:
optional: true
@@ -18310,6 +20425,8 @@ snapshots:
smob@1.5.0: {}
+ smol-toml@1.3.1: {}
+
socks-proxy-agent@7.0.0:
dependencies:
agent-base: 6.0.2
@@ -18390,6 +20507,15 @@ snapshots:
store2@2.14.4: {}
+ stream-replace-string@2.0.0: {}
+
+ streamx@2.22.0:
+ dependencies:
+ fast-fifo: 1.3.2
+ text-decoder: 1.2.3
+ optionalDependencies:
+ bare-events: 2.5.4
+
string-argv@0.3.2: {}
string-width@4.2.3:
@@ -18410,6 +20536,12 @@ snapshots:
get-east-asian-width: 1.2.0
strip-ansi: 7.1.0
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.3.0
+ get-east-asian-width: 1.2.0
+ strip-ansi: 7.1.0
+
string.prototype.matchall@4.0.8:
dependencies:
call-bind: 1.0.7
@@ -18470,6 +20602,8 @@ snapshots:
strip-bom-string@1.0.0: {}
+ strip-bom@3.0.0: {}
+
strip-comments@2.0.1: {}
strip-final-newline@2.0.0: {}
@@ -18482,6 +20616,8 @@ snapshots:
dependencies:
min-indent: 1.0.1
+ strip-json-comments@2.0.1: {}
+
strip-json-comments@3.1.1: {}
strip-literal@2.1.1:
@@ -18492,6 +20628,10 @@ snapshots:
dependencies:
escape-string-regexp: 1.0.5
+ style-to-object@1.0.8:
+ dependencies:
+ inline-style-parser: 0.2.4
+
style-value-types@5.1.2:
dependencies:
hey-listen: 1.0.8
@@ -18545,8 +20685,30 @@ snapshots:
system-architecture@0.1.0: {}
+ table-layout@4.1.1:
+ dependencies:
+ array-back: 6.2.2
+ wordwrapjs: 5.1.0
+
tapable@2.2.1: {}
+ tar-fs@2.1.2:
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.2
+ tar-stream: 2.2.0
+
+ tar-fs@3.0.8:
+ dependencies:
+ pump: 3.0.2
+ tar-stream: 3.1.7
+ optionalDependencies:
+ bare-fs: 4.0.1
+ bare-path: 3.0.0
+ transitivePeerDependencies:
+ - bare-buffer
+
tar-stream@2.2.0:
dependencies:
bl: 4.1.0
@@ -18555,6 +20717,12 @@ snapshots:
inherits: 2.0.4
readable-stream: 3.6.2
+ tar-stream@3.1.7:
+ dependencies:
+ b4a: 1.6.7
+ fast-fifo: 1.3.2
+ streamx: 2.22.0
+
tar@6.2.1:
dependencies:
chownr: 2.0.0
@@ -18628,6 +20796,10 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
+ text-decoder@1.2.3:
+ dependencies:
+ b4a: 1.6.7
+
three-custom-shader-material@5.4.0(react@18.3.1)(three@0.173.0):
dependencies:
glsl-token-functions: 1.0.1
@@ -18750,6 +20922,10 @@ snapshots:
ts-mixer@6.0.4: {}
+ tsconfck@3.1.5(typescript@5.7.3):
+ optionalDependencies:
+ typescript: 5.7.3
+
tslib@2.4.0: {}
tslib@2.8.1: {}
@@ -18761,6 +20937,10 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ tunnel-agent@0.6.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
@@ -18776,6 +20956,8 @@ snapshots:
type-fest@0.8.1: {}
+ type-fest@4.33.0: {}
+
type@2.7.3: {}
typed-array-buffer@1.0.0:
@@ -18814,10 +20996,16 @@ snapshots:
typescript@5.7.3: {}
+ typical@4.0.0: {}
+
+ typical@7.3.0: {}
+
uc.micro@2.1.0: {}
ufo@1.5.4: {}
+ ultrahtml@1.5.3: {}
+
unbox-primitive@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -18973,18 +21161,41 @@ snapshots:
dependencies:
crypto-random-string: 2.0.0
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.0
+ unist-util-is: 6.0.0
+
unist-util-is@6.0.0:
dependencies:
'@types/unist': 3.0.0
+ unist-util-modify-children@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.0
+ array-iterate: 2.0.1
+
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.0
+
unist-util-position@5.0.0:
dependencies:
'@types/unist': 3.0.0
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.0
+ unist-util-visit: 5.0.0
+
unist-util-stringify-position@4.0.0:
dependencies:
'@types/unist': 3.0.0
+ unist-util-visit-children@3.0.0:
+ dependencies:
+ '@types/unist': 3.0.0
+
unist-util-visit-parents@6.0.1:
dependencies:
'@types/unist': 3.0.0
@@ -19027,7 +21238,7 @@ snapshots:
- supports-color
- vue
- unplugin-auto-import@19.0.0(@nuxt/kit@3.14.1592(rollup@2.79.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@2.79.1):
+ unplugin-auto-import@19.0.0(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@2.79.1):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@2.79.1)
@@ -19037,12 +21248,12 @@ snapshots:
unimport: 3.14.5(rollup@2.79.1)
unplugin: 2.1.2
optionalDependencies:
- '@nuxt/kit': 3.14.1592(rollup@2.79.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@2.79.1)
'@vueuse/core': 12.5.0(typescript@5.7.3)
transitivePeerDependencies:
- rollup
- unplugin-auto-import@19.0.0(@nuxt/kit@3.14.1592(rollup@4.34.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@4.34.1):
+ unplugin-auto-import@19.0.0(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(@vueuse/core@12.5.0(typescript@5.7.3))(rollup@4.34.1):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.34.1)
@@ -19052,7 +21263,7 @@ snapshots:
unimport: 3.14.5(rollup@4.34.1)
unplugin: 2.1.2
optionalDependencies:
- '@nuxt/kit': 3.14.1592(rollup@4.34.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.34.1)
'@vueuse/core': 12.5.0(typescript@5.7.3)
transitivePeerDependencies:
- rollup
@@ -19071,7 +21282,7 @@ snapshots:
unplugin: 1.16.1
vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
- unplugin-vue-components@28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(rollup@2.79.1))(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3)):
+ unplugin-vue-components@28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@2.79.1)
@@ -19086,12 +21297,12 @@ snapshots:
vue: 3.5.13(typescript@5.7.3)
optionalDependencies:
'@babel/parser': 7.26.7
- '@nuxt/kit': 3.14.1592(rollup@2.79.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@2.79.1)
transitivePeerDependencies:
- rollup
- supports-color
- unplugin-vue-components@28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(rollup@4.34.1))(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3)):
+ unplugin-vue-components@28.0.0(@babel/parser@7.26.7)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(rollup@4.34.1)(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.34.1)
@@ -19106,7 +21317,7 @@ snapshots:
vue: 3.5.13(typescript@5.7.3)
optionalDependencies:
'@babel/parser': 7.26.7
- '@nuxt/kit': 3.14.1592(rollup@4.34.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.34.1)
transitivePeerDependencies:
- rollup
- supports-color
@@ -19300,6 +21511,17 @@ snapshots:
acorn: 8.14.0
webpack-virtual-modules: 0.6.2
+ unstorage@1.14.4:
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 3.6.0
+ destr: 2.0.3
+ h3: 1.14.0
+ lru-cache: 10.4.3
+ node-fetch-native: 1.6.4
+ ofetch: 1.4.1
+ ufo: 1.5.4
+
untun@0.1.3:
dependencies:
citty: 0.1.6
@@ -19375,6 +21597,11 @@ snapshots:
extsprintf: 1.4.1
optional: true
+ vfile-location@5.0.3:
+ dependencies:
+ '@types/unist': 3.0.0
+ vfile: 6.0.3
+
vfile-message@4.0.2:
dependencies:
'@types/unist': 3.0.0
@@ -19430,7 +21657,7 @@ snapshots:
- tsx
- yaml
- vite-plugin-inspect@0.8.9(@nuxt/kit@3.14.1592(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)):
+ vite-plugin-inspect@0.8.9(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@2.79.1)
@@ -19443,12 +21670,12 @@ snapshots:
sirv: 3.0.0
vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
optionalDependencies:
- '@nuxt/kit': 3.14.1592(rollup@2.79.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@2.79.1)
transitivePeerDependencies:
- rollup
- supports-color
- vite-plugin-inspect@0.8.9(@nuxt/kit@3.14.1592(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)):
+ vite-plugin-inspect@0.8.9(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.34.1)
@@ -19461,7 +21688,7 @@ snapshots:
sirv: 3.0.0
vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
optionalDependencies:
- '@nuxt/kit': 3.14.1592(rollup@4.34.1)
+ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.34.1)
transitivePeerDependencies:
- rollup
- supports-color
@@ -19488,7 +21715,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vite-plugin-vue-devtools@7.7.1(@nuxt/kit@3.14.1592(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)):
+ vite-plugin-vue-devtools@7.7.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@vue/devtools-core': 7.7.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
'@vue/devtools-kit': 7.7.1
@@ -19496,7 +21723,7 @@ snapshots:
execa: 9.5.1
sirv: 3.0.0
vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
- vite-plugin-inspect: 0.8.9(@nuxt/kit@3.14.1592(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
+ vite-plugin-inspect: 0.8.9(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
vite-plugin-vue-inspector: 5.3.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
transitivePeerDependencies:
- '@nuxt/kit'
@@ -19504,7 +21731,7 @@ snapshots:
- supports-color
- vue
- vite-plugin-vue-devtools@7.7.1(@nuxt/kit@3.14.1592(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)):
+ vite-plugin-vue-devtools@7.7.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@vue/devtools-core': 7.7.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
'@vue/devtools-kit': 7.7.1
@@ -19512,7 +21739,7 @@ snapshots:
execa: 9.5.1
sirv: 3.0.0
vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
- vite-plugin-inspect: 0.8.9(@nuxt/kit@3.14.1592(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
+ vite-plugin-inspect: 0.8.9(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.1))(rollup@4.34.1)(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
vite-plugin-vue-inspector: 5.3.1(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0))
transitivePeerDependencies:
- '@nuxt/kit'
@@ -19559,6 +21786,10 @@ snapshots:
tsx: 4.19.2
yaml: 2.7.0
+ vitefu@1.0.5(vite@6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)):
+ optionalDependencies:
+ vite: 6.0.11(@types/node@22.13.0)(jiti@2.4.2)(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0)
+
vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.13.0)(jiti@2.4.2)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(less@4.2.1)(terser@5.17.6)(tsx@4.19.2)(yaml@2.7.0):
dependencies:
'@vitest/expect': 3.0.4
@@ -19661,6 +21892,8 @@ snapshots:
dependencies:
defaults: 1.0.4
+ web-namespaces@2.0.1: {}
+
webidl-conversions@3.0.1: {}
webidl-conversions@4.0.2: {}
@@ -19714,6 +21947,12 @@ snapshots:
is-string: 1.0.7
is-symbol: 1.0.4
+ which-pm-runs@1.1.0: {}
+
+ which-pm@3.0.1:
+ dependencies:
+ load-yaml-file: 0.2.0
+
which-typed-array@1.1.11:
dependencies:
available-typed-arrays: 1.0.5
@@ -19739,6 +21978,12 @@ snapshots:
dependencies:
string-width: 4.2.3
+ widest-line@5.0.0:
+ dependencies:
+ string-width: 7.2.0
+
+ wordwrapjs@5.1.0: {}
+
workbox-background-sync@7.3.0:
dependencies:
idb: 7.1.1
@@ -19753,7 +21998,7 @@ snapshots:
'@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
'@babel/core': 7.26.0
'@babel/preset-env': 7.26.0(@babel/core@7.26.0)
- '@babel/runtime': 7.21.5
+ '@babel/runtime': 7.26.7
'@rollup/plugin-babel': 5.3.1(@babel/core@7.26.0)(rollup@2.79.1)
'@rollup/plugin-node-resolve': 15.3.0(rollup@2.79.1)
'@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
@@ -19895,6 +22140,8 @@ snapshots:
xtend@4.0.2: {}
+ xxhash-wasm@1.1.0: {}
+
y18n@5.0.8: {}
yaeti@0.0.6: {}
@@ -19939,6 +22186,12 @@ snapshots:
yocto-queue@0.1.0: {}
+ yocto-queue@1.1.1: {}
+
+ yocto-spinner@0.2.0:
+ dependencies:
+ yoctocolors: 2.1.1
+
yoctocolors@2.1.1: {}
zhead@2.2.4: {}
@@ -19949,6 +22202,15 @@ snapshots:
compress-commons: 4.1.2
readable-stream: 3.6.2
+ zod-to-json-schema@3.24.1(zod@3.24.1):
+ dependencies:
+ zod: 3.24.1
+
+ zod-to-ts@1.2.0(typescript@5.7.3)(zod@3.24.1):
+ dependencies:
+ typescript: 5.7.3
+ zod: 3.24.1
+
zod@3.24.1: {}
zwitch@2.0.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 0f77245ee..42610f48d 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -2,6 +2,7 @@ packages:
- packages/**
- services/**
- examples/**
+ - docs/**
- '!**/dist/**'
catalog:
'@xsai/generate-speech': ^0.0.31