diff --git a/.github/workflows/build-docker-image.yaml b/.github/workflows/build-docker-image.yaml
deleted file mode 100644
index 9ccb4a96f..000000000
--- a/.github/workflows/build-docker-image.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-name: 构建文档Docker镜像
-
-on:
- # push:
- # branches:
- # - main
- workflow_dispatch:
-
-permissions:
- contents: write
-
-jobs:
- build-docker-image:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: 设置 Node.js
- uses: actions/setup-node@v3
- with:
- node-version: 18
-
- - name: 安装 pnpm
- run: |
- npm install -g pnpm
-
- - name: 安装依赖
- run:
- pnpm install
-
- - name: 构建文档
- env:
- NODE_OPTIONS: --max_old_space_size=8192
- run: |
- pnpm run docs:build
- ls -R
-
- - name: Build image
- run: |
- docker build -t ${{ secrets.DOCKER_ACCOUNT }}/qchatgpt-wiki:latest .
- - name: Publish image
- run: |
- docker login -u ${{ secrets.DOCKER_ACCOUNT }} -p ${{ secrets.DOCKER_PWD}}
- docker push ${{ secrets.DOCKER_ACCOUNT }}/qchatgpt-wiki:latest
diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml
deleted file mode 100644
index 63ebec95c..000000000
--- a/.github/workflows/deploy-docs.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-name: 部署文档
-
-on:
- workflow_dispatch:
-
-permissions:
- contents: write
-
-jobs:
- deploy-docs:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: 设置 Node.js
- uses: actions/setup-node@v3
- with:
- node-version: 18
-
- - name: 安装 pnpm
- run: |
- npm install -g pnpm
-
- - name: 安装依赖
- run:
- pnpm install
-
- - name: 构建文档
- env:
- NODE_OPTIONS: --max_old_space_size=8192
- run: |-
- pnpm run docs:build
-
- - name: 部署文档
- uses: cross-the-world/scp-pipeline@master
- env:
- WELCOME: "ssh scp ssh pipelines"
- LASTSSH: "Doing something after copying"
- with:
- host: ${{ secrets.ALI_SERVER_HOST }}
- user: ${{ secrets.ALI_SERVER_NAME }}
- pass: ${{ secrets.ALI_SERVER_PASSWD }}
- connect_timeout: 100s
- local: './src/.vuepress/dist/*'
- remote: ${{ secrets.ALI_TARGET_v3 }}
diff --git a/.gitignore b/.gitignore
index 411fb0d34..10deb8bdc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,2 @@
-
-node_modules/
-src/.vuepress/.cache/
-src/.vuepress/.temp/
-src/.vuepress/dist/
+node_modules/
+docs/.vitepress/cache/
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index c22a37ee4..000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,7 +0,0 @@
-FROM nginx:alpine
-
-COPY ./src/.vuepress/dist/ /usr/share/nginx/html/
-COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
-COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
-
-EXPOSE 80
\ No newline at end of file
diff --git a/README.md b/README.md
index 87da977d6..f094199cf 100644
--- a/README.md
+++ b/README.md
@@ -1,53 +1,53 @@
-# [QChatGPT](https://github.com/RockChinQ/QChatGPT) 官方文档
-
-> 此分支是 QChatGPT 3.x 的文档
-> [QChatGPT 代码仓库](https://github.com/RockChinQ/QChatGPT)
-
-## 参与编写
-
-文档基于 VuePress 生成,本地编写需要安装 Node 和 VuePress
-
-### NodeJS
-
-自行安装
-
-### VuePress
-
-Clone 本仓库,在目录下执行以下命令安装依赖:
-
-```bash
-pnpm install
-```
-
-完成后即可修改文档,修改完后使用以下命令本地启动:
-
-```bash
-pnpm docs:dev
-```
-
-### 使用图片
-
-把图片放到 `src/.vuepress/public/assets/image` 目录下,然后在文档中使用Web访问时的绝对路径引用,如:
-
-```markdown
-
-```
-
-### 部署细节
-
-现在使用 Cloudflare Pages 托管,提交后自动部署。
-
-### 推荐环境
-
-推荐使用 GitHub Codespaces 编写,仓库页面点击 "Code" -> "Codespaces" -> 直接创建一个 Codespace
-在其中按照上述方式安装依赖并运行调试。
-
-> 若出现`Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29`的报错,请按照如下文章内容解决:
-> https://zhuanlan.zhihu.com/p/615111375
-
-### 一些规范化标准
-
-- 文件夹和文件的命名:**一律使用全小写,单词直接`-`隔开,如**`config-intro.md`
-- 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`plugin`文件夹下的,插件列表(文件)称之为`list.md`,文件夹`some-plugin-deploy`
-- 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`plugin`是有关插件的教程
-
+# [QChatGPT](https://github.com/RockChinQ/QChatGPT) 官方文档
+
+> 此分支是 QChatGPT 3.x 的文档
+> [QChatGPT 代码仓库](https://github.com/RockChinQ/QChatGPT)
+
+## 参与编写
+
+文档基于 VitePress 生成,本地编写需要安装 Node 和 VitePress
+
+### NodeJS
+
+自行安装
+
+### VitePress
+
+Clone 本仓库,在目录下执行以下命令安装依赖:
+
+```bash
+npm install
+```
+
+完成后即可修改文档,修改完后使用以下命令本地启动:
+
+```bash
+npm docs:dev
+```
+
+### 使用图片
+
+把图片放到 `docs/assets/image` 目录下,然后在文档中使用Web访问时的绝对路径引用,如:
+
+```markdown
+
+```
+
+### 部署细节
+
+现在使用 Cloudflare Pages 托管,提交后自动部署。
+
+### 推荐环境
+
+推荐使用 GitHub Codespaces 编写,仓库页面点击 "Code" -> "Codespaces" -> 直接创建一个 Codespace
+在其中按照上述方式安装依赖并运行调试。
+
+> 若出现`Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29`的报错,请按照如下文章内容解决:
+> https://zhuanlan.zhihu.com/p/615111375
+
+### 一些规范化标准
+
+- 文件夹和文件的命名:**一律使用全小写,单词直接`-`隔开,如**`plugin-intro.md`
+- 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`deploy`文件夹下的,文件夹`qchatgpt`,`qchatgpt`文件夹下的`manual`文件称之为`manual.md`
+- 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`deploy`是有关部署的教程
+
diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
new file mode 100644
index 000000000..8d1c50714
--- /dev/null
+++ b/docs/.vitepress/config.mts
@@ -0,0 +1,165 @@
+import { defineConfig } from "vitepress";
+
+// https://vitepress.dev/reference/site-config
+export default defineConfig({
+ title: "QChatGPT 文档",
+ description:
+ "😎高稳定性、🧩支持扩展、🦄多模态的 ChatGPT QQ / QQ频道 / One Bot 机器人🤖 | 支持 OpenAI GPT、GPT 4o、Claude、Gemini Pro、DeepSeek、Moonshot(Kimi)、gpt4free、One API、Ollama 的 QQ / QQ频道 / OneBot 机器人 / Agent 平台",
+ themeConfig: {
+ // https://vitepress.dev/reference/default-theme-config
+ logo: "/assets/icon/chrome-192.png",
+
+ nav: [
+ { text: "首页", link: "/" },
+ { text: "概述", link: "/insight/intro" },
+ { text: "部署", link: "/deploy/" },
+ ],
+
+ sidebar: [
+ {
+ text: "概述",
+ items: [
+ { text: "项目介绍", link: "/insight/intro" },
+ { text: "新手指引", link: "/insight/guide" },
+ ],
+ },
+ {
+ text: "部署",
+ link: "/deploy/",
+ items: [
+ {
+ text: "部署 QChatGPT",
+ collapsed: true,
+ items: [
+ { text: "手动部署", link: "/deploy/qchatgpt/manual" },
+ { text: "Dokcer部署", link: "/deploy/qchatgpt/docker" },
+ ],
+ },
+ {
+ text: "部署消息平台",
+ collapsed: true,
+ link: "/deploy/platforms/",
+ items: [
+ {
+ text: "aiocqhttp(推荐)",
+ collapsed: true,
+ link: "/deploy/platforms/aiocqhttp/",
+ items: [
+ {
+ text: "Lagrange",
+ link: "/deploy/platforms/aiocqhttp/lagrange",
+ },
+ {
+ text: "NapCat",
+ link: "/deploy/platforms/aiocqhttp/napcat",
+ },
+ {
+ text: "llonebot",
+ link: "/deploy/platforms/aiocqhttp/llonebot",
+ },
+ {
+ text: "shamrock",
+ link: "/deploy/platforms/aiocqhttp/shamrock",
+ },
+ ],
+ },
+ {
+ text: "mirai",
+ link: "/deploy/platforms/mirai",
+ },
+ {
+ text: "go-cqhttp",
+ link: "/deploy/platforms/gocq",
+ },
+ {
+ text: "QQ官方",
+ link: "/deploy/platforms/official",
+ },
+ ],
+ },
+ { text: "填写配置信息", link: "/deploy/quick-config/config" },
+ ],
+ },
+ {
+ text: "使用",
+ items: [
+ { text: "命令用法", link: "/usage/command" },
+ { text: "插件列表", link: "/usage/plugin-list" },
+ { text: "常见问题", link: "/usage/faq" },
+ ],
+ },
+ {
+ text: "配置",
+ items: [
+ {
+ text: "功能配置",
+ collapsed: true,
+ items: [
+ { text: "platform.json", link: "/config/function/platform" },
+ { text: "pipeline.json", link: "/config/function/pipeline" },
+ { text: "provider.json", link: "/config/function/provider" },
+ { text: "command.json", link: "/config/function/command" },
+ { text: "system.json", link: "/config/function/system" },
+ ],
+ },
+ {
+ text: "元数据配置",
+ collapsed: true,
+ items: [
+ {
+ text: "敏感词sensitive-words.json",
+ link: "/config/metadata/adapter-qq-botpy",
+ },
+ {
+ text: "模型列表llm-models.json",
+ link: "/config/metadata/llm-models",
+ },
+ {
+ text: "qq-botpy ID 映射 adapter-qq-botpy.json",
+ link: "/config/metadata/sensitive-words",
+ },
+ ],
+ },
+ ],
+ },
+ {
+ text: "开发",
+ collapsed: true,
+ items: [
+ { text: "技术信息", link: "/develop/tech-info" },
+ { text: "插件介绍", link: "/develop/plugin-intro" },
+ { text: "插件开发", link: "/develop/plugin-dev" },
+ { text: "组件拓展", link: "/develop/extension" },
+ { text: "API参考", link: "/develop/api-ref" },
+ ],
+ },
+ {
+ text: "规模化和商用",
+ collapsed: true,
+ link: "/tob/",
+ items: [
+ { text: "消息平台误导性", link: "/tob/platform" },
+ { text: "AI内容合规性", link: "/tob/provider" },
+ { text: "咨询方式", link: "/tob/contact" },
+ ],
+ },
+ ],
+
+ // 编辑链接
+ editLink: {
+ pattern: "https://github.com/vuejs/vitepress/edit/main/docs/:path",
+ },
+
+ // 本地搜索
+ search: {
+ provider: 'local'
+ },
+
+ // 导航栏的社交图标
+ socialLinks: [
+ { icon: "github", link: "https://github.com/the-lazy-me/QChatGPT-Wiki" },
+ ],
+ },
+ // 最后更新时间
+ lastUpdated: true,
+});
diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css
new file mode 100644
index 000000000..fa23cbf5f
--- /dev/null
+++ b/docs/.vitepress/theme/custom.css
@@ -0,0 +1,6 @@
+/* .vitepress/theme/custom.css */
+:root {
+ /* 自定义主页的hero部分的 name 的字体颜色 */
+ --vp-home-hero-name-color: transparent;
+ --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe, #41d1ff);
+}
\ No newline at end of file
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
new file mode 100644
index 000000000..b3579b9da
--- /dev/null
+++ b/docs/.vitepress/theme/index.ts
@@ -0,0 +1,5 @@
+// .vitepress/theme/index.ts
+import DefaultTheme from 'vitepress/theme'
+import './custom.css'
+
+export default DefaultTheme
\ No newline at end of file
diff --git a/src/.vuepress/public/assets/icon/chrome-192.png b/docs/assets/icon/chrome-192.png
similarity index 100%
rename from src/.vuepress/public/assets/icon/chrome-192.png
rename to docs/assets/icon/chrome-192.png
diff --git a/src/.vuepress/public/assets/icon/chrome-512.png b/docs/assets/icon/chrome-512.png
similarity index 100%
rename from src/.vuepress/public/assets/icon/chrome-512.png
rename to docs/assets/icon/chrome-512.png
diff --git a/src/.vuepress/public/assets/icon/chrome-mask-192.png b/docs/assets/icon/chrome-mask-192.png
similarity index 100%
rename from src/.vuepress/public/assets/icon/chrome-mask-192.png
rename to docs/assets/icon/chrome-mask-192.png
diff --git a/src/.vuepress/public/assets/icon/chrome-mask-512.png b/docs/assets/icon/chrome-mask-512.png
similarity index 100%
rename from src/.vuepress/public/assets/icon/chrome-mask-512.png
rename to docs/assets/icon/chrome-mask-512.png
diff --git a/src/.vuepress/public/assets/icon/guide-maskable.png b/docs/assets/icon/guide-maskable.png
similarity index 100%
rename from src/.vuepress/public/assets/icon/guide-maskable.png
rename to docs/assets/icon/guide-maskable.png
diff --git a/src/.vuepress/public/assets/icon/ms-icon-144.png b/docs/assets/icon/ms-icon-144.png
similarity index 100%
rename from src/.vuepress/public/assets/icon/ms-icon-144.png
rename to docs/assets/icon/ms-icon-144.png
diff --git a/src/.vuepress/public/assets/image/QChatGPT-0516.png b/docs/assets/image/QChatGPT-0516.png
similarity index 100%
rename from src/.vuepress/public/assets/image/QChatGPT-0516.png
rename to docs/assets/image/QChatGPT-0516.png
diff --git a/src/.vuepress/public/assets/image/QChatGPT-1211.png b/docs/assets/image/QChatGPT-1211.png
similarity index 100%
rename from src/.vuepress/public/assets/image/QChatGPT-1211.png
rename to docs/assets/image/QChatGPT-1211.png
diff --git a/src/.vuepress/public/assets/image/advanced.svg b/docs/assets/image/advanced.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/advanced.svg
rename to docs/assets/image/advanced.svg
diff --git a/src/.vuepress/public/assets/image/blog.svg b/docs/assets/image/blog.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/blog.svg
rename to docs/assets/image/blog.svg
diff --git a/src/.vuepress/public/assets/image/box.svg b/docs/assets/image/box.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/box.svg
rename to docs/assets/image/box.svg
diff --git a/src/.vuepress/public/assets/image/config_lgr.png b/docs/assets/image/config_lgr.png
similarity index 100%
rename from src/.vuepress/public/assets/image/config_lgr.png
rename to docs/assets/image/config_lgr.png
diff --git a/src/.vuepress/public/assets/image/dl_gocq.png b/docs/assets/image/dl_gocq.png
similarity index 100%
rename from src/.vuepress/public/assets/image/dl_gocq.png
rename to docs/assets/image/dl_gocq.png
diff --git a/src/.vuepress/public/assets/image/dl_lgr_1.png b/docs/assets/image/dl_lgr_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/dl_lgr_1.png
rename to docs/assets/image/dl_lgr_1.png
diff --git a/src/.vuepress/public/assets/image/dl_lgr_2.png b/docs/assets/image/dl_lgr_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/dl_lgr_2.png
rename to docs/assets/image/dl_lgr_2.png
diff --git a/src/.vuepress/public/assets/image/dl_lgr_3.png b/docs/assets/image/dl_lgr_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/dl_lgr_3.png
rename to docs/assets/image/dl_lgr_3.png
diff --git a/src/.vuepress/public/assets/image/error_q2_1.png b/docs/assets/image/error_q2_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/error_q2_1.png
rename to docs/assets/image/error_q2_1.png
diff --git a/src/.vuepress/public/assets/image/error_q2_2.png b/docs/assets/image/error_q2_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/error_q2_2.png
rename to docs/assets/image/error_q2_2.png
diff --git a/src/.vuepress/public/assets/image/error_q3.png b/docs/assets/image/error_q3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/error_q3.png
rename to docs/assets/image/error_q3.png
diff --git a/src/.vuepress/public/assets/image/error_q4.png b/docs/assets/image/error_q4.png
similarity index 100%
rename from src/.vuepress/public/assets/image/error_q4.png
rename to docs/assets/image/error_q4.png
diff --git a/src/.vuepress/public/assets/image/error_q5.png b/docs/assets/image/error_q5.png
similarity index 100%
rename from src/.vuepress/public/assets/image/error_q5.png
rename to docs/assets/image/error_q5.png
diff --git a/src/.vuepress/public/assets/image/features.svg b/docs/assets/image/features.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/features.svg
rename to docs/assets/image/features.svg
diff --git a/src/.vuepress/public/assets/image/first_launch.png b/docs/assets/image/first_launch.png
similarity index 100%
rename from src/.vuepress/public/assets/image/first_launch.png
rename to docs/assets/image/first_launch.png
diff --git a/src/.vuepress/public/assets/image/get_captcha.png b/docs/assets/image/get_captcha.png
similarity index 100%
rename from src/.vuepress/public/assets/image/get_captcha.png
rename to docs/assets/image/get_captcha.png
diff --git a/src/.vuepress/public/assets/image/get_gocq_login_token.png b/docs/assets/image/get_gocq_login_token.png
similarity index 100%
rename from src/.vuepress/public/assets/image/get_gocq_login_token.png
rename to docs/assets/image/get_gocq_login_token.png
diff --git a/src/.vuepress/public/assets/image/github-dark.svg b/docs/assets/image/github-dark.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/github-dark.svg
rename to docs/assets/image/github-dark.svg
diff --git a/src/.vuepress/public/assets/image/github-light.svg b/docs/assets/image/github-light.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/github-light.svg
rename to docs/assets/image/github-light.svg
diff --git a/src/.vuepress/public/assets/image/group_chat.png b/docs/assets/image/group_chat.png
similarity index 100%
rename from src/.vuepress/public/assets/image/group_chat.png
rename to docs/assets/image/group_chat.png
diff --git a/src/.vuepress/public/assets/image/layout.svg b/docs/assets/image/layout.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/layout.svg
rename to docs/assets/image/layout.svg
diff --git a/src/.vuepress/public/assets/image/llob_cfg.png b/docs/assets/image/llob_cfg.png
similarity index 100%
rename from src/.vuepress/public/assets/image/llob_cfg.png
rename to docs/assets/image/llob_cfg.png
diff --git a/src/.vuepress/public/assets/image/mah_dl_1.png b/docs/assets/image/mah_dl_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mah_dl_1.png
rename to docs/assets/image/mah_dl_1.png
diff --git a/src/.vuepress/public/assets/image/mah_dl_2.png b/docs/assets/image/mah_dl_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mah_dl_2.png
rename to docs/assets/image/mah_dl_2.png
diff --git a/src/.vuepress/public/assets/image/mah_dl_3.png b/docs/assets/image/mah_dl_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mah_dl_3.png
rename to docs/assets/image/mah_dl_3.png
diff --git a/src/.vuepress/public/assets/image/mah_dl_4.png b/docs/assets/image/mah_dl_4.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mah_dl_4.png
rename to docs/assets/image/mah_dl_4.png
diff --git a/src/.vuepress/public/assets/image/markdown.svg b/docs/assets/image/markdown.svg
similarity index 100%
rename from src/.vuepress/public/assets/image/markdown.svg
rename to docs/assets/image/markdown.svg
diff --git a/src/.vuepress/public/assets/image/mirai_dl_1.png b/docs/assets/image/mirai_dl_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_dl_1.png
rename to docs/assets/image/mirai_dl_1.png
diff --git a/src/.vuepress/public/assets/image/mirai_dl_2.png b/docs/assets/image/mirai_dl_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_dl_2.png
rename to docs/assets/image/mirai_dl_2.png
diff --git a/src/.vuepress/public/assets/image/mirai_dl_3.png b/docs/assets/image/mirai_dl_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_dl_3.png
rename to docs/assets/image/mirai_dl_3.png
diff --git a/src/.vuepress/public/assets/image/mirai_dl_4.png b/docs/assets/image/mirai_dl_4.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_dl_4.png
rename to docs/assets/image/mirai_dl_4.png
diff --git a/src/.vuepress/public/assets/image/mirai_dl_5.png b/docs/assets/image/mirai_dl_5.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_dl_5.png
rename to docs/assets/image/mirai_dl_5.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_1.png b/docs/assets/image/mirai_sign_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_1.png
rename to docs/assets/image/mirai_sign_1.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_2.png b/docs/assets/image/mirai_sign_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_2.png
rename to docs/assets/image/mirai_sign_2.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_3.png b/docs/assets/image/mirai_sign_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_3.png
rename to docs/assets/image/mirai_sign_3.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_4.png b/docs/assets/image/mirai_sign_4.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_4.png
rename to docs/assets/image/mirai_sign_4.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_5.png b/docs/assets/image/mirai_sign_5.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_5.png
rename to docs/assets/image/mirai_sign_5.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_6.png b/docs/assets/image/mirai_sign_6.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_6.png
rename to docs/assets/image/mirai_sign_6.png
diff --git a/src/.vuepress/public/assets/image/mirai_sign_7.png b/docs/assets/image/mirai_sign_7.png
similarity index 100%
rename from src/.vuepress/public/assets/image/mirai_sign_7.png
rename to docs/assets/image/mirai_sign_7.png
diff --git a/src/.vuepress/public/assets/image/napcat_cfg_1.png b/docs/assets/image/napcat_cfg_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/napcat_cfg_1.png
rename to docs/assets/image/napcat_cfg_1.png
diff --git a/src/.vuepress/public/assets/image/napcat_cfg_2.png b/docs/assets/image/napcat_cfg_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/napcat_cfg_2.png
rename to docs/assets/image/napcat_cfg_2.png
diff --git a/src/.vuepress/public/assets/image/napcat_cfg_3.png b/docs/assets/image/napcat_cfg_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/napcat_cfg_3.png
rename to docs/assets/image/napcat_cfg_3.png
diff --git a/src/.vuepress/public/assets/image/paste_token.png b/docs/assets/image/paste_token.png
similarity index 100%
rename from src/.vuepress/public/assets/image/paste_token.png
rename to docs/assets/image/paste_token.png
diff --git a/src/.vuepress/public/assets/image/private_chat.png b/docs/assets/image/private_chat.png
similarity index 100%
rename from src/.vuepress/public/assets/image/private_chat.png
rename to docs/assets/image/private_chat.png
diff --git a/src/.vuepress/public/assets/image/python_1.png b/docs/assets/image/python_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/python_1.png
rename to docs/assets/image/python_1.png
diff --git a/src/.vuepress/public/assets/image/python_2.png b/docs/assets/image/python_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/python_2.png
rename to docs/assets/image/python_2.png
diff --git a/src/.vuepress/public/assets/image/python_3.png b/docs/assets/image/python_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/python_3.png
rename to docs/assets/image/python_3.png
diff --git a/src/.vuepress/public/assets/image/run_mirai_1.png b/docs/assets/image/run_mirai_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/run_mirai_1.png
rename to docs/assets/image/run_mirai_1.png
diff --git a/src/.vuepress/public/assets/image/sham_cfg_1.png b/docs/assets/image/sham_cfg_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/sham_cfg_1.png
rename to docs/assets/image/sham_cfg_1.png
diff --git a/src/.vuepress/public/assets/image/sham_cfg_2.png b/docs/assets/image/sham_cfg_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/sham_cfg_2.png
rename to docs/assets/image/sham_cfg_2.png
diff --git a/src/.vuepress/public/assets/image/sham_cfg_3.png b/docs/assets/image/sham_cfg_3.png
similarity index 100%
rename from src/.vuepress/public/assets/image/sham_cfg_3.png
rename to docs/assets/image/sham_cfg_3.png
diff --git a/src/.vuepress/public/assets/image/sham_env_1.png b/docs/assets/image/sham_env_1.png
similarity index 100%
rename from src/.vuepress/public/assets/image/sham_env_1.png
rename to docs/assets/image/sham_env_1.png
diff --git a/src/.vuepress/public/assets/image/sham_env_2.png b/docs/assets/image/sham_env_2.png
similarity index 100%
rename from src/.vuepress/public/assets/image/sham_env_2.png
rename to docs/assets/image/sham_env_2.png
diff --git a/src/posts/config/command.md b/docs/config/function/command.md
similarity index 83%
rename from src/posts/config/command.md
rename to docs/config/function/command.md
index 029e4962d..a08b2af3c 100644
--- a/src/posts/config/command.md
+++ b/docs/config/function/command.md
@@ -1,54 +1,42 @@
----
-head:
- - - meta
- - name: keywords
- content: command.json 配置文件
-title: command.json 配置项
-icon: config
-order: 4
-author: RockChinQ
-date: 2024-02-18
-category:
- - 配置文件
----
-
-:::info 目录
-[[toc]]
-:::
-
-`data/config/command.json` 中配置命令相关的配置项。
-
-## 命令权限 privilege
-
-设置每个命令的权限配置
-
-普通用户权限级别为 1,管理员(`system.json`中设置的)权限级别为 2。
-
-在这里设置每个命令的最低权限级别,若设置为1,则用户和管理员均可用,若为2,则仅管理员可用
-
- 需要设置子命令,以点号间隔,如`"plugin.on"` 示例:
-
-```json
-{
- "plugin": 1,
- "plugin.on": 2
-}
-```
-
- 意思是 plugin 命令的最低权限级别为 1,plugin.on 命令的最低权限级别为 2。 每个命令都有默认的权限级别
-
-若不设置,则使用默认的级别。在`pkg/command/operators`里每个命令类有默认的权限级别
-
-## 命令前缀 command-prefix
-
-设置命令前缀。以数组形式设置,程序将前缀符合设置的消息视为命令(群内需要符合群响应规则)。
-
-如下示例将设置命令前缀为`!`、`!`、`#`:
-
-```json
-"command-prefix": [
- "!",
- "!",
- "#"
-]
+# command.json 配置项
+
+:::info 目录
+[[toc]]
+:::
+
+`data/config/command.json` 中配置命令相关的配置项。
+
+## 命令权限 privilege
+
+设置每个命令的权限配置
+
+普通用户权限级别为 1,管理员(`system.json`中设置的)权限级别为 2。
+
+在这里设置每个命令的最低权限级别,若设置为1,则用户和管理员均可用,若为2,则仅管理员可用
+
+ 需要设置子命令,以点号间隔,如`"plugin.on"` 示例:
+
+```json
+{
+ "plugin": 1,
+ "plugin.on": 2
+}
+```
+
+ 意思是 plugin 命令的最低权限级别为 1,plugin.on 命令的最低权限级别为 2。 每个命令都有默认的权限级别
+
+若不设置,则使用默认的级别。在`pkg/command/operators`里每个命令类有默认的权限级别
+
+## 命令前缀 command-prefix
+
+设置命令前缀。以数组形式设置,程序将前缀符合设置的消息视为命令(群内需要符合群响应规则)。
+
+如下示例将设置命令前缀为`!`、`!`、`#`:
+
+```json
+"command-prefix": [
+ "!",
+ "!",
+ "#"
+]
```
\ No newline at end of file
diff --git a/src/posts/config/pipeline.md b/docs/config/function/pipeline.md
similarity index 95%
rename from src/posts/config/pipeline.md
rename to docs/config/function/pipeline.md
index 529dc75ee..aca508077 100644
--- a/src/posts/config/pipeline.md
+++ b/docs/config/function/pipeline.md
@@ -1,211 +1,199 @@
----
-head:
- - - meta
- - name: keywords
- content: pipeline.json 配置文件
-title: pipeline.json 配置项
-icon: config
-order: 2
-author: RockChinQ
-date: 2024-02-18
-category:
- - 配置文件
----
-
-:::info 目录
-[[toc]]
-:::
-
-`data/config/pipeline.json` 配置程序处理一个请求的过程中的操作流程,平台适配器获取到消息事件之后,发送给pipeline排队进行处理。可以设置黑白名单、群响应规则、是否检查传入消息、传入消息忽略规则、是否检查敏感词、百度云内容审核配置、传入消息长度设置、限速配置等功能。
-
-
-## 访问控制 access-control
-
-```json
-"access-control":{
- "mode": "blacklist",
- "blacklist": [],
- "whitelist": []
-},
-```
-
-`mode`:设置模式白名单 `whitelist`(仅处理`whitelist`列表中的会话的消息)或黑名单 `blacklist`(忽略`blacklist`列表中的会话的消息)
-
-`blacklist`:格式`{type}_{id}`,示例:`"blacklist": ["group_12345678","person_12341234"],`
-
-`whitelist`:格式`{type}_{id}`,示例:`"whitelist": ["group_12345678","person_12341234"]`
-
-
-## 群消息响应规则 respond-rules
-
-仅处理`access-control`通过的会话的消息,其中可含有多个key,若要对特定群设置响应规则,则以群号作为键。未特指的群,将使用 default 中的响应规则
-
-```json
-"respond-rules": {
- "default": {
- "at": true,
- "prefix": [
- "/ai", "!ai", "!ai", "ai"
- ],
- "regexp": [],
- "random": 0.0
- }
-},
-```
-
-`at`:`true`或`false`,设置@响应
-
-`prefix`:设置响应前缀
-
-`regexp`:正则匹配
-
-`random`:随机匹配,为1时所有消息都响应
-
-你可以为单个群聊设置特定的响应规则,例如
-
-```json
-"respond-rules": {
- "default": {
- "at": true,
- "prefix": [
- "/ai", "!ai", "!ai", "ai"
- ],
- "regexp": [],
- "random": 0.0
- },
- "123456":{
- "at": true,
- "prefix": [
- "/ai", "!ai", "!ai", "ai"
- ],
- "regexp": [],
- "random": 0.0
- },
- "789012":{
- "at": true,
- "prefix": [
- "/ai", "!ai", "!ai", "ai"
- ],
- "regexp": [],
- "random": 0.0
- }
-},
-```
-
-## 检查传入消息内容开关 income-msg-check
-
-```json
-"income-msg-check": true,
-```
-
-`income-msg-check`:是否检查传入的消息
-
-## 传入消息忽略规则 ignore-rules
-
-```json
-"ignore-rules": {
- "prefix": ["/"],
- "regexp": []
-},
-```
-
-符合规则的传入消息将被忽略,仅`income-msg-check`为`true`时生效
-
-`prefix`:前缀为`/`的忽略
-
-`regexp`:正则匹配的忽略
-
-## 本地敏感词检查 check-sensitive-words
-
-```json
-"check-sensitive-words": true,
-```
-
-`check-sensitive-words`:是否检查敏感词,敏感词词库为`data/config/sensitive-words.json`里面的
-
-## 百度云内容审核配置 baidu-cloud-examine
-
-```json
-"baidu-cloud-examine": {
- "enable": false,
- "api-key": "",
- "api-secret": ""
-},
-```
-
-`baidu-cloud-examine`:控制是否使用是否进行百度云内容审核
-
-`enable`:enable=true时启用,一定会检查AI响应结果,仅`income-msg-check`为true时检查传入消息
-
-`api-key`:百度AI开放平台的`API_KEY`
-
-`api-secret`:百度AI开放平台的`SECRET_KEY`
-
-*`API_KEY`与`SECRET_KEY`是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的**应用列表**中查看*
-
-## 请求限速规则 rate-limit
-
-```json
-"rate-limit": {
- "strategy": "drop",
- "algo": "fixwin",
- "fixwin": {
- "default": {
- "window-size": 60,
- "limit": 60
- }
- }
-}
-```
-
-`strategy`:会话中的请求速率超过限制时的处理策略,`drop`为丢弃新请求,`wait`为等待请求速率降到限制以下
-
-`algo`: 使用的算法,目前仅支持 `fixwin` (固定窗口),即窗口期内最多处理多少个请求,可自行实现其他限速算法,具体查看插件编写教程
-
-`fixwin`:具体速率设置,设定的窗口期内最多处理多少个请求,支持对特定session指定限速,格式为 {type}_{id},示例:group_12345678,person_12341234
-
-`window-size`:窗口期大小,单位秒
-
-`limit`:窗口期内最多处理多少个请求
-
-例如:
-
-```json
-"fixwin": {
- "default": {
- "window-size": 60,
- "limit": 60
- },
- "group_12345678": {
- "window-size": 30,
- "limit": 60
- },
- "person_12341234": {
- "window-size": 60,
- "limit": 60
- }
-}
-```
-
-将设定:
-
-- 默认群窗口期60秒内最多处理60个请求
-- 群号为12345678的窗口期30秒内最多处理60个请求
-- 用户号为12341234的窗口期60秒内最多处理60个请求
-
-## 对话历史记录截断 msg-truncate
-
-将在发送消息给模型之前对当前会话的历史消息进行截断,以限制传给模型的消息长度
-
-```json
-"msg-truncate": {
- "method": "round",
- "round": {
- "max-round": 10
- }
-}
-```
-
-`method`:截断方法,`round`为按回合截断,目前仅支持`round`,可自行实现其他截断方法,具体查看插件编写教程
-
-`round`:按回合截断,`max-round`为最多保留多少回合的历史消息
+# pipeline.json 配置项
+
+:::info 目录
+[[toc]]
+:::
+
+`data/config/pipeline.json` 配置程序处理一个请求的过程中的操作流程,平台适配器获取到消息事件之后,发送给pipeline排队进行处理。可以设置黑白名单、群响应规则、是否检查传入消息、传入消息忽略规则、是否检查敏感词、百度云内容审核配置、传入消息长度设置、限速配置等功能。
+
+
+## 访问控制 access-control
+
+```json
+"access-control":{
+ "mode": "blacklist",
+ "blacklist": [],
+ "whitelist": []
+},
+```
+
+`mode`:设置模式白名单 `whitelist`(仅处理`whitelist`列表中的会话的消息)或黑名单 `blacklist`(忽略`blacklist`列表中的会话的消息)
+
+`blacklist`:格式`{type}_{id}`,示例:`"blacklist": ["group_12345678","person_12341234"],`
+
+`whitelist`:格式`{type}_{id}`,示例:`"whitelist": ["group_12345678","person_12341234"]`
+
+
+## 群消息响应规则 respond-rules
+
+仅处理`access-control`通过的会话的消息,其中可含有多个key,若要对特定群设置响应规则,则以群号作为键。未特指的群,将使用 default 中的响应规则
+
+```json
+"respond-rules": {
+ "default": {
+ "at": true,
+ "prefix": [
+ "/ai", "!ai", "!ai", "ai"
+ ],
+ "regexp": [],
+ "random": 0.0
+ }
+},
+```
+
+`at`:`true`或`false`,设置@响应
+
+`prefix`:设置响应前缀
+
+`regexp`:正则匹配
+
+`random`:随机匹配,为1时所有消息都响应
+
+你可以为单个群聊设置特定的响应规则,例如
+
+```json
+"respond-rules": {
+ "default": {
+ "at": true,
+ "prefix": [
+ "/ai", "!ai", "!ai", "ai"
+ ],
+ "regexp": [],
+ "random": 0.0
+ },
+ "123456":{
+ "at": true,
+ "prefix": [
+ "/ai", "!ai", "!ai", "ai"
+ ],
+ "regexp": [],
+ "random": 0.0
+ },
+ "789012":{
+ "at": true,
+ "prefix": [
+ "/ai", "!ai", "!ai", "ai"
+ ],
+ "regexp": [],
+ "random": 0.0
+ }
+},
+```
+
+## 检查传入消息内容开关 income-msg-check
+
+```json
+"income-msg-check": true,
+```
+
+`income-msg-check`:是否检查传入的消息
+
+## 传入消息忽略规则 ignore-rules
+
+```json
+"ignore-rules": {
+ "prefix": ["/"],
+ "regexp": []
+},
+```
+
+符合规则的传入消息将被忽略,仅`income-msg-check`为`true`时生效
+
+`prefix`:前缀为`/`的忽略
+
+`regexp`:正则匹配的忽略
+
+## 本地敏感词检查 check-sensitive-words
+
+```json
+"check-sensitive-words": true,
+```
+
+`check-sensitive-words`:是否检查敏感词,敏感词词库为`data/config/sensitive-words.json`里面的
+
+## 百度云内容审核配置 baidu-cloud-examine
+
+```json
+"baidu-cloud-examine": {
+ "enable": false,
+ "api-key": "",
+ "api-secret": ""
+},
+```
+
+`baidu-cloud-examine`:控制是否使用是否进行百度云内容审核
+
+`enable`:enable=true时启用,一定会检查AI响应结果,仅`income-msg-check`为true时检查传入消息
+
+`api-key`:百度AI开放平台的`API_KEY`
+
+`api-secret`:百度AI开放平台的`SECRET_KEY`
+
+*`API_KEY`与`SECRET_KEY`是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的**应用列表**中查看*
+
+## 请求限速规则 rate-limit
+
+```json
+"rate-limit": {
+ "strategy": "drop",
+ "algo": "fixwin",
+ "fixwin": {
+ "default": {
+ "window-size": 60,
+ "limit": 60
+ }
+ }
+}
+```
+
+`strategy`:会话中的请求速率超过限制时的处理策略,`drop`为丢弃新请求,`wait`为等待请求速率降到限制以下
+
+`algo`: 使用的算法,目前仅支持 `fixwin` (固定窗口),即窗口期内最多处理多少个请求,可自行实现其他限速算法,具体查看插件编写教程
+
+`fixwin`:具体速率设置,设定的窗口期内最多处理多少个请求,支持对特定session指定限速,格式为 {type}_{id},示例:group_12345678,person_12341234
+
+`window-size`:窗口期大小,单位秒
+
+`limit`:窗口期内最多处理多少个请求
+
+例如:
+
+```json
+"fixwin": {
+ "default": {
+ "window-size": 60,
+ "limit": 60
+ },
+ "group_12345678": {
+ "window-size": 30,
+ "limit": 60
+ },
+ "person_12341234": {
+ "window-size": 60,
+ "limit": 60
+ }
+}
+```
+
+将设定:
+
+- 默认群窗口期60秒内最多处理60个请求
+- 群号为12345678的窗口期30秒内最多处理60个请求
+- 用户号为12341234的窗口期60秒内最多处理60个请求
+
+## 对话历史记录截断 msg-truncate
+
+将在发送消息给模型之前对当前会话的历史消息进行截断,以限制传给模型的消息长度
+
+```json
+"msg-truncate": {
+ "method": "round",
+ "round": {
+ "max-round": 10
+ }
+}
+```
+
+`method`:截断方法,`round`为按回合截断,目前仅支持`round`,可自行实现其他截断方法,具体查看插件编写教程
+
+`round`:按回合截断,`max-round`为最多保留多少回合的历史消息
\ No newline at end of file
diff --git a/src/posts/config/platform.md b/docs/config/function/platform.md
similarity index 92%
rename from src/posts/config/platform.md
rename to docs/config/function/platform.md
index 4c16ca805..c1587b1fb 100644
--- a/src/posts/config/platform.md
+++ b/docs/config/function/platform.md
@@ -1,147 +1,134 @@
----
-head:
- - - meta
- - name: keywords
- content: platform.json 配置文件
-title: platform.json 配置项
-icon: config
-order: 1
-author: RockChinQ
-date: 2024-02-18
-category:
- - 配置文件
----
-
-:::info 目录
-[[toc]]
-:::
-
-`data/config/platform.json` 配置程序连接的消息平台和相关消息处理配置项。启用的消息适配器列表,是否跟踪内容函数调用过程,群内回复时是否引用原消息,群内回复时是否at原用户,强制消息延迟范围,长消息处理策略,是否向用户隐藏AI的异常信息等。
-
-## 消息平台适配器 platform-adapters
-
-```json
-"platform-adapters": [
- {
- "adapter": "yiri-mirai",
- "enable": false,
- "host": "127.0.0.1",
- "port": 8080,
- "verifyKey": "yirimirai",
- "qq": 123456789
- },
- {
- "adapter": "nakuru",
- "enable": false,
- "host": "127.0.0.1",
- "ws_port": 8080,
- "http_port": 5700,
- "token": ""
- },
- {
- "adapter": "aiocqhttp",
- "enable": false,
- "host": "127.0.0.1",
- "port": 8080,
- "access-token": "",
- },
- {
- "adapter": "qq-botpy",
- "enable": false,
- "appid": "",
- "secret": "",
- "intents": [
- "public_guild_messages",
- "direct_message"
- ]
- }
-],
-```
-
-目前支持 `mirai`、`go-cqhttp`、`aiocqhttp`、`qq-botpy` 四种消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器。
-各个适配器的配置方式请查看[部署教程](../deploy/config.html)。
-
-### 多开示例
-
-```json
-"platform-adapters": [
- {
- "adapter": "yiri-mirai",
- "enable": true,
- "host": "127.0.0.1",
- "port": 8080,
- "verifyKey": "yirimirai",
- "qq": 123456789
- },
- {
- "adapter": "nakuru",
- "enable": true,
- "host": "127.0.0.1",
- "ws_port": 8081,
- "http_port": 5701,
- "token": "token"
- }
-]
-```
-
-## 跟踪内容函数调用 track-function-calls
-
-```json
-"track-function-calls": true,
-```
-
-是否跟踪内容函数调用过程,如果开启了,在对话中调用的内容函数记录也会发给用户
-
-关闭后(false)仅会发给用户最终结果
-
-> 内容函数功能请查看插件功能文档。
-
-
-## 引用原消息 quote-origin
-
-```json
-"quote-origin": false,
-```
-
-在群内回复时是否引用原消息
-
-## 是否at原用户 at-sender
-
-```json
-"at-sender": false,
-```
-
-在群内回复时是否at原用户
-
-## 强制消息延迟范围 force-delay
-
-```json
-"force-delay": [0, 0],
-```
-
-在将响应内容发回给用户前的强制消息延迟时间范围,以防风控,单位是秒。
-
-## 长消息处理策略 long-text-process
-
-```json
-"long-text-process": {
- "threshold": 256,
- "strategy": "forward",
- "font-path": ""
-},
-```
-
-`threshold`:阈值,文字长度大于此值的消息会使用长消息处理策略
-
-`strategy`:长消息处理策略,目前支持forward(转发消息组件)和image(文字转图片)
-
-`font-path`: image的渲染字体。未设置时,如果在windows下,会尝试寻找系统的微软雅黑字体,若找不到,则转为forward策略。未设置时,若不是windows系统,则直接转为forward策略。
-
-## 向用户隐藏AI接口的异常信息 hide-exception-info
-
-```
-"hide-exception-info": true
-```
-
- 是否向用户隐藏AI的异常信息,如果为true,当请求AI接口出现异常时,会返回一个错误的提示给用户。而把报错详情输出在控制台。
-
+# platform.json 配置项
+
+:::info 目录
+[[toc]]
+:::
+
+`data/config/platform.json` 配置程序连接的消息平台和相关消息处理配置项。启用的消息适配器列表,是否跟踪内容函数调用过程,群内回复时是否引用原消息,群内回复时是否at原用户,强制消息延迟范围,长消息处理策略,是否向用户隐藏AI的异常信息等。
+
+## 消息平台适配器 platform-adapters
+
+```json
+"platform-adapters": [
+ {
+ "adapter": "yiri-mirai",
+ "enable": false,
+ "host": "127.0.0.1",
+ "port": 8080,
+ "verifyKey": "yirimirai",
+ "qq": 123456789
+ },
+ {
+ "adapter": "nakuru",
+ "enable": false,
+ "host": "127.0.0.1",
+ "ws_port": 8080,
+ "http_port": 5700,
+ "token": ""
+ },
+ {
+ "adapter": "aiocqhttp",
+ "enable": false,
+ "host": "127.0.0.1",
+ "port": 8080,
+ "access-token": "",
+ },
+ {
+ "adapter": "qq-botpy",
+ "enable": false,
+ "appid": "",
+ "secret": "",
+ "intents": [
+ "public_guild_messages",
+ "direct_message"
+ ]
+ }
+],
+```
+
+目前支持 `mirai`、`go-cqhttp`、`aiocqhttp`、`qq-botpy` 四种消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器。
+各个适配器的配置方式请查看[部署教程](../deploy/config.html)。
+
+### 多开示例
+
+```json
+"platform-adapters": [
+ {
+ "adapter": "yiri-mirai",
+ "enable": true,
+ "host": "127.0.0.1",
+ "port": 8080,
+ "verifyKey": "yirimirai",
+ "qq": 123456789
+ },
+ {
+ "adapter": "nakuru",
+ "enable": true,
+ "host": "127.0.0.1",
+ "ws_port": 8081,
+ "http_port": 5701,
+ "token": "token"
+ }
+]
+```
+
+## 跟踪内容函数调用 track-function-calls
+
+```json
+"track-function-calls": true,
+```
+
+是否跟踪内容函数调用过程,如果开启了,在对话中调用的内容函数记录也会发给用户
+
+关闭后(false)仅会发给用户最终结果
+
+> 内容函数功能请查看插件功能文档。
+
+
+## 引用原消息 quote-origin
+
+```json
+"quote-origin": false,
+```
+
+在群内回复时是否引用原消息
+
+## 是否at原用户 at-sender
+
+```json
+"at-sender": false,
+```
+
+在群内回复时是否at原用户
+
+## 强制消息延迟范围 force-delay
+
+```json
+"force-delay": [0, 0],
+```
+
+在将响应内容发回给用户前的强制消息延迟时间范围,以防风控,单位是秒。
+
+## 长消息处理策略 long-text-process
+
+```json
+"long-text-process": {
+ "threshold": 256,
+ "strategy": "forward",
+ "font-path": ""
+},
+```
+
+`threshold`:阈值,文字长度大于此值的消息会使用长消息处理策略
+
+`strategy`:长消息处理策略,目前支持forward(转发消息组件)和image(文字转图片)
+
+`font-path`: image的渲染字体。未设置时,如果在windows下,会尝试寻找系统的微软雅黑字体,若找不到,则转为forward策略。未设置时,若不是windows系统,则直接转为forward策略。
+
+## 向用户隐藏AI接口的异常信息 hide-exception-info
+
+```
+"hide-exception-info": true
+```
+
+ 是否向用户隐藏AI的异常信息,如果为true,当请求AI接口出现异常时,会返回一个错误的提示给用户。而把报错详情输出在控制台。
\ No newline at end of file
diff --git a/src/posts/config/provider.md b/docs/config/function/provider.md
similarity index 95%
rename from src/posts/config/provider.md
rename to docs/config/function/provider.md
index c61e94c44..a27fe0cc0 100644
--- a/src/posts/config/provider.md
+++ b/docs/config/function/provider.md
@@ -1,178 +1,165 @@
----
-head:
- - - meta
- - name: keywords
- content: provider.json 配置文件
-title: provider.json 配置项
-icon: config
-order: 3
-author: RockChinQ
-date: 2024-02-18
-category:
- - 配置文件
----
-
-
-:::info 目录
-[[toc]]
-:::
-
-`data/config/provider.json` 中配置AI接口提供商相关的配置项。
-
-## 启用聊天功能 enable-chat
-
-```json
-"enable-chat": true,
-```
-
-`enable-chat`:是否开启AI聊天功能
-
-## 启用 AI 视觉功能 enable-vision
-
-```json
-"enable-vision": true,
-```
-
-`enable-vision`:是否开启AI视觉功能。需要使用的模型同时支持视觉功能,详情见元数据板块。
-
-## 模型接口密钥 keys
-
-```json
-"keys": {
- "openai": [
- "sk-1234567890"
- ],
- "anthropic": [
- "sk-1234567890"
- ],
- "moonshot": [
- "sk-1234567890"
- ],
- "deepseek": [
- "sk-1234567890"
- ]
-},
-```
-
-`keys`:设置密钥组,以字典的形式设置若干个密钥组,每个密钥组的键为密钥组名称,值为密钥列表。模型与密钥组的对应关系,请查看元数据板块。
-
-目前支持的密钥组:
-
-- `openai`:OpenAI 的密钥组,如果你没有OpenAI API Key,你可以[在此获取](https://ai.lazyshare.top/)
-- `anthropic`:Anthropic 的密钥组
-- `moonshot`:Moonshot(月之暗面 kimi)的密钥组
-- `deepseek`:Deepseek(深度求索)的密钥组
-
-## 大模型请求器 requester
-
-```json
-"requester": {
- "openai-chat-completions": {
- "base-url": "https://api.openai.com/v1",
- "args": {},
- "timeout": 120
- },
- "anthropic-messages": {
- "base-url": "https://api.anthropic.com",
- "args": {
- "max_tokens": 1024
- },
- "timeout": 120
- },
- "moonshot-chat-completions": {
- "base-url": "https://api.moonshot.cn/v1",
- "args": {},
- "timeout": 120
- },
- "deepseek-chat-completions": {
- "base-url": "https://api.deepseek.com",
- "args": {},
- "timeout": 120
- },
- "ollama-chat": {
- "base-url": "http://127.0.0.1:11434",
- "args": {},
- "timeout": 600
- }
- },
-```
-
-`requester`:设置请求器,以字典的形式设置若干个请求器,每个请求器的键为请求器名称,值为请求器配置。模型与请求器的对应关系,请查看元数据板块。实现请求器的方式,请查看插件编写教程。
-
-目前支持的请求器有:
-
-- `openai-chat-completions`:OpenAI 的 ChatCompletion 请求器
-- `anthropic-messages`:Anthropic 请求器(Claude)
-- `moonshot-chat-completions`:Moonshot 请求器(月之暗面)
-- `deepseek-chat-completions`:Deepseek 请求器(深度求索)
-- `ollama-chat`:Ollama 请求器,不需要密钥,直接请求目标地址的 Ollama 服务
-
-`base-url`:设置接口地址。
-
-`args`:请求时除了model之外的其他参数,以字典的形式设置。
-
-`timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值
-
-## 使用的模型 model
-
-```json
-"model": "gpt-3.5-turbo",
-```
-
-`model`:设置要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。
-简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。
-
-例如:
-1. 通过 OneAPI 等中转服务接入了 OpenAI 的 `gpt-4` 模型,由于 `gpt-4` 也是使用 ChatCompletion 接口格式进行请求,则可以直接填入 `gpt-4`;
-2. 通过 OneAPI 等中转服务接入了 Google 的 `gemini-pro` 模型,由于 `gemini-pro` 原生接口格式并非 ChatCompletion,因此需要填入 `OneAPI/gemini-pro`。
-
-具体支持的模型列表和各个模型对应的请求器和密钥组,请查看元数据板块 llm-models.json 。
-
-## 情景预设(人格) prompt
-
-```json
-"prompt-mode": "normal",
-"prompt": {
- "default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
-}
-```
-
-`prompt-mode`:设置情景预设模式,值为`normal`(单预设模式)和`full-scenario`(完整历史对话模式)
-
-`normal`时,使用下面的`prompt`,可设置多个
-
-```json
-"prompt": {
- "default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。",
- "help": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
-}
-```
-
-`normal` 模式也支持读取`data/prompts`目录下的文件内容作为单个 System Prompt,文件名即为`prompt`的名称。
-
-在使用中通过`!default set <预设名>`指令将其设为默认(将<预设名>整体替换)
-
-### full-scenario模式配置方法
-
-把完整的历史对话以文件形式添加到`data/scenario/`目录下,参考`data/scenario/default.json`
-
-```json
-{
- "prompt": [
- {
- "role": "system",
- "content": "You are a helpful assistant. 如果我需要帮助,你要说“输入!help获得帮助”"
- },
- {
- "role": "assistant",
- "content": "好的,我是一个能干的AI助手。 如果你需要帮助,我会说“输入!help获得帮助”"
- }
- ]
-}
-```
-
-`role` 为消息的角色,可以是`user`(用户)、`assistant`(AI)、`system`(系统)
-`content` 为字符串,表示消息内容。
-在使用中通过`!default set <文件名>`指令将其设为默认(将<预设名>整体替换)
-
-> 社区资源:[人格预设合集1000+(测试版,不确保可用性)](../deploy/README.md#人格预设合集)
+# provider.json 配置项
+
+:::info 目录
+[[toc]]
+:::
+
+`data/config/provider.json` 中配置AI接口提供商相关的配置项。
+
+## 启用聊天功能 enable-chat
+
+```json
+"enable-chat": true,
+```
+
+`enable-chat`:是否开启AI聊天功能
+
+## 启用 AI 视觉功能 enable-vision
+
+```json
+"enable-vision": true,
+```
+
+`enable-vision`:是否开启AI视觉功能。需要使用的模型同时支持视觉功能,详情见元数据板块。
+
+## 模型接口密钥 keys
+
+```json
+"keys": {
+ "openai": [
+ "sk-1234567890"
+ ],
+ "anthropic": [
+ "sk-1234567890"
+ ],
+ "moonshot": [
+ "sk-1234567890"
+ ],
+ "deepseek": [
+ "sk-1234567890"
+ ]
+},
+```
+
+`keys`:设置密钥组,以字典的形式设置若干个密钥组,每个密钥组的键为密钥组名称,值为密钥列表。模型与密钥组的对应关系,请查看元数据板块。
+
+目前支持的密钥组:
+
+- `openai`:OpenAI 的密钥组,如果你没有OpenAI API Key,你可以[在此获取](https://ai.lazyshare.top/)
+- `anthropic`:Anthropic 的密钥组
+- `moonshot`:Moonshot(月之暗面 kimi)的密钥组
+- `deepseek`:Deepseek(深度求索)的密钥组
+
+## 大模型请求器 requester
+
+```json
+"requester": {
+ "openai-chat-completions": {
+ "base-url": "https://api.openai.com/v1",
+ "args": {},
+ "timeout": 120
+ },
+ "anthropic-messages": {
+ "base-url": "https://api.anthropic.com",
+ "args": {
+ "max_tokens": 1024
+ },
+ "timeout": 120
+ },
+ "moonshot-chat-completions": {
+ "base-url": "https://api.moonshot.cn/v1",
+ "args": {},
+ "timeout": 120
+ },
+ "deepseek-chat-completions": {
+ "base-url": "https://api.deepseek.com",
+ "args": {},
+ "timeout": 120
+ },
+ "ollama-chat": {
+ "base-url": "http://127.0.0.1:11434",
+ "args": {},
+ "timeout": 600
+ }
+ },
+```
+
+`requester`:设置请求器,以字典的形式设置若干个请求器,每个请求器的键为请求器名称,值为请求器配置。模型与请求器的对应关系,请查看元数据板块。实现请求器的方式,请查看插件编写教程。
+
+目前支持的请求器有:
+
+- `openai-chat-completions`:OpenAI 的 ChatCompletion 请求器
+- `anthropic-messages`:Anthropic 请求器(Claude)
+- `moonshot-chat-completions`:Moonshot 请求器(月之暗面)
+- `deepseek-chat-completions`:Deepseek 请求器(深度求索)
+- `ollama-chat`:Ollama 请求器,不需要密钥,直接请求目标地址的 Ollama 服务
+
+`base-url`:设置接口地址。
+
+`args`:请求时除了model之外的其他参数,以字典的形式设置。
+
+`timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值
+
+## 使用的模型 model
+
+```json
+"model": "gpt-3.5-turbo",
+```
+
+`model`:设置要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。
+简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。
+
+例如:
+1. 通过 OneAPI 等中转服务接入了 OpenAI 的 `gpt-4` 模型,由于 `gpt-4` 也是使用 ChatCompletion 接口格式进行请求,则可以直接填入 `gpt-4`;
+2. 通过 OneAPI 等中转服务接入了 Google 的 `gemini-pro` 模型,由于 `gemini-pro` 原生接口格式并非 ChatCompletion,因此需要填入 `OneAPI/gemini-pro`。
+
+具体支持的模型列表和各个模型对应的请求器和密钥组,请查看元数据板块 llm-models.json 。
+
+## 情景预设(人格) prompt
+
+```json
+"prompt-mode": "normal",
+"prompt": {
+ "default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
+}
+```
+
+`prompt-mode`:设置情景预设模式,值为`normal`(单预设模式)和`full-scenario`(完整历史对话模式)
+
+`normal`时,使用下面的`prompt`,可设置多个
+
+```json
+"prompt": {
+ "default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。",
+ "help": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
+}
+```
+
+`normal` 模式也支持读取`data/prompts`目录下的文件内容作为单个 System Prompt,文件名即为`prompt`的名称。
+
+在使用中通过`!default set <预设名>`指令将其设为默认(将<预设名>整体替换)
+
+### full-scenario模式配置方法
+
+把完整的历史对话以文件形式添加到`data/scenario/`目录下,参考`data/scenario/default.json`
+
+```json
+{
+ "prompt": [
+ {
+ "role": "system",
+ "content": "You are a helpful assistant. 如果我需要帮助,你要说“输入!help获得帮助”"
+ },
+ {
+ "role": "assistant",
+ "content": "好的,我是一个能干的AI助手。 如果你需要帮助,我会说“输入!help获得帮助”"
+ }
+ ]
+}
+```
+
+`role` 为消息的角色,可以是`user`(用户)、`assistant`(AI)、`system`(系统)
+`content` 为字符串,表示消息内容。
+在使用中通过`!default set <文件名>`指令将其设为默认(将<预设名>整体替换)
+
+> 社区资源:[人格预设合集1000+(测试版,不确保可用性)](../deploy/README.md#人格预设合集)
\ No newline at end of file
diff --git a/src/posts/config/system.md b/docs/config/function/system.md
similarity index 91%
rename from src/posts/config/system.md
rename to docs/config/function/system.md
index 2875293eb..1fceb30bf 100644
--- a/src/posts/config/system.md
+++ b/docs/config/function/system.md
@@ -1,103 +1,91 @@
----
-head:
- - - meta
- - name: keywords
- content: system.json 配置文件
-title: system.json 配置项
-icon: config
-order: 6
-author: RockChinQ
-date: 2024-02-18
-category:
- - 配置文件
----
-
-:::info 目录
-[[toc]]
-:::
-
-
-
-`data/config/system.json` 中配置系统设置,如管理员、网络代理、是否上报遥测数据供开发者分析、日志等级、会话消息处理并发数、流水线消息处理并发数、帮助消息等
-
-## 管理员会话 admin-sessions
-
-```json
-"admin-sessions": [],
-```
-
-`admin-sessions`:设置管理员会话,格式为 {type}_{id},type 为 "group" 或 "person",如:
-
-```json
-"admin-sessions": ["group_123456789", "person_123456789"],
-```
-
-## 网络代理 network-proxies
-
-```json
-"network-proxies": {
- "http": null,
- "https": null
-},
-```
-
-`network-proxies`:设置网络代理,为正向代理,http和https都要填,例如
-
-```json
-"network-proxies": {
- "http": "http://127.0.0.1:7890",
- "https": "http://127.0.0.1:7890"
-},
-```
-
-正向代理也可以用环境变量设置:http_proxy 和 https_proxy
-
-## 上报遥测数据 report-usage
-
-```json
-"report-usage": true,
-```
-
-`report-usage`:是否上报遥测数据供开发者分析,不包含敏感信息
-
-## 日志等级 logging-level
-
-```json
-"logging-level": "info",
-```
-
-`logging-level`:暂时没用,现在只能通过环境变量 DEBUG=true 来设置调试日志输出
-
-## 会话消息处理并发数 session-concurrency
-
-```json
-"session-concurrency": {
- "default": 1
-},
-```
-
-`session-concurrency`:会话消息处理并发数,粒度是每个会话,session格式为 {type}_{id},未指定的session使用 default 配置
-
-## 流水线消息处理并发数 pipeline-concurrency
-
-```json
-"pipeline-concurrency": 20,
-```
-
-`pipeline-concurrency`:流水线消息处理并发数,粒度是整个程序,目前使用 FCFS 算法调度各个请求。
-
-## 遥测服务器url qcg-center-url
-
-QChatGPT 运行期间推送遥测数据的目标地址,默认为官方地址,若您自己部署了[qcg-center](https://github.com/RockChinQ/qcg-center),可以改为你的地址。
-
-```json
-"qcg-center-url": "https://api.qchatgpt.rockchin.top/api/v2"
-```
-
-## 帮助消息 help-message
-
-```json
-"help-message": "QChatGPT - 😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ 机器人🤖\n链接:https://q.rkcn.top"
-```
-
-`help-message`:帮助消息,用户发送 !help 命令时的输出
+# system.json 配置项
+
+:::info 目录
+[[toc]]
+:::
+
+
+
+`data/config/system.json` 中配置系统设置,如管理员、网络代理、是否上报遥测数据供开发者分析、日志等级、会话消息处理并发数、流水线消息处理并发数、帮助消息等
+
+## 管理员会话 admin-sessions
+
+```json
+"admin-sessions": [],
+```
+
+`admin-sessions`:设置管理员会话,格式为 {type}_{id},type 为 "group" 或 "person",如:
+
+```json
+"admin-sessions": ["group_123456789", "person_123456789"],
+```
+
+## 网络代理 network-proxies
+
+```json
+"network-proxies": {
+ "http": null,
+ "https": null
+},
+```
+
+`network-proxies`:设置网络代理,为正向代理,http和https都要填,例如
+
+```json
+"network-proxies": {
+ "http": "http://127.0.0.1:7890",
+ "https": "http://127.0.0.1:7890"
+},
+```
+
+正向代理也可以用环境变量设置:http_proxy 和 https_proxy
+
+## 上报遥测数据 report-usage
+
+```json
+"report-usage": true,
+```
+
+`report-usage`:是否上报遥测数据供开发者分析,不包含敏感信息
+
+## 日志等级 logging-level
+
+```json
+"logging-level": "info",
+```
+
+`logging-level`:暂时没用,现在只能通过环境变量 DEBUG=true 来设置调试日志输出
+
+## 会话消息处理并发数 session-concurrency
+
+```json
+"session-concurrency": {
+ "default": 1
+},
+```
+
+`session-concurrency`:会话消息处理并发数,粒度是每个会话,session格式为 {type}_{id},未指定的session使用 default 配置
+
+## 流水线消息处理并发数 pipeline-concurrency
+
+```json
+"pipeline-concurrency": 20,
+```
+
+`pipeline-concurrency`:流水线消息处理并发数,粒度是整个程序,目前使用 FCFS 算法调度各个请求。
+
+## 遥测服务器url qcg-center-url
+
+QChatGPT 运行期间推送遥测数据的目标地址,默认为官方地址,若您自己部署了[qcg-center](https://github.com/RockChinQ/qcg-center),可以改为你的地址。
+
+```json
+"qcg-center-url": "https://api.qchatgpt.rockchin.top/api/v2"
+```
+
+## 帮助消息 help-message
+
+```json
+"help-message": "QChatGPT - 😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ 机器人🤖\n链接:https://q.rkcn.top"
+```
+
+`help-message`:帮助消息,用户发送 !help 命令时的输出
\ No newline at end of file
diff --git a/src/posts/metadata/adapter-qq-botpy.md b/docs/config/metadata/adapter-qq-botpy.md
similarity index 73%
rename from src/posts/metadata/adapter-qq-botpy.md
rename to docs/config/metadata/adapter-qq-botpy.md
index 3eb5bf7a6..9d29fa40b 100644
--- a/src/posts/metadata/adapter-qq-botpy.md
+++ b/docs/config/metadata/adapter-qq-botpy.md
@@ -1,33 +1,21 @@
----
-head:
- - - meta
- - name: keywords
- content: adapter-qq-botpy.json 元数据
-title: adapter-qq-botpy.json 元数据
-icon: config
-order: 3
-author: RockChinQ
-date: 2024-03-20
-category:
- - 配置文件
----
-
-`data/metadata/adapter-qq-botpy.json`,QQ 官方 API 适配器元数据。官方 API 在使用群聊接口时,群id和成员id为字符串,而 QChatGPT 内部只支持整型 id,为使重启后仍然是相同的对应关系,因此需要保存到一个文件中。
-
-## 格式
-
-```json
-{
- "mapping": {
- "groups": {
- "15944D6D2B525C6E3536134D4669F067": 443241151434655
- },
- "members": {
- "547A6244A731B4BEEBE5EE2AE4CD00A8": 232437565267568
- }
- }
-}
-```
-
-- `groups`: 群id映射关系,key为字符串群id,value为整型群id。
-- `members`: 成员id映射关系,key为字符串成员id,value为整型成员id。
+# adapter-qq-botpy.json 元数据
+
+`data/metadata/adapter-qq-botpy.json`,QQ 官方 API 适配器元数据。官方 API 在使用群聊接口时,群id和成员id为字符串,而 QChatGPT 内部只支持整型 id,为使重启后仍然是相同的对应关系,因此需要保存到一个文件中。
+
+## 格式
+
+```json
+{
+ "mapping": {
+ "groups": {
+ "15944D6D2B525C6E3536134D4669F067": 443241151434655
+ },
+ "members": {
+ "547A6244A731B4BEEBE5EE2AE4CD00A8": 232437565267568
+ }
+ }
+}
+```
+
+- `groups`: 群id映射关系,key为字符串群id,value为整型群id。
+- `members`: 成员id映射关系,key为字符串成员id,value为整型成员id。
\ No newline at end of file
diff --git a/src/posts/metadata/llm-models.md b/docs/config/metadata/llm-models.md
similarity index 90%
rename from src/posts/metadata/llm-models.md
rename to docs/config/metadata/llm-models.md
index 7076c4b85..2f347d8f0 100644
--- a/src/posts/metadata/llm-models.md
+++ b/docs/config/metadata/llm-models.md
@@ -1,64 +1,51 @@
----
-head:
- - - meta
- - name: keywords
- content: llm-models.json 元数据
-title: llm-models.json 元数据
-icon: config
-order: 2
-author: RockChinQ
-date: 2024-03-20
-category:
- - 配置文件
----
-
-`data/metadata/llm-models.json`,受支持的大语言模型列表,本文件中指定了可用于 `data/config/provider.json` 中的 `model` 列表,指定每个模型对应的 `Key 管理器` 和 `API 请求器`。
-
-## 格式
-
-```json
-{
- "list": [
- {
- "name": "default",
- "requester": "openai-chat-completions",
- "token_mgr": "openai",
- "tool_call_supported": false,
- "vision_supported": false
- },
- {
- "name": "gpt-3.5-turbo",
- "tool_call_supported": true
- },
- {
- "name": "gpt-4o",
- "tool_call_supported": true,
- "vision_supported": true
- }
- ]
-}
-```
-
-模型均列于`list`数组中,每个模型的字段如下:
-
-- `name`: 模型名称,用于在 `data/config/provider.json` 中的 `model` 列表中指定。
-- `model_name`: 进行请求时使用的模型名称,用于区分使用不同请求器的相同模型,若未设置则使用 `name` 字段。
-- `requester`: 请求器名称,指定使用哪个请求器请求该模型的响应,不同的请求器对应不同的 API,当前支持的模型,可以在 `data/config/provider.json` 中的 `requester` 列表中找到。
-- `token_mgr`: Key 管理器,此模型使用的 key 组,对应 `data/config/provider.json` 中的 `keys` 列表。
-- `tool_call_supported`: 是否支持工具调用,标记此模型是否支持使用`内容函数`。
-- `vision_supported`: 是否支持图像输入,标记此模型是否支持使用`图像输入`。
-
-`default` 模型是必须的,这是模型的默认配置,其他模型可以不设置所有的字段,只需设置 `name` 字段即可,其他字段会继承 `default` 模型的配置。
-
-## 自动更新机制
-
-每次启动时,程序会自动从中央服务器获取最新的模型列表,已有的的模型名称会被下载的新配置覆盖。
-
-## 自定义模型
-
-根据上述格式添加即可。
-
-- 如果需要使用目前不支持的接口(请求器),需要自己扩展请求器,请参考插件开发文档 -> 组件扩展。
-- key 组可以自己在 `data/config/provider.json` 中的 `keys` 列表中添加。
-- 不建议修改默认的模型配置,因为启动时会被自动更新的信息覆盖。
-
+# llm-models.json 元数据
+
+`data/metadata/llm-models.json`,受支持的大语言模型列表,本文件中指定了可用于 `data/config/provider.json` 中的 `model` 列表,指定每个模型对应的 `Key 管理器` 和 `API 请求器`。
+
+## 格式
+
+```json
+{
+ "list": [
+ {
+ "name": "default",
+ "requester": "openai-chat-completions",
+ "token_mgr": "openai",
+ "tool_call_supported": false,
+ "vision_supported": false
+ },
+ {
+ "name": "gpt-3.5-turbo",
+ "tool_call_supported": true
+ },
+ {
+ "name": "gpt-4o",
+ "tool_call_supported": true,
+ "vision_supported": true
+ }
+ ]
+}
+```
+
+模型均列于`list`数组中,每个模型的字段如下:
+
+- `name`: 模型名称,用于在 `data/config/provider.json` 中的 `model` 列表中指定。
+- `model_name`: 进行请求时使用的模型名称,用于区分使用不同请求器的相同模型,若未设置则使用 `name` 字段。
+- `requester`: 请求器名称,指定使用哪个请求器请求该模型的响应,不同的请求器对应不同的 API,当前支持的模型,可以在 `data/config/provider.json` 中的 `requester` 列表中找到。
+- `token_mgr`: Key 管理器,此模型使用的 key 组,对应 `data/config/provider.json` 中的 `keys` 列表。
+- `tool_call_supported`: 是否支持工具调用,标记此模型是否支持使用`内容函数`。
+- `vision_supported`: 是否支持图像输入,标记此模型是否支持使用`图像输入`。
+
+`default` 模型是必须的,这是模型的默认配置,其他模型可以不设置所有的字段,只需设置 `name` 字段即可,其他字段会继承 `default` 模型的配置。
+
+## 自动更新机制
+
+每次启动时,程序会自动从中央服务器获取最新的模型列表,已有的的模型名称会被下载的新配置覆盖。
+
+## 自定义模型
+
+根据上述格式添加即可。
+
+- 如果需要使用目前不支持的接口(请求器),需要自己扩展请求器,请参考插件开发文档 -> 组件扩展。
+- key 组可以自己在 `data/config/provider.json` 中的 `keys` 列表中添加。
+- 不建议修改默认的模型配置,因为启动时会被自动更新的信息覆盖。
\ No newline at end of file
diff --git a/docs/config/metadata/sensitive-words.md b/docs/config/metadata/sensitive-words.md
new file mode 100644
index 000000000..91cb4f1f4
--- /dev/null
+++ b/docs/config/metadata/sensitive-words.md
@@ -0,0 +1,3 @@
+# sensitive-words.json 元数据
+
+本地敏感词词库,参考 `data/metadata/sensitive-words.json` 内容进行修改即可。
\ No newline at end of file
diff --git a/src/posts/deploy/README.md b/docs/deploy/index.md
similarity index 85%
rename from src/posts/deploy/README.md
rename to docs/deploy/index.md
index 8631ad997..5e7aedfd9 100644
--- a/src/posts/deploy/README.md
+++ b/docs/deploy/index.md
@@ -1,48 +1,38 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: 部署教程
-icon: blog
-author: Lazy
-date: 2024-02-18
-index: false
----
-
-## 部署教程
-
-请按照以下步骤部署 QChatGPT 项目:
-
-- 第一步: [部署QChatGPT](qchatgpt/)
-- 第二步: [部署消息平台](platforms/)
-- 第三步: [填写配置信息](config.md)
-
-完成以上三个步骤后,你接下来应该仔细阅读左栏中的[配置详解](../config/README.md)和[元数据配置](../metadata/README.md),实现更多样化的配置需求
-
-## 社区资源
-
-### 视频教程
-
- [【8月最新】5min部署 最强AI语音聊天+酒馆角色扮演+QQ机器人,全新角色扮演语音聊天QQ机器人](https://www.bilibili.com/video/BV1vypZeBEW1/?share_source=copy_web&vd_source=1335a044d4fd926920999a0e3ba0a731)
-
-
-## 本项目交流 QQ 群
-
-### 社区群
-
-> 遇到问题请先认真阅读文档,如无法解决再加群提问
-
-Lazy的交流群一:891448839(已满)
-
-Lazy的交流群二:738382634(已满)
-
-Lazy的交流群三:248432104(已满)
-
-Lazy的交流群四:619154800 ([链接](https://qm.qq.com/q/1K9GjQuza))
-
-### 官方群
-
-> 官方群不解答部署问题
-
-四群:195992197 [链接](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=cSekvWmyezfCE4O8gXS7lSjkmPinjzpP&authKey=G4jHfz2%2BtQawxCRhn1ZRrQiI8bTvlepQubZL6F9fymFuz8jqZZ4FkYh6lhKLMCd9&noverify=0&group_code=195992197)
+# 部署教程
+
+## 部署教程
+
+请按照以下步骤部署 QChatGPT 项目:
+
+- 第一步: [部署QChatGPT](qchatgpt/)
+- 第二步: [部署消息平台](platforms/)
+- 第三步: [填写配置信息](config.md)
+
+完成以上三个步骤后,你接下来应该仔细阅读左栏中的[配置详解](../config/README.md)和[元数据配置](../metadata/README.md),实现更多样化的配置需求
+
+## 社区资源
+
+### 视频教程
+
+ [【8月最新】5min部署 最强AI语音聊天+酒馆角色扮演+QQ机器人,全新角色扮演语音聊天QQ机器人](https://www.bilibili.com/video/BV1vypZeBEW1/?share_source=copy_web&vd_source=1335a044d4fd926920999a0e3ba0a731)
+
+
+## 本项目交流 QQ 群
+
+### 社区群
+
+> 遇到问题请先认真阅读文档,如无法解决再加群提问
+
+Lazy的交流群一:891448839(已满)
+
+Lazy的交流群二:738382634(已满)
+
+Lazy的交流群三:248432104(已满)
+
+Lazy的交流群四:619154800 ([链接](https://qm.qq.com/q/1K9GjQuza))
+
+### 官方群
+
+> 官方群不解答部署问题
+
+四群:195992197 [链接](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=cSekvWmyezfCE4O8gXS7lSjkmPinjzpP&authKey=G4jHfz2%2BtQawxCRhn1ZRrQiI8bTvlepQubZL6F9fymFuz8jqZZ4FkYh6lhKLMCd9&noverify=0&group_code=195992197)
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/aiocqhttp/README.md b/docs/deploy/platforms/aiocqhttp/index.md
similarity index 65%
rename from src/posts/deploy/platforms/aiocqhttp/README.md
rename to docs/deploy/platforms/aiocqhttp/index.md
index 8d873f76a..ac3c1182c 100644
--- a/src/posts/deploy/platforms/aiocqhttp/README.md
+++ b/docs/deploy/platforms/aiocqhttp/index.md
@@ -1,14 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: Lagrange的部署教程
-title: aiocqhttp适配器系列教程
-icon: mobile
-order: 4
-author: RockChinQ,ikun0014
-date: 2024-05-05
----
+# aiocqhttp适配器系列教程
## OneBot 11 协议
@@ -30,7 +20,7 @@ OneBot 是用于接入多种消息平台的标准化协议,详细介绍:[htt
当前可用的OneBot 11标准消息平台,你可以选择下方任意
-- [Lagrange.OneBot的教程](lagrange.md)
-- [LiteLoaderQQNT的教程](llonebot.md)
-- [NapCat的教程](napcat.md)
-- [shamrock的教程](shamrock.md)
\ No newline at end of file
+- [Lagrange.OneBot的教程](./lagrange)
+- [NapCat的教程](./napcat)
+- [LiteLoaderQQNT的教程](./llonebot)
+- [shamrock的教程](./shamrock)
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/aiocqhttp/lagrange.md b/docs/deploy/platforms/aiocqhttp/lagrange.md
similarity index 90%
rename from src/posts/deploy/platforms/aiocqhttp/lagrange.md
rename to docs/deploy/platforms/aiocqhttp/lagrange.md
index ac14cbdd7..60da1ef75 100644
--- a/src/posts/deploy/platforms/aiocqhttp/lagrange.md
+++ b/docs/deploy/platforms/aiocqhttp/lagrange.md
@@ -1,69 +1,59 @@
----
-head:
- - - meta
- - name: keywords
- content: Lagrange的部署教程
-title: 部署消息平台Lagrange的教程
-icon: support
-order: 1
-author: RockChinQ,ikun0014
-date: 2024-05-05
----
-
-## Lagrange介绍
-
-Lagrange 是一个 QQNT 协议逆向工程框架,比 Shamrock 或 Mirai 更加轻便,在目前也较为稳定。通过 OneBot 11 协议接入,需选择使用`aiocqhttp`作为适配器,填写配置时可参考 Shamrock 的方式。
-
-可选平台(需要.NET 8 or 7支持):
-
-- Mac OS 也可使用
-- Linux Ubuntu 22.04,Debian 12应该都可以
-- Windows 10,11,Server2019及以上
-
-> 注意:
-> 要使用NT QQ发信息,旧版QQ无法正常使用
-
-
-## 部署步骤
-
-以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/Lagrange.OneBot/)
-
-### 环境配置
-
-安装.NET 8运行时,[点击直达微软官网下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.4-windows-x64-installer)
-
-### 从Github Actions下载最新的build
-
-需要登录Github后才能下载,如果你不需要部分特性,可以在Release下载,看图片3
-
-[Github Actions](https://github.com/KonataDev/Lagrange.Core/actions)
-
-看图进行下载:
-
-
-
-
-
-
-
-### 尾声
-
-解压你所下载的zip,打开到有Lagrange.OneBot.exe的目录,在此目录下打开cmd命令提示符,输入
-
-```bash
-.\Lagrange.OneBot
-```
-
-运行一次,如果输出了一个二维码,即可直接用机器人号扫码登录(若二维码显示不清楚,可以到lagrange的data目录下寻找图片文件)。
-
-若无法登录,请检查是否正常填写了lagrange配置文件appsettings.json中的签名地址 SignServerUrl ,签名地址请到lagrange文档中寻找。
-
-## 修改配置
-
-需要配置 Lagrange 以让其连接上 QChatGPT,请编辑 Lagrange 的配置文件 appsettings.json,确保 Implementations 中的连接配置符合下图内容:
-
-
-
-其中 Type 必须为 `ReverseWebSocket`;
-Host 为 QChatGPT 运行的主机 IP,若在同一主机上,可以写 `127.0.0.1`;
-Suffix 必须为 `/ws`
+# 部署消息平台Lagrange的教程
+
+## Lagrange介绍
+
+Lagrange 是一个 QQNT 协议逆向工程框架,比 Shamrock 或 Mirai 更加轻便,在目前也较为稳定。通过 OneBot 11 协议接入,需选择使用`aiocqhttp`作为适配器,填写配置时可参考 Shamrock 的方式。
+
+可选平台(需要.NET 8 or 7支持):
+
+- Mac OS 也可使用
+- Linux Ubuntu 22.04,Debian 12应该都可以
+- Windows 10,11,Server2019及以上
+
+> 注意:
+> 要使用NT QQ发信息,旧版QQ无法正常使用
+
+
+## 部署步骤
+
+以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/Lagrange.OneBot/)
+
+### 环境配置
+
+安装.NET 8运行时,[点击直达微软官网下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.4-windows-x64-installer)
+
+### 从Github Actions下载最新的build
+
+需要登录Github后才能下载,如果你不需要部分特性,可以在Release下载,看图片3
+
+[Github Actions](https://github.com/KonataDev/Lagrange.Core/actions)
+
+看图进行下载:
+
+
+
+
+
+
+
+### 尾声
+
+解压你所下载的zip,打开到有Lagrange.OneBot.exe的目录,在此目录下打开cmd命令提示符,输入
+
+```bash
+.\Lagrange.OneBot
+```
+
+运行一次,如果输出了一个二维码,即可直接用机器人号扫码登录(若二维码显示不清楚,可以到lagrange的data目录下寻找图片文件)。
+
+若无法登录,请检查是否正常填写了lagrange配置文件appsettings.json中的签名地址 SignServerUrl ,签名地址请到lagrange文档中寻找。
+
+## 修改配置
+
+需要配置 Lagrange 以让其连接上 QChatGPT,请编辑 Lagrange 的配置文件 appsettings.json,确保 Implementations 中的连接配置符合下图内容:
+
+
+
+其中 Type 必须为 `ReverseWebSocket`;
+Host 为 QChatGPT 运行的主机 IP,若在同一主机上,可以写 `127.0.0.1`;
+Suffix 必须为 `/ws`
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/aiocqhttp/llonebot.md b/docs/deploy/platforms/aiocqhttp/llonebot.md
similarity index 50%
rename from src/posts/deploy/platforms/aiocqhttp/llonebot.md
rename to docs/deploy/platforms/aiocqhttp/llonebot.md
index 855d0b06c..4e3f8950c 100644
--- a/src/posts/deploy/platforms/aiocqhttp/llonebot.md
+++ b/docs/deploy/platforms/aiocqhttp/llonebot.md
@@ -1,19 +1,9 @@
----
-head:
- - - meta
- - name: keywords
- content: 其他消息平台
-title: 部署消息平台LiteLoaderQQNT的教程
-icon: more
-order: 2
-author: RockChinQ
-date: 2024-03-02
----
-
-# LiteLoaderQQNT
-
-- [LiteLoaderQQNT 的 OneBot API 插件](https://github.com/LLOneBot/LLOneBot) 注入 QQ 客户端并将其转换为 OneBot 11 协议
-
-安装LiteLoaderQQNT的教程:https://llonebot.github.io/zh-CN/guide/getting-started
-
-
+# 部署消息平台LiteLoaderQQNT的教程
+
+# LiteLoaderQQNT
+
+- [LiteLoaderQQNT 的 OneBot API 插件](https://github.com/LLOneBot/LLOneBot) 注入 QQ 客户端并将其转换为 OneBot 11 协议
+
+安装LiteLoaderQQNT的教程:https://llonebot.github.io/zh-CN/guide/getting-started
+
+
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/aiocqhttp/napcat.md b/docs/deploy/platforms/aiocqhttp/napcat.md
similarity index 78%
rename from src/posts/deploy/platforms/aiocqhttp/napcat.md
rename to docs/deploy/platforms/aiocqhttp/napcat.md
index 2eaad706f..75f540722 100644
--- a/src/posts/deploy/platforms/aiocqhttp/napcat.md
+++ b/docs/deploy/platforms/aiocqhttp/napcat.md
@@ -1,14 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: NapCat的部署教程
-title: 部署消息平台NapCat的教程
-icon: software
-order: 3
-author: Lazy
-date: 2024-05-13
----
+# 部署消息平台NapCat的教程
::: tip
diff --git a/src/posts/deploy/platforms/aiocqhttp/shamrock.md b/docs/deploy/platforms/aiocqhttp/shamrock.md
similarity index 92%
rename from src/posts/deploy/platforms/aiocqhttp/shamrock.md
rename to docs/deploy/platforms/aiocqhttp/shamrock.md
index 7567c93a0..a89a247d8 100644
--- a/src/posts/deploy/platforms/aiocqhttp/shamrock.md
+++ b/docs/deploy/platforms/aiocqhttp/shamrock.md
@@ -1,84 +1,74 @@
----
-head:
- - - meta
- - name: keywords
- content: OpenShamrock的部署教程
-title: 部署消息平台shamrock的教程
-icon: mobile
-order: 4
-author: ikun
-date: 2023-12-21
----
-
-> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[OpenShamrock官方文档](https://whitechi73.github.io/OpenShamrock/)。
-
-::: tip
-
-项目归档,不建议继续使用
-
-:::
-
-## OpenShamrock简介
-
-Mirai、go-cqhttp 之类的是模拟 QQ 的协议进行通信,而 Shamrock 使用的是 安卓的 Hook 来操作 QQ 模拟点击,稳定性较高。
-
-可选平台(or设备):
-
-- 模拟器
-- Linux服务器
-- PVE
-- 云手机
-- 实体手机
-
-## 步骤(模拟器)
-
-### 环境配置
-
-**注:建议使用[mumu模拟器](https://mumu.163.com/)**
-
-参考[此文档](https://forum.libfekit.so/d/60-mumu12mo-ni-qi-an-zhuang-magiskhe-lsposed)安装Magisk和LSPosed
-
-记得打开mumu模拟器的可写系统盘和root权限
-
-
-
-
-
-### 安装OpenShamrock
-
-从[OpenShamrock的Actions](https://github.com/whitechi73/OpenShamrock/actions)下载最新的OpenShamrock安装包,注意下载带有`all`字样的版本,如`Shamrock-v1.0.7.r253.81be383-all.zip`,解压,在mumu模拟器安装
-
-
-#### 配置Shamrock
-
-1. 在 Shamrock 的设置页面修改设置如图:
-
-启用被动 Websocket,并填写 QChatGPT 的 aiocqhttp 适配器监听的地址和端口(详见填写配置信息页)。
-
-
-
-
-
-填写的被动 Websocket 地址为 QChatGPT 的 aiocqhttp 适配器监听的地址和端口,且路径必须为 `/ws`,例如 `ws://127.0.0.1:8080/ws`,详见填写配置信息页。
-
-2. 并前往 LSPosed 的模块管理页面 启用模块 Shamrock
-
-
-
-### 安装QQ
-
-参考[此页面](https://whitechi73.github.io/OpenShamrock/guide/faq.html#%E6%94%AF%E6%8C%81%E7%9A%84qq%E7%89%88%E6%9C%AC)给出的支持的QQ版本,选择最新即可
-
-在[这里](https://qq.cn.uptodown.com/android/versions)选择对应的版本下载,在mumu模拟器安装即可
-
-### 登录机器人QQ
-
-1. 打开QQ,登录机器人QQ,关闭QQ,重启模拟器。
-2. 启动 LSPosed,Shamrock 将会自动运行,启动 QQ。
-3. 打开 Shamrock 页面,此时应显示 `已激活` 并可以查看到账号信息和相关消息日志。
-
-### 后续步骤
-
-查看填写配置信息页,通过 aiocqhttp 适配器接入。
-
+# 部署消息平台shamrock的教程
+
+> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[OpenShamrock官方文档](https://whitechi73.github.io/OpenShamrock/)。
+
+::: tip
+
+项目归档,不建议继续使用
+
+:::
+
+## OpenShamrock简介
+
+Mirai、go-cqhttp 之类的是模拟 QQ 的协议进行通信,而 Shamrock 使用的是 安卓的 Hook 来操作 QQ 模拟点击,稳定性较高。
+
+可选平台(or设备):
+
+- 模拟器
+- Linux服务器
+- PVE
+- 云手机
+- 实体手机
+
+## 步骤(模拟器)
+
+### 环境配置
+
+**注:建议使用[mumu模拟器](https://mumu.163.com/)**
+
+参考[此文档](https://forum.libfekit.so/d/60-mumu12mo-ni-qi-an-zhuang-magiskhe-lsposed)安装Magisk和LSPosed
+
+记得打开mumu模拟器的可写系统盘和root权限
+
+
+
+
+
+### 安装OpenShamrock
+
+从[OpenShamrock的Actions](https://github.com/whitechi73/OpenShamrock/actions)下载最新的OpenShamrock安装包,注意下载带有`all`字样的版本,如`Shamrock-v1.0.7.r253.81be383-all.zip`,解压,在mumu模拟器安装
+
+
+#### 配置Shamrock
+
+1. 在 Shamrock 的设置页面修改设置如图:
+
+启用被动 Websocket,并填写 QChatGPT 的 aiocqhttp 适配器监听的地址和端口(详见填写配置信息页)。
+
+
+
+
+
+填写的被动 Websocket 地址为 QChatGPT 的 aiocqhttp 适配器监听的地址和端口,且路径必须为 `/ws`,例如 `ws://127.0.0.1:8080/ws`,详见填写配置信息页。
+
+2. 并前往 LSPosed 的模块管理页面 启用模块 Shamrock
+
+
+
+### 安装QQ
+
+参考[此页面](https://whitechi73.github.io/OpenShamrock/guide/faq.html#%E6%94%AF%E6%8C%81%E7%9A%84qq%E7%89%88%E6%9C%AC)给出的支持的QQ版本,选择最新即可
+
+在[这里](https://qq.cn.uptodown.com/android/versions)选择对应的版本下载,在mumu模拟器安装即可
+
+### 登录机器人QQ
+
+1. 打开QQ,登录机器人QQ,关闭QQ,重启模拟器。
+2. 启动 LSPosed,Shamrock 将会自动运行,启动 QQ。
+3. 打开 Shamrock 页面,此时应显示 `已激活` 并可以查看到账号信息和相关消息日志。
+
+### 后续步骤
+
+查看填写配置信息页,通过 aiocqhttp 适配器接入。
+

\ No newline at end of file
diff --git a/src/posts/deploy/platforms/aiocqhttp/gocq.md b/docs/deploy/platforms/gocq.md
similarity index 85%
rename from src/posts/deploy/platforms/aiocqhttp/gocq.md
rename to docs/deploy/platforms/gocq.md
index 45e4aeb2e..12e8eea0b 100644
--- a/src/posts/deploy/platforms/aiocqhttp/gocq.md
+++ b/docs/deploy/platforms/gocq.md
@@ -1,158 +1,151 @@
----
-head:
- - - meta
- - name: keywords
- content: Go-cqhttp的部署教程
-title: 部署消息平台go-cqhttp的教程
-icon: state
-order: 3
-author: ikun0014
-date: 2024-08-18
-category:
- - 部署教程
----
-
-> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[go-cqhttp官方文档](https://docs.go-cqhttp.org/)。
-
-::: warning
-
-gocq未归档,但原开发者表示:[https://github.com/Mrs4s/go-cqhttp/issues/2471](https://github.com/Mrs4s/go-cqhttp/issues/2471)
-
-:::
-
-## 下载go-cqhttp
-
-从[go-cqhttp的Release](https://github.com/Mrs4s/go-cqhttp/releases/latest)下载最新的go-cqhttp可执行文件(建议直接下载可执行文件压缩包,而不是安装器)
-
-
-
-## 运行并配置go-cqhttp
-
-解压并运行,首次运行会询问需要开放的网络协议,**请填入`2`并回车,必须输入`2`❗❗❗❗❗❗❗**
-
-```
-C:\Softwares\go-cqhttp.old> .\go-cqhttp.exe
-未找到配置文件,正在为您生成配置文件中!
-请选择你需要的通信方式:
-> 0: HTTP通信
-> 1: 云函数服务
-> 2: 正向 Websocket 通信
-> 3: 反向 Websocket 通信
-请输入你需要的编号(0-9),可输入多个,同一编号也可输入多个(如: 233)
-您的选择是:2
-```
-
-提示已生成`config.yml`文件,关闭go-cqhttp。
-
-打开go-cqhttp同目录的`config.yml`
-
-1. 编辑账号登录信息
-
-只需要修改下方`uin`和`password`为你要登录的机器人账号的QQ号和密码即可。
-
-```yaml
-account: # 账号相关
- uin: 1233456 # QQ账号
- password: '' # 密码为空时使用扫码登录
- encrypt: false # 是否开启密码加密
- status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
- relogin: # 重连设置
- delay: 3 # 首次重连延迟, 单位秒
- interval: 3 # 重连间隔
- max-times: 0 # 最大重连次数, 0为无限制
-```
-
-2. 配置签名服务器
-
-按照如下填写,
-
-```yaml
- sign-servers:
- - url: 'https://qsign.trpgbot.com/' # 主签名服务器地址, 必填
- key: 'selfshare'
- authorization: '-'
- - url: 'https://qsign-v3.trpgbot.com/' # 次要服务器地址,选填
- key: 'selfshare'
- authorization: '-'
-
- auto-register: true
-```
-
-写入文件/data/versions/6.json,
-
-```json
-{
- "apk_id": "com.tencent.mobileqq",
- "app_id": 537220362,
- "sub_app_id": 537220362,
- "app_key": "0S200MNJT807V3GE",
- "sort_version_name": "9.0.56.16830",
- "build_time": 1713424357,
- "apk_sign": "a6b745bf24a2c277527716f6f36eb68d",
- "sdk_version": "6.0.0.2560",
- "sso_version": 21,
- "misc_bitmap": 150470524,
- "main_sig_map": 34869472,
- "sub_sig_map": 66560,
- "dump_time": 1713424357,
- "qua": "V1_AND_SQ_9.0.56_6372_YYB_D",
- "protocol_type": 6
-}
-```
-
-感谢zhaodice大佬带来的QQ 9.0.56签名服务器
-
-3.修改反向Websocket连接地址
-```yaml
- - ws-reverse:
- # 反向WS Universal 地址
- # 注意 设置了此项地址后下面两项将会被忽略
- universal: ws://localhost:8080/ws
-```
-如果端口不同请自行修改
-
-4. 若您的服务器位于公网,强烈建议您填写`access-token` (可选)
-
-```yaml
-# 默认中间件锚点
-default-middlewares: &default
- # 访问密钥, 强烈推荐在公网的服务器设置
- access-token: ''
-```
-
-5. 配置完成,重新启动go-cqhttp
-
-## 登录
-
-双击登录脚本,一段时间后,可以看到提示
-
-
-
-把`Captcha link: `后边的链接复制下来,用Chrome或者Edge浏览器打开,按F12打开开发者工具
-
-点开 `Network`
-
-
-
-在浏览器中完成验证, 在 `Network` 中找到名为 `cap_union_new_verify` 的请求, 在最下面
-
-
-
-ticket 后那一坨就是要输入回 mirai 的内容,但不包括首尾的双引号
-
-**注意**
-
-- 复制的时候记得删掉引号(`"`, 前后都有一个), 那个不是ticket内容
-- 速度要快
-- 注意不要漏字符(没复制完, 后面还有很长)
-
-把复制下来的东西,粘贴到运行go-cq的终端中
-
-
-
-> 若启动后登录不成功,请尝试根据[此文档](https://docs.go-cqhttp.org/guide/config.html#%E8%AE%BE%E5%A4%87%E4%BF%A1%E6%81%AF)修改`device.json`的协议编号。
-
-
-## 后续步骤
-
-查看填写配置信息页,通过 aiocqhttp 适配器接入。
\ No newline at end of file
+# 部署消息平台go-cqhttp的教程
+
+> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[go-cqhttp官方文档](https://docs.go-cqhttp.org/)。
+
+::: warning
+
+gocq未归档,但原开发者表示:[https://github.com/Mrs4s/go-cqhttp/issues/2471](https://github.com/Mrs4s/go-cqhttp/issues/2471)
+
+:::
+
+## 下载go-cqhttp
+
+从[go-cqhttp的Release](https://github.com/Mrs4s/go-cqhttp/releases/latest)下载最新的go-cqhttp可执行文件(建议直接下载可执行文件压缩包,而不是安装器)
+
+
+
+## 运行并配置go-cqhttp
+
+解压并运行,首次运行会询问需要开放的网络协议,**请填入`02`并回车,必须输入`02`❗❗❗❗❗❗❗**
+
+```
+C:\Softwares\go-cqhttp.old> .\go-cqhttp.exe
+未找到配置文件,正在为您生成配置文件中!
+请选择你需要的通信方式:
+> 0: HTTP通信
+> 1: 云函数服务
+> 2: 正向 Websocket 通信
+> 3: 反向 Websocket 通信
+请输入你需要的编号(0-9),可输入多个,同一编号也可输入多个(如: 233)
+您的选择是:02
+```
+
+提示已生成`config.yml`文件,关闭go-cqhttp。
+
+打开go-cqhttp同目录的`config.yml`
+
+1. 编辑账号登录信息
+
+只需要修改下方`uin`和`password`为你要登录的机器人账号的QQ号和密码即可。
+
+```yaml
+account: # 账号相关
+ uin: 1233456 # QQ账号
+ password: '' # 密码为空时使用扫码登录
+ encrypt: false # 是否开启密码加密
+ status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
+ relogin: # 重连设置
+ delay: 3 # 首次重连延迟, 单位秒
+ interval: 3 # 重连间隔
+ max-times: 0 # 最大重连次数, 0为无限制
+```
+
+2. 修改websocket端口
+
+在`config.yml`下方找到以下内容
+
+```yaml
+ - ws:
+ # 正向WS服务器监听地址
+ address: 0.0.0.0:8080
+ middlewares:
+ <<: *default # 引用默认中间件
+```
+
+**将`0.0.0.0:8080`改为`0.0.0.0:6700`**,保存并关闭`config.yml`。
+
+3. 配置签名服务器
+
+按照如下填写,
+
+```yam
+ sign-servers:
+ - url: 'https://qsign.trpgbot.com/' # 主签名服务器地址, 必填
+ key: 'selfshare'
+ authorization: '-'
+ - url: 'https://qsign-v3.trpgbot.com/' # 次要服务器地址,选填
+ key: 'selfshare'
+ authorization: '-'
+
+ auto-register: true
+```
+
+写入文件/data/versions/6.json,
+
+```json
+{
+ "apk_id": "com.tencent.mobileqq",
+ "app_id": 537220362,
+ "sub_app_id": 537220362,
+ "app_key": "0S200MNJT807V3GE",
+ "sort_version_name": "9.0.56.16830",
+ "build_time": 1713424357,
+ "apk_sign": "a6b745bf24a2c277527716f6f36eb68d",
+ "sdk_version": "6.0.0.2560",
+ "sso_version": 21,
+ "misc_bitmap": 150470524,
+ "main_sig_map": 34869472,
+ "sub_sig_map": 66560,
+ "dump_time": 1713424357,
+ "qua": "V1_AND_SQ_9.0.56_6372_YYB_D",
+ "protocol_type": 6
+}
+```
+
+感谢zhaodice大佬带来的QQ 9.0.56签名服务器
+
+4. 若您的服务器位于公网,强烈建议您填写`access-token` (可选)
+
+```yaml
+# 默认中间件锚点
+default-middlewares: &default
+ # 访问密钥, 强烈推荐在公网的服务器设置
+ access-token: ''
+```
+
+5. 配置完成,重新启动go-cqhttp
+
+## 登录
+
+双击登录脚本,一段时间后,可以看到提示
+
+
+
+把`Captcha link: `后边的链接复制下来,用Chrome或者Edge浏览器打开,按F12打开开发者工具
+
+点开 `Network`
+
+
+
+在浏览器中完成验证, 在 `Network` 中找到名为 `cap_union_new_verify` 的请求, 在最下面
+
+
+
+ticket 后那一坨就是要输入回 mirai 的内容,但不包括首尾的双引号
+
+**注意**
+
+- 复制的时候记得删掉引号(`"`, 前后都有一个), 那个不是ticket内容
+- 速度要快
+- 注意不要漏字符(没复制完, 后面还有很长)
+
+把复制下来的东西,粘贴到运行go-cq的终端中
+
+
+
+> 若启动后登录不成功,请尝试根据[此文档](https://docs.go-cqhttp.org/guide/config.html#%E8%AE%BE%E5%A4%87%E4%BF%A1%E6%81%AF)修改`device.json`的协议编号。
+
+
+## 后续步骤
+
+查看填写配置信息页,通过 Nakuru 适配器接入。
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/README.md b/docs/deploy/platforms/index.md
similarity index 75%
rename from src/posts/deploy/platforms/README.md
rename to docs/deploy/platforms/index.md
index 55373e8b2..ac5bedcef 100644
--- a/src/posts/deploy/platforms/README.md
+++ b/docs/deploy/platforms/index.md
@@ -1,14 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: 消息平台部署教程
-icon: merge
-author: Lazy
-date: 2023-02-17
-index: false
----
+# 消息平台部署教程
:::info 目录
[[toc]]
@@ -29,5 +19,4 @@ QChatGPT 需要一个中间程序,处理 QQ 等 IM 的协议(大部分是逆
以前流行的框架,现在长期不再维护或被腾讯严重围追堵截,不推荐使用:
- Mirai(QQ):[Mirai部署教程](mirai.md) (使用旧版协议,风控严重)
-- go-cqhttp(QQ):[go-cqhttp部署教程(For nakuru)](nakuru.md)(使用旧版协议,[原开发者停止维护](https://github.com/Mrs4s/go-cqhttp?tab=readme-ov-file#%E9%87%8D%E8%A6%81%E4%BF%A1%E6%81%AF))
-
+- go-cqhttp(QQ):[go-cqhttp部署教程(For nakuru)](nakuru.md)(使用旧版协议,[原开发者停止维护](https://github.com/Mrs4s/go-cqhttp?tab=readme-ov-file#%E9%87%8D%E8%A6%81%E4%BF%A1%E6%81%AF))
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/mirai.md b/docs/deploy/platforms/mirai.md
similarity index 93%
rename from src/posts/deploy/platforms/mirai.md
rename to docs/deploy/platforms/mirai.md
index c76761678..4d15c4d9e 100644
--- a/src/posts/deploy/platforms/mirai.md
+++ b/docs/deploy/platforms/mirai.md
@@ -1,16 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: Yiri-mirai的部署教程
-title: 部署消息平台mirai的教程
-icon: warn
-order: 3
-author: Lazy
-date: 2023-12-18
-category:
- - 部署教程
----
+# 部署消息平台mirai的教程
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[Mirai官方代码库](https://github.com/mamoe/mirai)、[Mirai官方论坛](https://mirai.mamoe.net/)
diff --git a/src/posts/deploy/platforms/official.md b/docs/deploy/platforms/official.md
similarity index 72%
rename from src/posts/deploy/platforms/official.md
rename to docs/deploy/platforms/official.md
index 58a085463..d3dd07e15 100644
--- a/src/posts/deploy/platforms/official.md
+++ b/docs/deploy/platforms/official.md
@@ -1,26 +1,14 @@
----
-head:
- - - meta
- - name: keywords
- content: QQ 官方机器人 API 使用教程
-title: 使用 QQ 官方机器人 API 的教程
-icon: support
-order: 5
-author: RockChinQ
-date: 2024-02-17
-category:
- - 部署教程
----
-
-QQ 官方 API 可以将机器人接入 QQ 频道 和 QQ 群。
-QQ官方机器人所有人均可申请,可以在频道和群聊中使用,私聊也可。
-
-(之前个人创建的机器人是没有此群聊权限的,只要重新申请创建一个即可)
-
-## 注册 QQ 机器人
-
-前往[QQ开放平台](https://q.qq.com/#/),找到下方的 QQ 机器人文档,按照指引注册 QQ 频道机器人。
-
-## 获取凭证
-
+# 使用 QQ 官方机器人 API 的教程
+
+QQ 官方 API 可以将机器人接入 QQ 频道 和 QQ 群。
+QQ官方机器人所有人均可申请,可以在频道和群聊中使用,私聊也可。
+
+(之前个人创建的机器人是没有此群聊权限的,只要重新申请创建一个即可)
+
+## 注册 QQ 机器人
+
+前往[QQ开放平台](https://q.qq.com/#/),找到下方的 QQ 机器人文档,按照指引注册 QQ 频道机器人。
+
+## 获取凭证
+
注册完成后,前往机器人控制台,找到 开发设置,获取 `AppId(机器人ID)` 和 `AppSecret(机器人密钥)`,接下来进入填写配置信息步骤。
\ No newline at end of file
diff --git a/src/posts/deploy/qchatgpt/docker.md b/docs/deploy/qchatgpt/docker.md
similarity index 81%
rename from src/posts/deploy/qchatgpt/docker.md
rename to docs/deploy/qchatgpt/docker.md
index 8c9c26076..396a94858 100644
--- a/src/posts/deploy/qchatgpt/docker.md
+++ b/docs/deploy/qchatgpt/docker.md
@@ -1,15 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: Docker部署(仅推荐在Linux上使用)
-icon: stack
-order: 4
-author: Lazy,ikun
-date: 2023-10-28
----
-
+# Docker部署(仅推荐在Linux上使用)
:::info 目录
[[toc]]
@@ -56,6 +45,4 @@ docker compose up
## 注意
-- 安装的插件都会保存在`plugins`(映射到本目录`plugins`),安装插件时可能会自动安装相应的依赖,此时若`重新创建`容器,已安装的插件将被加载,但所需的增量依赖并未安装,会导致引入问题。您可以删除插件目录后重启,再次安装插件,以便程序可以自动安装插件所需依赖。
-
-
\ No newline at end of file
+- 安装的插件都会保存在`plugins`(映射到本目录`plugins`),安装插件时可能会自动安装相应的依赖,此时若`重新创建`容器,已安装的插件将被加载,但所需的增量依赖并未安装,会导致引入问题。您可以删除插件目录后重启,再次安装插件,以便程序可以自动安装插件所需依赖。
\ No newline at end of file
diff --git a/src/posts/deploy/qchatgpt/README.md b/docs/deploy/qchatgpt/index.md
similarity index 53%
rename from src/posts/deploy/qchatgpt/README.md
rename to docs/deploy/qchatgpt/index.md
index 4fff6d9cd..53f65acbd 100644
--- a/src/posts/deploy/qchatgpt/README.md
+++ b/docs/deploy/qchatgpt/index.md
@@ -1,24 +1,15 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: QChatGPT部署教程
-icon: flow
-author: Lazy
-date: 2023-02-17
-index: false
----
-:::info 目录
-[[toc]]
-:::
-
-选择一种部署 QChatGPT 的方式。
-
-## 手动部署
-
-- [ 点击查看手动部署的具体操作](manual.md)
-
-## Docker部署
-
-- [ 点击查看Docker部署的具体操作](docker.md)
+# QChatGPT部署教程
+
+:::info 目录
+[[toc]]
+:::
+
+选择一种部署 QChatGPT 的方式。
+
+## 手动部署
+
+- [ 点击查看手动部署的具体操作](manual.md)
+
+## Docker部署
+
+- [ 点击查看Docker部署的具体操作](docker.md)
\ No newline at end of file
diff --git a/src/posts/deploy/qchatgpt/manual.md b/docs/deploy/qchatgpt/manual.md
similarity index 84%
rename from src/posts/deploy/qchatgpt/manual.md
rename to docs/deploy/qchatgpt/manual.md
index bf820fd4f..218a8d41d 100644
--- a/src/posts/deploy/qchatgpt/manual.md
+++ b/docs/deploy/qchatgpt/manual.md
@@ -1,14 +1,5 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: 手动部署(推荐,可以在所有平台上使用)
-icon: support
-order: 3
-author: Lazy
-date: 2023-02-17
----
+# 手动部署(推荐,可以在所有平台上使用)
+
:::warning
请使用Python 3.10.1(不包含3.10.0)及以上版本,推荐3.10.9版本,没有Python的需自行安装,参考[此教程](./more-details/python.md)
:::
@@ -77,4 +68,4 @@ python3 main.py
当你部署消息平台和填写配置文件后,再次运行
```bash
python3 main.py
-```
+```
\ No newline at end of file
diff --git a/src/posts/deploy/qchatgpt/more-details/python.md b/docs/deploy/qchatgpt/more-details/python.md
similarity index 68%
rename from src/posts/deploy/qchatgpt/more-details/python.md
rename to docs/deploy/qchatgpt/more-details/python.md
index 43185e1d8..ef95920c2 100644
--- a/src/posts/deploy/qchatgpt/more-details/python.md
+++ b/docs/deploy/qchatgpt/more-details/python.md
@@ -1,14 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: Python的安装教程
-title: Python的安装教程(QChatGPT)
-icon: support
-order: 3
-author: Lazy
-date: 2023-12-18
----
+# Python的安装教程(QChatGPT)
## 第一步:安装Python
@@ -30,4 +20,4 @@ date: 2023-12-18

-提示如图时,表明安装成功了
+提示如图时,表明安装成功了
\ No newline at end of file
diff --git a/src/posts/deploy/config.md b/docs/deploy/quick-config/config.md
similarity index 93%
rename from src/posts/deploy/config.md
rename to docs/deploy/quick-config/config.md
index 2d97fa13d..11191a22b 100644
--- a/src/posts/deploy/config.md
+++ b/docs/deploy/quick-config/config.md
@@ -1,13 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: 填写配置信息
-icon: class
-author: Lazy
-date: 2024-02-18
----
+# 填写配置信息
修改以下配置文件即可启用 QChatGPT 的基本功能,当你阅读完此页面后,建议查看[配置详解](../config/),以了解更多的配置项详解
@@ -183,5 +174,4 @@ date: 2024-02-18
阅读并完成以上教程后,你应该可以成功使用QChatGPT了,如果不能请再次阅读(你或许漏做或错做某些步骤),如果完全阅读并充分理解本文档后仍然确实无法使用,你可以在[这里](./README.md)找到交流群
-:::
-
+:::
\ No newline at end of file
diff --git a/src/posts/plugin/apiref.md b/docs/develop/api-ref.md
similarity index 82%
rename from src/posts/plugin/apiref.md
rename to docs/develop/api-ref.md
index 5affafa47..8cfbf1c8d 100644
--- a/src/posts/plugin/apiref.md
+++ b/docs/develop/api-ref.md
@@ -1,38 +1,25 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT API 参考
-title: API 参考
-icon: code
-order: 5
-author: RockChinQ
-date: 2024-03-22
-category:
- - 插件介绍
-index: false
----
-
-以下 API 仅针对 事件插件 可用,组件扩展形式请自行阅读源码。
-
-## 消息处理
-
-### 回复消息
-
-ctx.reply(message_chain: mirai.MessageChain)
-
-回复此次事件的发起会话。
-
-- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
-
-### 发送主动消息
-
-> 由于 QQ 官方 API 对主动消息的支持性很差,故若用户使用的是 QQ 官方 API,发送主动消息可能会失败
-
-ctx.send_message(target_type: str, target_id: str, message_chain: mirai.MessageChain)
-
-发送主动消息给目标。
-
-- `target_type`:目标类型,可选值:`"person"`、`"group"`
-- `target_id`:目标 ID(QQ 号或群号)
-- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
+# API 参考
+
+以下 API 仅针对 事件插件 可用,组件扩展形式请自行阅读源码。
+
+## 消息处理
+
+### 回复消息
+
+ctx.reply(message_chain: mirai.MessageChain)
+
+回复此次事件的发起会话。
+
+- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
+
+### 发送主动消息
+
+> 由于 QQ 官方 API 对主动消息的支持性很差,故若用户使用的是 QQ 官方 API,发送主动消息可能会失败
+
+ctx.send_message(target_type: str, target_id: str, message_chain: mirai.MessageChain)
+
+发送主动消息给目标。
+
+- `target_type`:目标类型,可选值:`"person"`、`"group"`
+- `target_id`:目标 ID(QQ 号或群号)
+- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
\ No newline at end of file
diff --git a/src/posts/plugin/extension.md b/docs/develop/extension.md
similarity index 96%
rename from src/posts/plugin/extension.md
rename to docs/develop/extension.md
index 4036b1e5c..ba8311038 100644
--- a/src/posts/plugin/extension.md
+++ b/docs/develop/extension.md
@@ -1,115 +1,102 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT 组件扩展教程
-title: 组件扩展
-icon: code
-order: 4
-author: RockChinQ
-date: 2024-03-21
-category:
- - 插件介绍
-index: false
----
-
-> 请先阅读[插件介绍页](../plugin/intro.md)
-
-:::info 目录
-[[toc]]
-:::
-
-普通的以 `BasePlugin` 子类包装的插件只能监听预定事件,而组件扩展则可以替换整个组件,实现更强大的功能扩展。
-
-- 组件扩展不需要包装在 `BasePlugin` 子类中,可以放在插件目录下任意一个模块中
-- 扩展的组件不受插件开关控制
-- 扩展的组件通常由配置文件中的选项选用
-
-## 可扩展的组件
-
-扩展一个组件的方法,新建一个类,继承于组件的基类,然后在类上使用对应的装饰器,再根据使用方式来配置使用该实现的组件。
-
-大部分组件中包含了`ap: pkg.core.app.Application`对象,可以用这个对象来与整个程序的各个部分进行交互。
-大部分组件支持实现`async def initialize(self)`方法,用于在组件加载时进行异步初始化。
-`ap`对象中包含了各个配置文件的管理器对象,可以用于访问各个配置文件。
-
-### 命令
-
-新增一个命令。
-
-- 基类:`pkg.command.operator.CommandOperator`
-- 装饰器:`pkg.command.operator.operator_class(name: str, help: str="", usage: str=None, alias: list[str]=[], privilege: int=1, parent_class: typing.Type[CommandOperator] = None)`
-- 参考实现:`pkg.command.operators/`
-- 使用方式:加载成功后,执行命令`!cmd`可查看所有命令和命令帮助信息。
-
-### 内容过滤器
-
-新增一个在处理消息前后判断是否要继续的内容处理器。
-
-- 基类:`pkg.pipeline.cntfilter.filter.ContentFilter`
-- 装饰器:`pkg.pipeline.cntfilter.filter.filter_class(name: str)`
-- 参考实现:`pkg.pipeline.cntfilter.filters/`
-- 使用方式:加载成功后,每次都会在过滤器实现声明的检查阶段调用内容过滤器的`process`方法。
-
-### 长消息处理策略
-
-新增一个长消息处理策略。类似:文本转合并转发消息组件、文本转图片。
-
-- 基类:`pkg.pipeline.longtext.strategy.LongTextStrategy`
-- 装饰器:`pkg.pipeline.longtext.strategy.strategy_class(name: str)`
-- 参考实现:`pkg.pipeline.longtext.strategies/`
-- 使用方式:需要在 `data/config/platform.json` 的 `long-text-strategy` 字段中将 `strategy` 设置为新增的策略名称。
-
-### 会话限速算法
-
-新增一个会话限速算法。会话请求在进入和退出时均会调用限速算法实现类的方法,实现类可以控制等待或丢弃请求。
-
-- 基类:`pkg.pipeline.ratelimit.algo.RateLimitAlgo`
-- 装饰器:`pkg.pipeline.ratelimit.algo.algo_class(name: str)`
-- 参考实现:`pkg.pipeline.ratelimit.algos/`
-- 使用方式:需要在 `data/config/pipeline.json` 的 `rate-limit` 字段中将 `algo` 设置为新增的算法名称。
-
-### LLM 接口请求器
-
-新增一个 LLM 接口请求器,例如:接入ChatGLM接口等。
-
-- 基类:`pkg.provider.modelmgr.api.LLMAPIRequester`
-- 装饰器:`pkg.provider.modelmgr.api.api_requester_class(name: str)`
-- 参考实现:`pkg.provider.modelmgr.apis/`
-- 使用方式:需要在`data/metadata/llm-models.json`中添加模型,将模型的`requester`字段设置为新增的请求器名称。具体请查看元数据配置板块。
-
-### Prompt 加载器
-
-新增一个 Prompt 加载器。
-
-- 基类:`pkg.provider.sysprompt.loader.PromptLoader`
-- 装饰器:`pkg.provider.sysprompt.loader.loader_class(name: str)`
-- 参考实现:`pkg.provider.sysprompt.loaders/`
-- 使用方式:需要在`data/config/provider.json`将`prompt-mode`设置为新增的加载器名称。
-
-### 消息平台适配器
-
-新增一个消息平台适配器,例如:接入Telegram等。
-
-- 基类:`pkg.platform.adapter.MessageSourceAdapter`
-- 装饰器:`pkg.platform.adapter.adapter_class(name: str)`
-- 参考实现:`pkg.platform.adapters/`
-- 使用方式:`data/config/platform.json`的`platform-adapters`中各个配置信息,将在初始化时自动根据`adapter`名称查找对应的适配器实现,并将配置传递给适配器以进行初始化。消息平台适配器实现复杂,建议多参考现有的实现。
-
-### 对话历史消息截断器
-
-新增一个对话历史消息截断器,在发送到模型之前对历史消息进行截断。
-
-- 基类:`pkg.pipeline.msgtrun.truncator.Truncator`
-- 装饰器:`pkg.pipeline.msgtrun.truncator.truncator_class(name: str)`
-- 参考实现:`pkg.pipeline.msgtrun.truncators/`
-- 使用方式:需要在`data/config/pipeline.json`的`msg-truncate`字段中设置需要使用的截断器`method`为新增的截断器名称。
-
-### Chat 请求运行器
-
-新增一个聊天消息运行器,默认的是 local-agent,提供了基本的 Prompt 组合、Agent 编排、多轮请求等功能。如果需要接入知识库或者本地 RAG,请在这里实现。
-
-- 基类:`pkg.provider.runner.RequesterRunner`
-- 装饰器:`pkg.provider.runner.runner_class(name: str)`
-- 参考实现:`pkg.provider.runners/`
+# 组件扩展
+
+> 请先阅读[插件介绍页](../plugin/intro.md)
+
+:::info 目录
+[[toc]]
+:::
+
+普通的以 `BasePlugin` 子类包装的插件只能监听预定事件,而组件扩展则可以替换整个组件,实现更强大的功能扩展。
+
+- 组件扩展不需要包装在 `BasePlugin` 子类中,可以放在插件目录下任意一个模块中
+- 扩展的组件不受插件开关控制
+- 扩展的组件通常由配置文件中的选项选用
+
+## 可扩展的组件
+
+扩展一个组件的方法,新建一个类,继承于组件的基类,然后在类上使用对应的装饰器,再根据使用方式来配置使用该实现的组件。
+
+大部分组件中包含了`ap: pkg.core.app.Application`对象,可以用这个对象来与整个程序的各个部分进行交互。
+大部分组件支持实现`async def initialize(self)`方法,用于在组件加载时进行异步初始化。
+`ap`对象中包含了各个配置文件的管理器对象,可以用于访问各个配置文件。
+
+### 命令
+
+新增一个命令。
+
+- 基类:`pkg.command.operator.CommandOperator`
+- 装饰器:`pkg.command.operator.operator_class(name: str, help: str="", usage: str=None, alias: list[str]=[], privilege: int=1, parent_class: typing.Type[CommandOperator] = None)`
+- 参考实现:`pkg.command.operators/`
+- 使用方式:加载成功后,执行命令`!cmd`可查看所有命令和命令帮助信息。
+
+### 内容过滤器
+
+新增一个在处理消息前后判断是否要继续的内容处理器。
+
+- 基类:`pkg.pipeline.cntfilter.filter.ContentFilter`
+- 装饰器:`pkg.pipeline.cntfilter.filter.filter_class(name: str)`
+- 参考实现:`pkg.pipeline.cntfilter.filters/`
+- 使用方式:加载成功后,每次都会在过滤器实现声明的检查阶段调用内容过滤器的`process`方法。
+
+### 长消息处理策略
+
+新增一个长消息处理策略。类似:文本转合并转发消息组件、文本转图片。
+
+- 基类:`pkg.pipeline.longtext.strategy.LongTextStrategy`
+- 装饰器:`pkg.pipeline.longtext.strategy.strategy_class(name: str)`
+- 参考实现:`pkg.pipeline.longtext.strategies/`
+- 使用方式:需要在 `data/config/platform.json` 的 `long-text-strategy` 字段中将 `strategy` 设置为新增的策略名称。
+
+### 会话限速算法
+
+新增一个会话限速算法。会话请求在进入和退出时均会调用限速算法实现类的方法,实现类可以控制等待或丢弃请求。
+
+- 基类:`pkg.pipeline.ratelimit.algo.RateLimitAlgo`
+- 装饰器:`pkg.pipeline.ratelimit.algo.algo_class(name: str)`
+- 参考实现:`pkg.pipeline.ratelimit.algos/`
+- 使用方式:需要在 `data/config/pipeline.json` 的 `rate-limit` 字段中将 `algo` 设置为新增的算法名称。
+
+### LLM 接口请求器
+
+新增一个 LLM 接口请求器,例如:接入ChatGLM接口等。
+
+- 基类:`pkg.provider.modelmgr.api.LLMAPIRequester`
+- 装饰器:`pkg.provider.modelmgr.api.api_requester_class(name: str)`
+- 参考实现:`pkg.provider.modelmgr.apis/`
+- 使用方式:需要在`data/metadata/llm-models.json`中添加模型,将模型的`requester`字段设置为新增的请求器名称。具体请查看元数据配置板块。
+
+### Prompt 加载器
+
+新增一个 Prompt 加载器。
+
+- 基类:`pkg.provider.sysprompt.loader.PromptLoader`
+- 装饰器:`pkg.provider.sysprompt.loader.loader_class(name: str)`
+- 参考实现:`pkg.provider.sysprompt.loaders/`
+- 使用方式:需要在`data/config/provider.json`将`prompt-mode`设置为新增的加载器名称。
+
+### 消息平台适配器
+
+新增一个消息平台适配器,例如:接入Telegram等。
+
+- 基类:`pkg.platform.adapter.MessageSourceAdapter`
+- 装饰器:`pkg.platform.adapter.adapter_class(name: str)`
+- 参考实现:`pkg.platform.adapters/`
+- 使用方式:`data/config/platform.json`的`platform-adapters`中各个配置信息,将在初始化时自动根据`adapter`名称查找对应的适配器实现,并将配置传递给适配器以进行初始化。消息平台适配器实现复杂,建议多参考现有的实现。
+
+### 对话历史消息截断器
+
+新增一个对话历史消息截断器,在发送到模型之前对历史消息进行截断。
+
+- 基类:`pkg.pipeline.msgtrun.truncator.Truncator`
+- 装饰器:`pkg.pipeline.msgtrun.truncator.truncator_class(name: str)`
+- 参考实现:`pkg.pipeline.msgtrun.truncators/`
+- 使用方式:需要在`data/config/pipeline.json`的`msg-truncate`字段中设置需要使用的截断器`method`为新增的截断器名称。
+
+### Chat 请求运行器
+
+新增一个聊天消息运行器,默认的是 local-agent,提供了基本的 Prompt 组合、Agent 编排、多轮请求等功能。如果需要接入知识库或者本地 RAG,请在这里实现。
+
+- 基类:`pkg.provider.runner.RequesterRunner`
+- 装饰器:`pkg.provider.runner.runner_class(name: str)`
+- 参考实现:`pkg.provider.runners/`
- 使用方式:需要在`data/config/provider.json`的`runner`字段中设置需要使用的运行器`runner`为新增的运行器名称。
\ No newline at end of file
diff --git a/src/posts/plugin/develop.md b/docs/develop/plugin-dev.md
similarity index 95%
rename from src/posts/plugin/develop.md
rename to docs/develop/plugin-dev.md
index 0a723f5dc..72986bd19 100644
--- a/src/posts/plugin/develop.md
+++ b/docs/develop/plugin-dev.md
@@ -1,17 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT插件开发教程
-title: 插件开发
-icon: code
-order: 3
-author: RockChinQ
-date: 2023-09-30
-category:
- - 插件介绍
-index: false
----
+# 插件开发
> 请先阅读[插件介绍页](../plugin/intro.md)
> 建议先阅读本项目源码,了解项目架构
diff --git a/src/posts/plugin/intro.md b/docs/develop/plugin-intro.md
similarity index 92%
rename from src/posts/plugin/intro.md
rename to docs/develop/plugin-intro.md
index 6979b7b0c..344bd7a3c 100644
--- a/src/posts/plugin/intro.md
+++ b/docs/develop/plugin-intro.md
@@ -1,16 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人插件,QChatGPT项目插件
-title: 插件介绍
-icon: blog
-order: 1
-date: 2023-09-30
-category:
- - 插件介绍
-index: false
----
+# 插件介绍
:::info 目录
[[toc]]
@@ -108,4 +96,4 @@ GPT将会回复一个对`access_the_web`的函数调用请求,QChatGPT将调
`priority`: 插件运行优先级,在初始化、事件调用时,高优先级的插件将优先被处理
-`enabled`:设置为false时,不会初始化,也不会被调用
+`enabled`:设置为false时,不会初始化,也不会被调用
\ No newline at end of file
diff --git a/src/posts/develop/technology-info.md b/docs/develop/tech-info.md
similarity index 94%
rename from src/posts/develop/technology-info.md
rename to docs/develop/tech-info.md
index dbd42228c..bcec00397 100644
--- a/src/posts/develop/technology-info.md
+++ b/docs/develop/tech-info.md
@@ -1,16 +1,5 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT插件开发教程
-title: 技术信息
-icon: code
-author: RockChinQ
-date: 2023-09-30
-category:
- - 技术信息
-index: false
----
+# 技术信息
+
以下是QChatGPT实现原理等技术信息,贡献之前请仔细阅读
> 此文档为 QChatGPT 2.x 的技术文档,已过时,3.x 版本请直接查看源码。
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 000000000..3ffb0be8d
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,38 @@
+---
+# https://vitepress.dev/reference/default-theme-home-page
+layout: home
+
+hero:
+ name: "QChatGPT"
+ image:
+ src: /assets/icon/chrome-512.png
+ alt: QChatGPT-logo
+ text: ""
+ tagline: "😎高稳定性、🧩支持插件、🦄多模态的 LLM QQ / QQ频道 / OneBot 机器人 / Agent 平台"
+ actions:
+ - theme: brand
+ text: 查看文档
+ link: /insight/intro
+ - theme: alt
+ text: 代码仓库
+ link: https://github.com/RockChinQ/QChatGPT
+
+features:
+ - title: 丰富生态
+ details: 支持事件监听、AI Agent 等插件扩展方式,具有多种插件或相关支持项目
+
+ - title: 功能直观
+ details: 集成黑名单、限速、选择响应、上下文控制、Prompt 管理等多种常用功能
+
+ - title: 多种模型
+ details: 适配 OpenAI、Moonshot、Anthropic 等多个提供商的接口,同时深度支持 OneAPI
+ - title: 高稳定性
+ details: 采用主流的设计思想,架构清晰,具有高测试覆盖率
+
+ - title: 生产就绪
+ details: 符合生产环境的高可用性要求,已被多家公司商用部署
+
+ - title: 持续维护
+ details: 长期维护、迭代,持续跟进大模型领域的最新应用实践
+---
+
diff --git a/docs/insight/guide.md b/docs/insight/guide.md
new file mode 100644
index 000000000..fcb753c42
--- /dev/null
+++ b/docs/insight/guide.md
@@ -0,0 +1,32 @@
+# 新手指引
+
+> 此页面旨在引导新用户如何阅读文档
+
+## 阅读顺序
+
+### 新用户的:
+
+对于新用户,我们建议如下阅读顺序
+
+1. 部署板块
+ - 首先部署QChatGPT,使用手动部署或Docker部署,或者使用社区资源提供的一键部署(通常是最简部署方式,适合纯小白)
+ - 接着部署消息平台,建议aiocqhttp
+ - 最后填写配置信息(此时是最简上手配置,进一步使用仍需阅读配置板块)
+2. 使用板块
+ - 进行上面的最基础部署后
+ - 阅读命令语法可以获得机器人的指令,可以在对话中实现切换预设、切换模型等
+ - 阅读插件列表,获得插件,增强功能
+ - 阅读常见问题,可有助于解决部署和使用时的问题
+3. 配置板块
+ - 功能配置,是部署板块配置信息部分的进一步拓展,具体解释了所有的配置信息,实现更多自定义需求
+ - 元数据配置,控制敏感词、模型列表等
+
+通常来说,对于非开发人员和商用合作用途,上面的已经足够了。
+
+### 开发者的:
+
+对于开发者,包括但不限于项目主体开发和插件开发,我们建议再阅读上述配置后,继续阅读开发板块
+
+### 商业合作的
+
+请阅读规模化和商用板块
diff --git a/src/posts/feature.md b/docs/insight/intro.md
similarity index 89%
rename from src/posts/feature.md
rename to docs/insight/intro.md
index f1466d768..adc2a330a 100644
--- a/src/posts/feature.md
+++ b/docs/insight/intro.md
@@ -1,15 +1,5 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT的模型一览功能介绍
-title: 模型一览和功能点
-icon: enum
-author: RockChinQ
-date: 2023-12-20
-category:
- - 部署教程
----
+# 模型一览和功能点
+
## 模型一览
### 文字对话
@@ -28,14 +18,14 @@ category:
- 程序向模型发送近几次对话内容,模型根据上下文生成回复
-
+
✅支持敏感词过滤,避免账号风险
- 难以监测机器人与用户对话时的内容,故引入此功能以减少机器人风险
-
+
✅群内多种响应规则,不必at
@@ -43,7 +33,7 @@ category:
- 默认回复`ai`作为前缀或`@`机器人的消息
-
+
✅使用官方api,稳定快捷
@@ -51,7 +41,7 @@ category:
- 不使用ChatGPT逆向接口,而使用官方的Completion API,稳定性高
-
+
✅组件少,部署方便,提供一键安装器及Docker安装
@@ -59,7 +49,7 @@ category:
- 手动部署步骤少
- 提供自动安装器及docker方式,详见安装步骤
-
+
✅支持预设文字
@@ -67,7 +57,7 @@ category:
- 支持以自然语言预设文字,自定义机器人人格等信息
-
+
✅支持插件加载🧩
@@ -75,7 +65,7 @@ category:
- 自行实现插件加载器及相关支持
- 详细查看插件介绍页
-
+
✅私聊、群聊黑名单机制
@@ -83,7 +73,7 @@ category:
- 支持将人或群聊加入黑名单以忽略其消息
-
+
✅回复速度限制
@@ -94,7 +84,7 @@ category:
- “丢弃”策略:此分钟内对话次数达到限制时,丢弃之后的对话
-
+
## 限制
@@ -128,4 +118,4 @@ category:
2. at机器人并发送消息,机器人即会自动回复
3. at机器人并发送`!help`查看帮助信息
-
+
\ No newline at end of file
diff --git a/docs/tob/contact.md b/docs/tob/contact.md
new file mode 100644
index 000000000..3fe11acd4
--- /dev/null
+++ b/docs/tob/contact.md
@@ -0,0 +1,6 @@
+# 咨询方式
+
+作者长期提供定制服务,欢迎咨询:
+
+- 微信:junyan_qin
+- QQ:1010553892
\ No newline at end of file
diff --git a/src/posts/tob/README.md b/docs/tob/index.md
similarity index 60%
rename from src/posts/tob/README.md
rename to docs/tob/index.md
index 3bbc88aec..ce11df867 100644
--- a/src/posts/tob/README.md
+++ b/docs/tob/index.md
@@ -1,15 +1,5 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT 规模使用和商用指南
-title: 规模使用和商用指南
-icon: app
-author: RockChinQ
-date: 2024-05-23
-index: false
----
-
-QChatGPT 已经具备了一定的生产能力,目前已在多家公司的生产环境运行并承担一定的业务。我们相信您非常重视合规性和稳定性方面的问题,此章节将基于一些已有的案例讲解商用最佳实践。
-
+# 规模使用和商用指南
+
+QChatGPT 已经具备了一定的生产能力,目前已在多家公司的生产环境运行并承担一定的业务。我们相信您非常重视合规性和稳定性方面的问题,此章节将基于一些已有的案例讲解商用最佳实践。
+
请点击左侧目录查看具体内容。
\ No newline at end of file
diff --git a/src/posts/tob/platform.md b/docs/tob/platform.md
similarity index 87%
rename from src/posts/tob/platform.md
rename to docs/tob/platform.md
index ed9609e9a..5fb995d84 100644
--- a/src/posts/tob/platform.md
+++ b/docs/tob/platform.md
@@ -1,46 +1,33 @@
----
-head:
- - - meta
- - name: keywords
- content: 商用消息平台稳定性
-title: 消息平台稳定性
-icon: comment
-order: 1
-author: RockChinQ
-date: 2024-05-23
-category:
- - 规模使用和商用
-index: false
----
-
-:::info 目录
-[[toc]]
-:::
-
-主流的机器人都是使用`逆向工程`的方式,破解QQ的通信协议,实现程序控制的功能。这种方式具有一定的灰色性质,可能会被腾讯系统风控。
-
-目前的案例来看,现有的逆向工程可以实现多个月的较稳定运行,服务宕机恢复不会超过24小时,有完善的社区支持,可以较好地应对商业用途。
-
-## 降低被风控风险
-
-- 在配置文件中启用`强制消息延迟`、`请求限速功能`,使机器人回复用户消息的速度降低,减少被风控的风险。
-
-- 避免将机器人放到人员复杂的大群里使用。这个一般不会出问题,有过在3000人大群稳定运行近一年的案例。但若是群内人员频繁举报机器人账号,可能会被风控。
-
-- 使用境内主机或家用网络的电脑运行消息平台,尽量不使用境外主机。
-
-## 机器人服务多开
-
-如果机器人的业务与账号本身弱相关,可以考虑开启多个`消息平台`(例如使用两个账号登录两个Lagrange实例),在一个机器人被腾讯封号后,另一个机器人还可以继续服务。
-
-## 使用 QQ 官方机器人 API
-
-腾讯官方在23年下半年开放了Q群机器人API,QChatGPT 很好地支持这个 API,可以查看部署教程中的配置方式使用。
-
-但 QQ 官方机器人API具有以下已知的局限性:
-
-- 需要企业资质才能申请
-- 仅支持群内使用,不支持私聊
-- 仅能接收到群内@机器人的消息,无法接收到群内其他消息
-- 主动发送消息每天限次
+# 消息平台稳定性
+
+:::info 目录
+[[toc]]
+:::
+
+主流的机器人都是使用`逆向工程`的方式,破解QQ的通信协议,实现程序控制的功能。这种方式具有一定的灰色性质,可能会被腾讯系统风控。
+
+目前的案例来看,现有的逆向工程可以实现多个月的较稳定运行,服务宕机恢复不会超过24小时,有完善的社区支持,可以较好地应对商业用途。
+
+## 降低被风控风险
+
+- 在配置文件中启用`强制消息延迟`、`请求限速功能`,使机器人回复用户消息的速度降低,减少被风控的风险。
+
+- 避免将机器人放到人员复杂的大群里使用。这个一般不会出问题,有过在3000人大群稳定运行近一年的案例。但若是群内人员频繁举报机器人账号,可能会被风控。
+
+- 使用境内主机或家用网络的电脑运行消息平台,尽量不使用境外主机。
+
+## 机器人服务多开
+
+如果机器人的业务与账号本身弱相关,可以考虑开启多个`消息平台`(例如使用两个账号登录两个Lagrange实例),在一个机器人被腾讯封号后,另一个机器人还可以继续服务。
+
+## 使用 QQ 官方机器人 API
+
+腾讯官方在23年下半年开放了Q群机器人API,QChatGPT 很好地支持这个 API,可以查看部署教程中的配置方式使用。
+
+但 QQ 官方机器人API具有以下已知的局限性:
+
+- 需要企业资质才能申请
+- 仅支持群内使用,不支持私聊
+- 仅能接收到群内@机器人的消息,无法接收到群内其他消息
+- 主动发送消息每天限次
- 腾讯对 AIGC 功能的机器人审核较严格
\ No newline at end of file
diff --git a/src/posts/tob/provider.md b/docs/tob/provider.md
similarity index 70%
rename from src/posts/tob/provider.md
rename to docs/tob/provider.md
index 718166abb..cf6055f61 100644
--- a/src/posts/tob/provider.md
+++ b/docs/tob/provider.md
@@ -1,30 +1,13 @@
----
-head:
- - - meta
- - name: keywords
- content: 商用消息平台稳定性
-title: AI 内容合规性
-icon: warn
-order: 2
-author: RockChinQ
-date: 2024-05-23
-category:
- - 规模使用和商用
-index: false
----
-
-:::info 目录
-[[toc]]
-:::
-
-> 国家对AIGC的管理办法参考资料
->
-> - [生成式人工智能服务管理暂行办法](https://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm)
-
-在内容管控方面,QChatGPT 内置了`关键词检测`、`百度智能云审核`等内容过滤器,具体请查看配置文件章节。
-
-在实践中,应该辅以群内管理员禁言之类的方式管控内容,模型方面,以下是推荐的方案(按推荐顺序):
-
-1. 使用国产模型
-2. 使用严格的内容过滤器(可自行实现,详细参考插件功能章节)
+# AI 内容合规性
+
+> 国家对AIGC的管理办法参考资料
+>
+> - [生成式人工智能服务管理暂行办法](https://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm)
+
+在内容管控方面,QChatGPT 内置了`关键词检测`、`百度智能云审核`等内容过滤器,具体请查看配置文件章节。
+
+在实践中,应该辅以群内管理员禁言之类的方式管控内容,模型方面,以下是推荐的方案(按推荐顺序):
+
+1. 使用国产模型
+2. 使用严格的内容过滤器(可自行实现,详细参考插件功能章节)
3. 在使用境外模型时辅以严格的 Prompt
\ No newline at end of file
diff --git a/src/posts/error/README.md b/docs/usage/faq.md
similarity index 78%
rename from src/posts/error/README.md
rename to docs/usage/faq.md
index 17ba84448..81551754b 100644
--- a/src/posts/error/README.md
+++ b/docs/usage/faq.md
@@ -1,13 +1,4 @@
----
-head:
- - - meta
- - name: keywords
- content: QChatGPT的常见问题
-title: QChatGPT的常见问题
-icon: info
-author: Lazy
-date: 2024-06-10
----
+# QChatGPT的常见问题
## Q1:如何接入 OneAPI、LinkAI 等第三方 OpenAI 格式接口?
@@ -34,4 +25,4 @@ date: 2024-06-10
## Q4:插件安装失败?
-尝试在主机上开启网络代理,Linux 需要设置环境变量 http_proxy 和 https_proxy。
+尝试在主机上开启网络代理,Linux 需要设置环境变量 http_proxy 和 https_proxy。
\ No newline at end of file
diff --git a/src/posts/plugin/list.md b/docs/usage/plugin-list.md
similarity index 91%
rename from src/posts/plugin/list.md
rename to docs/usage/plugin-list.md
index 2967a13e0..10daa7686 100644
--- a/src/posts/plugin/list.md
+++ b/docs/usage/plugin-list.md
@@ -1,30 +1,18 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人插件,QChatGPT项目插件
-title: 插件列表
-icon: list
-order: 2
-author: Lazy
-date: 2024-08-19
-category:
- - 插件介绍
----
-以下是部分插件列表,所有插件请查看[RockChinQ的Star集](https://github.com/stars/RockChinQ/lists/qchatgpt-%E6%8F%92%E4%BB%B6)
-
-- [WebwlkrPlugin](https://github.com/RockChinQ/WebwlkrPlugin) - 让机器人能联网!!
-- [https://github.com/the-lazy-me/NewChatVoice](https://github.com/the-lazy-me/miHoYoVoice) - QChatGPT语音插件,可利用多个TTS平台实现语音聊天
-- [Yuumi0221/URLMaskerPlugin](https://github.com/Yuumi0221/URLMaskerPlugin) - 用于掩码(替换)URL,以应对QQ官方机器人API对消息中URL的限制
-- [ElvisChenML/Waifu](https://github.com/ElvisChenML/Waifu) - 一个QChatGPT的插件,旨在利用程式逻辑搭配LLM创建真实感聊天机器人,探索真实的聊天体验。
-- [Pevernow/QChatGPT_Plugin_Emoticon_v3](https://github.com/Pevernow/QChatGPT_Plugin_Emoticon_v3) - QChatGPT v3可用,基于在线api的表情包插件。
-- [https://github.com/kirifujinagisa/RussianRoulette](https://github.com/kirifujinagisa/RussianRoulette) - 一个qchatgpt俄罗斯轮盘赌的游戏插件
-- [https://github.com/kirifujinagisa/FileSender](https://github.com/kirifujinagisa/FileSender) - 基于qchatgpt的将本机指定文件发送给申请人的插件
-- [https://github.com/ElvisChenML/GalgameMaker](https://github.com/ElvisChenML/GalgameMaker) - QChatGPT 插件,用于快速生成在QQ对话中进行的Galgame。
-- [https://github.com/zzseki/QChatGPT_Plugin_News](https://github.com/zzseki/QChatGPT_Plugin_News) - 无介绍(看仓库名猜一下吧)
-- [https://github.com/zzseki/QChatGPT_Plugin_Weather ](https://github.com/zzseki/QChatGPT_Plugin_Weather)- 无介绍(看仓库名猜一下吧)
-- [https://github.com/zzseki/QChatGPT_Plugin_Music](https://github.com/zzseki/QChatGPT_Plugin_Music) - 无介绍(看仓库名猜一下吧)
-- [https://github.com/inkOrCloud/Markdown2IMG](https://github.com/inkOrCloud/Markdown2IMG) - QChatGPT插件,将markdown文本转为图片输出
-- [https://github.com/Annalasu/QcPlugin_Md2QQImage](https://github.com/Annalasu/QcPlugin_Md2QQImage) - 将消息中的md图片链接显示为正常图片
-- [https://github.com/the-lazy-me/SillyTavernPlugin](https://github.com/the-lazy-me/SillyTavernPlugin) - QChatGPT插件,可将酒馆SillyTavern的角色卡转写,以适配QChatGPT的人格预设
-
+# 插件列表
+
+以下是部分插件列表,所有插件请查看[RockChinQ的Star集](https://github.com/stars/RockChinQ/lists/qchatgpt-%E6%8F%92%E4%BB%B6)
+
+- [WebwlkrPlugin](https://github.com/RockChinQ/WebwlkrPlugin) - 让机器人能联网!!
+- [https://github.com/the-lazy-me/NewChatVoice](https://github.com/the-lazy-me/miHoYoVoice) - QChatGPT语音插件,可利用多个TTS平台实现语音聊天
+- [Yuumi0221/URLMaskerPlugin](https://github.com/Yuumi0221/URLMaskerPlugin) - 用于掩码(替换)URL,以应对QQ官方机器人API对消息中URL的限制
+- [ElvisChenML/Waifu](https://github.com/ElvisChenML/Waifu) - 一个QChatGPT的插件,旨在利用程式逻辑搭配LLM创建真实感聊天机器人,探索真实的聊天体验。
+- [Pevernow/QChatGPT_Plugin_Emoticon_v3](https://github.com/Pevernow/QChatGPT_Plugin_Emoticon_v3) - QChatGPT v3可用,基于在线api的表情包插件。
+- [https://github.com/kirifujinagisa/RussianRoulette](https://github.com/kirifujinagisa/RussianRoulette) - 一个qchatgpt俄罗斯轮盘赌的游戏插件
+- [https://github.com/kirifujinagisa/FileSender](https://github.com/kirifujinagisa/FileSender) - 基于qchatgpt的将本机指定文件发送给申请人的插件
+- [https://github.com/ElvisChenML/GalgameMaker](https://github.com/ElvisChenML/GalgameMaker) - QChatGPT 插件,用于快速生成在QQ对话中进行的Galgame。
+- [https://github.com/zzseki/QChatGPT_Plugin_News](https://github.com/zzseki/QChatGPT_Plugin_News) - 无介绍(看仓库名猜一下吧)
+- [https://github.com/zzseki/QChatGPT_Plugin_Weather ](https://github.com/zzseki/QChatGPT_Plugin_Weather)- 无介绍(看仓库名猜一下吧)
+- [https://github.com/zzseki/QChatGPT_Plugin_Music](https://github.com/zzseki/QChatGPT_Plugin_Music) - 无介绍(看仓库名猜一下吧)
+- [https://github.com/inkOrCloud/Markdown2IMG](https://github.com/inkOrCloud/Markdown2IMG) - QChatGPT插件,将markdown文本转为图片输出
+- [https://github.com/Annalasu/QcPlugin_Md2QQImage](https://github.com/Annalasu/QcPlugin_Md2QQImage) - 将消息中的md图片链接显示为正常图片
+- [https://github.com/the-lazy-me/SillyTavernPlugin](https://github.com/the-lazy-me/SillyTavernPlugin) - QChatGPT插件,可将酒馆SillyTavern的角色卡转写,以适配QChatGPT的人格预设
\ No newline at end of file
diff --git a/nginx/default.conf b/nginx/default.conf
deleted file mode 100644
index 39bde9415..000000000
--- a/nginx/default.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-server {
- listen 80;
- server_name localhost;
-
- location / {
- root /usr/share/nginx/html;
- index index.html index.htm;
- }
-
- #error_page 404 /404.html;
-
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root /usr/share/nginx/html;
- }
-}
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
deleted file mode 100644
index acf29eb09..000000000
--- a/nginx/nginx.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-user nginx;
-worker_processes auto;
-
-error_log /var/log/nginx/error.log warn;
-pid /var/run/nginx.pid;
-
-events {
- worker_connections 1024;
-}
-
-http {
- include /etc/nginx/mime.types;
- default_type application/octet-stream;
-
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
-
- access_log /var/log/nginx/access.log main;
-
- sendfile on;
- #tcp_nopush on;
-
- keepalive_timeout 65;
-
- #gzip on;
-
- include /etc/nginx/conf.d/*.conf;
-}
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 000000000..0fed1fca2
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1884 @@
+{
+ "name": "QChatGPT-wiki",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "devDependencies": {
+ "vitepress": "^1.3.4"
+ }
+ },
+ "node_modules/@algolia/autocomplete-core": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz",
+ "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-plugin-algolia-insights": "1.9.3",
+ "@algolia/autocomplete-shared": "1.9.3"
+ }
+ },
+ "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz",
+ "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ },
+ "peerDependencies": {
+ "search-insights": ">= 1 < 3"
+ }
+ },
+ "node_modules/@algolia/autocomplete-preset-algolia": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz",
+ "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ },
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
+ },
+ "node_modules/@algolia/autocomplete-shared": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz",
+ "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==",
+ "dev": true,
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
+ },
+ "node_modules/@algolia/cache-browser-local-storage": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz",
+ "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/cache-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz",
+ "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==",
+ "dev": true
+ },
+ "node_modules/@algolia/cache-in-memory": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz",
+ "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-account": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz",
+ "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/client-search": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-account/node_modules/@algolia/client-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
+ "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-account/node_modules/@algolia/client-search": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
+ "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz",
+ "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/client-search": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
+ "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
+ "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-common": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.1.1.tgz",
+ "integrity": "sha512-jkQNQbGY+XQB3Eln7wqqdUZKBzG8lETcsaUk5gcMc6iIwyN/qW0v0fhpKPH+Kli+BImLxo0CWk12CvVvx2exWA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-personalization": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz",
+ "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
+ "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/client-search": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.1.1.tgz",
+ "integrity": "sha512-SFpb3FI/VouGou/vpuS7qeCA5Y/KpV42P6CEA/1MZQtl/xJkl6PVjikb+Q9YadeHi2jtDV/aQ6PyiVDnX4PQcw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@algolia/client-common": "5.1.1",
+ "@algolia/requester-browser-xhr": "5.1.1",
+ "@algolia/requester-node-http": "5.1.1"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/logger-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz",
+ "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==",
+ "dev": true
+ },
+ "node_modules/@algolia/logger-console": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz",
+ "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/logger-common": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/recommend": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz",
+ "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": "4.24.0",
+ "@algolia/cache-common": "4.24.0",
+ "@algolia/cache-in-memory": "4.24.0",
+ "@algolia/client-common": "4.24.0",
+ "@algolia/client-search": "4.24.0",
+ "@algolia/logger-common": "4.24.0",
+ "@algolia/logger-console": "4.24.0",
+ "@algolia/requester-browser-xhr": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/requester-node-http": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/recommend/node_modules/@algolia/client-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
+ "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/recommend/node_modules/@algolia/client-search": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
+ "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz",
+ "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz",
+ "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.1.1.tgz",
+ "integrity": "sha512-NXmN1ujJCj5GlJQaMK6DbdiXdcf6nhRef/X40lu9TYi71q9xTo/5RPMI0K2iOp6g07S26BrXFOz6RSV3Ny4LLw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@algolia/client-common": "5.1.1"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz",
+ "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==",
+ "dev": true
+ },
+ "node_modules/@algolia/requester-node-http": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.1.1.tgz",
+ "integrity": "sha512-xwrgnNTIzgxDEx6zuCKSKTPzQLA8fL/WZiVB6fRpIu5agLMjoAi0cWA5YSDbo+2FFxqVgLqKY/Jz6mKmWtY15Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@algolia/client-common": "5.1.1"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/transporter": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz",
+ "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.24.0",
+ "@algolia/logger-common": "4.24.0",
+ "@algolia/requester-common": "4.24.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+ "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz",
+ "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.25.4"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz",
+ "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.8",
+ "@babel/helper-validator-identifier": "^7.24.7",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@docsearch/css": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz",
+ "integrity": "sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==",
+ "dev": true
+ },
+ "node_modules/@docsearch/js": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.1.tgz",
+ "integrity": "sha512-erI3RRZurDr1xES5hvYJ3Imp7jtrXj6f1xYIzDzxiS7nNBufYWPbJwrmMqWC5g9y165PmxEmN9pklGCdLi0Iqg==",
+ "dev": true,
+ "dependencies": {
+ "@docsearch/react": "3.6.1",
+ "preact": "^10.0.0"
+ }
+ },
+ "node_modules/@docsearch/react": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz",
+ "integrity": "sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-core": "1.9.3",
+ "@algolia/autocomplete-preset-algolia": "1.9.3",
+ "@docsearch/css": "3.6.1",
+ "algoliasearch": "^4.19.1"
+ },
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 19.0.0",
+ "react": ">= 16.8.0 < 19.0.0",
+ "react-dom": ">= 16.8.0 < 19.0.0",
+ "search-insights": ">= 1 < 3"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "search-insights": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz",
+ "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz",
+ "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz",
+ "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz",
+ "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz",
+ "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz",
+ "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz",
+ "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz",
+ "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz",
+ "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz",
+ "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz",
+ "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz",
+ "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz",
+ "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz",
+ "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz",
+ "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz",
+ "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@shikijs/core": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.14.1.tgz",
+ "integrity": "sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/@shikijs/transformers": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.14.1.tgz",
+ "integrity": "sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==",
+ "dev": true,
+ "dependencies": {
+ "shiki": "1.14.1"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+ "dev": true
+ },
+ "node_modules/@types/markdown-it": {
+ "version": "14.1.2",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
+ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
+ "dev": true,
+ "dependencies": {
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
+ }
+ },
+ "node_modules/@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
+ "dev": true
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.20",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
+ "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==",
+ "dev": true
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz",
+ "integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==",
+ "dev": true,
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.38.tgz",
+ "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.24.7",
+ "@vue/shared": "3.4.38",
+ "entities": "^4.5.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz",
+ "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-core": "3.4.38",
+ "@vue/shared": "3.4.38"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz",
+ "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.24.7",
+ "@vue/compiler-core": "3.4.38",
+ "@vue/compiler-dom": "3.4.38",
+ "@vue/compiler-ssr": "3.4.38",
+ "@vue/shared": "3.4.38",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.10",
+ "postcss": "^8.4.40",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz",
+ "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.38",
+ "@vue/shared": "3.4.38"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.3.9.tgz",
+ "integrity": "sha512-D+GTYtFg68bqSu66EugQUydsOqaDlPLNmYw5oYk8k81uBu9/bVTUrqlAJrAA9Am7MXhKz2gWdDkopY6sOBf/Bg==",
+ "dev": true,
+ "dependencies": {
+ "@vue/devtools-kit": "^7.3.9"
+ }
+ },
+ "node_modules/@vue/devtools-kit": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.3.9.tgz",
+ "integrity": "sha512-Gr17nA+DaQzqyhNx1DUJr1CJRzTRfbIuuC80ZgU8MD/qNO302tv9la+ROi+Uaw+ULVwU9T71GnwLy4n8m9Lspg==",
+ "dev": true,
+ "dependencies": {
+ "@vue/devtools-shared": "^7.3.9",
+ "birpc": "^0.2.17",
+ "hookable": "^5.5.3",
+ "mitt": "^3.0.1",
+ "perfect-debounce": "^1.0.0",
+ "speakingurl": "^14.0.1",
+ "superjson": "^2.2.1"
+ }
+ },
+ "node_modules/@vue/devtools-shared": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.3.9.tgz",
+ "integrity": "sha512-CdfMRZKXyI8vw+hqOcQIiLihB6Hbbi7WNZGp7LsuH1Qe4aYAFmTaKjSciRZ301oTnwmU/knC/s5OGuV6UNiNoA==",
+ "dev": true,
+ "dependencies": {
+ "rfdc": "^1.4.1"
+ }
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.38.tgz",
+ "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==",
+ "dev": true,
+ "dependencies": {
+ "@vue/shared": "3.4.38"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.38.tgz",
+ "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==",
+ "dev": true,
+ "dependencies": {
+ "@vue/reactivity": "3.4.38",
+ "@vue/shared": "3.4.38"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz",
+ "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==",
+ "dev": true,
+ "dependencies": {
+ "@vue/reactivity": "3.4.38",
+ "@vue/runtime-core": "3.4.38",
+ "@vue/shared": "3.4.38",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.38.tgz",
+ "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-ssr": "3.4.38",
+ "@vue/shared": "3.4.38"
+ },
+ "peerDependencies": {
+ "vue": "3.4.38"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.38.tgz",
+ "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==",
+ "dev": true
+ },
+ "node_modules/@vueuse/core": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.0.3.tgz",
+ "integrity": "sha512-RENlh64+SYA9XMExmmH1a3TPqeIuJBNNB/63GT35MZI+zpru3oMRUA6cEFr9HmGqEgUisurwGwnIieF6qu3aXw==",
+ "dev": true,
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.20",
+ "@vueuse/metadata": "11.0.3",
+ "@vueuse/shared": "11.0.3",
+ "vue-demi": ">=0.14.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/integrations": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-11.0.3.tgz",
+ "integrity": "sha512-w6CDisaxs19S5Fd+NPPLFaA3GoX5gxuxrbTTBu0EYap7oH13w75L6C/+7e9mcoF9akhcR6GyYajwVMQEjdapJg==",
+ "dev": true,
+ "dependencies": {
+ "@vueuse/core": "11.0.3",
+ "@vueuse/shared": "11.0.3",
+ "vue-demi": ">=0.14.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "async-validator": "^4",
+ "axios": "^1",
+ "change-case": "^5",
+ "drauu": "^0.4",
+ "focus-trap": "^7",
+ "fuse.js": "^7",
+ "idb-keyval": "^6",
+ "jwt-decode": "^4",
+ "nprogress": "^0.2",
+ "qrcode": "^1.5",
+ "sortablejs": "^1",
+ "universal-cookie": "^7"
+ },
+ "peerDependenciesMeta": {
+ "async-validator": {
+ "optional": true
+ },
+ "axios": {
+ "optional": true
+ },
+ "change-case": {
+ "optional": true
+ },
+ "drauu": {
+ "optional": true
+ },
+ "focus-trap": {
+ "optional": true
+ },
+ "fuse.js": {
+ "optional": true
+ },
+ "idb-keyval": {
+ "optional": true
+ },
+ "jwt-decode": {
+ "optional": true
+ },
+ "nprogress": {
+ "optional": true
+ },
+ "qrcode": {
+ "optional": true
+ },
+ "sortablejs": {
+ "optional": true
+ },
+ "universal-cookie": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/integrations/node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.0.3.tgz",
+ "integrity": "sha512-+FtbO4SD5WpsOcQTcC0hAhNlOid6QNLzqedtquTtQ+CRNBoAt9GuV07c6KNHK1wCmlq8DFPwgiLF2rXwgSHX5Q==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.0.3.tgz",
+ "integrity": "sha512-0rY2m6HS5t27n/Vp5cTDsKTlNnimCqsbh/fmT2LgE+aaU42EMfXo8+bNX91W9I7DDmxfuACXMmrd7d79JxkqWA==",
+ "dev": true,
+ "dependencies": {
+ "vue-demi": ">=0.14.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared/node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/algoliasearch": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz",
+ "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": "4.24.0",
+ "@algolia/cache-common": "4.24.0",
+ "@algolia/cache-in-memory": "4.24.0",
+ "@algolia/client-account": "4.24.0",
+ "@algolia/client-analytics": "4.24.0",
+ "@algolia/client-common": "4.24.0",
+ "@algolia/client-personalization": "4.24.0",
+ "@algolia/client-search": "4.24.0",
+ "@algolia/logger-common": "4.24.0",
+ "@algolia/logger-console": "4.24.0",
+ "@algolia/recommend": "4.24.0",
+ "@algolia/requester-browser-xhr": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/requester-node-http": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/algoliasearch/node_modules/@algolia/client-common": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
+ "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/algoliasearch/node_modules/@algolia/client-search": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
+ "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.24.0",
+ "@algolia/requester-common": "4.24.0",
+ "@algolia/transporter": "4.24.0"
+ }
+ },
+ "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz",
+ "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0"
+ }
+ },
+ "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz",
+ "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.24.0"
+ }
+ },
+ "node_modules/birpc": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.17.tgz",
+ "integrity": "sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/copy-anything": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz",
+ "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==",
+ "dev": true,
+ "dependencies": {
+ "is-what": "^4.1.8"
+ },
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "dev": true
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ },
+ "node_modules/focus-trap": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz",
+ "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==",
+ "dev": true,
+ "dependencies": {
+ "tabbable": "^6.2.0"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/hookable": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
+ "dev": true
+ },
+ "node_modules/is-what": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz",
+ "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.11",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
+ "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
+ "node_modules/mark.js": {
+ "version": "8.11.1",
+ "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
+ "dev": true
+ },
+ "node_modules/minisearch": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.1.0.tgz",
+ "integrity": "sha512-tv7c/uefWdEhcu6hvrfTihflgeEi2tN6VV7HJnCjK6VxM75QQJh4t9FwJCsA2EsRS8LCnu3W87CuGPWMocOLCA==",
+ "dev": true
+ },
+ "node_modules/mitt": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
+ "dev": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/perfect-debounce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
+ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
+ "dev": true
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "dev": true
+ },
+ "node_modules/postcss": {
+ "version": "8.4.41",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
+ "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.1",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/preact": {
+ "version": "10.23.2",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.23.2.tgz",
+ "integrity": "sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "dev": true
+ },
+ "node_modules/rollup": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz",
+ "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.21.0",
+ "@rollup/rollup-android-arm64": "4.21.0",
+ "@rollup/rollup-darwin-arm64": "4.21.0",
+ "@rollup/rollup-darwin-x64": "4.21.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.21.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.21.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.21.0",
+ "@rollup/rollup-linux-arm64-musl": "4.21.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.21.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.21.0",
+ "@rollup/rollup-linux-x64-gnu": "4.21.0",
+ "@rollup/rollup-linux-x64-musl": "4.21.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.21.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.21.0",
+ "@rollup/rollup-win32-x64-msvc": "4.21.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/search-insights": {
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.0.tgz",
+ "integrity": "sha512-AskayU3QNsXQzSL6v4LTYST7NNfs2HWyHHB+sdORP9chsytAhro5XRfToAMI/LAVYgNbzowVZTMfBRodgbUHKg==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/shiki": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.14.1.tgz",
+ "integrity": "sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==",
+ "dev": true,
+ "dependencies": {
+ "@shikijs/core": "1.14.1",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/speakingurl": {
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz",
+ "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/superjson": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz",
+ "integrity": "sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==",
+ "dev": true,
+ "dependencies": {
+ "copy-anything": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/tabbable": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
+ "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/vite": {
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz",
+ "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.41",
+ "rollup": "^4.20.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitepress": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.3.4.tgz",
+ "integrity": "sha512-I1/F6OW1xl3kW4PaIMC6snxjWgf3qfziq2aqsDoFc/Gt41WbcRv++z8zjw8qGRIJ+I4bUW7ZcKFDHHN/jkH9DQ==",
+ "dev": true,
+ "dependencies": {
+ "@docsearch/css": "^3.6.1",
+ "@docsearch/js": "^3.6.1",
+ "@shikijs/core": "^1.13.0",
+ "@shikijs/transformers": "^1.13.0",
+ "@types/markdown-it": "^14.1.2",
+ "@vitejs/plugin-vue": "^5.1.2",
+ "@vue/devtools-api": "^7.3.8",
+ "@vue/shared": "^3.4.38",
+ "@vueuse/core": "^11.0.0",
+ "@vueuse/integrations": "^11.0.0",
+ "focus-trap": "^7.5.4",
+ "mark.js": "8.11.1",
+ "minisearch": "^7.1.0",
+ "shiki": "^1.13.0",
+ "vite": "^5.4.1",
+ "vue": "^3.4.38"
+ },
+ "bin": {
+ "vitepress": "bin/vitepress.js"
+ },
+ "peerDependencies": {
+ "markdown-it-mathjax3": "^4",
+ "postcss": "^8"
+ },
+ "peerDependenciesMeta": {
+ "markdown-it-mathjax3": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz",
+ "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.38",
+ "@vue/compiler-sfc": "3.4.38",
+ "@vue/runtime-dom": "3.4.38",
+ "@vue/server-renderer": "3.4.38",
+ "@vue/shared": "3.4.38"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index 94e155cf4..253bbadea 100644
--- a/package.json
+++ b/package.json
@@ -1,22 +1,10 @@
{
- "name": "qchatgpt-v3-docs",
- "version": "3.0.0",
- "description": "一个开源QQ机器人项目(QChatGPT)的文档",
- "license": "MIT",
- "type": "module",
- "scripts": {
- "docs:build": "vuepress-vite build src",
- "docs:clean-dev": "vuepress-vite dev src --clean-cache",
- "docs:dev": "vuepress-vite dev src",
- "docs:update-package": "pnpm dlx vp-update"
- },
"devDependencies": {
- "@vuepress/bundler-vite": "2.0.0-rc.7",
- "@vuepress/plugin-catalog": "2.0.0-rc.14",
- "nodejs-jieba": "^0.1.2",
- "vue": "^3.4.15",
- "vuepress": "2.0.0-rc.7",
- "vuepress-plugin-search-pro": "2.0.0-rc.23",
- "vuepress-theme-hope": "2.0.0-rc.23"
+ "vitepress": "^1.3.4"
+ },
+ "scripts": {
+ "docs:dev": "vitepress dev docs",
+ "docs:build": "vitepress build docs",
+ "docs:preview": "vitepress preview docs"
}
-}
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
deleted file mode 100644
index 209bdcaf9..000000000
--- a/pnpm-lock.yaml
+++ /dev/null
@@ -1,4138 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- devDependencies:
- '@vuepress/bundler-vite':
- specifier: 2.0.0-rc.7
- version: 2.0.0-rc.7
- '@vuepress/plugin-catalog':
- specifier: 2.0.0-rc.14
- version: 2.0.0-rc.14(vuepress@2.0.0-rc.7)
- nodejs-jieba:
- specifier: ^0.1.2
- version: 0.1.2
- vue:
- specifier: ^3.4.15
- version: 3.4.31
- vuepress:
- specifier: 2.0.0-rc.7
- version: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-plugin-search-pro:
- specifier: 2.0.0-rc.23
- version: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-theme-hope:
- specifier: 2.0.0-rc.23
- version: 2.0.0-rc.23(markdown-it@14.1.0)(nodejs-jieba@0.1.2)(vuepress-plugin-search-pro@2.0.0-rc.23)(vuepress@2.0.0-rc.7)
-
-packages:
-
- '@babel/helper-string-parser@7.24.8':
- resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.24.8':
- resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/types@7.24.8':
- resolution: {integrity: sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==}
- engines: {node: '>=6.9.0'}
-
- '@esbuild/aix-ppc64@0.19.12':
- resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.19.12':
- resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.19.12':
- resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.19.12':
- resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.19.12':
- resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.19.12':
- resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.19.12':
- resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.19.12':
- resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.19.12':
- resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.19.12':
- resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.19.12':
- resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.19.12':
- resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.19.12':
- resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.19.12':
- resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.19.12':
- resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.19.12':
- resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.19.12':
- resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-x64@0.19.12':
- resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-x64@0.19.12':
- resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.19.12':
- resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.19.12':
- resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.19.12':
- resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.19.12':
- resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@lit-labs/ssr-dom-shim@1.2.0':
- resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==}
-
- '@lit/reactive-element@2.0.4':
- resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==}
-
- '@mapbox/node-pre-gyp@1.0.11':
- resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
- hasBin: true
-
- '@mdit-vue/plugin-component@2.1.3':
- resolution: {integrity: sha512-9AG17beCgpEw/4ldo/M6Y/1Rh4E1bqMmr/rCkWKmCAxy9tJz3lzY7HQJanyHMJufwsb3WL5Lp7Om/aPcQTZ9SA==}
-
- '@mdit-vue/plugin-frontmatter@2.1.3':
- resolution: {integrity: sha512-KxsSCUVBEmn6sJcchSTiI5v9bWaoRxe68RBYRDGcSEY1GTnfQ5gQPMIsM48P4q1luLEIWurVGGrRu7u93//LDQ==}
-
- '@mdit-vue/plugin-headers@2.1.3':
- resolution: {integrity: sha512-AcL7a7LHQR3ISINhfjGJNE/bHyM0dcl6MYm1Sr//zF7ZgokPGwD/HhD7TzwmrKA9YNYCcO9P3QmF/RN9XyA6CA==}
-
- '@mdit-vue/plugin-sfc@2.1.3':
- resolution: {integrity: sha512-Ezl0dNvQNS639Yl4siXm+cnWtQvlqHrg+u+lnau/OHpj9Xh3LVap/BSQVugKIV37eR13jXXYf3VaAOP1fXPN+w==}
-
- '@mdit-vue/plugin-title@2.1.3':
- resolution: {integrity: sha512-XWVOQoZqczoN97xCDrnQicmXKoqwOjIymIm9HQnRXhHnYKOgJPW1CxSGhkcOGzvDU1v0mD/adojVyyj/s6ggWw==}
-
- '@mdit-vue/plugin-toc@2.1.3':
- resolution: {integrity: sha512-41Q+iXpLHZt0zJdApVwoVt7WF6za/xUjtjEPf90Z3KLzQO01TXsv48Xp9BsrFHPcPcm8tiZ0+O1/ICJO80V/MQ==}
-
- '@mdit-vue/shared@2.1.3':
- resolution: {integrity: sha512-27YI8b0VVZsAlNwaWoaOCWbr4eL8B04HxiYk/y2ktblO/nMcOEOLt4p0RjuobvdyUyjHvGOS09RKhq7qHm1CHQ==}
-
- '@mdit-vue/types@2.1.0':
- resolution: {integrity: sha512-TMBB/BQWVvwtpBdWD75rkZx4ZphQ6MN0O4QB2Bc0oI5PC2uE57QerhNxdRZ7cvBHE2iY2C+BUNUziCfJbjIRRA==}
-
- '@mdit/plugin-alert@0.8.0':
- resolution: {integrity: sha512-mxA/lhOyDDR6/qSAegGG/XZRjUbr1wjwdULudbpkA/CCQi6piW9D0Z8crDQGYz4KPQM9Bgx4Ac81QFSzHOV66Q==}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-align@0.8.0':
- resolution: {integrity: sha512-OJPYzSdmT0UZj/QTvnKYE4GelAL0OD8bNIPxpidXbFd3IqYv/8+xMjT6XeR+R3oZEvtbYSc2e1MmO5fo3DopJA==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-attrs@0.8.0':
- resolution: {integrity: sha512-ewmx5i+b3M4CRJNDpDNBA0YTHa1snn+adDsDDpDtPPSzCH1NhtWXdzwI0TrcCQUnueeSEEWX/wY4ESo+NRkBNQ==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-container@0.8.0':
- resolution: {integrity: sha512-uWK3t0CWssintcmT5PTJVhAwbstcD+SrtijQKs6BhLRtGGgHJ9mOf0ybGjlJhn4077yFFTHmaCIT3K+n5ZVjPg==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-demo@0.8.0':
- resolution: {integrity: sha512-yFRXnp3Lj0g4H9ImzHKQwwgtSykrL/BDNEQzql9fdA9FbSygfu0CIxfm+A8lsVos8cAvdsgxy3gILySxpfR89g==}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-figure@0.8.0':
- resolution: {integrity: sha512-/o4RoKjnkdWc+K7m6mR7BAu2J79yYE38s8HUc8iKk9v+e9j1E+6LeXcpx1LoPnHzUhT4EO2QmUsv+kAaPFfZYw==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-footnote@0.8.0':
- resolution: {integrity: sha512-AaX1rfkJwq9vLX+H/a+XQ3ZxahOXrnMLr5dVZfNdazjqdDEJ7Cc/A7UFtLfOM19F2w3EgvcHR1gbINxIVDn/eg==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
-
- '@mdit/plugin-img-lazyload@0.8.0':
- resolution: {integrity: sha512-Rrlf2FzOxxyszbv3DpkIwEgmYKmtwHdxIO+Whkn0a9QckxnEKkaGl5KARCnM7LqX2fhEyFLgnfkr3onVOJG54g==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-img-mark@0.8.0':
- resolution: {integrity: sha512-4P6z2QOfLHLMSXUP4mB/2Rnd6KeHmJBkUXJWJhybcXoIG5S5FDTFHJxOycSP4eGzfdOYAWSlkx6XwXEUGGZz5w==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-img-size@0.8.0':
- resolution: {integrity: sha512-r+LbAizP/hw5SisY44VbHEnR7XUKpcHM2k2fwu5wb1+V1crxeigG4sa8rzrJEddU+k6uCl27yL5FTGbHjAl82Q==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-include@0.8.0':
- resolution: {integrity: sha512-e8Z8q5VkJ6UX04tTgELraupB/MdHio7hkdYT71wBJ6UQuhSmFv/xMOxFfTcGKH5yzsbEM45BtAFHzSXIi3dMCw==}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-katex@0.8.0':
- resolution: {integrity: sha512-u7CX3Xv5nuc2bu2sHrk1nil83/9ETKTBMmy0icbW8zlqBC0ykLo1xTCEBXmdhXtnJtPi9f/wUZVs6iMZrJzbNg==}
- engines: {node: '>= 18'}
- peerDependencies:
- katex: ^0.16.9
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- katex:
- optional: true
- markdown-it:
- optional: true
-
- '@mdit/plugin-mark@0.8.0':
- resolution: {integrity: sha512-1hImu8FskIZ9dumWD2VIyB5USyVGwGY2IuaPxYO25tFvMZkhu4rYBjkSK8x+vXExwp94OLzFUlGgVl94S+nw9w==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-mathjax@0.8.0':
- resolution: {integrity: sha512-y016KQHa3PoXDUIcQseISMAz5q2mZJ/qocEs2EABT4PjquXPEh/4rw7Ql7KX9gf/SQIUyzj8hYs4bHyRZc6x4w==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- mathjax-full: ^3.2.2
- peerDependenciesMeta:
- markdown-it:
- optional: true
- mathjax-full:
- optional: true
-
- '@mdit/plugin-stylize@0.8.0':
- resolution: {integrity: sha512-oNFI3Z7UTxP8CKxS3CIuawLmsyrc0n9jIw9mPzUcPNp+LtYmLktfZc3FIRlqpUUq34YwHTH3yihayBRdSkVV6A==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-sub@0.8.0':
- resolution: {integrity: sha512-oqCcmJVJykESgNJ4fFmDKKxRRQddwkXWIT4PjF83XSeXHxTOz8gMfke/V1mE7BAfKKCLP4io8HbrYfvIiOTZ4A==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-sup@0.8.0':
- resolution: {integrity: sha512-5/uE2lONNjCgGDXC8jZ265tzefjUNQNakmK4PSCI4D5jD80xFrxc6MKh70VLCOL8Xk6COK/K9f0SAU2lwa97Tg==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-tab@0.8.0':
- resolution: {integrity: sha512-SNa1S14Buuy564egiUTkU9HTTNFrEURJZLqA1+jr/2xYCdICPym0FWcB0cLtBl3lrQZkFtbxhzC6ws5JBt/ERQ==}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-tasklist@0.8.0':
- resolution: {integrity: sha512-vfOTZdXIL/jk/ConUqCODI5WuqgB9qiBGc+wIa7UMhe73KcpwFeGFJVQZm9AvjhXDDYqznJxSMVRP/TN7TxVVw==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-tex@0.8.0':
- resolution: {integrity: sha512-uh4kOhwBVEESz6dMmHk4Hn/AVfVtUhMA1UKpwMc1EL9qelodJ0YzSYfNXp6d/PS+E1l53yp8nMZK90DUO+3vpA==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@mdit/plugin-uml@0.8.0':
- resolution: {integrity: sha512-6TOVxLhmdzV7bzjlJCRP5uCFq62Xwk2ZAeYUK3RLx9lgM3s2Mww5ENhdysnQMd7VQlUHsPmp4XIMBZZjPddg3g==}
- engines: {node: '>= 18'}
- peerDependencies:
- markdown-it: ^14.0.0
- peerDependenciesMeta:
- markdown-it:
- optional: true
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@npmcli/agent@2.2.2':
- resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==}
- engines: {node: ^16.14.0 || >=18.0.0}
-
- '@npmcli/fs@3.1.1':
- resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@rollup/rollup-android-arm-eabi@4.18.1':
- resolution: {integrity: sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==}
- cpu: [arm]
- os: [android]
-
- '@rollup/rollup-android-arm64@4.18.1':
- resolution: {integrity: sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==}
- cpu: [arm64]
- os: [android]
-
- '@rollup/rollup-darwin-arm64@4.18.1':
- resolution: {integrity: sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==}
- cpu: [arm64]
- os: [darwin]
-
- '@rollup/rollup-darwin-x64@4.18.1':
- resolution: {integrity: sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==}
- cpu: [x64]
- os: [darwin]
-
- '@rollup/rollup-linux-arm-gnueabihf@4.18.1':
- resolution: {integrity: sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm-musleabihf@4.18.1':
- resolution: {integrity: sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-gnu@4.18.1':
- resolution: {integrity: sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-musl@4.18.1':
- resolution: {integrity: sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.18.1':
- resolution: {integrity: sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==}
- cpu: [ppc64]
- os: [linux]
-
- '@rollup/rollup-linux-riscv64-gnu@4.18.1':
- resolution: {integrity: sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==}
- cpu: [riscv64]
- os: [linux]
-
- '@rollup/rollup-linux-s390x-gnu@4.18.1':
- resolution: {integrity: sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==}
- cpu: [s390x]
- os: [linux]
-
- '@rollup/rollup-linux-x64-gnu@4.18.1':
- resolution: {integrity: sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-linux-x64-musl@4.18.1':
- resolution: {integrity: sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-win32-arm64-msvc@4.18.1':
- resolution: {integrity: sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.18.1':
- resolution: {integrity: sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.18.1':
- resolution: {integrity: sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==}
- cpu: [x64]
- os: [win32]
-
- '@sindresorhus/merge-streams@2.3.0':
- resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
- engines: {node: '>=18'}
-
- '@stackblitz/sdk@1.11.0':
- resolution: {integrity: sha512-DFQGANNkEZRzFk1/rDP6TcFdM82ycHE+zfl9C/M/jXlH68jiqHWHFMQURLELoD8koxvu/eW5uhg94NSAZlYrUQ==}
-
- '@types/debug@4.1.12':
- resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
-
- '@types/estree@1.0.5':
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
-
- '@types/fs-extra@11.0.4':
- resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
-
- '@types/hash-sum@1.0.2':
- resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==}
-
- '@types/jsonfile@6.1.4':
- resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
-
- '@types/katex@0.16.7':
- resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
-
- '@types/linkify-it@3.0.5':
- resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
-
- '@types/linkify-it@5.0.0':
- resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
-
- '@types/markdown-it-emoji@2.0.5':
- resolution: {integrity: sha512-iJLsmCNpSWKtV6Ia3mLSjcXJPEt7ubGG342z+hGvYx++TpM19oTUrJcI7XjbOqRQ+W2UQ323E7B0eCLwlgT/9g==}
-
- '@types/markdown-it@13.0.8':
- resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==}
-
- '@types/markdown-it@14.1.1':
- resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==}
-
- '@types/mdurl@1.0.5':
- resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
-
- '@types/mdurl@2.0.0':
- resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
-
- '@types/ms@0.7.34':
- resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
-
- '@types/node@17.0.45':
- resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
-
- '@types/node@20.14.10':
- resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==}
-
- '@types/sax@1.2.7':
- resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
-
- '@types/trusted-types@2.0.7':
- resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
-
- '@types/web-bluetooth@0.0.20':
- resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
-
- '@vitejs/plugin-vue@5.0.5':
- resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- vite: ^5.0.0
- vue: ^3.2.25
-
- '@vue/compiler-core@3.4.31':
- resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==}
-
- '@vue/compiler-dom@3.4.31':
- resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==}
-
- '@vue/compiler-sfc@3.4.31':
- resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==}
-
- '@vue/compiler-ssr@3.4.31':
- resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==}
-
- '@vue/devtools-api@6.6.3':
- resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
-
- '@vue/reactivity@3.4.31':
- resolution: {integrity: sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==}
-
- '@vue/runtime-core@3.4.31':
- resolution: {integrity: sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==}
-
- '@vue/runtime-dom@3.4.31':
- resolution: {integrity: sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==}
-
- '@vue/server-renderer@3.4.31':
- resolution: {integrity: sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==}
- peerDependencies:
- vue: 3.4.31
-
- '@vue/shared@3.4.31':
- resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==}
-
- '@vuepress/bundler-vite@2.0.0-rc.7':
- resolution: {integrity: sha512-2jNnU3sgHJuUCPfE0DvGRsAxo/A/Locguvnv4Q6QwJYdB1fuAqE6x5p8RDzq8Lv/GsyeexDWiV/PFER5EtVP3w==}
-
- '@vuepress/cli@2.0.0-rc.7':
- resolution: {integrity: sha512-SD9Z8vRF1tEKYE4X0qzARr3tHyqfKJJ1MpySL44w1uYSf7nmpJD5ejNsUZxEetj5Vrv8u1jX5IO/3GkPXj5OWA==}
- hasBin: true
-
- '@vuepress/client@2.0.0-rc.7':
- resolution: {integrity: sha512-T8jf9h8dfP1ln/7uOIiTAJrdyKRTyq1x+RHXuc7GoRxTfOw+bIYgGvh63Z7m1e3K/yh1nO9aM1WcXbDN1Swp4w==}
-
- '@vuepress/core@2.0.0-rc.7':
- resolution: {integrity: sha512-SPd2C9MIwHLe4mEWJfbcTHT5caS/vW+oeP79wAW0otSGgn2uY3Mmu5qcYPzl+17o8EYv7vDvPiO+uitp/Cek+A==}
-
- '@vuepress/helper@2.0.0-rc.12':
- resolution: {integrity: sha512-98sWHoXquQw7UYcmP2fJN4ALV815kXxccSne7MN1OqvpkgeLyEKzlHDf/HCtTYznWT3eSZ6FIvDiq6BaH8PQjQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/helper@2.0.0-rc.37':
- resolution: {integrity: sha512-Sa2H6EqRuG0+521Z5WN7I8EQNwLwFe7U+1KtV01zFp2BcehsgD3EigBjBP7hl01ubb4T8wR7CxWv7cGVA4bPcw==}
- peerDependencies:
- vuepress: 2.0.0-rc.14
-
- '@vuepress/markdown@2.0.0-rc.7':
- resolution: {integrity: sha512-mczvo7MZxxXXj5htDXK22r0a7JjTP5sTlcywtVOTJurzCKp8SNSbr3HdmsAnr9S838Hn9+dkvhs57rqgPG3UHA==}
-
- '@vuepress/plugin-active-header-links@2.0.0-rc.12':
- resolution: {integrity: sha512-t9pgjeu5mZJgtJ1u8+xZxd5uGNtSraRavx4o9juVGy/DjHXJHYbS4qnfAhE8GmVUThzQUfvPFZRsuNqiZn2lLA==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-back-to-top@2.0.0-rc.12':
- resolution: {integrity: sha512-LTdAeJje6zOBPdWST1qIyzjP35kjAUJAbMkzH7tddejIEfRkfVf6l9nZ8ksMSgzNVVSkO+4unBHqBLa2pLRsUw==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-blog@2.0.0-rc.12':
- resolution: {integrity: sha512-LZ0oX9QBxTHHtiUk7ONZHTwDaWoCejXjGgJXGXZDvCfQetCzLWoRYOao7bUxHUrmtD10JyaW+5fCAgHynXgBNQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-catalog@2.0.0-rc.12':
- resolution: {integrity: sha512-qlWDUeIsYKcxLa0A//344DarCdLdD3pxfcR5YvJm0CwGCBgA0LnG4gbfMGXyvvRDea/aOnsWK7ePXoDPWvCOPw==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-catalog@2.0.0-rc.14':
- resolution: {integrity: sha512-lpWg/vooMHssbF17hSjh22iqMcP5c7UkzLi8YaKNntk9frdKGPRhs5A74fFjr8jTHGt4+S3PxOaGkcmgfnbRdQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-copy-code@2.0.0-rc.12':
- resolution: {integrity: sha512-6FELMaKsaQ/hjPom8VjTC5N9QKdtCLrHLeSz2D2z16+9rnbkAfootEH1T08GN3/PyP2ZZA8OqCPvaNAKiCKGiQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-copyright@2.0.0-rc.13':
- resolution: {integrity: sha512-EGKZ6o7Oj3HeSG4VMAIwLBn/O2LSk5uI90LzbLAfsl9eE0nBCanOlL3SnB5AiDTW8zeDZVwJk6BTbd6ymoajXw==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-external-link-icon@2.0.0-rc.12':
- resolution: {integrity: sha512-ycvrDK+/75bmvbBPhUSxoOm2OiO+yC36iDs/Vs1OIlVuLDWz3GHuMxkP4uXrla0tQbkxKqyPA/O5Ihhlxz6KAA==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-git@2.0.0-rc.12':
- resolution: {integrity: sha512-DYriGdqDscbbt1y4nHrjS7ye+wdiY1fBJU+RvimId26Y1Q/I3DKsQSvRqtTg6tcQ4vt7/NJh1OiiuSaoNIQrnA==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-nprogress@2.0.0-rc.12':
- resolution: {integrity: sha512-Tuf9AsT4OwCwNFV4jf6vYefPrzDOdMobsUs94kvglDCkEUgepClmW+1KfK3RCoNC4GCrsX95Fz7LvfbeaxtKsQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-photo-swipe@2.0.0-rc.13':
- resolution: {integrity: sha512-OAOtrQIOaS0Bd1iBc7SqbOEkNsQsJKDT8FHY2hhDPatrSQBaWO1ilgTU0LYbBQ/Ewfkkafy6wsjtLuM8xkh4pA==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-prismjs@2.0.0-rc.12':
- resolution: {integrity: sha512-DiTdHgH3JFbCn5toSSsMsWvb+PYc4IHjt39o+3GU9j12GtFwHke7hDmXUWwegzYa7bWR0CfikDAto/8WIguRbA==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-reading-time@2.0.0-rc.12':
- resolution: {integrity: sha512-HVD5JZcKE06hWs8/DemKVWh+Z5dUh3Ztw0OmFxpObN3NkO5jQvLnlmKj5b14dbyk2nsMOfFDzkvMgezBXKiHFw==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-rtl@2.0.0-rc.12':
- resolution: {integrity: sha512-keyD4LLnFL3awjVdpentqUGWX0iB93uk5GSL7L4lppn20vnS8StrjTvGxYiViAYu+vB9drVG/3DiPkOcp5dy9Q==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-seo@2.0.0-rc.12':
- resolution: {integrity: sha512-aOiuZ7y0B99GROuhqTXQQsB0+sWX2l3geoZMzrJlbsykBCGcSN8RBHmdcIouzid83jBkOkBt6AxLRQKpQyWgwA==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-sitemap@2.0.0-rc.12':
- resolution: {integrity: sha512-XrFBpQvfeJqQuL5ofCVf/hui5IRJPP6tEA2sBJTjtJH4y0xRgnE23RALE7mpsqD2Mo7TnAgrDORRgZL0Zzy94g==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/plugin-theme-data@2.0.0-rc.12':
- resolution: {integrity: sha512-0hhb83MLG275BDF6OE4gNhz/tZBks6OyjPqkaTbdRHCEhuZD3UwFp+t3b7lUbAkftWSBSidhE0unkaqJw5zJuw==}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- '@vuepress/shared@2.0.0-rc.7':
- resolution: {integrity: sha512-zNsYzAW5tuENb4vML0pK/61W3EscyOcn5JVPC+c6AwvsYWyAigZaMSu9ycGAptjDwzdYSi3gd33N9Q9T7pG77Q==}
-
- '@vuepress/utils@2.0.0-rc.7':
- resolution: {integrity: sha512-47c7T72JwOWH1EgG7f/KwWNpIknd9IC5JmrizGI5IVUM4G16Vyj5oPQuXqLobV47m8JOxPW4dLpsglZGVaKQeg==}
-
- '@vueuse/core@10.11.0':
- resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==}
-
- '@vueuse/metadata@10.11.0':
- resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==}
-
- '@vueuse/shared@10.11.0':
- resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
-
- abbrev@1.1.1:
- resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
-
- abbrev@2.0.0:
- resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
-
- agent-base@7.1.1:
- resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
- engines: {node: '>= 14'}
-
- aggregate-error@3.1.0:
- resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
- engines: {node: '>=8'}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- aproba@2.0.0:
- resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
-
- are-we-there-yet@2.0.0:
- resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
- engines: {node: '>=10'}
- deprecated: This package is no longer supported.
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
- argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
-
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
- autoprefixer@10.4.19:
- resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- balloon-css@1.2.0:
- resolution: {integrity: sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==}
-
- bcrypt-ts@5.0.2:
- resolution: {integrity: sha512-gDwQ5784AkkfhHACh3jGcg1hUubyZyeq9AtVd5gXkcyHGVOC+mORjRIHSj+fHfqwY5vxwyBLXQpcfk8MpK0ROg==}
- engines: {node: '>=18'}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
-
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.23.2:
- resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
-
- cacache@18.0.4:
- resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
-
- camelcase@5.3.1:
- resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
- engines: {node: '>=6'}
-
- caniuse-lite@1.0.30001641:
- resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==}
-
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
- 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'}
-
- chownr@2.0.0:
- resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
- engines: {node: '>=10'}
-
- clean-stack@2.2.0:
- resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
- engines: {node: '>=6'}
-
- cli-cursor@4.0.0:
- resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
-
- cliui@6.0.0:
- resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- color-support@1.1.3:
- resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
- hasBin: true
-
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- connect-history-api-fallback@2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
- engines: {node: '>=0.8'}
-
- console-control-strings@1.1.0:
- resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
-
- create-codepen@1.0.1:
- resolution: {integrity: sha512-XzSWwGCFNeOnNGp3KdCDGaKq4Cp1SvjzpPGQqO0tj1HT3BhksLdl/xQ2ZEY4+0MQ3m1I/K1Fvpm4GGMthtamyA==}
-
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
-
- css-select@5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
-
- css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
-
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- dayjs@1.11.11:
- resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
-
- debug@4.3.5:
- resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
-
- delegates@1.0.0:
- resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
-
- detect-libc@2.0.3:
- resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
- engines: {node: '>=8'}
-
- dijkstrajs@1.0.3:
- resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
-
- dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
-
- domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
-
- domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
-
- domutils@3.1.0:
- resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- electron-to-chromium@1.4.827:
- resolution: {integrity: sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==}
-
- emoji-regex@10.3.0:
- resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
-
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- encode-utf8@1.0.3:
- resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
-
- encoding@0.1.13:
- resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
-
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
-
- env-paths@2.2.1:
- resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
- engines: {node: '>=6'}
-
- envinfo@7.13.0:
- resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==}
- engines: {node: '>=4'}
- hasBin: true
-
- err-code@2.0.3:
- resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
-
- esbuild@0.19.12:
- resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
- engines: {node: '>=12'}
- hasBin: true
-
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
-
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
-
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
- execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
-
- exponential-backoff@3.1.1:
- resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
-
- extend-shallow@2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
- engines: {node: '>=0.10.0'}
-
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
-
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
-
- fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
-
- foreground-child@3.2.1:
- resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==}
- engines: {node: '>=14'}
-
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
- fs-extra@11.2.0:
- resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
- engines: {node: '>=14.14'}
-
- fs-minipass@2.1.0:
- resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
- engines: {node: '>= 8'}
-
- fs-minipass@3.0.3:
- resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- gauge@3.0.2:
- resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
- engines: {node: '>=10'}
- deprecated: This package is no longer supported.
-
- get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
-
- get-east-asian-width@1.2.0:
- resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
- engines: {node: '>=18'}
-
- get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
-
- giscus@1.5.0:
- resolution: {integrity: sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
-
- globby@14.0.2:
- resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
- engines: {node: '>=18'}
-
- 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'}
-
- has-unicode@2.0.1:
- resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
-
- hash-sum@2.0.0:
- resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
-
- htmlparser2@8.0.2:
- resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
-
- http-cache-semantics@4.1.1:
- resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
-
- http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
-
- https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
-
- https-proxy-agent@7.0.5:
- resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
- engines: {node: '>= 14'}
-
- human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
-
- iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
-
- ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
-
- immutable@4.3.6:
- resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==}
-
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
- indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
-
- inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
-
- inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
- ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
- engines: {node: '>= 12'}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- 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'}
-
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-interactive@2.0.0:
- resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
- engines: {node: '>=12'}
-
- is-lambda@1.0.1:
- resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- is-unicode-supported@1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
- engines: {node: '>=12'}
-
- is-unicode-supported@2.0.0:
- resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
- engines: {node: '>=18'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- isexe@3.1.1:
- resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
- engines: {node: '>=16'}
-
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
- 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
-
- jsbn@1.1.0:
- resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
-
- jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
- engines: {node: '>=14'}
-
- linkify-it@5.0.0:
- resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
-
- lit-element@4.0.6:
- resolution: {integrity: sha512-U4sdJ3CSQip7sLGZ/uJskO5hGiqtlpxndsLr6mt3IQIjheg93UKYeGQjWMRql1s/cXNOaRrCzC2FQwjIwSUqkg==}
-
- lit-html@3.1.4:
- resolution: {integrity: sha512-yKKO2uVv7zYFHlWMfZmqc+4hkmSbFp8jgjdZY9vvR9jr4J8fH6FUMXhr+ljfELgmjpvlF7Z1SJ5n5/Jeqtc9YA==}
-
- lit@3.1.4:
- resolution: {integrity: sha512-q6qKnKXHy2g1kjBaNfcoLlgbI3+aSOZ9Q4tiGa9bGYXq5RBXxkVTqTIVmP2VWMp29L4GyvCFm8ZQ2o56eUAMyA==}
-
- locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
-
- log-symbols@6.0.0:
- resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
- engines: {node: '>=18'}
-
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
- magic-string@0.30.10:
- resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
-
- make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
-
- make-fetch-happen@13.0.1:
- resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==}
- engines: {node: ^16.14.0 || >=18.0.0}
-
- markdown-it-anchor@8.6.7:
- resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==}
- peerDependencies:
- '@types/markdown-it': '*'
- markdown-it: '*'
-
- markdown-it-emoji@3.0.0:
- resolution: {integrity: sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==}
-
- markdown-it@14.1.0:
- resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
- hasBin: true
-
- mdurl@2.0.0:
- resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
-
- merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.7:
- resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
- engines: {node: '>=8.6'}
-
- mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
-
- mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
-
- 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'}
-
- minipass-collect@2.0.1:
- resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minipass-fetch@3.0.5:
- resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- minipass-flush@1.0.5:
- resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
- engines: {node: '>= 8'}
-
- minipass-pipeline@1.2.4:
- resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
- engines: {node: '>=8'}
-
- minipass-sized@1.0.3:
- resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
- engines: {node: '>=8'}
-
- minipass@3.3.6:
- resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
- engines: {node: '>=8'}
-
- minipass@5.0.0:
- resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
- engines: {node: '>=8'}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minizlib@2.1.2:
- resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
- engines: {node: '>= 8'}
-
- mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
- hasBin: true
-
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
-
- node-addon-api@7.1.1:
- resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
-
- node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
-
- node-gyp@10.2.0:
- resolution: {integrity: sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==}
- engines: {node: ^16.14.0 || >=18.0.0}
- hasBin: true
-
- node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
-
- nodejs-jieba@0.1.2:
- resolution: {integrity: sha512-VOBhc1muuH00apYn78bVJSPUn7xakyawJNTl+3jVu3038FpxKBp4qxfGkpb07DXWFf12IlcIT4UzmhqXzASKxg==}
- engines: {node: ^18.0.0 || ^20.0.0}
-
- nopt@5.0.0:
- resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
- engines: {node: '>=6'}
- hasBin: true
-
- nopt@7.2.1:
- resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
-
- normalize-path@3.0.0:
- 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'}
-
- npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- npmlog@5.0.1:
- resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
- deprecated: This package is no longer supported.
-
- nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
- onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
-
- onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
-
- ora@8.0.1:
- resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==}
- engines: {node: '>=18'}
-
- p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
-
- p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
-
- p-map@4.0.0:
- resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
- engines: {node: '>=10'}
-
- p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
-
- package-json-from-dist@1.0.0:
- resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
-
- parse5-htmlparser2-tree-adapter@7.0.0:
- resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
-
- parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
-
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
-
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
- path-type@5.0.0:
- resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
- engines: {node: '>=12'}
-
- photoswipe@5.4.4:
- resolution: {integrity: sha512-WNFHoKrkZNnvFFhbHL93WDkW3ifwVOXSW3w1UuZZelSmgXpIGiZSNlZJq37rR8YejqME2rHs9EhH9ZvlvFH2NA==}
- engines: {node: '>= 0.12.0'}
-
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- pngjs@5.0.0:
- resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
- engines: {node: '>=10.13.0'}
-
- postcss-load-config@5.1.0:
- resolution: {integrity: sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==}
- engines: {node: '>= 18'}
- peerDependencies:
- jiti: '>=1.21.0'
- postcss: '>=8.0.9'
- tsx: ^4.8.1
- peerDependenciesMeta:
- jiti:
- optional: true
- postcss:
- optional: true
- tsx:
- optional: true
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.4.39:
- resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==}
- engines: {node: ^10 || ^12 || >=14}
-
- prismjs@1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
- engines: {node: '>=6'}
-
- proc-log@4.2.0:
- resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- promise-retry@2.0.1:
- resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
- engines: {node: '>=10'}
-
- punycode.js@2.3.1:
- resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
- engines: {node: '>=6'}
-
- qrcode@1.5.3:
- resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
- engines: {node: '>=10.13.0'}
- hasBin: true
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
-
- require-main-filename@2.0.0:
- resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
-
- restore-cursor@4.0.0:
- resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- retry@0.12.0:
- resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
- engines: {node: '>= 4'}
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
- rollup@4.18.1:
- resolution: {integrity: sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
- safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
- sass@1.77.8:
- resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- sax@1.4.1:
- resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
-
- section-matter@1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
- engines: {node: '>=4'}
-
- semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
-
- semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
- engines: {node: '>=10'}
- hasBin: true
-
- set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- sitemap@7.1.2:
- resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==}
- engines: {node: '>=12.0.0', npm: '>=5.6.0'}
- hasBin: true
-
- slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
-
- slimsearch@2.1.1:
- resolution: {integrity: sha512-l1utJWal8F/RIheYk88DE2+enI12nIrn5SHt4ih/CNAH81PzkTv2GVBODlLynDJb7xan5hjd8XTL5f0L4cxLQA==}
- engines: {node: '>=18.18.0'}
-
- smart-buffer@4.2.0:
- resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
- engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
-
- socks-proxy-agent@8.0.4:
- resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==}
- engines: {node: '>= 14'}
-
- socks@2.8.3:
- resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
- engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
-
- source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
-
- sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
-
- sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
-
- ssri@10.0.6:
- resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- stdin-discarder@0.2.2:
- resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
- engines: {node: '>=18'}
-
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
- string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
-
- string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.0:
- 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-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
-
- tar@6.2.1:
- resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
- engines: {node: '>=10'}
-
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
-
- uc.micro@2.1.0:
- resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
-
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
-
- unicorn-magic@0.1.0:
- resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
- engines: {node: '>=18'}
-
- unique-filename@3.0.0:
- resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- unique-slug@4.0.0:
- resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- universalify@2.0.1:
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
- engines: {node: '>= 10.0.0'}
-
- upath@2.0.1:
- resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
- engines: {node: '>=4'}
-
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- vite@5.0.13:
- resolution: {integrity: sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
-
- vue-demi@0.14.8:
- resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
-
- vue-router@4.4.0:
- resolution: {integrity: sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==}
- peerDependencies:
- vue: ^3.2.0
-
- vue@3.4.31:
- resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- vuepress-plugin-comment2@2.0.0-rc.23:
- resolution: {integrity: sha512-HyF+RFrvQljAdbHLAdRdx5VMq1268l0U0yQAg6ikI44hb/eB04D5+KRfWhqpQNUayHv28V3PsDQ8KqcrfD8cSA==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- deprecated: Use @vuepress/plugin-comment@next instead
- peerDependencies:
- '@waline/client': ^2.15.8 || ^3.0.0-alpha.11
- artalk: ^2.7.3
- sass-loader: ^14.0.0
- twikoo: ^1.5.0
- vuepress: 2.0.0-rc.7
- peerDependenciesMeta:
- '@waline/client':
- optional: true
- artalk:
- optional: true
- sass-loader:
- optional: true
- twikoo:
- optional: true
-
- vuepress-plugin-components@2.0.0-rc.23:
- resolution: {integrity: sha512-A0bh2a5aLXSg2YfZLicLRc4kbNwGNljBTV9xv1JhLzBqbvd/TRXX5NQFKz4Fgq9Ju/aYOXDEHkinMXFNvZvjBw==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- peerDependencies:
- artplayer: ^5.0.0
- dashjs-pure: ^1.0.0
- hls.js: ^1.4.12
- mpegts.js: ^1.7.3
- plyr: ^3.7.8
- sass-loader: ^14.0.0
- vidstack: ^1.9.0
- vuepress: 2.0.0-rc.7
- peerDependenciesMeta:
- artplayer:
- optional: true
- dashjs-pure:
- optional: true
- hls.js:
- optional: true
- mpegts.js:
- optional: true
- plyr:
- optional: true
- sass-loader:
- optional: true
- vidstack:
- optional: true
-
- vuepress-plugin-md-enhance@2.0.0-rc.23:
- resolution: {integrity: sha512-oyQjb2pGjAVSzIRmf24ALKfEE/fVTR5/9N/9Y2IaIJnB1xB+uvsa9NlRRORro1+niNmcbG9ETMHzkC0J9CVrlg==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- peerDependencies:
- '@types/reveal.js': ^4.4.5
- '@vue/repl': ^3.0.0
- chart.js: ^4.0.0
- echarts: ^5.0.0
- flowchart.ts: ^2.0.0 || ^3.0.0
- katex: ^0.16.0
- kotlin-playground: ^1.23.0
- markmap-lib: ^0.15.5
- markmap-toolbar: ^0.15.5
- markmap-view: ^0.15.5
- mathjax-full: ^3.2.2
- mermaid: ^10.8.0
- reveal.js: ^5.0.0
- sandpack-vue3: ^3.0.0
- sass-loader: ^14.0.0
- vuepress: 2.0.0-rc.7
- peerDependenciesMeta:
- '@types/reveal.js':
- optional: true
- '@vue/repl':
- optional: true
- chart.js:
- optional: true
- echarts:
- optional: true
- flowchart.ts:
- optional: true
- katex:
- optional: true
- kotlin-playground:
- optional: true
- markmap-lib:
- optional: true
- markmap-toolbar:
- optional: true
- markmap-view:
- optional: true
- mathjax-full:
- optional: true
- mermaid:
- optional: true
- reveal.js:
- optional: true
- sandpack-vue3:
- optional: true
- sass-loader:
- optional: true
-
- vuepress-plugin-sass-palette@2.0.0-rc.23:
- resolution: {integrity: sha512-tszb4KpJegfNMrmp1DZn95qAIRAJJAfuuCAhAHuwQ+yZI1GrZd3m8b5hOQejHLE1Bimwb3Kj/lYPVMnb/2c6gA==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- peerDependencies:
- sass-loader: ^14.0.0
- vuepress: 2.0.0-rc.7
- peerDependenciesMeta:
- sass-loader:
- optional: true
-
- vuepress-plugin-search-pro@2.0.0-rc.23:
- resolution: {integrity: sha512-pWihTdqKusQAOue88DUtW67RJpNDNdwHAcM3kJTEzLfTIaJdsji/gjt3Sm8eX44qhYs+vWa9ZX/MkjbCPg9cdw==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- peerDependencies:
- sass-loader: ^14.0.0
- vuepress: 2.0.0-rc.7
- peerDependenciesMeta:
- sass-loader:
- optional: true
-
- vuepress-shared@2.0.0-rc.23:
- resolution: {integrity: sha512-1es+bJ13E4UNkIr5kuPMX8h77aGZEuHLknH4u8B0qh+kP/CuuRXhUVQ6AHCuyDArL9mUc7CFwo+ro7zqDpsA1Q==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- peerDependencies:
- vuepress: 2.0.0-rc.7
-
- vuepress-theme-hope@2.0.0-rc.23:
- resolution: {integrity: sha512-4ONVCNpQ0IiJsFwoGIQO7kV2OWJNr+LuDv7TsM+fa/b1b+bu/oeOGObnBMXc91YofB8Pqno0W+wYHEhLwheY0A==}
- engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
- peerDependencies:
- '@vuepress/plugin-docsearch': 2.0.0-rc.12
- '@vuepress/plugin-feed': 2.0.0-rc.12
- '@vuepress/plugin-redirect': 2.0.0-rc.12
- '@vuepress/plugin-search': 2.0.0-rc.12
- nodejs-jieba: ^0.1.2
- sass-loader: ^14.0.0
- vuepress: 2.0.0-rc.7
- vuepress-plugin-pwa2: 2.0.0-rc.23
- vuepress-plugin-search-pro: 2.0.0-rc.23
- peerDependenciesMeta:
- '@vuepress/plugin-docsearch':
- optional: true
- '@vuepress/plugin-feed':
- optional: true
- '@vuepress/plugin-redirect':
- optional: true
- '@vuepress/plugin-search':
- optional: true
- nodejs-jieba:
- optional: true
- sass-loader:
- optional: true
- vuepress-plugin-pwa2:
- optional: true
- vuepress-plugin-search-pro:
- optional: true
-
- vuepress@2.0.0-rc.7:
- resolution: {integrity: sha512-j0Fb0XtrGnlLxKflarjPa4V/NMzj0lc0RIFNgcQBFZnQHSr5IuSVES7Kt7mDNBlLRpAadQxB6IFC1v2wDEcD/w==}
- engines: {node: '>=18.16.0'}
- hasBin: true
- peerDependencies:
- '@vuepress/bundler-vite': 2.0.0-rc.7
- '@vuepress/bundler-webpack': 2.0.0-rc.7
- vue: ^3.4.0
- peerDependenciesMeta:
- '@vuepress/bundler-vite':
- optional: true
- '@vuepress/bundler-webpack':
- optional: true
-
- webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
-
- whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
-
- which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- which@4.0.0:
- resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
- engines: {node: ^16.13.0 || >=18.0.0}
- hasBin: true
-
- wide-align@1.1.5:
- resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
-
- wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
-
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
- wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
- y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
-
- yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
-
- yaml@2.4.5:
- resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==}
- engines: {node: '>= 14'}
- hasBin: true
-
- yargs-parser@18.1.3:
- resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
- engines: {node: '>=6'}
-
- yargs@15.4.1:
- resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
- engines: {node: '>=8'}
-
-snapshots:
-
- '@babel/helper-string-parser@7.24.8': {}
-
- '@babel/helper-validator-identifier@7.24.7': {}
-
- '@babel/parser@7.24.8':
- dependencies:
- '@babel/types': 7.24.8
-
- '@babel/types@7.24.8':
- dependencies:
- '@babel/helper-string-parser': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
-
- '@esbuild/aix-ppc64@0.19.12':
- optional: true
-
- '@esbuild/android-arm64@0.19.12':
- optional: true
-
- '@esbuild/android-arm@0.19.12':
- optional: true
-
- '@esbuild/android-x64@0.19.12':
- optional: true
-
- '@esbuild/darwin-arm64@0.19.12':
- optional: true
-
- '@esbuild/darwin-x64@0.19.12':
- optional: true
-
- '@esbuild/freebsd-arm64@0.19.12':
- optional: true
-
- '@esbuild/freebsd-x64@0.19.12':
- optional: true
-
- '@esbuild/linux-arm64@0.19.12':
- optional: true
-
- '@esbuild/linux-arm@0.19.12':
- optional: true
-
- '@esbuild/linux-ia32@0.19.12':
- optional: true
-
- '@esbuild/linux-loong64@0.19.12':
- optional: true
-
- '@esbuild/linux-mips64el@0.19.12':
- optional: true
-
- '@esbuild/linux-ppc64@0.19.12':
- optional: true
-
- '@esbuild/linux-riscv64@0.19.12':
- optional: true
-
- '@esbuild/linux-s390x@0.19.12':
- optional: true
-
- '@esbuild/linux-x64@0.19.12':
- optional: true
-
- '@esbuild/netbsd-x64@0.19.12':
- optional: true
-
- '@esbuild/openbsd-x64@0.19.12':
- optional: true
-
- '@esbuild/sunos-x64@0.19.12':
- optional: true
-
- '@esbuild/win32-arm64@0.19.12':
- optional: true
-
- '@esbuild/win32-ia32@0.19.12':
- optional: true
-
- '@esbuild/win32-x64@0.19.12':
- optional: true
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@lit-labs/ssr-dom-shim@1.2.0': {}
-
- '@lit/reactive-element@2.0.4':
- dependencies:
- '@lit-labs/ssr-dom-shim': 1.2.0
-
- '@mapbox/node-pre-gyp@1.0.11':
- dependencies:
- detect-libc: 2.0.3
- https-proxy-agent: 5.0.1
- make-dir: 3.1.0
- node-fetch: 2.7.0
- nopt: 5.0.0
- npmlog: 5.0.1
- rimraf: 3.0.2
- semver: 7.6.2
- tar: 6.2.1
- transitivePeerDependencies:
- - encoding
- - supports-color
-
- '@mdit-vue/plugin-component@2.1.3':
- dependencies:
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
-
- '@mdit-vue/plugin-frontmatter@2.1.3':
- dependencies:
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 14.1.1
- gray-matter: 4.0.3
- markdown-it: 14.1.0
-
- '@mdit-vue/plugin-headers@2.1.3':
- dependencies:
- '@mdit-vue/shared': 2.1.3
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
-
- '@mdit-vue/plugin-sfc@2.1.3':
- dependencies:
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
-
- '@mdit-vue/plugin-title@2.1.3':
- dependencies:
- '@mdit-vue/shared': 2.1.3
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
-
- '@mdit-vue/plugin-toc@2.1.3':
- dependencies:
- '@mdit-vue/shared': 2.1.3
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
-
- '@mdit-vue/shared@2.1.3':
- dependencies:
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
-
- '@mdit-vue/types@2.1.0': {}
-
- '@mdit/plugin-alert@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-align@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@mdit/plugin-container': 0.8.0(markdown-it@14.1.0)
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-attrs@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-container@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-demo@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-figure@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-footnote@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-img-lazyload@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-img-mark@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-img-size@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-include@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
- upath: 2.0.1
-
- '@mdit/plugin-katex@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@mdit/plugin-tex': 0.8.0(markdown-it@14.1.0)
- '@types/katex': 0.16.7
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-mark@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-mathjax@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@mdit/plugin-tex': 0.8.0(markdown-it@14.1.0)
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
- upath: 2.0.1
-
- '@mdit/plugin-stylize@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-sub@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-sup@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-tab@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-tasklist@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-tex@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@mdit/plugin-uml@0.8.0(markdown-it@14.1.0)':
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
-
- '@npmcli/agent@2.2.2':
- dependencies:
- agent-base: 7.1.1
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.5
- lru-cache: 10.4.3
- socks-proxy-agent: 8.0.4
- transitivePeerDependencies:
- - supports-color
-
- '@npmcli/fs@3.1.1':
- dependencies:
- semver: 7.6.2
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@rollup/rollup-android-arm-eabi@4.18.1':
- optional: true
-
- '@rollup/rollup-android-arm64@4.18.1':
- optional: true
-
- '@rollup/rollup-darwin-arm64@4.18.1':
- optional: true
-
- '@rollup/rollup-darwin-x64@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-arm-gnueabihf@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-arm-musleabihf@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-arm64-gnu@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-arm64-musl@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-riscv64-gnu@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-s390x-gnu@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-x64-gnu@4.18.1':
- optional: true
-
- '@rollup/rollup-linux-x64-musl@4.18.1':
- optional: true
-
- '@rollup/rollup-win32-arm64-msvc@4.18.1':
- optional: true
-
- '@rollup/rollup-win32-ia32-msvc@4.18.1':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.18.1':
- optional: true
-
- '@sindresorhus/merge-streams@2.3.0': {}
-
- '@stackblitz/sdk@1.11.0': {}
-
- '@types/debug@4.1.12':
- dependencies:
- '@types/ms': 0.7.34
-
- '@types/estree@1.0.5': {}
-
- '@types/fs-extra@11.0.4':
- dependencies:
- '@types/jsonfile': 6.1.4
- '@types/node': 20.14.10
-
- '@types/hash-sum@1.0.2': {}
-
- '@types/jsonfile@6.1.4':
- dependencies:
- '@types/node': 20.14.10
-
- '@types/katex@0.16.7': {}
-
- '@types/linkify-it@3.0.5': {}
-
- '@types/linkify-it@5.0.0': {}
-
- '@types/markdown-it-emoji@2.0.5':
- dependencies:
- '@types/markdown-it': 13.0.8
-
- '@types/markdown-it@13.0.8':
- dependencies:
- '@types/linkify-it': 3.0.5
- '@types/mdurl': 1.0.5
-
- '@types/markdown-it@14.1.1':
- dependencies:
- '@types/linkify-it': 5.0.0
- '@types/mdurl': 2.0.0
-
- '@types/mdurl@1.0.5': {}
-
- '@types/mdurl@2.0.0': {}
-
- '@types/ms@0.7.34': {}
-
- '@types/node@17.0.45': {}
-
- '@types/node@20.14.10':
- dependencies:
- undici-types: 5.26.5
-
- '@types/sax@1.2.7':
- dependencies:
- '@types/node': 17.0.45
-
- '@types/trusted-types@2.0.7': {}
-
- '@types/web-bluetooth@0.0.20': {}
-
- '@vitejs/plugin-vue@5.0.5(vite@5.0.13)(vue@3.4.31)':
- dependencies:
- vite: 5.0.13
- vue: 3.4.31
-
- '@vue/compiler-core@3.4.31':
- dependencies:
- '@babel/parser': 7.24.8
- '@vue/shared': 3.4.31
- entities: 4.5.0
- estree-walker: 2.0.2
- source-map-js: 1.2.0
-
- '@vue/compiler-dom@3.4.31':
- dependencies:
- '@vue/compiler-core': 3.4.31
- '@vue/shared': 3.4.31
-
- '@vue/compiler-sfc@3.4.31':
- dependencies:
- '@babel/parser': 7.24.8
- '@vue/compiler-core': 3.4.31
- '@vue/compiler-dom': 3.4.31
- '@vue/compiler-ssr': 3.4.31
- '@vue/shared': 3.4.31
- estree-walker: 2.0.2
- magic-string: 0.30.10
- postcss: 8.4.39
- source-map-js: 1.2.0
-
- '@vue/compiler-ssr@3.4.31':
- dependencies:
- '@vue/compiler-dom': 3.4.31
- '@vue/shared': 3.4.31
-
- '@vue/devtools-api@6.6.3': {}
-
- '@vue/reactivity@3.4.31':
- dependencies:
- '@vue/shared': 3.4.31
-
- '@vue/runtime-core@3.4.31':
- dependencies:
- '@vue/reactivity': 3.4.31
- '@vue/shared': 3.4.31
-
- '@vue/runtime-dom@3.4.31':
- dependencies:
- '@vue/reactivity': 3.4.31
- '@vue/runtime-core': 3.4.31
- '@vue/shared': 3.4.31
- csstype: 3.1.3
-
- '@vue/server-renderer@3.4.31(vue@3.4.31)':
- dependencies:
- '@vue/compiler-ssr': 3.4.31
- '@vue/shared': 3.4.31
- vue: 3.4.31
-
- '@vue/shared@3.4.31': {}
-
- '@vuepress/bundler-vite@2.0.0-rc.7':
- dependencies:
- '@vitejs/plugin-vue': 5.0.5(vite@5.0.13)(vue@3.4.31)
- '@vuepress/client': 2.0.0-rc.7
- '@vuepress/core': 2.0.0-rc.7
- '@vuepress/shared': 2.0.0-rc.7
- '@vuepress/utils': 2.0.0-rc.7
- autoprefixer: 10.4.19(postcss@8.4.39)
- connect-history-api-fallback: 2.0.0
- postcss: 8.4.39
- postcss-load-config: 5.1.0(postcss@8.4.39)
- rollup: 4.18.1
- vite: 5.0.13
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- transitivePeerDependencies:
- - '@types/node'
- - '@vue/composition-api'
- - jiti
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- - tsx
- - typescript
-
- '@vuepress/cli@2.0.0-rc.7':
- dependencies:
- '@vuepress/core': 2.0.0-rc.7
- '@vuepress/shared': 2.0.0-rc.7
- '@vuepress/utils': 2.0.0-rc.7
- cac: 6.7.14
- chokidar: 3.6.0
- envinfo: 7.13.0
- esbuild: 0.19.12
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/client@2.0.0-rc.7':
- dependencies:
- '@vue/devtools-api': 6.6.3
- '@vuepress/shared': 2.0.0-rc.7
- '@vueuse/core': 10.11.0(vue@3.4.31)
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/core@2.0.0-rc.7':
- dependencies:
- '@vuepress/client': 2.0.0-rc.7
- '@vuepress/markdown': 2.0.0-rc.7
- '@vuepress/shared': 2.0.0-rc.7
- '@vuepress/utils': 2.0.0-rc.7
- vue: 3.4.31
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/helper@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vue/shared': 3.4.31
- cheerio: 1.0.0-rc.12
- fflate: 0.8.2
- gray-matter: 4.0.3
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/helper@2.0.0-rc.37(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vue/shared': 3.4.31
- cheerio: 1.0.0-rc.12
- fflate: 0.8.2
- gray-matter: 4.0.3
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/markdown@2.0.0-rc.7':
- dependencies:
- '@mdit-vue/plugin-component': 2.1.3
- '@mdit-vue/plugin-frontmatter': 2.1.3
- '@mdit-vue/plugin-headers': 2.1.3
- '@mdit-vue/plugin-sfc': 2.1.3
- '@mdit-vue/plugin-title': 2.1.3
- '@mdit-vue/plugin-toc': 2.1.3
- '@mdit-vue/shared': 2.1.3
- '@mdit-vue/types': 2.1.0
- '@types/markdown-it': 13.0.8
- '@types/markdown-it-emoji': 2.0.5
- '@vuepress/shared': 2.0.0-rc.7
- '@vuepress/utils': 2.0.0-rc.7
- markdown-it: 14.1.0
- markdown-it-anchor: 8.6.7(@types/markdown-it@13.0.8)(markdown-it@14.1.0)
- markdown-it-emoji: 3.0.0
- mdurl: 2.0.0
- transitivePeerDependencies:
- - supports-color
-
- '@vuepress/plugin-active-header-links@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vueuse/core': 10.11.0(vue@3.4.31)
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/plugin-back-to-top@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/plugin-blog@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- chokidar: 3.6.0
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-catalog@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-catalog@2.0.0-rc.14(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.37(vuepress@2.0.0-rc.7)
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-copy-code@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/plugin-copyright@2.0.0-rc.13(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/plugin-external-link-icon@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-git@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- execa: 8.0.1
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
-
- '@vuepress/plugin-nprogress@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-photo-swipe@2.0.0-rc.13(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- photoswipe: 5.4.4
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/plugin-prismjs@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- prismjs: 1.29.0
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
-
- '@vuepress/plugin-reading-time@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-rtl@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-seo@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-sitemap@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- sitemap: 7.1.2
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/plugin-theme-data@2.0.0-rc.12(vuepress@2.0.0-rc.7)':
- dependencies:
- '@vue/devtools-api': 6.6.3
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - typescript
-
- '@vuepress/shared@2.0.0-rc.7':
- dependencies:
- '@mdit-vue/types': 2.1.0
-
- '@vuepress/utils@2.0.0-rc.7':
- dependencies:
- '@types/debug': 4.1.12
- '@types/fs-extra': 11.0.4
- '@types/hash-sum': 1.0.2
- '@vuepress/shared': 2.0.0-rc.7
- debug: 4.3.5
- fs-extra: 11.2.0
- globby: 14.0.2
- hash-sum: 2.0.0
- ora: 8.0.1
- picocolors: 1.0.1
- upath: 2.0.1
- transitivePeerDependencies:
- - supports-color
-
- '@vueuse/core@10.11.0(vue@3.4.31)':
- dependencies:
- '@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.11.0
- '@vueuse/shared': 10.11.0(vue@3.4.31)
- vue-demi: 0.14.8(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
- '@vueuse/metadata@10.11.0': {}
-
- '@vueuse/shared@10.11.0(vue@3.4.31)':
- dependencies:
- vue-demi: 0.14.8(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
- abbrev@1.1.1: {}
-
- abbrev@2.0.0: {}
-
- agent-base@6.0.2:
- dependencies:
- debug: 4.3.5
- transitivePeerDependencies:
- - supports-color
-
- agent-base@7.1.1:
- dependencies:
- debug: 4.3.5
- transitivePeerDependencies:
- - supports-color
-
- aggregate-error@3.1.0:
- dependencies:
- clean-stack: 2.2.0
- indent-string: 4.0.0
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.0.1: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- ansi-styles@6.2.1: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- aproba@2.0.0: {}
-
- are-we-there-yet@2.0.0:
- dependencies:
- delegates: 1.0.0
- readable-stream: 3.6.2
-
- arg@5.0.2: {}
-
- argparse@1.0.10:
- dependencies:
- sprintf-js: 1.0.3
-
- argparse@2.0.1: {}
-
- autoprefixer@10.4.19(postcss@8.4.39):
- dependencies:
- browserslist: 4.23.2
- caniuse-lite: 1.0.30001641
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.0.1
- postcss: 8.4.39
- postcss-value-parser: 4.2.0
-
- balanced-match@1.0.2: {}
-
- balloon-css@1.2.0: {}
-
- bcrypt-ts@5.0.2: {}
-
- binary-extensions@2.3.0: {}
-
- boolbase@1.0.0: {}
-
- brace-expansion@1.1.11:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- brace-expansion@2.0.1:
- dependencies:
- balanced-match: 1.0.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- browserslist@4.23.2:
- dependencies:
- caniuse-lite: 1.0.30001641
- electron-to-chromium: 1.4.827
- node-releases: 2.0.14
- update-browserslist-db: 1.1.0(browserslist@4.23.2)
-
- cac@6.7.14: {}
-
- cacache@18.0.4:
- dependencies:
- '@npmcli/fs': 3.1.1
- fs-minipass: 3.0.3
- glob: 10.4.5
- lru-cache: 10.4.3
- minipass: 7.1.2
- minipass-collect: 2.0.1
- minipass-flush: 1.0.5
- minipass-pipeline: 1.2.4
- p-map: 4.0.0
- ssri: 10.0.6
- tar: 6.2.1
- unique-filename: 3.0.0
-
- camelcase@5.3.1: {}
-
- caniuse-lite@1.0.30001641: {}
-
- chalk@5.3.0: {}
-
- cheerio-select@2.1.0:
- dependencies:
- boolbase: 1.0.0
- css-select: 5.1.0
- css-what: 6.1.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
-
- cheerio@1.0.0-rc.12:
- dependencies:
- cheerio-select: 2.1.0
- dom-serializer: 2.0.0
- domhandler: 5.0.3
- domutils: 3.1.0
- htmlparser2: 8.0.2
- parse5: 7.1.2
- parse5-htmlparser2-tree-adapter: 7.0.0
-
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
- chownr@2.0.0: {}
-
- clean-stack@2.2.0: {}
-
- cli-cursor@4.0.0:
- dependencies:
- restore-cursor: 4.0.0
-
- cli-spinners@2.9.2: {}
-
- cliui@6.0.0:
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 6.2.0
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- color-support@1.1.3: {}
-
- concat-map@0.0.1: {}
-
- connect-history-api-fallback@2.0.0: {}
-
- console-control-strings@1.1.0: {}
-
- create-codepen@1.0.1: {}
-
- cross-spawn@7.0.3:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- css-select@5.1.0:
- dependencies:
- boolbase: 1.0.0
- css-what: 6.1.0
- domhandler: 5.0.3
- domutils: 3.1.0
- nth-check: 2.1.1
-
- css-what@6.1.0: {}
-
- csstype@3.1.3: {}
-
- dayjs@1.11.11: {}
-
- debug@4.3.5:
- dependencies:
- ms: 2.1.2
-
- decamelize@1.2.0: {}
-
- delegates@1.0.0: {}
-
- detect-libc@2.0.3: {}
-
- dijkstrajs@1.0.3: {}
-
- dom-serializer@2.0.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- entities: 4.5.0
-
- domelementtype@2.3.0: {}
-
- domhandler@5.0.3:
- dependencies:
- domelementtype: 2.3.0
-
- domutils@3.1.0:
- dependencies:
- dom-serializer: 2.0.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
-
- eastasianwidth@0.2.0: {}
-
- electron-to-chromium@1.4.827: {}
-
- emoji-regex@10.3.0: {}
-
- emoji-regex@8.0.0: {}
-
- emoji-regex@9.2.2: {}
-
- encode-utf8@1.0.3: {}
-
- encoding@0.1.13:
- dependencies:
- iconv-lite: 0.6.3
- optional: true
-
- entities@4.5.0: {}
-
- env-paths@2.2.1: {}
-
- envinfo@7.13.0: {}
-
- err-code@2.0.3: {}
-
- esbuild@0.19.12:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.12
- '@esbuild/android-arm': 0.19.12
- '@esbuild/android-arm64': 0.19.12
- '@esbuild/android-x64': 0.19.12
- '@esbuild/darwin-arm64': 0.19.12
- '@esbuild/darwin-x64': 0.19.12
- '@esbuild/freebsd-arm64': 0.19.12
- '@esbuild/freebsd-x64': 0.19.12
- '@esbuild/linux-arm': 0.19.12
- '@esbuild/linux-arm64': 0.19.12
- '@esbuild/linux-ia32': 0.19.12
- '@esbuild/linux-loong64': 0.19.12
- '@esbuild/linux-mips64el': 0.19.12
- '@esbuild/linux-ppc64': 0.19.12
- '@esbuild/linux-riscv64': 0.19.12
- '@esbuild/linux-s390x': 0.19.12
- '@esbuild/linux-x64': 0.19.12
- '@esbuild/netbsd-x64': 0.19.12
- '@esbuild/openbsd-x64': 0.19.12
- '@esbuild/sunos-x64': 0.19.12
- '@esbuild/win32-arm64': 0.19.12
- '@esbuild/win32-ia32': 0.19.12
- '@esbuild/win32-x64': 0.19.12
-
- escalade@3.1.2: {}
-
- esprima@4.0.1: {}
-
- estree-walker@2.0.2: {}
-
- execa@8.0.1:
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 8.0.1
- human-signals: 5.0.0
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 4.1.0
- strip-final-newline: 3.0.0
-
- exponential-backoff@3.1.1: {}
-
- extend-shallow@2.0.1:
- dependencies:
- is-extendable: 0.1.1
-
- fast-glob@3.3.2:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.7
-
- fastq@1.17.1:
- dependencies:
- reusify: 1.0.4
-
- fflate@0.8.2: {}
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- find-up@4.1.0:
- dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
-
- foreground-child@3.2.1:
- dependencies:
- cross-spawn: 7.0.3
- signal-exit: 4.1.0
-
- fraction.js@4.3.7: {}
-
- fs-extra@11.2.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
-
- fs-minipass@2.1.0:
- dependencies:
- minipass: 3.3.6
-
- fs-minipass@3.0.3:
- dependencies:
- minipass: 7.1.2
-
- fs.realpath@1.0.0: {}
-
- fsevents@2.3.3:
- optional: true
-
- gauge@3.0.2:
- dependencies:
- aproba: 2.0.0
- color-support: 1.1.3
- console-control-strings: 1.1.0
- has-unicode: 2.0.1
- object-assign: 4.1.1
- signal-exit: 3.0.7
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wide-align: 1.1.5
-
- get-caller-file@2.0.5: {}
-
- get-east-asian-width@1.2.0: {}
-
- get-stream@8.0.1: {}
-
- giscus@1.5.0:
- dependencies:
- lit: 3.1.4
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@10.4.5:
- dependencies:
- foreground-child: 3.2.1
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.0
- path-scurry: 1.11.1
-
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
- globby@14.0.2:
- dependencies:
- '@sindresorhus/merge-streams': 2.3.0
- fast-glob: 3.3.2
- ignore: 5.3.1
- path-type: 5.0.0
- slash: 5.1.0
- unicorn-magic: 0.1.0
-
- 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
-
- has-unicode@2.0.1: {}
-
- hash-sum@2.0.0: {}
-
- htmlparser2@8.0.2:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
- entities: 4.5.0
-
- http-cache-semantics@4.1.1: {}
-
- http-proxy-agent@7.0.2:
- dependencies:
- agent-base: 7.1.1
- debug: 4.3.5
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@5.0.1:
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.5
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@7.0.5:
- dependencies:
- agent-base: 7.1.1
- debug: 4.3.5
- transitivePeerDependencies:
- - supports-color
-
- human-signals@5.0.0: {}
-
- iconv-lite@0.6.3:
- dependencies:
- safer-buffer: 2.1.2
- optional: true
-
- ignore@5.3.1: {}
-
- immutable@4.3.6: {}
-
- imurmurhash@0.1.4: {}
-
- indent-string@4.0.0: {}
-
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- inherits@2.0.4: {}
-
- ip-address@9.0.5:
- dependencies:
- jsbn: 1.1.0
- sprintf-js: 1.1.3
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-extendable@0.1.1: {}
-
- is-extglob@2.1.1: {}
-
- is-fullwidth-code-point@3.0.0: {}
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-interactive@2.0.0: {}
-
- is-lambda@1.0.1: {}
-
- is-number@7.0.0: {}
-
- is-stream@3.0.0: {}
-
- is-unicode-supported@1.3.0: {}
-
- is-unicode-supported@2.0.0: {}
-
- isexe@2.0.0: {}
-
- isexe@3.1.1: {}
-
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
- js-yaml@3.14.1:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
-
- js-yaml@4.1.0:
- dependencies:
- argparse: 2.0.1
-
- jsbn@1.1.0: {}
-
- jsonfile@6.1.0:
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
-
- kind-of@6.0.3: {}
-
- lilconfig@3.1.2: {}
-
- linkify-it@5.0.0:
- dependencies:
- uc.micro: 2.1.0
-
- lit-element@4.0.6:
- dependencies:
- '@lit-labs/ssr-dom-shim': 1.2.0
- '@lit/reactive-element': 2.0.4
- lit-html: 3.1.4
-
- lit-html@3.1.4:
- dependencies:
- '@types/trusted-types': 2.0.7
-
- lit@3.1.4:
- dependencies:
- '@lit/reactive-element': 2.0.4
- lit-element: 4.0.6
- lit-html: 3.1.4
-
- locate-path@5.0.0:
- dependencies:
- p-locate: 4.1.0
-
- log-symbols@6.0.0:
- dependencies:
- chalk: 5.3.0
- is-unicode-supported: 1.3.0
-
- lru-cache@10.4.3: {}
-
- magic-string@0.30.10:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
-
- make-dir@3.1.0:
- dependencies:
- semver: 6.3.1
-
- make-fetch-happen@13.0.1:
- dependencies:
- '@npmcli/agent': 2.2.2
- cacache: 18.0.4
- http-cache-semantics: 4.1.1
- is-lambda: 1.0.1
- minipass: 7.1.2
- minipass-fetch: 3.0.5
- minipass-flush: 1.0.5
- minipass-pipeline: 1.2.4
- negotiator: 0.6.3
- proc-log: 4.2.0
- promise-retry: 2.0.1
- ssri: 10.0.6
- transitivePeerDependencies:
- - supports-color
-
- markdown-it-anchor@8.6.7(@types/markdown-it@13.0.8)(markdown-it@14.1.0):
- dependencies:
- '@types/markdown-it': 13.0.8
- markdown-it: 14.1.0
-
- markdown-it-emoji@3.0.0: {}
-
- markdown-it@14.1.0:
- dependencies:
- argparse: 2.0.1
- entities: 4.5.0
- linkify-it: 5.0.0
- mdurl: 2.0.0
- punycode.js: 2.3.1
- uc.micro: 2.1.0
-
- mdurl@2.0.0: {}
-
- merge-stream@2.0.0: {}
-
- merge2@1.4.1: {}
-
- micromatch@4.0.7:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mimic-fn@2.1.0: {}
-
- mimic-fn@4.0.0: {}
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.1
-
- minipass-collect@2.0.1:
- dependencies:
- minipass: 7.1.2
-
- minipass-fetch@3.0.5:
- dependencies:
- minipass: 7.1.2
- minipass-sized: 1.0.3
- minizlib: 2.1.2
- optionalDependencies:
- encoding: 0.1.13
-
- minipass-flush@1.0.5:
- dependencies:
- minipass: 3.3.6
-
- minipass-pipeline@1.2.4:
- dependencies:
- minipass: 3.3.6
-
- minipass-sized@1.0.3:
- dependencies:
- minipass: 3.3.6
-
- minipass@3.3.6:
- dependencies:
- yallist: 4.0.0
-
- minipass@5.0.0: {}
-
- minipass@7.1.2: {}
-
- minizlib@2.1.2:
- dependencies:
- minipass: 3.3.6
- yallist: 4.0.0
-
- mkdirp@1.0.4: {}
-
- ms@2.1.2: {}
-
- nanoid@3.3.7: {}
-
- negotiator@0.6.3: {}
-
- node-addon-api@7.1.1: {}
-
- node-fetch@2.7.0:
- dependencies:
- whatwg-url: 5.0.0
-
- node-gyp@10.2.0:
- dependencies:
- env-paths: 2.2.1
- exponential-backoff: 3.1.1
- glob: 10.4.5
- graceful-fs: 4.2.11
- make-fetch-happen: 13.0.1
- nopt: 7.2.1
- proc-log: 4.2.0
- semver: 7.6.2
- tar: 6.2.1
- which: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- node-releases@2.0.14: {}
-
- nodejs-jieba@0.1.2:
- dependencies:
- '@mapbox/node-pre-gyp': 1.0.11
- node-addon-api: 7.1.1
- node-gyp: 10.2.0
- transitivePeerDependencies:
- - encoding
- - supports-color
-
- nopt@5.0.0:
- dependencies:
- abbrev: 1.1.1
-
- nopt@7.2.1:
- dependencies:
- abbrev: 2.0.0
-
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
- npm-run-path@5.3.0:
- dependencies:
- path-key: 4.0.0
-
- npmlog@5.0.1:
- dependencies:
- are-we-there-yet: 2.0.0
- console-control-strings: 1.1.0
- gauge: 3.0.2
- set-blocking: 2.0.0
-
- nth-check@2.1.1:
- dependencies:
- boolbase: 1.0.0
-
- object-assign@4.1.1: {}
-
- once@1.4.0:
- dependencies:
- wrappy: 1.0.2
-
- onetime@5.1.2:
- dependencies:
- mimic-fn: 2.1.0
-
- onetime@6.0.0:
- dependencies:
- mimic-fn: 4.0.0
-
- ora@8.0.1:
- dependencies:
- chalk: 5.3.0
- cli-cursor: 4.0.0
- cli-spinners: 2.9.2
- is-interactive: 2.0.0
- is-unicode-supported: 2.0.0
- log-symbols: 6.0.0
- stdin-discarder: 0.2.2
- string-width: 7.2.0
- strip-ansi: 7.1.0
-
- p-limit@2.3.0:
- dependencies:
- p-try: 2.2.0
-
- p-locate@4.1.0:
- dependencies:
- p-limit: 2.3.0
-
- p-map@4.0.0:
- dependencies:
- aggregate-error: 3.1.0
-
- p-try@2.2.0: {}
-
- package-json-from-dist@1.0.0: {}
-
- parse5-htmlparser2-tree-adapter@7.0.0:
- dependencies:
- domhandler: 5.0.3
- parse5: 7.1.2
-
- parse5@7.1.2:
- dependencies:
- entities: 4.5.0
-
- path-exists@4.0.0: {}
-
- path-is-absolute@1.0.1: {}
-
- path-key@3.1.1: {}
-
- path-key@4.0.0: {}
-
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
- path-type@5.0.0: {}
-
- photoswipe@5.4.4: {}
-
- picocolors@1.0.1: {}
-
- picomatch@2.3.1: {}
-
- pngjs@5.0.0: {}
-
- postcss-load-config@5.1.0(postcss@8.4.39):
- dependencies:
- lilconfig: 3.1.2
- postcss: 8.4.39
- yaml: 2.4.5
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.4.39:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.1
- source-map-js: 1.2.0
-
- prismjs@1.29.0: {}
-
- proc-log@4.2.0: {}
-
- promise-retry@2.0.1:
- dependencies:
- err-code: 2.0.3
- retry: 0.12.0
-
- punycode.js@2.3.1: {}
-
- qrcode@1.5.3:
- dependencies:
- dijkstrajs: 1.0.3
- encode-utf8: 1.0.3
- pngjs: 5.0.0
- yargs: 15.4.1
-
- queue-microtask@1.2.3: {}
-
- readable-stream@3.6.2:
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- require-directory@2.1.1: {}
-
- require-main-filename@2.0.0: {}
-
- restore-cursor@4.0.0:
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
-
- retry@0.12.0: {}
-
- reusify@1.0.4: {}
-
- rimraf@3.0.2:
- dependencies:
- glob: 7.2.3
-
- rollup@4.18.1:
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.18.1
- '@rollup/rollup-android-arm64': 4.18.1
- '@rollup/rollup-darwin-arm64': 4.18.1
- '@rollup/rollup-darwin-x64': 4.18.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.18.1
- '@rollup/rollup-linux-arm-musleabihf': 4.18.1
- '@rollup/rollup-linux-arm64-gnu': 4.18.1
- '@rollup/rollup-linux-arm64-musl': 4.18.1
- '@rollup/rollup-linux-powerpc64le-gnu': 4.18.1
- '@rollup/rollup-linux-riscv64-gnu': 4.18.1
- '@rollup/rollup-linux-s390x-gnu': 4.18.1
- '@rollup/rollup-linux-x64-gnu': 4.18.1
- '@rollup/rollup-linux-x64-musl': 4.18.1
- '@rollup/rollup-win32-arm64-msvc': 4.18.1
- '@rollup/rollup-win32-ia32-msvc': 4.18.1
- '@rollup/rollup-win32-x64-msvc': 4.18.1
- fsevents: 2.3.3
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- safe-buffer@5.2.1: {}
-
- safer-buffer@2.1.2:
- optional: true
-
- sass@1.77.8:
- dependencies:
- chokidar: 3.6.0
- immutable: 4.3.6
- source-map-js: 1.2.0
-
- sax@1.4.1: {}
-
- section-matter@1.0.0:
- dependencies:
- extend-shallow: 2.0.1
- kind-of: 6.0.3
-
- semver@6.3.1: {}
-
- semver@7.6.2: {}
-
- set-blocking@2.0.0: {}
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- signal-exit@3.0.7: {}
-
- signal-exit@4.1.0: {}
-
- sitemap@7.1.2:
- dependencies:
- '@types/node': 17.0.45
- '@types/sax': 1.2.7
- arg: 5.0.2
- sax: 1.4.1
-
- slash@5.1.0: {}
-
- slimsearch@2.1.1: {}
-
- smart-buffer@4.2.0: {}
-
- socks-proxy-agent@8.0.4:
- dependencies:
- agent-base: 7.1.1
- debug: 4.3.5
- socks: 2.8.3
- transitivePeerDependencies:
- - supports-color
-
- socks@2.8.3:
- dependencies:
- ip-address: 9.0.5
- smart-buffer: 4.2.0
-
- source-map-js@1.2.0: {}
-
- sprintf-js@1.0.3: {}
-
- sprintf-js@1.1.3: {}
-
- ssri@10.0.6:
- dependencies:
- minipass: 7.1.2
-
- stdin-discarder@0.2.2: {}
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
-
- string-width@7.2.0:
- dependencies:
- emoji-regex: 10.3.0
- get-east-asian-width: 1.2.0
- strip-ansi: 7.1.0
-
- string_decoder@1.3.0:
- dependencies:
- safe-buffer: 5.2.1
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.0.1
-
- strip-bom-string@1.0.0: {}
-
- strip-final-newline@3.0.0: {}
-
- tar@6.2.1:
- dependencies:
- chownr: 2.0.0
- fs-minipass: 2.1.0
- minipass: 5.0.0
- minizlib: 2.1.2
- mkdirp: 1.0.4
- yallist: 4.0.0
-
- to-fast-properties@2.0.0: {}
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- tr46@0.0.3: {}
-
- uc.micro@2.1.0: {}
-
- undici-types@5.26.5: {}
-
- unicorn-magic@0.1.0: {}
-
- unique-filename@3.0.0:
- dependencies:
- unique-slug: 4.0.0
-
- unique-slug@4.0.0:
- dependencies:
- imurmurhash: 0.1.4
-
- universalify@2.0.1: {}
-
- upath@2.0.1: {}
-
- update-browserslist-db@1.1.0(browserslist@4.23.2):
- dependencies:
- browserslist: 4.23.2
- escalade: 3.1.2
- picocolors: 1.0.1
-
- util-deprecate@1.0.2: {}
-
- vite@5.0.13:
- dependencies:
- esbuild: 0.19.12
- postcss: 8.4.39
- rollup: 4.18.1
- optionalDependencies:
- fsevents: 2.3.3
-
- vue-demi@0.14.8(vue@3.4.31):
- dependencies:
- vue: 3.4.31
-
- vue-router@4.4.0(vue@3.4.31):
- dependencies:
- '@vue/devtools-api': 6.6.3
- vue: 3.4.31
-
- vue@3.4.31:
- dependencies:
- '@vue/compiler-dom': 3.4.31
- '@vue/compiler-sfc': 3.4.31
- '@vue/runtime-dom': 3.4.31
- '@vue/server-renderer': 3.4.31(vue@3.4.31)
- '@vue/shared': 3.4.31
-
- vuepress-plugin-comment2@2.0.0-rc.23(vuepress@2.0.0-rc.7):
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- giscus: 1.5.0
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-plugin-sass-palette: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-shared: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- vuepress-plugin-components@2.0.0-rc.23(vuepress@2.0.0-rc.7):
- dependencies:
- '@stackblitz/sdk': 1.11.0
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- balloon-css: 1.2.0
- create-codepen: 1.0.1
- qrcode: 1.5.3
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-plugin-sass-palette: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-shared: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- vuepress-plugin-md-enhance@2.0.0-rc.23(markdown-it@14.1.0)(vuepress@2.0.0-rc.7):
- dependencies:
- '@mdit/plugin-alert': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-align': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-attrs': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-container': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-demo': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-figure': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-footnote': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-img-lazyload': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-img-mark': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-img-size': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-include': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-katex': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-mark': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-mathjax': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-stylize': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-sub': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-sup': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-tab': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-tasklist': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-tex': 0.8.0(markdown-it@14.1.0)
- '@mdit/plugin-uml': 0.8.0(markdown-it@14.1.0)
- '@types/markdown-it': 13.0.8
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- balloon-css: 1.2.0
- js-yaml: 4.1.0
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-plugin-sass-palette: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-shared: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - markdown-it
- - typescript
-
- vuepress-plugin-sass-palette@2.0.0-rc.23(vuepress@2.0.0-rc.7):
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- chokidar: 3.6.0
- sass: 1.77.8
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-shared: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- vuepress-plugin-search-pro@2.0.0-rc.23(vuepress@2.0.0-rc.7):
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- cheerio: 1.0.0-rc.12
- chokidar: 3.6.0
- slimsearch: 2.1.1
- vue: 3.4.31
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-plugin-sass-palette: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-shared: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- vuepress-shared@2.0.0-rc.23(vuepress@2.0.0-rc.7):
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- cheerio: 1.0.0-rc.12
- dayjs: 1.11.11
- execa: 8.0.1
- fflate: 0.8.2
- gray-matter: 4.0.3
- semver: 7.6.2
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- vuepress-theme-hope@2.0.0-rc.23(markdown-it@14.1.0)(nodejs-jieba@0.1.2)(vuepress-plugin-search-pro@2.0.0-rc.23)(vuepress@2.0.0-rc.7):
- dependencies:
- '@vuepress/helper': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-active-header-links': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-back-to-top': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-blog': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-catalog': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-copy-code': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-copyright': 2.0.0-rc.13(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-external-link-icon': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-git': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-nprogress': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-photo-swipe': 2.0.0-rc.13(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-prismjs': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-reading-time': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-rtl': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-seo': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-sitemap': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vuepress/plugin-theme-data': 2.0.0-rc.12(vuepress@2.0.0-rc.7)
- '@vueuse/core': 10.11.0(vue@3.4.31)
- balloon-css: 1.2.0
- bcrypt-ts: 5.0.2
- cheerio: 1.0.0-rc.12
- chokidar: 3.6.0
- gray-matter: 4.0.3
- nodejs-jieba: 0.1.2
- vue: 3.4.31
- vue-router: 4.4.0(vue@3.4.31)
- vuepress: 2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31)
- vuepress-plugin-comment2: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-plugin-components: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-plugin-md-enhance: 2.0.0-rc.23(markdown-it@14.1.0)(vuepress@2.0.0-rc.7)
- vuepress-plugin-sass-palette: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-plugin-search-pro: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- vuepress-shared: 2.0.0-rc.23(vuepress@2.0.0-rc.7)
- transitivePeerDependencies:
- - '@types/reveal.js'
- - '@vue/composition-api'
- - '@vue/repl'
- - '@waline/client'
- - artalk
- - artplayer
- - chart.js
- - dashjs-pure
- - echarts
- - flowchart.ts
- - hls.js
- - katex
- - kotlin-playground
- - markdown-it
- - markmap-lib
- - markmap-toolbar
- - markmap-view
- - mathjax-full
- - mermaid
- - mpegts.js
- - plyr
- - reveal.js
- - sandpack-vue3
- - twikoo
- - typescript
- - vidstack
-
- vuepress@2.0.0-rc.7(@vuepress/bundler-vite@2.0.0-rc.7)(vue@3.4.31):
- dependencies:
- '@vuepress/bundler-vite': 2.0.0-rc.7
- '@vuepress/cli': 2.0.0-rc.7
- '@vuepress/client': 2.0.0-rc.7
- '@vuepress/core': 2.0.0-rc.7
- '@vuepress/markdown': 2.0.0-rc.7
- '@vuepress/shared': 2.0.0-rc.7
- '@vuepress/utils': 2.0.0-rc.7
- vue: 3.4.31
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- webidl-conversions@3.0.1: {}
-
- whatwg-url@5.0.0:
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
-
- which-module@2.0.1: {}
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- which@4.0.0:
- dependencies:
- isexe: 3.1.1
-
- wide-align@1.1.5:
- dependencies:
- string-width: 4.2.3
-
- wrap-ansi@6.2.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
-
- wrappy@1.0.2: {}
-
- y18n@4.0.3: {}
-
- yallist@4.0.0: {}
-
- yaml@2.4.5: {}
-
- yargs-parser@18.1.3:
- dependencies:
- camelcase: 5.3.1
- decamelize: 1.2.0
-
- yargs@15.4.1:
- dependencies:
- cliui: 6.0.0
- decamelize: 1.2.0
- find-up: 4.1.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- require-main-filename: 2.0.0
- set-blocking: 2.0.0
- string-width: 4.2.3
- which-module: 2.0.1
- y18n: 4.0.3
- yargs-parser: 18.1.3
diff --git a/src/.vuepress/config.ts b/src/.vuepress/config.ts
deleted file mode 100644
index 314e7c9cf..000000000
--- a/src/.vuepress/config.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { defineUserConfig } from "vuepress";
-import theme from "./theme.js";
-
-export default defineUserConfig({
- base: "/",
-
- lang: "zh-CN",
- title: "QChatGPT",
- description: "QChatGPT项目的Wiki页",
-
- theme,
-});
diff --git a/src/.vuepress/navbar.ts b/src/.vuepress/navbar.ts
deleted file mode 100644
index 437046081..000000000
--- a/src/.vuepress/navbar.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { navbar } from "vuepress-theme-hope";
-
-export default navbar([
- "/",
- {
- text: "功能介绍",
- icon: "operate",
- link: "/posts/feature",
- },
- {
- text: "部署教程",
- icon: "blog",
- link: "/posts/deploy/",
- },
- // "/posts/deploy/",
- // "/posts/Features",
- {
- text: "配置详解",
- icon: "context",
- link: "/posts/config/",
- },
- {
- text: "代码仓库",
- icon: "github",
- link: "https://github.com/RockChinQ/QChatGPT",
- },
-]);
diff --git a/src/.vuepress/public/favicon.ico b/src/.vuepress/public/favicon.ico
deleted file mode 100644
index b5aa824e0..000000000
Binary files a/src/.vuepress/public/favicon.ico and /dev/null differ
diff --git a/src/.vuepress/public/logo.png b/src/.vuepress/public/logo.png
deleted file mode 100644
index b5aa824e0..000000000
Binary files a/src/.vuepress/public/logo.png and /dev/null differ
diff --git a/src/.vuepress/public/logo.svg b/src/.vuepress/public/logo.svg
deleted file mode 100644
index 364d184e1..000000000
--- a/src/.vuepress/public/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/.vuepress/sidebar.ts b/src/.vuepress/sidebar.ts
deleted file mode 100644
index 01abb91b3..000000000
--- a/src/.vuepress/sidebar.ts
+++ /dev/null
@@ -1,236 +0,0 @@
-import { sidebar } from "vuepress-theme-hope";
-
-export default sidebar({
- "/": [
- "",
- {
- text: "功能介绍",
- icon: "operate",
- link: "posts/feature",
- },
- {
- text: "部署教程",
- icon: "blog",
- collapsible: true,
- prefix: "posts/deploy/",
- link: "posts/deploy/",
- children: [
- {
- text: "部署QChatGPT",
- icon: "flow",
- prefix: "qchatgpt/",
- link: "qchatgpt/",
- children: [
- {
- text: "手动部署",
- icon: "support",
- link: "manual",
- },
- {
- text: "Docker部署",
- icon: "stack",
- link: "docker",
- },
- ],
- },
- {
- text: "部署消息平台",
- icon: "merge",
- prefix: "platforms/",
- link: "platforms/",
- children: [
- {
- text: "aiocqhttp",
- icon: "hot",
- collapsible: true,
- prefix: "aiocqhttp/",
- link: "aiocqhttp/",
- children: [
- {
- text: "Lagrange",
- icon: "support",
- link: "lagrange",
- },
- {
- text: "LLOneBot",
- icon: "more",
- link: "llonebot",
- },
- {
- text: "NapCat",
- icon: "software",
- link: "napcat",
- },
- {
- text: "Shamrock",
- icon: "mobile",
- link: "shamrock",
- },
- {
- text: "Go-cqhttp",
- icon: "support",
- link: "gocq",
- },
- ],
- },
- {
- text: "yiri-mirai",
- icon: "warn",
- link: "mirai",
- },
- {
- text: "Go-cqhttp(nakuru)",
- icon: "state",
- link: "nakuru",
- },
-
- {
- text: "QQ 官方 API",
- icon: "network",
- link: "official",
- },
- ],
- },
- {
- text: "填写配置信息",
- icon: "class",
- link: "config",
- },
- ],
- },
- {
- text: "命令用法",
- icon: "command",
- link: "posts/command",
- },
- {
- text: "配置详解",
- icon: "config",
- collapsible: true,
- prefix: "posts/config/",
- link: "posts/config/",
- children: [
- {
- text: "platform.json",
- icon: "config",
- link: "platform",
- },
- {
- text: "pipeline.json",
- icon: "config",
- link: "pipeline",
- },
- {
- text: "provider.json",
- icon: "config",
- link: "provider",
- },
- {
- text: "command.json",
- icon: "config",
- link: "command",
- },
- {
- text: "system.json",
- icon: "config",
- link: "system",
- },
- ],
- },
- {
- text: "元数据配置",
- icon: "enum",
- collapsible: true,
- prefix: "posts/metadata/",
- link: "posts/metadata/",
- children: [
- {
- text: "敏感词 sensitive-words.json",
- icon: "enum",
- link: "sensitive-words",
- },
- {
- text: "模型列表 llm-models.json",
- icon: "enum",
- link: "llm-models",
- },
- {
- text: "qq-botpy ID 映射 adapter-qq-botpy.json",
- icon: "enum",
- link: "adapter-qq-botpy",
- },
- ],
- },
- {
- text: "常见问题",
- icon: "info",
- collapsible: true,
- link: "posts/error/",
- prefix: "posts/error/",
- },
- {
- text: "规模使用和商用",
- icon: "app",
- collapsible: true,
- link: "posts/tob/",
- prefix: "posts/tob/",
- children: [
- {
- text: "消息平台稳定性",
- icon: "comment",
- link: "platform",
- },
- {
- text: "AI 内容合规性",
- icon: "warn",
- link: "provider",
- },
- {
- text: "咨询方式",
- icon: "profile",
- link: "contact",
- },
- ],
- },
- {
- text: "插件功能",
- icon: "plugin",
- collapsible: true,
- prefix: "posts/plugin/",
- link: "posts/plugin/intro",
- // collapsible: true,
- children: [
- {
- text: "插件介绍",
- icon: "info",
- link: "intro",
- },
- {
- text: "插件列表",
- icon: "list",
- link: "list",
- },
- {
- text: "插件开发",
- icon: "code",
- link: "develop",
- },
- {
- text: "组件扩展",
- icon: "code",
- link: "extension",
- },
- {
- text: "API 参考",
- icon: "api",
- link: "apiref",
- },
- ],
- },
- {
- text: "技术信息",
- icon: "blog",
- link: "posts/develop/technology-info",
- },
- ],
-});
diff --git a/src/.vuepress/styles/config.scss b/src/.vuepress/styles/config.scss
deleted file mode 100644
index bfe335f1b..000000000
--- a/src/.vuepress/styles/config.scss
+++ /dev/null
@@ -1 +0,0 @@
-$font-family: '"LXGW WenKai", sans-serif';
\ No newline at end of file
diff --git a/src/.vuepress/styles/index.scss b/src/.vuepress/styles/index.scss
deleted file mode 100644
index 3d35ee3ff..000000000
--- a/src/.vuepress/styles/index.scss
+++ /dev/null
@@ -1,12 +0,0 @@
-// place your custom styles here
-// .vuepress/styles/index.scss
-
-// 覆盖代码块背景色
-#app {
- --text-color-light: #000;
-
- html[data-theme="dark"] & {
- --text-color-light: #ffffff;
- }
-}
-
diff --git a/src/.vuepress/styles/palette.scss b/src/.vuepress/styles/palette.scss
deleted file mode 100644
index c693e25c0..000000000
--- a/src/.vuepress/styles/palette.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-// you can change colors here
-// $theme-colors: #367cc0 !default;
-//$font-family: 'Playpen Sans,ZCOOL XiaoWei';
-
-$theme-color: #2d89e4;
diff --git a/src/.vuepress/theme.ts b/src/.vuepress/theme.ts
deleted file mode 100644
index 1e35a2869..000000000
--- a/src/.vuepress/theme.ts
+++ /dev/null
@@ -1,201 +0,0 @@
-import { hopeTheme } from "vuepress-theme-hope";
-import { cut } from "nodejs-jieba";
-import navbar from "./navbar.js";
-import sidebar from "./sidebar.js";
-
-export default hopeTheme({
- hostname: "https://qchatgpt.rockchin.top/",
-
- author: {
- name: "Lazy",
- url: "https://github.com/the-lazy-me",
- },
-
- iconAssets: "iconfont",
-
- logo: "/logo.png",
-
- repo: "https://github.com/the-lazy-me/QChatGPT-Wiki",
-
- docsDir: "src",
-
- // navbar
- navbar,
-
- // sidebar
- sidebar,
-
- footer: "QChatGPT项目文档",
-
- displayFooter: true,
- encrypt: {
- config: {
- "/demo/encrypt.html": ["qchatgpt"],
- },
- },
-
- // page meta
- metaLocales: {
- editLink: "在 GitHub 上编辑此页",
- },
-
- // 如果想要实时查看任何改变,启用它。注: 这对更新性能有很大负面影响
- // hotReload: true,
-
- // 在这里配置主题提供的插件
- plugins: {
- // 你应该自行生成自己的评论服务
- // comment: {
- // provider: "Giscus",
- // repo: "vuepress-theme-hope/giscus-discussions",
- // repoId: "R_kgDOG_Pt2A",
- // category: "Announcements",
- // categoryId: "DIC_kwDOG_Pt2M4COD69",
- // },
-
- searchPro: {
- indexContent: true,
- indexLocaleOptions: {
- "/zh/": {
- // 使用 nodejs-jieba 进行分词
- tokenize: (text, fieldName) =>
- fieldName === "id" ? [text] : cut(text, true),
- },
- },
- },
-
- components: {
- components: ["Badge", "VPCard", "BiliBili", "Share"],
- },
-
- // 此处开启了很多功能用于演示,你应仅保留用到的功能。
- mdEnhance: {
- align: true,
- hint: true,
- attrs: true,
- codetabs: true,
- component: true,
- demo: true,
- figure: true,
- imgLazyload: true,
- imgSize: true,
- include: true,
- mark: true,
- stylize: [
- {
- matcher: "Recommended",
- replacer: ({ tag }) => {
- if (tag === "em")
- return {
- tag: "Badge",
- attrs: { type: "tip" },
- content: "Recommended",
- };
- },
- },
- ],
- sub: true,
- sup: true,
- tabs: true,
- vPre: true,
-
- // 在启用之前安装 chart.js
- // chart: true,
-
- // insert component easily
-
- // 在启用之前安装 echarts
- // echarts: true,
-
- // 在启用之前安装 flowchart.ts
- // flowchart: true,
-
- // gfm requires mathjax-full to provide tex support
- // gfm: true,
-
- // 在启用之前安装 katex
- // katex: true,
-
- // 在启用之前安装 mathjax-full
- // mathjax: true,
-
- // 在启用之前安装 mermaid
- // mermaid: true,
-
- // playground: {
- // presets: ["ts", "vue"],
- // },
-
- // 在启用之前安装 reveal.js
- // revealJs: {
- // plugins: ["highlight", "math", "search", "notes", "zoom"],
- // },
-
- // 在启用之前安装 @vue/repl
- // vuePlayground: true,
-
- // install sandpack-vue3 before enabling it
- // sandpack: true,
- },
-
- sitemap: true,
- catalog: true,
-
- // 如果你需要 PWA。安装 vuepress-plugin-pwa2 并取消下方注释
- // pwa: {
- // favicon: "/favicon.ico",
- // cacheHTML: true,
- // cachePic: true,
- // appendBase: true,
- // apple: {
- // icon: "/assets/icon/apple-icon-152.png",
- // statusBarColor: "black",
- // },
- // msTile: {
- // image: "/assets/icon/ms-icon-144.png",
- // color: "#ffffff",
- // },
- // manifest: {
- // icons: [
- // {
- // src: "/assets/icon/chrome-mask-512.png",
- // sizes: "512x512",
- // purpose: "maskable",
- // type: "image/png",
- // },
- // {
- // src: "/assets/icon/chrome-mask-192.png",
- // sizes: "192x192",
- // purpose: "maskable",
- // type: "image/png",
- // },
- // {
- // src: "/assets/icon/chrome-512.png",
- // sizes: "512x512",
- // type: "image/png",
- // },
- // {
- // src: "/assets/icon/chrome-192.png",
- // sizes: "192x192",
- // type: "image/png",
- // },
- // ],
- // shortcuts: [
- // {
- // name: "Demo",
- // short_name: "Demo",
- // url: "/demo/",
- // icons: [
- // {
- // src: "/assets/icon/guide-maskable.png",
- // sizes: "192x192",
- // purpose: "maskable",
- // type: "image/png",
- // },
- // ],
- // },
- // ],
- // },
- // },
- },
-});
diff --git a/src/README.md b/src/README.md
deleted file mode 100644
index f86c4acae..000000000
--- a/src/README.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-head:
- - - meta
- - name: keywords
- content: 😎高稳定性、🧩支持插件、🦄多模态的 LLM QQ / QQ频道 / OneBot 机器人 / Agent 平台
-home: true
-icon: home
-title: 项目主页
-heroImage: /logo.png
-# bgImage: https://theme-hope-assets.vuejs.press/bg/6-light.svg
-# bgImageDark: https://theme-hope-assets.vuejs.press/bg/6-dark.svg
-# bgImageStyle:
-# background-attachment: fixed
-heroText: QChatGPT
-tagline: 😎高稳定性、🧩支持插件、🦄多模态的 LLM QQ / QQ频道 / OneBot 机器人 / Agent 平台
-actions:
- - text: 🚀 快速上手
- link: ./posts/deploy/
- type: primary
-
- - text: 查看源码
- link: https://github.com/RockChinQ/QChatGPT
-
-highlights:
- - header: 功能概览
- # image: /assets/image/features.svg
- # bgImage: https://theme-hope-assets.vuejs.press/bg/1-light.svg
- # bgImageDark: https://theme-hope-assets.vuejs.press/bg/1-dark.svg
- features:
- - title: 丰富生态
- icon: plugin
- details: 支持事件监听、AI Agent 等插件扩展方式,具有多种插件或相关支持项目
-
- - title: 功能直观
- icon: type
- details: 集成黑名单、限速、选择响应、上下文控制、Prompt 管理等多种常用功能
-
- - title: 多种模型
- icon: stack
- details: 适配 OpenAI、Moonshot、Anthropic 等多个提供商的接口,同时深度支持 OneAPI
-
- - title: 高稳定性
- icon: code
- details: 采用主流的设计思想,架构清晰,具有高测试覆盖率
-
- - title: 生产就绪
- icon: module
- details: 符合生产环境的高可用性要求,已被多家公司商用部署
-
- - title: 持续维护
- icon: cycle
- details: 长期维护、迭代,持续跟进大模型领域的最新应用实践
-
- - header: 链接
- description:
- # image: /assets/image/blog.svg
- # bgImage: https://theme-hope-assets.vuejs.press/bg/5-light.svg
- # bgImageDark: https://theme-hope-assets.vuejs.press/bg/5-dark.svg
- features:
-
- - title: 源码仓库
- icon: github
- details: QChatGPT 的仓库页
- link: https://github.com/RockChinQ/QChatGPT
-
- - title: 文档仓库
- icon: file
- details: 此文档的仓库页
- link: https://github.com/the-lazy-me/QChatGPT-Wiki/graphs/contributors
-
- - title: 插件列表
- icon: plugin
- details: QChatGPT 插件列表
- link: https://github.com/stars/RockChinQ/lists/qchatgpt-%E6%8F%92%E4%BB%B6
-
-copyright: false
-footer: QChatGPT 项目的Wiki页 | MIT 协议, 版权所有 © 2023-present Lazy
津 ICP 备 2023007711 号 津公网安备12011102001610号
----
diff --git a/src/posts/command.md b/src/posts/command.md
deleted file mode 100644
index 191fcd62e..000000000
--- a/src/posts/command.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: QChatGPT的命令讲解
-icon: context
-# 这是侧边栏的顺序
-order: 3
-# 设置作者
-author: RockChinQ
-# 设置写作时间
-date: 2024-02-13
-category:
- - 使用指南
-tag:
- - 配置方法
- - 使用指南
----
-
-
-:::info 目录
-[[toc]]
-:::
-
-
-> `<>` 中的为必填参数,使用时请不要包含`<>`
-> `[]` 中的为可选参数,使用时请不要包含`[]`
-
-以下是默认情况下的权限分类,可以根据下方的命令权限控制进行修改
-
-> 这里只简单列举命令,具体使用方式请使用 `!cmd` 命令查看
-
-## 用户级别命令
-
-任何对象可使用
-
-```
-!help 显示自定义的帮助信息(可在配置文件中更改)
-!cmd [命令名称] 显示命令列表或指定命令的详细信息
-!list [页数] 列出本对象的历史会话列表
-!del <序号> 删除指定的历史记录,可以通过 !list 查看序号
-!del all 删除本会话对象的所有历史记录
-!last 切换到前一次会话
-!next 切换到后一次会话
-!reset 重置当前会话
-!prompt 查看当前会话的所有记录
-!version 查看当前版本并检查更新
-!resend 回滚前一次请求
-!plugin 用法请查看插件介绍页的`管理`章节
-!default 查看可用的情景预设值
-```
-
-## 管理员命令
-
-仅管理员私聊机器人时可使用,必须先在`data/config/system.json`里设置管理员
-
-```
-!update 进行程序自动更新
-!default set <情景预设名称> 会话!reset时的默认情景预设
-!ollama [show|pull|del] [模型名称] 显示、拉取或删除模型的 Ollama 模型数据
-!model [show|set] [模型名称] 显示或设置当前使用的模型
-```
-
-## 命令权限控制
-
-您可以编辑`data/config/command.json`来设置命令节点的权限,当命令被发起时,若用户的权限级别(管理员为`2`,普通用户为`1`)大于等于命令节点的权限级别,命令即可被成功执行。具体配置方式请查看配置文件详解页。
diff --git a/src/posts/config/README.md b/src/posts/config/README.md
deleted file mode 100644
index 839118e80..000000000
--- a/src/posts/config/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: 配置文件详解
-icon: config
-author: Lazy
-date: 2024-02-18
-index: false
----
-
-配置文件均位于 `data/config/` 目录下,请点击左侧目录查看各个文件的详细配置项。
\ No newline at end of file
diff --git a/src/posts/deploy/platforms/nakuru.md b/src/posts/deploy/platforms/nakuru.md
deleted file mode 100644
index f4e2d5e62..000000000
--- a/src/posts/deploy/platforms/nakuru.md
+++ /dev/null
@@ -1,163 +0,0 @@
----
-head:
- - - meta
- - name: keywords
- content: Go-cqhttp的部署教程
-title: 部署消息平台go-cqhttp的教程
-icon: state
-order: 3
-author: Anonymous
-date: 2023-12-21
-category:
- - 部署教程
----
-
-> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[go-cqhttp官方文档](https://docs.go-cqhttp.org/)。
-
-::: warning
-
-gocq未归档,但原开发者表示:[https://github.com/Mrs4s/go-cqhttp/issues/2471](https://github.com/Mrs4s/go-cqhttp/issues/2471)
-
-:::
-
-## 下载go-cqhttp
-
-从[go-cqhttp的Release](https://github.com/Mrs4s/go-cqhttp/releases/latest)下载最新的go-cqhttp可执行文件(建议直接下载可执行文件压缩包,而不是安装器)
-
-
-
-## 运行并配置go-cqhttp
-
-解压并运行,首次运行会询问需要开放的网络协议,**请填入`02`并回车,必须输入`02`❗❗❗❗❗❗❗**
-
-```
-C:\Softwares\go-cqhttp.old> .\go-cqhttp.exe
-未找到配置文件,正在为您生成配置文件中!
-请选择你需要的通信方式:
-> 0: HTTP通信
-> 1: 云函数服务
-> 2: 正向 Websocket 通信
-> 3: 反向 Websocket 通信
-请输入你需要的编号(0-9),可输入多个,同一编号也可输入多个(如: 233)
-您的选择是:02
-```
-
-提示已生成`config.yml`文件,关闭go-cqhttp。
-
-打开go-cqhttp同目录的`config.yml`
-
-1. 编辑账号登录信息
-
-只需要修改下方`uin`和`password`为你要登录的机器人账号的QQ号和密码即可。
-
-```yaml
-account: # 账号相关
- uin: 1233456 # QQ账号
- password: '' # 密码为空时使用扫码登录
- encrypt: false # 是否开启密码加密
- status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
- relogin: # 重连设置
- delay: 3 # 首次重连延迟, 单位秒
- interval: 3 # 重连间隔
- max-times: 0 # 最大重连次数, 0为无限制
-```
-
-2. 修改websocket端口
-
-在`config.yml`下方找到以下内容
-
-```yaml
- - ws:
- # 正向WS服务器监听地址
- address: 0.0.0.0:8080
- middlewares:
- <<: *default # 引用默认中间件
-```
-
-**将`0.0.0.0:8080`改为`0.0.0.0:6700`**,保存并关闭`config.yml`。
-
-3. 配置签名服务器
-
-按照如下填写,
-
-```yam
- sign-servers:
- - url: 'https://qsign.trpgbot.com/' # 主签名服务器地址, 必填
- key: 'selfshare'
- authorization: '-'
- - url: 'https://qsign-v3.trpgbot.com/' # 次要服务器地址,选填
- key: 'selfshare'
- authorization: '-'
-
- auto-register: true
-```
-
-写入文件/data/versions/6.json,
-
-```json
-{
- "apk_id": "com.tencent.mobileqq",
- "app_id": 537220362,
- "sub_app_id": 537220362,
- "app_key": "0S200MNJT807V3GE",
- "sort_version_name": "9.0.56.16830",
- "build_time": 1713424357,
- "apk_sign": "a6b745bf24a2c277527716f6f36eb68d",
- "sdk_version": "6.0.0.2560",
- "sso_version": 21,
- "misc_bitmap": 150470524,
- "main_sig_map": 34869472,
- "sub_sig_map": 66560,
- "dump_time": 1713424357,
- "qua": "V1_AND_SQ_9.0.56_6372_YYB_D",
- "protocol_type": 6
-}
-```
-
-感谢zhaodice大佬带来的QQ 9.0.56签名服务器
-
-4. 若您的服务器位于公网,强烈建议您填写`access-token` (可选)
-
-```yaml
-# 默认中间件锚点
-default-middlewares: &default
- # 访问密钥, 强烈推荐在公网的服务器设置
- access-token: ''
-```
-
-5. 配置完成,重新启动go-cqhttp
-
-## 登录
-
-双击登录脚本,一段时间后,可以看到提示
-
-
-
-把`Captcha link: `后边的链接复制下来,用Chrome或者Edge浏览器打开,按F12打开开发者工具
-
-点开 `Network`
-
-
-
-在浏览器中完成验证, 在 `Network` 中找到名为 `cap_union_new_verify` 的请求, 在最下面
-
-
-
-ticket 后那一坨就是要输入回 mirai 的内容,但不包括首尾的双引号
-
-**注意**
-
-- 复制的时候记得删掉引号(`"`, 前后都有一个), 那个不是ticket内容
-- 速度要快
-- 注意不要漏字符(没复制完, 后面还有很长)
-
-把复制下来的东西,粘贴到运行go-cq的终端中
-
-
-
-> 若启动后登录不成功,请尝试根据[此文档](https://docs.go-cqhttp.org/guide/config.html#%E8%AE%BE%E5%A4%87%E4%BF%A1%E6%81%AF)修改`device.json`的协议编号。
-
-
-## 后续步骤
-
-查看填写配置信息页,通过 Nakuru 适配器接入。
\ No newline at end of file
diff --git a/src/posts/metadata/README.md b/src/posts/metadata/README.md
deleted file mode 100644
index 2aec922e1..000000000
--- a/src/posts/metadata/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-head:
- - - meta
- - name: keywords
- content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
-title: 元数据配置详解
-icon: config
-author: RockChinQ
-date: 2024-03-20
-index: false
----
-
-元数据配置是程序运行期间生成的,用于描述某些数据的数据文件,比如:大语言模型数据、敏感词库、QQ 官方 API 的 ID 映射关系等,这些数据相比于配置文件较为复杂,一般不需要用户手动修改。
-元数据文件均位于 `data/metadata/` 目录下,请点击左侧目录查看各个文件的详细配置项。
\ No newline at end of file
diff --git a/src/posts/metadata/sensitive-words.md b/src/posts/metadata/sensitive-words.md
deleted file mode 100644
index 6a9d82ea3..000000000
--- a/src/posts/metadata/sensitive-words.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-head:
- - - meta
- - name: keywords
- content: sensitive-words.json 元数据
-title: sensitive-words.json 元数据
-icon: config
-order: 1
-author: RockChinQ
-date: 2024-02-18
-category:
- - 配置文件
----
-
-本地敏感词词库,参考 `data/metadata/sensitive-words.json` 内容进行修改即可。
\ No newline at end of file
diff --git a/src/posts/tob/contact.md b/src/posts/tob/contact.md
deleted file mode 100644
index 5714cc030..000000000
--- a/src/posts/tob/contact.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-head:
- - - meta
- - name: keywords
- content: 商用咨询方式
-title: 咨询方式
-icon: profile
-order: 3
-author: RockChinQ
-date: 2024-05-23
-category:
- - 规模使用和商用
-index: false
----
-
-作者长期提供定制服务,欢迎咨询:
-
-- 微信:junyan_qin
-- QQ:1010553892
\ No newline at end of file