style(stage-web,stage-tamagotchi): improved model settings page, use standard components (#278)
This commit is contained in:
@@ -50,6 +50,7 @@
|
||||
"@xsai/shared-chat": "catalog:",
|
||||
"@xsai/stream-text": "catalog:",
|
||||
"@xsai/utils-chat": "catalog:",
|
||||
"colorjs.io": "^0.5.2",
|
||||
"culori": "^4.0.2",
|
||||
"drizzle-kit": "^0.31.4",
|
||||
"drizzle-orm": "^0.44.2",
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<script setup lang="ts">
|
||||
import { useLive2d } from '@proj-airi/stage-ui/stores'
|
||||
|
||||
defineEmits<{
|
||||
(e: 'click'): void
|
||||
}>()
|
||||
|
||||
const live2d = useLive2d()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<button
|
||||
:disabled="live2d.loadingModel"
|
||||
bg="neutral-100 dark:neutral-800"
|
||||
hover="bg-neutral-200 dark:bg-neutral-700"
|
||||
transition="all ease-in-out duration-250"
|
||||
rounded
|
||||
@click="$emit('click')"
|
||||
>
|
||||
<slot />
|
||||
</button>
|
||||
</template>
|
||||
@@ -0,0 +1,46 @@
|
||||
import Color from 'colorjs.io'
|
||||
|
||||
import { withRetry } from '@moeru/std'
|
||||
import { useDark } from '@vueuse/core'
|
||||
|
||||
export function themeColorFromPropertyOf(colorFromClass: string, property: string): () => Promise<string> {
|
||||
return async () => {
|
||||
const fetchUntilWidgetMounted = withRetry(() => {
|
||||
const widgets = document.querySelector(colorFromClass) as HTMLDivElement | undefined
|
||||
if (!widgets)
|
||||
throw new Error('Widgets element not found')
|
||||
|
||||
return widgets
|
||||
}, { retry: 10, retryDelay: 1000 })
|
||||
|
||||
const widgets = await fetchUntilWidgetMounted()
|
||||
return window.getComputedStyle(widgets).getPropertyValue(property)
|
||||
}
|
||||
}
|
||||
|
||||
export function themeColorFromValue(value: string | { light: string, dark: string }): () => Promise<string> {
|
||||
return async () => {
|
||||
if (typeof value === 'string') {
|
||||
return value
|
||||
}
|
||||
else {
|
||||
const dark = useDark()
|
||||
return dark.value ? value.dark : value.light
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function useThemeColor(colorFrom: () => string | Promise<string>) {
|
||||
async function updateThemeColor() {
|
||||
if (!('document' in globalThis && globalThis.document != null))
|
||||
return
|
||||
if (!('window' in globalThis && globalThis.window != null))
|
||||
return
|
||||
|
||||
document.querySelector('meta[name="theme-color"]')?.setAttribute('content', new Color(await colorFrom()).to('srgb').toString({ format: 'hex' }))
|
||||
}
|
||||
|
||||
return {
|
||||
updateThemeColor,
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,18 @@
|
||||
<script setup lang="ts">
|
||||
import { PageHeader } from '@proj-airi/stage-ui/components'
|
||||
import { useProvidersStore } from '@proj-airi/stage-ui/stores'
|
||||
import { useDark } from '@vueuse/core'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { computed } from 'vue'
|
||||
import { computed, onMounted, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { RouterView, useRoute } from 'vue-router'
|
||||
|
||||
import WindowTitleBar from '../components/Window/TitleBar.vue'
|
||||
|
||||
import { themeColorFromValue, useThemeColor } from '../composables/theme-color'
|
||||
|
||||
const route = useRoute()
|
||||
const dark = useDark()
|
||||
const { t } = useI18n()
|
||||
const providersStore = useProvidersStore()
|
||||
const { allProvidersMetadata } = storeToRefs(providersStore)
|
||||
@@ -120,6 +124,11 @@ const routeHeaderMetadataMap = computed(() => {
|
||||
const routeHeaderMetadata = computed(() => {
|
||||
return routeHeaderMetadataMap.value[route.path] || routeHeaderMetadataMap.value[`${route.path}/`]
|
||||
})
|
||||
|
||||
const { updateThemeColor } = useThemeColor(themeColorFromValue({ light: 'rgb(255 255 255)', dark: 'rgb(18 18 18)' }))
|
||||
watch(dark, () => updateThemeColor(), { immediate: true })
|
||||
watch(route, () => updateThemeColor(), { immediate: true })
|
||||
onMounted(() => updateThemeColor())
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -50,8 +50,8 @@ const positionCursor = useMouse()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div flex class="h-[calc(100dvh-8rem)] flex-col-reverse sm:flex-row">
|
||||
<div ref="live2dContainerRef" w="100% sm:50%" h="50% sm:80%">
|
||||
<div flex class="relative h-[calc(100dvh-8rem)] flex-col-reverse md:flex-row">
|
||||
<div ref="live2dContainerRef" w="100%" h="100%">
|
||||
<Live2DCanvas
|
||||
v-slot="{ app }"
|
||||
ref="live2dCanvasRef"
|
||||
@@ -76,7 +76,7 @@ const positionCursor = useMouse()
|
||||
/>
|
||||
</Live2DCanvas>
|
||||
</div>
|
||||
<Live2DSettings w="100% sm:50%" h="50% sm:80%" overflow-y-scroll :palette="palette" @extract-colors-from-model="extractColorsFromModel" />
|
||||
<Live2DSettings w="100% md:30%" h-fit overflow-y-scroll class="absolute bottom-0 right-0 top-0" :palette="palette" @extract-colors-from-model="extractColorsFromModel" />
|
||||
</div>
|
||||
|
||||
<IconAnimation
|
||||
|
||||
@@ -127,6 +127,7 @@ onMounted(() => updateThemeColor())
|
||||
paddingRight: 'env(safe-area-inset-right, 0px)',
|
||||
paddingLeft: 'env(safe-area-inset-left, 0px)',
|
||||
}"
|
||||
h-full w-full
|
||||
>
|
||||
<!-- Header -->
|
||||
<div
|
||||
@@ -137,7 +138,7 @@ onMounted(() => updateThemeColor())
|
||||
<HeaderLink />
|
||||
</div>
|
||||
<!-- Content -->
|
||||
<div class="px-3 py-0 md:px-5 md:py-5" flex="~ col" mx-auto max-w-screen-xl>
|
||||
<div class="h-full px-3 py-0 sm:h-[calc(100%-4rem)] md:py-0 xl:px-0" flex="~ col" mx-auto max-w-screen-xl>
|
||||
<PageHeader
|
||||
:title="routeHeaderMetadata?.title"
|
||||
:subtitle="routeHeaderMetadata?.subtitle"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { Live2DCanvas, Live2DModel } from '@proj-airi/stage-ui/components/scenes'
|
||||
import { Live2DSettings } from '@proj-airi/stage-ui/components'
|
||||
import { Live2DCanvas, Live2DModel } from '@proj-airi/stage-ui/components/scenes'
|
||||
import { useLive2d } from '@proj-airi/stage-ui/stores'
|
||||
import { useElementBounding, useMouse } from '@vueuse/core'
|
||||
import { Vibrant } from 'node-vibrant/browser'
|
||||
@@ -50,8 +50,8 @@ const positionCursor = useMouse()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div flex class="h-[calc(100dvh-8rem)] flex-col-reverse sm:flex-row">
|
||||
<div ref="live2dContainerRef" w="100% sm:50%" h="50% sm:80%">
|
||||
<div flex class="relative h-full flex-col-reverse md:flex-row">
|
||||
<div ref="live2dContainerRef" w="100%" h="100%">
|
||||
<Live2DCanvas
|
||||
v-slot="{ app }"
|
||||
ref="live2dCanvasRef"
|
||||
@@ -76,7 +76,7 @@ const positionCursor = useMouse()
|
||||
/>
|
||||
</Live2DCanvas>
|
||||
</div>
|
||||
<Live2DSettings w="100% sm:50%" h="50% sm:80%" overflow-y-scroll :palette="palette" @extract-colors-from-model="extractColorsFromModel" />
|
||||
<Live2DSettings w="100% md:30%" h-fit overflow-y-scroll class="absolute bottom-0 right-0 top-0" :palette="palette" @extract-colors-from-model="extractColorsFromModel" />
|
||||
</div>
|
||||
|
||||
<IconAnimation
|
||||
|
||||
@@ -103,6 +103,7 @@ words:
|
||||
- iconify
|
||||
- intlify
|
||||
- jlumbroso
|
||||
- jszip
|
||||
- Kawaii
|
||||
- kebabcase
|
||||
- Keyyable
|
||||
|
||||
@@ -15,6 +15,7 @@ export default await antfu(
|
||||
'**/.astro/**',
|
||||
],
|
||||
rules: {
|
||||
'vue/prefer-separate-static-class': 'off',
|
||||
'yaml/plain-scalar': 'off',
|
||||
'import/order': 'off',
|
||||
'antfu/import-dedupe': 'error',
|
||||
|
||||
@@ -55,6 +55,10 @@ live2d:
|
||||
scale: Scale
|
||||
x: X
|
||||
'y': 'Y'
|
||||
theme-color-from-model:
|
||||
title: Extract colors from model
|
||||
button-extract:
|
||||
title: Extract
|
||||
microphone: Microphone
|
||||
models: Model
|
||||
pages:
|
||||
|
||||
@@ -51,6 +51,9 @@ live2d:
|
||||
scale: 缩放
|
||||
x: X
|
||||
'y': 'Y'
|
||||
theme-color-from-model:
|
||||
button-extract:
|
||||
title: 提取
|
||||
microphone: 麦克风
|
||||
models: 模型
|
||||
pages:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
import Collapsable from '../Misc/Collapsable.vue'
|
||||
import Collapsable from '../../Misc/Collapsable.vue'
|
||||
|
||||
const props = defineProps<{
|
||||
title?: string
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<script setup lang="ts">
|
||||
import type { VoiceInfo } from '../../stores'
|
||||
import type { VoiceInfo } from '../../../stores'
|
||||
|
||||
import { FieldCheckbox } from '@proj-airi/ui'
|
||||
import { onUnmounted, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import { TestDummyMarker } from '../index'
|
||||
import { TestDummyMarker } from '../../Gadgets'
|
||||
|
||||
const props = defineProps<{
|
||||
// Input fields
|
||||
|
||||
@@ -10,14 +10,14 @@ import { useRouter } from 'vue-router'
|
||||
|
||||
import ProviderSettingsLayout2 from './ProviderSettingsLayout2.vue'
|
||||
|
||||
import { useProvidersStore, useSpeechStore } from '../../stores'
|
||||
import {
|
||||
ProviderAdvancedSettings,
|
||||
ProviderApiKeyInput,
|
||||
ProviderBaseUrlInput,
|
||||
ProviderBasicSettings,
|
||||
ProviderSettingsContainer,
|
||||
} from '../index'
|
||||
} from '.'
|
||||
import { useProvidersStore, useSpeechStore } from '../../../stores'
|
||||
|
||||
const props = defineProps<{
|
||||
providerId: string
|
||||
|
||||
@@ -2,17 +2,16 @@
|
||||
import JSZip from 'jszip'
|
||||
import localforage from 'localforage'
|
||||
|
||||
import { Emotion, EmotionNeutralMotionName } from '@proj-airi/stage-ui/constants'
|
||||
import { useLive2d } from '@proj-airi/stage-ui/stores'
|
||||
import { FieldRange } from '@proj-airi/ui'
|
||||
import { FieldRange, Input } from '@proj-airi/ui'
|
||||
import { useFileDialog, useObjectUrl } from '@vueuse/core'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import Section from '../../Layouts/Section.vue'
|
||||
import Button from '../../Misc/Button.vue'
|
||||
|
||||
import { Emotion, EmotionNeutralMotionName } from '../../../constants'
|
||||
import { useLive2d } from '../../../stores'
|
||||
import { Section } from '../../Layouts'
|
||||
import { Button } from '../../Misc'
|
||||
import { ColorPalette } from '../../Widgets'
|
||||
|
||||
defineProps<{
|
||||
@@ -122,32 +121,55 @@ const exportObjectUrl = useObjectUrl(modelFile)
|
||||
|
||||
<template>
|
||||
<div flex="~ col gap-2">
|
||||
<Section :title="t('settings.live2d.change-model.title')" icon="i-solar:magic-stick-3-bold-duotone" inner-class="text-sm">
|
||||
<Section
|
||||
:title="t('settings.live2d.change-model.title')"
|
||||
icon="i-solar:magic-stick-3-bold-duotone"
|
||||
inner-class="text-sm"
|
||||
:class="[
|
||||
'rounded-xl',
|
||||
'bg-white/80 dark:bg-black/75',
|
||||
'backdrop-blur-lg',
|
||||
]"
|
||||
>
|
||||
<Button variant="secondary" @click="modelFileDialog.open()">
|
||||
{{ t('settings.live2d.change-model.from-file') }}...
|
||||
</Button>
|
||||
<div flex items-center gap-2>
|
||||
<input
|
||||
<Input
|
||||
v-model="localModelUrl"
|
||||
:disabled="loadingModel"
|
||||
class="form-control flex-1"
|
||||
border="neutral-300 dark:neutral-800 solid 1 focus:neutral-400 dark:focus:neutral-600"
|
||||
transition="border duration-250 ease-in-out"
|
||||
class="flex-1"
|
||||
:placeholder="t('settings.live2d.change-model.from-url-placeholder')"
|
||||
>
|
||||
<Button class="form-control" size="sm" @click="modelUrl = localModelUrl">
|
||||
/>
|
||||
<Button size="sm" variant="secondary" @click="modelUrl = localModelUrl">
|
||||
{{ t('settings.live2d.change-model.from-url') }}
|
||||
</Button>
|
||||
</div>
|
||||
<Button class="form-control place-self-end" size="sm" @click="modelFileDialog.open()">
|
||||
{{ t('settings.live2d.change-model.from-file') }}...
|
||||
</Section>
|
||||
<Section
|
||||
:title="t('settings.live2d.theme-color-from-model.title')"
|
||||
icon="i-solar:magic-stick-3-bold-duotone"
|
||||
inner-class="text-sm"
|
||||
:class="[
|
||||
'rounded-xl',
|
||||
'bg-white/80 dark:bg-black/75',
|
||||
'backdrop-blur-lg',
|
||||
]"
|
||||
>
|
||||
<ColorPalette class="mb-4 mt-2" :colors="palette.map(hex => ({ hex, name: hex }))" mx-auto />
|
||||
<Button variant="secondary" @click="$emit('extractColorsFromModel')">
|
||||
{{ t('settings.live2d.theme-color-from-model.button-extract.title') }}
|
||||
</Button>
|
||||
<Button class="form-control" size="sm" @click="$emit('extractColorsFromModel')">
|
||||
Extract colors from model
|
||||
</Button>
|
||||
<ColorPalette :colors="palette.map(hex => ({ hex, name: hex }))" />
|
||||
</Section>
|
||||
<Section
|
||||
v-if="loadSource === 'file'"
|
||||
:title="t('settings.live2d.edit-motion-map.title')"
|
||||
icon="i-solar:face-scan-circle-bold-duotone"
|
||||
:class="[
|
||||
'rounded-xl',
|
||||
'bg-white/80 dark:bg-black/75',
|
||||
'backdrop-blur-lg',
|
||||
]"
|
||||
>
|
||||
<div v-for="motion in availableMotions" :key="motion.fileName" flex items-center justify-between text-sm>
|
||||
<span font-medium font-mono>{{ motion.fileName }}</span>
|
||||
@@ -160,7 +182,6 @@ const exportObjectUrl = useObjectUrl(modelFile)
|
||||
</select>
|
||||
|
||||
<Button
|
||||
size="sm"
|
||||
class="form-control"
|
||||
@click="currentMotion = { group: motion.motionName, index: motion.motionIndex }"
|
||||
>
|
||||
@@ -168,26 +189,55 @@ const exportObjectUrl = useObjectUrl(modelFile)
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<Button size="sm" @click="saveMotionMap">
|
||||
<Button @click="saveMotionMap">
|
||||
Save and patch
|
||||
</Button>
|
||||
<a
|
||||
mt-2 block :href="exportObjectUrl"
|
||||
:download="`${modelFile?.name || 'live2d'}-motion-edited.zip`"
|
||||
>
|
||||
<Button w-full size="sm">Export</button>
|
||||
<Button w-full>Export</button>
|
||||
</a>
|
||||
</Section>
|
||||
<Section :title="t('settings.live2d.scale-and-position.title')" icon="i-solar:scale-bold-duotone">
|
||||
<FieldRange v-model="scale" :min="0.5" :max="2" :step="0.01" :label="t('settings.live2d.scale-and-position.scale')" />
|
||||
<FieldRange v-model="position.x" :min="-100" :max="100" :step="1" :label="t('settings.live2d.scale-and-position.x')" />
|
||||
<FieldRange v-model="position.y" :min="-100" :max="100" :step="1" :label="t('settings.live2d.scale-and-position.y')" />
|
||||
<Section
|
||||
:title="t('settings.live2d.scale-and-position.title')"
|
||||
icon="i-solar:scale-bold-duotone"
|
||||
:class="[
|
||||
'rounded-xl',
|
||||
'bg-white/80 dark:bg-black/75',
|
||||
'backdrop-blur-lg',
|
||||
]"
|
||||
>
|
||||
<FieldRange v-model="scale" as="div" :min="0.5" :max="2" :step="0.01" :label="t('settings.live2d.scale-and-position.scale')">
|
||||
<template #label>
|
||||
<div flex items-center>
|
||||
<div>{{ t('settings.live2d.scale-and-position.scale') }}</div>
|
||||
<button px-2 text-xs outline-none title="Reset value to default" @click="() => scale = 1">
|
||||
<div i-solar:forward-linear transform-scale-x--100 text="neutral-500 dark:neutral-400" />
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
</FieldRange>
|
||||
<FieldRange v-model="position.x" as="div" :min="-100" :max="100" :step="1" :label="t('settings.live2d.scale-and-position.x')">
|
||||
<template #label>
|
||||
<div flex items-center>
|
||||
<div>{{ t('settings.live2d.scale-and-position.x') }}</div>
|
||||
<button px-2 text-xs outline-none title="Reset value to default" @click="() => position.x = 0">
|
||||
<div i-solar:forward-linear transform-scale-x--100 text="neutral-500 dark:neutral-400" />
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
</FieldRange>
|
||||
<FieldRange v-model="position.y" as="div" :min="-100" :max="100" :step="1" :label="t('settings.live2d.scale-and-position.y')">
|
||||
<template #label>
|
||||
<div flex items-center>
|
||||
<div>{{ t('settings.live2d.scale-and-position.y') }}</div>
|
||||
<button px-2 text-xs outline-none title="Reset value to default" @click="() => position.y = 0">
|
||||
<div i-solar:forward-linear transform-scale-x--100 text="neutral-500 dark:neutral-400" />
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
</FieldRange>
|
||||
</Section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.form-control {
|
||||
--at-apply: rounded px-2 py-1 outline-none;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -20,7 +20,7 @@ const settings = useSettings()
|
||||
<TooltipRoot>
|
||||
<TooltipTrigger
|
||||
transition="all ease-in-out duration-250"
|
||||
size-6 cursor-pointer rounded-full bg-primary-500
|
||||
size-8 cursor-pointer rounded-full bg-primary-500
|
||||
:style="hex ? { background: hex } : { '--chromatic-hue': DEFAULT_THEME_COLORS_HUE }"
|
||||
:class="settings.isColorSelectedForPrimary(hex) ? 'scale-150 mx-1' : 'hover:scale-110'"
|
||||
@click="settings.applyPrimaryColorFrom(hex)"
|
||||
|
||||
@@ -11,7 +11,7 @@ import onboardingLogo from '../../../../assets/onboarding.png'
|
||||
import { Callout } from '../../../Layouts'
|
||||
import { RadioCardDetail } from '../../../Menu'
|
||||
import { Button } from '../../../Misc'
|
||||
import { ProviderAccountIdInput } from '../../../Providers'
|
||||
import { ProviderAccountIdInput } from '../../../Scenarios/Providers'
|
||||
|
||||
interface Emits {
|
||||
(e: 'configured'): void
|
||||
|
||||
Generated
+111
-7
@@ -372,6 +372,9 @@ importers:
|
||||
'@xsai/utils-chat':
|
||||
specifier: 'catalog:'
|
||||
version: 0.3.0-beta.8
|
||||
colorjs.io:
|
||||
specifier: ^0.5.2
|
||||
version: 0.5.2
|
||||
culori:
|
||||
specifier: ^4.0.2
|
||||
version: 4.0.2
|
||||
@@ -1010,7 +1013,7 @@ importers:
|
||||
version: 0.1.3
|
||||
unplugin-yaml:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
vitepress:
|
||||
specifier: ^2.0.0-alpha.8
|
||||
version: 2.0.0-alpha.8(@algolia/client-search@5.32.0)(@types/node@24.0.13)(change-case@5.4.4)(fuse.js@7.1.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(nprogress@0.2.0)(postcss@8.5.6)(react@18.3.1)(search-insights@2.17.3)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0)
|
||||
@@ -1056,7 +1059,7 @@ importers:
|
||||
devDependencies:
|
||||
unplugin-yaml:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
|
||||
packages/memory-pgvector:
|
||||
dependencies:
|
||||
@@ -1412,7 +1415,7 @@ importers:
|
||||
version: 66.3.3(postcss@8.5.6)(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
|
||||
unplugin-yaml:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
vite:
|
||||
specifier: ^6.3.5
|
||||
version: 6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)
|
||||
@@ -18135,6 +18138,107 @@ snapshots:
|
||||
- yaml
|
||||
optional: true
|
||||
|
||||
astro@5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0):
|
||||
dependencies:
|
||||
'@astrojs/compiler': 2.12.2
|
||||
'@astrojs/internal-helpers': 0.6.1
|
||||
'@astrojs/markdown-remark': 6.3.2
|
||||
'@astrojs/telemetry': 3.3.0
|
||||
'@capsizecss/unpack': 2.4.0(encoding@0.1.13)
|
||||
'@oslojs/encoding': 1.1.0
|
||||
'@rollup/pluginutils': 5.2.0(rollup@4.44.2)
|
||||
acorn: 8.15.0
|
||||
aria-query: 5.3.2
|
||||
axobject-query: 4.1.0
|
||||
boxen: 8.0.1
|
||||
ci-info: 4.2.0
|
||||
clsx: 2.1.1
|
||||
common-ancestor-path: 1.0.1
|
||||
cookie: 1.0.2
|
||||
cssesc: 3.0.0
|
||||
debug: 4.4.1
|
||||
deterministic-object-hash: 2.0.2
|
||||
devalue: 5.1.1
|
||||
diff: 5.2.0
|
||||
dlv: 1.1.3
|
||||
dset: 3.1.4
|
||||
es-module-lexer: 1.7.0
|
||||
esbuild: 0.25.5
|
||||
estree-walker: 3.0.3
|
||||
flattie: 1.1.1
|
||||
fontace: 0.3.0
|
||||
github-slugger: 2.0.0
|
||||
html-escaper: 3.0.3
|
||||
http-cache-semantics: 4.2.0
|
||||
import-meta-resolve: 4.1.0
|
||||
js-yaml: 4.1.0
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.17
|
||||
magicast: 0.3.5
|
||||
mrmime: 2.0.1
|
||||
neotraverse: 0.6.18
|
||||
p-limit: 6.2.0
|
||||
p-queue: 8.1.0
|
||||
package-manager-detector: 1.3.0
|
||||
picomatch: 4.0.2
|
||||
prompts: 2.4.2
|
||||
rehype: 13.0.2
|
||||
semver: 7.7.2
|
||||
shiki: 3.7.0
|
||||
tinyexec: 0.3.2
|
||||
tinyglobby: 0.2.14
|
||||
tsconfck: 3.1.6(typescript@5.8.3)
|
||||
ultrahtml: 1.6.0
|
||||
unifont: 0.5.2
|
||||
unist-util-visit: 5.0.0
|
||||
unstorage: 1.16.0
|
||||
vfile: 6.0.3
|
||||
vite: 6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)
|
||||
vitefu: 1.0.7(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
|
||||
xxhash-wasm: 1.1.0
|
||||
yargs-parser: 21.1.1
|
||||
yocto-spinner: 0.2.3
|
||||
zod: 3.25.74
|
||||
zod-to-json-schema: 3.24.6(zod@3.25.74)
|
||||
zod-to-ts: 1.2.0(typescript@5.8.3)(zod@3.25.74)
|
||||
optionalDependencies:
|
||||
sharp: 0.33.5
|
||||
transitivePeerDependencies:
|
||||
- '@azure/app-configuration'
|
||||
- '@azure/cosmos'
|
||||
- '@azure/data-tables'
|
||||
- '@azure/identity'
|
||||
- '@azure/keyvault-secrets'
|
||||
- '@azure/storage-blob'
|
||||
- '@capacitor/preferences'
|
||||
- '@deno/kv'
|
||||
- '@netlify/blobs'
|
||||
- '@planetscale/database'
|
||||
- '@types/node'
|
||||
- '@upstash/redis'
|
||||
- '@vercel/blob'
|
||||
- '@vercel/kv'
|
||||
- aws4fetch
|
||||
- db0
|
||||
- encoding
|
||||
- idb-keyval
|
||||
- ioredis
|
||||
- jiti
|
||||
- less
|
||||
- lightningcss
|
||||
- rollup
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- tsx
|
||||
- typescript
|
||||
- uploadthing
|
||||
- yaml
|
||||
optional: true
|
||||
|
||||
async-mutex@0.3.2:
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
@@ -24540,7 +24644,7 @@ snapshots:
|
||||
rollup: 4.44.2
|
||||
vite: rolldown-vite@7.0.9(@types/node@24.0.13)(esbuild@0.25.5)(jiti@2.4.2)(less@4.3.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)
|
||||
|
||||
unplugin-yaml@3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)):
|
||||
unplugin-yaml@3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.2.0(rollup@4.44.2)
|
||||
unplugin: 2.3.5
|
||||
@@ -24548,13 +24652,13 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.44.2)
|
||||
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.44.2)
|
||||
astro: 5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0)
|
||||
astro: 5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0)
|
||||
esbuild: 0.25.5
|
||||
rolldown: 1.0.0-beta.20
|
||||
rollup: 4.44.2
|
||||
vite: 6.3.5(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)
|
||||
|
||||
unplugin-yaml@3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)):
|
||||
unplugin-yaml@3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.2.0(rollup@4.44.2)
|
||||
unplugin: 2.3.5
|
||||
@@ -24562,7 +24666,7 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.44.2)
|
||||
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.44.2)
|
||||
astro: 5.10.1(@types/node@24.0.13)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0)
|
||||
astro: 5.10.1(@types/node@24.0.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0)
|
||||
esbuild: 0.25.5
|
||||
rolldown: 1.0.0-beta.20
|
||||
rollup: 4.44.2
|
||||
|
||||
Reference in New Issue
Block a user