From f3a3e99df26535ce985b68eda81a35e5bf1ee509 Mon Sep 17 00:00:00 2001
From: Takagi <1103069291@qq.com>
Date: Thu, 25 Sep 2025 17:13:54 +0800
Subject: [PATCH 1/9] Update LICENSE.txt
---
LICENSE.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/LICENSE.txt b/LICENSE.txt
index 042baf3..e0861eb 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,8 +1,8 @@
# Open Source License
-SQLBot is licensed under a modified version of the GNU General Public License version 3 (GPLv3), with the following additional conditions:
+UPage is licensed under a modified version of the GNU General Public License version 3 (GPLv3), with the following additional conditions:
-1. LOGO and copyright information: In the process of using SQLBot's frontend, you may not remove or modify the LOGO or copyright information in the SQLBot console or applications.
+1. LOGO and copyright information: In the process of using UPage, you may not remove or modify the LOGO or copyright information in the UPage applications.
2. As a contributor, you should agree that:
From 54d1d656428b307335d5381184032eed7c6fc63a Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Fri, 26 Sep 2025 16:46:52 +0800
Subject: [PATCH 2/9] docs: add upage usage instructions document
---
.env.example | 2 +-
.gitignore | 1 -
Dockerfile | 6 +++++-
README.md | 9 ++++++---
app/lib/.server/auth.ts | 2 +-
docker-compose-dev.yaml | 2 +-
docker-compose-prod.yaml | 2 +-
logto/.env | 4 +++-
logto/docker-compose.yaml | 2 ++
package.json | 11 +++++++----
10 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/.env.example b/.env.example
index a0e3161..29cad77 100644
--- a/.env.example
+++ b/.env.example
@@ -140,7 +140,7 @@ LOGTO_BASE_URL=http://localhost:5173
# 随机任意的 36 位字符串,用于加密 Logto 的 cookie。
LOGTO_COOKIE_SECRET=
# 是否在开发环境中启用 Logto 认证,设置为 false 则在开发环境不强制认证
-LOGTO_ENABLE_DEV=false
+LOGTO_ENABLE=false
# 运行环境,与 NODE_ENV 有所不同, NODE_ENV 在打包时就已确定,而此变量用于某些功能在不同环境下的开放
# development | production | test
OPERATING_ENV=production
diff --git a/.gitignore b/.gitignore
index ea0db88..0f473bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,5 +52,4 @@ mock
# storage
/public/uploads
-
/data/
diff --git a/Dockerfile b/Dockerfile
index 6ffff48..8b3c899 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -32,10 +32,14 @@ RUN pnpm prune --prod --ignore-scripts
FROM node:20.18.0-alpine AS runtime
WORKDIR /app
+ENV OPERATING_ENV=production
ENV NODE_ENV=production
-ENV LOGTO_ENABLE_DEV=false
+ENV LOGTO_ENABLE=false
ENV PORT=3000
ENV HOST=0.0.0.0
+ENV USAGE_LOG_FILE=true
+ENV MAX_UPLOAD_SIZE_MB=5
+ENV LOG_LEVEL=debug
# Use pnpm
RUN corepack enable && corepack prepare pnpm@9.4.0 --activate
diff --git a/README.md b/README.md
index 741ee93..a1e49af 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,16 @@
UPage
-基于人工智能的可视化网页构建平台
+基于大模型的可视化网页构建平台
+
------------------------------
-UPage 是一款基于人工智能的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。
+UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,使用自然语言快速实现定制化网页。
------------------------------
@@ -27,17 +28,19 @@ docker run -d \
--restart unless-stopped \
-p 3000:3000 \
-e LLM_DEFAULT_PROVIDER=OpenAILike \
+ -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
-e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ./data:/app/data \
-v ./logs:/app/logs \
-v ./storage:/app/storage \
- ghcr.io/halo-dev/upage
+ halohub/upage:latest
```
其中参数说明如下:
- `-e LLM_DEFAULT_PROVIDER=OpenAILike`:设置默认的 LLM 提供商为 OpenAILike,即兼容 OpenAI 的 API 接口。
+- `-e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url`:设置 OpenAILike 的 API 基础 URL。
- `-e OPENAI_LIKE_API_KEY=your-openai-like-api-key`:设置 OpenAILike 的 API 密钥。
- `-e LLM_DEFAULT_MODEL=your-default-model`:设置默认的 LLM 模型,用于构建页面。
- `-e LLM_MINOR_MODEL=your-minor-model`:设置次要的 LLM 模型,用于执行其他任务。
diff --git a/app/lib/.server/auth.ts b/app/lib/.server/auth.ts
index 1fc7ba5..216d1a6 100644
--- a/app/lib/.server/auth.ts
+++ b/app/lib/.server/auth.ts
@@ -93,7 +93,7 @@ const config: LogtoConfig = {
const originalLogto = makeLogtoRemix(config, { sessionStorage });
export function shouldEnforceAuth(): boolean {
- return process.env.LOGTO_ENABLE_DEV !== 'false';
+ return process.env.LOGTO_ENABLE !== 'false';
}
function getMockDevUser(): MockUser {
diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml
index 3cfccb9..dc55e18 100644
--- a/docker-compose-dev.yaml
+++ b/docker-compose-dev.yaml
@@ -41,7 +41,7 @@ services:
- LOGTO_APP_SECRET=${LOGTO_APP_SECRET}
- LOGTO_COOKIE_SECRET=${LOGTO_COOKIE_SECRET}
- LOGTO_BASE_URL=${LOGTO_BASE_URL}
- - LOGTO_ENABLE_DEV=${LOGTO_ENABLE_DEV:-false}
+ - LOGTO_ENABLE=${LOGTO_ENABLE:-false}
- USAGE_LOG_FILE=true
- STORAGE_DIR=/app/storage
- MAX_UPLOAD_SIZE_MB=${MAX_UPLOAD_SIZE_MB:-5}
diff --git a/docker-compose-prod.yaml b/docker-compose-prod.yaml
index 890b4bd..3bcef2c 100644
--- a/docker-compose-prod.yaml
+++ b/docker-compose-prod.yaml
@@ -41,7 +41,7 @@ services:
- LOGTO_APP_SECRET=${LOGTO_APP_SECRET}
- LOGTO_COOKIE_SECRET=${LOGTO_COOKIE_SECRET}
- LOGTO_BASE_URL=${LOGTO_BASE_URL}
- - LOGTO_ENABLE_DEV=${LOGTO_ENABLE_DEV:-false}
+ - LOGTO_ENABLE=${LOGTO_ENABLE:-false}
- USAGE_LOG_FILE=${USAGE_LOG_FILE:-true}
- MAX_UPLOAD_SIZE_MB=${MAX_UPLOAD_SIZE_MB:-5}
volumes:
diff --git a/logto/.env b/logto/.env
index 9d638a9..23e39ef 100644
--- a/logto/.env
+++ b/logto/.env
@@ -1,5 +1,7 @@
+TAG=1.31.0
LOGTO_ENDPOINT=
LOGTO_ADMIN_ENDPOINT=
+LOGTO_POSTGRES_PORT=
LOGTO_POSTGRES_PASSWORD=postgres1
LOGTO_CORE_PORT=3001
-LOGTO_ADMIN_PORT=3002
\ No newline at end of file
+LOGTO_ADMIN_PORT=3002
diff --git a/logto/docker-compose.yaml b/logto/docker-compose.yaml
index 3190cfd..d3a9032 100644
--- a/logto/docker-compose.yaml
+++ b/logto/docker-compose.yaml
@@ -20,6 +20,8 @@ services:
postgres:
image: postgres:17-alpine
user: postgres
+ ports:
+ - ${LOGTO_POSTGRES_PORT:-5432}:5432
environment:
POSTGRES_USER: logto
POSTGRES_PASSWORD: ${LOGTO_POSTGRES_PASSWORD}
diff --git a/package.json b/package.json
index 18cabba..1da8636 100644
--- a/package.json
+++ b/package.json
@@ -13,14 +13,17 @@
"check": "biome check --write --no-errors-on-unmatched .",
"check:stage": "biome check --write --staged --no-errors-on-unmatched",
"clean": "node scripts/clean.js",
- "setup": "prisma generate && prisma migrate deploy",
+ "setup": "prisma migrate deploy && prisma generate",
"docker:build": "docker build -t upage-ai:production -t upage-ai:latest --target runtime .",
"docker:dev:run": "docker compose -f docker-compose-dev.yaml up",
"docker:prod:run": "docker compose -f docker-compose-prod.yaml up",
"prepare": "husky || true",
"test": "vitest --run",
"test:watch": "vitest",
- "typecheck": "tsc"
+ "typecheck": "tsc",
+ "docs:start": "pnpm --filter upage-docs run start",
+ "docs:build": "pnpm --filter upage-docs run build",
+ "docs:serve": "pnpm --filter upage-docs run serve"
},
"dependencies": {
"@agentic/ai-sdk": "^8.4.4",
@@ -105,7 +108,8 @@
"unist-util-visit": "^5.0.0",
"winston": "^3.17.0",
"winston-daily-rotate-file": "^5.0.0",
- "zod": "^4.1.11"
+ "zod": "^4.1.11",
+ "node-fetch": "^3.3.2"
},
"devDependencies": {
"@biomejs/biome": "2.2.4",
@@ -130,7 +134,6 @@
"dotenv": "^17.2.2",
"fast-glob": "^3.3.3",
"husky": "9.1.7",
- "node-fetch": "^3.3.2",
"pnpm": "^10.17.1",
"sass-embedded": "^1.93.1",
"typescript": "^5.9.2",
From 793782cd02c718bcc003475d640e58f2d9289d61 Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Fri, 26 Sep 2025 16:47:07 +0800
Subject: [PATCH 3/9] docs: add upage usage instructions document
---
.github/workflows/docs.yaml | 26 +-
docs/.gitignore | 20 +
docs/README.md | 64 +
docs/content/404.md | 22 +
docs/content/changelog.md | 115 +
docs/content/configuration.md | 201 +
docs/content/contributing.md | 199 +
docs/content/deployment/docker-compose.md | 144 +
docs/content/deployment/docker.md | 160 +
docs/content/deployment/logto.md | 138 +
docs/content/deployment/others.md | 40 +
docs/content/deployment/source.md | 229 +
docs/content/faq.md | 286 +
docs/content/index.md | 34 +
docs/content/quick-start.md | 121 +
docs/content/user-guide/ai-page-generation.md | 159 +
docs/content/user-guide/basics.md | 142 +
docs/content/user-guide/page-management.md | 192 +
docs/docusaurus.config.js | 133 +
docs/index.md | 14 -
docs/package.json | 45 +
docs/sidebars.js | 73 +
docs/src/css/custom.css | 30 +
docs/static/img/logo.svg | 4 +
pnpm-lock.yaml | 8113 ++++++++++++++++-
pnpm-workspace.yaml | 3 +
26 files changed, 10637 insertions(+), 70 deletions(-)
create mode 100644 docs/.gitignore
create mode 100644 docs/README.md
create mode 100644 docs/content/404.md
create mode 100644 docs/content/changelog.md
create mode 100644 docs/content/configuration.md
create mode 100644 docs/content/contributing.md
create mode 100644 docs/content/deployment/docker-compose.md
create mode 100644 docs/content/deployment/docker.md
create mode 100644 docs/content/deployment/logto.md
create mode 100644 docs/content/deployment/others.md
create mode 100644 docs/content/deployment/source.md
create mode 100644 docs/content/faq.md
create mode 100644 docs/content/index.md
create mode 100644 docs/content/quick-start.md
create mode 100644 docs/content/user-guide/ai-page-generation.md
create mode 100644 docs/content/user-guide/basics.md
create mode 100644 docs/content/user-guide/page-management.md
create mode 100644 docs/docusaurus.config.js
delete mode 100644 docs/index.md
create mode 100644 docs/package.json
create mode 100644 docs/sidebars.js
create mode 100644 docs/src/css/custom.css
create mode 100644 docs/static/img/logo.svg
create mode 100644 pnpm-workspace.yaml
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index c0f117b..dec4e93 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -20,16 +20,20 @@ jobs:
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- - uses: actions/setup-python@v5
+ - uses: actions/setup-node@v4
with:
- python-version: 3.x
- - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- - uses: actions/cache@v4
- with:
- key: mkdocs-material-${{ env.cache_id }}
- path: .cache
- restore-keys: |
- mkdocs-material-
+ node-version: 18
+ cache: npm
+ cache-dependency-path: docs/package-lock.json
- - run: pip install mkdocs-material
- - run: mkdocs gh-deploy --force
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Build website
+ run: npm run build
+
+ - name: Deploy to GitHub Pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./docs/build
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..b2d6de3
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,20 @@
+# Dependencies
+/node_modules
+
+# Production
+/build
+
+# Generated files
+.docusaurus
+.cache-loader
+
+# Misc
+.DS_Store
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..7cab78c
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,64 @@
+# UPage 文档
+
+这是 UPage 的官方文档网站,基于 [Docusaurus 3](https://docusaurus.io/) 构建。
+
+## 本地开发
+
+```bash
+# 安装依赖
+pnpm install
+
+# 启动本地开发服务器
+pnpm start
+```
+
+此命令会启动本地开发服务器并打开浏览器窗口。大多数更改都会实时反映,无需重新启动服务器。
+
+## 构建
+
+```bash
+# 构建静态网站
+pnpm run build
+```
+
+此命令会在 `build` 目录中生成静态内容,可以使用任何静态内容托管服务进行部署。
+
+## 部署
+
+使用 GitHub Actions 自动部署到 GitHub Pages。每当 `docs` 目录中的文件发生变更并推送到 `main` 分支时,会自动触发部署流程。
+
+## 目录结构
+
+```
+docs/
+├── content/ # 文档 Markdown 文件
+│ ├── index.md # 首页
+│ ├── quick-start.md # 快速开始
+│ ├── deployment/ # 部署指南
+│ ├── user-guide/ # 用户指南
+│ └── ...
+├── src/ # 源代码
+│ ├── css/ # CSS 文件
+│ └── pages/ # 自定义页面
+├── static/ # 静态文件
+│ └── img/ # 图片
+├── docusaurus.config.js # Docusaurus 配置
+├── sidebars.js # 侧边栏配置
+└── package.json # 项目依赖
+```
+
+## 添加新文档
+
+1. 在 `docs` 目录中创建新的 Markdown 文件
+2. 添加前置元数据:
+
+```md
+---
+id: document-id
+title: 文档标题
+---
+
+# 文档内容
+```
+
+3. 更新 `sidebars.js` 文件,将新文档添加到侧边栏中
diff --git a/docs/content/404.md b/docs/content/404.md
new file mode 100644
index 0000000..175d8d8
--- /dev/null
+++ b/docs/content/404.md
@@ -0,0 +1,22 @@
+---
+id: 404-page
+title: 页面未找到
+---
+
+# 页面未找到
+
+很抱歉,您访问的页面不存在。
+
+## 可能的原因
+
+- 链接已过期或被移除
+- URL 输入错误
+- 页面正在建设中
+
+## 您可以尝试
+
+- [返回首页](/)
+- 使用顶部的搜索功能查找相关内容
+- 查看[文档目录](/)浏览所有可用文档
+
+如果您认为这是一个错误,请[提交问题](https://github.com/halo-dev/upage/issues)告诉我们。
diff --git a/docs/content/changelog.md b/docs/content/changelog.md
new file mode 100644
index 0000000..cd4f5eb
--- /dev/null
+++ b/docs/content/changelog.md
@@ -0,0 +1,115 @@
+---
+id: changelog
+title: 更新日志
+---
+
+# 更新日志
+
+本文档记录了 UPage 的版本更新历史,包括新功能、改进和修复的问题。
+
+## 1.0.0 (2025-09-15)
+
+### 🚀 新功能
+
+- **AI 页面生成**:基于自然语言描述生成完整网页
+- **多 AI 提供商支持**:
+ - OpenAI (GPT-3.5/GPT-4)
+ - Anthropic Claude
+ - Google Gemini
+ - 兼容 OpenAI 接口的服务
+ - Ollama (本地模型)
+- **可视化编辑器**:拖拽式页面编辑器,实时预览
+- **组件库**:丰富的预设组件,包括布局、表单、媒体等
+- **响应式设计**:自动适应不同屏幕尺寸
+- **主题系统**:内置多种主题,支持自定义
+- **页面管理**:创建、编辑、复制、删除页面
+- **版本历史**:自动保存页面版本,支持回滚
+- **导出功能**:导出为 HTML/CSS/JS、ZIP、JSON 或 PDF
+- **部署集成**:
+ - Vercel 部署支持
+ - Netlify 部署支持
+- **用户认证**:通过 Logto 实现用户认证和权限管理
+- **Docker 部署**:提供官方 Docker 镜像和 Docker Compose 配置
+
+### 🔧 技术栈
+
+- **前端**:React、TypeScript、Vite、UnoCSS
+- **后端**:Node.js、Express、Remix
+- **数据库**:SQLite
+- **AI 集成**:AI SDK、各大 AI 提供商 API
+- **部署**:Docker、GitHub Actions
+
+## 0.9.0 (2025-08-20)
+
+### 🚀 新功能
+
+- **Beta 版本发布**:首个公开测试版本
+- **核心功能实现**:
+ - AI 页面生成
+ - 可视化编辑器
+ - 页面管理
+ - 导出功能
+- **Docker 部署支持**:提供 Docker 镜像和部署指南
+- **文档系统**:基本使用文档和部署指南
+
+### 🐛 修复
+
+- 修复页面生成时的布局问题
+- 修复组件拖拽在某些浏览器中的兼容性问题
+- 修复导出功能中的资源路径问题
+
+## 0.8.0 (2025-07-15)
+
+### 🚀 新功能
+
+- **Alpha 版本**:内部测试版本
+- **概念验证**:
+ - AI 生成基本页面结构
+ - 简单的可视化编辑
+ - 基本的导出功能
+- **技术选型确定**:
+ - 前端框架和库
+ - AI 集成方案
+ - 部署策略
+
+### 📝 计划
+
+- 完善 AI 生成功能
+- 增强可视化编辑器
+- 添加更多组件和模板
+- 实现部署集成
+- 准备公开测试版本
+
+## 未来计划
+
+以下是 UPage 计划在未来版本中实现的功能:
+
+### 近期计划 (1.x)
+
+- **协作功能**:多用户同时编辑页面
+- **评论和反馈**:页面内评论和反馈系统
+- **更多组件**:扩展组件库,添加更多高级组件
+- **自定义主题编辑器**:可视化主题编辑工具
+- **更多 AI 提供商支持**:增加对更多 AI 模型的支持
+- **性能优化**:提升页面生成和编辑的性能
+- **移动端编辑器**:支持在移动设备上编辑页面
+
+### 中期计划 (2.x)
+
+- **插件系统**:支持第三方插件扩展功能
+- **高级动画**:更丰富的页面动画效果
+- **数据集成**:与外部数据源集成
+- **多语言支持**:界面和生成内容的多语言支持
+- **AI 辅助编程**:生成自定义组件和交互逻辑
+- **高级分析**:页面性能和访问分析
+- **A/B 测试**:内置 A/B 测试功能
+
+### 长期愿景
+
+- **完整网站生成**:从描述生成完整多页面网站
+- **智能内容管理**:AI 辅助的内容创建和管理
+- **无代码应用构建**:扩展至应用程序构建
+- **生态系统**:建立开发者和设计师社区
+- **企业级功能**:满足大型组织的需求
+
+我们欢迎社区参与和贡献,共同推动 UPage 的发展。如果您有功能建议或发现问题,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。
diff --git a/docs/content/configuration.md b/docs/content/configuration.md
new file mode 100644
index 0000000..67abec1
--- /dev/null
+++ b/docs/content/configuration.md
@@ -0,0 +1,201 @@
+---
+id: configuration
+title: 配置参考
+---
+
+# 配置参考
+
+本文档提供了 UPage 的完整配置参考,包括基础配置、AI 提供商配置、认证配置,帮助您根据自己的需求定制和优化 UPage。
+
+UPage 使用环境变量进行配置。您可以通过以下方式设置环境变量:
+
+- 在 Docker 运行命令中使用 `-e` 参数
+- 在 Docker Compose 文件中使用 `environment` 部分
+- 在源码部署中创建 `.env` 文件
+
+## 基础配置
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `PORT` | 服务监听端口 | `3000` | 否 |
+| `NODE_ENV` | Node.js 环境 | `production` | 否 |
+| `OPERATING_ENV` | 运行环境 | `production` | 否 |
+| `LOG_LEVEL` | 日志级别(debug, info, warn, error) | `info` | 否 |
+| `USAGE_LOG_FILE` | 是否开启文件日志 | `true` | 否 |
+| `MAX_UPLOAD_SIZE_MB` | 附件上传的最大大小 (MB) | `5` | 否 |
+| `STORAGE_DIR` | 资源文件存储位置 | `/app/storage` | 否 |
+
+## AI 提供商配置
+
+### AI 基础配置
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | LLM 提供商,根据需要配置一个 | - | 是 |
+| `LLM_DEFAULT_MODEL` | 生成页面所使用的模型 | - | 是 |
+| `LLM_MINOR_MODEL` | 辅助页面生成所使用的模型 | - | 是 |
+| `LLM_ENABLED_PROVIDERS` | 启用的 LLM 提供商列表(逗号分隔) | 所有支持的提供商 | 否 |
+
+### DeepSeek
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | DeepSeek 提供商名称 | Deepseek | 是 |
+| `DEEPSEEK_API_KEY` | DeepSeek API 密钥 | - | 是(如果使用 DeepSeek) |
+
+### OpenAI
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | OpenAI 提供商名称 | OpenAI | 是 |
+| `OPENAI_API_KEY` | OpenAI API 密钥 | - | 是(如果使用 OpenAI) |
+
+### Anthropic Claude
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Anthropic 提供商 | Anthropic | 是 |
+| `ANTHROPIC_API_KEY` | Anthropic API 密钥 | - | 是(如果使用 Anthropic) |
+| `ANTHROPIC_API_BASE_URL` | Anthropic API 基础 URL | `https://api.anthropic.com` | 否 |
+
+### 兼容 OpenAI 接口的服务
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `OPENAI_LIKE_API_KEY` | API 密钥 | - | 是(如果使用 OpenAILike) |
+| `OPENAI_LIKE_API_BASE_URL` | API 基础 URL | - | 是(如果使用 OpenAILike) |
+| `OPENAI_LIKE_ORGANIZATION_ID` | 组织 ID | - | 否 |
+
+### Ollama
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `OLLAMA_API_BASE_URL` | Ollama API 基础 URL | `http://localhost:11434` | 是(如果使用 Ollama) |
+
+### Groq
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `GROQ_API_KEY` | Groq API 密钥 | - | 是(如果使用 Groq) |
+
+### HuggingFace
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `HuggingFace_API_KEY` | HuggingFace API 密钥 | - | 是(如果使用 HuggingFace) |
+
+### OpenRouter
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `OPEN_ROUTER_API_KEY` | OpenRouter API 密钥 | - | 是(如果使用 OpenRouter) |
+
+### Google Gemini
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `GOOGLE_API_KEY` | Google API 密钥 | - | 是(如果使用 Google) |
+| `GOOGLE_API_BASE_URL` | Google API 基础 URL | `https://generativelanguage.googleapis.com` | 否 |
+
+## 认证配置
+
+### Logto 认证
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LOGTO_ENABLE` | 是否启用 Logto 认证 | `false` | 否 |
+| `LOGTO_ENDPOINT` | Logto 服务的 URL | - | 是(如果使用 Logto) |
+| `LOGTO_APP_ID` | Logto 应用程序 ID | - | 是(如果使用 Logto) |
+| `LOGTO_APP_SECRET` | Logto 应用程序密钥 | - | 是(如果使用 Logto) |
+| `LOGTO_COOKIE_SECRET` | 用于加密 cookie 的密钥 | - | 是(如果使用 Logto) |
+| `LOGTO_BASE_URL` | UPage 地址 | - | 是(如果使用 Logto) |
+
+:::info
+Logto 集成请参阅 [Logto 认证集成](./deployment/logto)文档。
+:::
+
+## 配置示例
+
+### 基本配置示例
+
+```bash
+# 基础配置
+PORT=3000
+NODE_ENV=production
+LOG_LEVEL=info
+
+# AI 提供商配置
+LLM_DEFAULT_PROVIDER=OpenAI
+OPENAI_API_KEY=your-openai-api-key
+LLM_DEFAULT_MODEL=gpt-4-turbo
+LLM_MINOR_MODEL=gpt-3.5-turbo
+```
+
+### 完整的 Docker Compose 配置示例
+
+```yaml
+version: "3.9"
+services:
+ upage:
+ image: ghcr.io/halo-dev/upage:latest
+ container_name: upage
+ restart: unless-stopped
+ ports:
+ - "3000:3000"
+ environment:
+ # 基础配置
+ - PORT=3000
+ - NODE_ENV=production
+ - OPERATING_ENV=production
+ - LOG_LEVEL=info
+ - USAGE_LOG_FILE=true
+ - MAX_UPLOAD_SIZE_MB=10
+ - STORAGE_DIR=/app/storage
+
+ # AI 提供商配置
+ - LLM_DEFAULT_PROVIDER=OpenAI
+ - OPENAI_API_KEY=your-openai-api-key
+ - LLM_DEFAULT_MODEL=gpt-4-turbo
+ - LLM_MINOR_MODEL=gpt-3.5-turbo
+
+ # Logto 认证配置
+ - LOGTO_ENABLE=true
+ - LOGTO_ENDPOINT=http://logto:3001
+ - LOGTO_APP_ID=your-app-id
+ - LOGTO_APP_SECRET=your-app-secret
+ - LOGTO_COOKIE_SECRET=your-cookie-secret
+ - LOGTO_BASE_URL=https://api.upage.io
+ volumes:
+ - ./data:/app/data
+ - ./logs:/app/logs
+ - ./storage:/app/storage
+```
+
+## 多环境配置
+
+### 开发环境
+
+```bash
+NODE_ENV=development
+OPERATING_ENV=development
+LOG_LEVEL=debug
+PORT=3000
+```
+
+### 测试环境
+
+```bash
+NODE_ENV=production
+OPERATING_ENV=testing
+LOG_LEVEL=info
+PORT=3000
+```
+
+### 生产环境
+
+```bash
+NODE_ENV=production
+OPERATING_ENV=production
+LOG_LEVEL=warn
+PORT=3000
+```
diff --git a/docs/content/contributing.md b/docs/content/contributing.md
new file mode 100644
index 0000000..d64aef6
--- /dev/null
+++ b/docs/content/contributing.md
@@ -0,0 +1,199 @@
+---
+id: contributing
+title: 贡献指南
+---
+
+# 贡献指南
+
+感谢您对 UPage 项目的关注!我们非常欢迎各种形式的贡献,无论是功能开发、bug 修复、文档改进还是使用反馈。本指南将帮助您了解如何参与 UPage 的开发和贡献。
+
+## 行为准则
+
+参与 UPage 项目的所有贡献者都应遵循以下行为准则:
+
+- 尊重所有参与者,无论其背景、经验或观点
+- 接受建设性的批评和反馈
+- 专注于对社区最有利的事情
+- 展现同理心和善意
+
+## 贡献方式
+
+您可以通过多种方式为 UPage 做出贡献:
+
+### 报告问题
+
+如果您发现了 bug 或有功能建议,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。提交问题时,请尽可能提供以下信息:
+
+- 清晰的问题描述
+- 复现步骤
+- 预期行为与实际行为
+- 截图(如适用)
+- 环境信息(浏览器、操作系统、UPage 版本等)
+
+### 提交代码
+
+如果您想直接贡献代码,请遵循以下步骤:
+
+1. Fork 项目仓库
+2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`)
+3. 提交您的更改 (`git commit -m 'Add some amazing feature'`)
+4. 推送到分支 (`git push origin feature/amazing-feature`)
+5. 创建 Pull Request
+
+### 改进文档
+
+文档对于任何项目都至关重要。您可以通过以下方式改进 UPage 的文档:
+
+- 修复文档中的错误或不准确之处
+- 添加缺失的信息或示例
+- 改进文档的结构和可读性
+- 翻译文档到其他语言
+
+### 分享和推广
+
+您也可以通过以下方式支持 UPage:
+
+- 在社交媒体上分享项目
+- 撰写关于 UPage 的博客文章或教程
+- 在相关论坛和社区中推荐 UPage
+- 为项目加星标(Star)
+
+## 开发环境设置
+
+### 前置条件
+
+开始开发 UPage 前,请确保您的系统满足以下要求:
+
+- Node.js 18.18.0 或更高版本
+- pnpm 9.4.0 或更高版本
+- Git
+
+### 克隆仓库
+
+```bash
+git clone https://github.com/halo-dev/upage.git
+cd upage
+```
+
+### 安装依赖
+
+```bash
+pnpm install
+```
+
+### 启动开发服务器
+
+```bash
+pnpm dev
+```
+
+此命令会启动开发服务器,您可以通过 `http://localhost:3000` 访问。
+
+### 构建项目
+
+```bash
+pnpm build
+```
+
+### 运行测试
+
+```bash
+pnpm test
+```
+
+## 代码规范
+
+### JavaScript/TypeScript 规范
+
+UPage 使用 [Biome](https://biomejs.dev/) 进行代码格式化和 linting。在提交代码前,请确保您的代码符合项目的代码规范:
+
+```bash
+pnpm check
+```
+
+您也可以使用以下命令自动修复格式问题:
+
+```bash
+pnpm check --write
+```
+
+### Git 提交规范
+
+我们使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范来格式化 Git 提交信息。提交信息应遵循以下格式:
+
+```
+():
+
+[optional body]
+
+[optional footer(s)]
+```
+
+常用的 `type` 包括:
+
+- `feat`: 新功能
+- `fix`: 修复 bug
+- `docs`: 文档更新
+- `style`: 代码风格更改(不影响代码功能)
+- `refactor`: 代码重构
+- `perf`: 性能优化
+- `test`: 添加或修改测试
+- `chore`: 构建过程或辅助工具的变动
+
+例如:
+
+```
+feat(editor): 添加拖拽调整组件大小功能
+
+添加了一个新的拖拽句柄,允许用户直接调整组件的大小。
+同时优化了调整过程中的性能。
+
+Closes #123
+```
+
+## 分支策略
+
+- `main`: 主分支,包含稳定的代码
+- `develop`: 开发分支,包含最新的开发代码
+- `feature/*`: 功能分支,用于开发新功能
+- `fix/*`: 修复分支,用于修复 bug
+- `release/*`: 发布分支,用于准备新版本发布
+
+请基于 `develop` 分支创建您的功能或修复分支,并在完成后向 `develop` 分支提交 Pull Request。
+
+## Pull Request 流程
+
+1. 确保您的代码符合项目的代码规范
+2. 更新相关文档(如适用)
+3. 添加或更新测试(如适用)
+4. 确保所有测试通过
+5. 提交 Pull Request 到 `develop` 分支
+6. 在 PR 描述中详细说明您的更改
+
+## 版本发布流程
+
+UPage 遵循 [语义化版本控制](https://semver.org/) 规范。版本号格式为 `X.Y.Z`:
+
+- `X`: 主版本号,当进行不兼容的 API 更改时递增
+- `Y`: 次版本号,当添加向后兼容的功能时递增
+- `Z`: 修订号,当进行向后兼容的 bug 修复时递增
+
+## 文档贡献
+
+UPage 的文档使用 [Docusaurus](https://docusaurus.io/) 构建。如果您想贡献文档,请遵循以下步骤:
+
+1. 在 `docs` 目录中找到相关的 Markdown 文件
+2. 进行必要的更改
+3. 在本地预览更改:`pnpm docs:start`
+4. 提交 Pull Request
+
+## 社区
+
+加入 UPage 社区,与其他贡献者交流:
+
+- [GitHub Discussions](https://github.com/halo-dev/upage/discussions)
+- [GitHub Issues](https://github.com/halo-dev/upage/issues)
+
+## 许可证
+
+UPage 采用 [MIT 许可证](https://github.com/halo-dev/upage/blob/main/LICENSE)。通过贡献代码,您同意您的贡献将在相同的许可证下发布。
diff --git a/docs/content/deployment/docker-compose.md b/docs/content/deployment/docker-compose.md
new file mode 100644
index 0000000..510c7f9
--- /dev/null
+++ b/docs/content/deployment/docker-compose.md
@@ -0,0 +1,144 @@
+---
+id: docker-compose
+title: Docker Compose 部署
+---
+
+# Docker Compose 部署
+
+本文档详细介绍如何使用 Docker Compose 部署 UPage,这是一种更便捷的方式来管理 UPage 的部署。
+
+## 前置条件
+在开始之前,请确保您的系统满足以下要求:
+- Docker 已安装(推荐 Docker 20.10.0 或更高版本)
+- Docker Compose 已安装(推荐 Docker Compose 1.29.0 或更高版本)
+- 至少 2GB 可用内存
+- 至少 2GB 可用磁盘空间
+- 互联网连接(用于拉取 Docker 镜像和访问大模型 API)
+
+### 安装 Docker 和 Docker Compose
+
+如果您的系统未安装 Docker,请参考[Docker 官方文档](https://docs.docker.com/engine/install/)进行安装。
+如果您的系统未安装 Docker Compose,请参考[Docker Compose 官方文档](https://docs.docker.com/compose/install/)进行安装。
+
+## 使用 Docker Compose 部署
+
+### 准备目录
+
+创建必要的目录用于持久化数据,例如 `~/upage`:
+
+```bash
+mkdir -p ~/upage/data
+mkdir -p ~/upage/logs
+mkdir -p ~/upage/storage
+cd ~/upage
+```
+:::tip
+UPage 所有数据与日志均存储在此目录中,请妥善保管。
+:::
+
+### 创建配置文件
+创建 `docker-compose.yml` 文件:
+
+```yaml
+version: "3.9"
+services:
+ upage:
+ image: upage-ai:production
+ restart: unless-stopped
+ ports:
+ - "${PORT:-3000}:3000"
+ environment:
+ - OPENAI_LIKE_API_BASE_URL=${OPENAI_LIKE_API_BASE_URL}
+ - OPENAI_LIKE_API_KEY=${OPENAI_LIKE_API_KEY}
+ - LLM_DEFAULT_PROVIDER=${LLM_DEFAULT_PROVIDER}
+ - LLM_DEFAULT_MODEL=${LLM_DEFAULT_MODEL}
+ - LLM_MINOR_MODEL=${LLM_MINOR_MODEL}
+ volumes:
+ - ./data:/app/data
+ - ./logs:/app/logs
+ - ./storage:/app/storage
+
+volumes:
+ upage-db:
+```
+
+### 启动服务
+
+在 `docker-compose.yml` 文件所在目录执行:
+
+```bash
+docker-compose up -d
+```
+
+### 服务管理
+
+使用 Docker Compose 管理服务的常用命令:
+
+```bash
+# 启动服务
+docker-compose up -d
+
+# 停止服务
+docker-compose down
+
+# 重启服务
+docker-compose restart
+
+# 查看服务日志
+docker-compose logs
+
+# 查看服务状态
+docker-compose ps
+```
+
+## 环境变量配置
+
+UPage 支持通过环境变量进行配置。以下是一些比较重要的环境变量:
+
+:::tip
+完整的配置请参考[配置参考](../configuration)。
+:::
+
+### 基础配置
+
+| 环境变量 | 描述 | 默认值 |
+| --- | --- | --- |
+| `PORT` | 服务监听端口 | `3000` |
+| `NODE_ENV` | Node.js 环境 | `production` |
+| `OPERATING_ENV` | 运行环境 | `production` |
+| `LOG_LEVEL` | 日志级别 | `debug` |
+| `USAGE_LOG_FILE` | 是否开启文件日志 | `true` |
+| `MAX_UPLOAD_SIZE_MB` | 附件上传的最大大小 (MB) | `5` |
+| `STORAGE_DIR` | 资源文件存储位置 | `/app/storage` |
+
+### 模型提供商配置
+根据您选择的 AI 提供商,您还需要配置相应的 API 密钥和基础 URL,例如:
+
+| 环境变量 | 描述 | 必填 | 示例 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | 默认 LLM 提供商 | 是 | `OpenAILike` |
+| `OPENAI_LIKE_API_BASE_URL` | OpenAI 兼容 API 基础 URL | 是 | `https://your-api-base-url` |
+| `OPENAI_LIKE_API_KEY` | OpenAI 兼容 API 密钥 | 是 | `your-openai-like-api-key` |
+
+### 大模型配置
+
+| 环境变量 | 描述 | 必填 | 示例 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_MODEL` | 生成页面所使用的主要模型 | 是 | `gpt-4-turbo` |
+| `LLM_MINOR_MODEL` | 辅助页面生成所使用的次级模型 | 是 | `gpt-3.5-turbo` |
+
+## 升级 UPage
+
+当有新版本发布时,您可以按照以下步骤升级 UPage:
+
+```bash
+docker-compose pull
+docker-compose down
+docker-compose up -d
+```
+
+## 下一步
+
+- 阅读[用户指南](user-guide/basics)学习如何使用 UPage 创建网页
+- 探索[配置参考](configuration)了解所有可用的配置选项
+- 探索[Logto 认证集成](logto)了解如何集成 Logto 实现用户认证
diff --git a/docs/content/deployment/docker.md b/docs/content/deployment/docker.md
new file mode 100644
index 0000000..9f0c97e
--- /dev/null
+++ b/docs/content/deployment/docker.md
@@ -0,0 +1,160 @@
+---
+id: docker
+title: Docker 部署
+---
+
+# Docker 部署
+
+本文档详细介绍如何使用 Docker 部署 UPage。
+
+## 前置条件
+在开始之前,请确保您的系统满足以下要求:
+- Docker 已安装(推荐 Docker 20.10.0 或更高版本)
+- 至少 2GB 可用内存
+- 至少 2GB 可用磁盘空间
+- 互联网连接(用于拉取 Docker 镜像和访问大模型 API)
+
+### 安装 Docker
+
+如果您的系统未安装 Docker,请参考[Docker 官方文档](https://docs.docker.com/engine/install/)进行安装。
+
+## 使用 Docker 部署
+
+### 拉取镜像
+
+首先,拉取 UPage 的最新 Docker 镜像:
+
+```bash
+docker pull halohub/upage:latest
+```
+
+您也可以使用特定版本的镜像,例如:
+
+```bash
+docker pull halohub/upage:1.0.0
+```
+
+### 准备目录
+
+创建必要的目录用于持久化数据,例如 `~/upage`:
+
+```bash
+mkdir -p ~/upage/data
+mkdir -p ~/upage/logs
+mkdir -p ~/upage/storage
+```
+:::tip
+UPage 所有数据与日志均存储在此目录中,请妥善保管。
+:::
+
+### 启动容器
+
+使用以下命令启动 UPage 容器:
+
+```bash
+docker run -d \
+ --name upage \
+ --restart unless-stopped \
+ -p 3000:3000 \
+ -e LLM_DEFAULT_PROVIDER=OpenAILike \
+ -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
+ -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_DEFAULT_MODEL=your-default-model \
+ -e LLM_MINOR_MODEL=your-minor-model \
+ -v ~/upage/data:/app/data \
+ -v ~/upage/logs:/app/logs \
+ -v ~/upage/storage:/app/storage \
+ halohub/upage:latest
+```
+
+### 容器管理
+
+常用的容器管理命令:
+
+```bash
+# 停止容器
+docker stop upage
+
+# 启动容器
+docker start upage
+
+# 重启容器
+docker restart upage
+
+# 查看容器日志
+docker logs upage
+
+# 查看容器状态
+docker ps -a | grep upage
+```
+
+## 环境变量配置
+
+UPage 支持通过环境变量进行配置。以下是一些比较重要的环境变量,均可以使用 `-e` 参数在启动容器时设置:
+
+:::tip
+完整的配置请参考[配置参考](../configuration)。
+:::
+
+### 基础配置
+
+| 环境变量 | 描述 | 默认值 |
+| --- | --- | --- |
+| `PORT` | 服务监听端口 | `3000` |
+| `NODE_ENV` | Node.js 环境 | `production` |
+| `OPERATING_ENV` | 运行环境 | `production` |
+| `LOG_LEVEL` | 日志级别 | `debug` |
+| `USAGE_LOG_FILE` | 是否开启文件日志 | `true` |
+| `MAX_UPLOAD_SIZE_MB` | 附件上传的最大大小 (MB) | `5` |
+| `STORAGE_DIR` | 资源文件存储位置 | `/app/storage` |
+
+### 模型提供商配置
+根据您选择的 AI 提供商,您还需要配置相应的 API 密钥和基础 URL,例如:
+
+| 环境变量 | 描述 | 必填 | 示例 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | 默认 LLM 提供商 | 是 | `OpenAILike` |
+| `OPENAI_LIKE_API_BASE_URL` | OpenAI 兼容 API 基础 URL | 是 | `https://your-api-base-url` |
+| `OPENAI_LIKE_API_KEY` | OpenAI 兼容 API 密钥 | 是 | `your-openai-like-api-key` |
+
+### 大模型配置
+
+| 环境变量 | 描述 | 必填 | 示例 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_MODEL` | 生成页面所使用的主要模型 | 是 | `gpt-4-turbo` |
+| `LLM_MINOR_MODEL` | 辅助页面生成所使用的次级模型 | 是 | `gpt-3.5-turbo` |
+
+## 升级 UPage
+
+当有新版本发布时,您可以按照以下步骤升级 UPage:
+
+```bash
+# 拉取最新镜像
+docker pull halohub/upage:latest
+
+# 停止并删除旧容器
+docker stop upage
+docker rm upage
+
+# 使用新镜像启动容器(使用与之前相同的环境变量和挂载)
+docker run -d \
+ --name upage \
+ --restart unless-stopped \
+ -p 3000:3000 \
+ -e LLM_DEFAULT_PROVIDER=OpenAILike \
+ -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
+ -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_DEFAULT_MODEL=your-default-model \
+ -e LLM_MINOR_MODEL=your-minor-model \
+ -v ~/upage/data:/app/data \
+ -v ~/upage/logs:/app/logs \
+ -v ~/upage/storage:/app/storage \
+ halohub/upage:latest
+```
+
+## 下一步
+
+- 阅读[用户指南](../user-guide/basics)学习如何使用 UPage 创建网页
+- 探索[配置参考](../configuration)了解所有可用的配置选项
+- 探索[Logto 认证集成](./logto)了解如何集成 Logto 实现用户认证
+
diff --git a/docs/content/deployment/logto.md b/docs/content/deployment/logto.md
new file mode 100644
index 0000000..2a5a58f
--- /dev/null
+++ b/docs/content/deployment/logto.md
@@ -0,0 +1,138 @@
+---
+id: logto
+title: Logto 认证集成
+---
+
+# Logto 认证集成
+
+:::info
+UPage 默认仅支持单一匿名用户访问,但您可以通过集成 Logto 实现用户认证,支持多用户登录
+:::
+
+UPage 支持与 [Logto](https://logto.io/) 集成,提供完整的用户认证体系。本文档将指导您如何配置 UPage 与 Logto 的集成。
+
+## 什么是 Logto?
+
+Logto 是一个开源的身份验证和授权解决方案,提供了完整的用户管理、身份验证和授权功能。通过与 Logto 集成,UPage 可以支持用户注册、登录、密码重置等功能,同时提供基于角色的访问控制。
+
+## Logto 接入方式
+
+Logto 支持两种接入方式,您可以根据自己的需求选择合适的方式。
+
+1. 使用 Logto 官方提供的托管服务 - Logto Cloud。
+2. 本地部署开源版 Logto 服务。
+
+:::info
+两种方式仅在接入方式上有所区别,在配置上完全一致。
+:::
+
+### 使用官方托管服务
+
+访问 [Logto 官方网站](https://logto.io/),注册一个账号即可进行下一步操作。
+
+### 本地部署 Logto
+
+UPage 提供了一个简化的 Logto 部署配置。在 UPage 项目目录下,您可以找到 `logto/docker-compose.yaml` 文件以及 `.env` 文件。
+
+```bash
+curl -L https://raw.githubusercontent.com/halo-dev/upage/refs/heads/main/logto/docker-compose.yaml -o ~/upage/logto/docker-compose.yaml
+curl -L https://raw.githubusercontent.com/halo-dev/upage/refs/heads/main/logto/.env -o ~/upage/logto/.env
+cd ~/upage/logto
+docker-compose up -d
+```
+
+这将启动 Logto 服务,默认情况下可以通过 `http://localhost:3002` 访问 Logto 管理控制台。
+
+:::caution
+在生产环境部署时,请务必修改 `.env` 文件中的 `LOGTO_ENDPOINT` 、 `LOGTO_ADMIN_ENDPOINT` 以及 `LOGTO_POSTGRES_PASSWORD` 配置。
+:::
+
+## 配置 Logto
+
+1. 访问 Logto 管理控制台,
+2. 创建一个新的应用程序:
+ - 应用类型:传统网页应用
+ - 应用名称:UPage
+ - 重定向 URIs:`http://${UPAGE_URL}/api/auth/callback`
+ - 退出登录后重定向 URIs:`http://${UPAGE_URL}`
+ - CORS 允许的来源:`http://${UPAGE_URL}`
+ - 其他配置根据实际情况填写
+3. 记录应用程序的 ID 和密钥,这些将用于配置 UPage
+
+## 配置 UPage 与 Logto 集成
+
+### 环境变量配置
+
+在 UPage 的环境变量中配置 Logto 相关参数:
+
+```bash
+# 启用 Logto 认证
+LOGTO_ENABLE=true
+# Logto LOGTO_ENDPOINT 地址
+LOGTO_ENDPOINT=http://localhost:3001
+# Logto 应用程序 ID
+LOGTO_APP_ID=your-app-id
+# Logto 应用程序密钥
+LOGTO_APP_SECRET=your-app-secret
+# Logto 用于加密 cookie 的密钥,随机生成一个 32 位密钥即可
+LOGTO_COOKIE_SECRET=your-cookie-secret
+# 填写 UPage 地址,根据实际部署地址修改
+LOGTO_BASE_URL=http://localhost:3000
+```
+
+如果使用 Docker compose 部署 UPage,在 `docker-compose.yml` 文件中添加这些环境变量:
+
+```yaml
+services:
+ upage:
+ # ... 其他配置
+ environment:
+ # ... 其他环境变量
+ - LOGTO_ENABLE=true
+ - LOGTO_ENDPOINT=http://logto:3001
+ - LOGTO_APP_ID=your-app-id
+ - LOGTO_APP_SECRET=your-app-secret
+ - LOGTO_COOKIE_SECRET=your-cookie-secret
+ - LOGTO_BASE_URL=http://localhost:3000
+```
+
+### 配置说明
+
+| 环境变量 | 描述 | 示例 |
+| --- | --- | --- |
+| `LOGTO_ENABLE` | 是否启用 Logto 认证 | `true` |
+| `LOGTO_ENDPOINT` | Logto 服务的 URL | `http://localhost:3001` |
+| `LOGTO_APP_ID` | Logto 应用程序 ID | `your-app-id` |
+| `LOGTO_APP_SECRET` | Logto 应用程序密钥 | `your-app-secret` |
+| `LOGTO_COOKIE_SECRET` | 用于加密 cookie 的密钥 | `00bf44b6ceaa648eca6ad172f0cd8c8c` |
+| `LOGTO_BASE_URL` | UPage 地址 | `http://localhost:3000` |
+
+## Logto 使用技巧
+
+:::tip
+UPage 集成 Logto 步骤已完成,以下内容是 Logto 的特殊使用技巧,供扩展阅读,如无定制化需求可忽略。
+:::
+
+### 自定义登录界面
+
+Logto 提供了自定义登录界面的功能:
+
+1. 在 Logto 管理控制台中,导航到"外观"
+2. 自定义登录页面的样式、颜色和品牌元素
+3. 预览并保存更改
+
+### 配置社交登录
+
+Logto 支持多种社交登录方式:
+
+1. 在 Logto 管理控制台中,导航到"连接器"
+2. 添加社交登录连接器(如 Google、GitHub、微信等)
+3. 按照向导完成配置
+
+### 配置多因素认证
+
+启用多因素认证以提高安全性:
+
+1. 在 Logto 管理控制台中,导航到"安全"
+2. 启用多因素认证
+3. 配置多因素认证方式(如 TOTP、短信等)
diff --git a/docs/content/deployment/others.md b/docs/content/deployment/others.md
new file mode 100644
index 0000000..f56de31
--- /dev/null
+++ b/docs/content/deployment/others.md
@@ -0,0 +1,40 @@
+---
+id: others
+title: 其他配置
+---
+
+# 其他配置
+
+本文档提供了部署 UPage 时的一些其他配置选项和最佳实践。
+
+## 使用 Nginx 反向代理
+
+如果您需要使用 Nginx 作为反向代理,可以参考以下配置:
+
+```nginx
+server {
+ listen 80;
+ server_name your-domain.com;
+
+ location / {
+ proxy_pass http://localhost:3000;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+}
+```
+
+## 配置 HTTPS
+
+建议使用 Nginx 或其他反向代理来处理 HTTPS 请求。您可以使用 Let's Encrypt 获取免费的 SSL 证书。
+
+## 数据备份
+
+UPage 的数据存储在挂载的 `data` 目录中,您可以定期备份该目录来保护您的数据:
+
+```bash
+# 备份数据目录
+tar -czf upage-data-backup-$(date +%Y%m%d).tar.gz ./upage/data
+```
diff --git a/docs/content/deployment/source.md b/docs/content/deployment/source.md
new file mode 100644
index 0000000..7cf6f58
--- /dev/null
+++ b/docs/content/deployment/source.md
@@ -0,0 +1,229 @@
+---
+id: source
+title: 源码部署
+---
+
+# 源码部署
+
+本文档详细介绍如何从源码构建和部署 UPage。如果您希望自定义 UPage 或者参与开发,这是最合适的部署方式。
+
+## 前置条件
+
+在开始之前,请确保您的系统满足以下要求:
+
+- Node.js 18.18.0 或更高版本
+- pnpm 9.4.0 或更高版本
+- Git
+
+## 下载并构建代码
+
+### 克隆代码库
+
+首先,克隆 UPage 的代码库:
+
+```bash
+git clone https://github.com/halo-dev/upage.git
+cd upage
+```
+
+### 安装依赖
+
+使用 pnpm 安装项目依赖:
+
+```bash
+pnpm install
+```
+
+### 配置环境变量
+
+拷贝 `.env.example` 文件,创建 `.env` 文件:
+
+```bash
+cp .env.example .env
+```
+
+配置必要的环境变量:
+
+```bash
+# 基础配置
+PORT=3000
+NODE_ENV=production
+OPERATING_ENV=production
+LOG_LEVEL=info
+USAGE_LOG_FILE=true
+MAX_UPLOAD_SIZE_MB=5
+STORAGE_DIR=./storage
+
+# AI 提供商配置
+LLM_DEFAULT_PROVIDER=OpenAILike
+OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url
+OPENAI_LIKE_API_KEY=your-openai-like-api-key
+LLM_DEFAULT_MODEL=your-default-model
+LLM_MINOR_MODEL=your-minor-model
+```
+
+您可以根据需要配置不同的 AI 提供商,详细配置请参考[配置参考](../configuration)。
+
+### 生成 Prisma 客户端
+
+```bash
+pnpm setup
+```
+
+## 开发模式使用
+
+如果您想在开发模式下运行 UPage,可以使用以下命令:
+
+```bash
+pnpm dev
+```
+
+开发服务器启动后,您可以通过浏览器访问:
+
+```
+http://localhost:5173
+```
+
+这将启动开发服务器,支持热重载,方便您进行开发和调试。
+
+## 生产模式使用
+
+构建 UPage 项目:
+
+```bash
+pnpm build
+```
+
+### 启动服务
+
+启动 UPage 服务:
+
+```bash
+pnpm preview
+```
+
+服务启动后,您可以通过浏览器访问:
+
+```
+http://localhost:3000
+```
+
+## 使用 PM2 管理服务(可选)
+
+在生产环境中,可以使用 PM2 来管理 Node.js 应用程序:
+
+### 全局安装 PM2
+
+```bash
+npm install -g pm2
+```
+
+### 创建 PM2 配置文件
+
+创建 `ecosystem.config.js` 文件:
+
+```javascript
+module.exports = {
+ apps: [{
+ name: 'upage',
+ script: './server.mjs',
+ instances: 1,
+ autorestart: true,
+ watch: false,
+ max_memory_restart: '1G',
+ env: {
+ NODE_ENV: 'production',
+ OPERATING_ENV: 'production',
+ PORT: 3000,
+ LLM_DEFAULT_PROVIDER: 'OpenAILike',
+ OPENAI_LIKE_API_BASE_URL: 'your-openai-like-api-base-url',
+ OPENAI_LIKE_API_KEY: 'your-openai-like-api-key',
+ LLM_DEFAULT_MODEL: 'your-default-model',
+ LLM_MINOR_MODEL: 'your-minor-model',
+ }
+ }]
+};
+```
+
+### 启动服务
+
+```bash
+pm2 start ecosystem.config.js
+```
+
+### 查看日志
+
+```bash
+pm2 logs upage
+```
+
+### 监控服务
+
+```bash
+pm2 monit
+```
+
+## 升级 UPage
+
+当有新版本发布时,您可以按照以下步骤升级 UPage:
+
+```bash
+# 拉取最新代码
+git pull origin main
+
+# 安装依赖
+pnpm install
+
+# 构建项目
+pnpm build
+
+# 开发环境使用
+pnpm dev
+
+# 生产环境使用
+pnpm preview
+
+# 或者如果使用 PM2
+pm2 restart upage
+```
+
+## 故障排除
+
+### 依赖安装失败
+
+如果依赖安装失败,可以尝试清除 pnpm 缓存:
+
+```bash
+pnpm store prune
+pnpm install
+```
+
+### 构建失败
+
+如果构建失败,可以尝试清除构建缓存:
+
+```bash
+pnpm clean
+pnpm build
+```
+
+### 数据库错误
+
+如果遇到数据库相关错误,可以尝试重新初始化数据库
+
+```bash
+pnpm prisma migrate reset
+```
+
+:::danger
+请注意,这将清空所有数据并重置数据库,切勿在生产环境中使用。
+:::
+
+### 日志查看
+
+检查日志文件以获取更多错误信息:
+
+```bash
+cat logs/combined-*.log
+cat logs/error-*.log
+```
diff --git a/docs/content/faq.md b/docs/content/faq.md
new file mode 100644
index 0000000..884e7f5
--- /dev/null
+++ b/docs/content/faq.md
@@ -0,0 +1,286 @@
+---
+id: faq
+title: 常见问题
+---
+
+# 常见问题
+
+本文档整理了使用 UPage 时的常见问题和解答,帮助您快速解决可能遇到的问题。
+
+## 基本问题
+
+### UPage 是什么?
+
+UPage 是一款基于人工智能的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。它允许用户通过简单的文字描述生成完整的网页,并提供可视化编辑工具进行进一步定制。
+
+### UPage 适合哪些用户?
+
+UPage 适合各类需要快速创建网页的用户,包括但不限于:
+
+- 开发者:快速创建原型和演示页面
+- 设计师:将设计理念转化为实际网页
+- 内容创作者:创建展示内容的网页
+- 营销人员:制作营销着陆页
+- 小企业主:创建企业网站和产品展示页面
+- 教育工作者:制作教学资源和课程页面
+
+### UPage 是开源的吗?
+
+是的,UPage 是一个开源项目,采用 MIT 许可证。您可以在 [GitHub](https://github.com/halo-dev/upage) 上查看源代码,也可以参与项目开发和改进。
+
+## 安装和部署
+
+### 如何安装 UPage?
+
+UPage 提供多种安装方式,最简单的方法是使用 Docker:
+
+```bash
+docker run -d \
+ --name upage \
+ --restart unless-stopped \
+ -p 3000:3000 \
+ -e LLM_DEFAULT_PROVIDER=OpenAILike \
+ -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_DEFAULT_MODEL=your-default-model \
+ -e LLM_MINOR_MODEL=your-minor-model \
+ -v ./data:/app/data \
+ -v ./logs:/app/logs \
+ -v ./storage:/app/storage \
+ ghcr.io/halo-dev/upage
+```
+
+详细的安装说明请参考[快速开始](quick-start)文档。
+
+### UPage 的系统要求是什么?
+
+UPage 的最低系统要求:
+
+- Docker 20.10.0 或更高版本(如果使用 Docker 部署)
+- Node.js 18.18.0 或更高版本(如果源码部署)
+- 至少 2GB 可用内存
+- 至少 1GB 可用磁盘空间
+- 互联网连接(用于访问 AI API)
+
+### 如何更新 UPage?
+
+如果使用 Docker 部署,可以按照以下步骤更新 UPage:
+
+```bash
+# 拉取最新镜像
+docker pull ghcr.io/halo-dev/upage:latest
+
+# 停止并删除旧容器
+docker stop upage
+docker rm upage
+
+# 使用新镜像启动容器(使用与之前相同的环境变量和挂载)
+docker run -d \
+ --name upage \
+ --restart unless-stopped \
+ -p 3000:3000 \
+ ... # 其他环境变量和挂载
+ ghcr.io/halo-dev/upage:latest
+```
+
+如果使用 Docker Compose,则可以执行:
+
+```bash
+docker-compose pull
+docker-compose down
+docker-compose up -d
+```
+
+## AI 集成
+
+### UPage 支持哪些 AI 提供商?
+
+UPage 支持多种 AI 提供商,包括:
+
+- OpenAI(GPT-3.5、GPT-4 等)
+- Anthropic Claude
+- Google Gemini
+- 兼容 OpenAI 接口的服务(如 Azure OpenAI、智谱 AI 等)
+- Ollama(本地部署的开源模型)
+
+### 如何配置 AI 提供商?
+
+通过环境变量配置 AI 提供商,例如:
+
+```bash
+# OpenAI
+-e LLM_DEFAULT_PROVIDER=OpenAI \
+-e OPENAI_API_KEY=your-openai-api-key \
+-e LLM_DEFAULT_MODEL=gpt-4-turbo \
+-e LLM_MINOR_MODEL=gpt-3.5-turbo
+
+# Anthropic Claude
+-e LLM_DEFAULT_PROVIDER=Anthropic \
+-e ANTHROPIC_API_KEY=your-anthropic-api-key \
+-e LLM_DEFAULT_MODEL=claude-3-opus-20240229 \
+-e LLM_MINOR_MODEL=claude-3-haiku-20240307
+```
+
+详细的配置选项请参考[配置参考](configuration)文档。
+
+### 使用 AI 生成页面需要多少 token?
+
+生成一个标准页面通常需要 2,000-10,000 个 token,具体取决于页面的复杂度和内容量。复杂的页面可能需要更多 token。UPage 会优化 prompt,尽量减少 token 消耗。
+
+### 如何优化 AI 提示以获得更好的结果?
+
+有效的 AI 提示应该:
+
+- 明确指定页面类型和目的
+- 列出所需的主要组件和内容
+- 描述设计风格和布局偏好
+- 提供具体的内容示例或要求
+- 使用清晰、具体的语言
+
+例如:
+```
+创建一个现代风格的产品登录页面,用于展示我们的智能手表产品。页面应包含:
+1. 顶部导航栏,带有品牌标志和菜单
+2. 醒目的标题和副标题,强调产品的主要卖点
+3. 产品图片展示区,包含至少3张不同角度的产品图
+...
+```
+
+## 使用问题
+
+### 如何创建第一个页面?
+
+1. 登录 UPage
+2. 点击侧边栏中的"新建页面"按钮
+3. 选择"AI 创建"、"从模板创建"或"空白页面"
+4. 如果选择 AI 创建,输入页面描述并点击"生成"
+5. 等待 AI 生成页面,然后进行进一步编辑
+
+### 如何编辑 AI 生成的页面?
+
+1. 在页面列表中选择要编辑的页面
+2. 使用可视化编辑器修改页面元素
+3. 可以拖拽组件、调整布局、编辑文本和图片
+4. 使用右侧属性面板修改组件属性和样式
+5. 也可以使用 AI 辅助功能进行局部或整体调整
+
+### 如何导出页面?
+
+1. 在页面列表中选择要导出的页面
+2. 点击操作菜单中的"导出"选项
+3. 选择导出格式(HTML/CSS/JS、ZIP、JSON 或 PDF)
+4. 配置导出选项
+5. 点击"导出"开始下载
+
+### UPage 支持响应式设计吗?
+
+是的,UPage 生成的页面默认支持响应式设计,可以自动适应不同屏幕尺寸。您可以在编辑器中预览页面在不同设备上的显示效果,并进行针对性调整。
+
+## 数据和安全
+
+### UPage 如何存储数据?
+
+UPage 使用 SQLite 数据库存储页面数据和用户配置,存储在挂载的 `data` 目录中。上传的文件和资源存储在挂载的 `storage` 目录中。日志文件存储在挂载的 `logs` 目录中。
+
+### 如何备份 UPage 数据?
+
+备份 UPage 数据的最简单方法是备份挂载的数据目录:
+
+```bash
+# 备份数据目录
+tar -czf upage-data-backup-$(date +%Y%m%d).tar.gz ./data
+
+# 备份存储目录
+tar -czf upage-storage-backup-$(date +%Y%m%d).tar.gz ./storage
+```
+
+### UPage 如何处理用户隐私?
+
+UPage 本身不会收集或传输用户数据,除非明确配置。当使用 AI 功能时,页面内容会发送到配置的 AI 提供商进行处理。请确保您使用的 AI 提供商符合您的隐私要求。
+
+### 如何配置 UPage 的访问控制?
+
+UPage 支持通过 Logto 进行用户认证和访问控制。配置 Logto 后,您可以创建用户账户、分配角色和权限,实现细粒度的访问控制。详细配置请参考[Logto 认证集成](deployment/logto)文档。
+
+## 故障排除
+
+### 页面生成失败怎么办?
+
+如果页面生成失败,可能的原因和解决方法:
+
+1. **AI API 连接问题**:检查网络连接和 API 密钥是否正确
+2. **提示过于复杂**:尝试简化页面描述,分步骤生成
+3. **token 限制**:检查是否达到 AI 提供商的 token 限制
+4. **模型不支持**:尝试使用更强大的模型或不同的 AI 提供商
+
+### 如何查看系统日志?
+
+可以通过以下方式查看系统日志:
+
+```bash
+# 查看容器日志
+docker logs upage
+
+# 查看错误日志文件
+cat logs/error-*.log
+
+# 查看所有日志文件
+cat logs/combined-*.log
+```
+
+### 如何解决数据库错误?
+
+如果遇到数据库相关错误,可以尝试:
+
+1. 检查数据目录的权限:`chmod -R 755 ./data`
+2. 备份并重新初始化数据库:
+ ```bash
+ # 备份当前数据库
+ cp ./data/upage.db ./data/upage.db.bak
+
+ # 删除并重新初始化
+ rm ./data/upage.db
+ docker restart upage
+ ```
+
+### 容器无法启动怎么办?
+
+如果 Docker 容器无法启动,可以尝试:
+
+1. 检查日志:`docker logs upage`
+2. 验证环境变量:确保所有必需的环境变量都已正确设置
+3. 检查磁盘空间:确保有足够的磁盘空间
+4. 检查端口冲突:确保端口 3000 没有被其他服务占用
+5. 检查文件权限:确保挂载的目录具有正确的权限
+
+## 高级问题
+
+### 如何自定义 UPage 的主题?
+
+目前 UPage 不支持完全自定义主题,但您可以通过以下方式调整外观:
+
+1. 在页面编辑器中使用自定义 CSS
+2. 使用 AI 生成符合特定设计风格的页面
+3. 在导出的代码中进行进一步自定义
+
+### UPage 支持插件系统吗?
+
+目前 UPage 不提供正式的插件系统,但作为开源项目,您可以通过 fork 代码库并进行修改来扩展功能。
+
+### 如何与现有系统集成?
+
+UPage 提供多种集成方式:
+
+1. **API 集成**:使用 UPage API 与其他系统交互
+2. **导出集成**:导出页面代码并集成到现有系统
+3. **部署集成**:使用 Vercel 或 Netlify 集成直接部署页面
+4. **认证集成**:通过 Logto 与现有认证系统集成
+
+### UPage 与其他页面构建器的区别是什么?
+
+UPage 的主要区别在于:
+
+1. **AI 驱动**:基于自然语言描述生成页面
+2. **开源**:完全开源,可自由定制和扩展
+3. **多 AI 提供商支持**:支持多种 AI 模型和提供商
+4. **本地部署**:可在本地或私有云部署,保护数据安全
+5. **轻量级**:资源占用较低,易于部署和维护
diff --git a/docs/content/index.md b/docs/content/index.md
new file mode 100644
index 0000000..2c5b15c
--- /dev/null
+++ b/docs/content/index.md
@@ -0,0 +1,34 @@
+---
+id: index
+title: UPage 文档
+slug: /
+---
+
+# UPage
+
+UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。
+
+## 什么是 UPage?
+
+UPage 是一个开源的网页构建工具,它利用大语言模型,让用户能够通过自然语言描述来创建和定制网页。无论您是开发者、设计师还是内容创作者,UPage 都能帮助您快速将想法转化为可视化的网页。
+
+## 核心特性
+
+- **基于 AI 的页面生成**:通过自然语言描述生成完整的网页
+- **多种 AI 提供商支持**:兼容 OpenAI、Anthropic Claude、Google Gemini 等多种 AI 模型
+- **可视化编辑器**:简洁直观的可视化编辑器界面,实时预览
+- **代码导出**:生成标准的 HTML/CSS/JS 代码,方便集成到现有项目
+- **响应式设计**:自动适应不同屏幕尺寸
+- **部署集成**:支持一键部署到常见托管平台
+
+## 快速开始
+
+请查看[快速开始](quick-start.md)指南,了解如何安装和使用 UPage。
+
+## 贡献
+
+UPage 是一个开源项目,我们欢迎任何形式的贡献。请查看[贡献指南](contributing.md)了解如何参与项目开发。
+
+## 许可证
+
+UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE)。
diff --git a/docs/content/quick-start.md b/docs/content/quick-start.md
new file mode 100644
index 0000000..c9b2d56
--- /dev/null
+++ b/docs/content/quick-start.md
@@ -0,0 +1,121 @@
+---
+id: quick-start
+title: 快速开始
+---
+
+# 快速开始
+
+本指南将帮助您快速部署和启动 UPage,让您在几分钟内体验基于大模型的网页构建平台。
+
+:::caution 注意
+此快速启动方式仅适用于体验和测试目的,如需在生产环境中完整部署,请参考[Docker 部署指南](deployment/docker)。
+:::
+
+## 前置条件
+
+在开始之前,请确保您的系统满足以下要求:
+
+- Docker 已安装(推荐 Docker 20.10.0 或更高版本)
+- 至少 2GB 可用内存
+- 至少 2GB 可用磁盘空间
+- 互联网连接(用于拉取 Docker 镜像和访问大模型 API)
+
+## 使用 Docker 快速部署
+
+UPage 提供了官方 Docker 镜像,可以通过以下命令快速启动:
+
+```bash
+docker run -d \
+ --name upage \
+ --restart unless-stopped \
+ -p 3000:3000 \
+ -e LLM_DEFAULT_PROVIDER=OpenAILike \
+ -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
+ -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_DEFAULT_MODEL=your-default-model \
+ -e LLM_MINOR_MODEL=your-minor-model \
+ -v ./data:/app/data \
+ -v ./logs:/app/logs \
+ -v ./storage:/app/storage \
+ halo-dev/upage:latest
+```
+
+### 参数说明
+
+- `-e LLM_DEFAULT_PROVIDER=OpenAILike`:设置默认的 LLM 提供商
+- `-e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url`:设置 API 基础 URL
+- `-e OPENAI_LIKE_API_KEY=your-openai-like-api-key`:设置 API 密钥
+- `-e LLM_DEFAULT_MODEL=your-default-model`:设置用于页面生成的默认 AI 模型
+- `-e LLM_MINOR_MODEL=your-minor-model`:设置用于辅助任务的 AI 模型
+- `-v ./data:/app/data`:挂载数据目录,用于存储数据库文件
+- `-v ./logs:/app/logs`:挂载日志目录
+- `-v ./storage:/app/storage`:挂载存储目录,用于存储上传的文件
+
+
+## 访问 UPage
+
+服务启动后,您可以通过浏览器访问:
+
+```
+http://localhost:3000
+```
+
+## 配置 AI 提供商
+
+UPage 支持多种 AI 提供商,您需要至少配置一个 AI 提供商才能使用页面生成功能。以下是常见的 AI 提供商配置示例:
+
+### DeepSeek
+
+```bash
+-e LLM_DEFAULT_PROVIDER=Deepseek \
+-e DEEPSEEK_API_KEY=your-deepseek-api-key \
+-e LLM_DEFAULT_MODEL=deepseek-chat \
+-e LLM_MINOR_MODEL=deepseek-reasoner
+```
+
+### 兼容 OpenAI 接口的服务
+
+```bash
+-e LLM_DEFAULT_PROVIDER=OpenAILike \
+-e OPENAI_LIKE_API_BASE_URL=https://your-api-base-url \
+-e OPENAI_LIKE_API_KEY=your-api-key \
+-e LLM_DEFAULT_MODEL=your-model-name \
+-e LLM_MINOR_MODEL=your-minor-model-name
+```
+
+### OpenAI
+
+```bash
+-e LLM_DEFAULT_PROVIDER=OpenAI \
+-e OPENAI_API_KEY=your-openai-api-key \
+-e LLM_DEFAULT_MODEL=gpt-4-turbo \
+-e LLM_MINOR_MODEL=gpt-3.5-turbo
+```
+
+### Anthropic Claude
+
+```bash
+-e LLM_DEFAULT_PROVIDER=Anthropic \
+-e ANTHROPIC_API_KEY=your-anthropic-api-key \
+-e LLM_DEFAULT_MODEL=claude-3-opus-20240229 \
+-e LLM_MINOR_MODEL=claude-3-haiku-20240307
+```
+
+### Ollama
+
+```bash
+-e LLM_DEFAULT_PROVIDER=Ollama \
+-e OLLAMA_API_BASE_URL=http://127.0.0.1:11434 \
+-e LLM_DEFAULT_MODEL=llama3 \
+-e LLM_MINOR_MODEL=llama3
+```
+
+:::info
+详细的 AI 提供商配置请阅读[配置参考](configuration#ai-提供商配置)。
+:::
+
+## 下一步
+
+- 探索[Docker 部署指南](deployment/docker)了解生产环境部署方案,包括使用 Docker Compose、数据备份、HTTPS 配置等
+- 查看[配置参考](configuration)了解所有可用的配置选项
+- 阅读[用户指南](user-guide/basics)学习如何使用 UPage 创建网页
diff --git a/docs/content/user-guide/ai-page-generation.md b/docs/content/user-guide/ai-page-generation.md
new file mode 100644
index 0000000..a2cb64e
--- /dev/null
+++ b/docs/content/user-guide/ai-page-generation.md
@@ -0,0 +1,159 @@
+---
+id: ai-page-generation
+title: AI 页面生成
+---
+
+# AI 页面生成
+
+UPage 的核心功能是通过人工智能生成网页。本文档将指导您如何使用 AI 功能快速创建和定制网页。
+
+## 基于自然语言创建页面
+
+### 创建新页面
+
+1. 在 UPage 主界面,点击侧边栏中的"新建页面"按钮
+2. 选择"AI 创建"选项
+3. 在对话框中输入您的页面需求描述
+4. 点击"生成"按钮
+
+### 编写有效的页面描述
+
+为了获得最佳结果,建议按照以下方式编写页面描述:
+
+- **明确页面类型**:例如"产品展示页面"、"博客文章"、"联系表单"等
+- **指定关键元素**:列出页面应包含的主要组件和内容
+- **描述风格和布局**:说明您期望的设计风格和布局结构
+- **提供具体内容**:如果有特定文本或图片要求,请明确说明
+
+示例描述:
+
+```
+创建一个现代风格的产品登录页面,用于展示我们的智能手表产品。页面应包含:
+1. 顶部导航栏,带有品牌标志和菜单
+2. 醒目的标题和副标题,强调产品的主要卖点
+3. 产品图片展示区,包含至少3张不同角度的产品图
+4. 产品特点列表,使用图标和简短描述
+5. 价格信息和"立即购买"按钮
+6. 客户评价部分
+7. 常见问题解答
+8. 页脚,包含联系信息和社交媒体链接
+整体配色应使用深蓝色和白色为主,符合科技产品的定位
+```
+
+## 迭代优化页面
+
+### 修改现有页面
+
+1. 选择要修改的页面
+2. 点击工具栏中的"AI 辅助"按钮
+3. 描述您想要进行的修改
+4. AI 将生成修改建议并应用到页面
+
+### 局部调整
+
+您也可以针对页面的特定部分进行 AI 辅助调整:
+
+1. 选择页面中的特定组件或区域
+2. 点击右键菜单中的"AI 辅助"选项
+3. 描述您希望对该部分进行的修改
+4. 确认 AI 生成的调整
+
+## AI 提示技巧
+
+### 有效的提示模式
+
+以下是一些有效的 AI 提示模式:
+
+- **添加内容**:"在页面顶部添加一个公告栏,显示最新促销信息"
+- **修改样式**:"将按钮颜色改为蓝色,并增加圆角效果"
+- **调整布局**:"将产品展示区改为两列网格布局,每个产品卡片包含图片、标题和价格"
+- **优化文案**:"将页面标题改为更吸引人的营销语言,强调产品的独特卖点"
+- **增强功能**:"在产品图片区添加轮播效果,允许用户浏览多张产品图片"
+
+### 提示示例
+
+以下是一些实际的提示示例:
+
+```
+将页面背景改为浅灰色,增加视觉层次感
+```
+
+```
+优化页面的移动端显示效果,确保在小屏幕上也能良好展示
+```
+
+```
+添加一个简单的联系表单,包含姓名、邮箱和留言字段
+```
+
+```
+将产品描述文本改为更简洁有力的表达,突出产品解决的问题
+```
+
+## 高级 AI 功能
+
+### 风格迁移
+
+您可以使用 AI 将一个页面的设计风格应用到另一个页面:
+
+1. 在 AI 提示中引用现有页面
+2. 描述您希望迁移的风格元素
+3. AI 将分析并应用相似的设计风格
+
+示例:
+```
+将我的"关于我们"页面的设计风格应用到这个"联系我们"页面,保持一致的视觉语言
+```
+
+### 多语言支持
+
+UPage 支持使用 AI 生成多语言内容:
+
+1. 创建基础页面
+2. 使用 AI 辅助功能,指定目标语言
+3. AI 将翻译页面内容并保持布局结构
+
+示例:
+```
+将此页面内容翻译成英文,保持相同的布局和设计
+```
+
+## 最佳实践
+
+### 审查和编辑
+
+AI 生成的内容通常需要人工审查和编辑:
+
+1. 检查生成的文本是否准确、相关
+2. 调整布局和样式以符合品牌要求
+3. 确保所有链接和功能正常工作
+4. 优化图片和媒体内容
+
+### 渐进式生成
+
+对于复杂页面,采用渐进式生成方法:
+
+1. 首先生成基本页面结构
+2. 逐步添加和完善各个部分
+3. 使用 AI 辅助进行细节优化
+4. 最后进行整体协调和统一
+
+## 故障排除
+
+### 生成结果不理想
+
+如果 AI 生成的页面不符合预期:
+
+1. 尝试提供更具体、更详细的描述
+2. 分解复杂需求为多个简单步骤
+3. 提供参考示例或链接
+4. 调整使用的 AI 模型(如果可用)
+
+### 性能问题
+
+如果遇到性能问题:
+
+1. 减少单次生成的页面复杂度
+2. 分步骤生成复杂页面
+3. 检查网络连接和 API 状态
+4. 确认 AI 提供商配置正确
diff --git a/docs/content/user-guide/basics.md b/docs/content/user-guide/basics.md
new file mode 100644
index 0000000..6e35da2
--- /dev/null
+++ b/docs/content/user-guide/basics.md
@@ -0,0 +1,142 @@
+---
+id: basics
+title: 基础使用
+---
+
+# 基础使用
+
+本文档介绍 UPage 的基本使用方法,帮助您快速上手这款基于 AI 的网页构建平台。
+
+## 登录系统
+
+1. 打开浏览器,访问 UPage 的地址(例如 `http://localhost:3000`)
+2. 如果已配置 Logto 认证,您将被重定向到登录页面
+3. 输入用户名和密码登录系统
+4. 如果未配置认证系统,您将直接进入 UPage 主界面
+
+## 界面概览
+
+UPage 的界面主要分为以下几个部分:
+
+- **顶部导航栏**:包含项目切换、用户信息和全局设置
+- **侧边栏**:包含页面列表和创建新页面的入口
+- **主内容区**:显示当前编辑的页面或预览
+- **工具栏**:提供各种编辑工具和操作按钮
+
+## 创建新页面
+
+### 使用 AI 创建页面
+
+1. 点击侧边栏中的"新建页面"按钮
+2. 选择"AI 创建"选项
+3. 在对话框中描述您想要创建的页面,例如:
+ ```
+ 创建一个产品展示页面,包含标题、产品图片、详细描述和购买按钮
+ ```
+4. 点击"生成"按钮,系统将基于您的描述生成页面
+5. 生成完成后,您可以进一步编辑和调整页面内容
+
+### 从模板创建页面
+
+1. 点击侧边栏中的"新建页面"按钮
+2. 选择"从模板创建"选项
+3. 浏览可用的模板并选择一个适合您需求的模板
+4. 点击"使用此模板"按钮
+5. 根据需要编辑和自定义模板内容
+
+### 从空白页面开始
+
+1. 点击侧边栏中的"新建页面"按钮
+2. 选择"空白页面"选项
+3. 使用拖拽方式添加组件到页面
+4. 配置组件属性和样式
+
+## 编辑页面
+
+### 添加组件
+
+1. 在编辑模式下,点击工具栏中的"组件"按钮
+2. 从组件库中选择所需组件
+3. 将组件拖拽到页面中的目标位置
+4. 调整组件大小和位置
+
+### 编辑组件属性
+
+1. 在页面中点击选择要编辑的组件
+2. 在右侧属性面板中编辑组件的属性
+3. 修改文本内容、图片、链接等
+4. 调整组件的样式、颜色、字体等
+
+### 使用 AI 辅助编辑
+
+1. 选择要编辑的组件或页面区域
+2. 点击工具栏中的"AI 辅助"按钮
+3. 描述您想要进行的修改,例如:
+ ```
+ 将这段文本改为更吸引人的营销语言,强调产品的优势
+ ```
+4. AI 将根据您的描述生成修改建议
+5. 确认修改或进行进一步调整
+
+## 预览和发布
+
+### 预览页面
+
+1. 点击工具栏中的"预览"按钮
+2. 在预览模式下查看页面在不同设备上的显示效果
+3. 使用设备切换按钮查看响应式效果
+
+### 发布页面
+
+1. 完成页面编辑后,点击工具栏中的"发布"按钮
+2. 选择发布选项(如发布到网站、导出代码等)
+3. 根据提示完成发布流程
+
+## 管理页面
+
+### 页面列表
+
+1. 在侧边栏中查看所有已创建的页面
+2. 点击页面名称打开并编辑页面
+3. 使用搜索框查找特定页面
+
+### 页面操作
+
+1. 在页面列表中,每个页面右侧有操作菜单
+2. 点击操作菜单可以进行复制、重命名、删除等操作
+3. 使用拖拽调整页面顺序
+
+## 系统设置
+
+### 用户设置
+
+1. 点击顶部导航栏中的用户头像
+2. 选择"个人设置"
+3. 修改个人信息、密码等
+
+### 系统配置
+
+1. 点击顶部导航栏中的设置图标
+2. 配置系统参数、AI 提供商等
+3. 管理用户权限和角色(需要管理员权限)
+
+## 键盘快捷键
+
+UPage 提供了一系列键盘快捷键,帮助您提高工作效率:
+
+| 快捷键 | 功能 |
+| --- | --- |
+| Ctrl+S | 保存当前页面 |
+| Ctrl+Z | 撤销操作 |
+| Ctrl+Y | 重做操作 |
+| Ctrl+C | 复制选中的组件 |
+| Ctrl+V | 粘贴组件 |
+| Delete | 删除选中的组件 |
+| Ctrl+P | 预览页面 |
+| Esc | 退出当前模式或取消选择 |
+
+## 下一步
+
+- 了解如何[使用 AI 生成页面](ai-page-generation)
+- 学习[页面管理](page-management)的高级技巧
+- 探索更多[配置选项](../configuration)
diff --git a/docs/content/user-guide/page-management.md b/docs/content/user-guide/page-management.md
new file mode 100644
index 0000000..70d0af6
--- /dev/null
+++ b/docs/content/user-guide/page-management.md
@@ -0,0 +1,192 @@
+---
+id: page-management
+title: 页面管理
+---
+
+# 页面管理
+
+本文档介绍如何在 UPage 中管理、组织和维护您的页面,帮助您有效地管理网站内容。
+
+## 页面列表
+
+### 查看页面列表
+
+1. 在 UPage 主界面,侧边栏显示了所有已创建的页面
+2. 页面按创建时间或自定义顺序排列
+3. 每个页面条目显示页面名称和最后修改时间
+
+### 搜索和筛选
+
+1. 使用侧边栏顶部的搜索框搜索特定页面
+2. 可以按页面名称、标签或内容进行搜索
+3. 使用筛选选项按页面类型、创建日期或状态筛选
+
+## 页面操作
+
+### 基本操作
+
+在页面列表中,每个页面右侧有操作菜单,提供以下功能:
+
+- **编辑**:打开页面编辑器
+- **预览**:在新标签页中预览页面
+- **复制**:创建页面的副本
+- **重命名**:修改页面名称
+- **删除**:删除页面(可恢复)
+- **导出**:导出页面代码或资源
+
+### 批量操作
+
+选择多个页面可以执行批量操作:
+
+1. 使用复选框选择多个页面
+2. 点击批量操作按钮
+3. 选择要执行的操作(如删除、导出、应用标签等)
+
+## 页面组织
+
+### 使用标签
+
+标签是组织页面的有效方式:
+
+1. 在页面设置中添加标签
+2. 使用侧边栏中的标签筛选器查看特定标签的页面
+3. 标签可以用于分类页面(如"产品"、"博客"、"着陆页"等)
+
+### 创建文件夹
+
+对于大型项目,可以使用文件夹组织页面:
+
+1. 点击侧边栏中的"新建文件夹"按钮
+2. 输入文件夹名称
+3. 将页面拖放到文件夹中
+4. 点击文件夹可以展开或折叠其内容
+
+## 页面版本控制
+
+### 版本历史
+
+UPage 自动保存页面的版本历史:
+
+1. 在页面编辑器中,点击"版本历史"按钮
+2. 查看页面的所有历史版本
+3. 点击任何版本可以预览该版本的页面状态
+
+### 恢复版本
+
+如果需要恢复到之前的版本:
+
+1. 在版本历史中找到要恢复的版本
+2. 点击"恢复此版本"按钮
+3. 确认恢复操作
+4. 系统将创建一个新版本,内容与选定的历史版本相同
+
+### 比较版本
+
+比较不同版本之间的差异:
+
+1. 在版本历史中选择两个版本
+2. 点击"比较"按钮
+3. 系统将显示两个版本之间的差异,包括添加、删除和修改的内容
+
+## 页面设置
+
+### 基本设置
+
+每个页面都有以下基本设置:
+
+1. **页面名称**:显示在侧边栏和浏览器标签中
+2. **页面描述**:用于 SEO 和社交媒体分享
+3. **URL 路径**:页面的访问路径
+4. **标签**:用于组织和分类页面
+5. **状态**:草稿、已发布或已归档
+
+### SEO 设置
+
+优化页面的搜索引擎表现:
+
+1. **Meta 标题**:搜索结果中显示的标题
+2. **Meta 描述**:搜索结果中显示的描述
+3. **关键词**:与页面内容相关的关键词
+4. **规范 URL**:指定页面的规范 URL
+5. **索引设置**:控制搜索引擎是否索引页面
+
+### 社交媒体设置
+
+自定义页面在社交媒体上的显示方式:
+
+1. **社交图片**:在社交媒体分享时显示的图片
+2. **社交标题**:在社交媒体分享时显示的标题
+3. **社交描述**:在社交媒体分享时显示的描述
+
+## 页面导出和导入
+
+### 导出页面
+
+UPage 支持多种导出格式:
+
+1. **HTML/CSS/JS**:导出标准 Web 文件
+2. **ZIP 归档**:包含所有页面资源的压缩包
+3. **JSON**:页面数据的 JSON 表示
+4. **PDF**:页面的 PDF 版本(适用于文档)
+
+导出步骤:
+
+1. 在页面列表中选择要导出的页面
+2. 点击"导出"按钮
+3. 选择导出格式
+4. 配置导出选项
+5. 点击"导出"开始下载
+
+### 导入页面
+
+导入现有页面:
+
+1. 点击"导入"按钮
+2. 选择导入源(文件、URL 或代码)
+3. 上传文件或输入 URL/代码
+4. 配置导入选项
+5. 点击"导入"开始处理
+
+## 页面备份
+
+### 创建备份
+
+定期备份您的页面:
+
+1. 在设置中找到"备份"选项
+2. 点击"创建备份"按钮
+3. 输入备份描述(可选)
+4. 选择要包含的页面
+5. 点击"开始备份"
+
+### 恢复备份
+
+从备份中恢复页面:
+
+1. 在设置中找到"备份"选项
+2. 找到要恢复的备份
+3. 点击"恢复"按钮
+4. 选择要恢复的页面
+5. 选择恢复模式(覆盖或创建新页面)
+6. 点击"开始恢复"
+
+## 协作功能
+
+### 共享页面
+
+与团队成员共享页面:
+
+1. 在页面操作菜单中选择"共享"
+2. 输入团队成员的电子邮件地址
+3. 选择权限级别(查看、编辑或管理)
+4. 点击"发送邀请"
+
+### 评论和反馈
+
+在页面上添加评论和反馈:
+
+1. 在预览模式下,点击"评论"按钮
+2. 点击页面任何位置添加评论
+3. 输入评论内容
+4. 可以@提及团队成员
+5. 评论可以标记为已解决
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
new file mode 100644
index 0000000..e49c54f
--- /dev/null
+++ b/docs/docusaurus.config.js
@@ -0,0 +1,133 @@
+// @ts-check
+// Note: type annotations allow type checking and IDEs autocompletion
+
+/** @type {import('@docusaurus/types').Config} */
+const config = {
+ title: 'UPage 文档',
+ tagline: 'UPage 是一款基于人工智能的可视化网页构建平台',
+ favicon: '../public/favicon.svg',
+
+ // Set the production url of your site here
+ url: 'https://halo-dev.github.io',
+ // Set the // pathname under which your site is served
+ // For GitHub pages deployment, it is often '//'
+ baseUrl: '/upage/',
+
+ // GitHub pages deployment config.
+ // If you aren't using GitHub pages, you don't need these.
+ organizationName: 'halo-dev', // Usually your GitHub org/user name.
+ projectName: 'upage', // Usually your repo name.
+ trailingSlash: false,
+
+ onBrokenLinks: 'warn',
+ onBrokenMarkdownLinks: 'warn',
+
+ // Even if you don't use internalization, you can use this field to set useful
+ // metadata like html lang. For example, if your site is Chinese, you may want
+ // to replace "en" with "zh-Hans".
+ i18n: {
+ defaultLocale: 'zh-Hans',
+ locales: ['zh-Hans'],
+ },
+
+ presets: [
+ [
+ 'classic',
+ /** @type {import('@docusaurus/preset-classic').Options} */
+ ({
+ docs: {
+ path: 'content',
+ routeBasePath: '/',
+ sidebarPath: require.resolve('./sidebars.js'),
+ // Please change this to your repo.
+ // Remove this to remove the "edit this page" links.
+ editUrl:
+ 'https://github.com/halo-dev/upage/edit/main/docs/content/',
+ },
+ blog: false,
+ theme: {
+ customCss: require.resolve('./src/css/custom.css'),
+ },
+ }),
+ ],
+ ],
+
+ themeConfig:
+ /** @type {import('@docusaurus/preset-classic').ThemeConfig} */
+ ({
+ // Replace with your project's social card
+ image: 'img/social-card.png',
+ navbar: {
+ title: 'UPage',
+ logo: {
+ alt: 'UPage Logo',
+ src: 'img/logo.svg',
+ },
+ items: [
+ {
+ type: 'docSidebar',
+ sidebarId: 'tutorialSidebar',
+ position: 'left',
+ label: '文档',
+ },
+ {
+ href: 'https://github.com/halo-dev/upage',
+ label: 'GitHub',
+ position: 'right',
+ },
+ ],
+ },
+ footer: {
+ style: 'dark',
+ links: [
+ {
+ title: '文档',
+ items: [
+ {
+ label: '快速开始',
+ to: '/quick-start',
+ },
+ {
+ label: '部署指南',
+ to: '/category/deployment-guide',
+ },
+ ],
+ },
+ {
+ title: '社区',
+ items: [
+ {
+ label: 'GitHub Issues',
+ href: 'https://github.com/halo-dev/upage/issues',
+ },
+ {
+ label: 'GitHub Discussions',
+ href: 'https://github.com/halo-dev/upage/discussions',
+ },
+ ],
+ },
+ {
+ title: '更多',
+ items: [
+ {
+ label: 'GitHub',
+ href: 'https://github.com/halo-dev/upage',
+ },
+ ],
+ },
+ ],
+ copyright: `Copyright © ${new Date().getFullYear()} Halo 社区`,
+ },
+ prism: {
+ theme: require('prism-react-renderer').themes.github,
+ darkTheme: require('prism-react-renderer').themes.dracula,
+ },
+ colorMode: {
+ defaultMode: 'light',
+ disableSwitch: false,
+ respectPrefersColorScheme: true,
+ },
+ }),
+};
+
+module.exports = config;
diff --git a/docs/index.md b/docs/index.md
deleted file mode 100644
index 809cadf..0000000
--- a/docs/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# 简介
-
-欢迎阅读 UPage 文档。UPage 是一个基于人工智能的可视化网页构建平台,支持多种 AI 提供商集成,能够轻松创建和定制网页内容。
-
-## 目录
-
-- [简介](#简介)
-- [目录](#目录)
-- [快速开始](#快速开始)
-- [部署指南](#部署指南)
-- [常见问题](#常见问题)
-- [贡献指南](#贡献指南)
-- [开发指南](#开发指南)
-- [更新日志](#更新日志)
diff --git a/docs/package.json b/docs/package.json
new file mode 100644
index 0000000..10804e7
--- /dev/null
+++ b/docs/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "upage-docs",
+ "version": "0.0.0",
+ "private": true,
+ "workspaces": [".."],
+ "scripts": {
+ "docusaurus": "docusaurus",
+ "start": "docusaurus start",
+ "build": "docusaurus build",
+ "swizzle": "docusaurus swizzle",
+ "deploy": "docusaurus deploy",
+ "clear": "docusaurus clear",
+ "serve": "docusaurus serve",
+ "write-translations": "docusaurus write-translations",
+ "write-heading-ids": "docusaurus write-heading-ids"
+ },
+ "dependencies": {
+ "@docusaurus/core": "3.9.0",
+ "@docusaurus/preset-classic": "3.9.0",
+ "@mdx-js/react": "^3.0.0",
+ "clsx": "^2.0.0",
+ "prism-react-renderer": "^2.3.0",
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ },
+ "devDependencies": {
+ "@docusaurus/module-type-aliases": "3.9.0",
+ "@docusaurus/types": "3.9.0"
+ },
+ "browserslist": {
+ "production": [
+ ">0.5%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+ },
+ "engines": {
+ "node": ">=18.0"
+ }
+}
diff --git a/docs/sidebars.js b/docs/sidebars.js
new file mode 100644
index 0000000..b356b45
--- /dev/null
+++ b/docs/sidebars.js
@@ -0,0 +1,73 @@
+/**
+ * Creating a sidebar enables you to:
+ - create an ordered group of docs
+ - render a sidebar for each doc of that group
+ - provide next/previous navigation
+
+ The sidebars can be generated from the filesystem, or explicitly defined here.
+
+ Create as many sidebars as you want.
+ */
+
+/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
+const sidebars = {
+ tutorialSidebar: [
+ {
+ type: 'doc',
+ id: 'index',
+ label: '首页',
+ },
+ {
+ type: 'doc',
+ id: 'quick-start',
+ label: '快速开始',
+ },
+ {
+ type: 'category',
+ label: '部署指南',
+ link: {
+ type: 'generated-index',
+ title: '部署指南',
+ slug: 'deployment-guide',
+ },
+ items: [
+ 'deployment/docker',
+ 'deployment/docker-compose',
+ 'deployment/source',
+ 'deployment/logto',
+ 'deployment/others',
+ ],
+ },
+ {
+ type: 'doc',
+ id: 'configuration',
+ label: '配置参考',
+ },
+ {
+ type: 'category',
+ label: '用户指南',
+ items: [
+ 'user-guide/basics',
+ 'user-guide/ai-page-generation',
+ 'user-guide/page-management',
+ ],
+ },
+ {
+ type: 'doc',
+ id: 'faq',
+ label: '常见问题',
+ },
+ {
+ type: 'doc',
+ id: 'changelog',
+ label: '更新日志',
+ },
+ {
+ type: 'doc',
+ id: 'contributing',
+ label: '贡献指南',
+ },
+ ],
+};
+
+module.exports = sidebars;
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
new file mode 100644
index 0000000..09eae3d
--- /dev/null
+++ b/docs/src/css/custom.css
@@ -0,0 +1,30 @@
+/**
+ * Any CSS included here will be global. The classic template
+ * bundles Infima by default. Infima is a CSS framework designed to
+ * work well for content-centric websites.
+ */
+
+/* You can override the default Infima variables here. */
+:root {
+ --ifm-color-primary: #3f51b5;
+ --ifm-color-primary-dark: #3949a3;
+ --ifm-color-primary-darker: #36459a;
+ --ifm-color-primary-darkest: #2c397f;
+ --ifm-color-primary-light: #4c5ec1;
+ --ifm-color-primary-lighter: #5566c4;
+ --ifm-color-primary-lightest: #707ecd;
+ --ifm-code-font-size: 95%;
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
+}
+
+/* For readability concerns, you should choose a lighter palette in dark mode. */
+[data-theme='dark'] {
+ --ifm-color-primary: #7986cb;
+ --ifm-color-primary-dark: #6271c2;
+ --ifm-color-primary-darker: #5767be;
+ --ifm-color-primary-darkest: #3f50a8;
+ --ifm-color-primary-light: #909bd4;
+ --ifm-color-primary-lighter: #9ba5d8;
+ --ifm-color-primary-lightest: #bcc2e5;
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
+}
diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg
new file mode 100644
index 0000000..c68d62f
--- /dev/null
+++ b/docs/static/img/logo.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8c30dd1..177e0e3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -272,7 +272,7 @@ importers:
version: 15.0.0
'@remix-run/dev':
specifier: ^2.17.1
- version: 2.17.1(@remix-run/react@2.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@remix-run/serve@2.17.1(typescript@5.9.2))(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ version: 2.17.1(@remix-run/react@2.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@remix-run/serve@2.17.1(typescript@5.9.2))(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
'@remix-run/serve':
specifier: ^2.17.1
version: 2.17.1(typescript@5.9.2)
@@ -308,7 +308,7 @@ importers:
version: 66.5.2
'@vitejs/plugin-react':
specifier: ^5.0.3
- version: 5.0.3(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ version: 5.0.3(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
concurrently:
specifier: ^9.2.1
version: 9.2.1
@@ -338,16 +338,47 @@ importers:
version: 5.9.2
unocss:
specifier: ^66.5.2
- version: 66.5.2(postcss@8.5.3)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ version: 66.5.2(postcss@8.5.3)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
vite:
specifier: ^5.4.19
- version: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ version: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
vite-tsconfig-paths:
specifier: ^5.1.4
- version: 5.1.4(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ version: 5.1.4(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
vitest:
specifier: ^3.2.4
- version: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.21)(jsdom@26.1.0)(sass-embedded@1.93.1)(sass@1.93.1)
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.21)(jsdom@26.1.0)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
+
+ docs:
+ dependencies:
+ '@docusaurus/core':
+ specifier: 3.9.0
+ version: 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/preset-classic':
+ specifier: 3.9.0
+ version: 3.9.0(@algolia/client-search@5.38.0)(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(@types/react@18.3.24)(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.9.2)
+ '@mdx-js/react':
+ specifier: ^3.0.0
+ version: 3.1.1(@types/react@18.3.24)(react@18.3.1)
+ clsx:
+ specifier: ^2.0.0
+ version: 2.1.1
+ prism-react-renderer:
+ specifier: ^2.3.0
+ version: 2.4.1(react@18.3.1)
+ react:
+ specifier: ^18.0.0
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.0.0
+ version: 18.3.1(react@18.3.1)
+ devDependencies:
+ '@docusaurus/module-type-aliases':
+ specifier: 3.9.0
+ version: 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/types':
+ specifier: 3.9.0
+ version: 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
packages:
@@ -473,6 +504,79 @@ packages:
zod:
optional: true
+ '@algolia/abtesting@1.4.0':
+ resolution: {integrity: sha512-N0blWT/C0KOZ/OJ9GXBX66odJZlrYjMj3M+01y8ob1mjBFnBaBo7gOCyHBDQy60+H4pJXp3pSGlJOqJIueBH+A==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/autocomplete-core@1.19.2':
+ resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==}
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.19.2':
+ resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==}
+ peerDependencies:
+ search-insights: '>= 1 < 3'
+
+ '@algolia/autocomplete-shared@1.19.2':
+ resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+
+ '@algolia/client-abtesting@5.38.0':
+ resolution: {integrity: sha512-15d6zv8vtj2l9pnnp/EH7Rhq3/snCCHRz56NnX6xIUPrbJl5gCsIYXAz8C2IEkwOpoDb0r5G6ArY2gKdVMNezw==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-analytics@5.38.0':
+ resolution: {integrity: sha512-jJIbYAhYvTG3+gEAP5Q5Dp6PFJfUR+atz5rsqm5KjAKK+faLFdHJbM2IbOo0xdyGd+SH259MzfQKLJ9mZZ27dQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-common@5.38.0':
+ resolution: {integrity: sha512-aMCXzVPGJTeQnVU3Sdf30TfMN2+QyWcjfPTCCHyqVVgjPipb6RnK40aISGoO+rlYjh9LunDsNVFLwv+JEIF8bQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-insights@5.38.0':
+ resolution: {integrity: sha512-4c3FbpMiJX+VcaAj0rYaQdTLS/CkrdOn4hW+5y1plPov7KC7iSHai/VBbirmHuAfW1hVPCIh1w/4erKKTKuo+Q==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-personalization@5.38.0':
+ resolution: {integrity: sha512-FzLs6c8TBL4FSgNfnH2NL7O33ktecGiaKO4ZFG51QYORUzD5d6YwB9UBteaIYu/sgFoEdY57diYU4vyBH8R6iA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-query-suggestions@5.38.0':
+ resolution: {integrity: sha512-7apiahlgZLvOqrh0+hAYAp/UWjqz6AfSJrCwnsoQNzgIT09dLSPIKREelkuQeUrKy38vHWWpSQE3M0zWSp/YrA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-search@5.38.0':
+ resolution: {integrity: sha512-PTAFMJOpVtJweExEYYgdmSCC6n4V/R+ctDL3fRQy77ulZM/p+zMLIQC9c7HCQE1zqpauvVck3f2zYSejaUTtrw==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/events@4.0.1':
+ resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==}
+
+ '@algolia/ingestion@1.38.0':
+ resolution: {integrity: sha512-qGSUGgceJHGyJLZ06bFLwVe2Tpf9KwabmoBjFvFscVmMmU5scKya6voCYd9bdX7V0Xy1qya9MGbmTm4zlLuveQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/monitoring@1.38.0':
+ resolution: {integrity: sha512-VnCtAUcHirvv/dDHg9jK1Z5oo4QOC5FKDxe40x8qloru2qDcjueT34jiAsB0gRos3VWf9v4iPSYTqMIFOcADpQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/recommend@5.38.0':
+ resolution: {integrity: sha512-fqgeU9GqxQorFUeGP4et1MyY28ccf9PCeciHwDPSbPYYiTqBItHdUIiytsNpjC5Dnc0RWtuXWCltLwSw9wN/bQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-browser-xhr@5.38.0':
+ resolution: {integrity: sha512-nAUKbv4YQIXbpPi02AQvSPisD5FDDbT8XeYSh9HFoYP0Z3IpBLLDg7R4ahPvzd7gGsVKgEbXzRPWESXSji5yIg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-fetch@5.38.0':
+ resolution: {integrity: sha512-bkuAHaadC6OxJd3SVyQQnU1oJ9G/zdCqua7fwr1tJDrA/v7KzeS5np4/m6BuRUpTgVgFZHSewGnMcgj9DLBoaQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-node-http@5.38.0':
+ resolution: {integrity: sha512-yHDKZTnMPR3/4bY0CVC1/uRnnbAaJ+pctRuX7G/HflBkKOrnUBDEGtQQHzEfMz2FHZ/tbCL+Q9r6mvwTSGp8nw==}
+ engines: {node: '>= 14.0.0'}
+
'@antfu/install-pkg@1.1.0':
resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
@@ -506,6 +610,10 @@ packages:
resolution: {integrity: sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==}
engines: {node: '>=6.9.0'}
+ '@babel/compat-data@7.28.4':
+ resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/core@7.28.4':
resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
engines: {node: '>=6.9.0'}
@@ -522,6 +630,10 @@ packages:
resolution: {integrity: sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-compilation-targets@7.27.2':
resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
engines: {node: '>=6.9.0'}
@@ -532,6 +644,23 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
+ '@babel/helper-create-class-features-plugin@7.28.3':
+ resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1':
+ resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.6.5':
+ resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
'@babel/helper-globals@7.28.0':
resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
engines: {node: '>=6.9.0'}
@@ -564,6 +693,12 @@ packages:
resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-remap-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
'@babel/helper-replace-supers@7.27.1':
resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
engines: {node: '>=6.9.0'}
@@ -586,6 +721,10 @@ packages:
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-wrap-function@7.28.3':
+ resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helpers@7.28.4':
resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
engines: {node: '>=6.9.0'}
@@ -605,12 +744,65 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1':
+ resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
+ resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
+ resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3':
+ resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-syntax-decorators@7.27.1':
resolution: {integrity: sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-dynamic-import@7.8.3':
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.27.1':
+ resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.27.1':
+ resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-syntax-jsx@7.27.1':
resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
engines: {node: '>=6.9.0'}
@@ -623,12 +815,264 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.27.1':
+ resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.28.0':
+ resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1':
+ resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.28.4':
+ resolution: {integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.27.1':
+ resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.28.3':
+ resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.28.4':
+ resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.27.1':
+ resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.28.0':
+ resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.27.1':
+ resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1':
+ resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-dynamic-import@7.27.1':
+ resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.0':
+ resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1':
+ resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1':
+ resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.27.1':
+ resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.27.1':
+ resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.27.1':
+ resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.27.1':
+ resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1':
+ resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1':
+ resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.27.1':
+ resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-transform-modules-commonjs@7.27.1':
resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-modules-systemjs@7.27.1':
+ resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.27.1':
+ resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.27.1':
+ resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1':
+ resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.27.1':
+ resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.28.4':
+ resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.27.1':
+ resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1':
+ resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.27.7':
+ resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.27.1':
+ resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.27.1':
+ resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.27.1':
+ resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-constant-elements@7.27.1':
+ resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-display-name@7.28.0':
+ resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-development@7.27.1':
+ resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-transform-react-jsx-self@7.27.1':
resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
engines: {node: '>=6.9.0'}
@@ -641,18 +1085,129 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-jsx@7.27.1':
+ resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-pure-annotations@7.27.1':
+ resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.28.4':
+ resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regexp-modifiers@7.27.1':
+ resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-reserved-words@7.27.1':
+ resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.28.3':
+ resolution: {integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1':
+ resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.27.1':
+ resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.27.1':
+ resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.27.1':
+ resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1':
+ resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-transform-typescript@7.27.1':
resolution: {integrity: sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-unicode-escapes@7.27.1':
+ resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.27.1':
+ resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.27.1':
+ resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1':
+ resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/preset-env@7.28.3':
+ resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/preset-react@7.27.1':
+ resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/preset-typescript@7.27.1':
resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/runtime-corejs3@7.28.4':
+ resolution: {integrity: sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/runtime@7.27.1':
resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==}
engines: {node: '>=6.9.0'}
@@ -740,14 +1295,29 @@ packages:
'@bufbuild/protobuf@2.9.0':
resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==}
+ '@colors/colors@1.5.0':
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+
'@colors/colors@1.6.0':
resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
engines: {node: '>=0.1.90'}
+ '@csstools/cascade-layer-name-parser@2.0.5':
+ resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
'@csstools/color-helpers@5.0.2':
resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==}
engines: {node: '>=18'}
+ '@csstools/color-helpers@5.1.0':
+ resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
+ engines: {node: '>=18'}
+
'@csstools/css-calc@2.1.3':
resolution: {integrity: sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw==}
engines: {node: '>=18'}
@@ -755,6 +1325,13 @@ packages:
'@csstools/css-parser-algorithms': ^3.0.4
'@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-calc@2.1.4':
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
'@csstools/css-color-parser@3.0.9':
resolution: {integrity: sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw==}
engines: {node: '>=18'}
@@ -762,19 +1339,468 @@ packages:
'@csstools/css-parser-algorithms': ^3.0.4
'@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-color-parser@3.1.0':
+ resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
'@csstools/css-parser-algorithms@3.0.4':
resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
engines: {node: '>=18'}
peerDependencies:
'@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-parser-algorithms@3.0.5':
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^3.0.4
+
'@csstools/css-tokenizer@3.0.3':
resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==}
engines: {node: '>=18'}
+ '@csstools/css-tokenizer@3.0.4':
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
+ engines: {node: '>=18'}
+
+ '@csstools/media-query-list-parser@4.0.3':
+ resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/postcss-alpha-function@1.0.1':
+ resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-cascade-layers@5.0.2':
+ resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-function-display-p3-linear@1.0.1':
+ resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-function@4.0.12':
+ resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-mix-function@3.0.12':
+ resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2':
+ resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-content-alt-text@2.0.8':
+ resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-contrast-color-function@2.0.12':
+ resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-exponential-functions@2.0.9':
+ resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-font-format-keywords@4.0.0':
+ resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-gamut-mapping@2.0.11':
+ resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-gradients-interpolation-method@5.0.12':
+ resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-hwb-function@4.0.12':
+ resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-ic-unit@4.0.4':
+ resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-initial@2.0.1':
+ resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-is-pseudo-class@5.0.3':
+ resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-light-dark-function@2.0.11':
+ resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-float-and-clear@3.0.0':
+ resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-overflow@2.0.0':
+ resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-overscroll-behavior@2.0.0':
+ resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-resize@3.0.0':
+ resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-viewport-units@3.0.4':
+ resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-media-minmax@2.0.9':
+ resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5':
+ resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-nested-calc@4.0.0':
+ resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-normalize-display-values@4.0.0':
+ resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-oklab-function@4.0.12':
+ resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-progressive-custom-properties@4.2.1':
+ resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-random-function@2.0.1':
+ resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-relative-color-syntax@3.0.12':
+ resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-scope-pseudo-class@4.0.1':
+ resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-sign-functions@1.1.4':
+ resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-stepped-value-functions@4.0.9':
+ resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-text-decoration-shorthand@4.0.3':
+ resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-trigonometric-functions@4.0.9':
+ resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-unset-value@4.0.0':
+ resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/selector-resolve-nested@3.1.0':
+ resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss-selector-parser: ^7.0.0
+
+ '@csstools/selector-specificity@5.0.0':
+ resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss-selector-parser: ^7.0.0
+
+ '@csstools/utilities@2.0.0':
+ resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
'@dabh/diagnostics@2.0.3':
resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==}
+ '@discoveryjs/json-ext@0.5.7':
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+
+ '@docsearch/css@4.1.0':
+ resolution: {integrity: sha512-nuNKGjHj/FQeWgE9t+i83QD/V67QiaAmGY7xS9TVCRUiCqSljOgIKlsLoQZKKVwEG8f+OWKdznzZkJxGZ7d06A==}
+
+ '@docsearch/react@4.1.0':
+ resolution: {integrity: sha512-4GHI7TT3sJZ2Vs4Kjadv7vAkMrTsJqHvzvxO3JA7UT8iPRKaDottG5o5uNshPWhVVaBYPC35Ukf8bfCotGpjSg==}
+ peerDependencies:
+ '@types/react': '>= 16.8.0 < 20.0.0'
+ react: '>= 16.8.0 < 20.0.0'
+ react-dom: '>= 16.8.0 < 20.0.0'
+ search-insights: '>= 1 < 3'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ search-insights:
+ optional: true
+
+ '@docusaurus/babel@3.9.0':
+ resolution: {integrity: sha512-QcZ+Rey0OvlLK9SPN4/+VWL+ut/tuADVdunA1fmC96fytdYjatdJrcw1koYdp/c+3k6lVYlwg9DDVNDecyLCAA==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/bundler@3.9.0':
+ resolution: {integrity: sha512-HaRLSmiwnJQ3uHBV3rd/BRDM9S/nHAshRk54djRZ+RX9ze4ONuFAovdD5es20ZDj7PRTjo38GVnBtHvuL/SwsQ==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@docusaurus/faster': '*'
+ peerDependenciesMeta:
+ '@docusaurus/faster':
+ optional: true
+
+ '@docusaurus/core@3.9.0':
+ resolution: {integrity: sha512-sEJ4MW/zuh1MfPORCRbSwnW/PjsVmOigWwBU6clcxm221/CNdnI/XqgfBrl2jj/zocSdNoQM8E3IP2W8dygi6g==}
+ engines: {node: '>=20.0'}
+ hasBin: true
+ peerDependencies:
+ '@mdx-js/react': ^3.0.0
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/cssnano-preset@3.9.0':
+ resolution: {integrity: sha512-prCJXUcoJZBlovJzSFkfnfWr1gXd53VZfE+17fIpUWS6Zioc7WE4FPoXPi5ldAGZ8brhXre5xQ8NWDE90XP9yw==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/logger@3.9.0':
+ resolution: {integrity: sha512-lDtThsocWTF8ZrVF01ltfctA/xgtD/3oXWqEkKIDzF4fCWsWXH7hC4LCqT23xSuxZTIo8N+y02XSPvA/8DLInw==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/mdx-loader@3.9.0':
+ resolution: {integrity: sha512-9bfJYdkZFE+REwevkT4CYdTJ2f6ydgkbUFylkzTXrNGtBXtx25TRJGdn2cVzm3eVkeWdJrGkG/ypwrIWnbu5UA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/module-type-aliases@3.9.0':
+ resolution: {integrity: sha512-0ucYr79FpTCebN+l3ZlKqoW7HbMqSKT8JdsEg6QoUtxD3C7trF6KZiK/X6Yh+xekO1w3zzXYgPcIYTF2DV81tQ==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
+ '@docusaurus/plugin-content-blog@3.9.0':
+ resolution: {integrity: sha512-XZXJ/rQgi2jT0XWNXOnSKooJgtGHPzkjaBjww6K9PD+YevNMTP9U8Y5sA7cLA5Bwuqrpee4i8NO3tSrjhhDW5w==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@docusaurus/plugin-content-docs': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-content-docs@3.9.0':
+ resolution: {integrity: sha512-PP+iDJg+lj4cn/7GbbmiguaQ8OX08YxnzQ17KqRC4ufJm11jdyXD33wA7vVtbeG/BkkgkiB/K7YyPHCPwmfVhg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-content-pages@3.9.0':
+ resolution: {integrity: sha512-ngetCpAZuivlaHC0l8a5KoK6PQWGuZ8742VwK7dbXeIW0Y70P4xwuocBdsCIQ9J6nB9rlTXRYMpNVyYyCpD7/Q==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-css-cascade-layers@3.9.0':
+ resolution: {integrity: sha512-giPTCjEzeaamMn8EHY/oDvsPDxF5ei1/q5lPUFQLldbc65jFQ1k6pPwKjtOznYy3TSfClCF1F1DNpYWIx7B5LA==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/plugin-debug@3.9.0':
+ resolution: {integrity: sha512-DuFOZya+bcrYiL54qBEn2rdKuoWWNyOV5IoHI2MURLzwuYaKu/J9Gi618XUsj3N3qvqG2uxWQiXZcs9ecfMadA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-google-analytics@3.9.0':
+ resolution: {integrity: sha512-mUXvpasTDR2pXdnkkhGxEgB9frVAvLGc+T3fp6SGT2F+YoEQtjcmz9D43zubQawLn+W1KEhoj+vPusYe+HAl+A==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-google-gtag@3.9.0':
+ resolution: {integrity: sha512-L4tCKYnmcyLV6VQs7XWQ3r7YSllagAU2GylZzdvz7NRMcXE12uSW5MCC2aSltbk09MYlqrYv1Ntp+ESsMvptYw==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-google-tag-manager@3.9.0':
+ resolution: {integrity: sha512-+jWO3tkrvsMUKQ69KTIj9ZBf8sKY5kodLcP4yIaEkPzfWq9IEpE+ekQCtFWlrAmkJUtSxbjHK6HNZZkUNwwq7w==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-sitemap@3.9.0':
+ resolution: {integrity: sha512-QOyLooWuF+On4q2RDGVZtKY0tlfdZwD9e/p7g1sJLUfOwN518V2Bo+kZtU82Or42SCKjyJ0lhSqAUOZfbeFhFw==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-svgr@3.9.0':
+ resolution: {integrity: sha512-pUZIfnhFtAYDmDwimFiBY+sxNUigyJnKbCwI9pTiXr3uGp43CsSsN8gwl/i8jBmqfsZzvNnGZNxc75wy9v6RXA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/preset-classic@3.9.0':
+ resolution: {integrity: sha512-nLoiDxf8bDNNxDSZ28+pFfSfT+QRi08Pn2K0zIvbjkM/X/otMs4ho0K8+2FpoLOoGApifaSuNfJXpGYnQV3rGA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/react-loadable@6.0.0':
+ resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==}
+ peerDependencies:
+ react: '*'
+
+ '@docusaurus/theme-classic@3.9.0':
+ resolution: {integrity: sha512-RToUIabJOyX41nMIxkFn8LPeA+uHgySzyd6Ak/gsINqWHHTLDMoYPxBUmNm3S+okcfuMI54kNYvD6TY+6TIYDA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/theme-common@3.9.0':
+ resolution: {integrity: sha512-pqNoQgttIpk7Ndm6N8OGbhi+1wBIQXQPYM7bPf1HDraXfvVpOzhcDty1yyK4coPWl0M7NxednZvKw4atfQ70Ew==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@docusaurus/plugin-content-docs': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/theme-search-algolia@3.9.0':
+ resolution: {integrity: sha512-nbY7ZJVA10kTiBLJtscxK1aECeYvYFz+Sno9PkCE9KeFXqRDr6omtNmLVkbvyl4b6xgz+6yOIBdO/idLPVDpWg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/theme-translations@3.9.0':
+ resolution: {integrity: sha512-4HUELBsE+rhtlnR1MsaNB9nJXPFZANeDQa5If1GfFVlis5mWUfdmXmbGangR7PfpK2tc56UETMtzjKrX5L5UWw==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/types@3.9.0':
+ resolution: {integrity: sha512-0klJLhHFHqkYoxIVp1LD7dnU1ASRTfSX+HFDiELOdz+YQUkOSfuU5hDa46zD8bLxrYffCb8FtJI7Z6BWAmVodg==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/utils-common@3.9.0':
+ resolution: {integrity: sha512-zpmzRn2mniMnrx8ZEYyyDsr0/7EksVgUXL9IuODp0DSK+R19nDGCY7w2NaMGRmGnrQQKsT3t0NDZzBk0V6N9Iw==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/utils-validation@3.9.0':
+ resolution: {integrity: sha512-xpVLdFPpsE5dYuE7hOtghccCrRWRhM6tUQ4YpfSy5snCDWgROITG5Mj22fGstd/HBqTzKD8NFs7qPPs42qjgWg==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/utils@3.9.0':
+ resolution: {integrity: sha512-wpVRQbDhXxqbb1llhkpu++aD4UdHHQ5M7J8DmJELDphlwmpI44TdS5elQZOsjzPfGyITZyQLekcDXjyteJ0/bw==}
+ engines: {node: '>=20.0'}
+
'@emotion/hash@0.9.2':
resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
@@ -1090,6 +2116,12 @@ packages:
'@floating-ui/utils@0.2.10':
resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
+ '@hapi/hoek@9.3.0':
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+
+ '@hapi/topo@5.1.0':
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+
'@headlessui/react@2.2.8':
resolution: {integrity: sha512-vkiZulDC0lFeTrZTbA4tHvhZHvkUb2PFh5xJ1BvWAZdRK0fayMKO1QEO4inWkXxK1i0I1rcwwu1d6mo0K7Pcbw==}
engines: {node: '>=10'}
@@ -1126,6 +2158,14 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
+ '@jest/schemas@29.6.3':
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/types@29.6.3':
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -1144,6 +2184,9 @@ packages:
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
+ '@jridgewell/source-map@0.3.11':
+ resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
+
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
@@ -1156,12 +2199,51 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+ '@jsonjoy.com/base64@1.1.2':
+ resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/buffers@1.0.0':
+ resolution: {integrity: sha512-NDigYR3PHqCnQLXYyoLbnEdzMMvzeiCWo1KOut7Q0CoIqg9tUAPKJ1iq/2nFhc5kZtexzutNY0LFjdwWL3Dw3Q==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/codegen@1.0.0':
+ resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/json-pack@1.14.0':
+ resolution: {integrity: sha512-LpWbYgVnKzphN5S6uss4M25jJ/9+m6q6UJoeN6zTkK4xAGhKsiBRPVeF7OYMWonn5repMQbE5vieRXcMUrKDKw==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/json-pointer@1.0.2':
+ resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/util@1.9.0':
+ resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
'@jspm/core@2.1.0':
resolution: {integrity: sha512-3sRl+pkyFY/kLmHl0cgHiFp2xEqErA8N3ECjMs7serSUBmoJ70lBa0PG5t0IM6WJgdZNyyI0R8YFfi5wM8+mzg==}
'@kurkle/color@0.3.4':
resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==}
+ '@leichtgewicht/ip-codec@2.0.5':
+ resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+
'@logto/client@3.1.4':
resolution: {integrity: sha512-aaz1XrLLTBii5lz3c7oHr/kqcR2iTbTehxlCn3YMnSyGUBVjoUYH4eU37wqf08nEYjtsLaSndYu63WVN8/Fpqw==}
@@ -1179,6 +2261,15 @@ packages:
'@mdx-js/mdx@2.3.0':
resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==}
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@mdx-js/react@3.1.1':
+ resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==}
+ peerDependencies:
+ '@types/react': '>=16'
+ react: '>=16'
+
'@nanostores/react@1.0.0':
resolution: {integrity: sha512-eDduyNy+lbQJMg6XxZ/YssQqF6b4OXMFEZMYKPJCCmBevp1lg0g+4ZRi94qGHirMtsNfAWKNwsjOhC+q1gvC+A==}
engines: {node: ^20.0.0 || >=22.0.0}
@@ -1382,6 +2473,18 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
+ '@pnpm/config.env-replace@1.1.0':
+ resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
+ engines: {node: '>=12.22.0'}
+
+ '@pnpm/network.ca-file@1.0.2':
+ resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
+ engines: {node: '>=12.22.0'}
+
+ '@pnpm/npm-conf@2.3.1':
+ resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==}
+ engines: {node: '>=12'}
+
'@polka/url@1.0.0-next.29':
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
@@ -2135,10 +3238,30 @@ packages:
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+ '@sideway/address@4.1.5':
+ resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+
+ '@sideway/formula@3.0.1':
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+
+ '@sideway/pinpoint@2.0.0':
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+
'@silverhand/essentials@2.9.2':
resolution: {integrity: sha512-bD+82D9Dfa1F5xX1kfdR5ODIoJS41NOxTuHx4shVS5A4/ayEG+ZplpDDjB19fsa7kZXgSgD75R4sUCXjm88x6w==}
engines: {node: ^18.12.0 || ^20.9.0 || ^22.0.0, pnpm: ^9.0.0}
+ '@sinclair/typebox@0.27.8':
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+
+ '@sindresorhus/is@4.6.0':
+ resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
+ engines: {node: '>=10'}
+
+ '@sindresorhus/is@5.6.0':
+ resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
+ engines: {node: '>=14.16'}
+
'@sindresorhus/slugify@2.2.1':
resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==}
engines: {node: '>=12'}
@@ -2147,6 +3270,15 @@ packages:
resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==}
engines: {node: '>=12'}
+ '@slorber/react-helmet-async@1.3.0':
+ resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==}
+ peerDependencies:
+ react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ '@slorber/remark-comment@1.0.0':
+ resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==}
+
'@smithy/eventstream-codec@4.0.4':
resolution: {integrity: sha512-7XoWfZqWb/QoR/rAU4VSi0mWnO2vu9/ltS6JZ5ZSZv0eovLVfDfu0/AX4ub33RsJTOth3TiFWSHS5YdztvFnig==}
engines: {node: '>=18.0.0'}
@@ -2186,9 +3318,91 @@ packages:
'@standard-schema/spec@1.0.0':
resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0':
+ resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0':
+ resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0':
+ resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0':
+ resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0':
+ resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0':
+ resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0':
+ resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-svg-component@8.0.0':
+ resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-preset@8.1.0':
+ resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/core@8.1.0':
+ resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
+ engines: {node: '>=14'}
+
+ '@svgr/hast-util-to-babel-ast@8.0.0':
+ resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
+ engines: {node: '>=14'}
+
+ '@svgr/plugin-jsx@8.1.0':
+ resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@svgr/plugin-svgo@8.1.0':
+ resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@svgr/webpack@8.1.0':
+ resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==}
+ engines: {node: '>=14'}
+
'@swc/helpers@0.5.17':
resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
+ '@szmarczak/http-timer@5.0.1':
+ resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
+ engines: {node: '>=14.16'}
+
'@tanstack/react-virtual@3.13.9':
resolution: {integrity: sha512-SPWC8kwG/dWBf7Py7cfheAPOxuvIv4fFQ54PdmYbg7CpXfsKxkucak43Q0qKsxVthhUJQ1A7CIMAIplq4BjVwA==}
peerDependencies:
@@ -2228,6 +3442,10 @@ packages:
'@tokenizer/token@0.3.0':
resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
'@types/acorn@4.0.6':
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
@@ -2249,12 +3467,18 @@ packages:
'@types/body-parser@1.19.5':
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+ '@types/bonjour@3.5.13':
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+
'@types/chai@5.2.2':
resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==}
'@types/compression@1.8.1':
resolution: {integrity: sha512-kCFuWS0ebDbmxs0AXYn6e2r2nrGAb5KwQhknjSPSPgJcGd8+HVSILlUyFhGqML2gk39HcG7D1ydW9/qpYkN00Q==}
+ '@types/connect-history-api-fallback@1.5.4':
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
@@ -2267,6 +3491,12 @@ packages:
'@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
+ '@types/eslint-scope@3.7.7':
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+
+ '@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==}
@@ -2276,27 +3506,60 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/express-serve-static-core@4.19.6':
+ resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==}
+
'@types/express-serve-static-core@5.0.6':
resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==}
+ '@types/express@4.17.23':
+ resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==}
+
'@types/express@5.0.3':
resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==}
+ '@types/gtag.js@0.0.12':
+ resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==}
+
'@types/hast@2.3.10':
resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ '@types/history@4.7.11':
+ resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==}
+
'@types/hoist-non-react-statics@3.3.6':
resolution: {integrity: sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==}
+ '@types/html-minifier-terser@6.1.0':
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+
+ '@types/http-cache-semantics@4.0.4':
+ resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
+
'@types/http-errors@2.0.4':
resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+ '@types/http-proxy@1.17.16':
+ resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
'@types/js-cookie@3.0.6':
resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==}
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
'@types/lodash@4.17.20':
resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==}
@@ -2315,6 +3578,12 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+ '@types/node-forge@1.3.14':
+ resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==}
+
+ '@types/node@17.0.45':
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+
'@types/node@22.15.21':
resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==}
@@ -2324,6 +3593,9 @@ packages:
'@types/path-browserify@1.0.3':
resolution: {integrity: sha512-ZmHivEbNCBtAfcrFeBCiTjdIc2dey0l7oCGNGpSuRTy8jP6UVND7oUowlvDujBy8r2Hoa8bfFUOCiPWfmtkfxw==}
+ '@types/prismjs@1.26.5':
+ resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
+
'@types/prop-types@15.7.15':
resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
@@ -2341,15 +3613,36 @@ packages:
peerDependencies:
'@types/react': ^18.0.0
+ '@types/react-router-config@5.0.11':
+ resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
+
+ '@types/react-router-dom@5.3.3':
+ resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
+
+ '@types/react-router@5.1.20':
+ resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
+
'@types/react@18.3.24':
resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==}
+ '@types/retry@0.12.2':
+ resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
+
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
'@types/send@0.17.4':
resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+ '@types/serve-index@1.9.4':
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+
'@types/serve-static@1.15.7':
resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==}
+ '@types/sockjs@0.3.36':
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+
'@types/triple-beam@1.3.5':
resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==}
@@ -2362,6 +3655,15 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ '@types/yargs@17.0.33':
+ resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
+
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
@@ -2501,6 +3803,57 @@ packages:
'@web3-storage/multipart-parser@1.0.0':
resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
+ '@webassemblyjs/ast@1.14.1':
+ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2':
+ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+
+ '@webassemblyjs/helper-api-error@1.13.2':
+ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+
+ '@webassemblyjs/helper-buffer@1.14.1':
+ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
+ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
+
+ '@webassemblyjs/ieee754@1.13.2':
+ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
+
+ '@webassemblyjs/leb128@1.13.2':
+ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
+
+ '@webassemblyjs/utf8@1.13.2':
+ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
'@zxing/text-encoding@0.9.0':
resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==}
@@ -2512,16 +3865,35 @@ packages:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
+ acorn-import-phases@1.0.4:
+ resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ acorn: ^8.14.0
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ engines: {node: '>=0.4.0'}
+
acorn@8.14.1:
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
engines: {node: '>=0.4.0'}
hasBin: true
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
agent-base@7.1.3:
resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
engines: {node: '>= 14'}
@@ -2536,6 +3908,51 @@ packages:
peerDependencies:
zod: ^3.25.76 || ^4
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv-keywords@5.1.0:
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ algoliasearch-helper@3.26.0:
+ resolution: {integrity: sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==}
+ peerDependencies:
+ algoliasearch: '>= 3.1 < 6'
+
+ algoliasearch@5.38.0:
+ resolution: {integrity: sha512-8VJKIzheeI9cjuVJhU1hYEVetOTe7LvA+CujAI7yqvYsPtZfVEvv1pg9AeFNtHBg/ZoSLGU5LPijhcY5l3Ea9g==}
+ engines: {node: '>= 14.0.0'}
+
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -2563,6 +3980,9 @@ packages:
arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
@@ -2580,6 +4000,10 @@ packages:
array-flatten@1.1.1:
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
asn1.js@4.10.1:
resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==}
@@ -2594,6 +4018,13 @@ packages:
async@3.2.6:
resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+ autoprefixer@10.4.21:
+ resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -2601,6 +4032,31 @@ packages:
aws4fetch@1.0.20:
resolution: {integrity: sha512-/djoAN709iY65ETD6LKCtyyEI04XIBP5xVvfmNxsEP0uJB5tyaGBztSryRr4HqMStr9R06PisQE7m9zDTXKu6g==}
+ babel-loader@9.2.1:
+ resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ webpack: '>=5'
+
+ babel-plugin-dynamic-import-node@2.3.3:
+ resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
+
+ babel-plugin-polyfill-corejs2@0.4.14:
+ resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.13.0:
+ resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-regenerator@0.6.5:
+ resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
@@ -2614,16 +4070,26 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ baseline-browser-mapping@2.8.7:
+ resolution: {integrity: sha512-bxxN2M3a4d1CRoQC//IqsR5XrLh0IJ8TCv2x6Y9N0nckNz/rTjZB3//GGscZziZOxmjP55rzxg/ze7usFI9FqQ==}
+ hasBin: true
+
basic-auth@2.0.1:
resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
engines: {node: '>= 0.8'}
+ batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+
before-after-hook@4.0.0:
resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==}
better-sqlite3@11.10.0:
resolution: {integrity: sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==}
+ big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
@@ -2644,6 +4110,23 @@ packages:
resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ bonjour-service@1.3.0:
+ resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ boxen@6.2.1:
+ resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ boxen@7.1.1:
+ resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
+ engines: {node: '>=14.16'}
+
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
@@ -2679,6 +4162,11 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ browserslist@4.26.2:
+ resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
buffer-builder@0.2.0:
resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==}
@@ -2691,6 +4179,14 @@ packages:
buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+
bytes@3.1.2:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
@@ -2711,6 +4207,14 @@ packages:
resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ cacheable-lookup@7.0.0:
+ resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
+ engines: {node: '>=14.16'}
+
+ cacheable-request@10.2.14:
+ resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
+ engines: {node: '>=14.16'}
+
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
@@ -2723,6 +4227,13 @@ packages:
resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
engines: {node: '>= 0.4'}
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+
camelcase-keys@9.1.3:
resolution: {integrity: sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==}
engines: {node: '>=16'}
@@ -2731,13 +4242,27 @@ packages:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+
camelcase@8.0.0:
resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
engines: {node: '>=16'}
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
caniuse-lite@1.0.30001718:
resolution: {integrity: sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==}
+ caniuse-lite@1.0.30001745:
+ resolution: {integrity: sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==}
+
canvg@3.0.11:
resolution: {integrity: sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==}
engines: {node: '>=10.0.0'}
@@ -2757,6 +4282,10 @@ packages:
resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
@@ -2777,6 +4306,13 @@ packages:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
+ cheerio-select@2.1.0:
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
+
+ cheerio@1.0.0-rc.12:
+ resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
+ engines: {node: '>= 6'}
+
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -2792,6 +4328,14 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
+ chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
cipher-base@1.0.6:
resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==}
engines: {node: '>= 0.10'}
@@ -2805,10 +4349,18 @@ packages:
classnames@2.5.1:
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
+ clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+
clean-stack@2.2.0:
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'}
@@ -2817,6 +4369,10 @@ packages:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
+ cli-table3@0.6.5:
+ resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
+ engines: {node: 10.* || >= 12.*}
+
cliui@6.0.0:
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
@@ -2824,6 +4380,10 @@ packages:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
+ clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+
clone@1.0.4:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
@@ -2832,6 +4392,9 @@ packages:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -2851,6 +4414,9 @@ packages:
color@3.2.1:
resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -2860,9 +4426,35 @@ packages:
colorspace@1.1.4:
resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==}
+ combine-promises@1.2.0:
+ resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
+ engines: {node: '>=10'}
+
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@5.1.0:
+ resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ common-path-prefix@3.0.0:
+ resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+
compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'}
@@ -2871,6 +4463,9 @@ packages:
resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==}
engines: {node: '>= 0.8.0'}
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
concurrently@9.2.1:
resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==}
engines: {node: '>=18'}
@@ -2882,10 +4477,25 @@ packages:
confbox@0.2.2:
resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+ config-chain@1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+
+ configstore@6.0.0:
+ resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
+ engines: {node: '>=12'}
+
+ connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+
consola@3.4.2:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
+ content-disposition@0.5.2:
+ resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
+ engines: {node: '>= 0.6'}
+
content-disposition@0.5.4:
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
engines: {node: '>= 0.6'}
@@ -2912,6 +4522,18 @@ packages:
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
engines: {node: '>= 0.6'}
+ copy-webpack-plugin@11.0.0:
+ resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ webpack: ^5.1.0
+
+ core-js-compat@3.45.1:
+ resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==}
+
+ core-js-pure@3.45.1:
+ resolution: {integrity: sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==}
+
core-js@3.42.0:
resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==}
@@ -2922,6 +4544,15 @@ packages:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
engines: {node: '>= 0.10'}
+ cosmiconfig@8.3.6:
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
create-ecdh@4.0.4:
resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==}
@@ -2944,9 +4575,88 @@ packages:
resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==}
engines: {node: '>= 0.10'}
+ crypto-random-string@4.0.0:
+ resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
+ engines: {node: '>=12'}
+
+ css-blank-pseudo@7.0.1:
+ resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ css-declaration-sorter@7.3.0:
+ resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-has-pseudo@7.0.3:
+ resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
css-line-break@2.1.0:
resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==}
+ css-loader@6.11.0:
+ resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ css-minimizer-webpack-plugin@5.0.1:
+ resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@parcel/css': '*'
+ '@swc/css': '*'
+ clean-css: '*'
+ csso: '*'
+ esbuild: '*'
+ lightningcss: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@parcel/css':
+ optional: true
+ '@swc/css':
+ optional: true
+ clean-css:
+ optional: true
+ csso:
+ optional: true
+ esbuild:
+ optional: true
+ lightningcss:
+ optional: true
+
+ css-prefers-color-scheme@10.0.0:
+ resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-select@5.2.2:
+ resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
+
+ 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'}
+
+ css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
css-tree@3.1.0:
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
@@ -2958,11 +4668,42 @@ packages:
css.escape@1.5.1:
resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+ cssdb@8.4.2:
+ resolution: {integrity: sha512-PzjkRkRUS+IHDJohtxkIczlxPPZqRo0nXplsYXOMBRPjcVRjj1W4DfvRgshUYTVuUigU7ptVYkFJQ7abUB0nyg==}
+
cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
+ cssnano-preset-advanced@6.1.2:
+ resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano-preset-default@6.1.2:
+ resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano-utils@4.0.2:
+ resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano@6.1.2:
+ resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
cssstyle@4.3.1:
resolution: {integrity: sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==}
engines: {node: '>=18'}
@@ -2985,6 +4726,9 @@ packages:
date-fns@4.1.0:
resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
+ debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -3047,13 +4791,37 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
defaults@1.0.4:
resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ defer-to-connect@2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
+
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
@@ -3061,6 +4829,10 @@ packages:
resolution: {integrity: sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw==}
engines: {node: '>=16'}
+ depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+
depd@2.0.0:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
@@ -3091,6 +4863,14 @@ packages:
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+ detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+
+ detect-port@1.6.1:
+ resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==}
+ engines: {node: '>= 4.0.0'}
+ hasBin: true
+
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -3108,18 +4888,59 @@ packages:
dijkstrajs@1.0.3:
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
dnd-core@16.0.1:
resolution: {integrity: sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==}
+ dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
dom-accessibility-api@0.6.3:
resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+ dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
dompurify@3.2.7:
resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==}
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ dot-prop@6.0.1:
+ resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
+ engines: {node: '>=10'}
+
dotenv@16.6.1:
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
@@ -3150,6 +4971,9 @@ packages:
electron-to-chromium@1.5.155:
resolution: {integrity: sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==}
+ electron-to-chromium@1.5.224:
+ resolution: {integrity: sha512-kWAoUu/bwzvnhpdZSIc6KUyvkI1rbRXMT0Eq8pKReyOyaPZcctMli+EgvcN1PAvwVc7Tdo4Fxi2PsLNDU05mdg==}
+
elliptic@6.6.1:
resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==}
@@ -3163,6 +4987,16 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ emojilib@2.4.0:
+ resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==}
+
+ emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+
+ emoticon@4.1.0:
+ resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==}
+
empathic@2.0.0:
resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
engines: {node: '>=14'}
@@ -3184,6 +5018,17 @@ packages:
end-of-stream@1.4.4:
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ enhanced-resolve@5.18.3:
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
+ engines: {node: '>=10.13.0'}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
entities@6.0.0:
resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==}
engines: {node: '>=0.12'}
@@ -3191,6 +5036,9 @@ packages:
err-code@2.0.3:
resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
+
es-define-property@1.0.1:
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
@@ -3206,6 +5054,12 @@ packages:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
+ 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-plugins-node-modules-polyfill@1.7.0:
resolution: {integrity: sha512-Z81w5ReugIBAgufGeGWee+Uxzgs5Na4LprUAK3XlJEh2ktY3LkNuEGMaZyBXxQxGK8SQDS5yKLW5QKGF5qLjYA==}
engines: {node: '>=14.0.0'}
@@ -3226,19 +5080,58 @@ packages:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
+ escape-goat@4.0.0:
+ resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
+ engines: {node: '>=12'}
+
escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
escape-string-regexp@5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
estree-util-attach-comments@2.1.1:
resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==}
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
estree-util-build-jsx@2.2.2:
resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==}
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
estree-util-is-identifier-name@1.1.0:
resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==}
@@ -3248,19 +5141,39 @@ packages:
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@1.2.0:
resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==}
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
estree-util-value-to-estree@1.3.0:
resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==}
engines: {node: '>=12.0.0'}
+ estree-util-value-to-estree@3.4.0:
+ resolution: {integrity: sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==}
+
estree-util-visit@1.2.1:
resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==}
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ eta@2.2.0:
+ resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==}
+ engines: {node: '>=6.0.0'}
+
etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
@@ -3273,6 +5186,13 @@ packages:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
eventsource-parser@3.0.6:
resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==}
engines: {node: '>=18.0.0'}
@@ -3312,6 +5232,10 @@ packages:
exsolve@1.0.7:
resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+ extend-shallow@2.0.1:
+ resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -3329,15 +5253,25 @@ packages:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
fast-png@6.4.0:
resolution: {integrity: sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==}
+ fast-uri@3.1.0:
+ resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+
fastq@1.19.1:
resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
fault@2.0.1:
resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
+ faye-websocket@0.11.4:
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
+ engines: {node: '>=0.8.0'}
+
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -3350,6 +5284,10 @@ packages:
fecha@4.2.3:
resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==}
+ feed@4.2.2:
+ resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
+ engines: {node: '>=0.4.0'}
+
fetch-blob@3.2.0:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
@@ -3357,6 +5295,16 @@ packages:
fflate@0.8.2:
resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+ figures@3.2.0:
+ resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
+ engines: {node: '>=8'}
+
+ file-loader@6.2.0:
+ resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
file-stream-rotator@0.6.1:
resolution: {integrity: sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==}
@@ -3375,6 +5323,10 @@ packages:
resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
engines: {node: '>= 0.8'}
+ find-cache-dir@4.0.0:
+ resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
+ engines: {node: '>=14.16'}
+
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -3383,9 +5335,26 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
+ find-up@6.3.0:
+ resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ flat@5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+
fn.name@1.1.0:
resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==}
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
for-each@0.3.5:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
@@ -3394,6 +5363,10 @@ packages:
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
+ form-data-encoder@2.1.4:
+ resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
+ engines: {node: '>= 14.17'}
+
format@0.2.2:
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
engines: {node: '>=0.4.x'}
@@ -3406,6 +5379,9 @@ packages:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
framer-motion@12.23.19:
resolution: {integrity: sha512-AaWAohgTs2+wUoDdpJaaqMgV6vkm1uzzDlZUItem45linLrFiFqi4iw7bryhcVqu4loaaSLtSjAojfCAB3qczw==}
peerDependencies:
@@ -3431,6 +5407,10 @@ packages:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
+ fs-extra@11.3.2:
+ resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==}
+ engines: {node: '>=14.14'}
+
fs-minipass@2.1.0:
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
engines: {node: '>= 8'}
@@ -3466,6 +5446,9 @@ packages:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
engines: {node: '>=6'}
+ get-own-enumerable-property-symbols@3.0.2:
+ resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+
get-port@5.1.1:
resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
engines: {node: '>=8'}
@@ -3485,14 +5468,34 @@ packages:
github-from-package@0.0.0:
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
+ github-slugger@1.5.0:
+ resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
+
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob-to-regex.js@1.0.1:
+ resolution: {integrity: sha512-CG/iEvgQqfzoVsMUbxSJcwbG2JwyZ3naEqPkeltwl0BSS8Bp83k3xlGms+0QdWFUAwV+uvo80wNswKF6FWEkKg==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
+ global-dirs@3.0.1:
+ resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
+ engines: {node: '>=10'}
+
globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
@@ -3501,6 +5504,14 @@ packages:
resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
engines: {node: '>=18'}
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ globby@13.2.2:
+ resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
globrex@0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
@@ -3508,9 +5519,20 @@ packages:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
+ got@12.6.1:
+ resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
+ engines: {node: '>=14.16'}
+
+ graceful-fs@4.2.10:
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
+
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ gray-matter@4.0.3:
+ resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
+ engines: {node: '>=6.0'}
+
gunzip-maybe@1.4.2:
resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==}
hasBin: true
@@ -3519,6 +5541,9 @@ packages:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'}
+ handle-thing@2.0.1:
+ resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
@@ -3534,6 +5559,10 @@ packages:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
+ has-yarn@3.0.0:
+ resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
hash-base@3.0.5:
resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==}
engines: {node: '>= 0.10'}
@@ -3560,6 +5589,9 @@ packages:
hast-util-to-estree@2.3.3:
resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==}
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
hast-util-to-html@9.0.5:
resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
@@ -3578,6 +5610,13 @@ packages:
hastscript@9.0.1:
resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+ history@4.10.1:
+ resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
+
hmac-drbg@1.0.1:
resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
@@ -3592,28 +5631,96 @@ packages:
resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hpack.js@2.1.6:
+ resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+
html-encoding-sniffer@4.0.0:
resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
engines: {node: '>=18'}
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+ html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ html-minifier-terser@7.2.0:
+ resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+
html-url-attributes@3.0.1:
resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+ html-webpack-plugin@5.6.4:
+ resolution: {integrity: sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
html2canvas@1.4.1:
resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
engines: {node: '>=8.0.0'}
+ htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+
+ htmlparser2@8.0.2:
+ resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+
+ http-cache-semantics@4.2.0:
+ resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
+
+ http-deceiver@1.2.7:
+ resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+
+ http-errors@1.6.3:
+ resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
+ engines: {node: '>= 0.6'}
+
http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
+ http-parser-js@0.5.10:
+ resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==}
+
http-proxy-agent@7.0.2:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
engines: {node: '>= 14'}
+ http-proxy-middleware@2.0.9:
+ resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/express': ^4.17.13
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+
+ http-proxy@1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+
+ http2-wrapper@2.2.1:
+ resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
+ engines: {node: '>=10.19.0'}
+
https-proxy-agent@7.0.6:
resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
engines: {node: '>= 14'}
@@ -3627,6 +5734,10 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ hyperdyperid@1.2.0:
+ resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==}
+ engines: {node: '>=10.18'}
+
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -3644,12 +5755,29 @@ packages:
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ image-size@2.0.2:
+ resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
immutable@5.1.2:
resolution: {integrity: sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==}
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ import-lazy@4.0.0:
+ resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+ engines: {node: '>=8'}
+
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -3662,18 +5790,32 @@ packages:
resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==}
engines: {node: '>=18'}
+ infima@0.2.0-alpha.45:
+ resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==}
+ engines: {node: '>=12'}
+
+ inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ ini@2.0.0:
+ resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
+ engines: {node: '>=10'}
+
inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
inline-style-parser@0.2.4:
resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+ invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+
iobuffer@5.4.0:
resolution: {integrity: sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==}
@@ -3685,6 +5827,10 @@ packages:
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
engines: {node: '>= 0.10'}
+ ipaddr.js@2.2.0:
+ resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
+ engines: {node: '>= 10'}
+
is-alphabetical@2.0.1:
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
@@ -3695,6 +5841,9 @@ packages:
resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
engines: {node: '>= 0.4'}
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
is-arrayish@0.3.2:
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
@@ -3710,6 +5859,10 @@ packages:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
+ is-ci@3.0.1:
+ resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
+ hasBin: true
+
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
@@ -3720,6 +5873,20 @@ packages:
is-deflate@1.0.0:
resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==}
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-extendable@0.1.1:
+ resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
+ engines: {node: '>=0.10.0'}
+
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -3743,18 +5910,47 @@ packages:
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'}
+ hasBin: true
+
+ is-installed-globally@0.4.0:
+ resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
+ engines: {node: '>=10'}
+
is-interactive@1.0.0:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
+ is-network-error@1.3.0:
+ resolution: {integrity: sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==}
+ engines: {node: '>=16'}
+
+ is-npm@6.1.0:
+ resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
+ is-obj@1.0.1:
+ resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
+ engines: {node: '>=0.10.0'}
+
+ is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+
is-obj@3.0.0:
resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==}
engines: {node: '>=12'}
+ is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
is-plain-obj@3.0.0:
resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
engines: {node: '>=10'}
@@ -3763,6 +5959,10 @@ packages:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
+ is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
@@ -3773,6 +5973,10 @@ packages:
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
+ is-regexp@1.0.0:
+ resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
+ engines: {node: '>=0.10.0'}
+
is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
@@ -3781,10 +5985,28 @@ packages:
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
engines: {node: '>= 0.4'}
+ is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+
is-unicode-supported@0.1.0:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ is-yarn-global@0.4.1:
+ resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
+ engines: {node: '>=12'}
+
+ isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -3795,12 +6017,32 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
javascript-stringify@2.1.0:
resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
+ jest-util@29.7.0:
+ resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@29.7.0:
+ resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jiti@1.21.7:
+ resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
+ hasBin: true
+
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
@@ -3809,6 +6051,9 @@ packages:
resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==}
hasBin: true
+ joi@17.13.3:
+ resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
+
jose@5.10.0:
resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==}
@@ -3828,6 +6073,10 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+ js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+
js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
@@ -3846,10 +6095,27 @@ packages:
engines: {node: '>=6'}
hasBin: true
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
json-parse-even-better-errors@3.0.2:
resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
json-schema@0.4.0:
resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
@@ -3871,6 +6137,17 @@ packages:
jszip@3.10.1:
resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
+ kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+
kleur@4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
@@ -3885,6 +6162,17 @@ packages:
resolution: {integrity: sha512-7Bp3TpsE+L+TARSnnDpk3xg8Idi8RwSLdj6CMbNWoOARIrGrbuLGusV0dYwbZOm4bB3jHNxSw8Wk/ByDqJEnDw==}
engines: {node: '>=18'}
+ latest-version@7.0.0:
+ resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==}
+ engines: {node: '>=14.16'}
+
+ launch-editor@2.11.1:
+ resolution: {integrity: sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==}
+
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+
lie@3.3.0:
resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
@@ -3892,6 +6180,17 @@ packages:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+
+ loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+
loader-utils@3.3.1:
resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
engines: {node: '>= 12.13.0'}
@@ -3908,12 +6207,22 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
+ locate-path@7.2.0:
+ resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@@ -3938,6 +6247,13 @@ packages:
loupe@3.2.1:
resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
+ lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+
+ lowercase-keys@3.0.0:
+ resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
@@ -3966,9 +6282,21 @@ packages:
resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==}
engines: {node: '>=0.10.0'}
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@2.0.0:
+ resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==}
+
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+ marked@16.3.0:
+ resolution: {integrity: sha512-K3UxuKu6l6bmA5FUwYho8CfJBlsUWAooKtdGgMcERSpF7gcBUrCGsLH7wDaaNOzwq18JzSUDyoEb/YsrqMac3w==}
+ engines: {node: '>= 20'}
+ hasBin: true
+
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -3979,6 +6307,9 @@ packages:
mdast-util-definitions@5.1.2:
resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
+ mdast-util-directive@3.1.0:
+ resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==}
+
mdast-util-find-and-replace@3.0.2:
resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
@@ -3991,6 +6322,9 @@ packages:
mdast-util-frontmatter@1.0.1:
resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==}
+ mdast-util-frontmatter@2.0.1:
+ resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
+
mdast-util-gfm-autolink-literal@2.0.1:
resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
@@ -4024,6 +6358,9 @@ packages:
mdast-util-mdx@2.0.1:
resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==}
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
mdast-util-mdxjs-esm@1.3.1:
resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==}
@@ -4054,6 +6391,12 @@ packages:
mdast-util-to-string@4.0.0:
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+ mdn-data@2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+
+ mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+
mdn-data@2.12.2:
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
@@ -4064,6 +6407,9 @@ packages:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
+ memfs@4.46.1:
+ resolution: {integrity: sha512-2wjHDg7IjP+ufAqqqSxjiNePFDrvWviA79ajUwG9lkHhk3HzZOLBzzoUG8cx9vCagj6VvBQD7oXuLuFz5LaAOQ==}
+
merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
@@ -4084,9 +6430,15 @@ packages:
micromark-core-commonmark@2.0.3:
resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+ micromark-extension-directive@3.0.2:
+ resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
+
micromark-extension-frontmatter@1.1.1:
resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==}
+ micromark-extension-frontmatter@2.0.0:
+ resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
+
micromark-extension-gfm-autolink-literal@2.1.0:
resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
@@ -4111,18 +6463,33 @@ packages:
micromark-extension-mdx-expression@1.0.8:
resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==}
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
micromark-extension-mdx-jsx@1.0.5:
resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==}
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
micromark-extension-mdx-md@1.0.1:
resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==}
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
micromark-extension-mdxjs-esm@1.0.5:
resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==}
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
micromark-extension-mdxjs@1.0.1:
resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==}
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
micromark-factory-destination@1.1.0:
resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
@@ -4138,6 +6505,9 @@ packages:
micromark-factory-mdx-expression@1.0.9:
resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==}
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
micromark-factory-space@1.1.0:
resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
@@ -4201,6 +6571,9 @@ packages:
micromark-util-events-to-acorn@1.2.3:
resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==}
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
micromark-util-html-tag-name@1.2.0:
resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
@@ -4257,6 +6630,10 @@ packages:
resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==}
hasBin: true
+ mime-db@1.33.0:
+ resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==}
+ engines: {node: '>= 0.6'}
+
mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
@@ -4265,10 +6642,18 @@ packages:
resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
+ mime-types@2.1.18:
+ resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
+ engines: {node: '>= 0.6'}
+
mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
+ mime-types@3.0.1:
+ resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
+ engines: {node: '>= 0.6'}
+
mime@1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
engines: {node: '>=4'}
@@ -4282,16 +6667,29 @@ packages:
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
engines: {node: '>=10'}
+ mimic-response@4.0.0:
+ resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
min-indent@1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
+ mini-css-extract-plugin@2.9.4:
+ resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
minimalistic-crypto-utils@1.0.1:
resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
minimatch@9.0.5:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -4372,6 +6770,10 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ multicast-dns@7.2.5:
+ resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
+ hasBin: true
+
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -4392,6 +6794,12 @@ packages:
resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==}
engines: {node: '>= 0.6'}
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
node-abi@3.77.0:
resolution: {integrity: sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==}
engines: {node: '>=10'}
@@ -4404,6 +6812,10 @@ packages:
engines: {node: '>=10.5.0'}
deprecated: Use your platform's native DOMException instead
+ node-emoji@2.2.0:
+ resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==}
+ engines: {node: '>=18'}
+
node-fetch-native@1.6.6:
resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==}
@@ -4411,9 +6823,16 @@ packages:
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+ node-releases@2.0.21:
+ resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==}
+
normalize-package-data@5.0.0:
resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -4422,6 +6841,14 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@8.1.0:
+ resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==}
+ engines: {node: '>=14.16'}
+
npm-install-checks@6.3.0:
resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -4442,6 +6869,18 @@ packages:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
+ nprogress@0.2.0:
+ resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ null-loader@4.0.1:
+ resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
nwsapi@2.2.20:
resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
@@ -4462,6 +6901,17 @@ packages:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
+ engines: {node: '>= 0.4'}
+
+ obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
ofetch@1.4.1:
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
@@ -4502,6 +6952,14 @@ packages:
oniguruma-to-es@4.3.3:
resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
+ open@10.2.0:
+ resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
+ engines: {node: '>=18'}
+
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
openai-zod-to-json-schema@1.0.3:
resolution: {integrity: sha512-CFU+KtOmX1dk2nPCZcGYgbrI3YLJJgMSehx1mLbH1A2fsRmZevHzMau6vFIhtkCpHWkGQ3ossA4a0OzVHlGrkw==}
engines: {node: '>=18'}
@@ -4517,6 +6975,10 @@ packages:
openapi3-ts@4.5.0:
resolution: {integrity: sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==}
+ opener@1.5.2:
+ resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
+ hasBin: true
+
ora@5.4.1:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
@@ -4524,6 +6986,14 @@ packages:
outdent@0.8.0:
resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==}
+ p-cancelable@3.0.0:
+ resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
+ engines: {node: '>=12.20'}
+
+ p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -4532,6 +7002,10 @@ packages:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
+ p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -4540,14 +7014,30 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
+ p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
p-map@4.0.0:
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
engines: {node: '>=10'}
+ p-queue@6.6.2:
+ resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
+ engines: {node: '>=8'}
+
+ p-retry@6.2.1:
+ resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==}
+ engines: {node: '>=16.17'}
+
p-throttle@6.2.0:
resolution: {integrity: sha512-NCKkOVj6PZa6NiTmfvGilDdf6vO1rFCD3KDnkHko8dTOtkpk4cSR/VTAhhLMG9aiQ7/A9HYgEDNmxzf6hxzR3g==}
engines: {node: '>=18'}
+ p-timeout@3.2.0:
+ resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
+ engines: {node: '>=8'}
+
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
@@ -4555,6 +7045,10 @@ packages:
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+ package-json@8.1.1:
+ resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
+ engines: {node: '>=14.16'}
+
package-manager-detector@1.3.0:
resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
@@ -4567,6 +7061,13 @@ packages:
pako@2.1.0:
resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==}
+ param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
parse-asn1@5.1.7:
resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==}
engines: {node: '>= 0.10'}
@@ -4574,6 +7075,10 @@ packages:
parse-entities@4.0.2:
resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
parse-json@8.3.0:
resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==}
engines: {node: '>=18'}
@@ -4582,6 +7087,12 @@ packages:
resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==}
engines: {node: '>=6'}
+ parse-numeric-range@1.3.0:
+ resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
+
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
+
parse5@7.3.0:
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
@@ -4589,6 +7100,9 @@ packages:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
+ pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+
path-browserify@1.0.1:
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
@@ -4596,10 +7110,20 @@ packages:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
+ path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ path-is-inside@1.0.2:
+ resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
+
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
path-scurry@1.11.1:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
@@ -4607,6 +7131,16 @@ packages:
path-to-regexp@0.1.12:
resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
+ path-to-regexp@1.9.0:
+ resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==}
+
+ path-to-regexp@3.3.0:
+ resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
@@ -4653,6 +7187,10 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
+ pkg-dir@7.0.0:
+ resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
+ engines: {node: '>=14.16'}
+
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
@@ -4675,12 +7213,155 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
+ postcss-attribute-case-insensitive@7.0.1:
+ resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-calc@9.0.1:
+ resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.2
+
+ postcss-clamp@4.1.0:
+ resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==}
+ engines: {node: '>=7.6.0'}
+ peerDependencies:
+ postcss: ^8.4.6
+
+ postcss-color-functional-notation@7.0.12:
+ resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-color-hex-alpha@10.0.0:
+ resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-color-rebeccapurple@10.0.0:
+ resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-colormin@6.1.0:
+ resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-convert-values@6.1.0:
+ resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-custom-media@11.0.6:
+ resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-custom-properties@14.0.6:
+ resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-custom-selectors@8.0.5:
+ resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-dir-pseudo-class@9.0.1:
+ resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-discard-comments@6.0.2:
+ resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
postcss-discard-duplicates@5.1.0:
resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
engines: {node: ^10 || ^12 || >=14.0}
peerDependencies:
postcss: ^8.2.15
+ postcss-discard-duplicates@6.0.3:
+ resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-empty@6.0.3:
+ resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-overridden@6.0.2:
+ resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-unused@6.0.5:
+ resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-double-position-gradients@6.0.4:
+ resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-focus-visible@10.0.1:
+ resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-focus-within@9.0.1:
+ resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-font-variant@5.0.0:
+ resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-gap-properties@6.0.0:
+ resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-image-set-function@7.0.0:
+ resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-lab-function@7.0.12:
+ resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
postcss-load-config@4.0.2:
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
engines: {node: '>= 14'}
@@ -4693,6 +7374,61 @@ packages:
ts-node:
optional: true
+ postcss-loader@7.3.4:
+ resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+
+ postcss-logical@8.1.0:
+ resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-merge-idents@6.0.3:
+ resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-merge-longhand@6.0.5:
+ resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-merge-rules@6.1.1:
+ resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-font-values@6.1.0:
+ resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-gradients@6.0.3:
+ resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-params@6.1.0:
+ resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-selectors@6.0.4:
+ resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
postcss-modules-extract-imports@3.1.0:
resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
engines: {node: ^10 || ^12 || >= 14}
@@ -4722,13 +7458,171 @@ packages:
peerDependencies:
postcss: ^8.0.0
+ postcss-nesting@13.0.2:
+ resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-normalize-charset@6.0.2:
+ resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-display-values@6.0.2:
+ resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-positions@6.0.2:
+ resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-repeat-style@6.0.2:
+ resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-string@6.0.2:
+ resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-timing-functions@6.0.2:
+ resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-unicode@6.1.0:
+ resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-url@6.0.2:
+ resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-whitespace@6.0.2:
+ resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-opacity-percentage@3.0.0:
+ resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-ordered-values@6.0.2:
+ resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-overflow-shorthand@6.0.0:
+ resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-page-break@3.0.4:
+ resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==}
+ peerDependencies:
+ postcss: ^8
+
+ postcss-place@10.0.0:
+ resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-preset-env@10.4.0:
+ resolution: {integrity: sha512-2kqpOthQ6JhxqQq1FSAAZGe9COQv75Aw8WbsOvQVNJ2nSevc9Yx/IKZGuZ7XJ+iOTtVon7LfO7ELRzg8AZ+sdw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-pseudo-class-any-link@10.0.1:
+ resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-reduce-idents@6.0.3:
+ resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-reduce-initial@6.1.0:
+ resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-reduce-transforms@6.0.2:
+ resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-replace-overflow-wrap@4.0.0:
+ resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==}
+ peerDependencies:
+ postcss: ^8.0.3
+
+ postcss-selector-not@8.0.1:
+ resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
postcss-selector-parser@7.1.0:
resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
engines: {node: '>=4'}
+ postcss-sort-media-queries@5.2.0:
+ resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.4.23
+
+ postcss-svgo@6.0.3:
+ resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==}
+ engines: {node: ^14 || ^16 || >= 18}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-unique-selectors@6.0.4:
+ resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ postcss-zindex@6.0.2:
+ resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
postcss@8.5.3:
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14}
@@ -4752,6 +7646,9 @@ packages:
engines: {node: '>=14'}
hasBin: true
+ pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+
pretty-format@27.5.1:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -4760,6 +7657,15 @@ packages:
resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==}
engines: {node: '>=10'}
+ pretty-time@1.1.0:
+ resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==}
+ engines: {node: '>=4'}
+
+ prism-react-renderer@2.4.1:
+ resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
+ peerDependencies:
+ react: '>=16.0.0'
+
prisma@6.16.2:
resolution: {integrity: sha512-aRvldGE5UUJTtVmFiH3WfNFNiqFlAtePUxcI0UEGlnXCX7DqhiMT5TRYwncHFeA/Reca5W6ToXXyCMTeFPdSXA==}
engines: {node: '>=18.18'}
@@ -4770,6 +7676,10 @@ packages:
typescript:
optional: true
+ prismjs@1.30.0:
+ resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
+ engines: {node: '>=6'}
+
proc-log@3.0.0:
resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -4789,6 +7699,10 @@ packages:
resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
engines: {node: '>=10'}
+ prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
@@ -4798,6 +7712,9 @@ packages:
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+ proto-list@1.2.4:
+ resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+
proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
@@ -4818,6 +7735,10 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ pupa@3.3.0:
+ resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==}
+ engines: {node: '>=12.20'}
+
pure-rand@6.1.0:
resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
@@ -4839,6 +7760,10 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+
quick-lru@6.1.2:
resolution: {integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==}
engines: {node: '>=12'}
@@ -4852,6 +7777,10 @@ packages:
randomfill@1.0.4:
resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==}
+ range-parser@1.2.0:
+ resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==}
+ engines: {node: '>= 0.6'}
+
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -4896,6 +7825,9 @@ packages:
peerDependencies:
react: ^18.3.1
+ react-fast-compare@3.2.2:
+ resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
+
react-frame-component@5.2.7:
resolution: {integrity: sha512-ROjHtSLoSVYUBfTieazj/nL8jIX9rZFmHC0yXEU+dx6Y82OcBEGgU9o7VyHMrBFUN9FuQ849MtIPNNLsb4krbg==}
peerDependencies:
@@ -4909,6 +7841,19 @@ packages:
react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ react-json-view-lite@2.5.0:
+ resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+
+ react-loadable-ssr-addon-v5-slorber@1.0.1:
+ resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ react-loadable: '*'
+ webpack: '>=4.41.1 || 5.x'
+
react-markdown@10.1.0:
resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==}
peerDependencies:
@@ -4949,6 +7894,17 @@ packages:
react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react-router-config@5.1.1:
+ resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
+ peerDependencies:
+ react: '>=15'
+ react-router: '>=5'
+
+ react-router-dom@5.3.4:
+ resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==}
+ peerDependencies:
+ react: '>=15'
+
react-router-dom@6.30.0:
resolution: {integrity: sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==}
engines: {node: '>=14.0.0'}
@@ -4956,6 +7912,11 @@ packages:
react: '>=16.8'
react-dom: '>=16.8'
+ react-router@5.3.4:
+ resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==}
+ peerDependencies:
+ react: '>=15'
+
react-router@6.30.0:
resolution: {integrity: sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==}
engines: {node: '>=14.0.0'}
@@ -4997,6 +7958,20 @@ packages:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
redent@3.0.0:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
@@ -5004,6 +7979,13 @@ packages:
redux@4.2.1:
resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==}
+ regenerate-unicode-properties@10.2.2:
+ resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==}
+ engines: {node: '>=4'}
+
+ 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==}
@@ -5016,15 +7998,51 @@ packages:
regex@6.0.1:
resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+ regexpu-core@6.4.0:
+ resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==}
+ engines: {node: '>=4'}
+
+ registry-auth-token@5.1.0:
+ resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==}
+ engines: {node: '>=14'}
+
+ registry-url@6.0.1:
+ resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
+ engines: {node: '>=12'}
+
+ regjsgen@0.8.0:
+ resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
+
+ regjsparser@0.13.0:
+ resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
+ hasBin: true
+
rehype-raw@7.0.0:
resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
rehype-sanitize@6.0.0:
resolution: {integrity: sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==}
+ relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+ remark-directive@3.0.1:
+ resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==}
+
+ remark-emoji@4.0.1:
+ resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
remark-frontmatter@4.0.1:
resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==}
+ remark-frontmatter@5.0.0:
+ resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
+
remark-gfm@4.0.1:
resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
@@ -5035,6 +8053,9 @@ packages:
remark-mdx@2.3.0:
resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==}
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
+
remark-parse@10.0.2:
resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
@@ -5086,20 +8107,53 @@ packages:
react-router:
optional: true
+ renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+
+ repeat-string@1.6.1:
+ resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
+ engines: {node: '>=0.10'}
+
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
require-like@0.1.2:
resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
require-main-filename@2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ resolve-alpn@1.2.1:
+ resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-pathname@3.0.0:
+ resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
+
resolve.exports@2.0.3:
resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
engines: {node: '>=10'}
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ responselike@3.0.0:
+ resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
+ engines: {node: '>=14.16'}
+
restore-cursor@3.1.0:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'}
@@ -5108,6 +8162,10 @@ packages:
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
engines: {node: '>= 4'}
+ retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+
reusify@1.1.0:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -5127,6 +8185,15 @@ packages:
rrweb-cssom@0.8.0:
resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
+ rtlcss@4.3.0:
+ resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==}
+ engines: {node: '>=12.0.0'}
+ hasBin: true
+
+ run-applescript@7.1.0:
+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
+ engines: {node: '>=18'}
+
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
@@ -5268,6 +8335,9 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+
saxes@6.0.0:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
@@ -5275,6 +8345,35 @@ packages:
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+ schema-dts@1.1.5:
+ resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==}
+
+ schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+
+ schema-utils@4.3.2:
+ resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==}
+ engines: {node: '>= 10.13.0'}
+
+ search-insights@2.17.3:
+ resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
+
+ section-matter@1.0.0:
+ resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
+ engines: {node: '>=4'}
+
+ select-hose@2.0.0:
+ resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
+
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+
+ semver-diff@4.0.0:
+ resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
+ engines: {node: '>=12'}
+
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
@@ -5288,6 +8387,16 @@ packages:
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
engines: {node: '>= 0.8.0'}
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
+ serve-handler@6.1.6:
+ resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
+
+ serve-index@1.9.1:
+ resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
+ engines: {node: '>= 0.8.0'}
+
serve-static@1.16.2:
resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
engines: {node: '>= 0.8.0'}
@@ -5305,6 +8414,9 @@ packages:
setimmediate@1.0.5:
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+ setprototypeof@1.1.0:
+ resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
+
setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
@@ -5312,6 +8424,13 @@ packages:
resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
hasBin: true
+ shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+
+ shallowequal@1.1.0:
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -5362,16 +8481,50 @@ packages:
simple-swizzle@0.2.2:
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+
sirv@3.0.2:
resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
engines: {node: '>=18'}
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ sitemap@7.1.2:
+ resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==}
+ engines: {node: '>=12.0.0', npm: '>=5.6.0'}
+ hasBin: true
+
+ skin-tone@2.0.0:
+ resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==}
+ engines: {node: '>=8'}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ slash@4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+
+ snake-case@3.0.4:
+ resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+
+ sockjs@0.3.24:
+ resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+
sonner@2.0.7:
resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==}
peerDependencies:
react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ sort-css-media-queries@2.2.0:
+ resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==}
+ engines: {node: '>= 6.3.0'}
+
sort-keys@5.1.0:
resolution: {integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==}
engines: {node: '>=12'}
@@ -5406,6 +8559,20 @@ packages:
spdx-license-ids@3.0.21:
resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
+ spdy-transport@3.0.0:
+ resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+
+ spdy@4.0.2:
+ resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
+ engines: {node: '>=6.0.0'}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ srcset@4.0.0:
+ resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
+ engines: {node: '>=12'}
+
ssri@10.0.6:
resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -5420,6 +8587,10 @@ packages:
resolution: {integrity: sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==}
engines: {node: '>=0.1.14'}
+ statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+
statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
@@ -5453,6 +8624,10 @@ packages:
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+ stringify-object@3.3.0:
+ resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
+ engines: {node: '>=4'}
+
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -5461,6 +8636,10 @@ packages:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
+ strip-bom-string@1.0.0:
+ 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'}
@@ -5477,6 +8656,10 @@ packages:
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'}
+
strip-literal@3.0.0:
resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
@@ -5493,6 +8676,12 @@ packages:
style-to-object@1.0.8:
resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
+ stylehacks@6.1.1:
+ resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -5501,10 +8690,22 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svg-parser@2.0.4:
+ resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
+
svg-pathdata@6.0.3:
resolution: {integrity: sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==}
engines: {node: '>=12.0.0'}
+ svgo@3.3.2:
+ resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
swr@2.3.3:
resolution: {integrity: sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==}
peerDependencies:
@@ -5524,6 +8725,10 @@ packages:
tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+ tapable@2.2.3:
+ resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
+ engines: {node: '>=6'}
+
tar-fs@2.1.4:
resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==}
@@ -5535,12 +8740,39 @@ packages:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
+ terser-webpack-plugin@5.3.14:
+ resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+
+ terser@5.44.0:
+ resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==}
+ engines: {node: '>=10'}
+ hasBin: true
+
text-hex@1.0.0:
resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==}
text-segmentation@1.0.3:
resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==}
+ thingies@2.5.0:
+ resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==}
+ engines: {node: '>=10.18'}
+ peerDependencies:
+ tslib: ^2
+
throttleit@2.1.0:
resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==}
engines: {node: '>=18'}
@@ -5548,6 +8780,15 @@ packages:
through2@2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ thunky@1.1.0:
+ resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+
+ tiny-invariant@1.3.3:
+ resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+
+ tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -5607,6 +8848,12 @@ packages:
resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
engines: {node: '>=18'}
+ tree-dump@1.1.0:
+ resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
@@ -5644,6 +8891,18 @@ packages:
turbo-stream@2.4.1:
resolution: {integrity: sha512-v8kOJXpG3WoTN/+at8vK7erSzo6nW6CIaeOvNOkHQVDajfz1ZVeSxCbc6tOH4hrGZW7VUCV0TOXd8CPzYnYkrw==}
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ type-fest@1.4.0:
+ resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
+ engines: {node: '>=10'}
+
+ type-fest@2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+
type-fest@4.41.0:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
@@ -5652,6 +8911,9 @@ packages:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'}
+ typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+
typescript@5.9.2:
resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
engines: {node: '>=14.17'}
@@ -5674,6 +8936,26 @@ packages:
resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==}
engines: {node: '>=18.17'}
+ unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
+ engines: {node: '>=4'}
+
+ unicode-emoji-modifier-base@1.0.0:
+ resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-value-ecmascript@2.2.1:
+ resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==}
+ engines: {node: '>=4'}
+
+ unicode-property-aliases-ecmascript@2.2.0:
+ resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==}
+ engines: {node: '>=4'}
+
unified@10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
@@ -5688,6 +8970,10 @@ packages:
resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ unique-string@3.0.0:
+ resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
+ engines: {node: '>=12'}
+
unist-util-generated@2.0.1:
resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
@@ -5700,6 +8986,9 @@ packages:
unist-util-position-from-estree@1.1.2:
resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==}
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
unist-util-position@4.0.4:
resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
@@ -5760,6 +9049,23 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
+ update-notifier@6.0.2:
+ resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==}
+ engines: {node: '>=14.16'}
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ url-loader@4.1.1:
+ resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ file-loader: '*'
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+
use-callback-ref@1.3.3:
resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
engines: {node: '>=10'}
@@ -5791,6 +9097,13 @@ packages:
util@0.12.5:
resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+ utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+
+ utility-types@3.11.0:
+ resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
+ engines: {node: '>= 4'}
+
utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
@@ -5798,6 +9111,10 @@ packages:
utrie@1.0.2:
resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==}
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+
uvu@0.5.6:
resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
engines: {node: '>=8'}
@@ -5818,6 +9135,9 @@ packages:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ value-equal@1.0.1:
+ resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
+
varint@6.0.0:
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
@@ -5929,6 +9249,13 @@ packages:
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
engines: {node: '>=18'}
+ watchpack@2.4.4:
+ resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==}
+ engines: {node: '>=10.13.0'}
+
+ wbuf@1.7.3:
+ resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
@@ -5946,6 +9273,69 @@ packages:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
+ webpack-bundle-analyzer@4.10.2:
+ resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
+ engines: {node: '>= 10.13.0'}
+ hasBin: true
+
+ webpack-dev-middleware@7.4.5:
+ resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==}
+ engines: {node: '>= 18.12.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+
+ webpack-dev-server@5.2.2:
+ resolution: {integrity: sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==}
+ engines: {node: '>= 18.12.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^5.0.0
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ webpack-cli:
+ optional: true
+
+ webpack-merge@5.10.0:
+ resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
+ engines: {node: '>=10.0.0'}
+
+ webpack-merge@6.0.1:
+ resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==}
+ engines: {node: '>=18.0.0'}
+
+ webpack-sources@3.3.3:
+ resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
+ engines: {node: '>=10.13.0'}
+
+ webpack@5.101.3:
+ resolution: {integrity: sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+
+ webpackbar@6.0.1:
+ resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ webpack: 3 || 4 || 5
+
+ websocket-driver@0.7.4:
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
+ engines: {node: '>=0.8.0'}
+
+ websocket-extensions@0.1.4:
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
+ engines: {node: '>=0.8.0'}
+
whatwg-encoding@3.1.1:
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
engines: {node: '>=18'}
@@ -5980,6 +9370,13 @@ packages:
engines: {node: '>=8'}
hasBin: true
+ widest-line@4.0.1:
+ resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
+ engines: {node: '>=12'}
+
+ wildcard@2.0.1:
+ resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
+
winston-daily-rotate-file@5.0.0:
resolution: {integrity: sha512-JDjiXXkM5qvwY06733vf09I2wnMXpZEhxEVOSPenZMii+g7pcDcTBt2MRugnoi8BwVSuCT2jfRXBUy+n1Zz/Yw==}
engines: {node: '>=8'}
@@ -6009,6 +9406,9 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+
ws@7.5.10:
resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
engines: {node: '>=8.3.0'}
@@ -6033,6 +9433,18 @@ packages:
utf-8-validate:
optional: true
+ wsl-utils@0.1.0:
+ resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
+ engines: {node: '>=18'}
+
+ xdg-basedir@5.1.0:
+ resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
+ engines: {node: '>=12'}
+
+ xml-js@1.6.11:
+ resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
+ hasBin: true
+
xml-name-validator@5.0.0:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
@@ -6082,6 +9494,10 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ yocto-queue@1.2.1:
+ resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
+ engines: {node: '>=12.20'}
+
zod-validation-error@3.5.3:
resolution: {integrity: sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==}
engines: {node: '>=18.0.0'}
@@ -6313,6 +9729,114 @@ snapshots:
optionalDependencies:
zod: 4.1.11
+ '@algolia/abtesting@1.4.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+ - search-insights
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+
+ '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)':
+ dependencies:
+ '@algolia/client-search': 5.38.0
+ algoliasearch: 5.38.0
+
+ '@algolia/client-abtesting@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/client-analytics@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/client-common@5.38.0': {}
+
+ '@algolia/client-insights@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/client-personalization@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/client-query-suggestions@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/client-search@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/events@4.0.1': {}
+
+ '@algolia/ingestion@1.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/monitoring@1.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/recommend@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ '@algolia/requester-browser-xhr@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+
+ '@algolia/requester-fetch@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+
+ '@algolia/requester-node-http@5.38.0':
+ dependencies:
+ '@algolia/client-common': 5.38.0
+
'@antfu/install-pkg@1.1.0':
dependencies:
package-manager-detector: 1.3.0
@@ -6359,6 +9883,8 @@ snapshots:
'@babel/compat-data@7.27.2': {}
+ '@babel/compat-data@7.28.4': {}
+
'@babel/core@7.28.4':
dependencies:
'@babel/code-frame': 7.27.1
@@ -6399,6 +9925,10 @@ snapshots:
dependencies:
'@babel/types': 7.27.1
+ '@babel/helper-annotate-as-pure@7.27.3':
+ dependencies:
+ '@babel/types': 7.28.4
+
'@babel/helper-compilation-targets@7.27.2':
dependencies:
'@babel/compat-data': 7.27.2
@@ -6420,6 +9950,37 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.28.4
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.1
+ regexpu-core: 6.4.0
+ semver: 6.3.1
+
+ '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ debug: 4.4.1
+ lodash.debounce: 4.0.8
+ resolve: 1.22.10
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-globals@7.28.0': {}
'@babel/helper-member-expression-to-functions@7.27.1':
@@ -6460,6 +10021,15 @@ snapshots:
'@babel/helper-plugin-utils@7.27.1': {}
+ '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-wrap-function': 7.28.3
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6482,6 +10052,14 @@ snapshots:
'@babel/helper-validator-option@7.27.1': {}
+ '@babel/helper-wrap-function@7.28.3':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helpers@7.28.4':
dependencies:
'@babel/template': 7.27.2
@@ -6499,11 +10077,65 @@ snapshots:
dependencies:
'@babel/types': 7.28.4
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
'@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
'@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6514,6 +10146,172 @@ snapshots:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4)
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-globals': 7.28.0
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/template': 7.27.2
+
+ '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6522,6 +10320,121 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4)
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6532,6 +10445,79 @@ snapshots:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
+ '@babel/types': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4)
+ babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4)
+ babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
'@babel/plugin-transform-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6543,6 +10529,124 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/preset-env@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/compat-data': 7.28.4
+ '@babel/core': 7.28.4
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.4)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)
+ '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.4)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.4)
+ '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4)
+ '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
+ '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.4)
+ '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.4)
+ babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4)
+ babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4)
+ babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4)
+ core-js-compat: 3.45.1
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/types': 7.28.4
+ esutils: 2.0.3
+
+ '@babel/preset-react@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.4)
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/preset-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6554,6 +10658,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/runtime-corejs3@7.28.4':
+ dependencies:
+ core-js-pure: 3.45.1
+
'@babel/runtime@7.27.1': {}
'@babel/template@7.27.2':
@@ -6647,17 +10755,32 @@ snapshots:
'@bufbuild/protobuf@2.9.0': {}
+ '@colors/colors@1.5.0':
+ optional: true
+
'@colors/colors@1.6.0': {}
+ '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+
'@csstools/color-helpers@5.0.2':
optional: true
+ '@csstools/color-helpers@5.1.0': {}
+
'@csstools/css-calc@2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
dependencies:
'@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
'@csstools/css-tokenizer': 3.0.3
optional: true
+ '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+
'@csstools/css-color-parser@3.0.9(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
dependencies:
'@csstools/color-helpers': 5.0.2
@@ -6666,20 +10789,1066 @@ snapshots:
'@csstools/css-tokenizer': 3.0.3
optional: true
+ '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ dependencies:
+ '@csstools/color-helpers': 5.1.0
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+
'@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
dependencies:
'@csstools/css-tokenizer': 3.0.3
optional: true
+ '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
+ dependencies:
+ '@csstools/css-tokenizer': 3.0.4
+
'@csstools/css-tokenizer@3.0.3':
optional: true
+ '@csstools/css-tokenizer@3.0.4': {}
+
+ '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+
+ '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)':
+ dependencies:
+ '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-color-function@4.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+
+ '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)':
+ dependencies:
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+
+ '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)':
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-initial@2.0.1(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)':
+ dependencies:
+ '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ postcss: 8.5.6
+
+ '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ postcss: 8.5.6
+
+ '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)':
+ dependencies:
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+
+ '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+
+ '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+
+ '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)':
+ dependencies:
+ '@csstools/color-helpers': 5.1.0
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+
+ '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)':
+ dependencies:
+ postcss-selector-parser: 7.1.0
+
+ '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)':
+ dependencies:
+ postcss-selector-parser: 7.1.0
+
+ '@csstools/utilities@2.0.0(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
'@dabh/diagnostics@2.0.3':
dependencies:
colorspace: 1.1.4
enabled: 2.0.0
kuler: 2.0.0
+ '@discoveryjs/json-ext@0.5.7': {}
+
+ '@docsearch/css@4.1.0': {}
+
+ '@docsearch/react@4.1.0(@algolia/client-search@5.38.0)(@types/react@18.3.24)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)':
+ dependencies:
+ '@ai-sdk/react': 2.0.49(react@18.3.1)(zod@4.1.11)
+ '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.38.0)(algoliasearch@5.38.0)(search-insights@2.17.3)
+ '@docsearch/css': 4.1.0
+ ai: 5.0.49(zod@4.1.11)
+ algoliasearch: 5.38.0
+ marked: 16.3.0
+ zod: 4.1.11
+ optionalDependencies:
+ '@types/react': 18.3.24
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+
+ '@docusaurus/babel@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/generator': 7.28.3
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.4)
+ '@babel/preset-env': 7.28.3(@babel/core@7.28.4)
+ '@babel/preset-react': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/runtime': 7.27.1
+ '@babel/runtime-corejs3': 7.28.4
+ '@babel/traverse': 7.28.4
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ babel-plugin-dynamic-import-node: 2.3.3
+ fs-extra: 11.3.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - react
+ - react-dom
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/bundler@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@docusaurus/babel': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/cssnano-preset': 3.9.0
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ babel-loader: 9.2.1(@babel/core@7.28.4)(webpack@5.101.3(esbuild@0.17.6))
+ clean-css: 5.3.3
+ copy-webpack-plugin: 11.0.0(webpack@5.101.3(esbuild@0.17.6))
+ css-loader: 6.11.0(webpack@5.101.3(esbuild@0.17.6))
+ css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(esbuild@0.17.6)(webpack@5.101.3(esbuild@0.17.6))
+ cssnano: 6.1.2(postcss@8.5.6)
+ file-loader: 6.2.0(webpack@5.101.3(esbuild@0.17.6))
+ html-minifier-terser: 7.2.0
+ mini-css-extract-plugin: 2.9.4(webpack@5.101.3(esbuild@0.17.6))
+ null-loader: 4.0.1(webpack@5.101.3(esbuild@0.17.6))
+ postcss: 8.5.6
+ postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.9.2)(webpack@5.101.3(esbuild@0.17.6))
+ postcss-preset-env: 10.4.0(postcss@8.5.6)
+ terser-webpack-plugin: 5.3.14(esbuild@0.17.6)(webpack@5.101.3(esbuild@0.17.6))
+ tslib: 2.8.1
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.3(esbuild@0.17.6)))(webpack@5.101.3(esbuild@0.17.6))
+ webpack: 5.101.3(esbuild@0.17.6)
+ webpackbar: 6.0.1(webpack@5.101.3(esbuild@0.17.6))
+ transitivePeerDependencies:
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - csso
+ - esbuild
+ - lightningcss
+ - react
+ - react-dom
+ - supports-color
+ - typescript
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/core@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/babel': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/bundler': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/mdx-loader': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mdx-js/react': 3.1.1(@types/react@18.3.24)(react@18.3.1)
+ boxen: 6.2.1
+ chalk: 4.1.2
+ chokidar: 3.6.0
+ cli-table3: 0.6.5
+ combine-promises: 1.2.0
+ commander: 5.1.0
+ core-js: 3.42.0
+ detect-port: 1.6.1
+ escape-html: 1.0.3
+ eta: 2.2.0
+ eval: 0.1.8
+ execa: 5.1.1
+ fs-extra: 11.3.2
+ html-tags: 3.3.1
+ html-webpack-plugin: 5.6.4(webpack@5.101.3(esbuild@0.17.6))
+ leven: 3.1.0
+ lodash: 4.17.21
+ open: 8.4.2
+ p-map: 4.0.0
+ prompts: 2.4.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)'
+ react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
+ react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.101.3(esbuild@0.17.6))
+ react-router: 5.3.4(react@18.3.1)
+ react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1)
+ react-router-dom: 5.3.4(react@18.3.1)
+ semver: 7.7.2
+ serve-handler: 6.1.6
+ tinypool: 1.1.1
+ tslib: 2.8.1
+ update-notifier: 6.0.2
+ webpack: 5.101.3(esbuild@0.17.6)
+ webpack-bundle-analyzer: 4.10.2
+ webpack-dev-server: 5.2.2(webpack@5.101.3(esbuild@0.17.6))
+ webpack-merge: 6.0.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/cssnano-preset@3.9.0':
+ dependencies:
+ cssnano-preset-advanced: 6.1.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-sort-media-queries: 5.2.0(postcss@8.5.6)
+ tslib: 2.8.1
+
+ '@docusaurus/logger@3.9.0':
+ dependencies:
+ chalk: 4.1.2
+ tslib: 2.8.1
+
+ '@docusaurus/mdx-loader@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mdx-js/mdx': 3.1.1
+ '@slorber/remark-comment': 1.0.0
+ escape-html: 1.0.3
+ estree-util-value-to-estree: 3.4.0
+ file-loader: 6.2.0(webpack@5.101.3(esbuild@0.17.6))
+ fs-extra: 11.3.2
+ image-size: 2.0.2
+ mdast-util-mdx: 3.0.0
+ mdast-util-to-string: 4.0.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ rehype-raw: 7.0.0
+ remark-directive: 3.0.1
+ remark-emoji: 4.0.1
+ remark-frontmatter: 5.0.0
+ remark-gfm: 4.0.1
+ stringify-object: 3.3.0
+ tslib: 2.8.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.3(esbuild@0.17.6)))(webpack@5.101.3(esbuild@0.17.6))
+ vfile: 6.0.3
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/module-type-aliases@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/history': 4.7.11
+ '@types/react': 18.3.24
+ '@types/react-router-config': 5.0.11
+ '@types/react-router-dom': 5.3.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)'
+ react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/plugin-content-blog@3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/mdx-loader': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/plugin-content-docs': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/theme-common': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ cheerio: 1.0.0-rc.12
+ feed: 4.2.2
+ fs-extra: 11.3.2
+ lodash: 4.17.21
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ schema-dts: 1.1.5
+ srcset: 4.0.0
+ tslib: 2.8.1
+ unist-util-visit: 5.0.0
+ utility-types: 3.11.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/mdx-loader': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/module-type-aliases': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/theme-common': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/react-router-config': 5.0.11
+ combine-promises: 1.2.0
+ fs-extra: 11.3.2
+ js-yaml: 4.1.0
+ lodash: 4.17.21
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ schema-dts: 1.1.5
+ tslib: 2.8.1
+ utility-types: 3.11.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-content-pages@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/mdx-loader': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ fs-extra: 11.3.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-css-cascade-layers@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - react
+ - react-dom
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-debug@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ fs-extra: 11.3.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-json-view-lite: 2.5.0(react@18.3.1)
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-google-analytics@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-google-gtag@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/gtag.js': 0.0.12
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-google-tag-manager@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-sitemap@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ fs-extra: 11.3.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ sitemap: 7.1.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/plugin-svgr@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@svgr/core': 8.1.0(typescript@5.9.2)
+ '@svgr/webpack': 8.1.0(typescript@5.9.2)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/preset-classic@3.9.0(@algolia/client-search@5.38.0)(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(@types/react@18.3.24)(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-content-blog': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-content-docs': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-content-pages': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-css-cascade-layers': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-debug': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-google-analytics': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-google-gtag': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-google-tag-manager': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-sitemap': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-svgr': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/theme-classic': 3.9.0(@types/react@18.3.24)(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/theme-common': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/theme-search-algolia': 3.9.0(@algolia/client-search@5.38.0)(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(@types/react@18.3.24)(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.9.2)
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - '@types/react'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - search-insights
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/react-loadable@6.0.0(react@18.3.1)':
+ dependencies:
+ '@types/react': 18.3.24
+ react: 18.3.1
+
+ '@docusaurus/theme-classic@3.9.0(@types/react@18.3.24)(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)':
+ dependencies:
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/mdx-loader': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/module-type-aliases': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/plugin-content-blog': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-content-docs': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/plugin-content-pages': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/theme-common': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/theme-translations': 3.9.0
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mdx-js/react': 3.1.1(@types/react@18.3.24)(react@18.3.1)
+ clsx: 2.1.1
+ infima: 0.2.0-alpha.45
+ lodash: 4.17.21
+ nprogress: 0.2.0
+ postcss: 8.5.6
+ prism-react-renderer: 2.4.1(react@18.3.1)
+ prismjs: 1.30.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-router-dom: 5.3.4(react@18.3.1)
+ rtlcss: 4.3.0
+ tslib: 2.8.1
+ utility-types: 3.11.0
+ transitivePeerDependencies:
+ - '@docusaurus/faster'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - '@types/react'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/theme-common@3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@docusaurus/mdx-loader': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/module-type-aliases': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/plugin-content-docs': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/history': 4.7.11
+ '@types/react': 18.3.24
+ '@types/react-router-config': 5.0.11
+ clsx: 2.1.1
+ parse-numeric-range: 1.3.0
+ prism-react-renderer: 2.4.1(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ utility-types: 3.11.0
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/theme-search-algolia@3.9.0(@algolia/client-search@5.38.0)(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(@types/react@18.3.24)(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.9.2)':
+ dependencies:
+ '@docsearch/react': 4.1.0(@algolia/client-search@5.38.0)(@types/react@18.3.24)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)
+ '@docusaurus/core': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/plugin-content-docs': 3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2)
+ '@docusaurus/theme-common': 3.9.0(@docusaurus/plugin-content-docs@3.9.0(@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/theme-translations': 3.9.0
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ algoliasearch: 5.38.0
+ algoliasearch-helper: 3.26.0(algoliasearch@5.38.0)
+ clsx: 2.1.1
+ eta: 2.2.0
+ fs-extra: 11.3.2
+ lodash: 4.17.21
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ utility-types: 3.11.0
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@docusaurus/faster'
+ - '@mdx-js/react'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@swc/css'
+ - '@types/react'
+ - bufferutil
+ - csso
+ - debug
+ - esbuild
+ - lightningcss
+ - search-insights
+ - supports-color
+ - typescript
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+
+ '@docusaurus/theme-translations@3.9.0':
+ dependencies:
+ fs-extra: 11.3.2
+ tslib: 2.8.1
+
+ '@docusaurus/types@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@mdx-js/mdx': 3.1.1
+ '@types/history': 4.7.11
+ '@types/mdast': 4.0.4
+ '@types/react': 18.3.24
+ commander: 5.1.0
+ joi: 17.13.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)'
+ utility-types: 3.11.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ webpack-merge: 5.10.0
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/utils-common@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - react
+ - react-dom
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/utils-validation@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/utils': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ fs-extra: 11.3.2
+ joi: 17.13.3
+ js-yaml: 4.1.0
+ lodash: 4.17.21
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - react
+ - react-dom
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
+ '@docusaurus/utils@3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@docusaurus/logger': 3.9.0
+ '@docusaurus/types': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-common': 3.9.0(esbuild@0.17.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ escape-string-regexp: 4.0.0
+ execa: 5.1.1
+ file-loader: 6.2.0(webpack@5.101.3(esbuild@0.17.6))
+ fs-extra: 11.3.2
+ github-slugger: 1.5.0
+ globby: 11.1.0
+ gray-matter: 4.0.3
+ jiti: 1.21.7
+ js-yaml: 4.1.0
+ lodash: 4.17.21
+ micromatch: 4.0.8
+ p-queue: 6.6.2
+ prompts: 2.4.2
+ resolve-pathname: 3.0.0
+ tslib: 2.8.1
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.3(esbuild@0.17.6)))(webpack@5.101.3(esbuild@0.17.6))
+ utility-types: 3.11.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - react
+ - react-dom
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
'@emotion/hash@0.9.2': {}
'@epic-web/invariant@1.0.0': {}
@@ -6867,6 +12036,12 @@ snapshots:
'@floating-ui/utils@0.2.10': {}
+ '@hapi/hoek@9.3.0': {}
+
+ '@hapi/topo@5.1.0':
+ dependencies:
+ '@hapi/hoek': 9.3.0
+
'@headlessui/react@2.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -6923,6 +12098,19 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
+ '@jest/schemas@29.6.3':
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+
+ '@jest/types@29.6.3':
+ dependencies:
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 22.15.21
+ '@types/yargs': 17.0.33
+ chalk: 4.1.2
+
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -6943,6 +12131,11 @@ snapshots:
'@jridgewell/set-array@1.2.1': {}
+ '@jridgewell/source-map@0.3.11':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/sourcemap-codec@1.5.5': {}
@@ -6957,10 +12150,47 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+ '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)':
+ dependencies:
+ tslib: 2.8.1
+
+ '@jsonjoy.com/buffers@1.0.0(tslib@2.8.1)':
+ dependencies:
+ tslib: 2.8.1
+
+ '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)':
+ dependencies:
+ tslib: 2.8.1
+
+ '@jsonjoy.com/json-pack@1.14.0(tslib@2.8.1)':
+ dependencies:
+ '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1)
+ '@jsonjoy.com/buffers': 1.0.0(tslib@2.8.1)
+ '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1)
+ '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1)
+ '@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
+ hyperdyperid: 1.2.0
+ thingies: 2.5.0(tslib@2.8.1)
+ tslib: 2.8.1
+
+ '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)':
+ dependencies:
+ '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1)
+ '@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
+ tslib: 2.8.1
+
+ '@jsonjoy.com/util@1.9.0(tslib@2.8.1)':
+ dependencies:
+ '@jsonjoy.com/buffers': 1.0.0(tslib@2.8.1)
+ '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1)
+ tslib: 2.8.1
+
'@jspm/core@2.1.0': {}
'@kurkle/color@0.3.4': {}
+ '@leichtgewicht/ip-codec@2.0.5': {}
+
'@logto/client@3.1.4':
dependencies:
'@logto/js': 6.1.0
@@ -7006,6 +12236,42 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ acorn: 8.14.1
+ 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.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.14.1)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ 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:
+ - supports-color
+
+ '@mdx-js/react@3.1.1(@types/react@18.3.24)(react@18.3.1)':
+ dependencies:
+ '@types/mdx': 2.0.13
+ '@types/react': 18.3.24
+ react: 18.3.1
+
'@nanostores/react@1.0.0(nanostores@1.0.1)(react@18.3.1)':
dependencies:
nanostores: 1.0.1
@@ -7207,6 +12473,18 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
+ '@pnpm/config.env-replace@1.1.0': {}
+
+ '@pnpm/network.ca-file@1.0.2':
+ dependencies:
+ graceful-fs: 4.2.10
+
+ '@pnpm/npm-conf@2.3.1':
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+
'@polka/url@1.0.0-next.29': {}
'@prisma/adapter-better-sqlite3@6.16.2':
@@ -7756,7 +13034,7 @@ snapshots:
dependencies:
react: 18.3.1
- '@remix-run/dev@2.17.1(@remix-run/react@2.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@remix-run/serve@2.17.1(typescript@5.9.2))(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))':
+ '@remix-run/dev@2.17.1(@remix-run/react@2.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.2))(@remix-run/serve@2.17.1(typescript@5.9.2))(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))':
dependencies:
'@babel/core': 7.28.4
'@babel/generator': 7.28.3
@@ -7773,7 +13051,7 @@ snapshots:
'@remix-run/router': 1.23.0
'@remix-run/server-runtime': 2.17.1(typescript@5.9.2)
'@types/mdx': 2.0.13
- '@vanilla-extract/integration': 6.5.0(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ '@vanilla-extract/integration': 6.5.0(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
arg: 5.0.2
cacache: 17.1.4
chalk: 4.1.2
@@ -7813,12 +13091,12 @@ snapshots:
tar-fs: 2.1.4
tsconfig-paths: 4.2.0
valibot: 0.41.0(typescript@5.9.2)
- vite-node: 3.1.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite-node: 3.1.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
ws: 7.5.10
optionalDependencies:
'@remix-run/serve': 2.17.1(typescript@5.9.2)
typescript: 5.9.2
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -8023,8 +13301,22 @@ snapshots:
'@shikijs/vscode-textmate@10.0.2': {}
+ '@sideway/address@4.1.5':
+ dependencies:
+ '@hapi/hoek': 9.3.0
+
+ '@sideway/formula@3.0.1': {}
+
+ '@sideway/pinpoint@2.0.0': {}
+
'@silverhand/essentials@2.9.2': {}
+ '@sinclair/typebox@0.27.8': {}
+
+ '@sindresorhus/is@4.6.0': {}
+
+ '@sindresorhus/is@5.6.0': {}
+
'@sindresorhus/slugify@2.2.1':
dependencies:
'@sindresorhus/transliterate': 1.6.0
@@ -8034,6 +13326,22 @@ snapshots:
dependencies:
escape-string-regexp: 5.0.0
+ '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.27.1
+ invariant: 2.2.4
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-fast-compare: 3.2.2
+ shallowequal: 1.1.0
+
+ '@slorber/remark-comment@1.0.0':
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+
'@smithy/eventstream-codec@4.0.4':
dependencies:
'@aws-crypto/crc32': 5.2.0
@@ -8079,10 +13387,107 @@ snapshots:
'@standard-schema/spec@1.0.0': {}
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+
+ '@svgr/babel-preset@8.1.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.4)
+ '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.4)
+
+ '@svgr/core@8.1.0(typescript@5.9.2)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.28.4)
+ camelcase: 6.3.0
+ cosmiconfig: 8.3.6(typescript@5.9.2)
+ snake-case: 3.0.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@svgr/hast-util-to-babel-ast@8.0.0':
+ dependencies:
+ '@babel/types': 7.28.4
+ entities: 4.5.0
+
+ '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.2))':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.28.4)
+ '@svgr/core': 8.1.0(typescript@5.9.2)
+ '@svgr/hast-util-to-babel-ast': 8.0.0
+ svg-parser: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.9.2))(typescript@5.9.2)':
+ dependencies:
+ '@svgr/core': 8.1.0(typescript@5.9.2)
+ cosmiconfig: 8.3.6(typescript@5.9.2)
+ deepmerge: 4.3.1
+ svgo: 3.3.2
+ transitivePeerDependencies:
+ - typescript
+
+ '@svgr/webpack@8.1.0(typescript@5.9.2)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-env': 7.28.3(@babel/core@7.28.4)
+ '@babel/preset-react': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ '@svgr/core': 8.1.0(typescript@5.9.2)
+ '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.9.2))
+ '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.9.2))(typescript@5.9.2)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
'@swc/helpers@0.5.17':
dependencies:
tslib: 2.8.1
+ '@szmarczak/http-timer@5.0.1':
+ dependencies:
+ defer-to-connect: 2.0.1
+
'@tanstack/react-virtual@3.13.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@tanstack/virtual-core': 3.13.9
@@ -8131,6 +13536,8 @@ snapshots:
'@tokenizer/token@0.3.0': {}
+ '@trysound/sax@0.2.0': {}
+
'@types/acorn@4.0.6':
dependencies:
'@types/estree': 1.0.7
@@ -8163,6 +13570,10 @@ snapshots:
'@types/connect': 3.4.38
'@types/node': 22.15.21
+ '@types/bonjour@3.5.13':
+ dependencies:
+ '@types/node': 22.15.21
+
'@types/chai@5.2.2':
dependencies:
'@types/deep-eql': 4.0.2
@@ -8172,6 +13583,11 @@ snapshots:
'@types/express': 5.0.3
'@types/node': 22.15.21
+ '@types/connect-history-api-fallback@1.5.4':
+ dependencies:
+ '@types/express-serve-static-core': 5.0.6
+ '@types/node': 22.15.21
+
'@types/connect@3.4.38':
dependencies:
'@types/node': 22.15.21
@@ -8184,6 +13600,16 @@ snapshots:
'@types/deep-eql@4.0.2': {}
+ '@types/eslint-scope@3.7.7':
+ dependencies:
+ '@types/eslint': 9.6.1
+ '@types/estree': 1.0.8
+
+ '@types/eslint@9.6.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+
'@types/estree-jsx@1.0.5':
dependencies:
'@types/estree': 1.0.7
@@ -8192,6 +13618,13 @@ snapshots:
'@types/estree@1.0.8': {}
+ '@types/express-serve-static-core@4.19.6':
+ dependencies:
+ '@types/node': 22.15.21
+ '@types/qs': 6.14.0
+ '@types/range-parser': 1.2.7
+ '@types/send': 0.17.4
+
'@types/express-serve-static-core@5.0.6':
dependencies:
'@types/node': 22.15.21
@@ -8199,12 +13632,21 @@ snapshots:
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
+ '@types/express@4.17.23':
+ dependencies:
+ '@types/body-parser': 1.19.5
+ '@types/express-serve-static-core': 4.19.6
+ '@types/qs': 6.14.0
+ '@types/serve-static': 1.15.7
+
'@types/express@5.0.3':
dependencies:
'@types/body-parser': 1.19.5
'@types/express-serve-static-core': 5.0.6
'@types/serve-static': 1.15.7
+ '@types/gtag.js@0.0.12': {}
+
'@types/hast@2.3.10':
dependencies:
'@types/unist': 2.0.11
@@ -8213,16 +13655,38 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ '@types/history@4.7.11': {}
+
'@types/hoist-non-react-statics@3.3.6':
dependencies:
'@types/react': 18.3.24
hoist-non-react-statics: 3.3.2
optional: true
+ '@types/html-minifier-terser@6.1.0': {}
+
+ '@types/http-cache-semantics@4.0.4': {}
+
'@types/http-errors@2.0.4': {}
+ '@types/http-proxy@1.17.16':
+ dependencies:
+ '@types/node': 22.15.21
+
+ '@types/istanbul-lib-coverage@2.0.6': {}
+
+ '@types/istanbul-lib-report@3.0.3':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+
+ '@types/istanbul-reports@3.0.4':
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+
'@types/js-cookie@3.0.6': {}
+ '@types/json-schema@7.0.15': {}
+
'@types/lodash@4.17.20': {}
'@types/mdast@3.0.15':
@@ -8239,6 +13703,12 @@ snapshots:
'@types/ms@2.1.0': {}
+ '@types/node-forge@1.3.14':
+ dependencies:
+ '@types/node': 22.15.21
+
+ '@types/node@17.0.45': {}
+
'@types/node@22.15.21':
dependencies:
undici-types: 6.21.0
@@ -8247,6 +13717,8 @@ snapshots:
'@types/path-browserify@1.0.3': {}
+ '@types/prismjs@1.26.5': {}
+
'@types/prop-types@15.7.15': {}
'@types/qs@6.14.0': {}
@@ -8260,22 +13732,53 @@ snapshots:
dependencies:
'@types/react': 18.3.24
+ '@types/react-router-config@5.0.11':
+ dependencies:
+ '@types/history': 4.7.11
+ '@types/react': 18.3.24
+ '@types/react-router': 5.1.20
+
+ '@types/react-router-dom@5.3.3':
+ dependencies:
+ '@types/history': 4.7.11
+ '@types/react': 18.3.24
+ '@types/react-router': 5.1.20
+
+ '@types/react-router@5.1.20':
+ dependencies:
+ '@types/history': 4.7.11
+ '@types/react': 18.3.24
+
'@types/react@18.3.24':
dependencies:
'@types/prop-types': 15.7.15
csstype: 3.1.3
+ '@types/retry@0.12.2': {}
+
+ '@types/sax@1.2.7':
+ dependencies:
+ '@types/node': 22.15.21
+
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
'@types/node': 22.15.21
+ '@types/serve-index@1.9.4':
+ dependencies:
+ '@types/express': 5.0.3
+
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
'@types/node': 22.15.21
'@types/send': 0.17.4
+ '@types/sockjs@0.3.36':
+ dependencies:
+ '@types/node': 22.15.21
+
'@types/triple-beam@1.3.5': {}
'@types/trusted-types@2.0.7':
@@ -8285,15 +13788,25 @@ snapshots:
'@types/unist@3.0.3': {}
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 22.15.21
+
+ '@types/yargs-parser@21.0.3': {}
+
+ '@types/yargs@17.0.33':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
'@ungap/structured-clone@1.3.0': {}
- '@unocss/astro@66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))':
+ '@unocss/astro@66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))':
dependencies:
'@unocss/core': 66.5.2
'@unocss/reset': 66.5.2
- '@unocss/vite': 66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ '@unocss/vite': 66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
optionalDependencies:
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
'@unocss/cli@66.5.2':
dependencies:
@@ -8423,7 +13936,7 @@ snapshots:
dependencies:
'@unocss/core': 66.5.2
- '@unocss/vite@66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))':
+ '@unocss/vite@66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))':
dependencies:
'@jridgewell/remapping': 2.3.5
'@unocss/config': 66.5.2
@@ -8434,7 +13947,7 @@ snapshots:
pathe: 2.0.3
tinyglobby: 0.2.15
unplugin-utils: 0.3.0
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
'@vanilla-extract/babel-plugin-debug-ids@1.2.0':
dependencies:
@@ -8459,7 +13972,7 @@ snapshots:
transitivePeerDependencies:
- babel-plugin-macros
- '@vanilla-extract/integration@6.5.0(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)':
+ '@vanilla-extract/integration@6.5.0(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)':
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
@@ -8472,8 +13985,8 @@ snapshots:
lodash: 4.17.21
mlly: 1.7.4
outdent: 0.8.0
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
- vite-node: 1.6.1(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
+ vite-node: 1.6.1(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -8488,7 +14001,7 @@ snapshots:
'@vanilla-extract/private@1.0.7': {}
- '@vitejs/plugin-react@5.0.3(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))':
+ '@vitejs/plugin-react@5.0.3(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))':
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4)
@@ -8496,7 +14009,7 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.35
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- supports-color
@@ -8508,13 +14021,13 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))':
+ '@vitest/mocker@3.2.4(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -8544,6 +14057,86 @@ snapshots:
'@web3-storage/multipart-parser@1.0.0': {}
+ '@webassemblyjs/ast@1.14.1':
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2': {}
+
+ '@webassemblyjs/helper-api-error@1.13.2': {}
+
+ '@webassemblyjs/helper-buffer@1.14.1': {}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.13.2
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/wasm-gen': 1.14.1
+
+ '@webassemblyjs/ieee754@1.13.2':
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ '@webassemblyjs/leb128@1.13.2':
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/utf8@1.13.2': {}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/helper-wasm-section': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-opt': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ '@webassemblyjs/wast-printer': 1.14.1
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@xtuc/long': 4.2.2
+
+ '@xtuc/ieee754@1.2.0': {}
+
+ '@xtuc/long@4.2.2': {}
+
'@zxing/text-encoding@0.9.0':
optional: true
@@ -8556,12 +14149,24 @@ snapshots:
mime-types: 2.1.35
negotiator: 0.6.3
+ acorn-import-phases@1.0.4(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
acorn-jsx@5.3.2(acorn@8.14.1):
dependencies:
acorn: 8.14.1
+ acorn-walk@8.3.4:
+ dependencies:
+ acorn: 8.14.1
+
acorn@8.14.1: {}
+ acorn@8.15.0: {}
+
+ address@1.2.2: {}
+
agent-base@7.1.3:
optional: true
@@ -8578,6 +14183,65 @@ snapshots:
'@opentelemetry/api': 1.9.0
zod: 4.1.11
+ ajv-formats@2.1.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
+ ajv-keywords@3.5.2(ajv@6.12.6):
+ dependencies:
+ ajv: 6.12.6
+
+ ajv-keywords@5.1.0(ajv@8.17.1):
+ dependencies:
+ ajv: 8.17.1
+ fast-deep-equal: 3.1.3
+
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.0
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ algoliasearch-helper@3.26.0(algoliasearch@5.38.0):
+ dependencies:
+ '@algolia/events': 4.0.1
+ algoliasearch: 5.38.0
+
+ algoliasearch@5.38.0:
+ dependencies:
+ '@algolia/abtesting': 1.4.0
+ '@algolia/client-abtesting': 5.38.0
+ '@algolia/client-analytics': 5.38.0
+ '@algolia/client-common': 5.38.0
+ '@algolia/client-insights': 5.38.0
+ '@algolia/client-personalization': 5.38.0
+ '@algolia/client-query-suggestions': 5.38.0
+ '@algolia/client-search': 5.38.0
+ '@algolia/ingestion': 1.38.0
+ '@algolia/monitoring': 1.38.0
+ '@algolia/recommend': 5.38.0
+ '@algolia/requester-browser-xhr': 5.38.0
+ '@algolia/requester-fetch': 5.38.0
+ '@algolia/requester-node-http': 5.38.0
+
+ ansi-align@3.0.1:
+ dependencies:
+ string-width: 4.2.3
+
+ ansi-escapes@4.3.2:
+ dependencies:
+ type-fest: 0.21.3
+
+ ansi-html-community@0.0.8: {}
+
ansi-regex@5.0.1: {}
ansi-regex@6.1.0: {}
@@ -8597,6 +14261,10 @@ snapshots:
arg@5.0.2: {}
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
+
argparse@2.0.1: {}
aria-hidden@1.2.6:
@@ -8611,6 +14279,8 @@ snapshots:
array-flatten@1.1.1: {}
+ array-union@2.1.0: {}
+
asn1.js@4.10.1:
dependencies:
bn.js: 4.12.2
@@ -8623,12 +14293,57 @@ snapshots:
async@3.2.6: {}
+ autoprefixer@10.4.21(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.2
+ caniuse-lite: 1.0.30001718
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.1.0
aws4fetch@1.0.20: {}
+ babel-loader@9.2.1(@babel/core@7.28.4)(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ '@babel/core': 7.28.4
+ find-cache-dir: 4.0.0
+ schema-utils: 4.3.2
+ webpack: 5.101.3(esbuild@0.17.6)
+
+ babel-plugin-dynamic-import-node@2.3.3:
+ dependencies:
+ object.assign: 4.1.7
+
+ babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.4):
+ dependencies:
+ '@babel/compat-data': 7.28.4
+ '@babel/core': 7.28.4
+ '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.4):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4)
+ core-js-compat: 3.45.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.4):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
bail@2.0.2: {}
balanced-match@1.0.2: {}
@@ -8638,10 +14353,14 @@ snapshots:
base64-js@1.5.1: {}
+ baseline-browser-mapping@2.8.7: {}
+
basic-auth@2.0.1:
dependencies:
safe-buffer: 5.1.2
+ batch@0.6.1: {}
+
before-after-hook@4.0.0: {}
better-sqlite3@11.10.0:
@@ -8649,6 +14368,8 @@ snapshots:
bindings: 1.5.0
prebuild-install: 7.1.3
+ big.js@5.2.2: {}
+
binary-extensions@2.3.0: {}
bindings@1.5.0:
@@ -8682,6 +14403,40 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ bonjour-service@1.3.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ multicast-dns: 7.2.5
+
+ boolbase@1.0.0: {}
+
+ boxen@6.2.1:
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ cli-boxes: 3.0.0
+ string-width: 5.1.2
+ type-fest: 2.19.0
+ widest-line: 4.0.1
+ wrap-ansi: 8.1.0
+
+ boxen@7.1.1:
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 7.0.1
+ chalk: 5.6.2
+ cli-boxes: 3.0.0
+ string-width: 5.1.2
+ type-fest: 2.19.0
+ widest-line: 4.0.1
+ wrap-ansi: 8.1.0
+
+ brace-expansion@1.1.12:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
@@ -8744,6 +14499,14 @@ snapshots:
node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.24.5)
+ browserslist@4.26.2:
+ dependencies:
+ baseline-browser-mapping: 2.8.7
+ caniuse-lite: 1.0.30001745
+ electron-to-chromium: 1.5.224
+ node-releases: 2.0.21
+ update-browserslist-db: 1.1.3(browserslist@4.26.2)
+
buffer-builder@0.2.0: {}
buffer-from@1.1.2: {}
@@ -8755,6 +14518,12 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.1.0
+
+ bytes@3.0.0: {}
+
bytes@3.1.2: {}
c12@3.1.0:
@@ -8789,6 +14558,18 @@ snapshots:
tar: 6.2.1
unique-filename: 3.0.0
+ cacheable-lookup@7.0.0: {}
+
+ cacheable-request@10.2.14:
+ dependencies:
+ '@types/http-cache-semantics': 4.0.4
+ get-stream: 6.0.1
+ http-cache-semantics: 4.2.0
+ keyv: 4.5.4
+ mimic-response: 4.0.0
+ normalize-url: 8.1.0
+ responselike: 3.0.0
+
call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
@@ -8806,6 +14587,13 @@ snapshots:
call-bind-apply-helpers: 1.0.2
get-intrinsic: 1.3.0
+ callsites@3.1.0: {}
+
+ camel-case@4.1.2:
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.8.1
+
camelcase-keys@9.1.3:
dependencies:
camelcase: 8.0.0
@@ -8815,10 +14603,23 @@ snapshots:
camelcase@5.3.1: {}
+ camelcase@6.3.0: {}
+
+ camelcase@7.0.1: {}
+
camelcase@8.0.0: {}
+ caniuse-api@3.0.0:
+ dependencies:
+ browserslist: 4.24.5
+ caniuse-lite: 1.0.30001718
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
caniuse-lite@1.0.30001718: {}
+ caniuse-lite@1.0.30001745: {}
+
canvg@3.0.11:
dependencies:
'@babel/runtime': 7.27.1
@@ -8848,6 +14649,8 @@ snapshots:
chalk@5.6.2: {}
+ char-regex@1.0.2: {}
+
character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {}
@@ -8862,6 +14665,25 @@ snapshots:
check-error@2.1.1: {}
+ cheerio-select@2.1.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-select: 5.2.2
+ css-what: 6.1.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+
+ cheerio@1.0.0-rc.12:
+ dependencies:
+ cheerio-select: 2.1.0
+ dom-serializer: 2.0.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ htmlparser2: 8.0.2
+ parse5: 7.3.0
+ parse5-htmlparser2-tree-adapter: 7.1.0
+
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -8882,6 +14704,10 @@ snapshots:
chownr@2.0.0: {}
+ chrome-trace-event@1.0.4: {}
+
+ ci-info@3.9.0: {}
+
cipher-base@1.0.6:
dependencies:
inherits: 2.0.4
@@ -8897,14 +14723,26 @@ snapshots:
classnames@2.5.1: {}
+ clean-css@5.3.3:
+ dependencies:
+ source-map: 0.6.1
+
clean-stack@2.2.0: {}
+ cli-boxes@3.0.0: {}
+
cli-cursor@3.1.0:
dependencies:
restore-cursor: 3.1.0
cli-spinners@2.9.2: {}
+ cli-table3@0.6.5:
+ dependencies:
+ string-width: 4.2.3
+ optionalDependencies:
+ '@colors/colors': 1.5.0
+
cliui@6.0.0:
dependencies:
string-width: 4.2.3
@@ -8917,10 +14755,18 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
+ clone-deep@4.0.1:
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+
clone@1.0.4: {}
clsx@2.1.1: {}
+ collapse-white-space@2.1.0: {}
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -8943,6 +14789,8 @@ snapshots:
color-convert: 1.9.3
color-string: 1.9.1
+ colord@2.9.3: {}
+
colorette@2.0.20: {}
colorjs.io@0.5.2: {}
@@ -8952,8 +14800,22 @@ snapshots:
color: 3.2.1
text-hex: 1.0.0
+ combine-promises@1.2.0: {}
+
comma-separated-tokens@2.0.3: {}
+ commander@10.0.1: {}
+
+ commander@2.20.3: {}
+
+ commander@5.1.0: {}
+
+ commander@7.2.0: {}
+
+ commander@8.3.0: {}
+
+ common-path-prefix@3.0.0: {}
+
compressible@2.0.18:
dependencies:
mime-db: 1.54.0
@@ -8970,6 +14832,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ concat-map@0.0.1: {}
+
concurrently@9.2.1:
dependencies:
chalk: 4.1.2
@@ -8983,8 +14847,25 @@ snapshots:
confbox@0.2.2: {}
+ config-chain@1.1.13:
+ dependencies:
+ ini: 1.3.8
+ proto-list: 1.2.4
+
+ configstore@6.0.0:
+ dependencies:
+ dot-prop: 6.0.1
+ graceful-fs: 4.2.11
+ unique-string: 3.0.0
+ write-file-atomic: 3.0.3
+ xdg-basedir: 5.1.0
+
+ connect-history-api-fallback@2.0.0: {}
+
consola@3.4.2: {}
+ content-disposition@0.5.2: {}
+
content-disposition@0.5.4:
dependencies:
safe-buffer: 5.2.1
@@ -9001,8 +14882,23 @@ snapshots:
cookie@0.7.2: {}
- core-js@3.42.0:
- optional: true
+ copy-webpack-plugin@11.0.0(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ fast-glob: 3.3.3
+ glob-parent: 6.0.2
+ globby: 13.2.2
+ normalize-path: 3.0.0
+ schema-utils: 4.3.2
+ serialize-javascript: 6.0.2
+ webpack: 5.101.3(esbuild@0.17.6)
+
+ core-js-compat@3.45.1:
+ dependencies:
+ browserslist: 4.26.2
+
+ core-js-pure@3.45.1: {}
+
+ core-js@3.42.0: {}
core-util-is@1.0.3: {}
@@ -9011,6 +14907,15 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
+ cosmiconfig@8.3.6(typescript@5.9.2):
+ dependencies:
+ import-fresh: 3.3.1
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ optionalDependencies:
+ typescript: 5.9.2
+
create-ecdh@4.0.4:
dependencies:
bn.js: 4.12.2
@@ -9059,11 +14964,87 @@ snapshots:
randombytes: 2.1.0
randomfill: 1.0.4
+ crypto-random-string@4.0.0:
+ dependencies:
+ type-fest: 1.4.0
+
+ css-blank-pseudo@7.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ css-declaration-sorter@7.3.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ css-has-pseudo@7.0.3(postcss@8.5.6):
+ dependencies:
+ '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+ postcss-value-parser: 4.2.0
+
css-line-break@2.1.0:
dependencies:
utrie: 1.0.2
optional: true
+ css-loader@6.11.0(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-modules-extract-imports: 3.1.0(postcss@8.5.6)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.5.6)
+ postcss-modules-scope: 3.2.1(postcss@8.5.6)
+ postcss-modules-values: 4.0.0(postcss@8.5.6)
+ postcss-value-parser: 4.2.0
+ semver: 7.7.2
+ optionalDependencies:
+ webpack: 5.101.3(esbuild@0.17.6)
+
+ css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(esbuild@0.17.6)(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ cssnano: 6.1.2(postcss@8.5.6)
+ jest-worker: 29.7.0
+ postcss: 8.5.6
+ schema-utils: 4.3.2
+ serialize-javascript: 6.0.2
+ webpack: 5.101.3(esbuild@0.17.6)
+ optionalDependencies:
+ clean-css: 5.3.3
+ esbuild: 0.17.6
+
+ css-prefers-color-scheme@10.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ css-select@4.3.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+
+ css-select@5.2.2:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ nth-check: 2.1.1
+
+ css-tree@2.2.1:
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.2.1
+
+ css-tree@2.3.1:
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.1
+
css-tree@3.1.0:
dependencies:
mdn-data: 2.12.2
@@ -9073,8 +15054,69 @@ snapshots:
css.escape@1.5.1: {}
+ cssdb@8.4.2: {}
+
cssesc@3.0.0: {}
+ cssnano-preset-advanced@6.1.2(postcss@8.5.6):
+ dependencies:
+ autoprefixer: 10.4.21(postcss@8.5.6)
+ browserslist: 4.24.5
+ cssnano-preset-default: 6.1.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-discard-unused: 6.0.5(postcss@8.5.6)
+ postcss-merge-idents: 6.0.3(postcss@8.5.6)
+ postcss-reduce-idents: 6.0.3(postcss@8.5.6)
+ postcss-zindex: 6.0.2(postcss@8.5.6)
+
+ cssnano-preset-default@6.1.2(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ css-declaration-sorter: 7.3.0(postcss@8.5.6)
+ cssnano-utils: 4.0.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-calc: 9.0.1(postcss@8.5.6)
+ postcss-colormin: 6.1.0(postcss@8.5.6)
+ postcss-convert-values: 6.1.0(postcss@8.5.6)
+ postcss-discard-comments: 6.0.2(postcss@8.5.6)
+ postcss-discard-duplicates: 6.0.3(postcss@8.5.6)
+ postcss-discard-empty: 6.0.3(postcss@8.5.6)
+ postcss-discard-overridden: 6.0.2(postcss@8.5.6)
+ postcss-merge-longhand: 6.0.5(postcss@8.5.6)
+ postcss-merge-rules: 6.1.1(postcss@8.5.6)
+ postcss-minify-font-values: 6.1.0(postcss@8.5.6)
+ postcss-minify-gradients: 6.0.3(postcss@8.5.6)
+ postcss-minify-params: 6.1.0(postcss@8.5.6)
+ postcss-minify-selectors: 6.0.4(postcss@8.5.6)
+ postcss-normalize-charset: 6.0.2(postcss@8.5.6)
+ postcss-normalize-display-values: 6.0.2(postcss@8.5.6)
+ postcss-normalize-positions: 6.0.2(postcss@8.5.6)
+ postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6)
+ postcss-normalize-string: 6.0.2(postcss@8.5.6)
+ postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6)
+ postcss-normalize-unicode: 6.1.0(postcss@8.5.6)
+ postcss-normalize-url: 6.0.2(postcss@8.5.6)
+ postcss-normalize-whitespace: 6.0.2(postcss@8.5.6)
+ postcss-ordered-values: 6.0.2(postcss@8.5.6)
+ postcss-reduce-initial: 6.1.0(postcss@8.5.6)
+ postcss-reduce-transforms: 6.0.2(postcss@8.5.6)
+ postcss-svgo: 6.0.3(postcss@8.5.6)
+ postcss-unique-selectors: 6.0.4(postcss@8.5.6)
+
+ cssnano-utils@4.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ cssnano@6.1.2(postcss@8.5.6):
+ dependencies:
+ cssnano-preset-default: 6.1.2(postcss@8.5.6)
+ lilconfig: 3.1.3
+ postcss: 8.5.6
+
+ csso@5.0.5:
+ dependencies:
+ css-tree: 2.2.1
+
cssstyle@4.3.1:
dependencies:
'@asamuzakjp/css-color': 3.2.0
@@ -9095,6 +15137,8 @@ snapshots:
date-fns@4.1.0: {}
+ debounce@1.2.1: {}
+
debug@2.6.9:
dependencies:
ms: 2.0.0
@@ -9130,20 +15174,41 @@ snapshots:
deepmerge@4.3.1: {}
+ default-browser-id@5.0.0: {}
+
+ default-browser@5.2.1:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.0
+
defaults@1.0.4:
dependencies:
clone: 1.0.4
+ defer-to-connect@2.0.1: {}
+
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.1
es-errors: 1.3.0
gopd: 1.2.0
+ define-lazy-prop@2.0.0: {}
+
+ define-lazy-prop@3.0.0: {}
+
+ define-properties@1.2.1:
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+
defu@6.1.4: {}
delay@6.0.0: {}
+ depd@1.1.2: {}
+
depd@2.0.0: {}
dequal@2.0.3: {}
@@ -9164,6 +15229,15 @@ snapshots:
detect-node-es@1.1.0: {}
+ detect-node@2.1.0: {}
+
+ detect-port@1.6.1:
+ dependencies:
+ address: 1.2.2
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
devlop@1.1.0:
dependencies:
dequal: 2.0.3
@@ -9180,21 +15254,76 @@ snapshots:
dijkstrajs@1.0.3: {}
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
dnd-core@16.0.1:
dependencies:
'@react-dnd/asap': 5.0.2
'@react-dnd/invariant': 4.0.2
redux: 4.2.1
+ dns-packet@5.6.1:
+ dependencies:
+ '@leichtgewicht/ip-codec': 2.0.5
+
dom-accessibility-api@0.5.16: {}
dom-accessibility-api@0.6.3: {}
+ dom-converter@0.2.0:
+ dependencies:
+ utila: 0.4.0
+
+ dom-serializer@1.4.1:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+
+ dom-serializer@2.0.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+
+ domelementtype@2.3.0: {}
+
+ domhandler@4.3.1:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domhandler@5.0.3:
+ dependencies:
+ domelementtype: 2.3.0
+
dompurify@3.2.7:
optionalDependencies:
'@types/trusted-types': 2.0.7
optional: true
+ domutils@2.8.0:
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+
+ domutils@3.2.2:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ dot-case@3.0.4:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.8.1
+
+ dot-prop@6.0.1:
+ dependencies:
+ is-obj: 2.0.0
+
dotenv@16.6.1: {}
dotenv@17.2.2: {}
@@ -9225,6 +15354,8 @@ snapshots:
electron-to-chromium@1.5.155: {}
+ electron-to-chromium@1.5.224: {}
+
elliptic@6.6.1:
dependencies:
bn.js: 4.12.2
@@ -9241,6 +15372,12 @@ snapshots:
emoji-regex@9.2.2: {}
+ emojilib@2.4.0: {}
+
+ emojis-list@3.0.0: {}
+
+ emoticon@4.1.0: {}
+
empathic@2.0.0: {}
enabled@2.0.0: {}
@@ -9255,10 +15392,23 @@ snapshots:
dependencies:
once: 1.4.0
+ enhanced-resolve@5.18.3:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.3
+
+ entities@2.2.0: {}
+
+ entities@4.5.0: {}
+
entities@6.0.0: {}
err-code@2.0.3: {}
+ error-ex@1.3.4:
+ dependencies:
+ is-arrayish: 0.2.1
+
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
@@ -9269,6 +15419,20 @@ snapshots:
dependencies:
es-errors: 1.3.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.1
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
esbuild-plugins-node-modules-polyfill@1.7.0(esbuild@0.17.6):
dependencies:
'@jspm/core': 2.1.0
@@ -9329,45 +15493,101 @@ snapshots:
escalade@3.2.0: {}
+ escape-goat@4.0.0: {}
+
escape-html@1.0.3: {}
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@4.0.0: {}
+
escape-string-regexp@5.0.0: {}
+ eslint-scope@5.1.1:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+
+ esprima@4.0.1: {}
+
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ estraverse@4.3.0: {}
+
+ estraverse@5.3.0: {}
+
estree-util-attach-comments@2.1.1:
dependencies:
'@types/estree': 1.0.7
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
estree-util-build-jsx@2.2.2:
dependencies:
'@types/estree-jsx': 1.0.5
estree-util-is-identifier-name: 2.1.0
estree-walker: 3.0.3
+ 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@1.1.0: {}
estree-util-is-identifier-name@2.1.0: {}
estree-util-is-identifier-name@3.0.0: {}
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+
estree-util-to-js@1.2.0:
dependencies:
'@types/estree-jsx': 1.0.5
astring: 1.9.0
source-map: 0.7.4
+ 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-value-to-estree@1.3.0:
dependencies:
is-plain-obj: 3.0.0
+ estree-util-value-to-estree@3.4.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
estree-util-visit@1.2.1:
dependencies:
'@types/estree-jsx': 1.0.5
'@types/unist': 2.0.11
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.7
+ esutils@2.0.3: {}
+
+ eta@2.2.0: {}
+
etag@1.8.1: {}
eval@0.1.8:
@@ -9377,6 +15597,10 @@ snapshots:
event-target-shim@5.0.1: {}
+ eventemitter3@4.0.7: {}
+
+ events@3.3.0: {}
+
eventsource-parser@3.0.6: {}
evp_bytestokey@1.0.3:
@@ -9447,6 +15671,10 @@ snapshots:
exsolve@1.0.7: {}
+ extend-shallow@2.0.1:
+ dependencies:
+ is-extendable: 0.1.1
+
extend@3.0.2: {}
fast-check@3.23.2:
@@ -9465,12 +15693,16 @@ snapshots:
merge2: 1.4.1
micromatch: 4.0.8
+ fast-json-stable-stringify@2.1.0: {}
+
fast-png@6.4.0:
dependencies:
'@types/pako': 2.0.4
iobuffer: 5.4.0
pako: 2.1.0
+ fast-uri@3.1.0: {}
+
fastq@1.19.1:
dependencies:
reusify: 1.1.0
@@ -9479,12 +15711,20 @@ snapshots:
dependencies:
format: 0.2.2
+ faye-websocket@0.11.4:
+ dependencies:
+ websocket-driver: 0.7.4
+
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
fecha@4.2.3: {}
+ feed@4.2.2:
+ dependencies:
+ xml-js: 1.6.11
+
fetch-blob@3.2.0:
dependencies:
node-domexception: 1.0.0
@@ -9492,6 +15732,16 @@ snapshots:
fflate@0.8.2: {}
+ figures@3.2.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+
+ file-loader@6.2.0(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 3.3.0
+ webpack: 5.101.3(esbuild@0.17.6)
+
file-stream-rotator@0.6.1:
dependencies:
moment: 2.30.1
@@ -9523,6 +15773,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ find-cache-dir@4.0.0:
+ dependencies:
+ common-path-prefix: 3.0.0
+ pkg-dir: 7.0.0
+
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@@ -9533,8 +15788,17 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
+ find-up@6.3.0:
+ dependencies:
+ locate-path: 7.2.0
+ path-exists: 5.0.0
+
+ flat@5.0.2: {}
+
fn.name@1.1.0: {}
+ follow-redirects@1.15.11: {}
+
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
@@ -9544,6 +15808,8 @@ snapshots:
cross-spawn: 7.0.6
signal-exit: 4.1.0
+ form-data-encoder@2.1.4: {}
+
format@0.2.2: {}
formdata-polyfill@4.0.10:
@@ -9552,6 +15818,8 @@ snapshots:
forwarded@0.2.0: {}
+ fraction.js@4.3.7: {}
+
framer-motion@12.23.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
motion-dom: 12.23.19
@@ -9571,6 +15839,12 @@ snapshots:
jsonfile: 6.1.0
universalify: 2.0.1
+ fs-extra@11.3.2:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
fs-minipass@2.1.0:
dependencies:
minipass: 3.3.6
@@ -9607,6 +15881,8 @@ snapshots:
get-nonce@1.0.1: {}
+ get-own-enumerable-property-symbols@3.0.2: {}
+
get-port@5.1.1: {}
get-proto@1.0.1:
@@ -9627,10 +15903,22 @@ snapshots:
github-from-package@0.0.0: {}
+ github-slugger@1.5.0: {}
+
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-to-regex.js@1.0.1(tslib@2.8.1):
+ dependencies:
+ tslib: 2.8.1
+
+ glob-to-regexp@0.4.1: {}
+
glob@10.4.5:
dependencies:
foreground-child: 3.3.1
@@ -9640,16 +15928,60 @@ snapshots:
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
+ global-dirs@3.0.1:
+ dependencies:
+ ini: 2.0.0
+
globals@11.12.0: {}
globals@15.15.0: {}
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ globby@13.2.2:
+ dependencies:
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 4.0.0
+
globrex@0.1.2: {}
gopd@1.2.0: {}
+ got@12.6.1:
+ dependencies:
+ '@sindresorhus/is': 5.6.0
+ '@szmarczak/http-timer': 5.0.1
+ cacheable-lookup: 7.0.0
+ cacheable-request: 10.2.14
+ decompress-response: 6.0.0
+ form-data-encoder: 2.1.4
+ get-stream: 6.0.1
+ http2-wrapper: 2.2.1
+ lowercase-keys: 3.0.0
+ p-cancelable: 3.0.0
+ responselike: 3.0.0
+
+ graceful-fs@4.2.10: {}
+
graceful-fs@4.2.11: {}
+ gray-matter@4.0.3:
+ dependencies:
+ js-yaml: 3.14.1
+ kind-of: 6.0.3
+ section-matter: 1.0.0
+ strip-bom-string: 1.0.0
+
gunzip-maybe@1.4.2:
dependencies:
browserify-zlib: 0.1.4
@@ -9663,6 +15995,8 @@ snapshots:
dependencies:
duplexer: 0.1.2
+ handle-thing@2.0.1: {}
+
has-flag@4.0.0: {}
has-property-descriptors@1.0.2:
@@ -9675,6 +16009,8 @@ snapshots:
dependencies:
has-symbols: 1.1.0
+ has-yarn@3.0.0: {}
+
hash-base@3.0.5:
dependencies:
inherits: 2.0.4
@@ -9746,6 +16082,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@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: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.16
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
hast-util-to-html@9.0.5:
dependencies:
'@types/hast': 3.0.4
@@ -9804,6 +16161,17 @@ snapshots:
property-information: 7.1.0
space-separated-tokens: 2.0.2
+ he@1.2.0: {}
+
+ history@4.10.1:
+ dependencies:
+ '@babel/runtime': 7.27.1
+ loose-envify: 1.4.0
+ resolve-pathname: 3.0.0
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+ value-equal: 1.0.1
+
hmac-drbg@1.0.1:
dependencies:
hash.js: 1.1.7
@@ -9820,21 +16188,87 @@ snapshots:
dependencies:
lru-cache: 7.18.3
+ hpack.js@2.1.6:
+ dependencies:
+ inherits: 2.0.4
+ obuf: 1.1.2
+ readable-stream: 2.3.8
+ wbuf: 1.7.3
+
html-encoding-sniffer@4.0.0:
dependencies:
whatwg-encoding: 3.1.1
optional: true
+ html-escaper@2.0.2: {}
+
+ html-minifier-terser@6.1.0:
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.3
+ commander: 8.3.0
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.44.0
+
+ html-minifier-terser@7.2.0:
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.3
+ commander: 10.0.1
+ entities: 4.5.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.44.0
+
+ html-tags@3.3.1: {}
+
html-url-attributes@3.0.1: {}
html-void-elements@3.0.0: {}
+ html-webpack-plugin@5.6.4(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.21
+ pretty-error: 4.0.0
+ tapable: 2.2.3
+ optionalDependencies:
+ webpack: 5.101.3(esbuild@0.17.6)
+
html2canvas@1.4.1:
dependencies:
css-line-break: 2.1.0
text-segmentation: 1.0.3
optional: true
+ htmlparser2@6.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+
+ htmlparser2@8.0.2:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ entities: 4.5.0
+
+ http-cache-semantics@4.2.0: {}
+
+ http-deceiver@1.2.7: {}
+
+ http-errors@1.6.3:
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.3
+ setprototypeof: 1.1.0
+ statuses: 1.5.0
+
http-errors@2.0.0:
dependencies:
depd: 2.0.0
@@ -9843,6 +16277,8 @@ snapshots:
statuses: 2.0.1
toidentifier: 1.0.1
+ http-parser-js@0.5.10: {}
+
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
@@ -9851,6 +16287,31 @@ snapshots:
- supports-color
optional: true
+ http-proxy-middleware@2.0.9(@types/express@4.17.23):
+ dependencies:
+ '@types/http-proxy': 1.17.16
+ http-proxy: 1.18.1
+ is-glob: 4.0.3
+ is-plain-obj: 3.0.0
+ micromatch: 4.0.8
+ optionalDependencies:
+ '@types/express': 4.17.23
+ transitivePeerDependencies:
+ - debug
+
+ http-proxy@1.18.1:
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.11
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+
+ http2-wrapper@2.2.1:
+ dependencies:
+ quick-lru: 5.1.1
+ resolve-alpn: 1.2.1
+
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.3
@@ -9863,6 +16324,8 @@ snapshots:
husky@9.1.7: {}
+ hyperdyperid@1.2.0: {}
+
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
@@ -9876,32 +16339,59 @@ snapshots:
dependencies:
postcss: 8.5.3
+ icss-utils@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
ieee754@1.2.1: {}
+ ignore@5.3.2: {}
+
+ image-size@2.0.2: {}
+
immediate@3.0.6: {}
immutable@5.1.2: {}
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ import-lazy@4.0.0: {}
+
imurmurhash@0.1.4: {}
indent-string@4.0.0: {}
index-to-position@1.1.0: {}
+ infima@0.2.0-alpha.45: {}
+
+ inherits@2.0.3: {}
+
inherits@2.0.4: {}
ini@1.3.8: {}
+ ini@2.0.0: {}
+
inline-style-parser@0.1.1: {}
inline-style-parser@0.2.4: {}
+ invariant@2.2.4:
+ dependencies:
+ loose-envify: 1.4.0
+
iobuffer@5.4.0: {}
ip-address@10.0.1: {}
ipaddr.js@1.9.1: {}
+ ipaddr.js@2.2.0: {}
+
is-alphabetical@2.0.1: {}
is-alphanumerical@2.0.1:
@@ -9914,6 +16404,8 @@ snapshots:
call-bound: 1.0.4
has-tostringtag: 1.0.2
+ is-arrayish@0.2.1: {}
+
is-arrayish@0.3.2: {}
is-binary-path@2.1.0:
@@ -9924,6 +16416,10 @@ snapshots:
is-callable@1.2.7: {}
+ is-ci@3.0.1:
+ dependencies:
+ ci-info: 3.9.0
+
is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
@@ -9932,6 +16428,12 @@ snapshots:
is-deflate@1.0.0: {}
+ is-docker@2.2.1: {}
+
+ is-docker@3.0.0: {}
+
+ is-extendable@0.1.1: {}
+
is-extglob@2.1.1: {}
is-fullwidth-code-point@3.0.0: {}
@@ -9951,16 +16453,39 @@ snapshots:
is-hexadecimal@2.0.1: {}
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
+ is-installed-globally@0.4.0:
+ dependencies:
+ global-dirs: 3.0.1
+ is-path-inside: 3.0.3
+
is-interactive@1.0.0: {}
+ is-network-error@1.3.0: {}
+
+ is-npm@6.1.0: {}
+
is-number@7.0.0: {}
+ is-obj@1.0.1: {}
+
+ is-obj@2.0.0: {}
+
is-obj@3.0.0: {}
+ is-path-inside@3.0.3: {}
+
is-plain-obj@3.0.0: {}
is-plain-obj@4.1.0: {}
+ is-plain-object@2.0.4:
+ dependencies:
+ isobject: 3.0.1
+
is-potential-custom-element-name@1.0.1:
optional: true
@@ -9975,20 +16500,38 @@ snapshots:
has-tostringtag: 1.0.2
hasown: 2.0.2
+ is-regexp@1.0.0: {}
+
is-stream@2.0.1: {}
is-typed-array@1.1.15:
dependencies:
which-typed-array: 1.1.19
+ is-typedarray@1.0.0: {}
+
is-unicode-supported@0.1.0: {}
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ is-yarn-global@0.4.1: {}
+
+ isarray@0.0.1: {}
+
isarray@1.0.0: {}
isbot@5.1.30: {}
isexe@2.0.0: {}
+ isobject@3.0.1: {}
+
jackspeak@3.4.3:
dependencies:
'@isaacs/cliui': 8.0.2
@@ -9997,10 +16540,42 @@ snapshots:
javascript-stringify@2.1.0: {}
+ jest-util@29.7.0:
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 22.15.21
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+
+ jest-worker@27.5.1:
+ dependencies:
+ '@types/node': 22.15.21
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jest-worker@29.7.0:
+ dependencies:
+ '@types/node': 22.15.21
+ jest-util: 29.7.0
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jiti@1.21.7: {}
+
jiti@2.4.2: {}
jiti@2.6.0: {}
+ joi@17.13.3:
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ '@hapi/topo': 5.1.0
+ '@sideway/address': 4.1.5
+ '@sideway/formula': 3.0.1
+ '@sideway/pinpoint': 2.0.0
+
jose@5.10.0: {}
js-base64@3.7.7: {}
@@ -10015,6 +16590,11 @@ snapshots:
js-tokens@9.0.1: {}
+ js-yaml@3.14.1:
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+
js-yaml@4.1.0:
dependencies:
argparse: 2.0.1
@@ -10049,8 +16629,18 @@ snapshots:
jsesc@3.0.2: {}
+ jsesc@3.1.0: {}
+
+ json-buffer@3.0.1: {}
+
+ json-parse-even-better-errors@2.3.1: {}
+
json-parse-even-better-errors@3.0.2: {}
+ json-schema-traverse@0.4.1: {}
+
+ json-schema-traverse@1.0.0: {}
+
json-schema@0.4.0: {}
json5@2.2.3: {}
@@ -10081,6 +16671,14 @@ snapshots:
readable-stream: 2.3.8
setimmediate: 1.0.5
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ kind-of@6.0.3: {}
+
+ kleur@3.0.3: {}
+
kleur@4.1.5: {}
kolorist@1.8.0: {}
@@ -10089,12 +16687,33 @@ snapshots:
ky@1.8.1: {}
+ latest-version@7.0.0:
+ dependencies:
+ package-json: 8.1.1
+
+ launch-editor@2.11.1:
+ dependencies:
+ picocolors: 1.1.1
+ shell-quote: 1.8.3
+
+ leven@3.1.0: {}
+
lie@3.3.0:
dependencies:
immediate: 3.0.6
lilconfig@3.1.3: {}
+ lines-and-columns@1.2.4: {}
+
+ loader-runner@4.3.0: {}
+
+ loader-utils@2.0.4:
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+
loader-utils@3.3.1: {}
local-pkg@1.1.1:
@@ -10111,10 +16730,18 @@ snapshots:
dependencies:
p-locate: 5.0.0
+ locate-path@7.2.0:
+ dependencies:
+ p-locate: 6.0.0
+
lodash.camelcase@4.3.0: {}
lodash.debounce@4.0.8: {}
+ lodash.memoize@4.1.2: {}
+
+ lodash.uniq@4.5.0: {}
+
lodash@4.17.21: {}
log-symbols@4.1.0:
@@ -10141,6 +16768,12 @@ snapshots:
loupe@3.2.1: {}
+ lower-case@2.0.2:
+ dependencies:
+ tslib: 2.8.1
+
+ lowercase-keys@3.0.0: {}
+
lru-cache@10.4.3: {}
lru-cache@5.1.1:
@@ -10163,8 +16796,16 @@ snapshots:
markdown-extensions@1.1.1: {}
+ markdown-extensions@2.0.0: {}
+
+ markdown-table@2.0.0:
+ dependencies:
+ repeat-string: 1.6.1
+
markdown-table@3.0.4: {}
+ marked@16.3.0: {}
+
math-intrinsics@1.1.0: {}
md5.js@1.3.5:
@@ -10179,6 +16820,20 @@ snapshots:
'@types/unist': 2.0.11
unist-util-visit: 4.1.2
+ mdast-util-directive@3.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ 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.2:
dependencies:
'@types/mdast': 4.0.4
@@ -10226,6 +16881,17 @@ snapshots:
mdast-util-to-markdown: 1.5.0
micromark-extension-frontmatter: 1.1.1
+ mdast-util-frontmatter@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ escape-string-regexp: 5.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-extension-frontmatter: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-gfm-autolink-literal@2.0.1:
dependencies:
'@types/mdast': 4.0.4
@@ -10348,6 +17014,16 @@ snapshots:
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@1.3.1:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -10433,6 +17109,10 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
+ mdn-data@2.0.28: {}
+
+ mdn-data@2.0.30: {}
+
mdn-data@2.12.2: {}
media-query-parser@2.0.2:
@@ -10441,6 +17121,15 @@ snapshots:
media-typer@0.3.0: {}
+ memfs@4.46.1:
+ dependencies:
+ '@jsonjoy.com/json-pack': 1.14.0(tslib@2.8.1)
+ '@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
+ glob-to-regex.js: 1.0.1(tslib@2.8.1)
+ thingies: 2.5.0(tslib@2.8.1)
+ tree-dump: 1.1.0(tslib@2.8.1)
+ tslib: 2.8.1
+
merge-descriptors@1.0.3: {}
merge-stream@2.0.0: {}
@@ -10487,6 +17176,16 @@ snapshots:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.2
+ 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.2
+ parse-entities: 4.0.2
+
micromark-extension-frontmatter@1.1.1:
dependencies:
fault: 2.0.1
@@ -10494,6 +17193,13 @@ snapshots:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
+ micromark-extension-frontmatter@2.0.0:
+ dependencies:
+ fault: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-extension-gfm-autolink-literal@2.1.0:
dependencies:
micromark-util-character: 2.1.1
@@ -10563,6 +17269,17 @@ snapshots:
micromark-util-types: 1.1.0
uvu: 0.5.6
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-extension-mdx-jsx@1.0.5:
dependencies:
'@types/acorn': 4.0.6
@@ -10576,10 +17293,27 @@ snapshots:
uvu: 0.5.6
vfile-message: 3.1.4
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.2
+
micromark-extension-mdx-md@1.0.1:
dependencies:
micromark-util-types: 1.1.0
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
micromark-extension-mdxjs-esm@1.0.5:
dependencies:
'@types/estree': 1.0.7
@@ -10592,6 +17326,18 @@ snapshots:
uvu: 0.5.6
vfile-message: 3.1.4
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
micromark-extension-mdxjs@1.0.1:
dependencies:
acorn: 8.14.1
@@ -10603,6 +17349,17 @@ snapshots:
micromark-util-combine-extensions: 1.1.0
micromark-util-types: 1.1.0
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.14.1
+ acorn-jsx: 5.3.2(acorn@8.14.1)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ 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.2
+
micromark-factory-destination@1.1.0:
dependencies:
micromark-util-character: 1.2.0
@@ -10640,6 +17397,18 @@ snapshots:
uvu: 0.5.6
vfile-message: 3.1.4
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
micromark-factory-space@1.1.0:
dependencies:
micromark-util-character: 1.2.0
@@ -10755,6 +17524,16 @@ snapshots:
uvu: 0.5.6
vfile-message: 3.1.4
+ micromark-util-events-to-acorn@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.2
+
micromark-util-html-tag-name@1.2.0: {}
micromark-util-html-tag-name@2.0.1: {}
@@ -10863,26 +17642,48 @@ snapshots:
bn.js: 4.12.2
brorand: 1.1.0
+ mime-db@1.33.0: {}
+
mime-db@1.52.0: {}
mime-db@1.54.0: {}
+ mime-types@2.1.18:
+ dependencies:
+ mime-db: 1.33.0
+
mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
+ mime-types@3.0.1:
+ dependencies:
+ mime-db: 1.54.0
+
mime@1.6.0: {}
mimic-fn@2.1.0: {}
mimic-response@3.1.0: {}
+ mimic-response@4.0.0: {}
+
min-indent@1.0.1: {}
+ mini-css-extract-plugin@2.9.4(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ schema-utils: 4.3.2
+ tapable: 2.2.3
+ webpack: 5.101.3(esbuild@0.17.6)
+
minimalistic-assert@1.0.1: {}
minimalistic-crypto-utils@1.0.1: {}
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.12
+
minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
@@ -10955,6 +17756,11 @@ snapshots:
ms@2.1.3: {}
+ multicast-dns@7.2.5:
+ dependencies:
+ dns-packet: 5.6.1
+ thunky: 1.1.0
+
nanoid@3.3.11: {}
nanostores@1.0.1: {}
@@ -10965,6 +17771,13 @@ snapshots:
negotiator@0.6.4: {}
+ neo-async@2.6.2: {}
+
+ no-case@3.0.4:
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.8.1
+
node-abi@3.77.0:
dependencies:
semver: 7.7.2
@@ -10974,6 +17787,13 @@ snapshots:
node-domexception@1.0.0: {}
+ node-emoji@2.2.0:
+ dependencies:
+ '@sindresorhus/is': 4.6.0
+ char-regex: 1.0.2
+ emojilib: 2.4.0
+ skin-tone: 2.0.0
+
node-fetch-native@1.6.6: {}
node-fetch@3.3.2:
@@ -10982,8 +17802,12 @@ snapshots:
fetch-blob: 3.2.0
formdata-polyfill: 4.0.10
+ node-forge@1.3.1: {}
+
node-releases@2.0.19: {}
+ node-releases@2.0.21: {}
+
normalize-package-data@5.0.0:
dependencies:
hosted-git-info: 6.1.3
@@ -10993,6 +17817,10 @@ snapshots:
normalize-path@3.0.0: {}
+ normalize-range@0.1.2: {}
+
+ normalize-url@8.1.0: {}
+
npm-install-checks@6.3.0:
dependencies:
semver: 7.7.2
@@ -11017,6 +17845,18 @@ snapshots:
dependencies:
path-key: 3.1.1
+ nprogress@0.2.0: {}
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ null-loader@4.0.1(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 3.3.0
+ webpack: 5.101.3(esbuild@0.17.6)
+
nwsapi@2.2.20:
optional: true
@@ -11034,6 +17874,19 @@ snapshots:
object-inspect@1.13.4: {}
+ object-keys@1.1.1: {}
+
+ object.assign@4.1.7:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
+ has-symbols: 1.1.0
+ object-keys: 1.1.1
+
+ obuf@1.1.2: {}
+
ofetch@1.4.1:
dependencies:
destr: 2.0.5
@@ -11078,6 +17931,19 @@ snapshots:
regex: 6.0.1
regex-recursion: 6.0.2
+ open@10.2.0:
+ dependencies:
+ default-browser: 5.2.1
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ wsl-utils: 0.1.0
+
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
openai-zod-to-json-schema@1.0.3(zod@4.1.11):
dependencies:
zod: 4.1.11
@@ -11094,6 +17960,8 @@ snapshots:
dependencies:
yaml: 2.8.0
+ opener@1.5.2: {}
+
ora@5.4.1:
dependencies:
bl: 4.1.0
@@ -11108,6 +17976,10 @@ snapshots:
outdent@0.8.0: {}
+ p-cancelable@3.0.0: {}
+
+ p-finally@1.0.0: {}
+
p-limit@2.3.0:
dependencies:
p-try: 2.2.0
@@ -11116,6 +17988,10 @@ snapshots:
dependencies:
yocto-queue: 0.1.0
+ p-limit@4.0.0:
+ dependencies:
+ yocto-queue: 1.2.1
+
p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
@@ -11124,16 +18000,42 @@ snapshots:
dependencies:
p-limit: 3.1.0
+ p-locate@6.0.0:
+ dependencies:
+ p-limit: 4.0.0
+
p-map@4.0.0:
dependencies:
aggregate-error: 3.1.0
+ p-queue@6.6.2:
+ dependencies:
+ eventemitter3: 4.0.7
+ p-timeout: 3.2.0
+
+ p-retry@6.2.1:
+ dependencies:
+ '@types/retry': 0.12.2
+ is-network-error: 1.3.0
+ retry: 0.13.1
+
p-throttle@6.2.0: {}
+ p-timeout@3.2.0:
+ dependencies:
+ p-finally: 1.0.0
+
p-try@2.2.0: {}
package-json-from-dist@1.0.1: {}
+ package-json@8.1.1:
+ dependencies:
+ got: 12.6.1
+ registry-auth-token: 5.1.0
+ registry-url: 6.0.1
+ semver: 7.7.2
+
package-manager-detector@1.3.0: {}
pako@0.2.9: {}
@@ -11142,6 +18044,15 @@ snapshots:
pako@2.1.0: {}
+ param-case@3.0.4:
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.8.1
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
parse-asn1@5.1.7:
dependencies:
asn1.js: 4.10.1
@@ -11161,6 +18072,13 @@ snapshots:
is-decimal: 2.0.1
is-hexadecimal: 2.0.1
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ error-ex: 1.3.4
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
parse-json@8.3.0:
dependencies:
'@babel/code-frame': 7.27.1
@@ -11169,18 +18087,36 @@ snapshots:
parse-ms@2.1.0: {}
+ parse-numeric-range@1.3.0: {}
+
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ dependencies:
+ domhandler: 5.0.3
+ parse5: 7.3.0
+
parse5@7.3.0:
dependencies:
entities: 6.0.0
parseurl@1.3.3: {}
+ pascal-case@3.1.2:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.8.1
+
path-browserify@1.0.1: {}
path-exists@4.0.0: {}
+ path-exists@5.0.0: {}
+
+ path-is-inside@1.0.2: {}
+
path-key@3.1.1: {}
+ path-parse@1.0.7: {}
+
path-scurry@1.11.1:
dependencies:
lru-cache: 10.4.3
@@ -11188,6 +18124,14 @@ snapshots:
path-to-regexp@0.1.12: {}
+ path-to-regexp@1.9.0:
+ dependencies:
+ isarray: 0.0.1
+
+ path-to-regexp@3.3.0: {}
+
+ path-type@4.0.0: {}
+
pathe@1.1.2: {}
pathe@2.0.3: {}
@@ -11229,6 +18173,10 @@ snapshots:
pidtree@0.6.0: {}
+ pkg-dir@7.0.0:
+ dependencies:
+ find-up: 6.3.0
+
pkg-types@1.3.1:
dependencies:
confbox: 0.1.8
@@ -11253,10 +18201,152 @@ snapshots:
possible-typed-array-names@1.1.0: {}
+ postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-calc@9.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+ postcss-clamp@4.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-color-functional-notation@7.0.12(postcss@8.5.6):
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
+ postcss-color-hex-alpha@10.0.0(postcss@8.5.6):
+ dependencies:
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-color-rebeccapurple@10.0.0(postcss@8.5.6):
+ dependencies:
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-colormin@6.1.0(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-convert-values@6.1.0(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-custom-media@11.0.6(postcss@8.5.6):
+ dependencies:
+ '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ postcss: 8.5.6
+
+ postcss-custom-properties@14.0.6(postcss@8.5.6):
+ dependencies:
+ '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-custom-selectors@8.0.5(postcss@8.5.6):
+ dependencies:
+ '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-dir-pseudo-class@9.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-discard-comments@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
postcss-discard-duplicates@5.1.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
+ postcss-discard-duplicates@6.0.3(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-discard-empty@6.0.3(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-discard-overridden@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-discard-unused@6.0.5(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ postcss-double-position-gradients@6.0.4(postcss@8.5.6):
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-focus-visible@10.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-focus-within@9.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-font-variant@5.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-gap-properties@6.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-image-set-function@7.0.0(postcss@8.5.6):
+ dependencies:
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-lab-function@7.0.12(postcss@8.5.6):
+ dependencies:
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/utilities': 2.0.0(postcss@8.5.6)
+ postcss: 8.5.6
+
postcss-load-config@4.0.2(postcss@8.5.3):
dependencies:
lilconfig: 3.1.3
@@ -11264,10 +18354,73 @@ snapshots:
optionalDependencies:
postcss: 8.5.3
+ postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.9.2)(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ cosmiconfig: 8.3.6(typescript@5.9.2)
+ jiti: 1.21.7
+ postcss: 8.5.6
+ semver: 7.7.2
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - typescript
+
+ postcss-logical@8.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-merge-idents@6.0.3(postcss@8.5.6):
+ dependencies:
+ cssnano-utils: 4.0.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-merge-longhand@6.0.5(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ stylehacks: 6.1.1(postcss@8.5.6)
+
+ postcss-merge-rules@6.1.1(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ caniuse-api: 3.0.0
+ cssnano-utils: 4.0.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ postcss-minify-font-values@6.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-gradients@6.0.3(postcss@8.5.6):
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 4.0.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-params@6.1.0(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ cssnano-utils: 4.0.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-selectors@6.0.4(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
postcss-modules-extract-imports@3.1.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
+ postcss-modules-extract-imports@3.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
postcss-modules-local-by-default@4.2.0(postcss@8.5.3):
dependencies:
icss-utils: 5.1.0(postcss@8.5.3)
@@ -11275,16 +18428,33 @@ snapshots:
postcss-selector-parser: 7.1.0
postcss-value-parser: 4.2.0
+ postcss-modules-local-by-default@4.2.0(postcss@8.5.6):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+ postcss-value-parser: 4.2.0
+
postcss-modules-scope@3.2.1(postcss@8.5.3):
dependencies:
postcss: 8.5.3
postcss-selector-parser: 7.1.0
+ postcss-modules-scope@3.2.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
postcss-modules-values@4.0.0(postcss@8.5.3):
dependencies:
icss-utils: 5.1.0(postcss@8.5.3)
postcss: 8.5.3
+ postcss-modules-values@4.0.0(postcss@8.5.6):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+
postcss-modules@6.0.1(postcss@8.5.3):
dependencies:
generic-names: 4.0.0
@@ -11297,13 +18467,215 @@ snapshots:
postcss-modules-values: 4.0.0(postcss@8.5.3)
string-hash: 1.1.3
+ postcss-nesting@13.0.2(postcss@8.5.6):
+ dependencies:
+ '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0)
+ '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-normalize-charset@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-normalize-display-values@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-positions@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-repeat-style@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-string@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-timing-functions@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-unicode@6.1.0(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-url@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-whitespace@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-opacity-percentage@3.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-ordered-values@6.0.2(postcss@8.5.6):
+ dependencies:
+ cssnano-utils: 4.0.2(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-overflow-shorthand@6.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-page-break@3.0.4(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-place@10.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-preset-env@10.4.0(postcss@8.5.6):
+ dependencies:
+ '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.6)
+ '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6)
+ '@csstools/postcss-color-function': 4.0.12(postcss@8.5.6)
+ '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.6)
+ '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.6)
+ '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.6)
+ '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.6)
+ '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.6)
+ '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6)
+ '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6)
+ '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6)
+ '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.6)
+ '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.6)
+ '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.6)
+ '@csstools/postcss-initial': 2.0.1(postcss@8.5.6)
+ '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6)
+ '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.6)
+ '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6)
+ '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6)
+ '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6)
+ '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6)
+ '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6)
+ '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6)
+ '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6)
+ '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6)
+ '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.6)
+ '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.6)
+ '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
+ '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6)
+ '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.6)
+ '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6)
+ '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6)
+ '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6)
+ '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6)
+ '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6)
+ '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6)
+ autoprefixer: 10.4.21(postcss@8.5.6)
+ browserslist: 4.26.2
+ css-blank-pseudo: 7.0.1(postcss@8.5.6)
+ css-has-pseudo: 7.0.3(postcss@8.5.6)
+ css-prefers-color-scheme: 10.0.0(postcss@8.5.6)
+ cssdb: 8.4.2
+ postcss: 8.5.6
+ postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6)
+ postcss-clamp: 4.1.0(postcss@8.5.6)
+ postcss-color-functional-notation: 7.0.12(postcss@8.5.6)
+ postcss-color-hex-alpha: 10.0.0(postcss@8.5.6)
+ postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6)
+ postcss-custom-media: 11.0.6(postcss@8.5.6)
+ postcss-custom-properties: 14.0.6(postcss@8.5.6)
+ postcss-custom-selectors: 8.0.5(postcss@8.5.6)
+ postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6)
+ postcss-double-position-gradients: 6.0.4(postcss@8.5.6)
+ postcss-focus-visible: 10.0.1(postcss@8.5.6)
+ postcss-focus-within: 9.0.1(postcss@8.5.6)
+ postcss-font-variant: 5.0.0(postcss@8.5.6)
+ postcss-gap-properties: 6.0.0(postcss@8.5.6)
+ postcss-image-set-function: 7.0.0(postcss@8.5.6)
+ postcss-lab-function: 7.0.12(postcss@8.5.6)
+ postcss-logical: 8.1.0(postcss@8.5.6)
+ postcss-nesting: 13.0.2(postcss@8.5.6)
+ postcss-opacity-percentage: 3.0.0(postcss@8.5.6)
+ postcss-overflow-shorthand: 6.0.0(postcss@8.5.6)
+ postcss-page-break: 3.0.4(postcss@8.5.6)
+ postcss-place: 10.0.0(postcss@8.5.6)
+ postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6)
+ postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6)
+ postcss-selector-not: 8.0.1(postcss@8.5.6)
+
+ postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-reduce-idents@6.0.3(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-reduce-initial@6.1.0(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ caniuse-api: 3.0.0
+ postcss: 8.5.6
+
+ postcss-reduce-transforms@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ postcss-selector-not@8.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
postcss-selector-parser@7.1.0:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
+ postcss-sort-media-queries@5.2.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ sort-css-media-queries: 2.2.0
+
+ postcss-svgo@6.0.3(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ svgo: 3.3.2
+
+ postcss-unique-selectors@6.0.4(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
postcss-value-parser@4.2.0: {}
+ postcss-zindex@6.0.2(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
postcss@8.5.3:
dependencies:
nanoid: 3.3.11
@@ -11335,6 +18707,11 @@ snapshots:
prettier@3.6.2: {}
+ pretty-error@4.0.0:
+ dependencies:
+ lodash: 4.17.21
+ renderkid: 3.0.0
+
pretty-format@27.5.1:
dependencies:
ansi-regex: 5.0.1
@@ -11345,6 +18722,14 @@ snapshots:
dependencies:
parse-ms: 2.1.0
+ pretty-time@1.1.0: {}
+
+ prism-react-renderer@2.4.1(react@18.3.1):
+ dependencies:
+ '@types/prismjs': 1.26.5
+ clsx: 2.1.1
+ react: 18.3.1
+
prisma@6.16.2(typescript@5.9.2):
dependencies:
'@prisma/config': 6.16.2
@@ -11354,6 +18739,8 @@ snapshots:
transitivePeerDependencies:
- magicast
+ prismjs@1.30.0: {}
+
proc-log@3.0.0: {}
process-nextick-args@2.0.1: {}
@@ -11365,6 +18752,11 @@ snapshots:
err-code: 2.0.3
retry: 0.12.0
+ prompts@2.4.2:
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+
prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
@@ -11375,6 +18767,8 @@ snapshots:
property-information@7.1.0: {}
+ proto-list@1.2.4: {}
+
proxy-addr@2.0.7:
dependencies:
forwarded: 0.2.0
@@ -11405,8 +18799,11 @@ snapshots:
inherits: 2.0.4
pump: 2.0.1
- punycode@2.3.1:
- optional: true
+ punycode@2.3.1: {}
+
+ pupa@3.3.0:
+ dependencies:
+ escape-goat: 4.0.0
pure-rand@6.1.0: {}
@@ -11427,6 +18824,8 @@ snapshots:
queue-microtask@1.2.3: {}
+ quick-lru@5.1.1: {}
+
quick-lru@6.1.2: {}
raf@3.4.1:
@@ -11443,6 +18842,8 @@ snapshots:
randombytes: 2.1.0
safe-buffer: 5.2.1
+ range-parser@1.2.0: {}
+
range-parser@1.2.1: {}
raw-body@2.5.2:
@@ -11492,6 +18893,8 @@ snapshots:
react: 18.3.1
scheduler: 0.23.2
+ react-fast-compare@3.2.2: {}
+
react-frame-component@5.2.7(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
prop-types: 15.8.1
@@ -11502,6 +18905,16 @@ snapshots:
react-is@17.0.2: {}
+ react-json-view-lite@2.5.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
+ react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
+ webpack: 5.101.3(esbuild@0.17.6)
+
react-markdown@10.1.0(@types/react@18.3.24)(react@18.3.1):
dependencies:
'@types/hast': 3.0.4
@@ -11548,6 +18961,23 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ react: 18.3.1
+ react-router: 5.3.4(react@18.3.1)
+
+ react-router-dom@5.3.4(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ history: 4.10.1
+ loose-envify: 1.4.0
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-router: 5.3.4(react@18.3.1)
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
react-router-dom@6.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@remix-run/router': 1.23.0
@@ -11555,6 +18985,19 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
react-router: 6.30.0(react@18.3.1)
+ react-router@5.3.4(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ history: 4.10.1
+ hoist-non-react-statics: 3.3.2
+ loose-envify: 1.4.0
+ path-to-regexp: 1.9.0
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-is: 16.13.1
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
react-router@6.30.0(react@18.3.1):
dependencies:
'@remix-run/router': 1.23.0
@@ -11599,6 +19042,35 @@ snapshots:
readdirp@4.1.2: {}
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.1(acorn@8.14.1):
+ dependencies:
+ acorn: 8.14.1
+ acorn-jsx: 5.3.2(acorn@8.14.1)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ 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.8
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
redent@3.0.0:
dependencies:
indent-string: 4.0.0
@@ -11608,6 +19080,12 @@ snapshots:
dependencies:
'@babel/runtime': 7.27.1
+ regenerate-unicode-properties@10.2.2:
+ dependencies:
+ regenerate: 1.4.2
+
+ regenerate@1.4.2: {}
+
regenerator-runtime@0.13.11:
optional: true
@@ -11621,17 +19099,67 @@ snapshots:
dependencies:
regex-utilities: 2.3.0
+ regexpu-core@6.4.0:
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.2
+ regjsgen: 0.8.0
+ regjsparser: 0.13.0
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.1
+
+ registry-auth-token@5.1.0:
+ dependencies:
+ '@pnpm/npm-conf': 2.3.1
+
+ registry-url@6.0.1:
+ dependencies:
+ rc: 1.2.8
+
+ regjsgen@0.8.0: {}
+
+ regjsparser@0.13.0:
+ dependencies:
+ jsesc: 3.1.0
+
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.8
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
rehype-sanitize@6.0.0:
dependencies:
'@types/hast': 3.0.4
hast-util-sanitize: 5.0.2
+ relateurl@0.2.7: {}
+
+ 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-emoji@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ emoticon: 4.1.0
+ mdast-util-find-and-replace: 3.0.2
+ node-emoji: 2.2.0
+ unified: 11.0.5
+
remark-frontmatter@4.0.1:
dependencies:
'@types/mdast': 3.0.15
@@ -11639,6 +19167,15 @@ snapshots:
micromark-extension-frontmatter: 1.1.1
unified: 10.1.2
+ remark-frontmatter@5.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-frontmatter: 2.0.1
+ micromark-extension-frontmatter: 2.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
remark-gfm@4.0.1:
dependencies:
'@types/mdast': 4.0.4
@@ -11664,6 +19201,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ remark-mdx@3.1.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
remark-parse@10.0.2:
dependencies:
'@types/mdast': 3.0.15
@@ -11709,14 +19253,44 @@ snapshots:
'@standard-schema/spec': 1.0.0
react: 18.3.1
+ renderkid@3.0.0:
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.21
+ strip-ansi: 6.0.1
+
+ repeat-string@1.6.1: {}
+
require-directory@2.1.1: {}
+ require-from-string@2.0.2: {}
+
require-like@0.1.2: {}
require-main-filename@2.0.0: {}
+ requires-port@1.0.0: {}
+
+ resolve-alpn@1.2.1: {}
+
+ resolve-from@4.0.0: {}
+
+ resolve-pathname@3.0.0: {}
+
resolve.exports@2.0.3: {}
+ resolve@1.22.10:
+ dependencies:
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ responselike@3.0.0:
+ dependencies:
+ lowercase-keys: 3.0.0
+
restore-cursor@3.1.0:
dependencies:
onetime: 5.1.2
@@ -11724,6 +19298,8 @@ snapshots:
retry@0.12.0: {}
+ retry@0.13.1: {}
+
reusify@1.1.0: {}
rgbcolor@1.0.1:
@@ -11765,6 +19341,15 @@ snapshots:
rrweb-cssom@0.8.0:
optional: true
+ rtlcss@4.3.0:
+ dependencies:
+ escalade: 3.2.0
+ picocolors: 1.1.1
+ postcss: 8.5.6
+ strip-json-comments: 3.1.1
+
+ run-applescript@7.1.0: {}
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
@@ -11888,6 +19473,8 @@ snapshots:
'@parcel/watcher': 2.5.1
optional: true
+ sax@1.4.1: {}
+
saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
@@ -11897,6 +19484,39 @@ snapshots:
dependencies:
loose-envify: 1.4.0
+ schema-dts@1.1.5: {}
+
+ schema-utils@3.3.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@4.3.2:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ ajv-keywords: 5.1.0(ajv@8.17.1)
+
+ search-insights@2.17.3: {}
+
+ section-matter@1.0.0:
+ dependencies:
+ extend-shallow: 2.0.1
+ kind-of: 6.0.3
+
+ select-hose@2.0.0: {}
+
+ selfsigned@2.4.1:
+ dependencies:
+ '@types/node-forge': 1.3.14
+ node-forge: 1.3.1
+
+ semver-diff@4.0.0:
+ dependencies:
+ semver: 7.7.2
+
semver@6.3.1: {}
semver@7.7.2: {}
@@ -11919,6 +19539,32 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ serialize-javascript@6.0.2:
+ dependencies:
+ randombytes: 2.1.0
+
+ serve-handler@6.1.6:
+ dependencies:
+ bytes: 3.0.0
+ content-disposition: 0.5.2
+ mime-types: 2.1.18
+ minimatch: 3.1.2
+ path-is-inside: 1.0.2
+ path-to-regexp: 3.3.0
+ range-parser: 1.2.0
+
+ serve-index@1.9.1:
+ dependencies:
+ accepts: 1.3.8
+ batch: 0.6.1
+ debug: 2.6.9
+ escape-html: 1.0.3
+ http-errors: 1.6.3
+ mime-types: 2.1.35
+ parseurl: 1.3.3
+ transitivePeerDependencies:
+ - supports-color
+
serve-static@1.16.2:
dependencies:
encodeurl: 2.0.0
@@ -11943,6 +19589,8 @@ snapshots:
setimmediate@1.0.5: {}
+ setprototypeof@1.1.0: {}
+
setprototypeof@1.2.0: {}
sha.js@2.4.11:
@@ -11950,6 +19598,12 @@ snapshots:
inherits: 2.0.4
safe-buffer: 5.2.1
+ shallow-clone@3.0.1:
+ dependencies:
+ kind-of: 6.0.3
+
+ shallowequal@1.1.0: {}
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@@ -12015,17 +19669,53 @@ snapshots:
dependencies:
is-arrayish: 0.3.2
+ sirv@2.0.4:
+ dependencies:
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
+ totalist: 3.0.1
+
sirv@3.0.2:
dependencies:
'@polka/url': 1.0.0-next.29
mrmime: 2.0.1
totalist: 3.0.1
+ sisteransi@1.0.5: {}
+
+ sitemap@7.1.2:
+ dependencies:
+ '@types/node': 17.0.45
+ '@types/sax': 1.2.7
+ arg: 5.0.2
+ sax: 1.4.1
+
+ skin-tone@2.0.0:
+ dependencies:
+ unicode-emoji-modifier-base: 1.0.0
+
+ slash@3.0.0: {}
+
+ slash@4.0.0: {}
+
+ snake-case@3.0.4:
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.8.1
+
+ sockjs@0.3.24:
+ dependencies:
+ faye-websocket: 0.11.4
+ uuid: 8.3.2
+ websocket-driver: 0.7.4
+
sonner@2.0.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ sort-css-media-queries@2.2.0: {}
+
sort-keys@5.1.0:
dependencies:
is-plain-obj: 4.1.0
@@ -12057,6 +19747,31 @@ snapshots:
spdx-license-ids@3.0.21: {}
+ spdy-transport@3.0.0:
+ dependencies:
+ debug: 4.4.1
+ detect-node: 2.1.0
+ hpack.js: 2.1.6
+ obuf: 1.1.2
+ readable-stream: 3.6.2
+ wbuf: 1.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ spdy@4.0.2:
+ dependencies:
+ debug: 4.4.1
+ handle-thing: 2.0.1
+ http-deceiver: 1.2.7
+ select-hose: 2.0.0
+ spdy-transport: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ sprintf-js@1.0.3: {}
+
+ srcset@4.0.0: {}
+
ssri@10.0.6:
dependencies:
minipass: 7.1.2
@@ -12068,6 +19783,8 @@ snapshots:
stackblur-canvas@2.7.0:
optional: true
+ statuses@1.5.0: {}
+
statuses@2.0.1: {}
std-env@3.9.0: {}
@@ -12103,6 +19820,12 @@ snapshots:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
+ stringify-object@3.3.0:
+ dependencies:
+ get-own-enumerable-property-symbols: 3.0.2
+ is-obj: 1.0.1
+ is-regexp: 1.0.0
+
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
@@ -12111,6 +19834,8 @@ snapshots:
dependencies:
ansi-regex: 6.1.0
+ strip-bom-string@1.0.0: {}
+
strip-bom@3.0.0: {}
strip-final-newline@2.0.0: {}
@@ -12121,6 +19846,8 @@ snapshots:
strip-json-comments@2.0.1: {}
+ strip-json-comments@3.1.1: {}
+
strip-literal@3.0.0:
dependencies:
js-tokens: 9.0.1
@@ -12141,6 +19868,12 @@ snapshots:
dependencies:
inline-style-parser: 0.2.4
+ stylehacks@6.1.1(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.24.5
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -12149,9 +19882,23 @@ snapshots:
dependencies:
has-flag: 4.0.0
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ svg-parser@2.0.4: {}
+
svg-pathdata@6.0.3:
optional: true
+ svgo@3.3.2:
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 5.2.2
+ css-tree: 2.3.1
+ css-what: 6.1.0
+ csso: 5.0.5
+ picocolors: 1.1.1
+
swr@2.3.3(react@18.3.1):
dependencies:
dequal: 2.0.3
@@ -12169,6 +19916,8 @@ snapshots:
tabbable@6.2.0: {}
+ tapable@2.2.3: {}
+
tar-fs@2.1.4:
dependencies:
chownr: 1.1.4
@@ -12193,6 +19942,24 @@ snapshots:
mkdirp: 1.0.4
yallist: 4.0.0
+ terser-webpack-plugin@5.3.14(esbuild@0.17.6)(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ jest-worker: 27.5.1
+ schema-utils: 4.3.2
+ serialize-javascript: 6.0.2
+ terser: 5.44.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ optionalDependencies:
+ esbuild: 0.17.6
+
+ terser@5.44.0:
+ dependencies:
+ '@jridgewell/source-map': 0.3.11
+ acorn: 8.15.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
text-hex@1.0.0: {}
text-segmentation@1.0.3:
@@ -12200,6 +19967,10 @@ snapshots:
utrie: 1.0.2
optional: true
+ thingies@2.5.0(tslib@2.8.1):
+ dependencies:
+ tslib: 2.8.1
+
throttleit@2.1.0: {}
through2@2.0.5:
@@ -12207,6 +19978,12 @@ snapshots:
readable-stream: 2.3.8
xtend: 4.0.2
+ thunky@1.1.0: {}
+
+ tiny-invariant@1.3.3: {}
+
+ tiny-warning@1.0.3: {}
+
tinybench@2.9.0: {}
tinyexec@0.3.2: {}
@@ -12258,6 +20035,10 @@ snapshots:
punycode: 2.3.1
optional: true
+ tree-dump@1.1.0(tslib@2.8.1):
+ dependencies:
+ tslib: 2.8.1
+
tree-kill@1.2.2: {}
trim-lines@3.0.1: {}
@@ -12284,6 +20065,12 @@ snapshots:
turbo-stream@2.4.1: {}
+ type-fest@0.21.3: {}
+
+ type-fest@1.4.0: {}
+
+ type-fest@2.19.0: {}
+
type-fest@4.41.0: {}
type-is@1.6.18:
@@ -12291,6 +20078,10 @@ snapshots:
media-typer: 0.3.0
mime-types: 2.1.35
+ typedarray-to-buffer@3.1.5:
+ dependencies:
+ is-typedarray: 1.0.0
+
typescript@5.9.2: {}
ufo@1.6.1: {}
@@ -12308,6 +20099,19 @@ snapshots:
undici@6.21.3: {}
+ unicode-canonical-property-names-ecmascript@2.0.1: {}
+
+ unicode-emoji-modifier-base@1.0.0: {}
+
+ unicode-match-property-ecmascript@2.0.0:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.1
+ unicode-property-aliases-ecmascript: 2.2.0
+
+ unicode-match-property-value-ecmascript@2.2.1: {}
+
+ unicode-property-aliases-ecmascript@2.2.0: {}
+
unified@10.1.2:
dependencies:
'@types/unist': 2.0.11
@@ -12336,6 +20140,10 @@ snapshots:
dependencies:
imurmurhash: 0.1.4
+ unique-string@3.0.0:
+ dependencies:
+ crypto-random-string: 4.0.0
+
unist-util-generated@2.0.1: {}
unist-util-is@5.2.1:
@@ -12350,6 +20158,10 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
unist-util-position@4.0.4:
dependencies:
'@types/unist': 2.0.11
@@ -12397,9 +20209,9 @@ snapshots:
universalify@2.0.1: {}
- unocss@66.5.2(postcss@8.5.3)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)):
+ unocss@66.5.2(postcss@8.5.3)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)):
dependencies:
- '@unocss/astro': 66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ '@unocss/astro': 66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
'@unocss/cli': 66.5.2
'@unocss/core': 66.5.2
'@unocss/postcss': 66.5.2(postcss@8.5.3)
@@ -12417,9 +20229,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.5.2
'@unocss/transformer-directives': 66.5.2
'@unocss/transformer-variant-group': 66.5.2
- '@unocss/vite': 66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ '@unocss/vite': 66.5.2(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
optionalDependencies:
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- postcss
- supports-color
@@ -12437,6 +20249,42 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
+ update-browserslist-db@1.1.3(browserslist@4.26.2):
+ dependencies:
+ browserslist: 4.26.2
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ update-notifier@6.0.2:
+ dependencies:
+ boxen: 7.1.1
+ chalk: 5.6.2
+ configstore: 6.0.0
+ has-yarn: 3.0.0
+ import-lazy: 4.0.0
+ is-ci: 3.0.1
+ is-installed-globally: 0.4.0
+ is-npm: 6.1.0
+ is-yarn-global: 0.4.1
+ latest-version: 7.0.0
+ pupa: 3.3.0
+ semver: 7.7.2
+ semver-diff: 4.0.0
+ xdg-basedir: 5.1.0
+
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ url-loader@4.1.1(file-loader@6.2.0(webpack@5.101.3(esbuild@0.17.6)))(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ loader-utils: 2.0.4
+ mime-types: 2.1.35
+ schema-utils: 3.3.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ optionalDependencies:
+ file-loader: 6.2.0(webpack@5.101.3(esbuild@0.17.6))
+
use-callback-ref@1.3.3(@types/react@18.3.24)(react@18.3.1):
dependencies:
react: 18.3.1
@@ -12466,6 +20314,10 @@ snapshots:
is-typed-array: 1.1.15
which-typed-array: 1.1.19
+ utila@0.4.0: {}
+
+ utility-types@3.11.0: {}
+
utils-merge@1.0.1: {}
utrie@1.0.2:
@@ -12473,6 +20325,8 @@ snapshots:
base64-arraybuffer: 1.0.2
optional: true
+ uuid@8.3.2: {}
+
uvu@0.5.6:
dependencies:
dequal: 2.0.3
@@ -12491,6 +20345,8 @@ snapshots:
validate-npm-package-name@5.0.1: {}
+ value-equal@1.0.1: {}
+
varint@6.0.0: {}
vary@1.1.2: {}
@@ -12522,13 +20378,13 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-node@1.6.1(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1):
+ vite-node@1.6.1(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0):
dependencies:
cac: 6.7.14
debug: 4.4.1
pathe: 1.1.2
picocolors: 1.1.1
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -12540,13 +20396,13 @@ snapshots:
- supports-color
- terser
- vite-node@3.1.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1):
+ vite-node@3.1.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0):
dependencies:
cac: 6.7.14
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -12558,13 +20414,13 @@ snapshots:
- supports-color
- terser
- vite-node@3.2.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1):
+ vite-node@3.2.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0):
dependencies:
cac: 6.7.14
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -12576,18 +20432,18 @@ snapshots:
- supports-color
- terser
- vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)):
+ vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)):
dependencies:
debug: 4.4.1
globrex: 0.1.2
tsconfck: 3.1.6(typescript@5.9.2)
optionalDependencies:
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
transitivePeerDependencies:
- supports-color
- typescript
- vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1):
+ vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0):
dependencies:
esbuild: 0.21.5
postcss: 8.5.6
@@ -12597,12 +20453,13 @@ snapshots:
fsevents: 2.3.3
sass: 1.93.1
sass-embedded: 1.93.1
+ terser: 5.44.0
- vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.15.21)(jsdom@26.1.0)(sass-embedded@1.93.1)(sass@1.93.1):
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.15.21)(jsdom@26.1.0)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1))
+ '@vitest/mocker': 3.2.4(vite@5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -12620,8 +20477,8 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
- vite-node: 3.2.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)
+ vite: 5.4.19(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
+ vite-node: 3.2.4(@types/node@22.15.21)(sass-embedded@1.93.1)(sass@1.93.1)(terser@5.44.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
@@ -12645,6 +20502,15 @@ snapshots:
xml-name-validator: 5.0.0
optional: true
+ watchpack@2.4.4:
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ wbuf@1.7.3:
+ dependencies:
+ minimalistic-assert: 1.0.1
+
wcwidth@1.0.1:
dependencies:
defaults: 1.0.4
@@ -12662,6 +20528,139 @@ snapshots:
webidl-conversions@7.0.0:
optional: true
+ webpack-bundle-analyzer@4.10.2:
+ dependencies:
+ '@discoveryjs/json-ext': 0.5.7
+ acorn: 8.14.1
+ acorn-walk: 8.3.4
+ commander: 7.2.0
+ debounce: 1.2.1
+ escape-string-regexp: 4.0.0
+ gzip-size: 6.0.0
+ html-escaper: 2.0.2
+ opener: 1.5.2
+ picocolors: 1.1.1
+ sirv: 2.0.4
+ ws: 7.5.10
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ webpack-dev-middleware@7.4.5(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ colorette: 2.0.20
+ memfs: 4.46.1
+ mime-types: 3.0.1
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ schema-utils: 4.3.2
+ optionalDependencies:
+ webpack: 5.101.3(esbuild@0.17.6)
+
+ webpack-dev-server@5.2.2(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.23
+ '@types/express-serve-static-core': 4.19.6
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.7
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.18.1
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.3.0
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ compression: 1.8.1
+ connect-history-api-fallback: 2.0.0
+ express: 4.21.2
+ graceful-fs: 4.2.11
+ http-proxy-middleware: 2.0.9(@types/express@4.17.23)
+ ipaddr.js: 2.2.0
+ launch-editor: 2.11.1
+ open: 10.2.0
+ p-retry: 6.2.1
+ schema-utils: 4.3.2
+ selfsigned: 2.4.1
+ serve-index: 1.9.1
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack-dev-middleware: 7.4.5(webpack@5.101.3(esbuild@0.17.6))
+ ws: 8.18.2
+ optionalDependencies:
+ webpack: 5.101.3(esbuild@0.17.6)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+
+ webpack-merge@5.10.0:
+ dependencies:
+ clone-deep: 4.0.1
+ flat: 5.0.2
+ wildcard: 2.0.1
+
+ webpack-merge@6.0.1:
+ dependencies:
+ clone-deep: 4.0.1
+ flat: 5.0.2
+ wildcard: 2.0.1
+
+ webpack-sources@3.3.3: {}
+
+ webpack@5.101.3(esbuild@0.17.6):
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.15.0
+ acorn-import-phases: 1.0.4(acorn@8.15.0)
+ browserslist: 4.24.5
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.18.3
+ es-module-lexer: 1.7.0
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 4.3.2
+ tapable: 2.2.3
+ terser-webpack-plugin: 5.3.14(esbuild@0.17.6)(webpack@5.101.3(esbuild@0.17.6))
+ watchpack: 2.4.4
+ webpack-sources: 3.3.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+
+ webpackbar@6.0.1(webpack@5.101.3(esbuild@0.17.6)):
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ consola: 3.4.2
+ figures: 3.2.0
+ markdown-table: 2.0.0
+ pretty-time: 1.1.0
+ std-env: 3.9.0
+ webpack: 5.101.3(esbuild@0.17.6)
+ wrap-ansi: 7.0.0
+
+ websocket-driver@0.7.4:
+ dependencies:
+ http-parser-js: 0.5.10
+ safe-buffer: 5.2.1
+ websocket-extensions: 0.1.4
+
+ websocket-extensions@0.1.4: {}
+
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
@@ -12701,6 +20700,12 @@ snapshots:
siginfo: 2.0.0
stackback: 0.0.2
+ widest-line@4.0.1:
+ dependencies:
+ string-width: 5.1.2
+
+ wildcard@2.0.1: {}
+
winston-daily-rotate-file@5.0.0(winston@3.17.0):
dependencies:
file-stream-rotator: 0.6.1
@@ -12749,10 +20754,26 @@ snapshots:
wrappy@1.0.2: {}
+ write-file-atomic@3.0.3:
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+
ws@7.5.10: {}
- ws@8.18.2:
- optional: true
+ ws@8.18.2: {}
+
+ wsl-utils@0.1.0:
+ dependencies:
+ is-wsl: 3.1.0
+
+ xdg-basedir@5.1.0: {}
+
+ xml-js@1.6.11:
+ dependencies:
+ sax: 1.4.1
xml-name-validator@5.0.0:
optional: true
@@ -12805,6 +20826,8 @@ snapshots:
yocto-queue@0.1.0: {}
+ yocto-queue@1.2.1: {}
+
zod-validation-error@3.5.3(zod@4.1.11):
dependencies:
zod: 4.1.11
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..4d60b36
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,3 @@
+packages:
+ - "."
+ - "docs"
From eb25a56271f3a63a000e9fe83bc9f7079283bdc5 Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Fri, 26 Sep 2025 16:47:22 +0800
Subject: [PATCH 4/9] docs: add upage usage instructions document
---
docs/src/css/custom.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index 09eae3d..e884f5c 100644
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -18,7 +18,7 @@
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
-[data-theme='dark'] {
+[data-theme="dark"] {
--ifm-color-primary: #7986cb;
--ifm-color-primary-dark: #6271c2;
--ifm-color-primary-darker: #5767be;
From f4d6e383ce87f392927c0734059fd28531aa32bc Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Fri, 26 Sep 2025 18:49:06 +0800
Subject: [PATCH 5/9] docs: add upage usage instructions document
---
.env.example | 9 -
.../actions/docker-buildx-push/action.yaml | 2 +-
app/lib/modules/llm/providers/lmstudio.ts | 2 +-
app/lib/modules/llm/providers/ollama.ts | 4 -
.../api.system.$action/git-info.server.ts | 2 +-
docker-compose-dev.yaml | 2 -
docker-compose-prod.yaml | 2 -
docs/content/configuration.md | 320 ++++++++++++++----
docs/content/deployment/docker-compose.md | 6 +-
docs/content/deployment/logto.md | 5 +
docs/content/deployment/source.md | 6 +
docs/sidebars.js | 15 +-
12 files changed, 273 insertions(+), 102 deletions(-)
diff --git a/.env.example b/.env.example
index 29cad77..749c1e0 100644
--- a/.env.example
+++ b/.env.example
@@ -55,7 +55,6 @@ TOGETHER_API_KEY=
#Get your Hyperbolics API Key at https://app.hyperbolic.xyz/settings
#baseURL="https://api.hyperbolic.xyz/v1/chat/completions"
HYPERBOLIC_API_KEY=
-HYPERBOLIC_API_BASE_URL=
# Get your Mistral API Key by following these instructions -
# https://console.mistral.ai/api-keys/
@@ -99,14 +98,6 @@ USAGE_LOG_FILE=false
# Include this environment variable if you want more logging for debugging locally
LOG_LEVEL=debug
-# Example Context Values for qwen2.5-coder:32b
-#
-# DEFAULT_NUM_CTX=32768 # Consumes 36GB of VRAM
-# DEFAULT_NUM_CTX=24576 # Consumes 32GB of VRAM
-# DEFAULT_NUM_CTX=12288 # Consumes 26GB of VRAM
-# DEFAULT_NUM_CTX=6144 # Consumes 24GB of VRAM
-DEFAULT_NUM_CTX=
-
# Get your Serper API Key https://serper.dev/
SERPER_API_KEY=
diff --git a/.github/actions/docker-buildx-push/action.yaml b/.github/actions/docker-buildx-push/action.yaml
index 681afa7..f18731a 100644
--- a/.github/actions/docker-buildx-push/action.yaml
+++ b/.github/actions/docker-buildx-push/action.yaml
@@ -46,7 +46,7 @@ runs:
type=semver,pattern={{ version }}
type=sha,enabled=${{ github.event_name == 'push' }}
flavor: |
- latest=false
+ latest=${{ github.event_name == 'release' }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
diff --git a/app/lib/modules/llm/providers/lmstudio.ts b/app/lib/modules/llm/providers/lmstudio.ts
index cecc10f..312ecbb 100644
--- a/app/lib/modules/llm/providers/lmstudio.ts
+++ b/app/lib/modules/llm/providers/lmstudio.ts
@@ -13,7 +13,7 @@ export default class LMStudioProvider extends BaseProvider {
config = {
baseUrlKey: 'LMSTUDIO_API_BASE_URL',
- baseUrl: 'http://localhost:1234/',
+ baseUrl: 'http://127.0.0.1:1234/',
};
staticModels: ModelInfo[] = [];
diff --git a/app/lib/modules/llm/providers/ollama.ts b/app/lib/modules/llm/providers/ollama.ts
index 63888c8..4c33ec7 100644
--- a/app/lib/modules/llm/providers/ollama.ts
+++ b/app/lib/modules/llm/providers/ollama.ts
@@ -39,10 +39,6 @@ export default class OllamaProvider extends BaseProvider {
staticModels: ModelInfo[] = [];
- getDefaultNumCtx(): number {
- return process.env.DEFAULT_NUM_CTX ? parseInt(process.env.DEFAULT_NUM_CTX, 10) : 32768;
- }
-
async getDynamicModels(apiKeys?: Record, settings?: IProviderSetting): Promise {
let { baseUrl } = this.getProviderBaseUrlAndKey({
apiKeys,
diff --git a/app/routes/api.system.$action/git-info.server.ts b/app/routes/api.system.$action/git-info.server.ts
index f4a70be..6a13fef 100644
--- a/app/routes/api.system.$action/git-info.server.ts
+++ b/app/routes/api.system.$action/git-info.server.ts
@@ -86,7 +86,7 @@ export const gitInfoLoader: LoaderFunction = async ({
if (action === 'getUser' || action === 'getRepos' || action === 'getOrgs' || action === 'getActivity') {
// Use server-side token instead of client-side token
- const serverGithubToken = process.env.GITHUB_ACCESS_TOKEN || context.env?.GITHUB_ACCESS_TOKEN;
+ const serverGithubToken = context.env?.GITHUB_ACCESS_TOKEN;
const cookieToken = request.headers
.get('Cookie')
?.split(';')
diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml
index dc55e18..b67e78c 100644
--- a/docker-compose-dev.yaml
+++ b/docker-compose-dev.yaml
@@ -21,7 +21,6 @@ services:
- OPENAI_LIKE_API_KEY=${OPENAI_LIKE_API_KEY}
- TOGETHER_API_KEY=${TOGETHER_API_KEY}
- HYPERBOLIC_API_KEY=${HYPERBOLIC_API_KEY}
- - HYPERBOLIC_API_BASE_URL=${HYPERBOLIC_API_BASE_URL}
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
- COHERE_API_KEY=${COHERE_API_KEY}
- LMSTUDIO_API_BASE_URL=${LMSTUDIO_API_BASE_URL}
@@ -29,7 +28,6 @@ services:
- PERPLEXITY_API_KEY=${PERPLEXITY_API_KEY}
- AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG}
- LOG_LEVEL=${LOG_LEVEL:-debug}
- - DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- SERPER_API_KEY=${SERPER_API_KEY}
- WEATHER_API_KEY=${WEATHER_API_KEY}
- LLM_DEFAULT_PROVIDER=${LLM_DEFAULT_PROVIDER}
diff --git a/docker-compose-prod.yaml b/docker-compose-prod.yaml
index 3bcef2c..58a42a5 100644
--- a/docker-compose-prod.yaml
+++ b/docker-compose-prod.yaml
@@ -21,7 +21,6 @@ services:
- OPENAI_LIKE_API_KEY=${OPENAI_LIKE_API_KEY}
- TOGETHER_API_KEY=${TOGETHER_API_KEY}
- HYPERBOLIC_API_KEY=${HYPERBOLIC_API_KEY}
- - HYPERBOLIC_API_BASE_URL=${HYPERBOLIC_API_BASE_URL}
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
- COHERE_API_KEY=${COHERE_API_KEY}
- LMSTUDIO_API_BASE_URL=${LMSTUDIO_API_BASE_URL}
@@ -29,7 +28,6 @@ services:
- PERPLEXITY_API_KEY=${PERPLEXITY_API_KEY}
- AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG}
- LOG_LEVEL=${LOG_LEVEL:-debug}
- - DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- SERPER_API_KEY=${SERPER_API_KEY}
- WEATHER_API_KEY=${WEATHER_API_KEY}
- LLM_DEFAULT_PROVIDER=${LLM_DEFAULT_PROVIDER}
diff --git a/docs/content/configuration.md b/docs/content/configuration.md
index 67abec1..9d65111 100644
--- a/docs/content/configuration.md
+++ b/docs/content/configuration.md
@@ -27,6 +27,8 @@ UPage 使用环境变量进行配置。您可以通过以下方式设置环境
## AI 提供商配置
+UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用页面生成功能。
+
### AI 基础配置
| 环境变量 | 描述 | 默认值 | 必填 |
@@ -36,6 +38,52 @@ UPage 使用环境变量进行配置。您可以通过以下方式设置环境
| `LLM_MINOR_MODEL` | 辅助页面生成所使用的模型 | - | 是 |
| `LLM_ENABLED_PROVIDERS` | 启用的 LLM 提供商列表(逗号分隔) | 所有支持的提供商 | 否 |
+### Amazon Bedrock
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Amazon Bedrock 提供商名称 | AmazonBedrock | 是 |
+| `AWS_BEDROCK_CONFIG` | Amazon Bedrock 配置 | - | 是(如果使用 Amazon Bedrock) |
+
+:::info
+前往 [Amazon Bedrock](https://console.aws.amazon.com/iam/home) 中获取配置。
+`AWS_BEDROCK_CONFIG` 应为 JSON 格式,例如:
+```json
+{
+ // Bedrock 可用的 AWS 区域
+ "region": "us-east-1",
+ // 你的 AWS 访问密钥 ID
+ "accessKeyId": "your-access-key-id",
+ // 你的 AWS 访问密钥令牌
+ "secretAccessKey": "your-secret-access-key",
+ // AWS 会话令牌(可选),如果使用 IAM 角色或临时凭据,则为临时会话令牌
+ "sessionToken": "your-session-token"
+}
+```
+:::
+
+### Anthropic Claude
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Anthropic 提供商 | Anthropic | 是 |
+| `ANTHROPIC_API_KEY` | Anthropic API 密钥 | - | 是(如果使用 Anthropic) |
+
+:::info
+前往 [Anthropic](https://console.anthropic.com/settings/keys) 获取 API 密钥。
+:::
+
+### Cohere
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Cohere 提供商名称 | Cohere | 是 |
+| `COHERE_API_KEY` | Cohere API 密钥 | - | 是(如果使用 Cohere) |
+
+:::info
+前往 [Cohere](https://dashboard.cohere.com/api-keys) 获取 API 密钥。
+:::
+
### DeepSeek
| 环境变量 | 描述 | 默认值 | 必填 |
@@ -43,6 +91,117 @@ UPage 使用环境变量进行配置。您可以通过以下方式设置环境
| `LLM_DEFAULT_PROVIDER` | DeepSeek 提供商名称 | Deepseek | 是 |
| `DEEPSEEK_API_KEY` | DeepSeek API 密钥 | - | 是(如果使用 DeepSeek) |
+:::info
+前往 [DeepSeek](https://platform.deepseek.com/api_keys) 获取 API 密钥。
+:::
+
+### Github
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Github 提供商名称 | Github | 是 |
+| `GITHUB_API_KEY` | Github API 密钥 | - | 是(如果使用 Github) |
+
+:::info
+前往 [Github](https://github.com/settings/personal-access-tokens) 获取 API 密钥。
+:::
+
+### Google
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Google 提供商名称 | Google | 是 |
+| `GOOGLE_GENERATIVE_AI_API_KEY` | Google 生成式 AI API 密钥 | - | 是(如果使用 Google) |
+
+:::info
+前往 [Google](https://console.cloud.google.com/apis/credentials) 获取 API 密钥。
+:::
+
+### Groq
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Groq 提供商名称 | Groq | 是 |
+| `GROQ_API_KEY` | Groq API 密钥 | - | 是(如果使用 Groq) |
+
+:::info
+前往 [Groq](https://console.groq.com/keys) 获取 API 密钥。
+:::
+
+### HuggingFace
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | HuggingFace 提供商名称 | HuggingFace | 是 |
+| `HuggingFace_API_KEY` | HuggingFace API 密钥 | - | 是(如果使用 HuggingFace) |
+
+:::info
+前往 [HuggingFace](https://huggingface.co/settings/tokens) 获取 API 密钥。
+:::
+
+### Hyperbolic
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Hyperbolic 提供商名称 | Hyperbolic | 是 |
+| `HYPERBOLIC_API_KEY` | Hyperbolic API 密钥 | - | 是(如果使用 Hyperbolic) |
+
+:::info
+前往 [Hyperbolic](https://hyperbolic.ai/dashboard/api-keys) 获取 API 密钥。
+:::
+
+### LMStudio
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | LMStudio 提供商名称 | LMStudio | 是 |
+| `LMSTUDIO_API_BASE_URL` | LMStudio API URL | `http://127.0.0.1:1234` | 是(如果使用 LMStudio) |
+
+:::warning
+由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:1234 而应该使用类似于 http://127.0.0.1:1234 的地址
+:::
+
+### Mistral
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Mistral 提供商名称 | Mistral | 是 |
+| `MISTRAL_API_KEY` | Mistral API 密钥 | - | 是(如果使用 Mistral) |
+
+:::info
+前往 [Mistral](https://console.mistral.ai/api-keys/) 获取 API 密钥。
+:::
+
+### Ollama
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | Ollama 提供商名称 | Ollama | 是 |
+| `OLLAMA_API_BASE_URL` | Ollama API URL | `http://127.0.0.1:11434` | 是(如果使用 Ollama) |
+
+:::warning
+由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:11434 而应该使用类似于 http://127.0.0.1:11434 的地址
+:::
+
+### OpenRouter
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | OpenRouter 提供商名称 | OpenRouter | 是 |
+| `OPEN_ROUTER_API_KEY` | OpenRouter API 密钥 | - | 是(如果使用 OpenRouter) |
+
+:::info
+前往 [OpenRouter](https://openrouter.ai/settings/keys) 获取 API 密钥。
+:::
+
+### 兼容 OpenAI 接口的服务
+
+| 环境变量 | 描述 | 默认值 | 必填 |
+| --- | --- | --- | --- |
+| `LLM_DEFAULT_PROVIDER` | OpenAILike 提供商名称 | OpenAILike | 是 |
+| `OPENAI_LIKE_API_BASE_URL` | API 基础 URL | - | 是(如果使用 OpenAILike) |
+| `OPENAI_LIKE_API_KEY` | API 密钥 | - | 是(如果使用 OpenAILike) |
+
### OpenAI
| 环境变量 | 描述 | 默认值 | 必填 |
@@ -50,60 +209,81 @@ UPage 使用环境变量进行配置。您可以通过以下方式设置环境
| `LLM_DEFAULT_PROVIDER` | OpenAI 提供商名称 | OpenAI | 是 |
| `OPENAI_API_KEY` | OpenAI API 密钥 | - | 是(如果使用 OpenAI) |
-### Anthropic Claude
+:::info
+前往 [OpenAI](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) 获取 API 密钥。
+:::
+
+### Perplexity
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Anthropic 提供商 | Anthropic | 是 |
-| `ANTHROPIC_API_KEY` | Anthropic API 密钥 | - | 是(如果使用 Anthropic) |
-| `ANTHROPIC_API_BASE_URL` | Anthropic API 基础 URL | `https://api.anthropic.com` | 否 |
+| `LLM_DEFAULT_PROVIDER` | Perplexity 提供商名称 | Perplexity | 是 |
+| `PERPLEXITY_API_KEY` | Perplexity API 密钥 | - | 是(如果使用 Perplexity) |
-### 兼容 OpenAI 接口的服务
+:::info
+前往 [Perplexity](https://www.perplexity.ai/settings/api) 获取 API 密钥。
+:::
+
+### Together
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `OPENAI_LIKE_API_KEY` | API 密钥 | - | 是(如果使用 OpenAILike) |
-| `OPENAI_LIKE_API_BASE_URL` | API 基础 URL | - | 是(如果使用 OpenAILike) |
-| `OPENAI_LIKE_ORGANIZATION_ID` | 组织 ID | - | 否 |
+| `LLM_DEFAULT_PROVIDER` | Together 提供商名称 | Together | 是 |
+| `TOGETHER_API_BASE_URL` | Together API 基础 URL | - | 是(如果使用 Together) |
+| `TOGETHER_API_KEY` | Together API 密钥 | - | 是(如果使用 Together) |
-### Ollama
+:::info
+前往 [Together](https://api.together.xyz/settings/api-keys) 获取 API 密钥。
+:::
+
+### xAI
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `OLLAMA_API_BASE_URL` | Ollama API 基础 URL | `http://localhost:11434` | 是(如果使用 Ollama) |
+| `LLM_DEFAULT_PROVIDER` | xAI 提供商名称 | xAI | 是 |
+| `XAI_API_KEY` | xAI API 密钥 | - | 是(如果使用 xAI) |
-### Groq
+:::info
+前往 [xAI](https://x.ai/api) 获取 API 密钥。
+:::
+
+## AI 工具配置
+
+UPage 支持集成部分 AI 工具调用,用于为 UPage 提供服务,您可以根据需要配置。
+
+### Serper(网络搜索工具)
+
+UPage 集成了 [Serper](https://serper.dev) 的搜索服务,您可以通过配置 `SERPER_API_KEY` 来使用 Serper 的搜索服务。
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `GROQ_API_KEY` | Groq API 密钥 | - | 是(如果使用 Groq) |
+| `SERPER_API_KEY` | Serper API 密钥 | - | 是(如果使用 Serper) |
-### HuggingFace
+:::info
+前往 [Serper](https://serper.dev/api-keys) 获取 API 密钥。
+:::
+
+### Weather(天气工具)
+
+UPage 集成了 [Weather](https://weatherapi.com) 的天气服务,您可以通过配置 `WEATHER_API_KEY` 来使用 Weather 的天气服务。
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `HuggingFace_API_KEY` | HuggingFace API 密钥 | - | 是(如果使用 HuggingFace) |
+| `WEATHER_API_KEY` | Weather API 密钥 | - | 是(如果使用 Weather) |
-### OpenRouter
-
-| 环境变量 | 描述 | 默认值 | 必填 |
-| --- | --- | --- | --- |
-| `OPEN_ROUTER_API_KEY` | OpenRouter API 密钥 | - | 是(如果使用 OpenRouter) |
-
-### Google Gemini
-
-| 环境变量 | 描述 | 默认值 | 必填 |
-| --- | --- | --- | --- |
-| `GOOGLE_API_KEY` | Google API 密钥 | - | 是(如果使用 Google) |
-| `GOOGLE_API_BASE_URL` | Google API 基础 URL | `https://generativelanguage.googleapis.com` | 否 |
+:::info
+前往 [Weather](https://www.weatherapi.com/my/) 获取 API 密钥。
+:::
## 认证配置
### Logto 认证
+UPage 默认仅支持单一的匿名用户访问,您可以通过集成 Logto 后配置 `LOGTO_ENABLE` 来启用 Logto 认证,支持多用户登录。
+
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LOGTO_ENABLE` | 是否启用 Logto 认证 | `false` | 否 |
+| `LOGTO_ENABLE` | 是否启用 Logto 认证 | `false` | 是 |
| `LOGTO_ENDPOINT` | Logto 服务的 URL | - | 是(如果使用 Logto) |
| `LOGTO_APP_ID` | Logto 应用程序 ID | - | 是(如果使用 Logto) |
| `LOGTO_APP_SECRET` | Logto 应用程序密钥 | - | 是(如果使用 Logto) |
@@ -116,28 +296,13 @@ Logto 集成请参阅 [Logto 认证集成](./deployment/logto)文档。
## 配置示例
-### 基本配置示例
-
-```bash
-# 基础配置
-PORT=3000
-NODE_ENV=production
-LOG_LEVEL=info
-
-# AI 提供商配置
-LLM_DEFAULT_PROVIDER=OpenAI
-OPENAI_API_KEY=your-openai-api-key
-LLM_DEFAULT_MODEL=gpt-4-turbo
-LLM_MINOR_MODEL=gpt-3.5-turbo
-```
-
-### 完整的 Docker Compose 配置示例
+以下内容以使用 Docker Compose 作为示例,用于展示 UPage 的完整配置。
```yaml
version: "3.9"
services:
upage:
- image: ghcr.io/halo-dev/upage:latest
+ image: halo-dev/upage:latest
container_name: upage
restart: unless-stopped
ports:
@@ -152,11 +317,16 @@ services:
- MAX_UPLOAD_SIZE_MB=10
- STORAGE_DIR=/app/storage
- # AI 提供商配置
- - LLM_DEFAULT_PROVIDER=OpenAI
- - OPENAI_API_KEY=your-openai-api-key
- - LLM_DEFAULT_MODEL=gpt-4-turbo
- - LLM_MINOR_MODEL=gpt-3.5-turbo
+ # 使用 DeepSeek 提供商配置
+ - LLM_DEFAULT_PROVIDER=DeepSeek
+ # 这里使用 DEEPSEEK_API_KEY
+ - DEEPSEEK_API_KEY=your-deepseek-api-key
+ - LLM_DEFAULT_MODEL=deepseek-chat
+ - LLM_MINOR_MODEL=deepseek-chat
+
+ # AI 工具配置
+ - SERPER_API_KEY=your-serper-api-key
+ - WEATHER_API_KEY=your-weather-api-key
# Logto 认证配置
- LOGTO_ENABLE=true
@@ -164,38 +334,40 @@ services:
- LOGTO_APP_ID=your-app-id
- LOGTO_APP_SECRET=your-app-secret
- LOGTO_COOKIE_SECRET=your-cookie-secret
- - LOGTO_BASE_URL=https://api.upage.io
+ - LOGTO_BASE_URL=http://localhost:3000
volumes:
- ./data:/app/data
- ./logs:/app/logs
- ./storage:/app/storage
```
-## 多环境配置
+如果你要切换使用其他 AI 提供商,则只需要修改 `LLM_DEFAULT_PROVIDER` 和相应的 API 密钥、Model 即可,例如:
-### 开发环境
+```yaml
+version: "3.9"
+services:
+ upage:
+ image: halo-dev/upage:latest
+ container_name: upage
+ restart: unless-stopped
+ ports:
+ - "3000:3000"
+ environment:
+ # 使用 OpenAI 提供商配置
+ - LLM_DEFAULT_PROVIDER=OpenAI
+ # 这里注意需要改为 OPENAI_API_KEY
+ - OPENAI_API_KEY=your-openai-api-key
+ - LLM_DEFAULT_MODEL=gpt-4.1
+ - LLM_MINOR_MODEL=gpt-4.1-mini
-```bash
-NODE_ENV=development
-OPERATING_ENV=development
-LOG_LEVEL=debug
-PORT=3000
-```
+ # ...其他配置
+ volumes:
+ - ./data:/app/data
+ - ./logs:/app/logs
+ - ./storage:/app/storage
+```
-### 测试环境
+## 下一步
-```bash
-NODE_ENV=production
-OPERATING_ENV=testing
-LOG_LEVEL=info
-PORT=3000
-```
-
-### 生产环境
-
-```bash
-NODE_ENV=production
-OPERATING_ENV=production
-LOG_LEVEL=warn
-PORT=3000
-```
+- 阅读[用户指南](./user-guide/basics)学习如何使用 UPage 创建网页
+- 阅读[贡献指南](./contributing)了解如何贡献 UPage
diff --git a/docs/content/deployment/docker-compose.md b/docs/content/deployment/docker-compose.md
index 510c7f9..8893400 100644
--- a/docs/content/deployment/docker-compose.md
+++ b/docs/content/deployment/docker-compose.md
@@ -139,6 +139,6 @@ docker-compose up -d
## 下一步
-- 阅读[用户指南](user-guide/basics)学习如何使用 UPage 创建网页
-- 探索[配置参考](configuration)了解所有可用的配置选项
-- 探索[Logto 认证集成](logto)了解如何集成 Logto 实现用户认证
+- 阅读[用户指南](../user-guide/basics)学习如何使用 UPage 创建网页
+- 探索[配置参考](../configuration)了解所有可用的配置选项
+- 探索[Logto 认证集成](./logto)了解如何集成 Logto 实现用户认证
diff --git a/docs/content/deployment/logto.md b/docs/content/deployment/logto.md
index 2a5a58f..bd0486e 100644
--- a/docs/content/deployment/logto.md
+++ b/docs/content/deployment/logto.md
@@ -136,3 +136,8 @@ Logto 支持多种社交登录方式:
1. 在 Logto 管理控制台中,导航到"安全"
2. 启用多因素认证
3. 配置多因素认证方式(如 TOTP、短信等)
+
+## 下一步
+
+- 阅读[用户指南](../user-guide/basics)学习如何使用 UPage 创建网页
+- 探索[配置参考](../configuration)了解所有可用的配置选项
diff --git a/docs/content/deployment/source.md b/docs/content/deployment/source.md
index 7cf6f58..ec49978 100644
--- a/docs/content/deployment/source.md
+++ b/docs/content/deployment/source.md
@@ -227,3 +227,9 @@ pnpm prisma migrate reset
cat logs/combined-*.log
cat logs/error-*.log
```
+
+## 下一步
+
+- 阅读[用户指南](../user-guide/basics)学习如何使用 UPage 创建网页
+- 探索[配置参考](../configuration)了解所有可用的配置选项
+- 探索[Logto 认证集成](./logto)了解如何集成 Logto 实现用户认证
diff --git a/docs/sidebars.js b/docs/sidebars.js
index b356b45..92f42e8 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -46,12 +46,22 @@ const sidebars = {
{
type: 'category',
label: '用户指南',
+ link: {
+ type: 'generated-index',
+ title: '用户指南',
+ slug: 'user-guide',
+ },
items: [
'user-guide/basics',
'user-guide/ai-page-generation',
'user-guide/page-management',
],
},
+ {
+ type: 'doc',
+ id: 'contributing',
+ label: '贡献指南',
+ },
{
type: 'doc',
id: 'faq',
@@ -62,11 +72,6 @@ const sidebars = {
id: 'changelog',
label: '更新日志',
},
- {
- type: 'doc',
- id: 'contributing',
- label: '贡献指南',
- },
],
};
From e6747664c206744a93bcba95353bae64a958f013 Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Sun, 28 Sep 2025 15:26:44 +0800
Subject: [PATCH 6/9] docs: add upage usage instructions document
---
.env.example | 38 ++--
.github/workflows/ci.yaml | 2 +-
.github/workflows/docs.yaml | 27 ++-
app/utils/constants.ts | 5 +-
docs/content/changelog.md | 115 ----------
docs/content/contributing.md | 199 ------------------
docs/content/contributing/code-of-conduct.md | 47 +++++
docs/content/contributing/code-standards.md | 156 ++++++++++++++
.../content/contributing/development-setup.md | 161 ++++++++++++++
docs/content/contributing/index.md | 28 +++
.../contributing/ways-to-contribute.md | 91 ++++++++
docs/content/contributing/workflow.md | 143 +++++++++++++
docs/content/deployment/logto.md | 9 +
docs/content/faq.md | 82 +++-----
docs/content/index.md | 6 +-
docs/docusaurus.config.js | 4 +-
docs/sidebars.js | 19 +-
17 files changed, 720 insertions(+), 412 deletions(-)
delete mode 100644 docs/content/changelog.md
delete mode 100644 docs/content/contributing.md
create mode 100644 docs/content/contributing/code-of-conduct.md
create mode 100644 docs/content/contributing/code-standards.md
create mode 100644 docs/content/contributing/development-setup.md
create mode 100644 docs/content/contributing/index.md
create mode 100644 docs/content/contributing/ways-to-contribute.md
create mode 100644 docs/content/contributing/workflow.md
diff --git a/.env.example b/.env.example
index 749c1e0..25e062f 100644
--- a/.env.example
+++ b/.env.example
@@ -93,7 +93,7 @@ PERPLEXITY_API_KEY=
# {"region": "us-east-1", "accessKeyId": "yourAccessKeyId", "secretAccessKey": "yourSecretAccessKey", "sessionToken": "yourSessionToken"}
AWS_BEDROCK_CONFIG=
-# 是否开启文件日志
+# Whether to enable file logging
USAGE_LOG_FILE=false
# Include this environment variable if you want more logging for debugging locally
LOG_LEVEL=debug
@@ -109,34 +109,34 @@ WEATHER_API_KEY=
# Default LLM provider to use (e.g.,OpenAILike,OpenAI, Anthropic, Mistral)
LLM_DEFAULT_PROVIDER=
-# 生成页面所使用的 MODEL(应该与 LLM_DEFAULT_PROVIDER 相对应)
+# The MODEL used to generate the page (should correspond to LLM_DEFAULT_PROVIDER)
LLM_DEFAULT_MODEL=
-# 用于辅助页面生成所使用的 MODEL,例如总结和预分析。(应该与 LLM_DEFAULT_PROVIDER 相对应)
+# Used for the MODEL assisting page generation, such as summary and pre-analysis. (Should correspond to LLM_DEFAULT_PROVIDER.)
LLM_MINOR_MODEL=
# Comma-separated list of enabled providers (empty means all providers)
# Example: OpenAILike,OpenAI,Anthropic,Mistral
LLM_ENABLED_PROVIDERS=
-# Logto 集成所需环境变量
-# Logto 地址
-LOGTO_ENDPOINT=
-# Logto 应用 ID
-LOGTO_APP_ID=
-# Logto 应用密钥
-LOGTO_APP_SECRET=
-# 应用基础 URL,根据实际部署环境修改
-LOGTO_BASE_URL=http://localhost:5173
-# 随机任意的 36 位字符串,用于加密 Logto 的 cookie。
-LOGTO_COOKIE_SECRET=
-# 是否在开发环境中启用 Logto 认证,设置为 false 则在开发环境不强制认证
+# Logto integration required environment variables
+# Whether to enable Logto authentication
LOGTO_ENABLE=false
-# 运行环境,与 NODE_ENV 有所不同, NODE_ENV 在打包时就已确定,而此变量用于某些功能在不同环境下的开放
+# Logto Address
+LOGTO_ENDPOINT=
+# Logto Application ID
+LOGTO_APP_ID=
+# Logto Application secret
+LOGTO_APP_SECRET=
+# Application base URL, modify according to the actual deployment environment
+LOGTO_BASE_URL=http://localhost:5173
+# A random 36-character string used for encrypting Logto cookies.
+LOGTO_COOKIE_SECRET=
+
+# Runtime environment, which differs from NODE_ENV. NODE_ENV is determined at build time, whereas this variable is used to enable certain features in different environments.
# development | production | test
OPERATING_ENV=production
-
-# 资源文件存储位置
+# Resource file storage location
STORAGE_DIR=/public/uploads
-# 附件上传的最大大小
+# Maximum size for attachment upload
MAX_UPLOAD_SIZE_MB=5
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 274f480..def7f83 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -3,7 +3,7 @@ name: CI/CD
on:
push:
branches:
- - master
+ - main
pull_request:
jobs:
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index dec4e93..63b1fb3 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -5,32 +5,37 @@ on:
branches:
- main
paths:
- - 'docs/**' # This will only trigger the workflow when files in docs directory change
+ - 'docs/**'
permissions:
contents: write
jobs:
build_docs:
runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: ./docs
steps:
- uses: actions/checkout@v4
+
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- - uses: actions/setup-node@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
with:
- node-version: 18
- cache: npm
- cache-dependency-path: docs/package-lock.json
+ version: '9.4.0'
+ run_install: false
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20.15.1'
+ cache: pnpm
- name: Install dependencies
- run: npm ci
+ run: pnpm install --filter upage-docs...
- - name: Build website
- run: npm run build
+ - name: Build docs website
+ run: pnpm run docs:build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
diff --git a/app/utils/constants.ts b/app/utils/constants.ts
index c2de829..feb9265 100644
--- a/app/utils/constants.ts
+++ b/app/utils/constants.ts
@@ -1,15 +1,14 @@
import { LLMManager } from '~/lib/modules/llm/manager';
-export const WORK_DIR_NAME = 'project';
export const MODEL_REGEX = /^\[Model: (.*?)\]\n\n/;
export const PROVIDER_REGEX = /\[Provider: (.*?)\]\n\n/;
const llmManager = LLMManager.getInstance();
-export const DEFAULT_MODEL = llmManager.getDefaultModel();
-export const MINOR_MODEL = llmManager.getMinorModel();
export const PROVIDER_LIST = llmManager.getAllProviders();
export const DEFAULT_PROVIDER = llmManager.getDefaultProvider();
+export const DEFAULT_MODEL = llmManager.getDefaultModel();
+export const MINOR_MODEL = llmManager.getMinorModel();
export const DEFAULT_MODEL_DETAILS = DEFAULT_PROVIDER.staticModels.find((m) => m.name === DEFAULT_MODEL);
export const MINOR_MODEL_DETAILS = DEFAULT_PROVIDER.staticModels.find((m) => m.name === MINOR_MODEL);
diff --git a/docs/content/changelog.md b/docs/content/changelog.md
deleted file mode 100644
index cd4f5eb..0000000
--- a/docs/content/changelog.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-id: changelog
-title: 更新日志
----
-
-# 更新日志
-
-本文档记录了 UPage 的版本更新历史,包括新功能、改进和修复的问题。
-
-## 1.0.0 (2025-09-15)
-
-### 🚀 新功能
-
-- **AI 页面生成**:基于自然语言描述生成完整网页
-- **多 AI 提供商支持**:
- - OpenAI (GPT-3.5/GPT-4)
- - Anthropic Claude
- - Google Gemini
- - 兼容 OpenAI 接口的服务
- - Ollama (本地模型)
-- **可视化编辑器**:拖拽式页面编辑器,实时预览
-- **组件库**:丰富的预设组件,包括布局、表单、媒体等
-- **响应式设计**:自动适应不同屏幕尺寸
-- **主题系统**:内置多种主题,支持自定义
-- **页面管理**:创建、编辑、复制、删除页面
-- **版本历史**:自动保存页面版本,支持回滚
-- **导出功能**:导出为 HTML/CSS/JS、ZIP、JSON 或 PDF
-- **部署集成**:
- - Vercel 部署支持
- - Netlify 部署支持
-- **用户认证**:通过 Logto 实现用户认证和权限管理
-- **Docker 部署**:提供官方 Docker 镜像和 Docker Compose 配置
-
-### 🔧 技术栈
-
-- **前端**:React、TypeScript、Vite、UnoCSS
-- **后端**:Node.js、Express、Remix
-- **数据库**:SQLite
-- **AI 集成**:AI SDK、各大 AI 提供商 API
-- **部署**:Docker、GitHub Actions
-
-## 0.9.0 (2025-08-20)
-
-### 🚀 新功能
-
-- **Beta 版本发布**:首个公开测试版本
-- **核心功能实现**:
- - AI 页面生成
- - 可视化编辑器
- - 页面管理
- - 导出功能
-- **Docker 部署支持**:提供 Docker 镜像和部署指南
-- **文档系统**:基本使用文档和部署指南
-
-### 🐛 修复
-
-- 修复页面生成时的布局问题
-- 修复组件拖拽在某些浏览器中的兼容性问题
-- 修复导出功能中的资源路径问题
-
-## 0.8.0 (2025-07-15)
-
-### 🚀 新功能
-
-- **Alpha 版本**:内部测试版本
-- **概念验证**:
- - AI 生成基本页面结构
- - 简单的可视化编辑
- - 基本的导出功能
-- **技术选型确定**:
- - 前端框架和库
- - AI 集成方案
- - 部署策略
-
-### 📝 计划
-
-- 完善 AI 生成功能
-- 增强可视化编辑器
-- 添加更多组件和模板
-- 实现部署集成
-- 准备公开测试版本
-
-## 未来计划
-
-以下是 UPage 计划在未来版本中实现的功能:
-
-### 近期计划 (1.x)
-
-- **协作功能**:多用户同时编辑页面
-- **评论和反馈**:页面内评论和反馈系统
-- **更多组件**:扩展组件库,添加更多高级组件
-- **自定义主题编辑器**:可视化主题编辑工具
-- **更多 AI 提供商支持**:增加对更多 AI 模型的支持
-- **性能优化**:提升页面生成和编辑的性能
-- **移动端编辑器**:支持在移动设备上编辑页面
-
-### 中期计划 (2.x)
-
-- **插件系统**:支持第三方插件扩展功能
-- **高级动画**:更丰富的页面动画效果
-- **数据集成**:与外部数据源集成
-- **多语言支持**:界面和生成内容的多语言支持
-- **AI 辅助编程**:生成自定义组件和交互逻辑
-- **高级分析**:页面性能和访问分析
-- **A/B 测试**:内置 A/B 测试功能
-
-### 长期愿景
-
-- **完整网站生成**:从描述生成完整多页面网站
-- **智能内容管理**:AI 辅助的内容创建和管理
-- **无代码应用构建**:扩展至应用程序构建
-- **生态系统**:建立开发者和设计师社区
-- **企业级功能**:满足大型组织的需求
-
-我们欢迎社区参与和贡献,共同推动 UPage 的发展。如果您有功能建议或发现问题,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。
diff --git a/docs/content/contributing.md b/docs/content/contributing.md
deleted file mode 100644
index d64aef6..0000000
--- a/docs/content/contributing.md
+++ /dev/null
@@ -1,199 +0,0 @@
----
-id: contributing
-title: 贡献指南
----
-
-# 贡献指南
-
-感谢您对 UPage 项目的关注!我们非常欢迎各种形式的贡献,无论是功能开发、bug 修复、文档改进还是使用反馈。本指南将帮助您了解如何参与 UPage 的开发和贡献。
-
-## 行为准则
-
-参与 UPage 项目的所有贡献者都应遵循以下行为准则:
-
-- 尊重所有参与者,无论其背景、经验或观点
-- 接受建设性的批评和反馈
-- 专注于对社区最有利的事情
-- 展现同理心和善意
-
-## 贡献方式
-
-您可以通过多种方式为 UPage 做出贡献:
-
-### 报告问题
-
-如果您发现了 bug 或有功能建议,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。提交问题时,请尽可能提供以下信息:
-
-- 清晰的问题描述
-- 复现步骤
-- 预期行为与实际行为
-- 截图(如适用)
-- 环境信息(浏览器、操作系统、UPage 版本等)
-
-### 提交代码
-
-如果您想直接贡献代码,请遵循以下步骤:
-
-1. Fork 项目仓库
-2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`)
-3. 提交您的更改 (`git commit -m 'Add some amazing feature'`)
-4. 推送到分支 (`git push origin feature/amazing-feature`)
-5. 创建 Pull Request
-
-### 改进文档
-
-文档对于任何项目都至关重要。您可以通过以下方式改进 UPage 的文档:
-
-- 修复文档中的错误或不准确之处
-- 添加缺失的信息或示例
-- 改进文档的结构和可读性
-- 翻译文档到其他语言
-
-### 分享和推广
-
-您也可以通过以下方式支持 UPage:
-
-- 在社交媒体上分享项目
-- 撰写关于 UPage 的博客文章或教程
-- 在相关论坛和社区中推荐 UPage
-- 为项目加星标(Star)
-
-## 开发环境设置
-
-### 前置条件
-
-开始开发 UPage 前,请确保您的系统满足以下要求:
-
-- Node.js 18.18.0 或更高版本
-- pnpm 9.4.0 或更高版本
-- Git
-
-### 克隆仓库
-
-```bash
-git clone https://github.com/halo-dev/upage.git
-cd upage
-```
-
-### 安装依赖
-
-```bash
-pnpm install
-```
-
-### 启动开发服务器
-
-```bash
-pnpm dev
-```
-
-此命令会启动开发服务器,您可以通过 `http://localhost:3000` 访问。
-
-### 构建项目
-
-```bash
-pnpm build
-```
-
-### 运行测试
-
-```bash
-pnpm test
-```
-
-## 代码规范
-
-### JavaScript/TypeScript 规范
-
-UPage 使用 [Biome](https://biomejs.dev/) 进行代码格式化和 linting。在提交代码前,请确保您的代码符合项目的代码规范:
-
-```bash
-pnpm check
-```
-
-您也可以使用以下命令自动修复格式问题:
-
-```bash
-pnpm check --write
-```
-
-### Git 提交规范
-
-我们使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范来格式化 Git 提交信息。提交信息应遵循以下格式:
-
-```
-():
-
-[optional body]
-
-[optional footer(s)]
-```
-
-常用的 `type` 包括:
-
-- `feat`: 新功能
-- `fix`: 修复 bug
-- `docs`: 文档更新
-- `style`: 代码风格更改(不影响代码功能)
-- `refactor`: 代码重构
-- `perf`: 性能优化
-- `test`: 添加或修改测试
-- `chore`: 构建过程或辅助工具的变动
-
-例如:
-
-```
-feat(editor): 添加拖拽调整组件大小功能
-
-添加了一个新的拖拽句柄,允许用户直接调整组件的大小。
-同时优化了调整过程中的性能。
-
-Closes #123
-```
-
-## 分支策略
-
-- `main`: 主分支,包含稳定的代码
-- `develop`: 开发分支,包含最新的开发代码
-- `feature/*`: 功能分支,用于开发新功能
-- `fix/*`: 修复分支,用于修复 bug
-- `release/*`: 发布分支,用于准备新版本发布
-
-请基于 `develop` 分支创建您的功能或修复分支,并在完成后向 `develop` 分支提交 Pull Request。
-
-## Pull Request 流程
-
-1. 确保您的代码符合项目的代码规范
-2. 更新相关文档(如适用)
-3. 添加或更新测试(如适用)
-4. 确保所有测试通过
-5. 提交 Pull Request 到 `develop` 分支
-6. 在 PR 描述中详细说明您的更改
-
-## 版本发布流程
-
-UPage 遵循 [语义化版本控制](https://semver.org/) 规范。版本号格式为 `X.Y.Z`:
-
-- `X`: 主版本号,当进行不兼容的 API 更改时递增
-- `Y`: 次版本号,当添加向后兼容的功能时递增
-- `Z`: 修订号,当进行向后兼容的 bug 修复时递增
-
-## 文档贡献
-
-UPage 的文档使用 [Docusaurus](https://docusaurus.io/) 构建。如果您想贡献文档,请遵循以下步骤:
-
-1. 在 `docs` 目录中找到相关的 Markdown 文件
-2. 进行必要的更改
-3. 在本地预览更改:`pnpm docs:start`
-4. 提交 Pull Request
-
-## 社区
-
-加入 UPage 社区,与其他贡献者交流:
-
-- [GitHub Discussions](https://github.com/halo-dev/upage/discussions)
-- [GitHub Issues](https://github.com/halo-dev/upage/issues)
-
-## 许可证
-
-UPage 采用 [MIT 许可证](https://github.com/halo-dev/upage/blob/main/LICENSE)。通过贡献代码,您同意您的贡献将在相同的许可证下发布。
diff --git a/docs/content/contributing/code-of-conduct.md b/docs/content/contributing/code-of-conduct.md
new file mode 100644
index 0000000..20126a6
--- /dev/null
+++ b/docs/content/contributing/code-of-conduct.md
@@ -0,0 +1,47 @@
+---
+id: code-of-conduct
+title: 行为准则
+---
+
+# 行为准则
+
+UPage 项目致力于为所有贡献者和参与者提供一个友好、安全和包容的环境。我们希望每个人都能够在没有骚扰和歧视的情况下参与项目。
+
+## 我们的标准
+
+参与 UPage 项目的所有贡献者都应遵循以下行为准则:
+
+- **尊重所有参与者**,无论其背景、经验或观点
+- **接受建设性的批评和反馈**,并以专业和尊重的方式回应
+- **专注于对社区最有利的事情**,考虑项目和用户的长期利益
+- **展现同理心和善意**,理解他人的观点和立场
+
+## 不可接受的行为
+
+以下行为被视为不可接受:
+
+- 使用性暗示的语言或图像
+- 人身攻击、侮辱或贬低性评论
+- 公开或私下的骚扰
+- 未经明确许可发布他人的私人信息
+- 任何其他可能被合理认为不适当或冒犯的行为
+
+## 责任
+
+项目维护者有责任明确行为标准,并对任何不可接受行为采取适当和公正的纠正措施。
+
+项目维护者有权和责任删除、编辑或拒绝与本行为准则不符的评论、提交、代码、问题和其他贡献,并在适当时暂时或永久禁止任何贡献者参与项目。
+
+## 范围
+
+本行为准则适用于所有项目空间,包括但不限于 GitHub 仓库、问题跟踪器、讨论区、社交媒体和公共活动。它也适用于个人在代表项目或其社区时的行为。
+
+## 反馈
+
+如果您遇到滥用、骚扰或其他不可接受的行为,请通过 [GitHub Issues](https://github.com/halo-dev/upage/issues) 或直接联系项目维护者报告。
+
+所有投诉将被审查和调查,并将导致被认为必要和适当的回应。项目维护者有义务对报告事件的人保密。
+
+## 参考
+
+本行为准则改编自 [Contributor Covenant](https://www.contributor-covenant.org),版本 2.0,可在 [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html) 查阅。
diff --git a/docs/content/contributing/code-standards.md b/docs/content/contributing/code-standards.md
new file mode 100644
index 0000000..a77b3d0
--- /dev/null
+++ b/docs/content/contributing/code-standards.md
@@ -0,0 +1,156 @@
+---
+id: code-standards
+title: 代码规范
+---
+
+# 代码规范
+
+UPage 项目遵循严格的代码规范和最佳实践,以确保代码质量和一致性。本文档概述了这些规范,所有贡献者在提交代码前应确保遵循这些规范。
+
+## JavaScript/TypeScript 规范
+
+UPage 使用 [Biome](https://biomejs.dev/) 进行代码格式化和 linting。Biome 是一个快速的代码格式化工具和 linter,可以帮助我们保持代码风格的一致性。
+
+### 代码检查
+
+在提交代码前,请确保您的代码符合项目的代码规范:
+
+```bash
+pnpm check
+```
+
+### 自动修复
+
+您也可以使用以下命令自动修复格式问题:
+
+```bash
+pnpm check --write
+```
+
+### 主要规范
+
+- **缩进**: 使用 2 个空格
+- **分号**: 必须使用分号
+- **引号**: 使用单引号
+- **命名约定**:
+ - 变量和函数使用 camelCase
+ - 类和接口使用 PascalCase
+ - 常量使用 UPPER_SNAKE_CASE
+- **类型注解**: 尽可能使用类型注解提高代码可读性和类型安全性
+- **注释**: 对复杂逻辑和公共 API 添加适当的注释
+
+## Git 提交规范
+
+我们使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范来格式化 Git 提交信息。提交信息应遵循以下格式:
+
+```
+():
+
+[optional body]
+
+[optional footer(s)]
+```
+
+### 类型 (Type)
+
+提交类型必须是以下之一:
+
+- `feat`: 新功能
+- `fix`: 修复 bug
+- `docs`: 文档更新
+- `style`: 代码风格更改(不影响代码功能)
+- `refactor`: 代码重构(既不是新功能,也不是修复 bug)
+- `perf`: 性能优化
+- `test`: 添加或修改测试
+- `chore`: 构建过程或辅助工具的变动
+- `ci`: CI 配置文件和脚本的更改
+- `revert`: 回滚之前的提交
+
+### 范围 (Scope)
+
+范围是可选的,用于指定更改的范围(例如组件或文件名)。
+
+### 描述 (Description)
+
+描述是对更改的简短摘要:
+
+- 使用现在时态("change",而不是"changed"或"changes")
+- 不要首字母大写
+- 不要以句号结尾
+
+### 示例
+
+```
+feat(editor): 添加拖拽调整组件大小功能
+
+添加了一个新的拖拽句柄,允许用户直接调整组件的大小。
+同时优化了调整过程中的性能。
+
+Closes #123
+```
+
+```
+fix: 修复用户认证失败问题
+
+修复了当用户凭证包含特殊字符时认证失败的问题。
+
+Fixes #456
+```
+
+## CSS/SCSS 规范
+
+UPage 使用 SCSS 和 CSS Modules 来组织样式代码。
+
+### 命名约定
+
+- 使用 kebab-case 命名 CSS 类和 ID
+- 使用有意义的名称,避免过于简短或抽象的名称
+- 使用 BEM(Block Element Modifier)命名方法论
+
+### 组织结构
+
+- 将全局样式放在 `app/styles` 目录下
+- 将组件特定样式放在组件同级目录下的 `.scss` 或 `.module.scss` 文件中
+
+## 可访问性标准
+
+UPage 致力于创建可访问的 Web 应用程序。所有贡献的代码应遵循 [WCAG 2.1 AA](https://www.w3.org/WAI/WCAG21/quickref/) 标准。
+
+- 确保适当的颜色对比度
+- 提供替代文本和 ARIA 标签
+- 确保键盘导航功能
+- 支持屏幕阅读器
+
+## 测试规范
+
+所有新功能和 bug 修复应包含适当的测试:
+
+- **单元测试**: 测试单个函数和组件
+- **集成测试**: 测试多个组件或功能的交互
+- **端到端测试**: 测试完整的用户流程
+
+测试应该:
+
+- 覆盖正常和边缘情况
+- 清晰描述测试的目的
+- 保持独立性,不依赖于其他测试的状态
+
+## 性能考虑
+
+贡献的代码应考虑性能影响:
+
+- 避免不必要的重新渲染
+- 优化大型列表和表格
+- 懒加载大型资源
+- 减少网络请求
+- 优化打包大小
+
+## 安全最佳实践
+
+所有代码应遵循安全最佳实践:
+
+- 防止 XSS 攻击
+- 避免 SQL 注入
+- 正确处理用户输入
+- 保护敏感数据
+- 实施适当的访问控制
diff --git a/docs/content/contributing/development-setup.md b/docs/content/contributing/development-setup.md
new file mode 100644
index 0000000..d8855c6
--- /dev/null
+++ b/docs/content/contributing/development-setup.md
@@ -0,0 +1,161 @@
+---
+id: development-setup
+title: 开发环境设置
+---
+
+# 开发环境设置
+
+本指南将帮助您设置 UPage 的本地开发环境,以便您可以开始贡献代码。
+
+## 前置条件
+
+开始开发 UPage 前,请确保您的系统满足以下要求:
+
+- **Node.js**: 18.18.0 或更高版本
+- **pnpm**: 9.4.0 或更高版本
+- **Git**: 最新版本
+
+### 安装 Node.js
+
+您可以从 [Node.js 官网](https://nodejs.org/) 下载并安装 Node.js,或使用版本管理工具如 [nvm](https://github.com/nvm-sh/nvm):
+
+```bash
+# 使用 nvm 安装 Node.js
+nvm install 18.18.0
+nvm use 18.18.0
+```
+
+### 安装 pnpm
+
+安装 pnpm 的最简单方法是通过 npm:
+
+```bash
+npm install -g pnpm@9.4.0
+```
+
+或者按照 [pnpm 官方文档](https://pnpm.io/installation) 的说明进行安装。
+
+## 克隆仓库
+
+首先,[fork UPage 仓库](https://github.com/halo-dev/upage/fork)到您的 GitHub 账户,然后将其克隆到本地:
+
+```bash
+# 克隆您 fork 的仓库
+git clone https://github.com/YOUR-USERNAME/upage.git
+
+# 进入项目目录
+cd upage
+
+# 添加上游仓库
+git remote add upstream https://github.com/halo-dev/upage.git
+```
+
+## 安装依赖
+
+使用 pnpm 安装项目依赖:
+
+```bash
+pnpm install
+```
+
+## 生成 Prisma 客户端
+
+UPage 使用 Prisma 作为数据库 ORM,因此需要生成 Prisma 客户端。
+
+```bash
+pnpm setup
+```
+
+## 配置环境变量
+
+拷贝 `.env.example` 文件,创建 `.env` 文件:
+
+```bash
+cp .env.example .env
+```
+
+按照[配置参考](../configuration)的说明修改 `.env` 文件进行配置。
+
+## 启用 Logto 认证(可选)
+
+UPage 默认仅支持单一用户匿名访问,如果您想要开发用户认证功能,可以按照[Logto 认证集成](../deployment/logto)的说明配置 Logto 认证。
+
+## 启动开发服务器
+
+启动开发服务器,这将允许您在本地预览和测试您的更改:
+
+```bash
+pnpm dev
+```
+
+此命令会启动开发服务器,您可以通过 `http://localhost:5173` 访问。
+
+## 构建项目
+
+要构建生产版本的项目,运行:
+
+```bash
+pnpm build
+```
+
+构建完成后,您可以通过以下命令预览生产版本:
+
+```bash
+pnpm preview
+```
+
+预生产版本项目运行在 `http://localhost:3000`。
+
+## 运行测试
+
+运行项目的测试套件:
+
+```bash
+pnpm test
+```
+
+## 文档开发
+
+如果您想要修改或预览文档,可以使用以下命令:
+
+```bash
+# 启动文档开发服务器
+pnpm docs:start
+
+# 构建文档
+pnpm docs:build
+```
+
+文档开发服务器默认在 `http://localhost:3000` 运行。
+
+## 常见问题解决
+
+### 依赖安装失败
+
+如果您在安装依赖时遇到问题,可以尝试以下解决方案:
+
+```bash
+# 清除 pnpm 缓存
+pnpm store prune
+
+# 重新安装依赖
+pnpm install --force
+```
+
+### 开发服务器启动失败
+
+如果开发服务器无法启动,请检查:
+
+1. 端口 5173 是否被其他应用占用
+2. Node.js 版本是否符合要求
+3. 是否所有依赖都已正确安装
+
+您可以尝试使用不同的端口启动:
+
+```bash
+pnpm dev --port 5174
+```
+
+### 其他问题
+
+如果您遇到其他问题,请查看项目的 [常见问题](../faq.md) 或在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中搜索相关问题。如果没有找到解决方案,请创建新的 issue。
diff --git a/docs/content/contributing/index.md b/docs/content/contributing/index.md
new file mode 100644
index 0000000..1fc9184
--- /dev/null
+++ b/docs/content/contributing/index.md
@@ -0,0 +1,28 @@
+---
+id: contributing
+title: 贡献指南
+slug: /contributing
+---
+
+# 贡献指南
+
+感谢您对 UPage 项目的关注!我们非常欢迎各种形式的贡献,无论是功能开发、bug 修复、文档改进还是使用反馈。本指南将帮助您了解如何参与 UPage 的开发和贡献。
+
+## 目录
+
+- [行为准则](./code-of-conduct.md) - 参与 UPage 项目的行为准则
+- [贡献方式](./ways-to-contribute.md) - 如何为 UPage 项目做出贡献
+- [开发环境设置](./development-setup.md) - 如何设置本地开发环境
+- [代码规范](./code-standards.md) - 代码风格和提交规范
+- [工作流程](./workflow.md) - 分支策略、PR流程和版本发布
+
+## 社区
+
+加入 UPage 社区,与其他贡献者交流:
+
+- [GitHub Discussions](https://github.com/halo-dev/upage/discussions)
+- [GitHub Issues](https://github.com/halo-dev/upage/issues)
+
+## 许可证
+
+UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE.txt)。通过贡献代码,您同意您的贡献将在相同的许可证下发布。
diff --git a/docs/content/contributing/ways-to-contribute.md b/docs/content/contributing/ways-to-contribute.md
new file mode 100644
index 0000000..dfd96b1
--- /dev/null
+++ b/docs/content/contributing/ways-to-contribute.md
@@ -0,0 +1,91 @@
+---
+id: ways-to-contribute
+title: 贡献方式
+---
+
+# 贡献方式
+
+您可以通过多种方式为 UPage 做出贡献,无论您是开发者、设计师、文档撰写者还是用户,都能找到适合您的贡献方式。
+
+## 报告问题
+
+如果您发现了 bug 或有功能建议,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。提交问题时,请尽可能提供以下信息:
+
+- 清晰的问题描述
+- 复现步骤
+- 预期行为与实际行为
+- 截图(如适用)
+- 环境信息(浏览器、操作系统、UPage 版本等)
+
+## 提交代码
+
+如果您想直接贡献代码,请遵循以下步骤:
+
+1. [Fork](https://github.com/halo-dev/upage/fork) 项目仓库
+2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`)
+3. 提交您的更改 (`git commit -m 'Add some amazing feature'`)
+4. 推送到分支 (`git push origin feature/amazing-feature`)
+5. 创建 Pull Request
+
+### 代码贡献指南
+
+- 确保您的代码符合项目的[代码规范](./code-standards.md)
+- 为新功能编写测试
+- 更新相关文档
+- 确保所有测试通过
+- 遵循[工作流程](./workflow.md)中的分支策略和 PR 流程
+
+## 改进文档
+
+文档对于任何项目都至关重要。您可以通过以下方式改进 UPage 的文档:
+
+- 修复文档中的错误或不准确之处
+- 添加缺失的信息或示例
+- 改进文档的结构和可读性
+- 翻译文档到其他语言
+
+### 文档贡献步骤
+
+1. 在 `docs/content` 目录中找到相关的 Markdown 文件
+2. 进行必要的更改
+3. 在本地预览更改:`pnpm docs:start`
+4. 提交 Pull Request
+
+## 设计贡献
+
+如果您是设计师,您可以通过以下方式贡献:
+
+- 改进用户界面设计
+- 创建图标和插图
+- 设计宣传材料
+- 提供用户体验建议
+
+## 测试和反馈
+
+即使您不是开发者,您也可以通过以下方式做出重要贡献:
+
+- 测试新功能和版本
+- 提供详细的反馈
+- 报告使用过程中遇到的问题
+- 提出改进建议
+
+## 分享和推广
+
+您也可以通过以下方式支持 UPage:
+
+- 在社交媒体上分享项目
+- 撰写关于 UPage 的博客文章或教程
+- 在相关论坛和社区中推荐 UPage
+- 为项目加星标(Star)
+
+## 社区支持
+
+帮助其他用户解决问题也是一种重要的贡献方式:
+
+- 回答 [GitHub Discussions](https://github.com/halo-dev/upage/discussions) 中的问题
+- 帮助新用户入门
+- 分享您的使用经验和最佳实践
+
+## 感谢您的贡献
+
+无论您以何种方式支持和参与 UPage 项目,我们都由衷地感谢您的每一份贡献。正是因为有诸多像您这样的社区成员的支持和参与,UPage 才能不断成长和进步。每一个问题报告、每一行代码、每一份文档改进以及每一次分享都是宝贵的。
diff --git a/docs/content/contributing/workflow.md b/docs/content/contributing/workflow.md
new file mode 100644
index 0000000..b9e2cab
--- /dev/null
+++ b/docs/content/contributing/workflow.md
@@ -0,0 +1,143 @@
+---
+id: workflow
+title: 工作流程
+---
+
+# 工作流程
+
+本文档描述了 UPage 项目的开发工作流程,包括分支策略、Pull Request 流程和版本发布流程。
+
+## 分支策略
+
+UPage 项目使用以下分支策略:
+
+### 主要分支
+
+- **`main`**: 主分支,包含最新的开发代码,用于集成功能和修复,同时也对应最新的发布版本
+
+### 功能分支
+
+开发新功能时,应从 `main` 分支创建功能分支:
+
+- **`feature/*`**: 功能分支,用于开发新功能
+ - 例如:`feature/drag-and-drop`、`feature/user-authentication`
+
+### 修复分支
+
+修复 bug 时,应从 `main` 分支创建修复分支:
+
+- **`fix/*`**: 修复分支,用于修复 bug
+ - 例如:`fix/login-error`、`fix/memory-leak`
+
+### 发布分支
+
+准备新版本发布时,从 `main` 分支创建发布分支:
+
+- **`release/*`**: 发布分支,用于准备新版本发布
+ - 例如:`release/v1.0.0`、`release/v1.1.0`
+
+### 热修复分支
+
+对已发布版本的紧急修复,从 `main` 分支创建热修复分支:
+
+- **`hotfix/*`**: 热修复分支,用于对已发布版本的紧急修复
+ - 例如:`hotfix/v1.0.1`、`hotfix/v1.1.2`
+
+## 工作流程图
+
+```
+main ─────┬───────────────┬─────────────────────────────────
+ │ │ ↑ ↑
+ ↓ ↓ │ │
+feature feature/A feature/B │ │
+ │ │
+fix fix/bug-1 fix/bug-2
+ │ │ │
+ │ │ │
+release └─────────────────────────────────┴───────────┘
+ release/v1.0.0
+```
+
+## Pull Request 流程
+
+### 准备 Pull Request
+
+1. 确保您的代码符合项目的[代码规范](./code-standards.md)
+2. 更新相关文档(如适用)
+3. 添加或更新测试(如适用)
+4. 确保所有测试通过
+5. 将您的分支与目标分支(通常是 `main`)同步
+
+### 创建 Pull Request
+
+1. 在 GitHub 上创建一个新的 Pull Request
+2. 选择正确的目标分支(通常是 `main`)
+3. 填写 Pull Request 模板,提供以下信息:
+ - 清晰的标题,简要描述更改
+ - 详细的描述,解释更改的目的和实现方式
+ - 相关的 issue 链接(如适用)
+ - 截图或视频(如适用)
+ - 任何需要审核者特别注意的事项
+
+### Pull Request 审核
+
+1. 至少需要一个项目维护者的批准才能合并 PR
+2. 审核者可能会要求进行更改
+3. 根据反馈进行必要的更改
+4. 确保 CI 检查通过
+
+### 合并 Pull Request
+
+1. 一旦 PR 获得批准并且所有检查通过,它将被合并
+2. 通常使用 "Squash and merge" 策略,将所有提交合并为一个
+3. 合并后,相关的分支可以被删除
+
+## 版本发布流程
+
+UPage 遵循 [语义化版本控制](https://semver.org/) 规范。版本号格式为 `X.Y.Z`:
+
+- **X**: 主版本号,当进行不兼容的 API 更改时递增
+- **Y**: 次版本号,当添加向后兼容的功能时递增
+- **Z**: 修订号,当进行向后兼容的 bug 修复时递增
+
+### 发布准备
+
+1. 从 `main` 分支创建发布分支,例如 `release/v1.0.0`
+2. 在发布分支上进行最终测试和修复
+3. 更新版本号和更新日志
+4. 创建 Pull Request 将发布分支合并回 `main`
+
+### 发布步骤
+
+1. 合并发布分支到 `main`
+2. 在 `main` 分支上创建版本标签,例如 `v1.0.0`
+3. 发布 GitHub Release,包含详细的更新日志
+
+### 热修复发布
+
+1. 从 `main` 分支创建热修复分支,例如 `hotfix/v1.0.1`
+2. 实现必要的修复
+3. 更新版本号和更新日志
+4. 创建 Pull Request 将热修复分支合并到 `main`
+5. 必要时创建 cherry-pick PR 将热修复分支合并到对应的发布分支
+
+## 持续集成和部署
+
+UPage 使用 GitHub Actions 进行持续集成和部署:
+
+### CI 工作流程
+
+- 每个 PR 会触发构建和测试
+- 代码质量检查(linting、类型检查)
+- 单元测试和集成测试
+- 构建检查
+
+### CD 工作流程
+
+- 合并到 `main` 分支会触发开发构建和部署
+- 自动生成和发布 Docker 镜像
+- 更新文档网站
+
+## 问题跟踪
+
+UPage 使用 GitHub [Issues](https://github.com/halo-dev/upage/issues) 进行问题跟踪,使用标签对问题进行分类(bug、feature、documentation 等)
diff --git a/docs/content/deployment/logto.md b/docs/content/deployment/logto.md
index bd0486e..827c11e 100644
--- a/docs/content/deployment/logto.md
+++ b/docs/content/deployment/logto.md
@@ -34,6 +34,15 @@ Logto 支持两种接入方式,您可以根据自己的需求选择合适的
UPage 提供了一个简化的 Logto 部署配置。在 UPage 项目目录下,您可以找到 `logto/docker-compose.yaml` 文件以及 `.env` 文件。
+如果是开发环境,执行以下命令:
+
+```bash
+cd ./logto
+docker-compose up -d
+```
+
+如果是生产环境,执行以下命令:
+
```bash
curl -L https://raw.githubusercontent.com/halo-dev/upage/refs/heads/main/logto/docker-compose.yaml -o ~/upage/logto/docker-compose.yaml
curl -L https://raw.githubusercontent.com/halo-dev/upage/refs/heads/main/logto/.env -o ~/upage/logto/.env
diff --git a/docs/content/faq.md b/docs/content/faq.md
index 884e7f5..67b533e 100644
--- a/docs/content/faq.md
+++ b/docs/content/faq.md
@@ -11,7 +11,7 @@ title: 常见问题
### UPage 是什么?
-UPage 是一款基于人工智能的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。它允许用户通过简单的文字描述生成完整的网页,并提供可视化编辑工具进行进一步定制。
+UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。它允许用户通过简单的文字描述生成完整的网页,并提供可视化编辑工具进行进一步定制。
### UPage 适合哪些用户?
@@ -26,7 +26,7 @@ UPage 适合各类需要快速创建网页的用户,包括但不限于:
### UPage 是开源的吗?
-是的,UPage 是一个开源项目,采用 MIT 许可证。您可以在 [GitHub](https://github.com/halo-dev/upage) 上查看源代码,也可以参与项目开发和改进。
+是的,UPage 是一个开源项目,采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE.txt)。您可以在 [GitHub](https://github.com/halo-dev/upage) 上查看源代码,也可以参与项目开发和改进。
## 安装和部署
@@ -40,16 +40,17 @@ docker run -d \
--restart unless-stopped \
-p 3000:3000 \
-e LLM_DEFAULT_PROVIDER=OpenAILike \
+ -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
-e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ./data:/app/data \
-v ./logs:/app/logs \
-v ./storage:/app/storage \
- ghcr.io/halo-dev/upage
+ halo-dev/upage:latest
```
-详细的安装说明请参考[快速开始](quick-start)文档。
+详细的安装说明请参考[快速开始](./quick-start)文档。
### UPage 的系统要求是什么?
@@ -58,7 +59,7 @@ UPage 的最低系统要求:
- Docker 20.10.0 或更高版本(如果使用 Docker 部署)
- Node.js 18.18.0 或更高版本(如果源码部署)
- 至少 2GB 可用内存
-- 至少 1GB 可用磁盘空间
+- 至少 2GB 可用磁盘空间
- 互联网连接(用于访问 AI API)
### 如何更新 UPage?
@@ -67,7 +68,7 @@ UPage 的最低系统要求:
```bash
# 拉取最新镜像
-docker pull ghcr.io/halo-dev/upage:latest
+docker pull halo-dev/upage:latest
# 停止并删除旧容器
docker stop upage
@@ -79,7 +80,7 @@ docker run -d \
--restart unless-stopped \
-p 3000:3000 \
... # 其他环境变量和挂载
- ghcr.io/halo-dev/upage:latest
+ halo-dev/upage:latest
```
如果使用 Docker Compose,则可以执行:
@@ -96,12 +97,15 @@ docker-compose up -d
UPage 支持多种 AI 提供商,包括:
-- OpenAI(GPT-3.5、GPT-4 等)
+- DeepSeek(DeepSeek-Chat、DeepSeek-Reasoner)
+- OpenAI(GPT-4o、GPT-5 等)
- Anthropic Claude
- Google Gemini
- 兼容 OpenAI 接口的服务(如 Azure OpenAI、智谱 AI 等)
- Ollama(本地部署的开源模型)
+所有支持的 AI 提供商请参考[配置参考- AI 提供商配置](./configuration#ai-提供商配置)文档。
+
### 如何配置 AI 提供商?
通过环境变量配置 AI 提供商,例如:
@@ -120,11 +124,11 @@ UPage 支持多种 AI 提供商,包括:
-e LLM_MINOR_MODEL=claude-3-haiku-20240307
```
-详细的配置选项请参考[配置参考](configuration)文档。
+详细的配置选项请参考[配置参考 - AI 提供商配置](./configuration#ai-提供商配置)文档。
### 使用 AI 生成页面需要多少 token?
-生成一个标准页面通常需要 2,000-10,000 个 token,具体取决于页面的复杂度和内容量。复杂的页面可能需要更多 token。UPage 会优化 prompt,尽量减少 token 消耗。
+生成一个标准页面通常需要 2,000-10,000 个 token,具体取决于页面的复杂度和内容量。复杂的页面可能需要更多 token。UPage 会尽可能优化 prompt,尽量减少 token 消耗。
### 如何优化 AI 提示以获得更好的结果?
@@ -145,35 +149,22 @@ UPage 支持多种 AI 提供商,包括:
...
```
+你可以使用 UPage 的优化提示功能来优化您的提示。
+
## 使用问题
-### 如何创建第一个页面?
-
-1. 登录 UPage
-2. 点击侧边栏中的"新建页面"按钮
-3. 选择"AI 创建"、"从模板创建"或"空白页面"
-4. 如果选择 AI 创建,输入页面描述并点击"生成"
-5. 等待 AI 生成页面,然后进行进一步编辑
-
### 如何编辑 AI 生成的页面?
1. 在页面列表中选择要编辑的页面
-2. 使用可视化编辑器修改页面元素
-3. 可以拖拽组件、调整布局、编辑文本和图片
-4. 使用右侧属性面板修改组件属性和样式
-5. 也可以使用 AI 辅助功能进行局部或整体调整
-
-### 如何导出页面?
-
-1. 在页面列表中选择要导出的页面
-2. 点击操作菜单中的"导出"选项
-3. 选择导出格式(HTML/CSS/JS、ZIP、JSON 或 PDF)
-4. 配置导出选项
-5. 点击"导出"开始下载
+2. 使用可视化编辑器点击要修改的页面元素
+3. 对于文本组件,可以直接输入文本进行修改
+4. 对于图片组件,可以点击上传图片进行替换
+5. 使用弹出的属性面板修改组件属性和样式
+6. 也可以使用 AI 辅助功能进行局部或整体调整
### UPage 支持响应式设计吗?
-是的,UPage 生成的页面默认支持响应式设计,可以自动适应不同屏幕尺寸。您可以在编辑器中预览页面在不同设备上的显示效果,并进行针对性调整。
+是的,UPage 生成的页面默认支持响应式设计,可以自动适应不同屏幕尺寸。您可以在编辑器中预览页面在不同设备上的显示效果,并进行针对性调整。如果生成的页面不符合您的预期,您可以尝试使用 AI 辅助调整。
## 数据和安全
@@ -197,9 +188,9 @@ tar -czf upage-storage-backup-$(date +%Y%m%d).tar.gz ./storage
UPage 本身不会收集或传输用户数据,除非明确配置。当使用 AI 功能时,页面内容会发送到配置的 AI 提供商进行处理。请确保您使用的 AI 提供商符合您的隐私要求。
-### 如何配置 UPage 的访问控制?
+### 如何配置 UPage 的多用户?
-UPage 支持通过 Logto 进行用户认证和访问控制。配置 Logto 后,您可以创建用户账户、分配角色和权限,实现细粒度的访问控制。详细配置请参考[Logto 认证集成](deployment/logto)文档。
+UPage 支持通过 Logto 进行用户认证和访问控制。详细配置请参考[Logto 认证集成](deployment/logto)文档。
## 故障排除
@@ -211,10 +202,11 @@ UPage 支持通过 Logto 进行用户认证和访问控制。配置 Logto 后,
2. **提示过于复杂**:尝试简化页面描述,分步骤生成
3. **token 限制**:检查是否达到 AI 提供商的 token 限制
4. **模型不支持**:尝试使用更强大的模型或不同的 AI 提供商
+5. **生成内容超过限制**:UPage 默认限制单次回答不超过 3 次 Token 上限,您可以尝试分步骤生成
### 如何查看系统日志?
-可以通过以下方式查看系统日志:
+默认情况下,UPage 会将日志保存在挂载的 `logs` 目录中,可以通过以下方式查看系统日志:
```bash
# 查看容器日志
@@ -254,33 +246,15 @@ cat logs/combined-*.log
## 高级问题
-### 如何自定义 UPage 的主题?
-
-目前 UPage 不支持完全自定义主题,但您可以通过以下方式调整外观:
-
-1. 在页面编辑器中使用自定义 CSS
-2. 使用 AI 生成符合特定设计风格的页面
-3. 在导出的代码中进行进一步自定义
-
### UPage 支持插件系统吗?
-目前 UPage 不提供正式的插件系统,但作为开源项目,您可以通过 fork 代码库并进行修改来扩展功能。
+UPage 不提供正式的插件系统,但作为开源项目,您可以通过 fork 代码库并进行修改来扩展功能。
### 如何与现有系统集成?
UPage 提供多种集成方式:
1. **API 集成**:使用 UPage API 与其他系统交互
-2. **导出集成**:导出页面代码并集成到现有系统
+2. **导出集成**:下载页面源代码(HTML/CSS/JS)并集成到现有系统
3. **部署集成**:使用 Vercel 或 Netlify 集成直接部署页面
4. **认证集成**:通过 Logto 与现有认证系统集成
-
-### UPage 与其他页面构建器的区别是什么?
-
-UPage 的主要区别在于:
-
-1. **AI 驱动**:基于自然语言描述生成页面
-2. **开源**:完全开源,可自由定制和扩展
-3. **多 AI 提供商支持**:支持多种 AI 模型和提供商
-4. **本地部署**:可在本地或私有云部署,保护数据安全
-5. **轻量级**:资源占用较低,易于部署和维护
diff --git a/docs/content/index.md b/docs/content/index.md
index 2c5b15c..908bd2b 100644
--- a/docs/content/index.md
+++ b/docs/content/index.md
@@ -21,6 +21,10 @@ UPage 是一个开源的网页构建工具,它利用大语言模型,让用
- **响应式设计**:自动适应不同屏幕尺寸
- **部署集成**:支持一键部署到常见托管平台
+:::note
+特别感谢 [bolt.diy](https://github.com/stackblitz-labs/bolt.diy) 项目,UPage 的实现基于该项目的代码结构。
+:::
+
## 快速开始
请查看[快速开始](quick-start.md)指南,了解如何安装和使用 UPage。
@@ -31,4 +35,4 @@ UPage 是一个开源项目,我们欢迎任何形式的贡献。请查看[贡
## 许可证
-UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE)。
+UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE.txt)。
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index e49c54f..d83447b 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -68,7 +68,7 @@ const config = {
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'left',
- label: '文档',
+ label: '使用文档',
},
{
href: 'https://github.com/halo-dev/upage',
@@ -116,7 +116,7 @@ const config = {
],
},
],
- copyright: `Copyright © ${new Date().getFullYear()} Halo 社区`,
+ copyright: `Copyright © ${new Date().getFullYear()} 凌霞软件. Built with Docusaurus.`,
},
prism: {
theme: require('prism-react-renderer').themes.github,
diff --git a/docs/sidebars.js b/docs/sidebars.js
index 92f42e8..badec8c 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -58,20 +58,25 @@ const sidebars = {
],
},
{
- type: 'doc',
- id: 'contributing',
+ type: 'category',
label: '贡献指南',
+ link: {
+ type: 'doc',
+ id: 'contributing/contributing',
+ },
+ items: [
+ 'contributing/code-of-conduct',
+ 'contributing/ways-to-contribute',
+ 'contributing/development-setup',
+ 'contributing/code-standards',
+ 'contributing/workflow',
+ ],
},
{
type: 'doc',
id: 'faq',
label: '常见问题',
},
- {
- type: 'doc',
- id: 'changelog',
- label: '更新日志',
- },
],
};
From 1d944e54e85c3c812aa848a69f2f53d6bbee0314 Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Sun, 28 Sep 2025 18:01:20 +0800
Subject: [PATCH 7/9] docs: add upage usage instructions document
---
.env.example | 4 +-
app/lib/modules/llm/providers/together.ts | 5 +-
docker-compose-dev.yaml | 2 +-
docker-compose-prod.yaml | 2 +-
docs/content/configuration.md | 107 +++++++++++-----------
docs/content/deployment/docker-compose.md | 12 +--
docs/content/deployment/docker.md | 18 ++--
docs/content/deployment/source.md | 12 +--
docs/content/faq.md | 14 +--
docs/content/quick-start.md | 34 +++----
docs/src/css/custom.css | 22 +++++
11 files changed, 130 insertions(+), 102 deletions(-)
diff --git a/.env.example b/.env.example
index 14554e3..63d2e46 100644
--- a/.env.example
+++ b/.env.example
@@ -40,10 +40,10 @@ PROVIDER_BASE_URL=
# {"region": "us-east-1", "accessKeyId": "yourAccessKeyId", "secretAccessKey": "yourSecretAccessKey", "sessionToken": "yourSessionToken"}
PROVIDER_API_KEY=
-# MODEL used for page generation (should correspond to LLM_DEFAULT_PROVIDER)
+# MODEL used for page generation (should correspond to LLM_PROVIDER)
LLM_DEFAULT_MODEL=
-# MODEL used for auxiliary page generation, such as summarization and pre-analysis. (should correspond to LLM_DEFAULT_PROVIDER)
+# MODEL used for auxiliary page generation, such as summarization and pre-analysis. (should correspond to LLM_PROVIDER)
LLM_MINOR_MODEL=
# Get your Serper API Key https://serper.dev/
diff --git a/app/lib/modules/llm/providers/together.ts b/app/lib/modules/llm/providers/together.ts
index 5703023..743e911 100644
--- a/app/lib/modules/llm/providers/together.ts
+++ b/app/lib/modules/llm/providers/together.ts
@@ -58,9 +58,10 @@ export default class TogetherProvider extends BaseProvider {
getModelInstance(options: { model: string; providerSettings?: Record }): LanguageModel {
const { model, providerSettings } = options;
- const { baseUrl, apiKey } = this.getProviderBaseUrlAndKey(providerSettings?.[this.name]);
+ const { baseUrl: fetchBaseUrl, apiKey } = this.getProviderBaseUrlAndKey(providerSettings?.[this.name]);
+ const baseUrl = fetchBaseUrl || 'https://api.together.xyz/v1';
- if (!baseUrl || !apiKey) {
+ if (!apiKey) {
throw new Error(`Missing configuration for ${this.name} provider`);
}
diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml
index d834862..1bc39f9 100644
--- a/docker-compose-dev.yaml
+++ b/docker-compose-dev.yaml
@@ -10,7 +10,7 @@ services:
- NODE_ENV=${NODE_ENV:-production}
- LOG_LEVEL=${LOG_LEVEL:-debug}
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- - LLM_PROVIDER=${LLM_DEFAULT_PROVIDER}
+ - LLM_PROVIDER=${LLM_PROVIDER}
- PROVIDER_BASE_URL=${PROVIDER_BASE_URL}
- PROVIDER_API_KEY=${PROVIDER_API_KEY}
- LLM_DEFAULT_MODEL=${LLM_DEFAULT_MODEL}
diff --git a/docker-compose-prod.yaml b/docker-compose-prod.yaml
index b5f3e02..f0ecf41 100644
--- a/docker-compose-prod.yaml
+++ b/docker-compose-prod.yaml
@@ -10,7 +10,7 @@ services:
- NODE_ENV=${NODE_ENV:-production}
- LOG_LEVEL=${LOG_LEVEL:-debug}
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- - LLM_PROVIDER=${LLM_DEFAULT_PROVIDER}
+ - LLM_PROVIDER=${LLM_PROVIDER}
- PROVIDER_BASE_URL=${PROVIDER_BASE_URL}
- PROVIDER_API_KEY=${PROVIDER_API_KEY}
- LLM_DEFAULT_MODEL=${LLM_DEFAULT_MODEL}
diff --git a/docs/content/configuration.md b/docs/content/configuration.md
index 9d65111..1a951e2 100644
--- a/docs/content/configuration.md
+++ b/docs/content/configuration.md
@@ -29,25 +29,31 @@ UPage 使用环境变量进行配置。您可以通过以下方式设置环境
UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用页面生成功能。
-### AI 基础配置
+:::tip 配置参数颜色说明
+为了帮助您区分不同提供商所需的配置参数,我们使用了不同的颜色标记:
+- API 基础 URL : 用蓝色标记,通常是服务的访问地址
+- API 密钥 : 用红色标记,通常是敏感信息,需要从提供商处获取
+:::
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | LLM 提供商,根据需要配置一个 | - | 是 |
+| `LLM_PROVIDER` | LLM 提供商,按照下述配置项配置一个 | - | 是 |
+| `PROVIDER_BASE_URL` | LLM 提供商的 API 基础 URL,部分提供商需要设置此项,例如 OpenAILike, Ollama, LMStudio | - | 否,部分提供商不需要设置此项 |
+| `PROVIDER_API_KEY` | LLM 提供商的 API 密钥,大部分提供商需要设置此项 | - | 否,部分提供商不需要设置此项 |
| `LLM_DEFAULT_MODEL` | 生成页面所使用的模型 | - | 是 |
| `LLM_MINOR_MODEL` | 辅助页面生成所使用的模型 | - | 是 |
-| `LLM_ENABLED_PROVIDERS` | 启用的 LLM 提供商列表(逗号分隔) | 所有支持的提供商 | 否 |
+
+以下是常见的 AI 提供商配置:
### Amazon Bedrock
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Amazon Bedrock 提供商名称 | AmazonBedrock | 是 |
-| `AWS_BEDROCK_CONFIG` | Amazon Bedrock 配置 | - | 是(如果使用 Amazon Bedrock) |
+| `LLM_PROVIDER` | Amazon Bedrock 提供商名称 | AmazonBedrock | 是 |
+| `PROVIDER_API_KEY` | Amazon Bedrock 配置 | - | 是(如果使用 Amazon Bedrock) |
:::info
-前往 [Amazon Bedrock](https://console.aws.amazon.com/iam/home) 中获取配置。
-`AWS_BEDROCK_CONFIG` 应为 JSON 格式,例如:
+在 Amazon Bedrock 提供商中,`PROVIDER_API_KEY` 应为 JSON 格式。例如:
```json
{
// Bedrock 可用的 AWS 区域
@@ -60,14 +66,15 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
"sessionToken": "your-session-token"
}
```
+前往 [Amazon Bedrock](https://console.aws.amazon.com/iam/home) 中获取配置。
:::
### Anthropic Claude
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Anthropic 提供商 | Anthropic | 是 |
-| `ANTHROPIC_API_KEY` | Anthropic API 密钥 | - | 是(如果使用 Anthropic) |
+| `LLM_PROVIDER` | Anthropic 提供商 | Anthropic | 是 |
+| `PROVIDER_API_KEY` | Anthropic API 密钥 | - | 是(如果使用 Anthropic) |
:::info
前往 [Anthropic](https://console.anthropic.com/settings/keys) 获取 API 密钥。
@@ -77,8 +84,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Cohere 提供商名称 | Cohere | 是 |
-| `COHERE_API_KEY` | Cohere API 密钥 | - | 是(如果使用 Cohere) |
+| `LLM_PROVIDER` | Cohere 提供商名称 | Cohere | 是 |
+| `PROVIDER_API_KEY` | Cohere API 密钥 | - | 是(如果使用 Cohere) |
:::info
前往 [Cohere](https://dashboard.cohere.com/api-keys) 获取 API 密钥。
@@ -88,8 +95,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | DeepSeek 提供商名称 | Deepseek | 是 |
-| `DEEPSEEK_API_KEY` | DeepSeek API 密钥 | - | 是(如果使用 DeepSeek) |
+| `LLM_PROVIDER` | DeepSeek 提供商名称 | Deepseek | 是 |
+| `PROVIDER_API_KEY` | DeepSeek API 密钥 | - | 是(如果使用 DeepSeek) |
:::info
前往 [DeepSeek](https://platform.deepseek.com/api_keys) 获取 API 密钥。
@@ -99,8 +106,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Github 提供商名称 | Github | 是 |
-| `GITHUB_API_KEY` | Github API 密钥 | - | 是(如果使用 Github) |
+| `LLM_PROVIDER` | Github 提供商名称 | Github | 是 |
+| `PROVIDER_API_KEY` | Github API 密钥 | - | 是(如果使用 Github) |
:::info
前往 [Github](https://github.com/settings/personal-access-tokens) 获取 API 密钥。
@@ -110,8 +117,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Google 提供商名称 | Google | 是 |
-| `GOOGLE_GENERATIVE_AI_API_KEY` | Google 生成式 AI API 密钥 | - | 是(如果使用 Google) |
+| `LLM_PROVIDER` | Google 提供商名称 | Google | 是 |
+| `PROVIDER_API_KEY` | Google 生成式 AI API 密钥 | - | 是(如果使用 Google) |
:::info
前往 [Google](https://console.cloud.google.com/apis/credentials) 获取 API 密钥。
@@ -121,8 +128,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Groq 提供商名称 | Groq | 是 |
-| `GROQ_API_KEY` | Groq API 密钥 | - | 是(如果使用 Groq) |
+| `LLM_PROVIDER` | Groq 提供商名称 | Groq | 是 |
+| `PROVIDER_API_KEY` | Groq API 密钥 | - | 是(如果使用 Groq) |
:::info
前往 [Groq](https://console.groq.com/keys) 获取 API 密钥。
@@ -132,8 +139,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | HuggingFace 提供商名称 | HuggingFace | 是 |
-| `HuggingFace_API_KEY` | HuggingFace API 密钥 | - | 是(如果使用 HuggingFace) |
+| `LLM_PROVIDER` | HuggingFace 提供商名称 | HuggingFace | 是 |
+| `PROVIDER_API_KEY` | HuggingFace API 密钥 | - | 是(如果使用 HuggingFace) |
:::info
前往 [HuggingFace](https://huggingface.co/settings/tokens) 获取 API 密钥。
@@ -143,8 +150,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Hyperbolic 提供商名称 | Hyperbolic | 是 |
-| `HYPERBOLIC_API_KEY` | Hyperbolic API 密钥 | - | 是(如果使用 Hyperbolic) |
+| `LLM_PROVIDER` | Hyperbolic 提供商名称 | Hyperbolic | 是 |
+| `PROVIDER_API_KEY` | Hyperbolic API 密钥 | - | 是(如果使用 Hyperbolic) |
:::info
前往 [Hyperbolic](https://hyperbolic.ai/dashboard/api-keys) 获取 API 密钥。
@@ -154,8 +161,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | LMStudio 提供商名称 | LMStudio | 是 |
-| `LMSTUDIO_API_BASE_URL` | LMStudio API URL | `http://127.0.0.1:1234` | 是(如果使用 LMStudio) |
+| `LLM_PROVIDER` | LMStudio 提供商名称 | LMStudio | 是 |
+| `PROVIDER_BASE_URL` | LMStudio API URL | `http://127.0.0.1:1234` | 是(如果使用 LMStudio) |
:::warning
由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:1234 而应该使用类似于 http://127.0.0.1:1234 的地址
@@ -165,8 +172,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Mistral 提供商名称 | Mistral | 是 |
-| `MISTRAL_API_KEY` | Mistral API 密钥 | - | 是(如果使用 Mistral) |
+| `LLM_PROVIDER` | Mistral 提供商名称 | Mistral | 是 |
+| `PROVIDER_API_KEY` | Mistral API 密钥 | - | 是(如果使用 Mistral) |
:::info
前往 [Mistral](https://console.mistral.ai/api-keys/) 获取 API 密钥。
@@ -176,8 +183,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Ollama 提供商名称 | Ollama | 是 |
-| `OLLAMA_API_BASE_URL` | Ollama API URL | `http://127.0.0.1:11434` | 是(如果使用 Ollama) |
+| `LLM_PROVIDER` | Ollama 提供商名称 | Ollama | 是 |
+| `PROVIDER_BASE_URL` | Ollama API URL | `http://127.0.0.1:11434` | 是(如果使用 Ollama) |
:::warning
由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:11434 而应该使用类似于 http://127.0.0.1:11434 的地址
@@ -187,8 +194,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | OpenRouter 提供商名称 | OpenRouter | 是 |
-| `OPEN_ROUTER_API_KEY` | OpenRouter API 密钥 | - | 是(如果使用 OpenRouter) |
+| `LLM_PROVIDER` | OpenRouter 提供商名称 | OpenRouter | 是 |
+| `PROVIDER_API_KEY` | OpenRouter API 密钥 | - | 是(如果使用 OpenRouter) |
:::info
前往 [OpenRouter](https://openrouter.ai/settings/keys) 获取 API 密钥。
@@ -198,16 +205,16 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | OpenAILike 提供商名称 | OpenAILike | 是 |
-| `OPENAI_LIKE_API_BASE_URL` | API 基础 URL | - | 是(如果使用 OpenAILike) |
-| `OPENAI_LIKE_API_KEY` | API 密钥 | - | 是(如果使用 OpenAILike) |
+| `LLM_PROVIDER` | OpenAILike 提供商名称 | OpenAILike | 是 |
+| `PROVIDER_BASE_URL` | API 基础 URL | - | 是(如果使用 OpenAILike) |
+| `PROVIDER_API_KEY` | API 密钥 | - | 是(如果使用 OpenAILike) |
### OpenAI
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | OpenAI 提供商名称 | OpenAI | 是 |
-| `OPENAI_API_KEY` | OpenAI API 密钥 | - | 是(如果使用 OpenAI) |
+| `LLM_PROVIDER` | OpenAI 提供商名称 | OpenAI | 是 |
+| `PROVIDER_API_KEY` | OpenAI API 密钥 | - | 是(如果使用 OpenAI) |
:::info
前往 [OpenAI](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) 获取 API 密钥。
@@ -217,8 +224,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Perplexity 提供商名称 | Perplexity | 是 |
-| `PERPLEXITY_API_KEY` | Perplexity API 密钥 | - | 是(如果使用 Perplexity) |
+| `LLM_PROVIDER` | Perplexity 提供商名称 | Perplexity | 是 |
+| `PROVIDER_API_KEY` | Perplexity API 密钥 | - | 是(如果使用 Perplexity) |
:::info
前往 [Perplexity](https://www.perplexity.ai/settings/api) 获取 API 密钥。
@@ -228,9 +235,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | Together 提供商名称 | Together | 是 |
-| `TOGETHER_API_BASE_URL` | Together API 基础 URL | - | 是(如果使用 Together) |
-| `TOGETHER_API_KEY` | Together API 密钥 | - | 是(如果使用 Together) |
+| `LLM_PROVIDER` | Together 提供商名称 | Together | 是 |
+| `PROVIDER_API_KEY` | Together API 密钥 | - | 是(如果使用 Together) |
:::info
前往 [Together](https://api.together.xyz/settings/api-keys) 获取 API 密钥。
@@ -240,8 +246,8 @@ UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用
| 环境变量 | 描述 | 默认值 | 必填 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | xAI 提供商名称 | xAI | 是 |
-| `XAI_API_KEY` | xAI API 密钥 | - | 是(如果使用 xAI) |
+| `LLM_PROVIDER` | xAI 提供商名称 | xAI | 是 |
+| `PROVIDER_API_KEY` | xAI API 密钥 | - | 是(如果使用 xAI) |
:::info
前往 [xAI](https://x.ai/api) 获取 API 密钥。
@@ -318,9 +324,8 @@ services:
- STORAGE_DIR=/app/storage
# 使用 DeepSeek 提供商配置
- - LLM_DEFAULT_PROVIDER=DeepSeek
- # 这里使用 DEEPSEEK_API_KEY
- - DEEPSEEK_API_KEY=your-deepseek-api-key
+ - LLM_PROVIDER=DeepSeek
+ - PROVIDER_API_KEY=your-deepseek-api-key
- LLM_DEFAULT_MODEL=deepseek-chat
- LLM_MINOR_MODEL=deepseek-chat
@@ -341,7 +346,7 @@ services:
- ./storage:/app/storage
```
-如果你要切换使用其他 AI 提供商,则只需要修改 `LLM_DEFAULT_PROVIDER` 和相应的 API 密钥、Model 即可,例如:
+如果你要切换使用其他 AI 提供商,则只需要修改 `LLM_PROVIDER` 和相应的 API 密钥、Model 即可,例如:
```yaml
version: "3.9"
@@ -353,10 +358,10 @@ services:
ports:
- "3000:3000"
environment:
- # 使用 OpenAI 提供商配置
- - LLM_DEFAULT_PROVIDER=OpenAI
- # 这里注意需要改为 OPENAI_API_KEY
- - OPENAI_API_KEY=your-openai-api-key
+ # 使用 OpenAI 兼容接口的提供商配置
+ - LLM_PROVIDER=OpenAILike
+ - PROVIDER_BASE_URL=your-openai-api-base-url
+ - PROVIDER_API_KEY=your-openai-api-key
- LLM_DEFAULT_MODEL=gpt-4.1
- LLM_MINOR_MODEL=gpt-4.1-mini
diff --git a/docs/content/deployment/docker-compose.md b/docs/content/deployment/docker-compose.md
index 8893400..b367c4d 100644
--- a/docs/content/deployment/docker-compose.md
+++ b/docs/content/deployment/docker-compose.md
@@ -48,9 +48,9 @@ services:
ports:
- "${PORT:-3000}:3000"
environment:
- - OPENAI_LIKE_API_BASE_URL=${OPENAI_LIKE_API_BASE_URL}
- - OPENAI_LIKE_API_KEY=${OPENAI_LIKE_API_KEY}
- - LLM_DEFAULT_PROVIDER=${LLM_DEFAULT_PROVIDER}
+ - LLM_PROVIDER=${LLM_PROVIDER}
+ - PROVIDER_BASE_URL=${PROVIDER_BASE_URL}
+ - PROVIDER_API_KEY=${PROVIDER_API_KEY}
- LLM_DEFAULT_MODEL=${LLM_DEFAULT_MODEL}
- LLM_MINOR_MODEL=${LLM_MINOR_MODEL}
volumes:
@@ -116,9 +116,9 @@ UPage 支持通过环境变量进行配置。以下是一些比较重要的环
| 环境变量 | 描述 | 必填 | 示例 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | 默认 LLM 提供商 | 是 | `OpenAILike` |
-| `OPENAI_LIKE_API_BASE_URL` | OpenAI 兼容 API 基础 URL | 是 | `https://your-api-base-url` |
-| `OPENAI_LIKE_API_KEY` | OpenAI 兼容 API 密钥 | 是 | `your-openai-like-api-key` |
+| `LLM_PROVIDER` | 默认 LLM 提供商 | 是 | `OpenAILike` |
+| `PROVIDER_BASE_URL` | OpenAI 兼容 API 基础 URL | 是 | `https://your-api-base-url` |
+| `PROVIDER_API_KEY` | OpenAI 兼容 API 密钥 | 是 | `your-openai-like-api-key` |
### 大模型配置
diff --git a/docs/content/deployment/docker.md b/docs/content/deployment/docker.md
index 9f0c97e..e22e38c 100644
--- a/docs/content/deployment/docker.md
+++ b/docs/content/deployment/docker.md
@@ -56,9 +56,9 @@ docker run -d \
--name upage \
--restart unless-stopped \
-p 3000:3000 \
- -e LLM_DEFAULT_PROVIDER=OpenAILike \
- -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
- -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_PROVIDER=OpenAILike \
+ -e PROVIDER_BASE_URL=your-openai-like-api-base-url \
+ -e PROVIDER_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ~/upage/data:/app/data \
@@ -113,9 +113,9 @@ UPage 支持通过环境变量进行配置。以下是一些比较重要的环
| 环境变量 | 描述 | 必填 | 示例 |
| --- | --- | --- | --- |
-| `LLM_DEFAULT_PROVIDER` | 默认 LLM 提供商 | 是 | `OpenAILike` |
-| `OPENAI_LIKE_API_BASE_URL` | OpenAI 兼容 API 基础 URL | 是 | `https://your-api-base-url` |
-| `OPENAI_LIKE_API_KEY` | OpenAI 兼容 API 密钥 | 是 | `your-openai-like-api-key` |
+| `LLM_PROVIDER` | 默认 LLM 提供商 | 是 | `OpenAILike` |
+| `PROVIDER_BASE_URL` | OpenAI 兼容 API 基础 URL | 是 | `https://your-api-base-url` |
+| `PROVIDER_API_KEY` | OpenAI 兼容 API 密钥 | 是 | `your-openai-like-api-key` |
### 大模型配置
@@ -141,9 +141,9 @@ docker run -d \
--name upage \
--restart unless-stopped \
-p 3000:3000 \
- -e LLM_DEFAULT_PROVIDER=OpenAILike \
- -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
- -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_PROVIDER=OpenAILike \
+ -e PROVIDER_BASE_URL=your-openai-like-api-base-url \
+ -e PROVIDER_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ~/upage/data:/app/data \
diff --git a/docs/content/deployment/source.md b/docs/content/deployment/source.md
index ec49978..5dd277a 100644
--- a/docs/content/deployment/source.md
+++ b/docs/content/deployment/source.md
@@ -55,9 +55,9 @@ MAX_UPLOAD_SIZE_MB=5
STORAGE_DIR=./storage
# AI 提供商配置
-LLM_DEFAULT_PROVIDER=OpenAILike
-OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url
-OPENAI_LIKE_API_KEY=your-openai-like-api-key
+LLM_PROVIDER=OpenAILike
+PROVIDER_BASE_URL=your-openai-like-api-base-url
+PROVIDER_API_KEY=your-openai-like-api-key
LLM_DEFAULT_MODEL=your-default-model
LLM_MINOR_MODEL=your-minor-model
```
@@ -135,9 +135,9 @@ module.exports = {
NODE_ENV: 'production',
OPERATING_ENV: 'production',
PORT: 3000,
- LLM_DEFAULT_PROVIDER: 'OpenAILike',
- OPENAI_LIKE_API_BASE_URL: 'your-openai-like-api-base-url',
- OPENAI_LIKE_API_KEY: 'your-openai-like-api-key',
+ LLM_PROVIDER: 'OpenAILike',
+ PROVIDER_BASE_URL: 'your-openai-like-api-base-url',
+ PROVIDER_API_KEY: 'your-openai-like-api-key',
LLM_DEFAULT_MODEL: 'your-default-model',
LLM_MINOR_MODEL: 'your-minor-model',
}
diff --git a/docs/content/faq.md b/docs/content/faq.md
index 67b533e..3fe1d81 100644
--- a/docs/content/faq.md
+++ b/docs/content/faq.md
@@ -39,9 +39,9 @@ docker run -d \
--name upage \
--restart unless-stopped \
-p 3000:3000 \
- -e LLM_DEFAULT_PROVIDER=OpenAILike \
- -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
- -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_PROVIDER=OpenAILike \
+ -e PROVIDER_BASE_URL=your-openai-like-api-base-url \
+ -e PROVIDER_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ./data:/app/data \
@@ -112,14 +112,14 @@ UPage 支持多种 AI 提供商,包括:
```bash
# OpenAI
--e LLM_DEFAULT_PROVIDER=OpenAI \
--e OPENAI_API_KEY=your-openai-api-key \
+-e LLM_PROVIDER=OpenAI \
+-e PROVIDER_API_KEY=your-openai-api-key \
-e LLM_DEFAULT_MODEL=gpt-4-turbo \
-e LLM_MINOR_MODEL=gpt-3.5-turbo
# Anthropic Claude
--e LLM_DEFAULT_PROVIDER=Anthropic \
--e ANTHROPIC_API_KEY=your-anthropic-api-key \
+-e LLM_PROVIDER=Anthropic \
+-e PROVIDER_API_KEY=your-anthropic-api-key \
-e LLM_DEFAULT_MODEL=claude-3-opus-20240229 \
-e LLM_MINOR_MODEL=claude-3-haiku-20240307
```
diff --git a/docs/content/quick-start.md b/docs/content/quick-start.md
index c9b2d56..1b8ebd3 100644
--- a/docs/content/quick-start.md
+++ b/docs/content/quick-start.md
@@ -29,9 +29,9 @@ docker run -d \
--name upage \
--restart unless-stopped \
-p 3000:3000 \
- -e LLM_DEFAULT_PROVIDER=OpenAILike \
- -e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
- -e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
+ -e LLM_PROVIDER=OpenAILike \
+ -e PROVIDER_BASE_URL=your-openai-like-api-base-url \
+ -e PROVIDER_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ./data:/app/data \
@@ -42,9 +42,9 @@ docker run -d \
### 参数说明
-- `-e LLM_DEFAULT_PROVIDER=OpenAILike`:设置默认的 LLM 提供商
-- `-e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url`:设置 API 基础 URL
-- `-e OPENAI_LIKE_API_KEY=your-openai-like-api-key`:设置 API 密钥
+- `-e LLM_PROVIDER=OpenAILike`:设置默认的 LLM 提供商
+- `-e PROVIDER_BASE_URL=your-openai-like-api-base-url`:设置 API 基础 URL
+- `-e PROVIDER_API_KEY=your-openai-like-api-key`:设置 API 密钥
- `-e LLM_DEFAULT_MODEL=your-default-model`:设置用于页面生成的默认 AI 模型
- `-e LLM_MINOR_MODEL=your-minor-model`:设置用于辅助任务的 AI 模型
- `-v ./data:/app/data`:挂载数据目录,用于存储数据库文件
@@ -67,8 +67,8 @@ UPage 支持多种 AI 提供商,您需要至少配置一个 AI 提供商才能
### DeepSeek
```bash
--e LLM_DEFAULT_PROVIDER=Deepseek \
--e DEEPSEEK_API_KEY=your-deepseek-api-key \
+-e LLM_PROVIDER=Deepseek \
+-e PROVIDER_API_KEY=your-deepseek-api-key \
-e LLM_DEFAULT_MODEL=deepseek-chat \
-e LLM_MINOR_MODEL=deepseek-reasoner
```
@@ -76,9 +76,9 @@ UPage 支持多种 AI 提供商,您需要至少配置一个 AI 提供商才能
### 兼容 OpenAI 接口的服务
```bash
--e LLM_DEFAULT_PROVIDER=OpenAILike \
--e OPENAI_LIKE_API_BASE_URL=https://your-api-base-url \
--e OPENAI_LIKE_API_KEY=your-api-key \
+-e LLM_PROVIDER=OpenAILike \
+-e PROVIDER_BASE_URL=https://your-api-base-url \
+-e PROVIDER_API_KEY=your-api-key \
-e LLM_DEFAULT_MODEL=your-model-name \
-e LLM_MINOR_MODEL=your-minor-model-name
```
@@ -86,8 +86,8 @@ UPage 支持多种 AI 提供商,您需要至少配置一个 AI 提供商才能
### OpenAI
```bash
--e LLM_DEFAULT_PROVIDER=OpenAI \
--e OPENAI_API_KEY=your-openai-api-key \
+-e LLM_PROVIDER=OpenAI \
+-e PROVIDER_API_KEY=your-openai-api-key \
-e LLM_DEFAULT_MODEL=gpt-4-turbo \
-e LLM_MINOR_MODEL=gpt-3.5-turbo
```
@@ -95,8 +95,8 @@ UPage 支持多种 AI 提供商,您需要至少配置一个 AI 提供商才能
### Anthropic Claude
```bash
--e LLM_DEFAULT_PROVIDER=Anthropic \
--e ANTHROPIC_API_KEY=your-anthropic-api-key \
+-e LLM_PROVIDER=Anthropic \
+-e PROVIDER_API_KEY=your-anthropic-api-key \
-e LLM_DEFAULT_MODEL=claude-3-opus-20240229 \
-e LLM_MINOR_MODEL=claude-3-haiku-20240307
```
@@ -104,8 +104,8 @@ UPage 支持多种 AI 提供商,您需要至少配置一个 AI 提供商才能
### Ollama
```bash
--e LLM_DEFAULT_PROVIDER=Ollama \
--e OLLAMA_API_BASE_URL=http://127.0.0.1:11434 \
+-e LLM_PROVIDER=Ollama \
+-e PROVIDER_BASE_URL=http://127.0.0.1:11434 \
-e LLM_DEFAULT_MODEL=llama3 \
-e LLM_MINOR_MODEL=llama3
```
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index e884f5c..ac25312 100644
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -28,3 +28,25 @@
--ifm-color-primary-lightest: #bcc2e5;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}
+
+/* 为 API KEY 和 BASE URL 添加不同的颜色样式 */
+/* 红色,表示 API KEY */
+.api-key-highlight {
+ color: #e53935;
+ font-weight: bold;
+}
+
+/* 蓝色,表示 BASE URL */
+.base-url-highlight {
+ color: #2196f3;
+ font-weight: bold;
+}
+
+/* 暗色模式下的颜色调整 */
+[data-theme="dark"] .api-key-highlight {
+ color: #ff7961;
+}
+
+[data-theme="dark"] .base-url-highlight {
+ color: #64b5f6;
+}
From c1ca87462c35bb6c60b59695801d8984589a80a7 Mon Sep 17 00:00:00 2001
From: LIlGG <1103069291@qq.com>
Date: Mon, 29 Sep 2025 10:44:44 +0800
Subject: [PATCH 8/9] docs: add upage usage instructions document
---
docs/content/index.md | 22 +-
docs/content/user-guide/ai-page-generation.md | 159 ---------------
docs/content/user-guide/basics.md | 136 +------------
docs/content/user-guide/page-management.md | 192 ------------------
docs/sidebars.js | 2 -
docs/src/css/custom.css | 14 ++
docs/static/img/logo1.png | Bin 0 -> 25592 bytes
docs/static/img/logo2.png | Bin 0 -> 26507 bytes
docs/static/img/logo3.png | Bin 0 -> 26274 bytes
9 files changed, 34 insertions(+), 491 deletions(-)
delete mode 100644 docs/content/user-guide/ai-page-generation.md
delete mode 100644 docs/content/user-guide/page-management.md
create mode 100644 docs/static/img/logo1.png
create mode 100644 docs/static/img/logo2.png
create mode 100644 docs/static/img/logo3.png
diff --git a/docs/content/index.md b/docs/content/index.md
index 908bd2b..9d0d676 100644
--- a/docs/content/index.md
+++ b/docs/content/index.md
@@ -2,21 +2,33 @@
id: index
title: UPage 文档
slug: /
+hide_title: true
---
-# UPage
+
+
+
+
+
+
+
+
+
+
+
+
-UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。
## 什么是 UPage?
-UPage 是一个开源的网页构建工具,它利用大语言模型,让用户能够通过自然语言描述来创建和定制网页。无论您是开发者、设计师还是内容创作者,UPage 都能帮助您快速将想法转化为可视化的网页。
+UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。它利用大语言模型,让用户能够通过自然语言描述来创建和定制网页。无论您是开发者、设计师还是内容创作者,UPage 都能帮助您快速将想法转化为可视化的网页。
## 核心特性
-- **基于 AI 的页面生成**:通过自然语言描述生成完整的网页
-- **多种 AI 提供商支持**:兼容 OpenAI、Anthropic Claude、Google Gemini 等多种 AI 模型
+- **基于 LLM 的页面生成**:通过自然语言描述生成完整的网页
+- **多种 LLM 提供商支持**:兼容 OpenAI、Anthropic Claude、Google Gemini 等多种 LLM 模型
- **可视化编辑器**:简洁直观的可视化编辑器界面,实时预览
+- **多页面生成**:支持同时生成多个页面
- **代码导出**:生成标准的 HTML/CSS/JS 代码,方便集成到现有项目
- **响应式设计**:自动适应不同屏幕尺寸
- **部署集成**:支持一键部署到常见托管平台
diff --git a/docs/content/user-guide/ai-page-generation.md b/docs/content/user-guide/ai-page-generation.md
deleted file mode 100644
index a2cb64e..0000000
--- a/docs/content/user-guide/ai-page-generation.md
+++ /dev/null
@@ -1,159 +0,0 @@
----
-id: ai-page-generation
-title: AI 页面生成
----
-
-# AI 页面生成
-
-UPage 的核心功能是通过人工智能生成网页。本文档将指导您如何使用 AI 功能快速创建和定制网页。
-
-## 基于自然语言创建页面
-
-### 创建新页面
-
-1. 在 UPage 主界面,点击侧边栏中的"新建页面"按钮
-2. 选择"AI 创建"选项
-3. 在对话框中输入您的页面需求描述
-4. 点击"生成"按钮
-
-### 编写有效的页面描述
-
-为了获得最佳结果,建议按照以下方式编写页面描述:
-
-- **明确页面类型**:例如"产品展示页面"、"博客文章"、"联系表单"等
-- **指定关键元素**:列出页面应包含的主要组件和内容
-- **描述风格和布局**:说明您期望的设计风格和布局结构
-- **提供具体内容**:如果有特定文本或图片要求,请明确说明
-
-示例描述:
-
-```
-创建一个现代风格的产品登录页面,用于展示我们的智能手表产品。页面应包含:
-1. 顶部导航栏,带有品牌标志和菜单
-2. 醒目的标题和副标题,强调产品的主要卖点
-3. 产品图片展示区,包含至少3张不同角度的产品图
-4. 产品特点列表,使用图标和简短描述
-5. 价格信息和"立即购买"按钮
-6. 客户评价部分
-7. 常见问题解答
-8. 页脚,包含联系信息和社交媒体链接
-整体配色应使用深蓝色和白色为主,符合科技产品的定位
-```
-
-## 迭代优化页面
-
-### 修改现有页面
-
-1. 选择要修改的页面
-2. 点击工具栏中的"AI 辅助"按钮
-3. 描述您想要进行的修改
-4. AI 将生成修改建议并应用到页面
-
-### 局部调整
-
-您也可以针对页面的特定部分进行 AI 辅助调整:
-
-1. 选择页面中的特定组件或区域
-2. 点击右键菜单中的"AI 辅助"选项
-3. 描述您希望对该部分进行的修改
-4. 确认 AI 生成的调整
-
-## AI 提示技巧
-
-### 有效的提示模式
-
-以下是一些有效的 AI 提示模式:
-
-- **添加内容**:"在页面顶部添加一个公告栏,显示最新促销信息"
-- **修改样式**:"将按钮颜色改为蓝色,并增加圆角效果"
-- **调整布局**:"将产品展示区改为两列网格布局,每个产品卡片包含图片、标题和价格"
-- **优化文案**:"将页面标题改为更吸引人的营销语言,强调产品的独特卖点"
-- **增强功能**:"在产品图片区添加轮播效果,允许用户浏览多张产品图片"
-
-### 提示示例
-
-以下是一些实际的提示示例:
-
-```
-将页面背景改为浅灰色,增加视觉层次感
-```
-
-```
-优化页面的移动端显示效果,确保在小屏幕上也能良好展示
-```
-
-```
-添加一个简单的联系表单,包含姓名、邮箱和留言字段
-```
-
-```
-将产品描述文本改为更简洁有力的表达,突出产品解决的问题
-```
-
-## 高级 AI 功能
-
-### 风格迁移
-
-您可以使用 AI 将一个页面的设计风格应用到另一个页面:
-
-1. 在 AI 提示中引用现有页面
-2. 描述您希望迁移的风格元素
-3. AI 将分析并应用相似的设计风格
-
-示例:
-```
-将我的"关于我们"页面的设计风格应用到这个"联系我们"页面,保持一致的视觉语言
-```
-
-### 多语言支持
-
-UPage 支持使用 AI 生成多语言内容:
-
-1. 创建基础页面
-2. 使用 AI 辅助功能,指定目标语言
-3. AI 将翻译页面内容并保持布局结构
-
-示例:
-```
-将此页面内容翻译成英文,保持相同的布局和设计
-```
-
-## 最佳实践
-
-### 审查和编辑
-
-AI 生成的内容通常需要人工审查和编辑:
-
-1. 检查生成的文本是否准确、相关
-2. 调整布局和样式以符合品牌要求
-3. 确保所有链接和功能正常工作
-4. 优化图片和媒体内容
-
-### 渐进式生成
-
-对于复杂页面,采用渐进式生成方法:
-
-1. 首先生成基本页面结构
-2. 逐步添加和完善各个部分
-3. 使用 AI 辅助进行细节优化
-4. 最后进行整体协调和统一
-
-## 故障排除
-
-### 生成结果不理想
-
-如果 AI 生成的页面不符合预期:
-
-1. 尝试提供更具体、更详细的描述
-2. 分解复杂需求为多个简单步骤
-3. 提供参考示例或链接
-4. 调整使用的 AI 模型(如果可用)
-
-### 性能问题
-
-如果遇到性能问题:
-
-1. 减少单次生成的页面复杂度
-2. 分步骤生成复杂页面
-3. 检查网络连接和 API 状态
-4. 确认 AI 提供商配置正确
diff --git a/docs/content/user-guide/basics.md b/docs/content/user-guide/basics.md
index 6e35da2..1327adb 100644
--- a/docs/content/user-guide/basics.md
+++ b/docs/content/user-guide/basics.md
@@ -5,138 +5,8 @@ title: 基础使用
# 基础使用
-本文档介绍 UPage 的基本使用方法,帮助您快速上手这款基于 AI 的网页构建平台。
+本文档介绍 UPage 的基本使用方法,帮助您快速上手这款基于大模型的可视化网页构建平台。
-## 登录系统
+## 主界面概览
-1. 打开浏览器,访问 UPage 的地址(例如 `http://localhost:3000`)
-2. 如果已配置 Logto 认证,您将被重定向到登录页面
-3. 输入用户名和密码登录系统
-4. 如果未配置认证系统,您将直接进入 UPage 主界面
-
-## 界面概览
-
-UPage 的界面主要分为以下几个部分:
-
-- **顶部导航栏**:包含项目切换、用户信息和全局设置
-- **侧边栏**:包含页面列表和创建新页面的入口
-- **主内容区**:显示当前编辑的页面或预览
-- **工具栏**:提供各种编辑工具和操作按钮
-
-## 创建新页面
-
-### 使用 AI 创建页面
-
-1. 点击侧边栏中的"新建页面"按钮
-2. 选择"AI 创建"选项
-3. 在对话框中描述您想要创建的页面,例如:
- ```
- 创建一个产品展示页面,包含标题、产品图片、详细描述和购买按钮
- ```
-4. 点击"生成"按钮,系统将基于您的描述生成页面
-5. 生成完成后,您可以进一步编辑和调整页面内容
-
-### 从模板创建页面
-
-1. 点击侧边栏中的"新建页面"按钮
-2. 选择"从模板创建"选项
-3. 浏览可用的模板并选择一个适合您需求的模板
-4. 点击"使用此模板"按钮
-5. 根据需要编辑和自定义模板内容
-
-### 从空白页面开始
-
-1. 点击侧边栏中的"新建页面"按钮
-2. 选择"空白页面"选项
-3. 使用拖拽方式添加组件到页面
-4. 配置组件属性和样式
-
-## 编辑页面
-
-### 添加组件
-
-1. 在编辑模式下,点击工具栏中的"组件"按钮
-2. 从组件库中选择所需组件
-3. 将组件拖拽到页面中的目标位置
-4. 调整组件大小和位置
-
-### 编辑组件属性
-
-1. 在页面中点击选择要编辑的组件
-2. 在右侧属性面板中编辑组件的属性
-3. 修改文本内容、图片、链接等
-4. 调整组件的样式、颜色、字体等
-
-### 使用 AI 辅助编辑
-
-1. 选择要编辑的组件或页面区域
-2. 点击工具栏中的"AI 辅助"按钮
-3. 描述您想要进行的修改,例如:
- ```
- 将这段文本改为更吸引人的营销语言,强调产品的优势
- ```
-4. AI 将根据您的描述生成修改建议
-5. 确认修改或进行进一步调整
-
-## 预览和发布
-
-### 预览页面
-
-1. 点击工具栏中的"预览"按钮
-2. 在预览模式下查看页面在不同设备上的显示效果
-3. 使用设备切换按钮查看响应式效果
-
-### 发布页面
-
-1. 完成页面编辑后,点击工具栏中的"发布"按钮
-2. 选择发布选项(如发布到网站、导出代码等)
-3. 根据提示完成发布流程
-
-## 管理页面
-
-### 页面列表
-
-1. 在侧边栏中查看所有已创建的页面
-2. 点击页面名称打开并编辑页面
-3. 使用搜索框查找特定页面
-
-### 页面操作
-
-1. 在页面列表中,每个页面右侧有操作菜单
-2. 点击操作菜单可以进行复制、重命名、删除等操作
-3. 使用拖拽调整页面顺序
-
-## 系统设置
-
-### 用户设置
-
-1. 点击顶部导航栏中的用户头像
-2. 选择"个人设置"
-3. 修改个人信息、密码等
-
-### 系统配置
-
-1. 点击顶部导航栏中的设置图标
-2. 配置系统参数、AI 提供商等
-3. 管理用户权限和角色(需要管理员权限)
-
-## 键盘快捷键
-
-UPage 提供了一系列键盘快捷键,帮助您提高工作效率:
-
-| 快捷键 | 功能 |
-| --- | --- |
-| Ctrl+S | 保存当前页面 |
-| Ctrl+Z | 撤销操作 |
-| Ctrl+Y | 重做操作 |
-| Ctrl+C | 复制选中的组件 |
-| Ctrl+V | 粘贴组件 |
-| Delete | 删除选中的组件 |
-| Ctrl+P | 预览页面 |
-| Esc | 退出当前模式或取消选择 |
-
-## 下一步
-
-- 了解如何[使用 AI 生成页面](ai-page-generation)
-- 学习[页面管理](page-management)的高级技巧
-- 探索更多[配置选项](../configuration)
+建设中...
diff --git a/docs/content/user-guide/page-management.md b/docs/content/user-guide/page-management.md
deleted file mode 100644
index 70d0af6..0000000
--- a/docs/content/user-guide/page-management.md
+++ /dev/null
@@ -1,192 +0,0 @@
----
-id: page-management
-title: 页面管理
----
-
-# 页面管理
-
-本文档介绍如何在 UPage 中管理、组织和维护您的页面,帮助您有效地管理网站内容。
-
-## 页面列表
-
-### 查看页面列表
-
-1. 在 UPage 主界面,侧边栏显示了所有已创建的页面
-2. 页面按创建时间或自定义顺序排列
-3. 每个页面条目显示页面名称和最后修改时间
-
-### 搜索和筛选
-
-1. 使用侧边栏顶部的搜索框搜索特定页面
-2. 可以按页面名称、标签或内容进行搜索
-3. 使用筛选选项按页面类型、创建日期或状态筛选
-
-## 页面操作
-
-### 基本操作
-
-在页面列表中,每个页面右侧有操作菜单,提供以下功能:
-
-- **编辑**:打开页面编辑器
-- **预览**:在新标签页中预览页面
-- **复制**:创建页面的副本
-- **重命名**:修改页面名称
-- **删除**:删除页面(可恢复)
-- **导出**:导出页面代码或资源
-
-### 批量操作
-
-选择多个页面可以执行批量操作:
-
-1. 使用复选框选择多个页面
-2. 点击批量操作按钮
-3. 选择要执行的操作(如删除、导出、应用标签等)
-
-## 页面组织
-
-### 使用标签
-
-标签是组织页面的有效方式:
-
-1. 在页面设置中添加标签
-2. 使用侧边栏中的标签筛选器查看特定标签的页面
-3. 标签可以用于分类页面(如"产品"、"博客"、"着陆页"等)
-
-### 创建文件夹
-
-对于大型项目,可以使用文件夹组织页面:
-
-1. 点击侧边栏中的"新建文件夹"按钮
-2. 输入文件夹名称
-3. 将页面拖放到文件夹中
-4. 点击文件夹可以展开或折叠其内容
-
-## 页面版本控制
-
-### 版本历史
-
-UPage 自动保存页面的版本历史:
-
-1. 在页面编辑器中,点击"版本历史"按钮
-2. 查看页面的所有历史版本
-3. 点击任何版本可以预览该版本的页面状态
-
-### 恢复版本
-
-如果需要恢复到之前的版本:
-
-1. 在版本历史中找到要恢复的版本
-2. 点击"恢复此版本"按钮
-3. 确认恢复操作
-4. 系统将创建一个新版本,内容与选定的历史版本相同
-
-### 比较版本
-
-比较不同版本之间的差异:
-
-1. 在版本历史中选择两个版本
-2. 点击"比较"按钮
-3. 系统将显示两个版本之间的差异,包括添加、删除和修改的内容
-
-## 页面设置
-
-### 基本设置
-
-每个页面都有以下基本设置:
-
-1. **页面名称**:显示在侧边栏和浏览器标签中
-2. **页面描述**:用于 SEO 和社交媒体分享
-3. **URL 路径**:页面的访问路径
-4. **标签**:用于组织和分类页面
-5. **状态**:草稿、已发布或已归档
-
-### SEO 设置
-
-优化页面的搜索引擎表现:
-
-1. **Meta 标题**:搜索结果中显示的标题
-2. **Meta 描述**:搜索结果中显示的描述
-3. **关键词**:与页面内容相关的关键词
-4. **规范 URL**:指定页面的规范 URL
-5. **索引设置**:控制搜索引擎是否索引页面
-
-### 社交媒体设置
-
-自定义页面在社交媒体上的显示方式:
-
-1. **社交图片**:在社交媒体分享时显示的图片
-2. **社交标题**:在社交媒体分享时显示的标题
-3. **社交描述**:在社交媒体分享时显示的描述
-
-## 页面导出和导入
-
-### 导出页面
-
-UPage 支持多种导出格式:
-
-1. **HTML/CSS/JS**:导出标准 Web 文件
-2. **ZIP 归档**:包含所有页面资源的压缩包
-3. **JSON**:页面数据的 JSON 表示
-4. **PDF**:页面的 PDF 版本(适用于文档)
-
-导出步骤:
-
-1. 在页面列表中选择要导出的页面
-2. 点击"导出"按钮
-3. 选择导出格式
-4. 配置导出选项
-5. 点击"导出"开始下载
-
-### 导入页面
-
-导入现有页面:
-
-1. 点击"导入"按钮
-2. 选择导入源(文件、URL 或代码)
-3. 上传文件或输入 URL/代码
-4. 配置导入选项
-5. 点击"导入"开始处理
-
-## 页面备份
-
-### 创建备份
-
-定期备份您的页面:
-
-1. 在设置中找到"备份"选项
-2. 点击"创建备份"按钮
-3. 输入备份描述(可选)
-4. 选择要包含的页面
-5. 点击"开始备份"
-
-### 恢复备份
-
-从备份中恢复页面:
-
-1. 在设置中找到"备份"选项
-2. 找到要恢复的备份
-3. 点击"恢复"按钮
-4. 选择要恢复的页面
-5. 选择恢复模式(覆盖或创建新页面)
-6. 点击"开始恢复"
-
-## 协作功能
-
-### 共享页面
-
-与团队成员共享页面:
-
-1. 在页面操作菜单中选择"共享"
-2. 输入团队成员的电子邮件地址
-3. 选择权限级别(查看、编辑或管理)
-4. 点击"发送邀请"
-
-### 评论和反馈
-
-在页面上添加评论和反馈:
-
-1. 在预览模式下,点击"评论"按钮
-2. 点击页面任何位置添加评论
-3. 输入评论内容
-4. 可以@提及团队成员
-5. 评论可以标记为已解决
diff --git a/docs/sidebars.js b/docs/sidebars.js
index badec8c..cf62cb4 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -53,8 +53,6 @@ const sidebars = {
},
items: [
'user-guide/basics',
- 'user-guide/ai-page-generation',
- 'user-guide/page-management',
],
},
{
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index ac25312..349b681 100644
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -50,3 +50,17 @@
[data-theme="dark"] .base-url-highlight {
color: #64b5f6;
}
+
+/* 亮暗模式下的 logo 切换 */
+.theme-logo {
+ position: relative;
+ display: inline-block;
+}
+
+.theme-logo img {
+ content: url('/img/logo1.png');
+}
+
+[data-theme="dark"] .theme-logo img {
+ content: url('/img/logo2.png');
+}
diff --git a/docs/static/img/logo1.png b/docs/static/img/logo1.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae107db82401883e23c1e7a217d4bfe676ea0e9b
GIT binary patch
literal 25592
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
literal 0
HcmV?d00001
diff --git a/docs/static/img/logo2.png b/docs/static/img/logo2.png
new file mode 100644
index 0000000000000000000000000000000000000000..665811da998fad0a4853f7ee81745c4b43755507
GIT binary patch
literal 26507
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