commit 0d0683a6e6185ccd6f6d80cc546afcd24b888eec
Author: 赵忠林 <170083662@qq.com>
Date: Thu Apr 23 16:30:57 2026 +0800
初始版本
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/jczxw-pc.iml b/.idea/jczxw-pc.iml
new file mode 100644
index 0000000..24643cc
--- /dev/null
+++ b/.idea/jczxw-pc.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..58834d0
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+ {}
+ {
+ "isMigrated": true
+}
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..99cbb87
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.nuxt/app.config.mjs b/.nuxt/app.config.mjs
new file mode 100644
index 0000000..0b712c1
--- /dev/null
+++ b/.nuxt/app.config.mjs
@@ -0,0 +1,21 @@
+
+import { defuFn } from 'defu'
+
+const inlineConfig = {
+ "nuxt": {}
+}
+
+/** client **/
+import { _replaceAppConfig } from '#app/config'
+
+// Vite - webpack is handled directly in #app/config
+if (import.meta.dev && !import.meta.nitro && import.meta.hot) {
+ import.meta.hot.accept((newModule) => {
+ _replaceAppConfig(newModule.default)
+ })
+}
+/** client-end **/
+
+
+
+export default /*@__PURE__*/ defuFn(inlineConfig)
diff --git a/.nuxt/components.d.ts b/.nuxt/components.d.ts
new file mode 100644
index 0000000..f7302c1
--- /dev/null
+++ b/.nuxt/components.d.ts
@@ -0,0 +1,164 @@
+
+import type { DefineComponent, SlotsType } from 'vue'
+type IslandComponent = DefineComponent<{}, {refresh: () => Promise}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
+
+type HydrationStrategies = {
+ hydrateOnVisible?: IntersectionObserverInit | true
+ hydrateOnIdle?: number | true
+ hydrateOnInteraction?: keyof HTMLElementEventMap | Array | true
+ hydrateOnMediaQuery?: string
+ hydrateAfter?: number
+ hydrateWhen?: boolean
+ hydrateNever?: true
+}
+type LazyComponent = DefineComponent void }> & T
+
+
+export const LangSwitch: typeof import("../app/components/LangSwitch.vue").default
+export const NotificationBell: typeof import("../app/components/NotificationBell.vue").default
+export const QrCodeModal: typeof import("../app/components/QrCodeModal.vue").default
+export const QrLogin: typeof import("../app/components/QrLogin.vue").default
+export const SiteFooter: typeof import("../app/components/SiteFooter.vue").default
+export const SiteHeader: typeof import("../app/components/SiteHeader.vue").default
+export const AdminMarkdownEditor: typeof import("../app/components/admin/MarkdownEditor.vue").default
+export const AdminMarkdownRenderer: typeof import("../app/components/admin/MarkdownRenderer.vue").default
+export const ConsoleAppsCenter: typeof import("../app/components/console/AppsCenter.vue").default
+export const ConsoleHeader: typeof import("../app/components/console/ConsoleHeader.vue").default
+export const ConsoleContractManagement: typeof import("../app/components/console/ContractManagement.vue").default
+export const DeveloperAppDetail: typeof import("../app/components/developer/AppDetail.vue").default
+export const DeveloperAppsCenter: typeof import("../app/components/developer/AppsCenter.vue").default
+export const DeveloperPermissionGuard: typeof import("../app/components/developer/PermissionGuard.vue").default
+export const DeveloperRoleTag: typeof import("../app/components/developer/RoleTag.vue").default
+export const InviteBell: typeof import("../app/components/invite/InviteBell.vue").default
+export const InviteNotification: typeof import("../app/components/invite/InviteNotification.vue").default
+export const PaymentModal: typeof import("../app/components/payment/PaymentModal.vue").default
+export const ProseA: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default
+export const ProseBlockquote: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default
+export const ProseCode: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue").default
+export const ProseEm: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue").default
+export const ProseH1: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue").default
+export const ProseH2: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue").default
+export const ProseH3: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue").default
+export const ProseH4: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue").default
+export const ProseH5: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue").default
+export const ProseH6: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue").default
+export const ProseHr: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue").default
+export const ProseImg: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue").default
+export const ProseLi: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue").default
+export const ProseOl: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue").default
+export const ProseP: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue").default
+export const ProsePre: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue").default
+export const ProseScript: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue").default
+export const ProseStrong: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue").default
+export const ProseTable: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue").default
+export const ProseTbody: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue").default
+export const ProseTd: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue").default
+export const ProseTh: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue").default
+export const ProseThead: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue").default
+export const ProseTr: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue").default
+export const ProseUl: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue").default
+export const NuxtWelcome: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").default
+export const NuxtLayout: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").default
+export const NuxtErrorBoundary: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").default
+export const ClientOnly: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").default
+export const DevOnly: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").default
+export const ServerPlaceholder: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").default
+export const NuxtLink: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").default
+export const NuxtLoadingIndicator: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").default
+export const NuxtTime: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").default
+export const NuxtRouteAnnouncer: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").default
+export const NuxtImg: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtImg
+export const NuxtPicture: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtPicture
+export const ContentRenderer: typeof import("../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").default
+export const NuxtLinkLocale: typeof import("../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").default
+export const SwitchLocalePathLink: typeof import("../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").default
+export const NuxtPage: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").default
+export const NoScript: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").NoScript
+export const Link: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Link
+export const Base: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Base
+export const Title: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Title
+export const Meta: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Meta
+export const Style: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Style
+export const Head: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Head
+export const Html: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Html
+export const Body: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Body
+export const MDC: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").default
+export const MDCCached: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").default
+export const MDCRenderer: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").default
+export const MDCSlot: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").default
+export const NuxtIsland: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").default
+export const LazyLangSwitch: LazyComponent
+export const LazyNotificationBell: LazyComponent
+export const LazyQrCodeModal: LazyComponent
+export const LazyQrLogin: LazyComponent
+export const LazySiteFooter: LazyComponent
+export const LazySiteHeader: LazyComponent
+export const LazyAdminMarkdownEditor: LazyComponent
+export const LazyAdminMarkdownRenderer: LazyComponent
+export const LazyConsoleAppsCenter: LazyComponent
+export const LazyConsoleHeader: LazyComponent
+export const LazyConsoleContractManagement: LazyComponent
+export const LazyDeveloperAppDetail: LazyComponent
+export const LazyDeveloperAppsCenter: LazyComponent
+export const LazyDeveloperPermissionGuard: LazyComponent
+export const LazyDeveloperRoleTag: LazyComponent
+export const LazyInviteBell: LazyComponent
+export const LazyInviteNotification: LazyComponent
+export const LazyPaymentModal: LazyComponent
+export const LazyProseA: LazyComponent
+export const LazyProseBlockquote: LazyComponent
+export const LazyProseCode: LazyComponent
+export const LazyProseEm: LazyComponent
+export const LazyProseH1: LazyComponent
+export const LazyProseH2: LazyComponent
+export const LazyProseH3: LazyComponent
+export const LazyProseH4: LazyComponent
+export const LazyProseH5: LazyComponent
+export const LazyProseH6: LazyComponent
+export const LazyProseHr: LazyComponent
+export const LazyProseImg: LazyComponent
+export const LazyProseLi: LazyComponent
+export const LazyProseOl: LazyComponent
+export const LazyProseP: LazyComponent
+export const LazyProsePre: LazyComponent
+export const LazyProseScript: LazyComponent
+export const LazyProseStrong: LazyComponent
+export const LazyProseTable: LazyComponent
+export const LazyProseTbody: LazyComponent
+export const LazyProseTd: LazyComponent
+export const LazyProseTh: LazyComponent
+export const LazyProseThead: LazyComponent
+export const LazyProseTr: LazyComponent
+export const LazyProseUl: LazyComponent
+export const LazyNuxtWelcome: LazyComponent
+export const LazyNuxtLayout: LazyComponent
+export const LazyNuxtErrorBoundary: LazyComponent
+export const LazyClientOnly: LazyComponent
+export const LazyDevOnly: LazyComponent
+export const LazyServerPlaceholder: LazyComponent
+export const LazyNuxtLink: LazyComponent
+export const LazyNuxtLoadingIndicator: LazyComponent
+export const LazyNuxtTime: LazyComponent
+export const LazyNuxtRouteAnnouncer: LazyComponent
+export const LazyNuxtImg: LazyComponent
+export const LazyNuxtPicture: LazyComponent
+export const LazyContentRenderer: LazyComponent
+export const LazyNuxtLinkLocale: LazyComponent
+export const LazySwitchLocalePathLink: LazyComponent
+export const LazyNuxtPage: LazyComponent
+export const LazyNoScript: LazyComponent
+export const LazyLink: LazyComponent
+export const LazyBase: LazyComponent
+export const LazyTitle: LazyComponent
+export const LazyMeta: LazyComponent
+export const LazyStyle: LazyComponent
+export const LazyHead: LazyComponent
+export const LazyHtml: LazyComponent
+export const LazyBody: LazyComponent
+export const LazyMDC: LazyComponent
+export const LazyMDCCached: LazyComponent
+export const LazyMDCRenderer: LazyComponent
+export const LazyMDCSlot: LazyComponent
+export const LazyNuxtIsland: LazyComponent
+
+export const componentNames: string[]
diff --git a/.nuxt/content/components.ts b/.nuxt/content/components.ts
new file mode 100644
index 0000000..eec1e97
--- /dev/null
+++ b/.nuxt/content/components.ts
@@ -0,0 +1,11 @@
+const pickExport = (mod, exportName, componentName, path) => {
+ const resolved = exportName === 'default' ? mod?.default : mod?.[exportName]
+ if (!resolved) {
+ throw new Error(`[nuxt-content] Missing export "${exportName}" for component "${componentName}" in "${path}".`)
+ }
+ return resolved
+}
+export const localComponentLoaders = {
+}
+export const globalComponents: string[] = ["ProseA","ProseBlockquote","ProseCode","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProsePre","ProseScript","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl"]
+export const localComponents: string[] = []
\ No newline at end of file
diff --git a/.nuxt/content/database.compressed.mjs b/.nuxt/content/database.compressed.mjs
new file mode 100644
index 0000000..e69de29
diff --git a/.nuxt/content/manifest.ts b/.nuxt/content/manifest.ts
new file mode 100644
index 0000000..b4ef16a
--- /dev/null
+++ b/.nuxt/content/manifest.ts
@@ -0,0 +1,29 @@
+export const checksums = {}
+export const checksumsStructure = {}
+
+export const tables = {
+ "docs": "_content_docs",
+ "info": "_content_info"
+}
+
+export default {
+ "docs": {
+ "type": "page",
+ "fields": {
+ "id": "string",
+ "title": "string",
+ "body": "json",
+ "description": "string",
+ "extension": "string",
+ "meta": "json",
+ "navigation": "json",
+ "path": "string",
+ "seo": "json",
+ "stem": "string"
+ }
+ },
+ "info": {
+ "type": "data",
+ "fields": {}
+ }
+}
\ No newline at end of file
diff --git a/.nuxt/content/sql_dump.txt b/.nuxt/content/sql_dump.txt
new file mode 100644
index 0000000..e69de29
diff --git a/.nuxt/content/types.d.ts b/.nuxt/content/types.d.ts
new file mode 100644
index 0000000..3a3d79d
--- /dev/null
+++ b/.nuxt/content/types.d.ts
@@ -0,0 +1,21 @@
+import type { PageCollectionItemBase, DataCollectionItemBase } from '@nuxt/content'
+
+declare module '@nuxt/content' {
+ /* eslint-disable */
+ /**
+ * This file was automatically generated by json-schema-to-typescript.
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
+ * and run json-schema-to-typescript to regenerate this file.
+ */
+
+ interface DocsCollectionItem extends PageCollectionItemBase {}
+
+
+ interface PageCollections {
+ docs: DocsCollectionItem
+ }
+
+ interface Collections {
+ docs: DocsCollectionItem
+ }
+}
diff --git a/.nuxt/i18n-route-resources.mjs b/.nuxt/i18n-route-resources.mjs
new file mode 100644
index 0000000..8a82ec6
--- /dev/null
+++ b/.nuxt/i18n-route-resources.mjs
@@ -0,0 +1,3 @@
+// Generated by @nuxtjs/i18n
+export const pathToI18nConfig = {};
+export const i18nPathToPath = {};
\ No newline at end of file
diff --git a/.nuxt/imports.d.ts b/.nuxt/imports.d.ts
new file mode 100644
index 0000000..2eea9c3
--- /dev/null
+++ b/.nuxt/imports.d.ts
@@ -0,0 +1,48 @@
+export { useScriptTriggerConsent, useScriptEventPage, useScriptTriggerElement, useScript, useScriptGoogleAnalytics, useScriptPlausibleAnalytics, useScriptCrisp, useScriptClarity, useScriptCloudflareWebAnalytics, useScriptFathomAnalytics, useScriptMatomoAnalytics, useScriptGoogleTagManager, useScriptGoogleAdsense, useScriptSegment, useScriptMetaPixel, useScriptXPixel, useScriptIntercom, useScriptHotjar, useScriptStripe, useScriptLemonSqueezy, useScriptVimeoPlayer, useScriptYouTubePlayer, useScriptGoogleMaps, useScriptNpm, useScriptUmamiAnalytics, useScriptSnapchatPixel, useScriptRybbitAnalytics, useScriptDatabuddyAnalytics, useScriptRedditPixel, useScriptPayPal } from '#app/composables/script-stubs';
+export { isVue2, isVue3 } from 'vue-demi';
+export { defineNuxtLink } from '#app/components/nuxt-link';
+export { useNuxtApp, tryUseNuxtApp, defineNuxtPlugin, definePayloadPlugin, useRuntimeConfig, defineAppConfig } from '#app/nuxt';
+export { useAppConfig, updateAppConfig } from '#app/config';
+export { defineNuxtComponent } from '#app/composables/component';
+export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData } from '#app/composables/asyncData';
+export { useHydration } from '#app/composables/hydrate';
+export { callOnce } from '#app/composables/once';
+export { useState, clearNuxtState } from '#app/composables/state';
+export { clearError, createError, isNuxtError, showError, useError } from '#app/composables/error';
+export { useFetch, useLazyFetch } from '#app/composables/fetch';
+export { useCookie, refreshCookie } from '#app/composables/cookie';
+export { onPrehydrate, prerenderRoutes, useRequestHeader, useRequestHeaders, useResponseHeader, useRequestEvent, useRequestFetch, setResponseStatus } from '#app/composables/ssr';
+export { onNuxtReady } from '#app/composables/ready';
+export { preloadComponents, prefetchComponents, preloadRouteComponents } from '#app/composables/preload';
+export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, setPageLayout, navigateTo, useRoute, useRouter } from '#app/composables/router';
+export { isPrerendered, loadPayload, preloadPayload, definePayloadReducer, definePayloadReviver } from '#app/composables/payload';
+export { useLoadingIndicator } from '#app/composables/loading-indicator';
+export { getAppManifest, getRouteRules } from '#app/composables/manifest';
+export { reloadNuxtApp } from '#app/composables/chunk';
+export { useRequestURL } from '#app/composables/url';
+export { usePreviewMode } from '#app/composables/preview';
+export { useRouteAnnouncer } from '#app/composables/route-announcer';
+export { useRuntimeHook } from '#app/composables/runtime-hook';
+export { useHead, useHeadSafe, useServerHeadSafe, useServerHead, useSeoMeta, useServerSeoMeta, injectHead } from '#app/composables/head';
+export { onBeforeRouteLeave, onBeforeRouteUpdate, useLink } from 'vue-router';
+export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, watchPostEffect, watchSyncEffect, onWatcherCleanup, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, hasInjectionContext, nextTick, provide, toValue, useModel, useAttrs, useCssModule, useCssVars, useSlots, useTransitionState, useId, useTemplateRef, useShadowRoot, Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue';
+export { requestIdleCallback, cancelIdleCallback } from '#app/compat/idle-callback';
+export { setInterval } from '#app/compat/interval';
+export { useRouteBaseName, useLocalePath, useLocaleRoute, useSwitchLocalePath, useLocaleHead, useBrowserLocale, useCookieLocale, useSetI18nParams, useI18nPreloadKeys, defineI18nRoute, defineI18nLocale, defineI18nConfig } from '../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index';
+export { definePageMeta } from '../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/composables';
+export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration';
+export { ROLE_HIERARCHY, ROLE_LABEL, ROLE_COLOR, useAppPermission, AppPermission } from '../app/composables/useAppPermission';
+export { notificationTypeMap, useNotificationCenter } from '../app/composables/useNotificationCenter';
+export { usePageSeo } from '../app/composables/usePageSeo';
+export { generateQrCodeDataUrl, generateQrCodeCanvas } from '../app/composables/useQRCode';
+export { isResourceOwner, getResourceAccessLevel, canViewBasic, canViewConnection, canViewSensitive, canManageResource, isMaskedValue, useResourceAccess, enrichResourcesWithPermission, ResourceAccessLevel } from '../app/composables/useResourceAccess';
+export { resolveWebHomeUrl, getAppEntries, getPrimaryEntry, getScanTip, executeEntry, EntryType, AppEntry } from '../app/utils/appEntry';
+export { getTenantId } from '../app/utils/domain';
+export { default as permission, setAuthz, clearAuthz, setAuthzFromUser, hasRole, hasAnyRole, hasPermission, hasAnyPermission } from '../app/utils/permission';
+export { default as request } from '../app/utils/request';
+export { setToken, getToken, removeToken } from '../app/utils/token-util';
+export { queryCollection, queryCollectionSearchSections, queryCollectionNavigation, queryCollectionItemSurroundings } from '../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client';
+export { useI18n } from 'vue-i18n';
+export { flatUnwrap as unwrapSlot } from '../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/utils/node';
+export { parseMarkdown } from '../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser';
+export { stringifyMarkdown } from '../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify';
\ No newline at end of file
diff --git a/.nuxt/mdc-configs.mjs b/.nuxt/mdc-configs.mjs
new file mode 100644
index 0000000..8485a50
--- /dev/null
+++ b/.nuxt/mdc-configs.mjs
@@ -0,0 +1,8 @@
+let configs
+export function getMdcConfigs () {
+if (!configs) {
+ configs = Promise.all([
+ ])
+}
+return configs
+}
\ No newline at end of file
diff --git a/.nuxt/mdc-highlighter.mjs b/.nuxt/mdc-highlighter.mjs
new file mode 100644
index 0000000..dce3f1d
--- /dev/null
+++ b/.nuxt/mdc-highlighter.mjs
@@ -0,0 +1,217 @@
+import { getMdcConfigs } from '#mdc-configs'
+import { createOnigurumaEngine } from '@shikijs/engine-oniguruma'
+import { createJavaScriptRegexEngine } from "@shikijs/engine-javascript";
+export function createShikiHighlighter({
+ langs = [],
+ themes = [],
+ bundledLangs = {},
+ bundledThemes = {},
+ getMdcConfigs,
+ options: shikiOptions,
+ engine
+} = {}) {
+ let shiki;
+ let configs;
+ async function _getShiki() {
+ const { createHighlighterCore, addClassToHast, isSpecialLang, isSpecialTheme } = await import("@shikijs/core");
+ const { transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight } = await import("@shikijs/transformers");
+ const shiki2 = await createHighlighterCore({
+ langs,
+ themes,
+ engine: engine || createJavaScriptRegexEngine()
+ });
+ for await (const config of await getConfigs()) {
+ await config.shiki?.setup?.(shiki2);
+ }
+ return {
+ shiki: shiki2,
+ addClassToHast,
+ isSpecialLang,
+ isSpecialTheme,
+ transformers: [
+ transformerNotationDiff(),
+ transformerNotationErrorLevel(),
+ transformerNotationFocus(),
+ transformerNotationHighlight()
+ ]
+ };
+ }
+ async function getShiki() {
+ if (!shiki) {
+ shiki = _getShiki();
+ }
+ return shiki;
+ }
+ async function getConfigs() {
+ if (!configs) {
+ configs = Promise.resolve(getMdcConfigs?.() || []);
+ }
+ return configs;
+ }
+ const highlighter = async (code, lang, theme, options = {}) => {
+ const {
+ shiki: shiki2,
+ addClassToHast,
+ isSpecialLang,
+ isSpecialTheme,
+ transformers: baseTransformers
+ } = await getShiki();
+ const codeToHastOptions = {
+ defaultColor: false,
+ meta: {
+ __raw: options.meta
+ }
+ };
+ if (lang === "ts-type" || lang === "typescript-type") {
+ lang = "typescript";
+ codeToHastOptions.grammarContextCode = "let a:";
+ } else if (lang === "vue-html" || lang === "vue-template") {
+ lang = "vue";
+ codeToHastOptions.grammarContextCode = "";
+ }
+ const themesObject = { ...typeof theme === "string" ? { default: theme } : theme || {} };
+ const loadedThemes = shiki2.getLoadedThemes();
+ const loadedLanguages = shiki2.getLoadedLanguages();
+ if (typeof lang === "string" && !loadedLanguages.includes(lang) && !isSpecialLang(lang)) {
+ if (bundledLangs[lang]) {
+ await shiki2.loadLanguage(bundledLangs[lang]);
+ } else {
+ if (process.dev) {
+ console.warn(`[@nuxtjs/mdc] Language "${lang}" is not loaded to the Shiki highlighter, fallback to plain text. Add the language to "mdc.highlight.langs" to fix this.`);
+ }
+ lang = "text";
+ }
+ }
+ for (const [color, theme2] of Object.entries(themesObject)) {
+ if (typeof theme2 === "string" && !loadedThemes.includes(theme2) && !isSpecialTheme(theme2)) {
+ if (bundledThemes[theme2]) {
+ await shiki2.loadTheme(bundledThemes[theme2]);
+ } else {
+ if (process.dev) {
+ console.warn(`[@nuxtjs/mdc] Theme "${theme2}" is not loaded to the Shiki highlighter. Add the theme to "mdc.highlight.themes" to fix this.`);
+ }
+ themesObject[color] = "none";
+ }
+ }
+ }
+ const transformersMap = /* @__PURE__ */ new Map();
+ for (const transformer of baseTransformers) {
+ transformersMap.set(transformer.name || `transformer:${Math.random()}-${transformer.constructor.name}`, transformer);
+ }
+ for (const config of await getConfigs()) {
+ const newTransformers = typeof config.shiki?.transformers === "function" ? await config.shiki?.transformers(code, lang, theme, options) : config.shiki?.transformers || [];
+ for (const transformer of newTransformers) {
+ transformersMap.set(transformer.name || `transformer:${Math.random()}-${transformer.constructor.name}`, transformer);
+ }
+ }
+ const root = shiki2.codeToHast(code.trimEnd(), {
+ lang,
+ ...codeToHastOptions,
+ themes: themesObject,
+ transformers: [
+ ...transformersMap.values(),
+ {
+ name: "mdc:highlight",
+ line(node, line) {
+ if (options.highlights?.includes(line))
+ addClassToHast(node, "highlight");
+ node.properties.line = line;
+ }
+ },
+ {
+ name: "mdc:newline",
+ line(node) {
+ if (code?.includes("\n")) {
+ if (node.children.length === 0 || node.children.length === 1 && node.children[0].type === "element" && node.children[0].children.length === 1 && node.children[0].children[0].type === "text" && node.children[0].children[0].value === "") {
+ node.children = [{
+ type: "element",
+ tagName: "span",
+ properties: {
+ emptyLinePlaceholder: true
+ },
+ children: [{ type: "text", value: "\n" }]
+ }];
+ return;
+ }
+ const last = node.children.at(-1);
+ if (last?.type === "element" && last.tagName === "span") {
+ const text = last.children.at(-1);
+ if (text?.type === "text")
+ text.value += "\n";
+ }
+ }
+ }
+ }
+ ]
+ });
+ const preEl = root.children[0];
+ const codeEl = preEl.children[0];
+ const wrapperStyle = shikiOptions?.wrapperStyle;
+ preEl.properties.style = wrapperStyle ? typeof wrapperStyle === "string" ? wrapperStyle : preEl.properties.style : "";
+ const styles = [];
+ Object.keys(themesObject).forEach((color) => {
+ const colorScheme = color !== "default" ? `.${color}` : "";
+ styles.push(
+ wrapperStyle ? `${colorScheme} .shiki,` : "",
+ `html .${color} .shiki span {`,
+ `color: var(--shiki-${color});`,
+ `background: var(--shiki-${color}-bg);`,
+ `font-style: var(--shiki-${color}-font-style);`,
+ `font-weight: var(--shiki-${color}-font-weight);`,
+ `text-decoration: var(--shiki-${color}-text-decoration);`,
+ "}"
+ );
+ styles.push(
+ `html${colorScheme} .shiki span {`,
+ `color: var(--shiki-${color});`,
+ `background: var(--shiki-${color}-bg);`,
+ `font-style: var(--shiki-${color}-font-style);`,
+ `font-weight: var(--shiki-${color}-font-weight);`,
+ `text-decoration: var(--shiki-${color}-text-decoration);`,
+ "}"
+ );
+ });
+ return {
+ tree: codeEl.children,
+ className: Array.isArray(preEl.properties.class) ? preEl.properties.class.join(" ") : preEl.properties.class,
+ inlineStyle: preEl.properties.style,
+ style: styles.join("")
+ };
+ };
+ return highlighter;
+}
+
+const bundledLangs = {
+"javascript": () => import('@shikijs/langs/javascript').then(r => r.default || r),
+"js": () => import('@shikijs/langs/javascript').then(r => r.default || r),
+"cjs": () => import('@shikijs/langs/javascript').then(r => r.default || r),
+"mjs": () => import('@shikijs/langs/javascript').then(r => r.default || r),
+"jsx": () => import('@shikijs/langs/jsx').then(r => r.default || r),
+"json": () => import('@shikijs/langs/json').then(r => r.default || r),
+"typescript": () => import('@shikijs/langs/typescript').then(r => r.default || r),
+"ts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
+"cts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
+"mts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
+"tsx": () => import('@shikijs/langs/tsx').then(r => r.default || r),
+"vue": () => import('@shikijs/langs/vue').then(r => r.default || r),
+"css": () => import('@shikijs/langs/css').then(r => r.default || r),
+"html": () => import('@shikijs/langs/html').then(r => r.default || r),
+"shellscript": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
+"bash": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
+"sh": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
+"shell": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
+"zsh": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
+"markdown": () => import('@shikijs/langs/markdown').then(r => r.default || r),
+"md": () => import('@shikijs/langs/markdown').then(r => r.default || r),
+"mdc": () => import('@shikijs/langs/mdc').then(r => r.default || r),
+"yaml": () => import('@shikijs/langs/yaml').then(r => r.default || r),
+"yml": () => import('@shikijs/langs/yaml').then(r => r.default || r),
+}
+const bundledThemes = {
+"github-light": () => import('@shikijs/themes/github-light').then(r => r.default || r),
+"github-dark": () => import('@shikijs/themes/github-dark').then(r => r.default || r),
+}
+const options = {"theme":{"default":"github-light","dark":"github-dark"}}
+const engine = createOnigurumaEngine(() => import('shiki/wasm'))
+const highlighter = createShikiHighlighter({ bundledLangs, bundledThemes, options, getMdcConfigs, engine })
+export default highlighter
\ No newline at end of file
diff --git a/.nuxt/mdc-image-component.mjs b/.nuxt/mdc-image-component.mjs
new file mode 100644
index 0000000..c7401fd
--- /dev/null
+++ b/.nuxt/mdc-image-component.mjs
@@ -0,0 +1 @@
+export default "img"
\ No newline at end of file
diff --git a/.nuxt/mdc-imports.mjs b/.nuxt/mdc-imports.mjs
new file mode 100644
index 0000000..5b0f189
--- /dev/null
+++ b/.nuxt/mdc-imports.mjs
@@ -0,0 +1,12 @@
+import _RemarkEmoji from 'remark-emoji'
+import _Highlight from '/Users/gxwebsoft/VUE/jczxw-pc/node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/highlighter/rehype-nuxt.js'
+
+export const remarkPlugins = {
+ 'remark-emoji': { instance: _RemarkEmoji },
+}
+
+export const rehypePlugins = {
+ 'highlight': { instance: _Highlight, options: {} },
+}
+
+export const highlight = {"theme":{"default":"github-light","dark":"github-dark"}}
\ No newline at end of file
diff --git a/.nuxt/nuxt.d.ts b/.nuxt/nuxt.d.ts
new file mode 100644
index 0000000..6b801a3
--- /dev/null
+++ b/.nuxt/nuxt.d.ts
@@ -0,0 +1,26 @@
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+
+export {}
diff --git a/.nuxt/nuxt.node.d.ts b/.nuxt/nuxt.node.d.ts
new file mode 100644
index 0000000..31740e9
--- /dev/null
+++ b/.nuxt/nuxt.node.d.ts
@@ -0,0 +1,16 @@
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+
+export {}
diff --git a/.nuxt/nuxt.shared.d.ts b/.nuxt/nuxt.shared.d.ts
new file mode 100644
index 0000000..9d0f8aa
--- /dev/null
+++ b/.nuxt/nuxt.shared.d.ts
@@ -0,0 +1,5 @@
+///
+///
+///
+
+export {}
diff --git a/.nuxt/schema/nuxt.schema.d.ts b/.nuxt/schema/nuxt.schema.d.ts
new file mode 100644
index 0000000..d9d266c
--- /dev/null
+++ b/.nuxt/schema/nuxt.schema.d.ts
@@ -0,0 +1,17 @@
+export interface NuxtCustomSchema {
+
+}
+export type CustomAppConfig = Exclude
+type _CustomAppConfig = CustomAppConfig
+
+declare module '@nuxt/schema' {
+ interface NuxtConfig extends Omit {}
+ interface NuxtOptions extends Omit {}
+ interface CustomAppConfig extends _CustomAppConfig {}
+}
+
+declare module 'nuxt/schema' {
+ interface NuxtConfig extends Omit {}
+ interface NuxtOptions extends Omit {}
+ interface CustomAppConfig extends _CustomAppConfig {}
+}
diff --git a/.nuxt/schema/nuxt.schema.json b/.nuxt/schema/nuxt.schema.json
new file mode 100644
index 0000000..034ff69
--- /dev/null
+++ b/.nuxt/schema/nuxt.schema.json
@@ -0,0 +1,3 @@
+{
+ "id": "#"
+}
\ No newline at end of file
diff --git a/.nuxt/tailwind/postcss.mjs b/.nuxt/tailwind/postcss.mjs
new file mode 100644
index 0000000..9f61c3e
--- /dev/null
+++ b/.nuxt/tailwind/postcss.mjs
@@ -0,0 +1,16 @@
+// generated by the @nuxtjs/tailwindcss module at 4/23/2026, 4:30:14 PM
+import "@nuxtjs/tailwindcss/config-ctx"
+import configMerger from "@nuxtjs/tailwindcss/merger";
+
+import cfg2 from "./../../tailwind.config.cjs";
+import cfg3 from "./../../tailwind.config.cjs";
+const config = [
+{"content":{"files":["/Users/gxwebsoft/VUE/jczxw-pc/app/components/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/components/global/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/components/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/layouts/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/plugins/**/*.{js,ts,mjs}","/Users/gxwebsoft/VUE/jczxw-pc/app/composables/**/*.{js,ts,mjs}","/Users/gxwebsoft/VUE/jczxw-pc/app/utils/**/*.{js,ts,mjs}","/Users/gxwebsoft/VUE/jczxw-pc/app/pages/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/{A,a}pp.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/{E,e}rror.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/jczxw-pc/app/app.config.{js,ts,mjs}"]}},
+{},
+cfg2,
+cfg3
+].reduce((acc, curr) => configMerger(acc, curr), {});
+
+const resolvedConfig = config;
+
+export default resolvedConfig;
\ No newline at end of file
diff --git a/.nuxt/tsconfig.app.json b/.nuxt/tsconfig.app.json
new file mode 100644
index 0000000..0430d57
--- /dev/null
+++ b/.nuxt/tsconfig.app.json
@@ -0,0 +1,263 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "nitropack/types": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
+ ],
+ "nitropack/runtime": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
+ ],
+ "nitropack": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
+ ],
+ "defu": [
+ "../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
+ ],
+ "h3": [
+ "../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
+ ],
+ "consola": [
+ "../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
+ ],
+ "ofetch": [
+ "../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
+ ],
+ "@unhead/vue": [
+ "../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
+ ],
+ "@nuxt/devtools": [
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
+ ],
+ "@vue/runtime-core": [
+ "../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
+ ],
+ "@vue/compiler-sfc": [
+ "../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
+ ],
+ "unplugin-vue-router/client": [
+ "../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
+ ],
+ "@nuxt/schema": [
+ "../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
+ ],
+ "nuxt": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
+ ],
+ "vite/client": [
+ "../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
+ ],
+ "@nuxtjs/mdc": [
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
+ ],
+ "vue-i18n": [
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n",
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
+ ],
+ "@intlify/shared": [
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared/dist/shared",
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
+ ],
+ "@intlify/core": [
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core/dist/core.node",
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
+ ],
+ "@intlify/core-base": [
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base/dist/core-base",
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
+ ],
+ "@intlify/utils": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/index",
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/utils/h3": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3",
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/message-compiler": [
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler/dist/message-compiler",
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
+ ],
+ "#content/components": [
+ "./content/components"
+ ],
+ "#content/manifest": [
+ "./content/manifest"
+ ],
+ "~": [
+ "../app"
+ ],
+ "~/*": [
+ "../app/*"
+ ],
+ "@": [
+ "../app"
+ ],
+ "@/*": [
+ "../app/*"
+ ],
+ "~~": [
+ ".."
+ ],
+ "~~/*": [
+ "../*"
+ ],
+ "@@": [
+ ".."
+ ],
+ "@@/*": [
+ "../*"
+ ],
+ "#shared": [
+ "../shared"
+ ],
+ "#shared/*": [
+ "../shared/*"
+ ],
+ "#app": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app"
+ ],
+ "#app/*": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/*"
+ ],
+ "vue-demi": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi"
+ ],
+ "#i18n": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index"
+ ],
+ "#i18n-kit": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
+ ],
+ "#i18n-kit/*": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
+ ],
+ "#internal-i18n-types": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
+ ],
+ "#vue-router": [
+ "../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-router"
+ ],
+ "#unhead/composables": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
+ ],
+ "#imports": [
+ "./imports"
+ ],
+ "#mdc-configs": [
+ "./mdc-configs"
+ ],
+ "#mdc-highlighter": [
+ "./mdc-highlighter"
+ ],
+ "#mdc-imports": [
+ "./mdc-imports"
+ ],
+ "#app-manifest": [
+ "../node_modules/.pnpm/mocked-exports@0.1.1/node_modules/mocked-exports/lib/proxy"
+ ],
+ "#components": [
+ "./components"
+ ],
+ "#build": [
+ "."
+ ],
+ "#build/*": [
+ "./*"
+ ]
+ },
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "target": "ESNext",
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "moduleDetection": "force",
+ "isolatedModules": true,
+ "verbatimModuleSyntax": true,
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "forceConsistentCasingInFileNames": true,
+ "noImplicitOverride": true,
+ "module": "preserve",
+ "noEmit": true,
+ "lib": [
+ "ESNext",
+ "dom",
+ "dom.iterable",
+ "webworker"
+ ],
+ "jsx": "preserve",
+ "jsxImportSource": "vue",
+ "types": [],
+ "moduleResolution": "Bundler",
+ "useDefineForClassFields": true,
+ "noImplicitThis": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "include": [
+ "../i18n/**/*",
+ "./nuxt.d.ts",
+ "../app/**/*",
+ "../modules/*/runtime/**/*",
+ "../test/nuxt/**/*",
+ "../tests/nuxt/**/*",
+ "../layers/*/app/**/*",
+ "../layers/*/modules/*/runtime/**/*",
+ "../shared/**/*.d.ts",
+ "../modules/*/shared/**/*.d.ts",
+ "../layers/*/shared/**/*.d.ts",
+ "../*.d.ts",
+ "../layers/*/*.d.ts",
+ "../modules/runtime",
+ "../modules/dist/runtime"
+ ],
+ "exclude": [
+ "../node_modules",
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
+ "../dist",
+ "../.data",
+ "../modules/*/runtime/server/**/*",
+ "../layers/*/server/**/*",
+ "../layers/*/modules/*/runtime/server/**/*",
+ "../modules/*.*",
+ "../nuxt.config.*",
+ "../.config/nuxt.*",
+ "../layers/*/nuxt.config.*",
+ "../layers/*/.config/nuxt.*",
+ "../layers/*/modules/**/*",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/*.*",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/*.*",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/*.*",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/*.*",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/*.*",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/*.*",
+ "../modules/runtime/server",
+ "../modules/dist/runtime/server",
+ "../modules/dist/*.*",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/*.*",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/*.*",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/*.*",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/*.*",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/*.*",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/*.*",
+ "../.output",
+ "../server"
+ ]
+}
\ No newline at end of file
diff --git a/.nuxt/tsconfig.json b/.nuxt/tsconfig.json
new file mode 100644
index 0000000..78129e1
--- /dev/null
+++ b/.nuxt/tsconfig.json
@@ -0,0 +1,264 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "nitropack/types": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
+ ],
+ "nitropack/runtime": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
+ ],
+ "nitropack": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
+ ],
+ "defu": [
+ "../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
+ ],
+ "h3": [
+ "../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
+ ],
+ "consola": [
+ "../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
+ ],
+ "ofetch": [
+ "../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
+ ],
+ "@unhead/vue": [
+ "../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
+ ],
+ "@nuxt/devtools": [
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
+ ],
+ "@vue/runtime-core": [
+ "../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
+ ],
+ "@vue/compiler-sfc": [
+ "../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
+ ],
+ "unplugin-vue-router/client": [
+ "../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
+ ],
+ "@nuxt/schema": [
+ "../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
+ ],
+ "nuxt": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
+ ],
+ "vite/client": [
+ "../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
+ ],
+ "@nuxtjs/mdc": [
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
+ ],
+ "vue-i18n": [
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n",
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
+ ],
+ "@intlify/shared": [
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared/dist/shared",
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
+ ],
+ "@intlify/core": [
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core/dist/core.node",
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
+ ],
+ "@intlify/core-base": [
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base/dist/core-base",
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
+ ],
+ "@intlify/utils": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/index",
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/utils/h3": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3",
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/message-compiler": [
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler/dist/message-compiler",
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
+ ],
+ "#content/components": [
+ "./content/components"
+ ],
+ "#content/manifest": [
+ "./content/manifest"
+ ],
+ "~": [
+ "../app"
+ ],
+ "~/*": [
+ "../app/*"
+ ],
+ "@": [
+ "../app"
+ ],
+ "@/*": [
+ "../app/*"
+ ],
+ "~~": [
+ ".."
+ ],
+ "~~/*": [
+ "../*"
+ ],
+ "@@": [
+ ".."
+ ],
+ "@@/*": [
+ "../*"
+ ],
+ "#shared": [
+ "../shared"
+ ],
+ "#shared/*": [
+ "../shared/*"
+ ],
+ "#app": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app"
+ ],
+ "#app/*": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/*"
+ ],
+ "vue-demi": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi"
+ ],
+ "#i18n": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index"
+ ],
+ "#i18n-kit": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
+ ],
+ "#i18n-kit/*": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
+ ],
+ "#internal-i18n-types": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
+ ],
+ "#vue-router": [
+ "../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-router"
+ ],
+ "#unhead/composables": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
+ ],
+ "#imports": [
+ "./imports"
+ ],
+ "#mdc-configs": [
+ "./mdc-configs"
+ ],
+ "#mdc-highlighter": [
+ "./mdc-highlighter"
+ ],
+ "#mdc-imports": [
+ "./mdc-imports"
+ ],
+ "#app-manifest": [
+ "../node_modules/.pnpm/mocked-exports@0.1.1/node_modules/mocked-exports/lib/proxy"
+ ],
+ "#components": [
+ "./components"
+ ],
+ "#build": [
+ "."
+ ],
+ "#build/*": [
+ "./*"
+ ]
+ },
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "target": "ESNext",
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "moduleDetection": "force",
+ "isolatedModules": true,
+ "verbatimModuleSyntax": true,
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "forceConsistentCasingInFileNames": true,
+ "noImplicitOverride": true,
+ "module": "preserve",
+ "noEmit": true,
+ "lib": [
+ "ESNext",
+ "dom",
+ "dom.iterable",
+ "webworker"
+ ],
+ "jsx": "preserve",
+ "jsxImportSource": "vue",
+ "types": [],
+ "moduleResolution": "Bundler",
+ "useDefineForClassFields": true,
+ "noImplicitThis": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "include": [
+ "../i18n/**/*",
+ "./nuxt.d.ts",
+ "../app/**/*",
+ "../modules/*/runtime/**/*",
+ "../test/nuxt/**/*",
+ "../tests/nuxt/**/*",
+ "../layers/*/app/**/*",
+ "../layers/*/modules/*/runtime/**/*",
+ "../shared/**/*.d.ts",
+ "../modules/*/shared/**/*.d.ts",
+ "../layers/*/shared/**/*.d.ts",
+ "../*.d.ts",
+ "../layers/*/*.d.ts",
+ "../modules/runtime",
+ "../modules/dist/runtime",
+ "./nuxt.node.d.ts",
+ "../modules/*.*",
+ "../nuxt.config.*",
+ "../.config/nuxt.*",
+ "../layers/*/nuxt.config.*",
+ "../layers/*/.config/nuxt.*",
+ "../layers/*/modules/**/*",
+ "../shared/**/*",
+ "../modules/*/shared/**/*",
+ "../layers/*/shared/**/*",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime"
+ ],
+ "exclude": [
+ "../node_modules",
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
+ "../dist",
+ "../.data",
+ "../modules/*/runtime/server/**/*",
+ "../layers/*/server/**/*",
+ "../layers/*/modules/*/runtime/server/**/*",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime/server",
+ "../modules/runtime/server",
+ "../modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime/server"
+ ]
+}
\ No newline at end of file
diff --git a/.nuxt/tsconfig.node.json b/.nuxt/tsconfig.node.json
new file mode 100644
index 0000000..e5a08f4
--- /dev/null
+++ b/.nuxt/tsconfig.node.json
@@ -0,0 +1,140 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "nitropack/types": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
+ ],
+ "nitropack/runtime": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
+ ],
+ "nitropack": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
+ ],
+ "defu": [
+ "../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
+ ],
+ "h3": [
+ "../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
+ ],
+ "consola": [
+ "../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
+ ],
+ "ofetch": [
+ "../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
+ ],
+ "@unhead/vue": [
+ "../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
+ ],
+ "@nuxt/devtools": [
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
+ ],
+ "@vue/runtime-core": [
+ "../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
+ ],
+ "@vue/compiler-sfc": [
+ "../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
+ ],
+ "unplugin-vue-router/client": [
+ "../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
+ ],
+ "@nuxt/schema": [
+ "../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
+ ],
+ "nuxt": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
+ ],
+ "vite/client": [
+ "../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
+ ],
+ "@nuxtjs/mdc": [
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
+ ],
+ "vue-i18n": [
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
+ ],
+ "@intlify/shared": [
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
+ ],
+ "@intlify/core": [
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
+ ],
+ "@intlify/core-base": [
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
+ ],
+ "@intlify/utils": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/utils/h3": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/message-compiler": [
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
+ ]
+ },
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "target": "ESNext",
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "moduleDetection": "force",
+ "isolatedModules": true,
+ "verbatimModuleSyntax": true,
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "forceConsistentCasingInFileNames": true,
+ "noImplicitOverride": true,
+ "module": "preserve",
+ "noEmit": true,
+ "types": [],
+ "moduleResolution": "Bundler",
+ "useDefineForClassFields": true,
+ "noImplicitThis": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "include": [
+ "./nuxt.node.d.ts",
+ "../modules/*.*",
+ "../nuxt.config.*",
+ "../.config/nuxt.*",
+ "../layers/*/nuxt.config.*",
+ "../layers/*/.config/nuxt.*",
+ "../layers/*/modules/**/*",
+ "../nuxt.schema.*",
+ "../layers/*/nuxt.schema.*"
+ ],
+ "exclude": [
+ "../node_modules",
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
+ "../dist",
+ "../.data",
+ "../app/**/*",
+ "../modules/*/runtime/**/*",
+ "../test/nuxt/**/*",
+ "../tests/nuxt/**/*",
+ "../layers/*/app/**/*",
+ "../layers/*/modules/*/runtime/**/*",
+ "../modules/*/runtime/server/**/*",
+ "../layers/*/server/**/*",
+ "../layers/*/modules/*/runtime/server/**/*",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime",
+ "../modules/runtime",
+ "../modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime"
+ ]
+}
\ No newline at end of file
diff --git a/.nuxt/tsconfig.server.json b/.nuxt/tsconfig.server.json
new file mode 100644
index 0000000..5fd9b3e
--- /dev/null
+++ b/.nuxt/tsconfig.server.json
@@ -0,0 +1,194 @@
+{
+ "compilerOptions": {
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noEmit": true,
+ "skipLibCheck": true,
+ "target": "ESNext",
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "jsx": "preserve",
+ "allowSyntheticDefaultImports": true,
+ "jsxFactory": "h",
+ "jsxFragmentFactory": "Fragment",
+ "paths": {
+ "#imports": [
+ "./types/nitro-imports"
+ ],
+ "~/*": [
+ "../app/*"
+ ],
+ "@/*": [
+ "../app/*"
+ ],
+ "~~/*": [
+ "../*"
+ ],
+ "@@/*": [
+ "../*"
+ ],
+ "nitropack/types": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
+ ],
+ "nitropack/runtime": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
+ ],
+ "nitropack": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
+ ],
+ "defu": [
+ "../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
+ ],
+ "h3": [
+ "../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
+ ],
+ "consola": [
+ "../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
+ ],
+ "ofetch": [
+ "../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
+ ],
+ "@unhead/vue": [
+ "../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
+ ],
+ "@nuxt/devtools": [
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
+ ],
+ "@vue/runtime-core": [
+ "../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
+ ],
+ "@vue/compiler-sfc": [
+ "../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
+ ],
+ "unplugin-vue-router/client": [
+ "../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
+ ],
+ "@nuxt/schema": [
+ "../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
+ ],
+ "nuxt": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
+ ],
+ "vite/client": [
+ "../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
+ ],
+ "@nuxtjs/mdc": [
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
+ ],
+ "vue-i18n": [
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
+ ],
+ "@intlify/shared": [
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
+ ],
+ "@intlify/core": [
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
+ ],
+ "@intlify/core-base": [
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
+ ],
+ "@intlify/utils": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/utils/h3": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/message-compiler": [
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
+ ],
+ "#content/components": [
+ "./content/components"
+ ],
+ "#content/manifest": [
+ "./content/manifest"
+ ],
+ "#shared": [
+ "../shared"
+ ],
+ "#shared/*": [
+ "../shared/*"
+ ],
+ "#build": [
+ "./"
+ ],
+ "#build/*": [
+ "./*"
+ ],
+ "#internal/nuxt/paths": [
+ "../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths"
+ ],
+ "#i18n": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index-server"
+ ],
+ "#i18n-kit": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
+ ],
+ "#i18n-kit/*": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
+ ],
+ "#internal-i18n-types": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
+ ],
+ "#unhead/composables": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
+ ],
+ "#mdc-configs": [
+ "./mdc-configs"
+ ],
+ "#mdc-highlighter": [
+ "./mdc-highlighter"
+ ],
+ "#mdc-imports": [
+ "./mdc-imports"
+ ],
+ "#content/dump": [
+ "./content/database.compressed"
+ ],
+ "#content/adapter": [
+ "./db0/connectors/better-sqlite3"
+ ],
+ "#content/local-adapter": [
+ "./db0/connectors/better-sqlite3"
+ ]
+ },
+ "lib": [
+ "esnext",
+ "webworker",
+ "dom.iterable"
+ ]
+ },
+ "include": [
+ "./content/types.d.ts",
+ "./types/nitro-nuxt.d.ts",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime/server",
+ "../modules/runtime/server",
+ "../modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime/server",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime/server",
+ "../server/**/*",
+ "../shared/**/*.d.ts",
+ "./types/nitro.d.ts"
+ ],
+ "exclude": [
+ "../node_modules",
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
+ "../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
+ "../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
+ "../dist"
+ ]
+}
\ No newline at end of file
diff --git a/.nuxt/tsconfig.shared.json b/.nuxt/tsconfig.shared.json
new file mode 100644
index 0000000..39073f3
--- /dev/null
+++ b/.nuxt/tsconfig.shared.json
@@ -0,0 +1,188 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "nitropack/types": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
+ ],
+ "nitropack/runtime": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
+ ],
+ "nitropack": [
+ "../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
+ ],
+ "defu": [
+ "../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
+ ],
+ "h3": [
+ "../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
+ ],
+ "consola": [
+ "../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
+ ],
+ "ofetch": [
+ "../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
+ ],
+ "@unhead/vue": [
+ "../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
+ ],
+ "@nuxt/devtools": [
+ "../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
+ ],
+ "@vue/runtime-core": [
+ "../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
+ ],
+ "@vue/compiler-sfc": [
+ "../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
+ ],
+ "unplugin-vue-router/client": [
+ "../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
+ ],
+ "@nuxt/schema": [
+ "../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
+ ],
+ "nuxt": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
+ ],
+ "vite/client": [
+ "../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
+ ],
+ "@nuxtjs/mdc": [
+ "../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
+ ],
+ "vue-i18n": [
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n",
+ "../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
+ ],
+ "@intlify/shared": [
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared/dist/shared",
+ "../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
+ ],
+ "@intlify/core": [
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core/dist/core.node",
+ "../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
+ ],
+ "@intlify/core-base": [
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base/dist/core-base",
+ "../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
+ ],
+ "@intlify/utils": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/index",
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/utils/h3": [
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3",
+ "../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
+ ],
+ "@intlify/message-compiler": [
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler/dist/message-compiler",
+ "../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
+ ],
+ "#content/components": [
+ "./content/components"
+ ],
+ "#content/manifest": [
+ "./content/manifest"
+ ],
+ "~": [
+ "../app"
+ ],
+ "~/*": [
+ "../app/*"
+ ],
+ "@": [
+ "../app"
+ ],
+ "@/*": [
+ "../app/*"
+ ],
+ "~~": [
+ ".."
+ ],
+ "~~/*": [
+ "../*"
+ ],
+ "@@": [
+ ".."
+ ],
+ "@@/*": [
+ "../*"
+ ],
+ "#shared": [
+ "../shared"
+ ],
+ "#shared/*": [
+ "../shared/*"
+ ],
+ "#app": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app"
+ ],
+ "#app/*": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/*"
+ ],
+ "vue-demi": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi"
+ ],
+ "#i18n-kit": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
+ ],
+ "#i18n-kit/*": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
+ ],
+ "#internal-i18n-types": [
+ "../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
+ ],
+ "#vue-router": [
+ "../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-router"
+ ],
+ "#unhead/composables": [
+ "../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
+ ],
+ "#imports": [
+ "./imports"
+ ],
+ "#mdc-configs": [
+ "./mdc-configs"
+ ],
+ "#mdc-highlighter": [
+ "./mdc-highlighter"
+ ],
+ "#mdc-imports": [
+ "./mdc-imports"
+ ],
+ "#build": [
+ "."
+ ],
+ "#build/*": [
+ "./*"
+ ]
+ },
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "target": "ESNext",
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "moduleDetection": "force",
+ "isolatedModules": true,
+ "verbatimModuleSyntax": true,
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "forceConsistentCasingInFileNames": true,
+ "noImplicitOverride": true,
+ "module": "preserve",
+ "noEmit": true,
+ "types": [],
+ "moduleResolution": "Bundler",
+ "useDefineForClassFields": true,
+ "noImplicitThis": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "include": [
+ "./nuxt.shared.d.ts",
+ "../shared/**/*",
+ "../modules/*/shared/**/*",
+ "../layers/*/shared/**/*",
+ "../*.d.ts",
+ "../layers/*/*.d.ts"
+ ],
+ "exclude": []
+}
\ No newline at end of file
diff --git a/.nuxt/types/app.config.d.ts b/.nuxt/types/app.config.d.ts
new file mode 100644
index 0000000..df489ee
--- /dev/null
+++ b/.nuxt/types/app.config.d.ts
@@ -0,0 +1,35 @@
+
+import type { AppConfigInput, CustomAppConfig } from 'nuxt/schema'
+import type { Defu } from 'defu'
+
+
+declare global {
+ const defineAppConfig: (config: C) => C
+}
+
+declare const inlineConfig = {
+ "nuxt": {}
+}
+type ResolvedAppConfig = Defu
+type IsAny = 0 extends 1 & T ? true : false
+
+type MergedAppConfig, Custom extends Record> = {
+ [K in keyof (Resolved & Custom)]: K extends keyof Custom
+ ? unknown extends Custom[K]
+ ? Resolved[K]
+ : IsAny extends true
+ ? Resolved[K]
+ : Custom[K] extends Record
+ ? Resolved[K] extends Record
+ ? MergedAppConfig
+ : Exclude
+ : Exclude
+ : Resolved[K]
+}
+
+declare module 'nuxt/schema' {
+ interface AppConfig extends MergedAppConfig { }
+}
+declare module '@nuxt/schema' {
+ interface AppConfig extends MergedAppConfig { }
+}
diff --git a/.nuxt/types/build.d.ts b/.nuxt/types/build.d.ts
new file mode 100644
index 0000000..54bcade
--- /dev/null
+++ b/.nuxt/types/build.d.ts
@@ -0,0 +1,24 @@
+declare module "#build/app-component.mjs";
+declare module "#build/nitro.client.mjs";
+declare module "#build/plugins.client.mjs";
+declare module "#build/css.mjs";
+declare module "#build/fetch.mjs";
+declare module "#build/error-component.mjs";
+declare module "#build/global-polyfills.mjs";
+declare module "#build/layouts.mjs";
+declare module "#build/middleware.mjs";
+declare module "#build/nuxt.config.mjs";
+declare module "#build/paths.mjs";
+declare module "#build/root-component.mjs";
+declare module "#build/plugins.server.mjs";
+declare module "#build/test-component-wrapper.mjs";
+declare module "#build/i18n-options.mjs";
+declare module "#build/routes.mjs";
+declare module "#build/pages.mjs";
+declare module "#build/router.options.mjs";
+declare module "#build/unhead-options.mjs";
+declare module "#build/unhead.config.mjs";
+declare module "#build/components.plugin.mjs";
+declare module "#build/component-names.mjs";
+declare module "#build/components.islands.mjs";
+declare module "#build/component-chunk.mjs";
diff --git a/.nuxt/types/builder-env.d.ts b/.nuxt/types/builder-env.d.ts
new file mode 100644
index 0000000..0eb1329
--- /dev/null
+++ b/.nuxt/types/builder-env.d.ts
@@ -0,0 +1 @@
+import "vite/client";
\ No newline at end of file
diff --git a/.nuxt/types/components.d.ts b/.nuxt/types/components.d.ts
new file mode 100644
index 0000000..3862cd0
--- /dev/null
+++ b/.nuxt/types/components.d.ts
@@ -0,0 +1,169 @@
+
+import type { DefineComponent, SlotsType } from 'vue'
+type IslandComponent = DefineComponent<{}, {refresh: () => Promise}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
+
+type HydrationStrategies = {
+ hydrateOnVisible?: IntersectionObserverInit | true
+ hydrateOnIdle?: number | true
+ hydrateOnInteraction?: keyof HTMLElementEventMap | Array | true
+ hydrateOnMediaQuery?: string
+ hydrateAfter?: number
+ hydrateWhen?: boolean
+ hydrateNever?: true
+}
+type LazyComponent = DefineComponent void }> & T
+
+interface _GlobalComponents {
+ 'LangSwitch': typeof import("../../app/components/LangSwitch.vue").default
+ 'NotificationBell': typeof import("../../app/components/NotificationBell.vue").default
+ 'QrCodeModal': typeof import("../../app/components/QrCodeModal.vue").default
+ 'QrLogin': typeof import("../../app/components/QrLogin.vue").default
+ 'SiteFooter': typeof import("../../app/components/SiteFooter.vue").default
+ 'SiteHeader': typeof import("../../app/components/SiteHeader.vue").default
+ 'AdminMarkdownEditor': typeof import("../../app/components/admin/MarkdownEditor.vue").default
+ 'AdminMarkdownRenderer': typeof import("../../app/components/admin/MarkdownRenderer.vue").default
+ 'ConsoleAppsCenter': typeof import("../../app/components/console/AppsCenter.vue").default
+ 'ConsoleHeader': typeof import("../../app/components/console/ConsoleHeader.vue").default
+ 'ConsoleContractManagement': typeof import("../../app/components/console/ContractManagement.vue").default
+ 'DeveloperAppDetail': typeof import("../../app/components/developer/AppDetail.vue").default
+ 'DeveloperAppsCenter': typeof import("../../app/components/developer/AppsCenter.vue").default
+ 'DeveloperPermissionGuard': typeof import("../../app/components/developer/PermissionGuard.vue").default
+ 'DeveloperRoleTag': typeof import("../../app/components/developer/RoleTag.vue").default
+ 'InviteBell': typeof import("../../app/components/invite/InviteBell.vue").default
+ 'InviteNotification': typeof import("../../app/components/invite/InviteNotification.vue").default
+ 'PaymentModal': typeof import("../../app/components/payment/PaymentModal.vue").default
+ 'ProseA': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default
+ 'ProseBlockquote': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default
+ 'ProseCode': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue").default
+ 'ProseEm': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue").default
+ 'ProseH1': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue").default
+ 'ProseH2': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue").default
+ 'ProseH3': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue").default
+ 'ProseH4': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue").default
+ 'ProseH5': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue").default
+ 'ProseH6': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue").default
+ 'ProseHr': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue").default
+ 'ProseImg': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue").default
+ 'ProseLi': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue").default
+ 'ProseOl': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue").default
+ 'ProseP': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue").default
+ 'ProsePre': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue").default
+ 'ProseScript': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue").default
+ 'ProseStrong': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue").default
+ 'ProseTable': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue").default
+ 'ProseTbody': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue").default
+ 'ProseTd': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue").default
+ 'ProseTh': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue").default
+ 'ProseThead': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue").default
+ 'ProseTr': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue").default
+ 'ProseUl': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue").default
+ 'NuxtWelcome': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").default
+ 'NuxtLayout': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").default
+ 'NuxtErrorBoundary': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").default
+ 'ClientOnly': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").default
+ 'DevOnly': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").default
+ 'ServerPlaceholder': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").default
+ 'NuxtLink': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").default
+ 'NuxtLoadingIndicator': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").default
+ 'NuxtTime': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").default
+ 'NuxtRouteAnnouncer': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").default
+ 'NuxtImg': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtImg
+ 'NuxtPicture': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtPicture
+ 'ContentRenderer': typeof import("../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").default
+ 'NuxtLinkLocale': typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").default
+ 'SwitchLocalePathLink': typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").default
+ 'NuxtPage': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").default
+ 'NoScript': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").NoScript
+ 'Link': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Link
+ 'Base': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Base
+ 'Title': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Title
+ 'Meta': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Meta
+ 'Style': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Style
+ 'Head': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Head
+ 'Html': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Html
+ 'Body': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Body
+ 'MDC': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").default
+ 'MDCCached': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").default
+ 'MDCRenderer': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").default
+ 'MDCSlot': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").default
+ 'NuxtIsland': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").default
+ 'LazyLangSwitch': LazyComponent
+ 'LazyNotificationBell': LazyComponent
+ 'LazyQrCodeModal': LazyComponent
+ 'LazyQrLogin': LazyComponent
+ 'LazySiteFooter': LazyComponent
+ 'LazySiteHeader': LazyComponent
+ 'LazyAdminMarkdownEditor': LazyComponent
+ 'LazyAdminMarkdownRenderer': LazyComponent
+ 'LazyConsoleAppsCenter': LazyComponent
+ 'LazyConsoleHeader': LazyComponent
+ 'LazyConsoleContractManagement': LazyComponent
+ 'LazyDeveloperAppDetail': LazyComponent
+ 'LazyDeveloperAppsCenter': LazyComponent
+ 'LazyDeveloperPermissionGuard': LazyComponent
+ 'LazyDeveloperRoleTag': LazyComponent
+ 'LazyInviteBell': LazyComponent
+ 'LazyInviteNotification': LazyComponent
+ 'LazyPaymentModal': LazyComponent
+ 'LazyProseA': LazyComponent
+ 'LazyProseBlockquote': LazyComponent
+ 'LazyProseCode': LazyComponent
+ 'LazyProseEm': LazyComponent
+ 'LazyProseH1': LazyComponent
+ 'LazyProseH2': LazyComponent
+ 'LazyProseH3': LazyComponent
+ 'LazyProseH4': LazyComponent
+ 'LazyProseH5': LazyComponent
+ 'LazyProseH6': LazyComponent
+ 'LazyProseHr': LazyComponent
+ 'LazyProseImg': LazyComponent
+ 'LazyProseLi': LazyComponent
+ 'LazyProseOl': LazyComponent
+ 'LazyProseP': LazyComponent
+ 'LazyProsePre': LazyComponent
+ 'LazyProseScript': LazyComponent
+ 'LazyProseStrong': LazyComponent
+ 'LazyProseTable': LazyComponent
+ 'LazyProseTbody': LazyComponent
+ 'LazyProseTd': LazyComponent
+ 'LazyProseTh': LazyComponent
+ 'LazyProseThead': LazyComponent
+ 'LazyProseTr': LazyComponent
+ 'LazyProseUl': LazyComponent
+ 'LazyNuxtWelcome': LazyComponent
+ 'LazyNuxtLayout': LazyComponent
+ 'LazyNuxtErrorBoundary': LazyComponent
+ 'LazyClientOnly': LazyComponent
+ 'LazyDevOnly': LazyComponent
+ 'LazyServerPlaceholder': LazyComponent
+ 'LazyNuxtLink': LazyComponent
+ 'LazyNuxtLoadingIndicator': LazyComponent
+ 'LazyNuxtTime': LazyComponent
+ 'LazyNuxtRouteAnnouncer': LazyComponent
+ 'LazyNuxtImg': LazyComponent
+ 'LazyNuxtPicture': LazyComponent
+ 'LazyContentRenderer': LazyComponent
+ 'LazyNuxtLinkLocale': LazyComponent
+ 'LazySwitchLocalePathLink': LazyComponent
+ 'LazyNuxtPage': LazyComponent
+ 'LazyNoScript': LazyComponent
+ 'LazyLink': LazyComponent
+ 'LazyBase': LazyComponent
+ 'LazyTitle': LazyComponent
+ 'LazyMeta': LazyComponent
+ 'LazyStyle': LazyComponent
+ 'LazyHead': LazyComponent
+ 'LazyHtml': LazyComponent
+ 'LazyBody': LazyComponent
+ 'LazyMDC': LazyComponent
+ 'LazyMDCCached': LazyComponent
+ 'LazyMDCRenderer': LazyComponent
+ 'LazyMDCSlot': LazyComponent
+ 'LazyNuxtIsland': LazyComponent
+}
+
+declare module 'vue' {
+ export interface GlobalComponents extends _GlobalComponents { }
+}
+
+export {}
diff --git a/.nuxt/types/i18n-plugin.d.ts b/.nuxt/types/i18n-plugin.d.ts
new file mode 100644
index 0000000..b384eb7
--- /dev/null
+++ b/.nuxt/types/i18n-plugin.d.ts
@@ -0,0 +1,115 @@
+// Generated by @nuxtjs/i18n
+import type { Composer } from 'vue-i18n'
+import type { ComposerCustomProperties } from '../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/types.ts'
+import type { Strategies, Directions, LocaleObject } from '../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types.d.mts'
+import type { I18nRoute } from '#i18n'
+
+declare module 'vue-i18n' {
+ interface ComposerCustom extends ComposerCustomProperties {}
+ interface ExportedGlobalComposer extends ComposerCustomProperties {}
+ interface VueI18n extends ComposerCustomProperties {}
+}
+
+declare module '@intlify/core-base' {
+ // generated based on configured locales
+ interface GeneratedTypeConfig {
+ locale: "zh-CN" | "en"
+ legacy: false
+ }
+}
+
+interface I18nMeta {
+ i18n?: I18nRoute | false
+}
+
+declare module '#app' {
+ interface NuxtApp {
+ $i18n: Composer
+ }
+ interface PageMeta extends I18nMeta {}
+}
+
+
+declare module 'vue-router' {
+ interface RouteMeta extends I18nMeta {}
+}
+
+
+declare module 'vue-router' {
+ export type RouteMapI18n =
+ TypesConfig extends Record<'RouteNamedMapI18n', infer RouteNamedMap> ? RouteNamedMap : RouteMapGeneric
+
+ // Prefer named resolution for i18n
+ export type RouteLocationNamedI18n =
+ | Name
+ | Omit & { path?: string }
+ /**
+ * Note: disabled route path string autocompletion, this can break depending on `strategy`
+ * this can be enabled again after route resolve has been improved.
+ */
+ // | RouteLocationAsStringI18n
+ // | RouteLocationAsPathI18n
+
+ export type RouteLocationRawI18n =
+ RouteMapGeneric extends RouteMapI18n
+ ? RouteLocationAsStringI18n | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric
+ :
+ | _LiteralUnion[Name], string>
+ | RouteLocationAsRelativeTypedList[Name]
+
+ export type RouteLocationResolvedI18n =
+ RouteMapGeneric extends RouteMapI18n
+ ? RouteLocationResolvedGeneric
+ : RouteLocationResolvedTypedList[Name]
+
+ export interface RouteLocationNormalizedLoadedTypedI18n<
+ RouteMapI18n extends RouteMapGeneric = RouteMapGeneric,
+ Name extends keyof RouteMapI18n = keyof RouteMapI18n
+ > extends RouteLocationNormalizedLoadedGeneric {
+ name: Extract
+ params: RouteMapI18n[Name]['params']
+ }
+ export type RouteLocationNormalizedLoadedTypedListI18n = {
+ [N in keyof RouteMapOriginal]: RouteLocationNormalizedLoadedTypedI18n
+ }
+ export type RouteLocationNormalizedLoadedI18n =
+ RouteMapGeneric extends RouteMapI18n
+ ? RouteLocationNormalizedLoadedGeneric
+ : RouteLocationNormalizedLoadedTypedListI18n[Name]
+
+ export type RouteLocationAsStringI18n =
+ RouteMapGeneric extends RouteMapI18n
+ ? string
+ : _LiteralUnion[Name], string>
+
+ export type RouteLocationAsRelativeI18n =
+ RouteMapGeneric extends RouteMapI18n
+ ? RouteLocationAsRelativeGeneric
+ : RouteLocationAsRelativeTypedList[Name]
+
+ export type RouteLocationAsPathI18n =
+ RouteMapGeneric extends RouteMapI18n ? RouteLocationAsPathGeneric : RouteLocationAsPathTypedList[Name]
+
+ /**
+ * Helper to generate a type safe version of the {@link RouteLocationAsRelative} type.
+ */
+ export interface RouteLocationAsRelativeTypedI18n<
+ RouteMapI18n extends RouteMapGeneric = RouteMapGeneric,
+ Name extends keyof RouteMapI18n = keyof RouteMapI18n
+ > extends RouteLocationAsRelativeGeneric {
+ name?: Extract
+ params?: RouteMapI18n[Name]['paramsRaw']
+ }
+}
+
+
+declare global {
+ var $t: (Composer)['t']
+ var $rt: (Composer)['rt']
+ var $n: (Composer)['n']
+ var $d: (Composer)['d']
+ var $tm: (Composer)['tm']
+ var $te: (Composer)['te']
+}
+
+export {}
\ No newline at end of file
diff --git a/.nuxt/types/imports.d.ts b/.nuxt/types/imports.d.ts
new file mode 100644
index 0000000..370dfb9
--- /dev/null
+++ b/.nuxt/types/imports.d.ts
@@ -0,0 +1,483 @@
+// Generated by auto imports
+export {}
+declare global {
+ const ROLE_COLOR: typeof import('../../app/composables/useAppPermission').ROLE_COLOR
+ const ROLE_HIERARCHY: typeof import('../../app/composables/useAppPermission').ROLE_HIERARCHY
+ const ROLE_LABEL: typeof import('../../app/composables/useAppPermission').ROLE_LABEL
+ const abortNavigation: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').abortNavigation
+ const addRouteMiddleware: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').addRouteMiddleware
+ const callOnce: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/once').callOnce
+ const canManageResource: typeof import('../../app/composables/useResourceAccess').canManageResource
+ const canViewBasic: typeof import('../../app/composables/useResourceAccess').canViewBasic
+ const canViewConnection: typeof import('../../app/composables/useResourceAccess').canViewConnection
+ const canViewSensitive: typeof import('../../app/composables/useResourceAccess').canViewSensitive
+ const cancelIdleCallback: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/idle-callback').cancelIdleCallback
+ const clearAuthz: typeof import('../../app/utils/permission').clearAuthz
+ const clearError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').clearError
+ const clearNuxtData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').clearNuxtData
+ const clearNuxtState: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/state').clearNuxtState
+ const computed: typeof import('vue').computed
+ const createError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').createError
+ const customRef: typeof import('vue').customRef
+ const defineAppConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').defineAppConfig
+ const defineAsyncComponent: typeof import('vue').defineAsyncComponent
+ const defineComponent: typeof import('vue').defineComponent
+ const defineI18nConfig: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').defineI18nConfig
+ const defineI18nLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').defineI18nLocale
+ const defineI18nRoute: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').defineI18nRoute
+ const defineLazyHydrationComponent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/lazy-hydration').defineLazyHydrationComponent
+ const defineNuxtComponent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/component').defineNuxtComponent
+ const defineNuxtLink: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link').defineNuxtLink
+ const defineNuxtPlugin: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').defineNuxtPlugin
+ const defineNuxtRouteMiddleware: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').defineNuxtRouteMiddleware
+ const definePageMeta: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/composables').definePageMeta
+ const definePayloadPlugin: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').definePayloadPlugin
+ const definePayloadReducer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').definePayloadReducer
+ const definePayloadReviver: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').definePayloadReviver
+ const effect: typeof import('vue').effect
+ const effectScope: typeof import('vue').effectScope
+ const enrichResourcesWithPermission: typeof import('../../app/composables/useResourceAccess').enrichResourcesWithPermission
+ const executeEntry: typeof import('../../app/utils/appEntry').executeEntry
+ const generateQrCodeCanvas: typeof import('../../app/composables/useQRCode').generateQrCodeCanvas
+ const generateQrCodeDataUrl: typeof import('../../app/composables/useQRCode').generateQrCodeDataUrl
+ const getAppEntries: typeof import('../../app/utils/appEntry').getAppEntries
+ const getAppManifest: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/manifest').getAppManifest
+ const getCurrentInstance: typeof import('vue').getCurrentInstance
+ const getCurrentScope: typeof import('vue').getCurrentScope
+ const getPrimaryEntry: typeof import('../../app/utils/appEntry').getPrimaryEntry
+ const getResourceAccessLevel: typeof import('../../app/composables/useResourceAccess').getResourceAccessLevel
+ const getRouteRules: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/manifest').getRouteRules
+ const getScanTip: typeof import('../../app/utils/appEntry').getScanTip
+ const getTenantId: typeof import('../../app/utils/domain').getTenantId
+ const getToken: typeof import('../../app/utils/token-util').getToken
+ const h: typeof import('vue').h
+ const hasAnyPermission: typeof import('../../app/utils/permission').hasAnyPermission
+ const hasAnyRole: typeof import('../../app/utils/permission').hasAnyRole
+ const hasInjectionContext: typeof import('vue').hasInjectionContext
+ const hasPermission: typeof import('../../app/utils/permission').hasPermission
+ const hasRole: typeof import('../../app/utils/permission').hasRole
+ const inject: typeof import('vue').inject
+ const injectHead: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').injectHead
+ const isMaskedValue: typeof import('../../app/composables/useResourceAccess').isMaskedValue
+ const isNuxtError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').isNuxtError
+ const isPrerendered: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').isPrerendered
+ const isProxy: typeof import('vue').isProxy
+ const isReactive: typeof import('vue').isReactive
+ const isReadonly: typeof import('vue').isReadonly
+ const isRef: typeof import('vue').isRef
+ const isResourceOwner: typeof import('../../app/composables/useResourceAccess').isResourceOwner
+ const isShallow: typeof import('vue').isShallow
+ const isVue2: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi').isVue2
+ const isVue3: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi').isVue3
+ const loadPayload: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').loadPayload
+ const markRaw: typeof import('vue').markRaw
+ const navigateTo: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').navigateTo
+ const nextTick: typeof import('vue').nextTick
+ const notificationTypeMap: typeof import('../../app/composables/useNotificationCenter').notificationTypeMap
+ const onActivated: typeof import('vue').onActivated
+ const onBeforeMount: typeof import('vue').onBeforeMount
+ const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave
+ const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate
+ const onBeforeUnmount: typeof import('vue').onBeforeUnmount
+ const onBeforeUpdate: typeof import('vue').onBeforeUpdate
+ const onDeactivated: typeof import('vue').onDeactivated
+ const onErrorCaptured: typeof import('vue').onErrorCaptured
+ const onMounted: typeof import('vue').onMounted
+ const onNuxtReady: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ready').onNuxtReady
+ const onPrehydrate: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').onPrehydrate
+ const onRenderTracked: typeof import('vue').onRenderTracked
+ const onRenderTriggered: typeof import('vue').onRenderTriggered
+ const onScopeDispose: typeof import('vue').onScopeDispose
+ const onServerPrefetch: typeof import('vue').onServerPrefetch
+ const onUnmounted: typeof import('vue').onUnmounted
+ const onUpdated: typeof import('vue').onUpdated
+ const onWatcherCleanup: typeof import('vue').onWatcherCleanup
+ const parseMarkdown: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser').parseMarkdown
+ const permission: typeof import('../../app/utils/permission').default
+ const prefetchComponents: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload').prefetchComponents
+ const preloadComponents: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload').preloadComponents
+ const preloadPayload: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').preloadPayload
+ const preloadRouteComponents: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload').preloadRouteComponents
+ const prerenderRoutes: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').prerenderRoutes
+ const provide: typeof import('vue').provide
+ const proxyRefs: typeof import('vue').proxyRefs
+ const queryCollection: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollection
+ const queryCollectionItemSurroundings: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollectionItemSurroundings
+ const queryCollectionNavigation: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollectionNavigation
+ const queryCollectionSearchSections: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollectionSearchSections
+ const reactive: typeof import('vue').reactive
+ const readonly: typeof import('vue').readonly
+ const ref: typeof import('vue').ref
+ const refreshCookie: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/cookie').refreshCookie
+ const refreshNuxtData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').refreshNuxtData
+ const reloadNuxtApp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/chunk').reloadNuxtApp
+ const removeToken: typeof import('../../app/utils/token-util').removeToken
+ const request: typeof import('../../app/utils/request').default
+ const requestIdleCallback: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/idle-callback').requestIdleCallback
+ const resolveComponent: typeof import('vue').resolveComponent
+ const resolveWebHomeUrl: typeof import('../../app/utils/appEntry').resolveWebHomeUrl
+ const setAuthz: typeof import('../../app/utils/permission').setAuthz
+ const setAuthzFromUser: typeof import('../../app/utils/permission').setAuthzFromUser
+ const setInterval: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/interval').setInterval
+ const setPageLayout: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').setPageLayout
+ const setResponseStatus: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').setResponseStatus
+ const setToken: typeof import('../../app/utils/token-util').setToken
+ const shallowReactive: typeof import('vue').shallowReactive
+ const shallowReadonly: typeof import('vue').shallowReadonly
+ const shallowRef: typeof import('vue').shallowRef
+ const showError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').showError
+ const stringifyMarkdown: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify').stringifyMarkdown
+ const toRaw: typeof import('vue').toRaw
+ const toRef: typeof import('vue').toRef
+ const toRefs: typeof import('vue').toRefs
+ const toValue: typeof import('vue').toValue
+ const triggerRef: typeof import('vue').triggerRef
+ const tryUseNuxtApp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').tryUseNuxtApp
+ const unref: typeof import('vue').unref
+ const unwrapSlot: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/utils/node').flatUnwrap
+ const updateAppConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/config').updateAppConfig
+ const useAppConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/config').useAppConfig
+ const useAppPermission: typeof import('../../app/composables/useAppPermission').useAppPermission
+ const useAsyncData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').useAsyncData
+ const useAttrs: typeof import('vue').useAttrs
+ const useBrowserLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useBrowserLocale
+ const useCookie: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/cookie').useCookie
+ const useCookieLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useCookieLocale
+ const useCssModule: typeof import('vue').useCssModule
+ const useCssVars: typeof import('vue').useCssVars
+ const useError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').useError
+ const useFetch: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/fetch').useFetch
+ const useHead: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useHead
+ const useHeadSafe: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useHeadSafe
+ const useHydration: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/hydrate').useHydration
+ const useI18n: typeof import('../../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n').useI18n
+ const useI18nPreloadKeys: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useI18nPreloadKeys
+ const useId: typeof import('vue').useId
+ const useLazyAsyncData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').useLazyAsyncData
+ const useLazyFetch: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/fetch').useLazyFetch
+ const useLink: typeof import('vue-router').useLink
+ const useLoadingIndicator: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/loading-indicator').useLoadingIndicator
+ const useLocaleHead: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useLocaleHead
+ const useLocalePath: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useLocalePath
+ const useLocaleRoute: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useLocaleRoute
+ const useModel: typeof import('vue').useModel
+ const useNotificationCenter: typeof import('../../app/composables/useNotificationCenter').useNotificationCenter
+ const useNuxtApp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').useNuxtApp
+ const useNuxtData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').useNuxtData
+ const usePageSeo: typeof import('../../app/composables/usePageSeo').usePageSeo
+ const usePreviewMode: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preview').usePreviewMode
+ const useRequestEvent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestEvent
+ const useRequestFetch: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestFetch
+ const useRequestHeader: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestHeader
+ const useRequestHeaders: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestHeaders
+ const useRequestURL: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/url').useRequestURL
+ const useResourceAccess: typeof import('../../app/composables/useResourceAccess').useResourceAccess
+ const useResponseHeader: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useResponseHeader
+ const useRoute: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').useRoute
+ const useRouteAnnouncer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/route-announcer').useRouteAnnouncer
+ const useRouteBaseName: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useRouteBaseName
+ const useRouter: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').useRouter
+ const useRuntimeConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').useRuntimeConfig
+ const useRuntimeHook: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/runtime-hook').useRuntimeHook
+ const useScript: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScript
+ const useScriptClarity: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptClarity
+ const useScriptCloudflareWebAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptCloudflareWebAnalytics
+ const useScriptCrisp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptCrisp
+ const useScriptDatabuddyAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptDatabuddyAnalytics
+ const useScriptEventPage: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptEventPage
+ const useScriptFathomAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptFathomAnalytics
+ const useScriptGoogleAdsense: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleAdsense
+ const useScriptGoogleAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleAnalytics
+ const useScriptGoogleMaps: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleMaps
+ const useScriptGoogleTagManager: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleTagManager
+ const useScriptHotjar: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptHotjar
+ const useScriptIntercom: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptIntercom
+ const useScriptLemonSqueezy: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptLemonSqueezy
+ const useScriptMatomoAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptMatomoAnalytics
+ const useScriptMetaPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptMetaPixel
+ const useScriptNpm: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptNpm
+ const useScriptPayPal: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptPayPal
+ const useScriptPlausibleAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptPlausibleAnalytics
+ const useScriptRedditPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptRedditPixel
+ const useScriptRybbitAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptRybbitAnalytics
+ const useScriptSegment: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptSegment
+ const useScriptSnapchatPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptSnapchatPixel
+ const useScriptStripe: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptStripe
+ const useScriptTriggerConsent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptTriggerConsent
+ const useScriptTriggerElement: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptTriggerElement
+ const useScriptUmamiAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptUmamiAnalytics
+ const useScriptVimeoPlayer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptVimeoPlayer
+ const useScriptXPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptXPixel
+ const useScriptYouTubePlayer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptYouTubePlayer
+ const useSeoMeta: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useSeoMeta
+ const useServerHead: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useServerHead
+ const useServerHeadSafe: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useServerHeadSafe
+ const useServerSeoMeta: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useServerSeoMeta
+ const useSetI18nParams: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useSetI18nParams
+ const useShadowRoot: typeof import('vue').useShadowRoot
+ const useSlots: typeof import('vue').useSlots
+ const useState: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/state').useState
+ const useSwitchLocalePath: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useSwitchLocalePath
+ const useTemplateRef: typeof import('vue').useTemplateRef
+ const useTransitionState: typeof import('vue').useTransitionState
+ const watch: typeof import('vue').watch
+ const watchEffect: typeof import('vue').watchEffect
+ const watchPostEffect: typeof import('vue').watchPostEffect
+ const watchSyncEffect: typeof import('vue').watchSyncEffect
+ const withCtx: typeof import('vue').withCtx
+ const withDirectives: typeof import('vue').withDirectives
+ const withKeys: typeof import('vue').withKeys
+ const withMemo: typeof import('vue').withMemo
+ const withModifiers: typeof import('vue').withModifiers
+ const withScopeId: typeof import('vue').withScopeId
+}
+// for type re-export
+declare global {
+ // @ts-ignore
+ export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
+ import('vue')
+ // @ts-ignore
+ export type { AppPermission } from '../../app/composables/useAppPermission'
+ import('../../app/composables/useAppPermission')
+ // @ts-ignore
+ export type { ResourceAccessLevel } from '../../app/composables/useResourceAccess'
+ import('../../app/composables/useResourceAccess')
+ // @ts-ignore
+ export type { EntryType, AppEntry } from '../../app/utils/appEntry'
+ import('../../app/utils/appEntry')
+}
+// for vue template auto import
+import { UnwrapRef } from 'vue'
+declare module 'vue' {
+ interface ComponentCustomProperties {
+ readonly ROLE_COLOR: UnwrapRef
+ readonly ROLE_HIERARCHY: UnwrapRef
+ readonly ROLE_LABEL: UnwrapRef
+ readonly abortNavigation: UnwrapRef
+ readonly addRouteMiddleware: UnwrapRef
+ readonly callOnce: UnwrapRef
+ readonly canManageResource: UnwrapRef
+ readonly canViewBasic: UnwrapRef
+ readonly canViewConnection: UnwrapRef
+ readonly canViewSensitive: UnwrapRef
+ readonly cancelIdleCallback: UnwrapRef
+ readonly clearAuthz: UnwrapRef
+ readonly clearError: UnwrapRef
+ readonly clearNuxtData: UnwrapRef
+ readonly clearNuxtState: UnwrapRef
+ readonly computed: UnwrapRef
+ readonly createError: UnwrapRef
+ readonly customRef: UnwrapRef
+ readonly defineAppConfig: UnwrapRef
+ readonly defineAsyncComponent: UnwrapRef
+ readonly defineComponent: UnwrapRef
+ readonly defineI18nConfig: UnwrapRef
+ readonly defineI18nLocale: UnwrapRef
+ readonly defineI18nRoute: UnwrapRef
+ readonly defineLazyHydrationComponent: UnwrapRef
+ readonly defineNuxtComponent: UnwrapRef
+ readonly defineNuxtLink: UnwrapRef
+ readonly defineNuxtPlugin: UnwrapRef
+ readonly defineNuxtRouteMiddleware: UnwrapRef
+ readonly definePageMeta: UnwrapRef
+ readonly definePayloadPlugin: UnwrapRef
+ readonly definePayloadReducer: UnwrapRef
+ readonly definePayloadReviver: UnwrapRef
+ readonly effect: UnwrapRef
+ readonly effectScope: UnwrapRef
+ readonly enrichResourcesWithPermission: UnwrapRef
+ readonly executeEntry: UnwrapRef
+ readonly generateQrCodeCanvas: UnwrapRef
+ readonly generateQrCodeDataUrl: UnwrapRef
+ readonly getAppEntries: UnwrapRef
+ readonly getAppManifest: UnwrapRef
+ readonly getCurrentInstance: UnwrapRef
+ readonly getCurrentScope: UnwrapRef
+ readonly getPrimaryEntry: UnwrapRef
+ readonly getResourceAccessLevel: UnwrapRef
+ readonly getRouteRules: UnwrapRef
+ readonly getScanTip: UnwrapRef
+ readonly getTenantId: UnwrapRef
+ readonly getToken: UnwrapRef
+ readonly h: UnwrapRef
+ readonly hasAnyPermission: UnwrapRef
+ readonly hasAnyRole: UnwrapRef
+ readonly hasInjectionContext: UnwrapRef
+ readonly hasPermission: UnwrapRef
+ readonly hasRole: UnwrapRef
+ readonly inject: UnwrapRef
+ readonly injectHead: UnwrapRef